Solana : Une nouvelle architecture pour une blockchain haute performance

著 Anatoly Yakovenko · 2017

Abstract

本論文は、高性能ブロックチェーンのための新しいアーキテクチャを提示する。SolanaはProof of History(PoH)と呼ばれる新しい時間管理メカニズムを実装している。これはイベント間の順序と時間の経過を検証するための証明である。PoHは信頼不要な時間の経過を台帳にエンコードするために使用され、特定の時点でイベントが発生したことを証明する履歴記録を作成する。

重要なイノベーションは、PoHによりネットワーク内のノードが互いに通信することなくイベントの時間的順序を確立できることである。逐次的ハッシュチェーンとして実装された検証可能な遅延関数を使用することで、システムはイベント間の時間の経過を検証する方法を提供する暗号学的時計を生成する。これにより、ネットワークは分散化とセキュリティを維持しながら、毎秒数千のトランザクションを処理できる。

PoHはProof of Stake(PoS)コンセンサスメカニズムと統合されている。この組み合わせにより、バリデータがトランザクションを並列に検証し、効率的にコンセンサスに達することができる高度に最適化されたブロックチェーンアーキテクチャが可能になる。このシステムはムーアの法則に合わせてスケールするように設計されており、分散型ネットワークのセキュリティ保証を犠牲にすることなく、ハードウェア性能の向上を活用してスループットを改善する。

Abstract

Cet article presente une nouvelle architecture pour une blockchain haute performance. Solana implemente un mecanisme innovant de chronometrage appele Proof of History (PoH) -- une preuve permettant de verifier l'ordre et le passage du temps entre les evenements. PoH est utilise pour encoder le passage du temps de maniere trustless dans un ledger, creant un enregistrement historique qui prouve qu'un evenement s'est produit a un moment precis dans le temps.

L'innovation cle est que PoH permet aux noeuds du reseau d'etablir un ordre temporel des evenements sans avoir besoin de communiquer entre eux. En utilisant une fonction de delai verifiable implementee sous forme de chaine sequentielle de hashes, le systeme genere une horloge cryptographique qui fournit un moyen de verifier le passage du temps entre les evenements. Cela permet au reseau de traiter des milliers de transactions par seconde tout en maintenant la decentralisation et la securite.

PoH est integre a un mecanisme de consensus Proof of Stake (PoS). Cette combinaison permet une architecture blockchain hautement optimisee ou les validateurs peuvent verifier les transactions en parallele et atteindre un consensus de maniere efficace. Le systeme est concu pour evoluer avec la loi de Moore, tirant parti des ameliorations des performances materielles pour augmenter le throughput sans sacrifier les garanties de securite d'un reseau decentralise.

Introduction

ブロックチェーンシステムにおける根本的な課題は、分散化とセキュリティを維持しながら高いトランザクションスループットを達成することである。現在のブロックチェーン実装は、時間とイベントの順序付けについて合意するためにノード間の広範な通信を必要とするコンセンサスメカニズムによって制限されている。この調整のオーバーヘッドがボトルネックを生み出し、既存のブロックチェーンがグローバル規模のアプリケーションの需要に対応するためのスケーリングを妨げている。

核心的な問題は時間である。分散システムにおいて、ノードは他のノードのタイムスタンプが正確であることを信頼できないため、外部の時計に依存することができない。従来のブロックチェーンコンセンサスプロトコルは、ノードが現在の状態とトランザクションの順序について合意するために広範に通信することでこの問題を解決している。この通信のオーバーヘッドはスループットを根本的に制限する。ネットワークはノードが順序付けについてコンセンサスに達する速度でしかトランザクションを処理できないからである。

SolanaはこのタイミングProblemの解決策としてProof of Historyを導入する。PoHは、潜在的に悪意のあるアクターからのタイムスタンプに依存することなく、イベント間に一定の時間が経過したことを証明する暗号学的方法を提供する。検証可能な履歴記録を作成することで、PoHはノードがトランザクションを独立して処理しながら、イベントが発生した順序を証明できるようにする。このブレークスルーにより、ネットワークはトランザクション処理を並列化し、スループットを劇的に向上させることができる。

重要な洞察は、信頼不要な時間源を作成できれば、コンセンサスから調整のボトルネックを除去できるということである。PoHが暗号学的時計を提供することで、バリデータはトランザクションを並列に処理でき、正規の順序付けを確定するためにのみ通信する必要がある。このアーキテクチャの転換により、Solanaは分散型ブロックチェーンでは不可能と考えられていたパフォーマンスレベルを達成できる。

