솔라나: 고성능 블록체인을 위한 새로운 아키텍처

Solana: A new architecture for a high performance blockchain

Por Anatoly Yakovenko · 2017

Abstract

This paper presents a new blockchain architecture based on Proof of History (PoH) — a proof for verifying order and passage of time between events. PoH is used to encode trustless passage of time into a ledger, creating a historical record that proves that an event occurred at a specific moment in time. When used alongside a Proof of Stake consensus algorithm, PoH can reduce messaging overhead in a Byzantine Fault Tolerant replicated state machine, resulting in sub-second finality times.

The key innovation is the construction of a verifiable delay function implemented as a sequential pre-image resistant hash chain. The PoH sequence continuously runs and outputs a cryptographic proof that some amount of time has elapsed between two events. Data can be inserted into the sequence by appending it to the state that is hashed, thereby creating a timestamp that guarantees the data existed before the next hash was generated. This mechanism establishes a globally available, non-interactive source of time that all participants can verify independently.

By providing a trusted clock before consensus, PoH dramatically reduces the communication complexity of agreement. Validators can verify the relative ordering of events and the passage of time between them without communicating with each other. This allows the system to choose a leader, have that leader sequence user messages, and have validators process those messages in the order dictated by the PoH sequence, all without the traditional overhead of two-phase commit or synchronous coordination. The result is a blockchain capable of processing hundreds of thousands of transactions per second on a standard gigabit network while preserving the decentralization and security guarantees expected of a permissionless system.

The architecture integrates PoH with a Tower BFT consensus mechanism, a data plane optimized for streaming (Turbine), a mempool-less transaction forwarding protocol (Gulf Stream), a parallel smart contract runtime (Sealevel), and a Proof of Replication scheme for distributed storage verification. Together these components form a system whose throughput scales naturally with improvements in hardware — faster processors generate more PoH hashes per second, faster GPUs verify more signatures, and higher-bandwidth networks carry more transaction data — allowing performance to track Moore's Law without protocol changes.

Abstract

본 논문은 고성능 블록체인을 위한 새로운 아키텍처를 제시한다. Solana는 Proof of History(PoH)라는 새로운 시간 기록 메커니즘을 구현한다. 이는 이벤트 간의 순서와 시간 경과를 검증하기 위한 증명이다. PoH는 신뢰가 필요 없는 시간 경과를 원장에 인코딩하는 데 사용되며, 특정 시점에 이벤트가 발생했음을 증명하는 역사적 기록을 생성한다.

핵심 혁신은 PoH가 네트워크의 노드들이 서로 통신할 필요 없이 이벤트의 시간적 순서를 확립할 수 있도록 한다는 점이다. 순차적 해시 체인으로 구현된 검증 가능한 지연 함수(VDF)를 사용함으로써, 시스템은 이벤트 간 시간 경과를 검증하는 방법을 제공하는 암호학적 시계를 생성한다. 이를 통해 네트워크는 탈중앙화와 보안을 유지하면서 초당 수천 건의 트랜잭션을 처리할 수 있다.

PoH는 Proof of Stake(PoS) 합의 메커니즘과 통합된다. 이 조합은 검증자가 트랜잭션을 병렬로 검증하고 효율적으로 합의에 도달할 수 있는 고도로 최적화된 블록체인 아키텍처를 가능하게 한다. 이 시스템은 무어의 법칙에 맞춰 확장되도록 설계되었으며, 분산 네트워크의 보안 보장을 희생하지 않으면서 하드웨어 성능 향상을 활용하여 처리량을 개선한다.

Introduction

Blockchains are an implementation of fault tolerant replicated state machines. Currently available public blockchains do not rely on time, or make a weak assumption about the participants' abilities to keep time. Each node in the network typically maintains its own local clock without any guarantee that it is consistent with any other node in the network. The lack of a trusted source of time means that when a message timestamp is used to accept or reject a message, there is no guarantee that every other participant in the network will make the exact same choice. This limitation forces blockchain protocols into complex coordination patterns where nodes must exchange messages to agree on ordering.

The key observation driving Solana's design is that if a reliable source of time is available — a clock that all participants can verify without trusting each other — many of the fundamental scaling limitations of existing blockchains can be removed. In traditional consensus systems like PBFT or Tendermint, every validator must communicate with every other validator to agree on the order of transactions. This produces O(n^2) message complexity, which limits the practical network size and throughput. If ordering is established before consensus begins, validators only need to confirm that they have seen the same sequence, dramatically reducing the communication required.

Proof of History provides exactly this: a cryptographic clock that produces a verifiable record of time passage. PoH is implemented as a sequential computation — a SHA-256 hash chain where each output is used as the input for the next hash. Because SHA-256 is a pre-image resistant function, the only way to produce the output for a given position in the chain is to compute every intermediate hash from the starting point. This means the chain cannot be parallelized or shortcut, and the number of hashes between two events represents a provable lower bound on the real time that has elapsed between them.

The PoH generator runs continuously, producing hashes as fast as the hardware allows. When an event occurs (such as a transaction arriving), its data is mixed into the hash chain by including it as part of the next hash input. The resulting hash and the current counter value form a timestamp for that event. Any verifier can check that the event was incorporated at that specific position in the chain by recomputing the hashes from a known checkpoint. Because SHA-256 is cheap to verify in parallel but expensive to generate sequentially, a single PoH generator can timestamp events at the rate of a single core, while thousands of verifier cores can confirm those timestamps simultaneously.

This paper describes a new blockchain design that leverages PoH as a global clock, enabling a pipeline of optimizations: leader-based block production with predetermined schedules, streaming block propagation, GPU-accelerated signature verification, and parallel transaction execution. The net effect is a system that pushes the bottleneck from consensus messaging to raw hardware throughput — specifically, the bandwidth of the network connection and the speed of the PoH generator's CPU core.

Introduction

블록체인">블록체인 시스템의 근본적인 과제는 탈중앙화와 보안을 유지하면서 높은 트랜잭션 처리량을 달성하는 것이다. 현재의 블록체인 구현은 시간과 이벤트 순서에 대해 합의하기 위해 노드 간 광범위한 통신을 요구하는 합의 메커니즘에 의해 제한된다. 이러한 조율 오버헤드는 기존 블록체인이 글로벌 규모의 애플리케이션 수요를 충족하기 위해 확장하는 것을 방해하는 병목 현상을 만든다.

핵심 문제는 시간이다. 분산 시스템에서 노드는 다른 노드의 타임스탬프가 정확한지 신뢰할 수 없기 때문에 외부 시계에 의존할 수 없다. 전통적인 블록체인 합의 프로토콜은 현재 상태와 트랜잭션 순서에 합의하기 위해 노드들이 광범위하게 통신하는 방식으로 이 문제를 해결한다. 이러한 통신 오버헤드는 근본적으로 처리량을 제한하는데, 네트워크는 노드가 순서에 대해 합의에 도달할 수 있는 속도만큼만 트랜잭션을 처리할 수 있기 때문이다.

Solana는 이 타이밍 문제에 대한 해결책으로 Proof of History를 도입한다. PoH는 악의적인 행위자의 타임스탬프에 의존하지 않고도 이벤트 사이에 일정량의 시간이 경과했음을 증명하는 암호학적 방법을 제공한다. 검증 가능한 역사적 기록을 생성함으로써, PoH는 노드가 이벤트 발생 순서를 증명할 수 있으면서도 독립적으로 트랜잭션을 처리할 수 있게 한다. 이 혁신은 네트워크가 트랜잭션 처리를 병렬화하고 처리량을 극적으로 증가시킬 수 있게 한다.

핵심 통찰은 신뢰가 필요 없는 시간 소스를 만들 수 있다면, 합의에서 조율 병목을 제거할 수 있다는 것이다. PoH가 암호학적 시계를 제공함으로써, 검증자는 트랜잭션을 병렬로 처리할 수 있으며 정규 순서를 확정하기 위해서만 통신하면 된다. 이러한 아키텍처 전환은 Solana가 탈중앙화된 블록체인에서 이전에 불가능하다고 여겨졌던 성능 수준을 달성할 수 있게 한다.

Outline

