Is Solana Broken?

Insights into Solana's Protocol Vulnerabilities: A Recent Study's Findings

Layer 1 Spotlight: Is Solana Broken?

Hey everyone!

In this week's edition of "Just the Metrics," we're focusing on Solana, a blockchain that's recently gained traction due to the notable increase in its native token, SOL.

The rise in SOL Token's value has attracted attention from both investors and the broader blockchain community, raising questions about the technology behind Solana.

Adding to the discussion, a recent paper by researchers from ETH Zurich offers a critical analysis of Solana's Proof of History (PoH) consensus protocol and its security aspects.

We'll go into the details of this research paper and examine the response from the Solana team, including CEO Anatoly Yakovenko, to gain a clearer understanding of what these developments mean for the platform.

Let’s go!

What you’ll learn today

Insight 1:Our take on the current narrative around Solana compared to Ethereum's narrative.

Insight 2: Details of the technical complexities and potential vulnerabilities highlighted in recent research on Solana's consensus protocol.

Insight 3: Why Solana's approach to blockchain development facilitates rapid progress but also presents the risks of prioritizing speed over thoroughness.

The Rising Popularity of Solana: What's Behind the Trend?

There is no doubt that Solana, its token price, and the claims about its tech are trending topics at the moment. One of the biggest reasons for this is the narrative around Solana, which is the current state of Ethereum and blockchain in general, especially due to the lack of cohesion between the narrative of Ethereum and the current state of technology and user experience, which is a complete disappointment for regular users.

Let us elaborate.

Blockchain is a future-oriented technology with meager real-world adoption at this point in time. This is why the crypto market always favors strong narratives that are easily understandable by retail over weak narratives that are convoluted and complicated, rather than actual business cases and usability because it's non-existent in a broader perspective to start with.

For Bitcoin, it changed from digital cash to scarce digital gold, which is simple, easily digestible, and aligns well with the current scalability limitations of the platform. Its narrative has no competing narratives ("ultra sound money" is not a competition but a bad joke now).

This tendency towards simplicity and clarity in blockchain narratives is why Solana's narrative currently triumphs over Ethereum and its Layer 2 ecosystem.

Looking back at the inception of Ethereum, its true value proposition and core narrative was a scalable L1 with a composable ecosystem of applications. Then it changed to the settlement layer with thousands of L2 and L3s, a narrative that is complicated and convoluted.

Even when someone buys into this narrative, the result is a bad user experience due to fragmentation and fracturing of liquidity in the ecosystem, and none of those platforms can offer consistent low and stable fees when demand is high.

So, this narrative is not coherent and falls apart the moment someone believes in it and starts using that platform.

However, Solana has adopted and enhanced the original narrative of Ethereum. Even when someone buys into this narrative and uses the platform, they are not disappointed because the platform manages to offer stable low fees and fast transaction execution.

The centralization and "VC chain" argument against Solana by the Ethereum community does not hold up because ultimately, all of the rollups are 100 times more centralized than Solana.

Ultimately, the concept of Layer 2/Layer 3 and sidechain/partnerchain is weak, complicated, and convoluted compared to the concept of a scalable L1 blockchain that enables a composable ecosystem of applications, which also aligns with the core value proposition of Ethereum at the time of its inception.

So considering that, Solana is embracing the narrative of “go-to L1” with scalability, composability, and sub-second transaction finality, along with the core team of Solana with a very charismatic CEO, Anatoly Yakovenko, who has been able to build a buzz around Solana.

But now a paper has come out dissecting the Proof of History (PoH) consensus protocol from the researcher of ETH Zurich. The paper has made some critical observations about the tech backing Solana.

The question is if these findings would cause any damage to the narrative that Solana has built.

So let's go into the details of the paper👇

Is the Solana Consensus Protocol Broken?

Before we go into the question of if Solana’s consensus protocol is broken, let’s understand what proof of History Consensus protocol is.

Concept and Mechanics of Proof-of-History (PoH)

At its core, PoH operates through a continuous process where the output of one hash iteration becomes the input for the next cryptographic hash function. This creates a sequential chain of hashes, pivotal for maintaining the integrity and chronological order of transactions within the Solana network.

Every node in the network, known as a validator, utilizes this hash chain as an approximate global clock. This approximation is essential for validators to effectively schedule their block production in accordance with the network's timeline.

Timekeeping in the Solana Network

Within Solana, time is meticulously segmented into hashes, ticks/slots, and epochs. Network parameters assume a hash rate of about 2,000,000 hashes per second for each participant.

A single tick, consisting of 12,500 hashes, serves as a timestamp and occurs every 400 milliseconds, forming the backbone of the block production schedule. An epoch, equating to 432,000 slots, typically spans approximately two days, adding another layer to Solana’s complex timekeeping system.

The Role of Validators and Leaders

They are responsible for forwarding user transactions to the current leader and voting on valid blocks. A validator's voting power is proportional to its staked funds.Validators can abstain from voting based on certain conditions, such as not receiving a block or disagreeing with the current block on another fork.

To encourage honest behavior, each vote on a fork is linked with a commitment represented by a lockout timer. This timer prevents the validator from voting on another fork for a specified duration.