Introduction

Le defi fondamental des systemes blockchain est d'atteindre un debit de transactions eleve tout en maintenant la decentralisation et la securite. Les implementations blockchain actuelles sont limitees par leurs mecanismes de consensus, qui necessitent une communication extensive entre les noeuds pour s'accorder sur le temps et l'ordonnancement des evenements. Cette surcharge de coordination cree un goulot d'etranglement qui empeche les blockchains existantes de passer a l'echelle pour repondre aux demandes des applications a l'echelle mondiale.

Le probleme fondamental est le temps. Dans les systemes distribues, les noeuds ne peuvent pas se fier aux horloges externes car ils ne peuvent pas faire confiance aux horodatages des autres noeuds. Les protocoles de consensus blockchain traditionnels resolvent ce probleme en faisant communiquer extensivement les noeuds pour s'accorder sur l'etat actuel et l'ordre des transactions. Cette surcharge de communication limite fondamentalement le debit, car le reseau ne peut traiter les transactions qu'a la vitesse a laquelle les noeuds peuvent atteindre un consensus sur leur ordonnancement.

Solana introduit Proof of History comme solution a ce probleme de synchronisation. PoH fournit un moyen cryptographique de prouver qu'une certaine quantite de temps s'est ecoulee entre les evenements sans dependre d'horodatages d'acteurs potentiellement malveillants. En creant un enregistrement historique verifiable, PoH permet aux noeuds de traiter les transactions de maniere independante tout en pouvant prouver l'ordre dans lequel les evenements se sont produits. Cette percee permet au reseau de paralleliser le traitement des transactions et d'augmenter considerablement le debit.

L'idee cle est que si nous pouvons creer une source de temps sans confiance, nous pouvons supprimer le goulot d'etranglement de coordination du consensus. Avec PoH fournissant une horloge cryptographique, les validateurs peuvent traiter les transactions en parallele et n'ont besoin de communiquer que pour finaliser l'ordonnancement canonique. Ce changement architectural permet a Solana d'atteindre des niveaux de performance qui etaient auparavant consideres comme impossibles dans une blockchain decentralisee.

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万以上のトランザクションを処理でき、ハードウェアの改善に伴いスループットがスケールすることを示している。

Outline

Ce document decrit l'architecture technique de Solana, en se concentrant sur la facon dont Proof of History permet le fonctionnement blockchain haute performance. Le document explique d'abord le mecanisme PoH lui-meme — comment une chaine de hachage sequentielle cree un ordonnancement temporel verifiable des evenements. Nous detaillons les proprietes cryptographiques qui rendent PoH securise et demontrons comment les validateurs peuvent verifier efficacement la sequence PoH.

Le document explore ensuite comment PoH s'integre avec le consensus Proof of Stake. Nous decrivons Tower BFT, un algorithme PoS specifiquement concu pour exploiter les proprietes temporelles de PoH. L'integration permet aux validateurs de voter sur l'etat du registre a des horodatages PoH specifiques, creant un mecanisme de consensus a la fois rapide et securise. Nous expliquons egalement les conditions de penalite qui empechent les comportements malveillants.

Ensuite, nous presentons la conception du reseau Solana et les protocoles de propagation des donnees. Le protocole Gulf Stream permet le transfert de transactions sans avoir besoin d'un mempool, permettant aux clients d'envoyer des transactions directement aux prochains leaders. Nous decrivons comment fonctionne la rotation des leaders et comment le reseau maintient un haut debit meme lorsque le leadership change.

Enfin, nous discutons de l'architecture du systeme, y compris la Transaction Processing Unit (TPU), le runtime parallele Sealevel et Proof of Replication pour la verification du stockage des donnees. Les projections de performance demontrent que Solana peut traiter plus de 700 000 transactions par seconde sur un reseau gigabit standard, avec un debit qui evolue a mesure que le materiel s'ameliore.

Network Design

Solanaのネットワーク設計は、バリデータが交代でブロックを生成するローテーションリーダーシステムを中心としている。リーダーは、着信トランザクションをPoHストリームに順序付けし、結果のブロックをネットワークに公開する責任を持つ。リーダーはステーク加重アルゴリズムによって選出され、ローテーションスケジュールは事前に知られているため、ネットワークはトランザクション転送を最適化できる。

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

