ソラナ:高性能ブロックチェーンのための新しいアーキテクチャ
Abstract
本文提出了一种高性能区块链的新架构。Solana实现了一种名为Proof of History(PoH)的新型计时机制——一种用于验证事件之间顺序和时间流逝的证明。PoH用于将无需信任的时间流逝编码到账本中,创建一个历史记录,证明某个事件发生在特定的时间点。
关键创新在于PoH允许网络中的节点在无需相互通信的情况下建立事件的时间顺序。通过使用以顺序哈希链实现的可验证延迟函数,系统生成了一个加密时钟,提供了一种验证事件之间时间流逝的方法。这使得网络能够在保持去中心化和安全性的同时每秒处理数千笔交易。
PoH与Proof of Stake(PoS)共识机制集成。这种组合使得高度优化的区块链架构成为可能,验证者可以并行验证交易并高效地达成共识。该系统被设计为随摩尔定律扩展,利用硬件性能的提升来改善吞吐量,而不牺牲去中心化网络的安全保障。
Abstract
本論文は、高性能ブロックチェーンのための新しいアーキテクチャを提示する。SolanaはProof of History(PoH)と呼ばれる新しい時間管理メカニズムを実装している。これはイベント間の順序と時間の経過を検証するための証明である。PoHは信頼不要な時間の経過を台帳にエンコードするために使用され、特定の時点でイベントが発生したことを証明する履歴記録を作成する。
重要なイノベーションは、PoHによりネットワーク内のノードが互いに通信することなくイベントの時間的順序を確立できることである。逐次的ハッシュチェーンとして実装された検証可能な遅延関数を使用することで、システムはイベント間の時間の経過を検証する方法を提供する暗号学的時計を生成する。これにより、ネットワークは分散化とセキュリティを維持しながら、毎秒数千のトランザクションを処理できる。
PoHはProof of Stake(PoS)コンセンサスメカニズムと統合されている。この組み合わせにより、バリデータがトランザクションを並列に検証し、効率的にコンセンサスに達することができる高度に最適化されたブロックチェーンアーキテクチャが可能になる。このシステムはムーアの法則に合わせてスケールするように設計されており、分散型ネットワークのセキュリティ保証を犠牲にすることなく、ハードウェア性能の向上を活用してスループットを改善する。
Introduction
区块链系统面临的根本挑战是在保持去中心化和安全性的同时实现高交易吞吐量。当前的区块链实现受限于其共识机制,这些机制需要节点之间进行大量通信来就时间和事件排序达成一致。这种协调开销创建了瓶颈,阻止现有区块链扩展以满足全球规模应用的需求。
核心问题是时间。在分布式系统中,节点不能依赖外部时钟,因为它们无法信任其他节点的时间戳是准确的。传统的区块链共识协议通过让节点进行大量通信来就当前状态和交易顺序达成一致来解决这个问题。这种通信开销从根本上限制了吞吐量,因为网络只能以节点就排序达成共识的速度来处理交易。
Solana引入Proof of History作为这个时间问题的解决方案。PoH提供了一种加密方法来证明事件之间已经过了一定的时间,而无需依赖来自潜在恶意行为者的时间戳。通过创建可验证的历史记录,PoH使节点能够独立处理交易,同时仍然能够证明事件发生的顺序。这一突破使网络能够并行化交易处理并大幅提高吞吐量。
关键洞察是,如果我们能创建一个无需信任的时间源,就可以从共识中消除协调瓶颈。通过PoH提供加密时钟,验证者可以并行处理交易,只需在确定规范排序时进行通信。这种架构转变使Solana能够实现之前在去中心化区块链中被认为不可能的性能水平。
Introduction
ブロックチェーンシステムにおける根本的な課題は、分散化とセキュリティを維持しながら高いトランザクションスループットを達成することである。現在のブロックチェーン実装は、時間とイベントの順序付けについて合意するためにノード間の広範な通信を必要とするコンセンサスメカニズムによって制限されている。この調整のオーバーヘッドがボトルネックを生み出し、既存のブロックチェーンがグローバル規模のアプリケーションの需要に対応するためのスケーリングを妨げている。
核心的な問題は時間である。分散システムにおいて、ノードは他のノードのタイムスタンプが正確であることを信頼できないため、外部の時計に依存することができない。従来のブロックチェーンコンセンサスプロトコルは、ノードが現在の状態とトランザクションの順序について合意するために広範に通信することでこの問題を解決している。この通信のオーバーヘッドはスループットを根本的に制限する。ネットワークはノードが順序付けについてコンセンサスに達する速度でしかトランザクションを処理できないからである。
SolanaはこのタイミングProblemの解決策としてProof of Historyを導入する。PoHは、潜在的に悪意のあるアクターからのタイムスタンプに依存することなく、イベント間に一定の時間が経過したことを証明する暗号学的方法を提供する。検証可能な履歴記録を作成することで、PoHはノードがトランザクションを独立して処理しながら、イベントが発生した順序を証明できるようにする。このブレークスルーにより、ネットワークはトランザクション処理を並列化し、スループットを劇的に向上させることができる。
重要な洞察は、信頼不要な時間源を作成できれば、コンセンサスから調整のボトルネックを除去できるということである。PoHが暗号学的時計を提供することで、バリデータはトランザクションを並列に処理でき、正規の順序付けを確定するためにのみ通信する必要がある。このアーキテクチャの転換により、Solanaは分散型ブロックチェーンでは不可能と考えられていたパフォーマンスレベルを達成できる。
Outline
本文描述了Solana的技术架构,重点介绍Proof of History如何实现高性能区块链运行。文档首先解释PoH机制本身——顺序哈希链如何创建可验证的事件时间排序。我们详细说明使PoH安全的加密属性,并演示验证者如何高效地验证PoH序列。
然后,本文探讨PoH如何与Proof of Stake共识集成。我们描述Tower BFT,这是一种专门设计用于利用PoH时间属性的PoS算法。该集成允许验证者在特定的PoH时间戳上对账本状态进行投票,创建一个既快速又安全的共识机制。我们还解释了防止恶意行为的惩罚条件。
接下来,我们介绍Solana的网络设计和数据传播协议。Gulf Stream协议实现了无需内存池的交易转发,允许客户端直接向即将到来的领导者发送交易。我们描述领导者轮换如何工作以及网络如何在领导权更替时保持高吞吐量。
最后,我们讨论系统架构,包括Transaction Processing Unit(TPU)、Sealevel并行运行时和用于数据存储验证的Proof of Replication。性能预测表明,Solana可以在标准千兆网络上每秒处理超过700,000笔交易,并且吞吐量会随硬件改进而扩展。
Outline
本論文では、Proof of Historyが高性能ブロックチェーン運用をいかに実現するかに焦点を当て、Solanaの技術アーキテクチャを説明する。まず、PoHメカニズム自体について説明する。逐次的ハッシュチェーンがいかにしてイベントの検証可能な時間的順序付けを作成するかを解説する。PoHを安全にする暗号学的特性を詳述し、バリデータがPoHシーケンスを効率的に検証する方法を示す。
次に、PoHがProof of Stakeコンセンサスとどのように統合されるかを探る。PoHの時間的特性を活用するために特別に設計されたPoSアルゴリズムであるTower BFTについて説明する。この統合により、バリデータは特定のPoHタイムスタンプにおける台帳の状態に投票でき、高速かつ安全なコンセンサスメカニズムが実現される。また、悪意ある行動を防止するスラッシング条件についても説明する。
続いて、Solanaのネットワーク設計とデータ伝播プロトコルを提示する。Gulf Streamプロトコルは、mempoolを必要とせずにトランザクション転送を可能にし、クライアントが今後のリーダーに直接トランザクションを送信できるようにする。リーダーローテーションの仕組みと、リーダーシップが変わっても高スループットを維持する方法を説明する。
最後に、Transaction Processing Unit(TPU)、Sealevel並列ランタイム、データストレージ検証のためのProof of Replicationを含むシステムアーキテクチャについて論じる。性能予測は、Solanaが標準的なギガビットネットワーク上で毎秒70万以上のトランザクションを処理でき、ハードウェアの改善に伴いスループットがスケールすることを示している。
Network Design
Solana的网络设计以轮换领导者系统为中心,验证者轮流产生区块。领导者负责将传入的交易排序到PoH流中,并将产生的区块发布到网络。领导者通过权益加权算法选出,轮换时间表提前已知,使网络能够优化交易转发。