The remainder of this paper is organized as follows. We first describe the Proof of History mechanism in detail, explaining its construction from sequential SHA-256 hashing and the properties that make it suitable as a verifiable delay function. We then describe how data is inserted into the PoH sequence and how the resulting timestamps can be verified efficiently.

Next, we present the network design of Solana, including the leader rotation mechanism, the data plane used for block-propagation/" class="glossary-link" data-slug="block-propagation" title="block propagation">block propagation, and the transaction forwarding protocol that eliminates the need for a traditional mempool. We explain how the predetermined leader schedule, made possible by PoH's trusted clock, enables clients to send transactions directly to the upcoming leader, reducing confirmation latency.

We then describe how Proof of History integrates with a Proof of Stake consensus algorithm. The consensus mechanism, bft/" class="glossary-link" data-slug="tower-bft" title="Tower BFT">Tower BFT, uses PoH as a cryptographic clock to implement time-based lockouts that grow exponentially with each consecutive vote. This design produces a system where the cost of reverting a confirmed block increases exponentially over time, providing practical finality within seconds.

The paper proceeds to describe Streaming Proof of Replication, a mechanism for validators to prove they are storing a copy of the ledger state. This component addresses data availability — the requirement that enough copies of the blockchain data exist across the network for any participant to reconstruct the full state.

Finally, we present the system architecture as an integrated pipeline. The Transaction Processing Unit (TPU) fetches transactions, verifies signatures on the GPU, executes transactions in parallel using the Sealevel runtime, and writes the results to the ledger. We present performance projections based on the computational limits of current hardware and demonstrate that the system can process over 710,000 transactions per second on a standard gigabit network, with this throughput scaling as hardware improves over time.

Throughout the paper, we compare our approach against existing designs where relevant. Traditional blockchains process transactions sequentially and reach consensus through all-to-all communication. Solana replaces these serial bottlenecks with a pipelined, parallelized architecture where the PoH sequence serves as the coordinating mechanism, allowing each component to operate at its maximum hardware-limited throughput.

Outline

본 논문은 Proof of History가 고성능 블록체인">블록체인 운영을 가능하게 하는 방식에 초점을 맞추어 Solana의 기술 아키텍처를 설명한다. 문서는 먼저 PoH 메커니즘 자체 — 순차적 해시 체인이 검증 가능한 시간적 순서를 생성하는 방법 — 를 설명한다. PoH를 안전하게 만드는 암호학적 속성을 상세히 기술하고, 검증자가 PoH 시퀀스를 효율적으로 검증할 수 있는 방법을 보여준다.

이어서 논문은 PoH가 Proof of Stake 합의와 어떻게 통합되는지 탐구한다. PoH의 시간적 속성을 활용하도록 특별히 설계된 PoS 알고리즘인 Tower BFT를 설명한다. 이 통합은 검증자가 특정 PoH 타임스탬프에서 원장 상태에 투표할 수 있게 하여, 빠르고 안전한 합의 메커니즘을 만든다. 또한 악의적 행동을 방지하는 슬래싱 조건도 설명한다.

다음으로, Solana의 네트워크 설계와 데이터 전파 프로토콜을 제시한다. Gulf Stream 프로토콜은 멤풀 없이 트랜잭션 전달을 가능하게 하여, 클라이언트가 다가오는 리더에게 직접 트랜잭션을 보낼 수 있게 한다. 리더 교체가 어떻게 작동하는지, 그리고 네트워크가 리더십이 변경되는 동안에도 높은 처리량을 유지하는 방법을 설명한다.

마지막으로, Transaction Processing Unit(TPU), Sealevel 병렬 런타임, 데이터 저장 검증을 위한 Proof of Replication을 포함한 시스템 아키텍처를 논의한다. 성능 예측은 Solana가 표준 기가비트 네트워크에서 초당 700,000건 이상의 트랜잭션을 처리할 수 있으며, 하드웨어가 개선됨에 따라 처리량이 확장됨을 보여준다.

Network Design

Solana's network operates on a rotating leader model where a single validator at a time is designated as the leader, responsible for producing the PoH sequence and ordering transactions into blocks. Validators are assigned leader slots according to a stake-weighted schedule that is derived deterministically from the PoH sequence itself. Because every validator can independently compute the same leader schedule from the same PoH state, the rotation is globally consistent without requiring any coordination messages.

Solana network design showing transaction flow through the leader validator to the rest of the network

A leader slot lasts for a fixed number of PoH ticks (currently configured at 800ms worth of hashes). During its slot, the leader ingests transactions from clients, orders them into the PoH stream, and produces a block that is streamed to the rest of the network. At the end of its slot, the next leader in the schedule takes over, continuing the PoH sequence from where the previous leader stopped. If a leader fails to produce a block during its slot — due to a crash, network partition, or malicious behavior — the slot is skipped and the next leader begins its rotation, with the gap in the PoH sequence serving as a verifiable record that time passed but no block was produced.

The data plane uses a protocol called Turbine, which is designed to maximize the use of network bandwidth while minimizing the data each individual validator must transmit. When a leader produces a block, it does not broadcast the entire block to every validator. Instead, the block is broken into small packets called shreds using Reed-Solomon erasure coding. The leader sends each shred to a different validator in a tree structure called a fanout tree. Each validator that receives a shred retransmits it to a fixed number of downstream validators in the tree, and those validators retransmit to their downstream neighbors, and so on. This creates a propagation pattern similar to BitTorrent, where the network's aggregate bandwidth is used to distribute the block rather than requiring the leader to have enough bandwidth to serve every validator directly.

Erasure coding is critical to Turbine's design. The leader encodes each block into data shreds and recovery shreds such that any sufficiently large subset of the total shreds is enough to reconstruct the full block. Even if some shreds are lost due to network failures or if some validators in the fanout tree fail to retransmit, the remaining validators can still recover the complete block from the shreds they did receive. This provides resilience against both random packet loss and targeted adversarial behavior.

Gulf Stream is Solana's transaction forwarding protocol, which eliminates the traditional mempool used by most blockchain networks. In a conventional blockchain, transactions are broadcast to the entire network and stored in each node's mempool until they are included in a block. This approach wastes bandwidth, as every transaction is transmitted to every node regardless of whether that node will process it. Gulf Stream instead forwards transactions directly to the expected leader. Because the leader schedule is known in advance (derived from the PoH state), clients and validators can determine which validator will be the leader for upcoming slots and forward transactions accordingly.

When a client submits a transaction, it includes a recent blockhash (a reference to a recent PoH checkpoint) that serves as a transaction lifetime marker. The transaction is valid only for a limited number of slots after the referenced blockhash. If the transaction is not processed within that window, it expires and the client must resubmit it with a more recent blockhash. This expiration mechanism prevents stale transactions from accumulating and allows validators to prune unprocessed transactions efficiently, keeping memory usage bounded without maintaining a global mempool.

The combination of known leader schedules, direct transaction forwarding, and transaction expiration means that by the time a validator becomes the leader, it already has most of the transactions it needs to build its block. There is no need to wait for mempool synchronization or to gossip unconfirmed transactions across the network. This design reduces confirmation latency because transactions arrive at the leader before it begins its slot, and it reduces network bandwidth consumption because transactions are forwarded along targeted paths rather than broadcast to all validators.

Network Design

Solana의 네트워크 설계는 검증자들이 교대로 블록을 생성하는 순환 리더 시스템을 중심으로 한다. 리더는 수신되는 트랜잭션을 PoH 스트림으로 시퀀싱하고 결과 블록을 네트워크에 게시하는 책임을 진다. 리더는 스테이크 가중 알고리즘을 통해 선출되며, 교체 일정은 사전에 알려져 있어 네트워크가 트랜잭션 전달을 최적화할 수 있다.

Solana network design showing transaction flow through the leader validator to the rest of the network

Gulf Stream 프로토콜은 클라이언트가 다가오는 리더에게 직접 트랜잭션을 전달할 수 있게 함으로써 기존의 멤풀 필요성을 제거한다. 클라이언트가 트랜잭션을 제출하면, 교체 일정에 따라 예상 리더에게 전달된다. 현재 리더가 트랜잭션을 처리할 수 없는 경우, 다음 예상 리더에게 전달한다. 이 설계는 확인 지연을 줄이고 검증자가 미리 트랜잭션을 실행할 수 있게 하여 처리량을 더욱 최적화한다.