Gulf Streamプロトコルは、クライアントが今後のリーダーに直接トランザクションを転送できるようにすることで、従来のmempoolの必要性を排除する。クライアントがトランザクションを送信すると、ローテーションスケジュールに基づいて予想されるリーダーに転送される。現在のリーダーがトランザクションを処理できない場合、次の予想リーダーに転送される。この設計により確認レイテンシが短縮され、バリデータが事前にトランザクションを実行できるため、スループットがさらに最適化される。

トランザクション伝播はマルチレイヤーアプローチを使用する。クライアントはバリデータにトランザクションを送信し、バリデータは現在のリーダーまたは今後のリーダーに転送する。リーダーはトランザクションをPoHストリームに順序付けし、全体の順序付けを作成する。順序付けが完了すると、リーダーはPoHストリームとトランザクションデータをバリデータに送信し、バリデータはPoHシーケンスを検証してトランザクションを並列に実行する。

ネットワーク設計には、ブロックをより小さなパケットに分割し、ツリー構造でネットワーク全体に配布するTurbineブロック伝播プロトコルも含まれている。このアプローチにより、迅速なブロック伝播を確保しながら、個々のバリデータの帯域幅要件を最小化する。PoHのトランザクション順序検証能力と組み合わせることで、このアーキテクチャはSolanaが分散化を犠牲にすることなく高スループットを達成することを可能にする。

Network Design

La conception du reseau Solana est centree sur un systeme de leaders rotatifs ou les validateurs produisent des blocs a tour de role. Le leader est responsable de sequencer les transactions entrantes dans le flux PoH et de publier les blocs resultants sur le reseau. Les leaders sont selectionnes par un algorithme pondere par la mise, et le calendrier de rotation est connu a l'avance, permettant au reseau d'optimiser le transfert des transactions.

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

Le protocole Gulf Stream elimine le besoin d'un mempool traditionnel en permettant aux clients de transmettre les transactions directement aux prochains leaders. Lorsqu'un client soumet une transaction, elle est transmise au leader attendu selon le calendrier de rotation. Si le leader actuel ne peut pas traiter la transaction, elle est transmise au prochain leader attendu. Cette conception reduit la latence de confirmation et permet aux validateurs d'executer les transactions a l'avance, optimisant davantage le debit.

La propagation des transactions utilise une approche multicouche. Les clients envoient les transactions aux validateurs, qui les transmettent au leader actuel ou prochain. Le leader sequence les transactions dans le flux PoH, creant un ordonnancement total. Une fois sequencees, le leader transmet le flux PoH et les donnees de transaction aux validateurs, qui verifient la sequence PoH et executent les transactions en parallele.

La conception du reseau inclut egalement un protocole de propagation de blocs Turbine qui decoupe les blocs en paquets plus petits et les distribue a travers le reseau dans une structure arborescente. Cette approche minimise les exigences de bande passante pour les validateurs individuels tout en assurant une propagation rapide des blocs. Combinee avec la capacite de PoH a verifier l'ordonnancement des transactions, cette architecture permet a Solana d'atteindre un haut debit sans sacrifier la decentralisation.

Proof of History

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

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

Proof of History

Proof of History est une fonction de delai verifiable implementee sous forme de chaine de hachage sequentielle utilisant SHA-256. Le generateur PoH calcule continuellement des hachages SHA-256, utilisant chaque sortie comme entree pour le hachage suivant. Cela cree une chaine sequentielle ou chaque hachage ne peut etre calcule qu'apres le precedent, etablissant un ordonnancement temporel verifiable. L'exigence computationnelle pour generer chaque hachage impose un delai temporel minimum entre les evenements.

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

La propriete cle de PoH est qu'il est peu couteux a verifier mais couteux a produire. Un verificateur peut verifier l'ensemble de la sequence de hachage en parallele en la divisant en segments et en verifiant chaque segment independamment, puis en verifiant que les segments se connectent correctement. Cependant, la generation doit etre sequentielle — il n'y a aucun moyen de predire la sortie de la chaine de hachage sans calculer effectivement chaque etape intermediaire. Cette asymetrie entre generation et verification est ce qui rend PoH pratique.

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

Les evenements externes et les donnees de transaction sont inseres dans la sequence PoH en les melangeant dans la chaine de hachage. Lorsqu'une transaction arrive, son hachage est combine avec l'etat PoH actuel, creant un enregistrement qui prouve que la transaction existait a ce point de la sequence. Le generateur PoH enregistre periodiquement des points de controle, publiant la valeur de hachage actuelle ainsi que le nombre de hachages calcules depuis le dernier point de controle. Ces points de controle permettent aux validateurs de verifier efficacement la sequence PoH sans recalculer chaque hachage.

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