Gulf Stream协议通过使客户端能够直接将交易转发给即将到来的领导者,消除了对传统内存池的需求。当客户端提交交易时,它会根据轮换时间表转发给预期的领导者。如果当前领导者无法处理该交易,则将其转发给下一个预期领导者。这种设计减少了确认延迟,并允许验证者提前执行交易,进一步优化吞吐量。
交易传播使用多层方法。客户端将交易发送给验证者,验证者将其转发给当前或即将到来的领导者。领导者将交易排序到PoH流中,创建总排序。排序完成后,领导者将PoH流和交易数据传输给验证者,验证者验证PoH序列并并行执行交易。
网络设计还包括Turbine区块传播协议,该协议将区块分解为更小的数据包,并以树形结构在网络中分发。这种方法在确保快速区块传播的同时最小化了单个验证者的带宽需求。结合PoH验证交易排序的能力,这种架构使Solana能够在不牺牲去中心化的情况下实现高吞吐量。
Network Design
Solanaのネットワーク設計は、バリデータが交代でブロックを生成するローテーションリーダーシステムを中心としている。リーダーは、着信トランザクションをPoHストリームに順序付けし、結果のブロックをネットワークに公開する責任を持つ。リーダーはステーク加重アルゴリズムによって選出され、ローテーションスケジュールは事前に知られているため、ネットワークはトランザクション転送を最適化できる。