Leaders, selected from validators, are tasked with producing blocks for specific slots. The selection process for leaders is based on a weighted index according to their stake. Only validators who have voted within a specific time frame are included in the active set for leader selection.

Consensus Rules in PoH

A block is considered finalized if it receives votes on at least 32 slots later on the same fork or if any following slot on the same fork gets a supermajority (over two-thirds) of votes. The protocol also defines thresholds for considering competing forks and duplicate blocks, addressing potential security concerns like Byzantine faults.

However, these rules also introduce complexity, particularly in scenarios involving multiple duplicate blocks, raising concerns about the network's ability to maintain consistent consensus and prevent malicious activities.

So lets’s take a look at the results of the experiments done by the researchers👇

Testing Scenarios and Observations

Solana's consensus protocol was rigorously tested using the LocalCluster module from the Solana Rust SDK. This framework allowed for setting up a local test network of validators to simulate various network conditions. Key configurations included validator configurations, validator keys, node stakes, ticks per slot, and an option to skip warm-up slots. The aim was to understand how validators interact and reach consensus under different scenarios.

Experiment 1: Duplicate Slot Scenario

One of the primary experiments focused on the behavior of a cluster facing three different versions of a block for the same slot, essentially creating a scenario with three duplicates.

This test involved a 'dummy' validator for initial block production, followed by other validators to observe the resulting voting patterns. The experiments revealed various outcomes based on the stake distribution among validators.

In scenarios where stake distribution was equal or near-equal among validators, the network often faced forks or non-deterministic outcomes. In contrast, when one validator held a significant majority of the stake, the network usually resolved towards consensus, favoring the block version of the highest-staked validator.

Experiment 2: Shifted Blocks Scenario

Another critical experiment, the Shifted Blocks scenario, differed from the Duplicate Slot by creating distinct forks with individual blocks in different slots.

This scenario, which could stem from synchronization issues rather than adversarial behavior, involved validators initially agreeing on a single block and then diverging based on subsequent block production.

Here too, the stake distribution played a crucial role in determining which fork the validators eventually agreed upon.

Solana Mainnet Outage (September 2022)

A real-world incident on Solana's mainnet mirrored the Duplicate Slot scenario, where validators voted on different versions of a duplicate block, leading to a network outage.

The post-mortem revealed an implementation error in the Heaviest Subtree Fork Choice module, which hindered validators from switching to the correct fork.

Key Findings

The experiments highlighted several crucial aspects of the Solana consensus mechanism:

  • Stake Distribution Impact: The distribution of stakes among validators significantly influences the network's decision-making process, especially in scenarios involving conflicting blocks or forks.

  • Fork Resolution: In cases of forks or duplicate blocks, validators tend to align with the version proposed by the highest-staked validator, indicating a tendency towards centralization.

  • Potential for Indecision: Certain stake distributions led to situations where consensus was not achieved, resulting in forks or validators abstaining from voting, thereby highlighting potential vulnerabilities in network stability.

  • Efficiency Concerns: The experiments also raised concerns about the efficiency and reliability of the consensus mechanism, particularly in complex scenarios with multiple conflicting blocks

Overall, while Solana's consensus mechanism can handle standard scenarios effectively, complex situations pose significant challenges, requiring further investigation and potential improvements to ensure robustness and fairness in all network conditions.

Response of the Solana Community to Research Findings

Anatoly Yakovenko commended the researchers for their thorough examination of Solana's code, noting that they identified what seems to be an outdated bug.

He also referred to a separate team working on Firedancer, an independent validator client for Solana. The team, @jump_firedancer,is essentially rewriting Solana from scratch, aiming to establish a formalized common specification and indicating proactive steps towards improvement.

So, What Is the Key Takeaway from These Developments?

From the paper and Anatoly Yakovenko's response, it's clear that Solana really embraces the Silicon Valley mindset of moving quickly and sometimes breaking things along the way. This approach sets Solana apart from Ethereum and Cardano, which seem to have a different way of doing things.

Solana's got its eyes on the prize— it wants to be the leading L1 blockchain, trying to outdo Ethereum despite Ethereum's head start. At the same time, Solana is also keeping an eye on newer L1 blockchains like Sei and Sui, and it aims to assert its dominance in this space, regardless of the technical superiority these rivals may possess.

This means we might see more research papers in the future pointing out bugs or issues in Solana's protocol. But by the time these papers come out, the Solana team might have already fixed these problems.

Right now, blockchain apps aren't as mainstream as traditional Web2 apps, so even if Solana runs into some big bugs, the fallout might not be too dramatic. The overall impact could be pretty limited since blockchain apps haven't fully hit the mainstream yet.

So we see Solana only as a testing bed for new ideas, and it will take a while until we can view Solana as a blockchain capable of hosting mission-critical dApps.

What did you think about today's edition?

Login or Subscribe to participate in polls.

DISCLAIMER: None of this is financial advice. This newsletter is strictly educational and is not investment advice or a solicitation to buy or sell assets or make financial decisions. Please be careful and do your own research.

Join the conversation

or to participate.