La sequence PoH sert d'horloge cryptographique pour l'ensemble du reseau. Parce que la chaine de hachage est sequentielle et verifiable, n'importe quel noeud peut prouver qu'une certaine quantite de temps s'est ecoulee entre deux evenements simplement en montrant les hachages qui ont ete calcules pendant cet intervalle. Cela elimine le besoin pour les noeuds de faire confiance aux horodatages externes ou de se coordonner entre eux pour etablir l'ordonnancement temporel, supprimant un goulot d'etranglement fondamental dans le consensus blockchain traditionnel.

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

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)を計算する。ここで||は連結を表す。挿入ポイントはカウンタ値とともに記録され、データDがシーケンスのその特定の時点で存在したことを証明する。

PoHシーケンスの検証は、チェーンをセグメントに分割することで並列化できる。例えば、バリデータは10,000ハッシュごとにPoHチェックポイントを受信する場合がある。チェックポイント間のシーケンスを検証するために、バリデータは10,000ハッシュを100ハッシュの100セグメントに分割し、各セグメントを独立して並列に検証し、セグメントが適切に接続されていることを確認できる。これにより、検証は利用可能なCPUコア数に応じて水平にスケールできる。

シーケンスは、2つのイベントが特定の順序で発生したことの効率的な証明もサポートする。カウンタ値nmn m)における2つのデータ挿入がある場合、nのイベントがmのイベントより前に発生したことを、それらの間のハッシュチェーンを確認することで誰でも検証できる。この特性により、Solanaはノードが継続的にオンラインであったり外部の時間源を信頼したりする必要なく、ネットワーク内のすべてのイベントの検証可能な履歴記録を作成できる。

Proof of History Sequence

La sequence Proof of History est une chaine continue de hachages SHA-256 ou chaque hachage depend de la sortie precedente. La sequence commence avec une valeur de graine initiale, qui est hachee pour produire la premiere sortie. Cette sortie devient l'entree pour le hachage suivant, et le processus se repete indefiniment. Le generateur maintient egalement un compteur qui suit le nombre total de hachages calcules, qui sert d'«horodatage» PoH pour les evenements dans le registre.

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

Lorsque des donnees doivent etre inserees dans la sequence (comme des hachages de transactions ou des signatures de validateurs), elles sont combinees avec l'etat de hachage actuel en utilisant une fonction de melange deterministe. Par exemple, si l'etat de hachage actuel est hash_n et que nous voulons inserer les donnees D, nous calculons hash_{n+1} = SHA256(hash_n || D), ou || denote la concatenation. Le point d'insertion est enregistre avec la valeur du compteur, prouvant que les donnees D existaient a ce point specifique de la sequence.

La verification de la sequence PoH peut etre parallelisee en divisant la chaine en segments. Par exemple, un validateur pourrait recevoir des points de controle PoH tous les 10 000 hachages. Pour verifier la sequence entre les points de controle, le validateur peut diviser les 10 000 hachages en 100 segments de 100 hachages chacun, verifier chaque segment independamment en parallele, puis verifier que les segments se connectent correctement. Cela permet a la verification de s'adapter horizontalement avec le nombre de coeurs CPU disponibles.

La sequence prend egalement en charge des preuves efficaces que deux evenements se sont produits dans un ordre specifique. Etant donne deux insertions de donnees aux valeurs de compteur n et m ou n m, n'importe qui peut verifier que l'evenement a n s'est produit avant l'evenement a m en verifiant la chaine de hachage entre ces points. Cette propriete permet a Solana de creer un enregistrement historique verifiable de tous les evenements du reseau sans exiger que les noeuds soient en ligne en permanence ou fassent confiance a des sources de temps externes.

Timestamp

Proof of Historyは、壁時計時間に依存せずにイベントにタイムスタンプを割り当てる分散型時計として機能する。各PoHハッシュは暗号学的時計の離散的な「ティック」を表し、カウンタ値がタイムスタンプとして機能する。ハッシュチェーンは逐次的で検証可能であるため、これらのタイムスタンプは信頼不要である。任意の観察者がハッシュチェーンを確認することでタイムスタンプの正当性を検証できる。

Solanaでは、各バリデータがリーダーとして行動する際に独自のPoHシーケンスを生成できる。バリデータがリーダーシップをローテーションする際、前のリーダーからの最後の確認済みチェックポイントを使用してPoHシーケンスを同期する。これにより、異なるバリデータが交代でブロックを生成しても、時間記録の連続性が確保される。ネットワークは、どのPoHシーケンスを公式台帳の一部として受け入れるかについてコンセンサスに達することで、正規のタイムラインを確立する。