Gulf Streamプロトコルは、クライアントが今後のリーダーに直接トランザクションを転送できるようにすることで、従来のmempoolの必要性を排除する。クライアントがトランザクションを送信すると、ローテーションスケジュールに基づいて予想されるリーダーに転送される。現在のリーダーがトランザクションを処理できない場合、次の予想リーダーに転送される。この設計により確認レイテンシが短縮され、バリデータが事前にトランザクションを実行できるため、スループットがさらに最適化される。
トランザクション伝播はマルチレイヤーアプローチを使用する。クライアントはバリデータにトランザクションを送信し、バリデータは現在のリーダーまたは今後のリーダーに転送する。リーダーはトランザクションをPoHストリームに順序付けし、全体の順序付けを作成する。順序付けが完了すると、リーダーはPoHストリームとトランザクションデータをバリデータに送信し、バリデータはPoHシーケンスを検証してトランザクションを並列に実行する。
ネットワーク設計には、ブロックをより小さなパケットに分割し、ツリー構造でネットワーク全体に配布するTurbineブロック伝播プロトコルも含まれている。このアプローチにより、迅速なブロック伝播を確保しながら、個々のバリデータの帯域幅要件を最小化する。PoHのトランザクション順序検証能力と組み合わせることで、このアーキテクチャはSolanaが分散化を犠牲にすることなく高スループットを達成することを可能にする。
Proof of History
Proof of History是一种使用SHA-256实现的顺序哈希链形式的可验证延迟函数。PoH生成器持续计算SHA-256哈希,使用每个输出作为下一个哈希的输入。这创建了一个顺序链,其中每个哈希只能在前一个哈希计算完成后才能计算,从而建立可验证的时间排序。生成每个哈希的计算要求强制了事件之间的最小时间延迟。

PoH的关键属性是验证成本低但生成成本高。验证者可以通过将哈希序列分成段,独立并行检查每个段,然后验证各段正确连接来检查整个哈希序列。然而,生成必须是顺序的——不实际计算每个中间步骤就无法预测哈希链的输出。生成和验证之间的这种不对称性使PoH变得实用。

外部事件和交易数据通过混合到哈希链中插入PoH序列。当交易到达时,其哈希与当前PoH状态结合,创建一条记录证明该交易在序列的该点存在。PoH生成器定期记录检查点,发布当前哈希值以及自上次检查点以来计算的哈希数量。这些检查点使验证者能够高效地验证PoH序列,而无需重新计算每个哈希。

PoH序列作为整个网络的加密时钟。因为哈希链是顺序的且可验证的,任何节点都可以通过展示在该时间间隔内计算的哈希来证明两个事件之间经过了一定的时间。这消除了节点信任外部时间戳或相互协调以建立时间排序的需要,消除了传统区块链共识中的根本瓶颈。

Proof of History
Proof of Historyは、SHA-256を使用した逐次的ハッシュチェーンとして実装された検証可能な遅延関数である。PoHジェネレータは継続的にSHA-256ハッシュを計算し、各出力を次のハッシュの入力として使用する。これにより、各ハッシュは前のものが計算された後にのみ計算できる逐次的なチェーンが作成され、検証可能な時間的順序付けが確立される。各ハッシュを生成するための計算要件により、イベント間の最小時間遅延が強制される。

PoHの重要な特性は、検証は安価だが生成は高コストであることである。検証者はハッシュシーケンス全体をセグメントに分割し、各セグメントを独立して並列にチェックし、セグメントが適切に接続されていることを確認することで検証できる。しかし、生成は逐次的でなければならない。すべての中間ステップを実際に計算せずにハッシュチェーンの出力を予測する方法はない。生成と検証の間のこの非対称性がPoHを実用的にしている。

外部イベントとトランザクションデータは、ハッシュチェーンに混合されることでPoHシーケンスに挿入される。トランザクションが到着すると、そのハッシュは現在のPoH状態と結合され、トランザクションがシーケンスのその時点で存在したことを証明する記録が作成される。PoHジェネレータは定期的にチェックポイントを記録し、最後のチェックポイント以降に計算されたハッシュ数とともに現在のハッシュ値を公開する。これらのチェックポイントにより、バリデータはすべてのハッシュを再計算することなくPoHシーケンスを効率的に検証できる。

PoHシーケンスはネットワーク全体の暗号学的時計として機能する。ハッシュチェーンは逐次的で検証可能であるため、任意のノードは、その間隔中に計算されたハッシュを示すだけで、2つのイベント間に一定の時間が経過したことを証明できる。これにより、ノードが外部のタイムスタンプを信頼したり、時間的順序付けを確立するために互いに調整したりする必要がなくなり、従来のブロックチェーンコンセンサスにおける根本的なボトルネックが除去される。