트랜잭션 전파는 다층 접근 방식을 사용한다. 클라이언트는 검증자에게 트랜잭션을 보내고, 검증자는 현재 또는 다가오는 리더에게 이를 전달한다. 리더는 트랜잭션을 PoH 스트림으로 시퀀싱하여 전체 순서를 생성한다. 시퀀싱이 완료되면, 리더는 PoH 스트림과 트랜잭션 데이터를 검증자에게 전송하고, 검증자는 PoH 시퀀스를 검증하고 트랜잭션을 병렬로 실행한다.

네트워크 설계에는 블록을 더 작은 패킷으로 나누어 트리 구조로 네트워크 전체에 분산하는 turbine 블록 전파 프로토콜도 포함된다. 이 접근 방식은 빠른 블록 전파를 보장하면서 개별 검증자의 대역폭 요구 사항을 최소화한다. PoH의 트랜잭션 순서 검증 능력과 결합된 이 아키텍처는 Solana가 탈중앙화를 희생하지 않으면서 높은 처리량을 달성할 수 있게 한다.

Proof of History

Proof of History is a sequence of computations that provides a cryptographic way to verify the passage of time between two events. It uses a sequential pre-image resistant hash function — specifically SHA-256 — that is run continuously, with the previous output used as the next input. Periodically, the current count and hash output are recorded, and each recorded sample can be verified by an external computer in the time it takes to evaluate the hash function from the starting state to the recorded sample.

The construction is straightforward. Starting from some initial hash value hash_0, the PoH generator computes:

hash_1 = SHA256(hash_0)
hash_2 = SHA256(hash_1)
hash_3 = SHA256(hash_2)
...
hash_n = SHA256(hash_{n-1})

Proof of History sequence showing sequential SHA-256 hash outputs with counter values

Each hash in the sequence can only be computed after the previous one. Because SHA-256 is pre-image resistant, there is no known way to find hash_n without computing all intermediate hashes hash_1 through hash_{n-1}. This property means the sequence acts as a verifiable delay function (VDF): producing n hashes requires sequential work proportional to n, and no amount of parallel hardware can accelerate the computation. The elapsed wall-clock time to generate n hashes on a given processor provides a lower bound on the real time that passed during generation.

The critical asymmetry exploited by PoH is between generation and verification. While the hash chain must be generated sequentially on a single core, it can be verified in parallel by splitting it into segments. If a verifier receives the sequence along with checkpoints (hash value and counter pairs), it can divide the work among multiple cores. For example, given checkpoints at positions 0, 1000, 2000, and 3000, four cores can simultaneously verify the segments [0,1000], [1000,2000], [2000,3000] by each recomputing 1000 hashes and checking that the endpoint matches. This means verification is approximately c times faster than generation, where c is the number of cores available to the verifier.

Generation (sequential, single core):

  hash_0 → hash_1 → hash_2 → ... → hash_999 → hash_1000 → ... → hash_2000

Verification (parallel, multi-core):

  Core 1: hash_0    → ... → hash_999  ✓ matches checkpoint
  Core 2: hash_1000 → ... → hash_1999 ✓ matches checkpoint
  Core 3: hash_2000 → ... → hash_2999 ✓ matches checkpoint

Proof of History verification using multiple CPU cores to check hash chain segments in parallel

Inserting external data into the Proof of History hash sequence to create a verifiable timestamp

Proof of History input with a back reference ensuring consistency and causal ordering of events

Data can be inserted into the PoH sequence to create timestamps. When external data — such as a transaction hash, a photograph of a newspaper front page, or any arbitrary bytes — needs to be timestamped, it is appended to the current hash state and included in the next hash computation. For example, if the current state is hash_n and external data D arrives, the generator computes hash_{n+1} = SHA256(hash_n || SHA256(D)), where || denotes concatenation. The PoH record then includes the entry (n+1, D, hash_{n+1}), proving that data D existed before hash_{n+1} was computed and after hash_n was computed. The data insertion is irreversible: removing or altering D would change hash_{n+1} and every subsequent hash in the chain.

This data insertion mechanism provides a total ordering of events. If event A is inserted at position n and event B is inserted at position m where n m, then the hash chain proves that A was recorded before B. The number of hashes between positions n and m provides a lower bound on the time that elapsed between the two events. This ordering is non-interactive — any observer who has access to the hash chain can independently verify the ordering without communicating with the generator or any other observer.

The security of PoH rests on the pre-image resistance of SHA-256. An attacker who wants to forge a PoH sequence — inserting a different event at a given position while maintaining a valid hash chain — would need to recompute the entire chain from the point of forgery. Because the generator is running continuously at the maximum speed of a single core, the attacker's forged chain would always be behind the legitimate chain. To catch up, the attacker would need hardware that is faster than the generator's hardware on a single-core sequential SHA-256 computation, which is bounded by the laws of physics and the current state of semiconductor technology. This makes PoH manipulation economically and physically impractical for any reasonably provisioned generator.

Proof of History

Proof of History는 SHA-256을 사용한 순차적 해시 체인으로 구현된 검증 가능한 지연 함수(VDF)이다. PoH 생성기는 각 출력을 다음 해시의 입력으로 사용하여 SHA-256 해시를 지속적으로 계산한다. 이는 각 해시가 이전 해시 이후에만 계산될 수 있는 순차적 체인을 생성하여, 검증 가능한 시간적 순서를 확립한다. 각 해시를 생성하기 위한 계산 요구 사항은 이벤트 간 최소 시간 지연을 강제한다.

Proof of History sequence showing sequential SHA-256 hash outputs with counter values

PoH의 핵심 속성은 검증은 저렴하지만 생성은 비용이 많이 든다는 것이다. 검증자는 해시 시퀀스를 세그먼트로 나누어 각 세그먼트를 독립적으로 검사한 후 세그먼트가 올바르게 연결되는지 확인함으로써 전체 해시 시퀀스를 병렬로 검사할 수 있다. 그러나 생성은 반드시 순차적이어야 한다 — 모든 중간 단계를 실제로 계산하지 않고는 해시 체인의 출력을 예측할 방법이 없다. 생성과 검증 사이의 이러한 비대칭성이 PoH를 실용적으로 만드는 것이다.

Proof of History verification using multiple CPU cores to check hash chain segments in parallel

외부 이벤트와 트랜잭션 데이터는 해시 체인에 혼합되어 PoH 시퀀스에 삽입된다. 트랜잭션이 도착하면, 그 해시가 현재 PoH 상태와 결합되어 해당 트랜잭션이 시퀀스의 그 시점에 존재했음을 증명하는 기록이 생성된다. PoH 생성기는 주기적으로 체크포인트를 기록하며, 마지막 체크포인트 이후 계산된 해시 수와 함께 현재 해시 값을 게시한다. 이러한 체크포인트는 검증자가 모든 해시를 재계산하지 않고도 PoH 시퀀스를 효율적으로 검증할 수 있게 한다.

Inserting external data into the Proof of History hash sequence to create a verifiable timestamp

PoH 시퀀스는 전체 네트워크의 암호학적 시계 역할을 한다. 해시 체인은 순차적이고 검증 가능하므로, 어떤 노드든 해당 구간 동안 계산된 해시를 보여줌으로써 두 이벤트 사이에 일정량의 시간이 경과했음을 증명할 수 있다. 이는 노드가 외부 타임스탬프를 신뢰하거나 시간적 순서를 확립하기 위해 서로 조율할 필요를 제거하여, 전통적인 블록체인 합의의 근본적인 병목을 해소한다.

Proof of History input with a back reference ensuring consistency and causal ordering of events

Proof of History Sequence

The Proof of History sequence is a continuous stream of hash computations that serves as the backbone of Solana's temporal ordering system. The sequence begins with an arbitrary seed value and proceeds indefinitely, with the generator computing SHA-256 hashes as fast as the underlying hardware allows. Alongside the hash values, the generator maintains a monotonically increasing counter that records the total number of hashes computed since the sequence began. This counter serves as the canonical "clock tick" for the network.