システムはクロックドリフトとハードウェア性能のばらつきを、リーダーローテーションとコンセンサスの組み合わせで処理する。悪意のあるまたは故障したリーダーが不正な速度(速すぎるまたは遅すぎる)でPoHタイムスタンプを生成しようとした場合、バリデータは自身のローカルPoHジェネレータとPoHティックレートを比較することでこれを検出できる。予想レートからの大幅な逸脱は問題を示し、バリデータはPoHシーケンスがネットワーク中央値から大きく逸脱するリーダーからのブロックを拒否できる。

このタイムスタンプメカニズムは、分散システムにおける根本的な問題の1つを解決する。信頼できる中央機関なしに共通の時間概念を確立することである。PoHを分散型時計として使用することで、Solanaはバリデータがグローバルに一貫した順序付けを維持しながらトランザクションを並列に処理できるようにする。タイムスタンプはまた、トランザクションの有効期限、スケジュールされた操作、パフォーマンス測定などの時間ベースの機能の基盤も提供する。

Timestamp

Proof of History fonctionne comme une horloge decentralisee qui attribue des horodatages aux evenements sans dependre du temps reel. Chaque hachage PoH represente un «tick» discret de l'horloge cryptographique, et la valeur du compteur sert d'horodatage. Parce que la chaine de hachage est sequentielle et verifiable, ces horodatages sont sans confiance — n'importe quel observateur peut verifier qu'un horodatage est legitime en verifiant la chaine de hachage.

Dans Solana, chaque validateur peut generer sa propre sequence PoH lorsqu'il agit en tant que leader. Lorsque les validateurs effectuent la rotation du leadership, ils synchronisent leurs sequences PoH en utilisant le dernier point de controle confirme du leader precedent. Cela assure la continuite de l'enregistrement temporel meme lorsque differents validateurs produisent des blocs a tour de role. Le reseau etablit une chronologie canonique en atteignant un consensus sur les sequences PoH a accepter comme partie du registre officiel.

Le systeme gere la derive de l'horloge et la variance des performances materielles grace a une combinaison de rotation des leaders et de consensus. Si un leader malveillant ou defaillant tente de generer des horodatages PoH a un rythme incorrect (trop rapide ou trop lent), les validateurs peuvent le detecter en comparant le taux de ticks PoH avec leurs propres generateurs PoH locaux. Des ecarts significatifs par rapport au taux attendu indiquent un probleme, et les validateurs peuvent rejeter les blocs des leaders dont les sequences PoH divergent trop de la mediane du reseau.

Ce mecanisme d'horodatage resout l'un des problemes fondamentaux des systemes distribues : etablir une notion commune du temps sans autorite centrale de confiance. En utilisant PoH comme horloge decentralisee, Solana permet aux validateurs de traiter les transactions en parallele tout en maintenant un ordonnancement globalement coherent. Les horodatages fournissent egalement une base pour des fonctionnalites basees sur le temps comme l'expiration des transactions, les operations programmees et la mesure des performances.

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システムのセキュリティ保証を維持しながら、数秒でファイナリティを達成する高速かつ安全なコンセンサスメカニズムが実現される。

Proof of Stake Consensus

Le mecanisme de consensus de Solana, appele Tower BFT, est un algorithme Proof of Stake specifiquement concu pour exploiter les proprietes temporelles de Proof of History. Les validateurs mettent en jeu des jetons SOL pour participer au consensus et gagner des recompenses pour la validation correcte des blocs. Le systeme de vote pondere par la mise garantit que les validateurs ayant un interet economique plus important dans le reseau ont une influence proportionnellement plus grande sur les decisions de consensus.

L'innovation centrale de Tower BFT est l'utilisation de periodes de verrouillage qui augmentent de maniere exponentielle a chaque vote consecutif. Lorsqu'un validateur vote sur un hachage PoH, il s'engage sur cette branche du registre pour un certain nombre de ticks PoH. S'il vote sur le bloc suivant de cette branche, la periode de verrouillage double. Cela cree une forte incitation economique pour les validateurs a continuer de voter sur la meme branche, car changer de branche necessiterait d'attendre l'expiration des verrouillages precedents.