Proof of History Sequence
Proof of History序列是一个连续的SHA-256哈希链,其中每个哈希依赖于前一个输出。序列从初始种子值开始,该值被哈希以产生第一个输出。此输出成为下一个哈希的输入,过程无限重复。生成器还维护一个计数器,跟踪计算的哈希总数,作为账本中事件的PoH"时间戳"。

当需要将数据插入序列时(如交易哈希或验证者签名),使用确定性混合函数将其与当前哈希状态结合。例如,如果当前哈希状态是hash_n,我们想插入数据D,则计算hash_{n+1} = SHA256(hash_n || D),其中||表示连接。插入点与计数器值一起记录,证明数据D在序列的该特定点存在。
PoH序列的验证可以通过将链分成段来并行化。例如,验证者可能每10,000个哈希接收一次PoH检查点。要验证检查点之间的序列,验证者可以将10,000个哈希分成100个段,每段100个哈希,独立并行验证每个段,然后验证各段正确连接。这允许验证随可用CPU核心数水平扩展。
序列还支持高效证明两个事件以特定顺序发生。给定在计数器值n和m(其中n m)处的两个数据插入,任何人都可以通过检查这些点之间的哈希链来验证n处的事件发生在m处的事件之前。此属性使Solana能够创建网络中所有事件的可验证历史记录,而无需节点持续在线或信任外部时间源。
Proof of History Sequence
Proof of Historyシーケンスは、各ハッシュが前の出力に依存するSHA-256ハッシュの連続的なチェーンである。シーケンスは初期シード値から始まり、それがハッシュされて最初の出力を生成する。この出力が次のハッシュの入力となり、プロセスは無限に繰り返される。ジェネレータは計算されたハッシュの総数を追跡するカウンタも維持しており、台帳内のイベントのPoH「タイムスタンプ」として機能する。