The PoH output is recorded as a series of entries, each containing the counter value, the hash output, and optionally any data that was mixed into the hash at that position. Not every hash is recorded — the generator may output entries at regular intervals (for example, every 800,000 hashes), producing checkpoints that divide the sequence into verifiable segments. Between checkpoints, the generator may also produce entries at irregular intervals whenever data is inserted into the sequence. The complete sequence of entries forms the PoH log, which serves as a verifiable timeline for all events on the network.

Two Proof of History generators synchronizing by inserting each other's output state for horizontal scaling

Multiple data items can be inserted at the same PoH index by hashing them together before mixing into the state. For example, if transactions Tx_1 and Tx_2 arrive simultaneously, the generator computes hash_{n+1} = SHA256(hash_n || SHA256(Tx_1) || SHA256(Tx_2)). The ordering within a single PoH index is determined by the generator (the leader), while the ordering between different PoH indices is determined by the hash chain. This two-level ordering scheme provides both fine-grained (intra-tick) and coarse-grained (inter-tick) temporal resolution.

Verification of the PoH sequence proceeds in two phases. In the first phase, a verifier checks the structural integrity of the hash chain by recomputing hashes between checkpoints and confirming that the computed output matches the recorded checkpoint value. This can be parallelized across multiple cores, with each core independently verifying one segment. In the second phase, the verifier checks that data insertions are correct by confirming that the hash at each insertion point correctly incorporates the declared data. Both phases can run simultaneously on different cores, making verification significantly faster than generation.

The PoH sequence also supports light proofs. A node that wants to prove that a specific event occurred at a specific position in the PoH sequence need not transmit the entire hash chain. Instead, it can provide the event data, the PoH hash at the insertion point, the hashes at the surrounding checkpoints, and a compact proof that the checkpoints are part of the canonical PoH sequence (confirmed by validator votes). The verifier can then check the segment containing the insertion point and confirm the event's position without processing the full sequence.

A critical design consideration is the speed of the PoH generator. The generator should use the fastest available single-core hardware for SHA-256 computation, because the rate of hash production determines the "tick rate" of the cryptographic clock. If an adversary has access to significantly faster hardware, they could generate an alternative PoH sequence faster than the legitimate generator, potentially creating a forged timeline. In practice, the fastest SHA-256 hardware available is commodity ASIC or high-end CPU hardware, and the difference in single-core performance between the fastest and second-fastest hardware is small — typically within a factor of two. This means an attacker's forged sequence would still fall behind the legitimate sequence as long as the legitimate generator starts first and the attacker cannot sustain twice the single-core hash rate indefinitely.

The PoH sequence naturally handles the passage of time during periods of inactivity. When no transactions are being submitted, the generator continues to compute hashes, producing "empty ticks" that advance the clock without recording any events. These empty ticks prove that time passed even when no activity occurred, which is important for features like transaction expiration and for distinguishing between a leader that produced an empty slot (because no transactions arrived) and a leader that failed to produce any output at all.

Proof of History Sequence

Proof of History 시퀀스는 각 해시가 이전 출력에 의존하는 연속적인 SHA-256 해시 체인이다. 시퀀스는 초기 시드 값에서 시작하며, 이 값을 해싱하여 첫 번째 출력을 생성한다. 이 출력은 다음 해시의 입력이 되고, 이 과정이 무한히 반복된다. 생성기는 또한 계산된 총 해시 수를 추적하는 카운터를 유지하며, 이는 원장에서 이벤트의 PoH "타임스탬프" 역할을 한다.

Two Proof of History generators synchronizing by inserting each other's output state for horizontal scaling

데이터를 시퀀스에 삽입해야 할 때(트랜잭션 해시나 검증자 서명 등), 결정론적 혼합 함수를 사용하여 현재 해시 상태와 결합된다. 예를 들어, 현재 해시 상태가 hash_n이고 데이터 D를 삽입하려면, hash_{n+1} = SHA256(hash_n || D)를 계산한다. 여기서 ||는 연결(concatenation)을 나타낸다. 삽입 지점은 카운터 값과 함께 기록되어, 데이터 D가 시퀀스의 해당 특정 지점에 존재했음을 증명한다.

PoH 시퀀스의 검증은 체인을 세그먼트로 분할하여 병렬화할 수 있다. 예를 들어, 검증자가 10,000 해시마다 PoH 체크포인트를 수신할 수 있다. 체크포인트 간 시퀀스를 검증하기 위해, 검증자는 10,000개의 해시를 각 100개씩 100개의 세그먼트로 분할하고, 각 세그먼트를 병렬로 독립적으로 검증한 다음, 세그먼트가 올바르게 연결되는지 확인할 수 있다. 이를 통해 검증은 사용 가능한 CPU 코어 수에 따라 수평적으로 확장될 수 있다.

시퀀스는 또한 두 이벤트가 특정 순서로 발생했음에 대한 효율적인 증명을 지원한다. n m인 카운터 값 nm에서의 두 데이터 삽입이 주어지면, 누구나 해당 지점 사이의 해시 체인을 확인하여 n의 이벤트가 m의 이벤트보다 먼저 발생했음을 검증할 수 있다. 이 속성은 Solana가 노드가 지속적으로 온라인 상태이거나 외부 시간 소스를 신뢰할 필요 없이 네트워크의 모든 이벤트에 대한 검증 가능한 역사적 기록을 생성할 수 있게 한다.

Timestamp

Each hash and counter published by the PoH generator represents a unique timestamp. This timestamp is a proof that the data was created before the hash was generated. The PoH sequence can be used to embed wall-clock time estimates that validators collectively agree upon, creating a bridge between the cryptographic clock and human-readable time.

The mechanism works as follows. Each PoH tick represents a cryptographic timestamp — a position in the hash chain that can be verified but that does not directly correspond to a wall-clock time. To establish a mapping between PoH ticks and real-world time, validators periodically submit signed observations of their local wall-clock time along with the current PoH tick count. These observations are recorded in the PoH stream. After collecting observations from a sufficient number of validators, the network can compute a bounded estimate of the real-world time at each PoH tick by taking the stake-weighted median of the reported times.

Validator Timestamp Observations:

PoH Tick 500000:
  Validator A (10% stake): 2017-11-15T12:00:00.000Z
  Validator B (15% stake): 2017-11-15T12:00:00.012Z
  Validator C (20% stake): 2017-11-15T12:00:00.005Z
  Validator D (5% stake):  2017-11-15T12:00:00.008Z

Stake-weighted median → 2017-11-15T12:00:00.006Z
Bound: ±20ms (based on PoH tick rate and observation spread)

The bound on the wall-clock estimate depends on two factors: the variance in network propagation delays (which affects when different validators observe the same PoH tick) and the granularity of the PoH clock (which depends on the hash rate of the generator). On a 4GHz processor computing approximately 4 million SHA-256 hashes per second, the PoH clock has a resolution of approximately 0.25 microseconds per tick. Network propagation delays are typically on the order of tens to hundreds of milliseconds, so the bound on wall-clock estimates is dominated by network latency rather than PoH resolution.

This timestamp mechanism is important for several protocol features. Transaction expiration relies on timestamps to determine when a transaction's referenced blockhash has become too old. Stake lockup periods use timestamps to determine when staked tokens can be withdrawn. Oracle integrations use timestamps to verify the freshness of external data feeds. And any on-chain program that needs to implement time-dependent logic — such as scheduled payments, time-locked contracts, or rate limiting — can use the PoH-derived timestamps as a trusted time source.

A critical security property of PoH timestamps is that they cannot be manipulated by a single malicious leader. A leader could attempt to assign incorrect wall-clock times to PoH ticks, but because the wall-clock estimates are computed from the stake-weighted median of multiple validators' observations, a single malicious validator (even one with significant stake) cannot significantly skew the median. To shift the median by more than the normal observation variance, an attacker would need to control a majority of the stake, which would compromise the security of the consensus mechanism itself and is therefore outside the threat model.