Specifiquement, si un validateur vote sur un bloc a l'horodatage PoH t, il ne peut pas voter sur une branche conflictuelle tant que 2^n ticks ne se sont pas ecoules, ou n est le nombre de votes consecutifs effectues sur la branche actuelle. Ce mecanisme de verrouillage exponentiel rend le systeme securise contre les attaques a longue portee tout en permettant une finalite rapide. Une fois qu'une supermajority de la mise a vote sur un bloc avec une profondeur suffisante, ce bloc est effectivement finalise.

Les conditions de penalite imposent un comportement honnete. Si un validateur vote sur deux branches conflictuelles pendant une periode ou il devrait etre verrouille, il est penalise — ses jetons mis en jeu sont partiellement detruits et il est retire de l'ensemble des validateurs. Cela rend economiquement irrationnel de tenter l'equivocation ou tout autre comportement byzantin. La combinaison des horodatages verifiables de PoH et des verrouillages exponentiels de Tower BFT cree un mecanisme de consensus rapide et securise, atteignant la finalite en quelques secondes tout en maintenant les garanties de securite des systemes BFT traditionnels.

Streaming Proof of Replication

Proof of Replication(PoRep)は、バリデータがデータ自体を明かしたり計算集約的な処理を必要としたりすることなく、台帳データを保存していることを証明できるメカニズムである。SolanaはPoRepのストリーミングバージョンを実装しており、バリデータはブロックチェーンの状態を複製していることを継続的に実証する。これはネットワークセキュリティにとって不可欠であり、台帳データがバリデータ間で適切に分散され、少数の場所に集中していないことを保証する。

PoRepメカニズムは、バリデータがそのIDから派生したバリデータ固有のキーを使用して、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へのストリーミングアプローチは、従来のproof-of-storageシステムと比較して低いオーバーヘッドを持つ。バリデータはデータの到着時に暗号化でき、最小限のレイテンシでチャレンジに応答できる。システムはデータ損失の場合のリカバリも可能にする。バリデータが台帳の一部を失った場合、他のバリデータからダウンロードして再暗号化できる。PoRepとPoHタイムスタンプの組み合わせにより、ネットワークがデータの作成時期とバリデータネットワーク全体に適切に保存されていることの両方を検証できる完全な説明責任システムが作成される。

Streaming Proof of Replication

Proof of Replication (PoRep) est un mecanisme qui permet aux validateurs de prouver qu'ils stockent les donnees du registre sans reveler les donnees elles-memes ni necessiter de calculs intensifs. Solana implemente une version en streaming de PoRep ou les validateurs demontrent continuellement qu'ils repliquent l'etat de la blockchain. Ceci est essentiel pour la securite du reseau, car cela garantit que les donnees du registre sont correctement distribuees entre les validateurs et non concentrees en quelques emplacements.

Le mecanisme PoRep fonctionne en faisant chiffrer par les validateurs des segments du registre en utilisant le chiffrement en mode CBC (Cipher Block Chaining) avec une cle specifique au validateur derivee de son identite. Le processus de chiffrement est tel que chaque bloc chiffre depend du bloc precedent, creant une chaine unique a chaque validateur. Cela empeche les validateurs de simplement copier les donnees chiffrees les uns des autres — chaque validateur doit stocker et traiter les donnees originales du registre pour generer sa version chiffree unique.

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

Periodiquement, le reseau emet des defis aux validateurs leur demandant de fournir des blocs chiffres specifiques. Parce que le chiffrement est enchaine, le validateur doit avoir stocke tous les blocs precedents pour generer la reponse correcte. Le validateur soumet son bloc chiffre accompagne d'une preuve de Merkle montrant sa position dans son registre chiffre. Le reseau peut verifier cette preuve rapidement sans avoir besoin de dechiffrer ou rechiffrer les donnees.

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

Cette approche en streaming de PoRep a une faible surcharge comparee aux systemes traditionnels de preuve de stockage. Les validateurs peuvent chiffrer les donnees a mesure qu'elles arrivent et repondre aux defis avec une latence minimale. Le systeme permet egalement la recuperation en cas de perte de donnees — si un validateur perd une partie du registre, il peut le retelecharger aupres d'autres validateurs et le rechiffrer. La combinaison de PoRep avec les horodatages PoH cree un systeme de responsabilite complet ou le reseau peut verifier a la fois quand les donnees ont ete creees et qu'elles sont correctement stockees a travers le reseau de validateurs.

System Architecture

Solanaのシステムアーキテクチャは、トランザクション処理の異なる段階が並列に行われるパイプラインとして設計されている。Transaction Processing Unit(TPU)は、着信トランザクションの処理を担当する中核コンポーネントである。TPUはいくつかの段階で構成される:fetch(トランザクションの収集)、署名検証、banking(トランザクション実行)、write(ストレージへのコミット)。各段階は異なるトランザクションに対して並列に動作し、CPUパイプラインと同様の仕組みである。

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