データをシーケンスに挿入する必要がある場合(トランザクションハッシュやバリデータの署名など)、決定論的な混合関数を使用して現在のハッシュ状態と結合される。例えば、現在のハッシュ状態がhash_nで、データDを挿入する場合、hash_{n+1} = SHA256(hash_n || D)を計算する。ここで||は連結を表す。挿入ポイントはカウンタ値とともに記録され、データDがシーケンスのその特定の時点で存在したことを証明する。
PoHシーケンスの検証は、チェーンをセグメントに分割することで並列化できる。例えば、バリデータは10,000ハッシュごとにPoHチェックポイントを受信する場合がある。チェックポイント間のシーケンスを検証するために、バリデータは10,000ハッシュを100ハッシュの100セグメントに分割し、各セグメントを独立して並列に検証し、セグメントが適切に接続されていることを確認できる。これにより、検証は利用可能なCPUコア数に応じて水平にスケールできる。
シーケンスは、2つのイベントが特定の順序で発生したことの効率的な証明もサポートする。カウンタ値nとm(n m)における2つのデータ挿入がある場合、nのイベントがmのイベントより前に発生したことを、それらの間のハッシュチェーンを確認することで誰でも検証できる。この特性により、Solanaはノードが継続的にオンラインであったり外部の時間源を信頼したりする必要なく、ネットワーク内のすべてのイベントの検証可能な履歴記録を作成できる。
Timestamp
Proof of History作为去中心化时钟运行,在不依赖墙钟时间的情况下为事件分配时间戳。每个PoH哈希代表加密时钟的一个离散"滴答",计数器值作为时间戳。因为哈希链是顺序的且可验证的,这些时间戳是无需信任的——任何观察者都可以通过检查哈希链来验证时间戳的合法性。
在Solana中,每个验证者在充当领导者时可以生成自己的PoH序列。当验证者轮换领导权时,他们使用前一个领导者的最后确认检查点来同步其PoH序列。这确保了即使不同的验证者轮流产生区块,时间记录的连续性也得到保持。网络通过就接受哪些PoH序列作为官方账本的一部分达成共识来建立规范时间线。
系统通过领导者轮换和共识的组合来处理时钟漂移和硬件性能差异。如果恶意或故障的领导者试图以不正确的速率(过快或过慢)生成PoH时间戳,验证者可以通过将PoH滴答率与自己的本地PoH生成器进行比较来检测这一点。与预期速率的显著偏差表明存在问题,验证者可以拒绝PoH序列偏离网络中位数太远的领导者的区块。
这种时间戳机制解决了分布式系统中的一个基本问题:在没有受信任的中央机构的情况下建立共同的时间概念。通过使用PoH作为去中心化时钟,Solana使验证者能够在保持全局一致排序的同时并行处理交易。时间戳还为基于时间的功能提供了基础,如交易过期、定时操作和性能测量。
Timestamp
Proof of Historyは、壁時計時間に依存せずにイベントにタイムスタンプを割り当てる分散型時計として機能する。各PoHハッシュは暗号学的時計の離散的な「ティック」を表し、カウンタ値がタイムスタンプとして機能する。ハッシュチェーンは逐次的で検証可能であるため、これらのタイムスタンプは信頼不要である。任意の観察者がハッシュチェーンを確認することでタイムスタンプの正当性を検証できる。
Solanaでは、各バリデータがリーダーとして行動する際に独自のPoHシーケンスを生成できる。バリデータがリーダーシップをローテーションする際、前のリーダーからの最後の確認済みチェックポイントを使用してPoHシーケンスを同期する。これにより、異なるバリデータが交代でブロックを生成しても、時間記録の連続性が確保される。ネットワークは、どのPoHシーケンスを公式台帳の一部として受け入れるかについてコンセンサスに達することで、正規のタイムラインを確立する。
システムはクロックドリフトとハードウェア性能のばらつきを、リーダーローテーションとコンセンサスの組み合わせで処理する。悪意のあるまたは故障したリーダーが不正な速度(速すぎるまたは遅すぎる)でPoHタイムスタンプを生成しようとした場合、バリデータは自身のローカルPoHジェネレータとPoHティックレートを比較することでこれを検出できる。予想レートからの大幅な逸脱は問題を示し、バリデータはPoHシーケンスがネットワーク中央値から大きく逸脱するリーダーからのブロックを拒否できる。
このタイムスタンプメカニズムは、分散システムにおける根本的な問題の1つを解決する。信頼できる中央機関なしに共通の時間概念を確立することである。PoHを分散型時計として使用することで、Solanaはバリデータがグローバルに一貫した順序付けを維持しながらトランザクションを並列に処理できるようにする。タイムスタンプはまた、トランザクションの有効期限、スケジュールされた操作、パフォーマンス測定などの時間ベースの機能の基盤も提供する。
Proof of Stake Consensus
Solana的共识机制称为Tower BFT,是一种专门设计用于利用Proof of History时间属性的Proof of Stake算法。验证者质押SOL代币参与共识,并因正确验证区块而获得奖励。权益加权投票系统确保在网络中拥有更多经济利益的验证者在共识决策中拥有相应更大的影响力。
Tower BFT的核心创新是使用随每次连续投票呈指数增长的锁定期。当验证者对PoH哈希投票时,他们承诺在一定数量的PoH滴答内留在账本的该分叉上。如果他们对该分叉的下一个区块投票,锁定期翻倍。这为验证者继续在同一分叉上投票创造了强烈的经济激励,因为切换分叉需要等待早期锁定期到期。
具体来说,如果验证者在PoH时间戳t处对区块投票,则在2^n个滴答过去之前不能对冲突的分叉投票,其中n是他们在当前分叉上进行的连续投票次数。这种指数锁定机制使系统在允许快速最终性的同时抵御远程攻击。一旦绝对多数的权益在足够深度上对区块投票,该区块就被有效地最终确定。
惩罚条件强制执行诚实行为。如果验证者在应该被锁定的期间对两个冲突的分叉投票,他们将被惩罚——质押的代币被部分销毁,并从验证者集合中移除。这使得尝试模棱两可或其他拜占庭行为在经济上不合理。PoH的可验证时间戳与Tower BFT的指数锁定的结合创造了一个既快速又安全的共识机制,在保持传统BFT系统安全保障的同时,在几秒内实现最终性。
Proof of Stake Consensus
SolanaのコンセンサスメカニズムはTower BFTと呼ばれ、Proof of Historyの時間的特性を活用するために特別に設計されたProof of Stakeアルゴリズムである。バリデータはSOLトークンをステークしてコンセンサスに参加し、ブロックの正確な検証に対して報酬を得る。ステーク加重投票システムにより、ネットワークにより多くの経済的利害関係を持つバリデータがコンセンサス決定に比例してより多くの影響力を持つことが保証される。
Tower BFTの核心的なイノベーションは、連続投票ごとに指数関数的に増加するロックアウト期間の使用である。バリデータがPoHハッシュに投票すると、一定数のPoHティックの間、台帳のそのフォークにコミットする。そのフォークの次のブロックに投票すると、ロックアウト期間は倍増する。これにより、バリデータが同じフォークで投票を続ける強い経済的インセンティブが生まれる。フォークの切り替えには以前のロックアウトの期限切れを待つ必要があるからである。
具体的には、バリデータがPoHタイムスタンプtでブロックに投票した場合、2^nティックが経過するまで競合するフォークに投票できない。ここでnは現在のフォークで行った連続投票の数である。この指数関数的ロックアウトメカニズムにより、システムは高速なファイナリティを可能にしながら、長距離攻撃に対して安全になる。ステークの超過半数が十分な深さでブロックに投票すると、そのブロックは事実上確定される。
スラッシング条件は正直な行動を強制する。バリデータがロックアウトされているはずの期間中に2つの競合するフォークに投票した場合、スラッシングされる。ステークされたトークンは部分的に破壊され、バリデータセットから除外される。これにより、二重投票やその他のビザンチン行動を試みることが経済的に非合理的になる。PoHの検証可能なタイムスタンプとTower BFTの指数関数的ロックアウトの組み合わせにより、従来のBFTシステムのセキュリティ保証を維持しながら、数秒でファイナリティを達成する高速かつ安全なコンセンサスメカニズムが実現される。
Streaming Proof of Replication
Proof of Replication(PoRep)是一种允许验证者证明他们正在存储账本数据而无需揭示数据本身或需要密集计算的机制。Solana实现了PoRep的流式版本,验证者持续证明他们正在复制区块链状态。这对网络安全至关重要,因为它确保账本数据在验证者之间适当分布,而不是集中在少数位置。
PoRep机制通过让验证者使用从其身份派生的验证者特定密钥,以CBC(Cipher Block Chaining)模式加密账本段来工作。加密过程使每个加密块依赖于前一个块,创建一个对每个验证者唯一的链。这防止验证者简单地从彼此复制加密数据——每个验证者必须存储和处理原始账本数据才能生成其唯一的加密版本。