The PoH clock also provides a mechanism for detecting leaders that are running at an abnormal rate. If a leader is generating PoH hashes significantly faster or slower than expected (relative to the observed wall-clock rate of previous leaders), validators can detect this discrepancy and reject blocks from that leader. This prevents attacks where a malicious leader attempts to compress or extend time by manipulating the rate of PoH generation. The expected PoH rate is calibrated based on the observed performance of the network's hardware, and validators maintain a running estimate of the normal rate to detect anomalies.

Timestamp

Proof of History는 벽시계 시간에 의존하지 않고 이벤트에 타임스탬프를 할당하는 탈중앙화된 시계로 기능한다. 각 PoH 해시는 암호학적 시계의 개별 "틱"을 나타내며, 카운터 값이 타임스탬프 역할을 한다. 해시 체인은 순차적이고 검증 가능하므로, 이러한 타임스탬프는 신뢰가 필요 없다 — 어떤 관찰자든 해시 체인을 확인하여 타임스탬프가 정당한지 검증할 수 있다.

Solana에서 각 검증자는 리더로 활동할 때 자체 PoH 시퀀스를 생성할 수 있다. 검증자가 리더십을 교체할 때, 이전 리더의 마지막 확인된 체크포인트를 사용하여 PoH 시퀀스를 동기화한다. 이는 서로 다른 검증자가 교대로 블록을 생성하더라도 시간 기록의 연속성을 보장한다. 네트워크는 공식 원장의 일부로 수용할 PoH 시퀀스에 대해 합의에 도달하여 정규 타임라인을 확립한다.

시스템은 리더 교체와 합의의 조합을 통해 클록 드리프트와 하드웨어 성능의 편차를 처리한다. 악의적이거나 결함이 있는 리더가 잘못된 속도(너무 빠르거나 너무 느리게)로 PoH 타임스탬프를 생성하려고 시도하면, 검증자는 자체 로컬 PoH 생성기와 비교하여 PoH 틱 속도를 비교함으로써 이를 감지할 수 있다. 예상 속도에서의 상당한 편차는 문제를 나타내며, 검증자는 PoH 시퀀스가 네트워크 중앙값에서 너무 벗어난 리더의 블록을 거부할 수 있다.

이 타임스탬핑 메커니즘은 분산 시스템의 근본적인 문제 중 하나인 신뢰할 수 있는 중앙 기관 없이 공통의 시간 개념을 확립하는 문제를 해결한다. PoH를 탈중앙화된 시계로 사용함으로써, Solana는 검증자가 전역적으로 일관된 순서를 유지하면서 트랜잭션을 병렬로 처리할 수 있게 한다. 타임스탬프는 또한 트랜잭션 만료, 예약된 작업, 성능 측정과 같은 시간 기반 기능의 기초를 제공한다.

Proof of Stake Consensus

Solana uses a Proof of Stake consensus mechanism called bft/" class="glossary-link" data-slug="tower-bft" title="Tower BFT">Tower BFT that is specifically designed to leverage the temporal guarantees provided by Proof of History. In Tower BFT, validators stake SOL tokens as collateral and vote on the validity of blocks produced by leaders. Validators earn rewards proportional to their stake for correctly participating in consensus, and they risk having their stake slashed if they violate the protocol rules. The stake-weighted voting ensures that the consensus decision reflects the economic interests of the network's stakeholders.

The fundamental innovation in Tower BFT is the use of PoH as a clock for implementing exponentially increasing lockout periods. When a validator votes on a block at a specific PoH slot, it commits to that fork of the ledger. Each consecutive vote on the same fork doubles the lockout period before the validator can switch to an alternative fork. Specifically, if a validator has made n consecutive votes on a particular fork, the lockout period before the oldest of those votes expires is 2^n PoH slots. This exponential growth means that after a modest number of consecutive votes (for example, 32), the lockout period becomes astronomically long — over 4 billion slots, which at typical slot times would take decades to expire.

Tower BFT Exponential Lockout:

Vote #  Lockout (slots)   Cumulative commitment
─────────────────────────────────────────────────
1       2                 Low — can switch forks quickly
2       4
3       8
4       16
5       32
...
12      4,096             Minutes of lockout
...
20      1,048,576         Hours of lockout
...
32      4,294,967,296     Effectively permanent (decades)

This lockout mechanism creates a natural finality gradient. A block that has received votes from validators representing a supermajority of stake, where those validators have many consecutive votes on the fork containing that block, is effectively finalized. Reverting such a block would require those validators to wait for their lockouts to expire — a period that grows exponentially and quickly becomes impractical. In practice, blocks achieve effective finality within seconds, as validators rapidly accumulate consecutive votes on the canonical fork.

The integration with PoH is what makes this lockout scheme practical. In traditional BFT systems, lockout periods would need to be measured in wall-clock time, which requires nodes to trust each other's clocks or engage in complex time-synchronization protocols. With PoH, lockout periods are measured in PoH slots — a verifiable, tamper-proof unit of time. Every validator can independently verify whether a given lockout has expired by checking the PoH sequence, without trusting any other node's clock. This eliminates the ambiguity that would otherwise make time-based lockouts vulnerable to manipulation.

Slashing is the mechanism by which validators are penalized for violating protocol rules. The primary slashable offense is equivocation: voting on two conflicting forks during a period when the validator should be locked out on one fork. If a validator votes on fork A and then votes on a conflicting fork B before their lockout on A expires, any observer who possesses both votes can construct a slashing proof. This proof demonstrates that the validator violated its lockout commitment, and the network can automatically destroy a portion of the validator's staked tokens as punishment. The economic cost of slashing makes equivocation irrational for any validator whose stake exceeds the potential profit from the attack.

Leader selection in Tower BFT is determined by the PoH sequence and the current stake distribution. The leader schedule is computed deterministically from a recent snapshot of the stake distribution and a seed derived from the PoH state. This computation is performed independently by every validator, and because both inputs (stake distribution and PoH state) are part of the consensus state, all honest validators arrive at the same leader schedule. The schedule is computed for upcoming epochs (periods of several hundred thousand slots), giving the network advance notice of which validator will lead each slot. This predictability enables the Gulf Stream transaction forwarding protocol and allows validators to prepare for their leadership slots in advance.

Validators that are not currently serving as leader participate in consensus by voting on blocks produced by the current leader. When a validator receives a block, it verifies the PoH sequence, executes the transactions in the block, and if everything is valid, casts a vote for that block by signing the block's hash along with the PoH slot number. These votes are themselves transactions that are submitted to the leader of the current slot for inclusion in the PoH stream. Once a block has received votes representing more than two-thirds of the total stake, it is considered confirmed and all validators can advance their local view of the finalized state.

Proof of Stake Consensus

Tower BFT라 불리는 Solana의 합의 메커니즘은 Proof of History의 시간적 속성을 활용하도록 특별히 설계된 Proof of Stake 알고리즘이다. 검증자는 SOL 토큰을 스테이킹하여 합의에 참여하고 블록을 올바르게 검증하면 보상을 받는다. 스테이크 가중 투표 시스템은 네트워크에 더 많은 경제적 이해관계를 가진 검증자가 합의 결정에 비례적으로 더 큰 영향력을 갖도록 보장한다.

Tower BFT의 핵심 혁신은 연속 투표마다 기하급수적으로 증가하는 잠금 기간의 사용이다. 검증자가 PoH 해시에 투표하면, 일정 수의 PoH 틱 동안 해당 원장의 포크에 대해 커밋한다. 해당 포크의 다음 블록에 투표하면 잠금 기간이 두 배가 된다. 이는 검증자가 동일한 포크에 계속 투표하도록 강력한 경제적 인센티브를 만드는데, 포크를 전환하려면 이전 잠금이 만료될 때까지 기다려야 하기 때문이다.

구체적으로, 검증자가 PoH 타임스탬프 t에서 블록에 투표하면, 2^n 틱이 경과할 때까지 충돌하는 포크에 투표할 수 없다. 여기서 n은 현재 포크에서 연속으로 한 투표 수이다. 이 기하급수적 잠금 메커니즘은 빠른 최종성을 허용하면서 장거리 공격에 대한 시스템의 보안을 유지한다. 충분한 깊이로 블록에 대해 스테이크의 초과반수가 투표하면, 해당 블록은 사실상 확정된다.