署名検証はGPUを使用して加速される。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を使用してデータの可用性を確保しながら、履歴台帳データの分散ストレージを提供する。これらのコンポーネントが一体となり、ブロックチェーンの分散化とセキュリティ特性を維持しながら毎秒数十万のトランザクションを処理できるシステムを構築する。

System Architecture

L'architecture systeme de Solana est concue comme un pipeline ou differentes etapes du traitement des transactions se deroulent en parallele. La Transaction Processing Unit (TPU) est le composant central responsable du traitement des transactions entrantes. La TPU comprend plusieurs etapes : fetch (collecte des transactions), verification des signatures, banking (execution des transactions) et write (ecriture dans le stockage). Chaque etape opere en parallele sur differentes transactions, similaire au pipeline d'un CPU.

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

La verification des signatures est acceleree a l'aide de GPUs, qui sont tres efficaces pour les operations de cryptographie sur courbes elliptiques necessaires a la verification des signatures de transactions. En deleguant cette tache computationnellement intensive aux GPUs, Solana peut verifier les signatures a des taux depassant 900 000 par seconde sur du materiel standard. Cette verification parallele des signatures empeche la validation cryptographique de devenir un goulot d'etranglement meme a des taux de transactions tres eleves.

Solana PoH generator network throughput limits showing bandwidth and processing constraints

Le runtime Sealevel est le moteur d'execution parallele des contrats intelligents de Solana. Contrairement aux blockchains traditionnelles qui executent les transactions sequentiellement, Sealevel analyse les transactions pour identifier quels comptes elles accedent et execute les transactions non conflictuelles en parallele sur plusieurs coeurs CPU. Les transactions accedant aux memes comptes sont executees sequentiellement pour maintenir la coherence, mais les transactions accedant a des comptes differents peuvent s'executer simultanement. Ce parallelisme est possible parce que PoH etablit un ordonnancement global — les validateurs peuvent executer les transactions dans n'importe quel ordre tant qu'ils les appliquent a l'etat dans la sequence specifiee par PoH.

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

L'architecture inclut egalement des composants optimises pour la propagation et le stockage des blocs. Le protocole de propagation de blocs Turbine utilise le codage a effacement pour decouper les blocs en paquets plus petits distribues a travers le reseau dans une structure arborescente, minimisant les exigences de bande passante. Le reseau d'Archivers fournit un stockage decentralise pour les donnees historiques du registre, utilisant PoRep pour assurer la disponibilite des donnees. Ensemble, ces composants creent un systeme capable de traiter des centaines de milliers de transactions par seconde tout en maintenant les proprietes de decentralisation et de securite d'une blockchain.

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がセキュリティと分散化の保証を維持しながら、分散型システムでは不可能と考えられていたパフォーマンスレベルを達成することを可能にする。

Performance

L'architecture de Solana est concue pour atteindre des niveaux de performance qui evoluent avec les ameliorations materielles, suivant la loi de Moore. Sur une connexion reseau gigabit standard, le debit theorique maximal est d'environ 710 000 transactions par seconde, en supposant 176 octets par transaction (signatures et metadonnees incluses). Ce calcul est base sur la bande passante reseau comme goulot d'etranglement principal, les goulots d'etranglement computationnels etant elimines par la parallelisation.

La verification des signatures, souvent un facteur limitant dans les performances blockchain, est acceleree par la parallelisation GPU. Un seul GPU peut verifier plus de 900 000 signatures ed25519 par seconde, ce qui depasse la limite de debit du reseau. Cela signifie que la verification des signatures ne contraint pas les performances du systeme — le goulot d'etranglement se deplace vers la bande passante reseau et l'execution des transactions. Pour les transactions simples qui ne font que transferer de la valeur sans logique complexe de contrats intelligents, l'etape de banking peut traiter les transactions a des taux correspondant au taux d'entree du reseau.

Le generateur PoH fonctionne sur un coeur CPU dedie, produisant environ 4 000 hachages par milliseconde sur un processeur a 4 GHz. A ce rythme, la sequence PoH fournit des horodatages avec une granularite de 0,25 microseconde, ce qui est suffisant pour ordonner des millions de transactions par seconde. La nature sequentielle de la generation PoH signifie que ce composant ne peut pas etre parallelise, mais le debit est suffisamment eleve pour ne pas limiter les performances globales du systeme.