网络定期向验证者发出挑战,要求他们提供特定的加密块。因为加密是链式的,验证者必须存储所有前面的块才能生成正确的响应。验证者提交其加密块以及显示其在加密账本中位置的Merkle证明。网络可以快速验证此证明,而无需解密或重新加密数据。

这种流式PoRep方法与传统的存储证明系统相比开销较低。验证者可以在数据到达时进行加密,并以最小延迟响应挑战。系统还支持数据丢失时的恢复——如果验证者丢失了部分账本,可以从其他验证者重新下载并重新加密。PoRep与PoH时间戳的结合创建了一个完整的问责系统,网络可以验证数据的创建时间以及它在验证者网络中被正确存储。
Streaming Proof of Replication
Proof of Replication(PoRep)は、バリデータがデータ自体を明かしたり計算集約的な処理を必要としたりすることなく、台帳データを保存していることを証明できるメカニズムである。SolanaはPoRepのストリーミングバージョンを実装しており、バリデータはブロックチェーンの状態を複製していることを継続的に実証する。これはネットワークセキュリティにとって不可欠であり、台帳データがバリデータ間で適切に分散され、少数の場所に集中していないことを保証する。
PoRepメカニズムは、バリデータがそのIDから派生したバリデータ固有のキーを使用して、CBC(Cipher Block Chaining)モード暗号化で台帳のセグメントを暗号化することで機能する。暗号化プロセスは、各暗号化ブロックが前のブロックに依存するようになっており、各バリデータに固有のチェーンを作成する。これにより、バリデータが互いの暗号化データを単にコピーすることが防止される。各バリデータは、固有の暗号化バージョンを生成するために、元の台帳データを保存して処理しなければならない。

定期的に、ネットワークはバリデータに特定の暗号化ブロックの提供を要求するチャレンジを発行する。暗号化はチェーンされているため、バリデータは正しい応答を生成するためにすべての先行ブロックを保存していなければならない。バリデータは暗号化ブロックとともに、暗号化台帳内のその位置を示すMerkle証明を提出する。ネットワークはデータを復号化または再暗号化する必要なく、この証明を迅速に検証できる。

このPoRepへのストリーミングアプローチは、従来のproof-of-storageシステムと比較して低いオーバーヘッドを持つ。バリデータはデータの到着時に暗号化でき、最小限のレイテンシでチャレンジに応答できる。システムはデータ損失の場合のリカバリも可能にする。バリデータが台帳の一部を失った場合、他のバリデータからダウンロードして再暗号化できる。PoRepとPoHタイムスタンプの組み合わせにより、ネットワークがデータの作成時期とバリデータネットワーク全体に適切に保存されていることの両方を検証できる完全な説明責任システムが作成される。
System Architecture
Solana的系统架构被设计为流水线,交易处理的不同阶段并行进行。Transaction Processing Unit(TPU)是负责处理传入交易的核心组件。TPU由几个阶段组成:fetch(收集交易)、签名验证、banking(交易执行)和write(提交到存储)。每个阶段对不同的交易并行操作,类似于CPU流水线。

签名验证使用GPU加速,GPU在验证交易签名所需的椭圆曲线加密操作方面效率很高。通过将这个计算密集型任务卸载到GPU,Solana可以在商用硬件上以每秒超过900,000次的速率验证签名。这种并行签名验证防止了即使在非常高的交易速率下加密验证成为瓶颈。