슬래싱 조건은 정직한 행동을 강제한다. 검증자가 잠금 상태여야 하는 기간 동안 두 개의 충돌하는 포크에 투표하면, 슬래싱된다 — 스테이킹된 토큰이 부분적으로 소각되고 검증자 세트에서 제거된다. 이는 이중 투표나 기타 비잔틴 행동을 시도하는 것을 경제적으로 비합리적으로 만든다. PoH의 검증 가능한 타임스탬프와 Tower BFT의 기하급수적 잠금의 조합은 빠르고 안전한 합의 메커니즘을 만들어, 전통적인 BFT 시스템의 보안 보장을 유지하면서 수 초 만에 최종성을 달성한다.

Streaming Proof of Replication

Proof of Replication (PoRep) addresses the data availability problem in blockchain systems: ensuring that sufficient copies of the ledger data exist across the network so that any participant can reconstruct the complete state. In many blockchain designs, there is no verifiable mechanism to ensure that validators are actually storing the data they claim to store. A validator might discard historical data after processing it, relying on other validators to maintain copies. If enough validators adopt this strategy, the network's data redundancy degrades and the ledger may become unrecoverable.

Solana implements a streaming version of PoRep that allows validators to continuously prove they are storing and replicating ledger segments. The approach is based on encrypting the ledger data with a validator-specific key and then proving that the encrypted data exists and is stored correctly. Because each validator's encrypted copy is unique (due to the validator-specific key), a validator cannot fake their storage proof by copying another validator's encrypted data.

The encryption process uses CBC (Cipher Block Chaining) mode, where each encrypted block depends on the plaintext of the current block and the ciphertext of the previous block. This chaining property is essential: to produce the encrypted version of block n, the validator must possess both the plaintext of block n and the ciphertext of block n-1. This means the validator cannot compute arbitrary encrypted blocks without having processed all preceding blocks, ensuring that the encrypted ledger is a faithful replica of the original data.

Sequential CBC encryption diagram showing chained block cipher used in Solana Proof of Replication

Fast Proof of Replication using Merkle hash tree for verifiable storage challenges

The validator-specific encryption key is derived from the validator's identity (their public key) and a PoH-derived seed that changes periodically. This periodic key rotation ensures that validators must re-encrypt their stored data at regular intervals, preventing them from performing the encryption once and then discarding the plaintext. The PoH seed for key derivation is chosen such that the encryption key for a given period cannot be known until that period begins, preventing validators from pre-computing encrypted data.

Storage challenges are issued through the PoH sequence. The network periodically selects random positions in the encrypted ledger and requests validators to provide the encrypted block at that position along with a Merkle proof demonstrating its position in the validator's encrypted ledger tree. Because the challenge positions are derived from the PoH state (which cannot be predicted in advance), validators cannot selectively store only the blocks that they expect to be challenged on. They must store the complete encrypted ledger to respond correctly to arbitrary challenges.

The verification of challenge responses is efficient. A verifier needs only the validator's public key, the PoH-derived encryption seed, the challenged position, and the Merkle root of the validator's encrypted ledger (which is published on-chain). The verifier computes the expected encryption key, checks that the provided encrypted block is consistent with the claimed plaintext at that position using CBC decryption, and verifies the Merkle proof against the published root. This entire verification can be done without accessing the validator's full encrypted ledger.

The streaming aspect of Solana's PoRep means that the encryption and proof generation happen continuously as new blocks are produced, rather than in discrete rounds. As the leader produces new blocks, validators encrypt them into their local PoRep store immediately. Challenge responses can be generated at any time by looking up the requested position in the local encrypted ledger and constructing a Merkle proof. This continuous operation ensures that proof of replication is always current and does not introduce latency spikes from periodic proof generation.

The combination of PoRep with PoH creates a complete accountability framework for data storage. PoH provides verifiable timestamps that record when data was created, and PoRep provides verifiable proofs that the data is being stored and replicated across the network. Together, they ensure that the blockchain's historical data remains available and intact, even if individual validators leave the network or attempt to discard data to reduce their storage costs.

Streaming Proof of Replication

Proof of Replication(PoRep)은 검증자가 데이터 자체를 공개하거나 집약적인 계산을 요구하지 않고도 원장 데이터를 저장하고 있음을 증명할 수 있는 메커니즘이다. Solana는 검증자가 블록체인">블록체인 상태를 복제하고 있음을 지속적으로 입증하는 스트리밍 버전의 PoRep을 구현한다. 이는 원장 데이터가 소수의 위치에 집중되지 않고 검증자 전체에 적절히 분산되도록 보장하므로 네트워크 보안에 필수적이다.

PoRep 메커니즘은 검증자가 자신의 아이덴티티에서 파생된 검증자 고유 키를 사용하여 CBC(Cipher Block Chaining) 모드 암호화로 원장의 세그먼트를 암호화하는 방식으로 작동한다. 암호화 프로세스는 각 암호화된 블록이 이전 블록에 의존하도록 되어 있어, 각 검증자에 고유한 체인을 생성한다. 이는 검증자가 단순히 서로의 암호화된 데이터를 복사하는 것을 방지한다 — 각 검증자는 고유한 암호화 버전을 생성하기 위해 원본 원장 데이터를 저장하고 처리해야 한다.

Sequential CBC encryption diagram showing chained block cipher used in Solana Proof of Replication

주기적으로, 네트워크는 검증자에게 특정 암호화된 블록을 제공하도록 요구하는 챌린지를 발행한다. 암호화가 체인으로 연결되어 있으므로, 검증자는 올바른 응답을 생성하기 위해 모든 선행 블록을 저장하고 있어야 한다. 검증자는 암호화된 원장에서의 위치를 보여주는 Merkle 증명과 함께 암호화된 블록을 제출한다. 네트워크는 데이터를 복호화하거나 재암호화할 필요 없이 이 증명을 신속하게 검증할 수 있다.

Fast Proof of Replication using Merkle hash tree for verifiable storage challenges

이 스트리밍 방식의 PoRep은 전통적인 저장 증명 시스템에 비해 오버헤드가 낮다. 검증자는 데이터가 도착하는 대로 암호화하고 최소한의 지연으로 챌린지에 응답할 수 있다. 시스템은 또한 데이터 손실 시 복구를 가능하게 한다 — 검증자가 원장의 일부를 잃으면, 다른 검증자로부터 다시 다운로드하여 재암호화할 수 있다. PoRep과 PoH 타임스탬프의 조합은 네트워크가 데이터가 생성된 시기와 검증자 네트워크 전체에 적절히 저장되어 있는지를 모두 검증할 수 있는 완전한 책임 시스템을 만든다.

System Architecture

Solana's system architecture is organized as a multi-stage pipeline, analogous to the instruction pipeline in a modern CPU. Each stage of the pipeline performs a specific function, and multiple stages operate concurrently on different batches of transactions. This pipelining ensures that the hardware is utilized continuously — while one batch of transactions is being executed, the next batch is having its signatures verified, and the batch after that is being fetched from the network. The result is a system that achieves throughput limited by the slowest pipeline stage rather than the sum of all stage latencies.

Solana system architecture showing the Transaction Processing Unit pipeline from fetch to write

The Transaction Processing Unit (TPU) is the core component of the pipeline. It consists of four stages that process transactions sequentially within each stage but concurrently across stages:

Solana PoH generator network throughput limits showing bandwidth and processing constraints

The Fetch stage receives transaction packets from the network. Transactions arrive via UDP, and the fetch stage groups them into batches for the next pipeline stage. UDP is used instead of TCP because the overhead of TCP connection management and congestion control is unnecessary when transactions are small, independently verifiable, and can be safely dropped and retried. The fetch stage also performs basic structural validation, discarding malformed packets before they consume resources in later stages.

The SigVerify stage performs cryptographic signature verification on each transaction. Solana uses Ed25519 signatures, and this stage offloads the verification to GPUs using CUDA. A single modern GPU can verify over 900,000 Ed25519 signatures per second by executing thousands of verification operations in parallel across its CUDA cores. This is the key to removing signature verification as a bottleneck — while a single CPU core might verify only a few thousand signatures per second, a commodity GPU can handle nearly a million. The GPU receives a batch of transactions, verifies all signatures in parallel, and returns the results indicating which transactions have valid signatures.