A mesure que le materiel s'ameliore, le debit de Solana evolue en consequence. Des reseaux plus rapides, des GPUs plus puissants et des CPUs ameliores contribuent tous a des taux de transactions plus eleves. Le systeme est concu pour tirer parti de ces ameliorations sans necessiter de modifications du protocole. Cette approche d'evolutivite contraste avec les blockchains fondamentalement limitees par des mecanismes de consensus sequentiels, permettant a Solana d'atteindre des niveaux de performance precedemment consideres comme impossibles dans un systeme decentralise tout en maintenant les garanties de securite et de decentralisation.

Conclusion

Proof of Historyは、分散型台帳のスケーラビリティを制限してきたタイミング問題を解決することで、ブロックチェーンアーキテクチャにおける根本的なブレークスルーを表している。検証可能な暗号学的時計を作成することで、PoHはバリデータが従来のコンセンサスメカニズムで必要とされる広範な通信オーバーヘッドなしにイベントの時間的順序付けを確立できるようにする。このイノベーションにより重要なボトルネックが除去され、トランザクション処理をネットワーク全体で並列化できるようになる。

PoHと最適化されたシステムコンポーネント(GPU加速署名検証、Sealevelによる並列トランザクション実行、効率的なブロック伝播プロトコル)の統合により、コモディティハードウェア上で毎秒数十万のトランザクションを処理できるブロックチェーンが実現される。さらに重要なのは、アーキテクチャがハードウェアの改善とともにスケールするように設計されており、プロセッサが高速化しネットワークがより高性能になるにつれてパフォーマンスが向上し続けることである。

Solanaの設計は、高性能と分散化が相互に排他的ではないことを実証している。PoHをコンセンサスとシステム調整の基盤として活用することで、ネットワークは分散型ブロックチェーンのセキュリティと検閲耐性の特性を維持しながら、中央集権型データベースに匹敵するスループットレベルを達成する。ステーク加重Tower BFTコンセンサスメカニズムにより、高速なファイナリティを達成しながら、ビザンチンアクターに対するネットワークの安全性が確保される。

このアーキテクチャの実装は、ブロックチェーン技術がグローバルな採用へとスケールするための実用的な道筋を提供する。高いトランザクションスループットを必要とするアプリケーション(分散型取引所、ゲームプラットフォーム、金融システムなど)は、パフォーマンスを犠牲にすることなく、真に分散化されたインフラストラクチャ上に構築できるようになった。Proof of Historyは、スケーラビリティの制約のために以前は実現不可能であった新世代のブロックチェーンアプリケーションへの扉を開く。

Conclusion

Proof of History represente une percee fondamentale dans l'architecture blockchain en resolvant le probleme de synchronisation qui a limite l'evolutivite des registres distribues. En creant une horloge cryptographique verifiable, PoH permet aux validateurs d'etablir un ordonnancement temporel des evenements sans la surcharge de communication extensive requise par les mecanismes de consensus traditionnels. Cette innovation supprime un goulot d'etranglement critique et permet au traitement des transactions d'etre parallelise a travers le reseau.

L'integration de PoH avec des composants systeme optimises — verification des signatures acceleree par GPU, execution parallele des transactions via Sealevel et protocoles efficaces de propagation des blocs — cree une blockchain capable de traiter des centaines de milliers de transactions par seconde sur du materiel standard. Plus important encore, l'architecture est concue pour evoluer avec les ameliorations materielles, ce qui signifie que les performances continueront d'augmenter a mesure que les processeurs deviendront plus rapides et les reseaux plus performants.

La conception de Solana demontre que haute performance et decentralisation ne sont pas mutuellement exclusives. En tirant parti de PoH comme fondation pour le consensus et la coordination du systeme, le reseau atteint des niveaux de debit comparables aux bases de donnees centralisees tout en maintenant les proprietes de securite et de resistance a la censure d'une blockchain decentralisee. Le mecanisme de consensus Tower BFT pondere par la mise garantit que le reseau reste securise contre les acteurs byzantins tout en atteignant une finalite rapide.

L'implementation de cette architecture fournit un chemin pratique pour que la technologie blockchain evolue vers une adoption mondiale. Les applications necessitant un haut debit de transactions — comme les echanges decentralises, les plateformes de jeux et les systemes financiers — peuvent desormais etre construites sur une infrastructure veritablement decentralisee sans compromettre les performances. Proof of History ouvre la porte a une nouvelle generation d'applications blockchain qui etaient auparavant irrealisables en raison des contraintes d'evolutivite.