logo

Solana Whitepaper Review

Published on

Solana Whitepaper Technical Analytics

Read the original Solana White Paper

1. Network Design

  • Node is designated as Leader to generate Proof of History sequence.
  • Leader sequences user messages and orders them.
  • Leader executes the transactions on the current state that is stored in RAM and publishes the transactions and a signature of the final state to the replications nodes called Verifiers.
  • Verifiers execute the same transactions on their copies of the state and publish their computed signatures of the state as confirmation.

2. Proof of History

  • PoH is a sequence of computations that enables nodes to cryptographically verify passage of time between two events.
PoW vs PoH
  • PoH verification time: Total number of hashes / (Hashes per second per core * Number of cores available to verify)

  • Horizontal scaling of the PoH is achieved by mixing the sequence state from each generator to synchronize multiple PoH generators.

Horizontal Scaling
  • Each client-generated Event should contain within itself the latest hash which is considered to be a valid sequence.

3. Proof of Stake Consensus

  • Bond: is coin that the validator commits as collateral while they are validating transactions.

  • Slashing: involves the removal and destruction of a portion of a validator's SOL in response to intentional malicious behavior.

4. Streaming Proof of Replication

  • PoRep is a cryptographic technique where a server proves to a client that it has allocated a certain amount of storage exclusively for storing a unique copy of some data.

5. System Architecture

5.1 Components

  • Leader is an elected PoH generator, produce the sequence of all the transactions that guarantees a unique global order in the system.
  • State is a naive hash table indexed by the users address.
  • Verifier is a node that replicate the blockchain state and provide high availability of the blockchain state.
  • Validators are the nodes that consume bandwidth from verifiers.

5.2 Limits

  • Nework Limits:

    Maximum number of Transactions = Network bandwidth / Minimum size of transaction

    (where Minimum size of transaction = 176 bytes)

    i.e. 710k tpx max in 1GB network

  • Computational Limits

    900k operations per second on GPU based ECDSA verification server

  • Memory Limits

    10B accounts into 640 GB theoretically (where eatch account is 32 byte in 50% full hashtable)