Sealevel运行时是Solana的并行智能合约执行引擎。与顺序执行交易的传统区块链不同,Sealevel分析交易以识别它们访问哪些账户,并在多个CPU核心上并行执行不冲突的交易。访问相同账户的交易为保持一致性而顺序执行,但访问不同账户的交易可以同时运行。这种并行性之所以可能,是因为PoH建立了全局排序——验证者可以按任何顺序执行交易,只要按PoH指定的序列将其应用于状态。

架构还包括用于区块传播和存储的优化组件。Turbine区块传播协议使用纠删码将区块分解为更小的数据包,并以树形结构在网络中分发,最小化带宽需求。Archivers网络使用PoRep确保数据可用性,为历史账本数据提供去中心化存储。这些组件共同创建了一个系统,能够在保持区块链去中心化和安全属性的同时每秒处理数十万笔交易。
System Architecture
Solanaのシステムアーキテクチャは、トランザクション処理の異なる段階が並列に行われるパイプラインとして設計されている。Transaction Processing Unit(TPU)は、着信トランザクションの処理を担当する中核コンポーネントである。TPUはいくつかの段階で構成される:fetch(トランザクションの収集)、署名検証、banking(トランザクション実行)、write(ストレージへのコミット)。各段階は異なるトランザクションに対して並列に動作し、CPUパイプラインと同様の仕組みである。

署名検証はGPUを使用して加速される。GPUはトランザクション署名の検証に必要な楕円曲線暗号演算において非常に効率的である。この計算集約的なタスクをGPUにオフロードすることで、Solanaはコモディティハードウェア上で毎秒900,000を超える速度で署名を検証できる。この並列署名検証により、非常に高いトランザクションレートでも暗号学的検証がボトルネックになることが防止される。

Sealevelランタイムは、Solanaの並列スマートコントラクト実行エンジンである。トランザクションを逐次的に実行する従来のブロックチェーンとは異なり、Sealevelはトランザクションを分析してアクセスするアカウントを特定し、競合しないトランザクションを複数のCPUコアで並列に実行する。同じアカウントにアクセスするトランザクションは一貫性を維持するために逐次的に実行されるが、異なるアカウントにアクセスするトランザクションは同時に実行できる。この並列処理はPoHがグローバルな順序付けを確立するため可能である。バリデータは、PoHで指定されたシーケンスで状態に適用する限り、任意の順序でトランザクションを実行できる。