The Banking stage is where transactions are actually executed against the current state of the ledger. This stage uses Sealevel, Solana's parallel smart contract runtime. Sealevel analyzes each transaction to determine which accounts it reads from and writes to. Transactions that access disjoint sets of accounts can be executed in parallel across multiple CPU cores, because they cannot interfere with each other. Transactions that access overlapping accounts are serialized to prevent race conditions.

Executing user-supplied BPF programs in Solana Sealevel runtime with shared intrinsic calls

This account-level parallelism is possible because Solana programs (smart contracts) must declare upfront which accounts they will access. The runtime uses this declaration to build a dependency graph and schedule non-conflicting transactions across available CPU cores. Programs are executed in a sandboxed BPF (Berkeley Packet Filter) virtual machine, which provides memory safety and deterministic execution. The BPF runtime also enforces compute budgets to prevent any single transaction from consuming excessive resources.

The Write stage commits the executed transactions to the ledger and integrates them into the PoH sequence. The leader's PoH generator incorporates the transaction results into the hash chain, producing a PoH entry that timestamps the batch of executed transactions. The entry, along with the transaction data and execution results, is then transmitted to other validators via the Turbine protocol and written to local persistent storage.

The Cloudbreak state storage system is designed to support the parallelism required by the rest of the pipeline. Traditional blockchain state storage uses a single key-value store (such as LevelDB or RocksDB) that serializes all read and write operations. Cloudbreak uses memory-mapped files and a concurrent data structure that allows multiple threads to read and write different accounts simultaneously. Accounts are stored in separate memory regions, so accessing one account does not block access to another. This architecture ensures that the state storage layer does not become a bottleneck even when thousands of transactions are being executed in parallel.

The overall system architecture also includes the Archiver network, which provides long-term decentralized storage for historical ledger data. Active validators need only maintain the recent state and a sliding window of recent blocks. Older blocks are offloaded to Archiver nodes, which prove they are storing the data using the Proof of Replication mechanism described earlier. This separation of concerns allows validators to operate with bounded storage requirements while ensuring that the full history of the ledger remains available to any participant who needs it.

System Architecture

Solana의 시스템 아키텍처는 트랜잭션 처리의 여러 단계가 병렬로 진행되는 파이프라인으로 설계되었다. Transaction Processing Unit(TPU)은 수신되는 트랜잭션을 처리하는 핵심 구성 요소이다. TPU는 여러 단계로 구성된다: 페치(트랜잭션 수집), 서명 검증, 뱅킹(트랜잭션 실행), 쓰기(스토리지에 커밋). 각 단계는 CPU 파이프라이닝과 유사하게 서로 다른 트랜잭션에 대해 병렬로 작동한다.

Solana system architecture showing the Transaction Processing Unit pipeline from fetch to write

서명 검증은 트랜잭션 서명 검증에 필요한 타원 곡선 암호화 연산에 매우 효율적인 GPU를 사용하여 가속된다. 이 계산 집약적인 작업을 GPU에 오프로딩함으로써, Solana는 범용 하드웨어에서 초당 900,000건 이상의 속도로 서명을 검증할 수 있다. 이 병렬 서명 검증은 매우 높은 트랜잭션 속도에서도 암호화 검증이 병목이 되는 것을 방지한다.

Solana PoH generator network throughput limits showing bandwidth and processing constraints

Sealevel 런타임은 Solana의 병렬 스마트 컨트랙트 실행 엔진이다. 트랜잭션을 순차적으로 실행하는 기존 블록체인">블록체인과 달리, Sealevel은 트랜잭션이 접근하는 계정을 분석하여 충돌하지 않는 트랜잭션을 여러 CPU 코어에 걸쳐 병렬로 실행한다. 동일한 계정에 접근하는 트랜잭션은 일관성을 유지하기 위해 순차적으로 실행되지만, 서로 다른 계정에 접근하는 트랜잭션은 동시에 실행될 수 있다. 이 병렬성은 PoH가 전역 순서를 확립하기 때문에 가능하다 — 검증자는 PoH가 지정한 시퀀스로 상태에 적용하기만 하면 어떤 순서로든 트랜잭션을 실행할 수 있다.

Executing user-supplied BPF programs in Solana Sealevel runtime with shared intrinsic calls

아키텍처에는 블록 전파와 스토리지를 위한 최적화된 구성 요소도 포함된다. turbine 블록 전파 프로토콜은 이레이저 코딩을 사용하여 블록을 더 작은 패킷으로 나누어 트리 구조로 네트워크에 분산하여 대역폭 요구 사항을 최소화한다. Archivers 네트워크는 PoRep을 사용하여 데이터 가용성을 보장하면서 역사적 원장 데이터에 대한 탈중앙화된 스토리지를 제공한다. 이러한 구성 요소들이 함께 블록체인의 탈중앙화와 보안 속성을 유지하면서 초당 수십만 건의 트랜잭션을 처리할 수 있는 시스템을 만든다.

Performance

The theoretical throughput of the Solana architecture is determined by three potential bottlenecks: network bandwidth, signature verification rate, and transaction execution rate. The system is designed so that improvements in any of these dimensions directly increase throughput, with the overall rate limited by whichever bottleneck is currently the tightest.

On a standard 1 gigabit per second (Gbps) network connection, the maximum data throughput is approximately 125 megabytes per second. A typical Solana transaction is 250 bytes including the signature, account addresses, instruction data, and metadata. At 250 bytes per transaction, a 1 Gbps connection can carry approximately 500,000 transactions per second. With 10 Gbps networking (increasingly available in data centers), this number rises to approximately 5 million transactions per second. The Turbine block-propagation/" class="glossary-link" data-slug="block-propagation" title="block propagation">block propagation protocol ensures that the network's aggregate bandwidth is utilized efficiently, so the bottleneck is the leader's outbound bandwidth rather than the total network capacity.

Throughput Projections by Network Bandwidth:

Network    Bandwidth     Tx Size    Max Throughput
──────────────────────────────────────────────────
1 Gbps     125 MB/s      250 B      500,000 TPS
10 Gbps    1.25 GB/s     250 B      5,000,000 TPS
40 Gbps    5 GB/s        250 B      20,000,000 TPS

Signature verification, often the computational bottleneck in blockchain systems, is addressed through GPU parallelization. A single NVIDIA GTX 1080 Ti GPU can verify approximately 900,000 Ed25519 signatures per second. Higher-end GPUs and future hardware generations will increase this rate further. Because signature verification is embarrassingly parallel (each signature is independent), the verification rate scales linearly with the number of GPU cores. With multiple GPUs, a single node can verify millions of signatures per second, ensuring that cryptographic validation does not constrain the system.

The PoH generator runs on a dedicated CPU core, producing approximately 4 million SHA-256 hashes per second on a 4 GHz processor. This provides a clock resolution of 0.25 microseconds per tick, which is more than sufficient for ordering millions of transactions per second. The sequential nature of PoH generation means this component cannot be parallelized, but the hash rate is high enough that the PoH generator is not a bottleneck. As CPU clock speeds increase and SHA-256 instruction sets improve (Intel SHA Extensions, ARM Cryptography Extensions), the PoH tick rate will increase accordingly.

Transaction execution throughput depends on the complexity of the transactions and the degree of parallelism achievable. For simple value transfers that access only two accounts (sender and receiver), the execution rate is very high because most transfers involve different accounts and can be executed in parallel. For smart contract interactions that access shared state, parallelism is reduced and execution becomes the bottleneck. The Sealevel runtime is designed to maximize parallelism by executing non-conflicting transactions on different CPU cores, and modern server hardware with 32 or more cores provides substantial parallel execution capacity.

Pipeline Stage Throughput (approximate, current hardware):

Stage              Hardware         Throughput
─────────────────────────────────────────────────
Fetch              1 Gbps NIC       500,000 TPS
SigVerify          1x GTX 1080 Ti   900,000 SPS
Banking/Execute    32-core CPU      ~400,000 TPS (simple transfers)
PoH Generator      4 GHz core       4,000,000 hashes/sec
Write/Storage      NVMe SSD         ~1,000,000 IOPS