アーキテクチャには、ブロック伝播とストレージのための最適化されたコンポーネントも含まれている。Turbineブロック伝播プロトコルは、イレイジャーコーディングを使用してブロックをより小さなパケットに分割し、ツリー構造でネットワーク全体に配布することで帯域幅要件を最小化する。Archiversネットワークは、PoRepを使用してデータの可用性を確保しながら、履歴台帳データの分散ストレージを提供する。これらのコンポーネントが一体となり、ブロックチェーンの分散化とセキュリティ特性を維持しながら毎秒数十万のトランザクションを処理できるシステムを構築する。
Performance
Solana的架构旨在实现随硬件改进而扩展的性能水平,遵循摩尔定律。在标准1千兆网络连接上,理论最大吞吐量约为每秒710,000笔交易,假设每笔交易176字节(包括签名和元数据)。此计算基于网络带宽作为主要瓶颈,计算瓶颈已通过并行化消除。
签名验证通常是区块链性能的限制因素,通过GPU并行化加速。单个GPU每秒可以验证超过900,000个ed25519签名,超过网络吞吐量限制。这意味着签名验证不会限制系统性能——瓶颈转移到网络带宽和交易执行。对于只转移价值而不涉及复杂智能合约逻辑的简单交易,banking阶段可以以匹配网络输入速率的速率处理交易。
PoH生成器在专用CPU核心上运行,在4GHz处理器上每毫秒产生约4,000个哈希。在此速率下,PoH序列提供0.25微秒粒度的时间戳,足以每秒排序数百万笔交易。PoH生成的顺序性质意味着此组件不能并行化,但吞吐量足够高,不会限制整体系统性能。
随着硬件改进,Solana的吞吐量相应扩展。更快的网络、更强大的GPU和改进的CPU都有助于更高的交易速率。系统被设计为无需协议更改即可利用这些改进。这种可扩展性方法与受顺序共识机制根本限制的区块链形成对比,使Solana能够在保持安全性和去中心化保障的同时,实现之前在去中心化系统中被认为不可能的性能水平。
Performance
Solanaのアーキテクチャは、ムーアの法則に従ってハードウェアの改善とともにスケールするパフォーマンスレベルを達成するように設計されている。標準的な1ギガビットネットワーク接続では、理論上の最大スループットは1トランザクションあたり176バイト(署名とメタデータを含む)を想定すると、毎秒約710,000トランザクションである。この計算はネットワーク帯域幅を主要なボトルネックとし、計算上のボトルネックは並列化によって除去されている。
署名検証はブロックチェーンパフォーマンスの制限要因となることが多いが、GPUの並列化を使用して加速される。単一のGPUは毎秒900,000以上のed25519署名を検証でき、これはネットワークスループット制限を超えている。これは署名検証がシステムのパフォーマンスを制約しないことを意味する。ボトルネックはネットワーク帯域幅とトランザクション実行に移行する。複雑なスマートコントラクトロジックを含まない単純な価値移転トランザクションの場合、bankingステージはネットワーク入力レートに匹敵するレートでトランザクションを処理できる。
PoHジェネレータは専用のCPUコア上で動作し、4GHzプロセッサ上でミリ秒あたり約4,000ハッシュを生成する。このレートで、PoHシーケンスは0.25マイクロ秒の粒度のタイムスタンプを提供し、毎秒数百万のトランザクションの順序付けに十分である。PoH生成の逐次的な性質はこのコンポーネントを並列化できないことを意味するが、スループットは十分に高く、全体的なシステムパフォーマンスを制限しない。
ハードウェアが改善されるにつれて、Solanaのスループットはそれに応じてスケールする。より高速なネットワーク、より強力なGPU、改善されたCPUはすべてより高いトランザクションレートに貢献する。システムはプロトコルの変更を必要とせずにこれらの改善を活用するように設計されている。このスケーラビリティアプローチは、逐次的コンセンサスメカニズムによって根本的に制限されるブロックチェーンとは対照的であり、Solanaがセキュリティと分散化の保証を維持しながら、分散型システムでは不可能と考えられていたパフォーマンスレベルを達成することを可能にする。
Conclusion
Proof of History通过解决限制分布式账本可扩展性的时间问题,代表了区块链架构的根本性突破。通过创建可验证的加密时钟,PoH使验证者能够在不需要传统共识机制所需的大量通信开销的情况下建立事件的时间排序。这项创新消除了关键瓶颈,允许交易处理在网络中并行化。
PoH与优化的系统组件的集成——GPU加速签名验证、通过Sealevel的并行交易执行和高效的区块传播协议——创建了一个能够在商用硬件上每秒处理数十万笔交易的区块链。更重要的是,该架构被设计为随硬件改进而扩展,这意味着随着处理器变得更快、网络变得更强大,性能将持续提高。
Solana的设计证明了高性能和去中心化并非相互排斥。通过利用PoH作为共识和系统协调的基础,网络在保持去中心化区块链的安全性和抗审查属性的同时,实现了与中心化数据库相当的吞吐量水平。权益加权Tower BFT共识机制确保网络在实现快速最终性的同时抵御拜占庭行为者。
该架构的实现为区块链技术扩展到全球采用提供了实际路径。需要高交易吞吐量的应用——如去中心化交易所、游戏平台和金融系统——现在可以在不牺牲性能的情况下构建在真正去中心化的基础设施上。Proof of History为之前因可扩展性限制而不可行的新一代区块链应用打开了大门。
Conclusion
Proof of Historyは、分散型台帳のスケーラビリティを制限してきたタイミング問題を解決することで、ブロックチェーンアーキテクチャにおける根本的なブレークスルーを表している。検証可能な暗号学的時計を作成することで、PoHはバリデータが従来のコンセンサスメカニズムで必要とされる広範な通信オーバーヘッドなしにイベントの時間的順序付けを確立できるようにする。このイノベーションにより重要なボトルネックが除去され、トランザクション処理をネットワーク全体で並列化できるようになる。
PoHと最適化されたシステムコンポーネント(GPU加速署名検証、Sealevelによる並列トランザクション実行、効率的なブロック伝播プロトコル)の統合により、コモディティハードウェア上で毎秒数十万のトランザクションを処理できるブロックチェーンが実現される。さらに重要なのは、アーキテクチャがハードウェアの改善とともにスケールするように設計されており、プロセッサが高速化しネットワークがより高性能になるにつれてパフォーマンスが向上し続けることである。
Solanaの設計は、高性能と分散化が相互に排他的ではないことを実証している。PoHをコンセンサスとシステム調整の基盤として活用することで、ネットワークは分散型ブロックチェーンのセキュリティと検閲耐性の特性を維持しながら、中央集権型データベースに匹敵するスループットレベルを達成する。ステーク加重Tower BFTコンセンサスメカニズムにより、高速なファイナリティを達成しながら、ビザンチンアクターに対するネットワークの安全性が確保される。
このアーキテクチャの実装は、ブロックチェーン技術がグローバルな採用へとスケールするための実用的な道筋を提供する。高いトランザクションスループットを必要とするアプリケーション(分散型取引所、ゲームプラットフォーム、金融システムなど)は、パフォーマンスを犠牲にすることなく、真に分散化されたインフラストラクチャ上に構築できるようになった。Proof of Historyは、スケーラビリティの制約のために以前は実現不可能であった新世代のブロックチェーンアプリケーションへの扉を開く。