A critical property of Solana's performance model is that it scales with Moore's Law. As hardware improves across all dimensions — faster CPUs, more powerful GPUs, higher-bandwidth networks, faster storage — the system's throughput increases proportionally without requiring any changes to the protocol. This is a deliberate design choice that distinguishes Solana from blockchains whose throughput is limited by protocol-level constraints (such as fixed block sizes or fixed block intervals) that require governance decisions and hard forks to change. In Solana, the protocol automatically takes advantage of whatever hardware is available, meaning that the performance ceiling rises continuously as technology advances.

Latency is another critical performance dimension. The end-to-end latency from transaction submission to confirmation depends on several factors: network propagation time to the leader, the leader's slot length (currently approximately 400ms), the time for the block to propagate to validators via Turbine, and the time for validators to vote and reach confirmation (typically 1-2 additional slots). In total, a transaction submitted to the current leader can be confirmed in approximately 400ms to 800ms under normal conditions. This latency is orders of magnitude lower than proof-of-work blockchains (which require minutes) and comparable to or faster than most proof-of-stake systems.

Performance

Solana의 아키텍처는 무어의 법칙을 따르며 하드웨어 개선에 맞춰 확장되는 성능 수준을 달성하도록 설계되었다. 표준 1기가비트 네트워크 연결에서 이론적 최대 처리량은 트랜잭션당 176바이트(서명 및 메타데이터 포함)를 가정할 때 초당 약 710,000건의 트랜잭션이다. 이 계산은 네트워크 대역폭을 주요 병목으로 하며, 병렬화를 통해 계산 병목은 제거된 것을 기반으로 한다.

블록체인">블록체인 성능에서 종종 제한 요인이 되는 서명 검증은 GPU 병렬화를 사용하여 가속된다. 단일 GPU는 초당 900,000건 이상의 ed25519 서명을 검증할 수 있으며, 이는 네트워크 처리량 한도를 초과한다. 이는 서명 검증이 시스템 성능을 제약하지 않는다는 것을 의미하며 — 병목은 네트워크 대역폭과 트랜잭션 실행으로 이동한다. 복잡한 스마트 컨트랙트 로직 없이 단순히 가치를 이전하는 단순 트랜잭션의 경우, 뱅킹 단계는 네트워크 입력 속도에 맞는 속도로 트랜잭션을 처리할 수 있다.

PoH 생성기는 전용 CPU 코어에서 실행되며, 4GHz 프로세서에서 밀리초당 약 4,000개의 해시를 생성한다. 이 속도에서 PoH 시퀀스는 0.25마이크로초의 세분성으로 타임스탬프를 제공하며, 이는 초당 수백만 건의 트랜잭션을 정렬하는 데 충분하다. PoH 생성의 순차적 특성은 이 구성 요소가 병렬화될 수 없음을 의미하지만, 처리량이 충분히 높아 전체 시스템 성능을 제한하지 않는다.

하드웨어가 개선됨에 따라 Solana의 처리량은 그에 맞게 확장된다. 더 빠른 네트워크, 더 강력한 GPU, 개선된 CPU 모두가 더 높은 트랜잭션 속도에 기여한다. 시스템은 프로토콜 변경 없이 이러한 개선 사항을 활용하도록 설계되었다. 이 확장성 접근 방식은 순차적 합의 메커니즘에 의해 근본적으로 제한되는 블록체인과 대조되며, Solana가 보안과 탈중앙화 보장을 유지하면서 분산 시스템에서 이전에 불가능하다고 여겨졌던 성능 수준을 달성할 수 있게 한다.

Conclusion

This paper has presented a new blockchain architecture built on Proof of History, a mechanism for creating a verifiable, trustless record of time passage using sequential SHA-256 hashing. By establishing a cryptographic clock before consensus, PoH removes the coordination bottleneck that limits the throughput of existing blockchain systems. Validators no longer need to communicate extensively to agree on the ordering of events — the PoH sequence provides a canonical timeline that all participants can verify independently.

The key insight underlying Solana's design is that time is the missing primitive in distributed systems. Traditional consensus protocols must solve two problems simultaneously: agreeing on what happened and agreeing on when it happened. By separating these concerns — using PoH to establish when and consensus to confirm what — the system reduces the complexity of consensus from a coordination-intensive process to a simple confirmation step. This separation enables a pipeline architecture where block production, propagation, signature verification, and transaction execution all happen concurrently, maximizing hardware utilization.

The integration of PoH with the other components of the architecture produces a system with several distinctive properties. bft/" class="glossary-link" data-slug="tower-bft" title="Tower BFT">Tower BFT provides fast finality through exponentially increasing lockouts anchored to verifiable PoH timestamps. Gulf Stream eliminates the mempool by leveraging the predictable leader-schedule/" class="glossary-link" data-slug="leader-schedule" title="leader schedule">leader schedule that PoH enables. Turbine uses erasure coding and tree-structured propagation to distribute blocks efficiently. Sealevel executes non-conflicting transactions in parallel across multiple CPU cores. And Streaming Proof of Replication ensures that the ledger data is properly stored and replicated across the network.

The performance characteristics of this architecture are fundamentally different from those of previous blockchain designs. Instead of being limited by protocol-level constraints — fixed block sizes, fixed block intervals, sequential execution — Solana's throughput is limited only by the hardware available to validators. On current commodity hardware, the system can process hundreds of thousands of transactions per second with sub-second confirmation times. As hardware continues to improve following Moore's Law, these numbers will increase without requiring protocol changes or governance decisions.

The implications for blockchain adoption are significant. Many applications that require high throughput and low latency — decentralized exchanges, payment systems, gaming platforms, social networks, and Internet-of-Things data processing — have been unable to build on existing blockchain infrastructure due to performance limitations. Solana's architecture demonstrates that it is possible to build a blockchain that achieves performance levels comparable to centralized systems while maintaining the decentralization, security, and censorship resistance that make blockchains valuable. Proof of History provides the foundation for a new generation of decentralized applications that can operate at the scale demanded by global adoption.

Conclusion

Proof of History는 분산 원장의 확장성을 제한해 온 타이밍 문제를 해결함으로써 블록체인">블록체인 아키텍처의 근본적인 돌파구를 나타낸다. 검증 가능한 암호학적 시계를 만듦으로써, PoH는 검증자가 전통적인 합의 메커니즘이 요구하는 광범위한 통신 오버헤드 없이 이벤트의 시간적 순서를 확립할 수 있게 한다. 이 혁신은 핵심적인 병목을 제거하고 네트워크 전체에서 트랜잭션 처리를 병렬화할 수 있게 한다.

PoH와 최적화된 시스템 구성 요소 — GPU 가속 서명 검증, Sealevel을 통한 병렬 트랜잭션 실행, 효율적인 블록 전파 프로토콜 — 의 통합은 범용 하드웨어에서 초당 수십만 건의 트랜잭션을 처리할 수 있는 블록체인을 만든다. 더 중요한 것은, 이 아키텍처가 하드웨어 개선에 맞춰 확장되도록 설계되어 있어 프로세서가 빨라지고 네트워크가 더 강력해짐에 따라 성능이 계속 향상된다는 것이다.

Solana의 설계는 고성능과 탈중앙화가 상호 배타적이지 않음을 보여준다. PoH를 합의와 시스템 조율의 기반으로 활용함으로써, 네트워크는 탈중앙화된 블록체인의 보안과 검열 저항 속성을 유지하면서 중앙화된 데이터베이스에 견줄 수 있는 처리량 수준을 달성한다. 스테이크 가중 Tower BFT 합의 메커니즘은 빠른 최종성을 달성하면서 비잔틴 행위자에 대한 네트워크 보안을 보장한다.

이 아키텍처의 구현은 블록체인 기술이 글로벌 채택으로 확장하기 위한 실질적인 경로를 제공한다. 높은 트랜잭션 처리량을 요구하는 애플리케이션 — 탈중앙화 거래소, 게임 플랫폼, 금융 시스템 — 은 이제 성능을 타협하지 않으면서 진정으로 탈중앙화된 인프라 위에 구축될 수 있다. Proof of History는 이전에 확장성 제약으로 인해 실현 불가능했던 새로운 세대의 블록체인 애플리케이션의 문을 연다.