Solana: Una nueva arquitectura para una blockchain de alto rendimiento
Abstract
本論文は、高性能ブロックチェーンのための新しいアーキテクチャを提示する。SolanaはProof of History(PoH)と呼ばれる新しい時間管理メカニズムを実装している。これはイベント間の順序と時間の経過を検証するための証明である。PoHは信頼不要な時間の経過を台帳にエンコードするために使用され、特定の時点でイベントが発生したことを証明する履歴記録を作成する。
重要なイノベーションは、PoHによりネットワーク内のノードが互いに通信することなくイベントの時間的順序を確立できることである。逐次的ハッシュチェーンとして実装された検証可能な遅延関数を使用することで、システムはイベント間の時間の経過を検証する方法を提供する暗号学的時計を生成する。これにより、ネットワークは分散化とセキュリティを維持しながら、毎秒数千のトランザクションを処理できる。
PoHはProof of Stake(PoS)コンセンサスメカニズムと統合されている。この組み合わせにより、バリデータがトランザクションを並列に検証し、効率的にコンセンサスに達することができる高度に最適化されたブロックチェーンアーキテクチャが可能になる。このシステムはムーアの法則に合わせてスケールするように設計されており、分散型ネットワークのセキュリティ保証を犠牲にすることなく、ハードウェア性能の向上を活用してスループットを改善する。
Abstract
Este documento presenta una nueva arquitectura para una blockchain de alto rendimiento. Solana implementa un novedoso mecanismo de cronometraje llamado Proof of History (PoH) -- una prueba para verificar el orden y el paso del tiempo entre eventos. PoH se utiliza para codificar el paso del tiempo de manera trustless en un ledger, creando un registro historico que demuestra que un evento ocurrio en un momento especifico en el tiempo.
La innovacion clave es que PoH permite que los nodos de la red establezcan un orden temporal de eventos sin necesidad de comunicarse entre si. Al utilizar una funcion de retardo verificable implementada como una cadena secuencial de hashes, el sistema genera un reloj criptografico que proporciona una forma de verificar el paso del tiempo entre eventos. Esto permite que la red procese miles de transacciones por segundo manteniendo la descentralizacion y la seguridad.
PoH esta integrado con un mecanismo de consenso Proof of Stake (PoS). La combinacion permite una arquitectura blockchain altamente optimizada donde los validadores pueden verificar transacciones en paralelo y alcanzar consenso de manera eficiente. El sistema esta disenado para escalar con la Ley de Moore, aprovechando los aumentos en el rendimiento del hardware para mejorar el throughput sin sacrificar las garantias de seguridad de una red descentralizada.
Introduction
ブロックチェーンシステムにおける根本的な課題は、分散化とセキュリティを維持しながら高いトランザクションスループットを達成することである。現在のブロックチェーン実装は、時間とイベントの順序付けについて合意するためにノード間の広範な通信を必要とするコンセンサスメカニズムによって制限されている。この調整のオーバーヘッドがボトルネックを生み出し、既存のブロックチェーンがグローバル規模のアプリケーションの需要に対応するためのスケーリングを妨げている。
核心的な問題は時間である。分散システムにおいて、ノードは他のノードのタイムスタンプが正確であることを信頼できないため、外部の時計に依存することができない。従来のブロックチェーンコンセンサスプロトコルは、ノードが現在の状態とトランザクションの順序について合意するために広範に通信することでこの問題を解決している。この通信のオーバーヘッドはスループットを根本的に制限する。ネットワークはノードが順序付けについてコンセンサスに達する速度でしかトランザクションを処理できないからである。
SolanaはこのタイミングProblemの解決策としてProof of Historyを導入する。PoHは、潜在的に悪意のあるアクターからのタイムスタンプに依存することなく、イベント間に一定の時間が経過したことを証明する暗号学的方法を提供する。検証可能な履歴記録を作成することで、PoHはノードがトランザクションを独立して処理しながら、イベントが発生した順序を証明できるようにする。このブレークスルーにより、ネットワークはトランザクション処理を並列化し、スループットを劇的に向上させることができる。
重要な洞察は、信頼不要な時間源を作成できれば、コンセンサスから調整のボトルネックを除去できるということである。PoHが暗号学的時計を提供することで、バリデータはトランザクションを並列に処理でき、正規の順序付けを確定するためにのみ通信する必要がある。このアーキテクチャの転換により、Solanaは分散型ブロックチェーンでは不可能と考えられていたパフォーマンスレベルを達成できる。
Introduction
El desafio fundamental en los sistemas blockchain es lograr un alto rendimiento de transacciones mientras se mantiene la descentralizacion y la seguridad. Las implementaciones actuales de blockchain estan limitadas por sus mecanismos de consenso, que requieren una comunicacion extensa entre nodos para acordar el tiempo y el ordenamiento de eventos. Esta sobrecarga de coordinacion crea un cuello de botella que impide que las blockchains existentes escalen para satisfacer las demandas de aplicaciones a escala global.
El problema central es el tiempo. En sistemas distribuidos, los nodos no pueden depender de relojes externos porque no pueden confiar en que las marcas de tiempo de otros nodos sean precisas. Los protocolos de consenso blockchain tradicionales resuelven esto haciendo que los nodos se comuniquen extensamente para acordar el estado actual y el orden de las transacciones. Esta sobrecarga de comunicacion limita fundamentalmente el rendimiento, ya que la red solo puede procesar transacciones tan rapido como los nodos pueden alcanzar consenso sobre su ordenamiento.
Solana introduce Proof of History como solucion a este problema de sincronizacion. PoH proporciona una forma criptografica de demostrar que ha pasado una cierta cantidad de tiempo entre eventos sin depender de marcas de tiempo de actores potencialmente maliciosos. Al crear un registro historico verificable, PoH permite que los nodos procesen transacciones de forma independiente mientras pueden demostrar el orden en que ocurrieron los eventos. Este avance permite que la red paralelice el procesamiento de transacciones y aumente dramaticamente el rendimiento.
La idea clave es que si podemos crear una fuente de tiempo sin confianza, podemos eliminar el cuello de botella de coordinacion del consenso. Con PoH proporcionando un reloj criptografico, los validadores pueden procesar transacciones en paralelo y solo necesitan comunicarse para finalizar el ordenamiento canonico. Este cambio arquitectonico permite a Solana alcanzar niveles de rendimiento que antes se consideraban imposibles en una blockchain descentralizada.
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
Este documento describe la arquitectura tecnica de Solana, centrándose en como Proof of History permite la operacion blockchain de alto rendimiento. El documento primero explica el mecanismo PoH en si — como una cadena de hash secuencial crea un ordenamiento temporal verificable de eventos. Detallamos las propiedades criptograficas que hacen seguro a PoH y demostramos como los validadores pueden verificar eficientemente la secuencia PoH.
Luego el documento explora como PoH se integra con el consenso Proof of Stake. Describimos Tower BFT, un algoritmo PoS disenado especificamente para aprovechar las propiedades temporales de PoH. La integracion permite a los validadores votar sobre el estado del libro mayor en marcas de tiempo PoH especificas, creando un mecanismo de consenso que es rapido y seguro. Tambien explicamos las condiciones de penalizacion que previenen el comportamiento malicioso.
A continuacion, presentamos el diseno de red de Solana y los protocolos de propagacion de datos. El protocolo Gulf Stream permite el reenvio de transacciones sin necesidad de un mempool, permitiendo a los clientes enviar transacciones directamente a los proximos lideres. Describimos como funciona la rotacion de lideres y como la red mantiene un alto rendimiento incluso cuando cambia el liderazgo.
Finalmente, discutimos la arquitectura del sistema incluyendo la Transaction Processing Unit (TPU), el runtime paralelo Sealevel y Proof of Replication para la verificacion del almacenamiento de datos. Las proyecciones de rendimiento demuestran que Solana puede procesar mas de 700,000 transacciones por segundo en una red gigabit estandar, con un rendimiento que escala a medida que mejora el hardware.
Network Design
Solanaのネットワーク設計は、バリデータが交代でブロックを生成するローテーションリーダーシステムを中心としている。リーダーは、着信トランザクションをPoHストリームに順序付けし、結果のブロックをネットワークに公開する責任を持つ。リーダーはステーク加重アルゴリズムによって選出され、ローテーションスケジュールは事前に知られているため、ネットワークはトランザクション転送を最適化できる。

Gulf Streamプロトコルは、クライアントが今後のリーダーに直接トランザクションを転送できるようにすることで、従来のmempoolの必要性を排除する。クライアントがトランザクションを送信すると、ローテーションスケジュールに基づいて予想されるリーダーに転送される。現在のリーダーがトランザクションを処理できない場合、次の予想リーダーに転送される。この設計により確認レイテンシが短縮され、バリデータが事前にトランザクションを実行できるため、スループットがさらに最適化される。
トランザクション伝播はマルチレイヤーアプローチを使用する。クライアントはバリデータにトランザクションを送信し、バリデータは現在のリーダーまたは今後のリーダーに転送する。リーダーはトランザクションをPoHストリームに順序付けし、全体の順序付けを作成する。順序付けが完了すると、リーダーはPoHストリームとトランザクションデータをバリデータに送信し、バリデータはPoHシーケンスを検証してトランザクションを並列に実行する。
ネットワーク設計には、ブロックをより小さなパケットに分割し、ツリー構造でネットワーク全体に配布するTurbineブロック伝播プロトコルも含まれている。このアプローチにより、迅速なブロック伝播を確保しながら、個々のバリデータの帯域幅要件を最小化する。PoHのトランザクション順序検証能力と組み合わせることで、このアーキテクチャはSolanaが分散化を犠牲にすることなく高スループットを達成することを可能にする。
Network Design
El diseno de red de Solana se centra en un sistema de lideres rotativos donde los validadores se turnan para producir bloques. El lider es responsable de secuenciar las transacciones entrantes en el flujo PoH y publicar los bloques resultantes en la red. Los lideres se seleccionan mediante un algoritmo ponderado por participacion, y el calendario de rotacion se conoce de antemano, lo que permite a la red optimizar el reenvio de transacciones.

El protocolo Gulf Stream elimina la necesidad de un mempool tradicional al permitir que los clientes reenvien transacciones directamente a los proximos lideres. Cuando un cliente envia una transaccion, se reenvia al lider esperado segun el calendario de rotacion. Si el lider actual no puede procesar la transaccion, la reenvia al siguiente lider esperado. Este diseno reduce la latencia de confirmacion y permite a los validadores ejecutar transacciones por adelantado, optimizando aun mas el rendimiento.
La propagacion de transacciones utiliza un enfoque multicapa. Los clientes envian transacciones a los validadores, quienes las reenvian al lider actual o proximo. El lider secuencia las transacciones en el flujo PoH, creando un ordenamiento total. Una vez secuenciadas, el lider transmite el flujo PoH y los datos de transaccion a los validadores, quienes verifican la secuencia PoH y ejecutan las transacciones en paralelo.
El diseno de red tambien incluye un protocolo de propagacion de bloques Turbine que divide los bloques en paquetes mas pequenos y los distribuye a traves de la red en una estructura de arbol. Este enfoque minimiza los requisitos de ancho de banda para validadores individuales mientras asegura una rapida propagacion de bloques. Combinado con la capacidad de PoH para verificar el ordenamiento de transacciones, esta arquitectura permite a Solana lograr un alto rendimiento sin sacrificar la descentralizacion.
Proof of History
Proof of Historyは、SHA-256を使用した逐次的ハッシュチェーンとして実装された検証可能な遅延関数である。PoHジェネレータは継続的にSHA-256ハッシュを計算し、各出力を次のハッシュの入力として使用する。これにより、各ハッシュは前のものが計算された後にのみ計算できる逐次的なチェーンが作成され、検証可能な時間的順序付けが確立される。各ハッシュを生成するための計算要件により、イベント間の最小時間遅延が強制される。

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

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

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

Proof of History
Proof of History es una funcion de retardo verificable implementada como una cadena de hash secuencial usando SHA-256. El generador PoH calcula continuamente hashes SHA-256, usando cada salida como entrada para el siguiente hash. Esto crea una cadena secuencial donde cada hash solo puede calcularse despues del anterior, estableciendo un ordenamiento temporal verificable. El requisito computacional para generar cada hash impone un retardo de tiempo minimo entre eventos.

La propiedad clave de PoH es que es barato de verificar pero costoso de producir. Un verificador puede comprobar toda la secuencia de hash en paralelo dividiéndola en segmentos y verificando cada segmento de forma independiente, luego comprobando que los segmentos se conectan correctamente. Sin embargo, la generacion debe ser secuencial — no hay forma de predecir la salida de la cadena de hash sin calcular realmente cada paso intermedio. Esta asimetria entre generacion y verificacion es lo que hace practico a PoH.

Los eventos externos y los datos de transaccion se insertan en la secuencia PoH mezclándolos en la cadena de hash. Cuando llega una transaccion, su hash se combina con el estado PoH actual, creando un registro que demuestra que la transaccion existio en ese punto de la secuencia. El generador PoH registra periodicamente puntos de control, publicando el valor hash actual junto con el conteo de hashes calculados desde el ultimo punto de control. Estos puntos de control permiten a los validadores verificar eficientemente la secuencia PoH sin recalcular cada hash.

La secuencia PoH sirve como un reloj criptografico para toda la red. Debido a que la cadena de hash es secuencial y verificable, cualquier nodo puede demostrar que ha pasado una cierta cantidad de tiempo entre dos eventos simplemente mostrando los hashes que se calcularon durante ese intervalo. Esto elimina la necesidad de que los nodos confien en marcas de tiempo externas o se coordinen entre si para establecer un ordenamiento temporal, eliminando un cuello de botella fundamental en el consenso blockchain tradicional.

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はノードが継続的にオンラインであったり外部の時間源を信頼したりする必要なく、ネットワーク内のすべてのイベントの検証可能な履歴記録を作成できる。
Proof of History Sequence
La secuencia de Proof of History es una cadena continua de hashes SHA-256 donde cada hash depende de la salida anterior. La secuencia comienza con un valor semilla inicial, que se hashea para producir la primera salida. Esta salida se convierte en la entrada para el siguiente hash, y el proceso se repite indefinidamente. El generador tambien mantiene un contador que rastrea el numero total de hashes calculados, que sirve como la "marca de tiempo" PoH para eventos en el libro mayor.

Cuando se necesita insertar datos en la secuencia (como hashes de transacciones o firmas de validadores), se combinan con el estado hash actual usando una funcion de mezcla determinista. Por ejemplo, si el estado hash actual es hash_n y queremos insertar datos D, calculamos hash_{n+1} = SHA256(hash_n || D), donde || denota concatenacion. El punto de insercion se registra junto con el valor del contador, demostrando que los datos D existian en ese punto especifico de la secuencia.
La verificacion de la secuencia PoH puede paralelizarse dividiendo la cadena en segmentos. Por ejemplo, un validador podria recibir puntos de control PoH cada 10,000 hashes. Para verificar la secuencia entre puntos de control, el validador puede dividir los 10,000 hashes en 100 segmentos de 100 hashes cada uno, verificar cada segmento independientemente en paralelo, y luego verificar que los segmentos se conectan correctamente. Esto permite que la verificacion escale horizontalmente con el numero de nucleos de CPU disponibles.
La secuencia tambien soporta pruebas eficientes de que dos eventos ocurrieron en un orden especifico. Dadas dos inserciones de datos en valores de contador n y m donde n m, cualquiera puede verificar que el evento en n ocurrio antes del evento en m comprobando la cadena de hash entre esos puntos. Esta propiedad permite a Solana crear un registro historico verificable de todos los eventos en la red sin requerir que los nodos esten en linea continuamente o confien en fuentes de tiempo externas.
Timestamp
Proof of Historyは、壁時計時間に依存せずにイベントにタイムスタンプを割り当てる分散型時計として機能する。各PoHハッシュは暗号学的時計の離散的な「ティック」を表し、カウンタ値がタイムスタンプとして機能する。ハッシュチェーンは逐次的で検証可能であるため、これらのタイムスタンプは信頼不要である。任意の観察者がハッシュチェーンを確認することでタイムスタンプの正当性を検証できる。
Solanaでは、各バリデータがリーダーとして行動する際に独自のPoHシーケンスを生成できる。バリデータがリーダーシップをローテーションする際、前のリーダーからの最後の確認済みチェックポイントを使用してPoHシーケンスを同期する。これにより、異なるバリデータが交代でブロックを生成しても、時間記録の連続性が確保される。ネットワークは、どのPoHシーケンスを公式台帳の一部として受け入れるかについてコンセンサスに達することで、正規のタイムラインを確立する。
システムはクロックドリフトとハードウェア性能のばらつきを、リーダーローテーションとコンセンサスの組み合わせで処理する。悪意のあるまたは故障したリーダーが不正な速度(速すぎるまたは遅すぎる)でPoHタイムスタンプを生成しようとした場合、バリデータは自身のローカルPoHジェネレータとPoHティックレートを比較することでこれを検出できる。予想レートからの大幅な逸脱は問題を示し、バリデータはPoHシーケンスがネットワーク中央値から大きく逸脱するリーダーからのブロックを拒否できる。
このタイムスタンプメカニズムは、分散システムにおける根本的な問題の1つを解決する。信頼できる中央機関なしに共通の時間概念を確立することである。PoHを分散型時計として使用することで、Solanaはバリデータがグローバルに一貫した順序付けを維持しながらトランザクションを並列に処理できるようにする。タイムスタンプはまた、トランザクションの有効期限、スケジュールされた操作、パフォーマンス測定などの時間ベースの機能の基盤も提供する。
Timestamp
Proof of History funciona como un reloj descentralizado que asigna marcas de tiempo a eventos sin depender del tiempo de reloj de pared. Cada hash PoH representa un "tick" discreto del reloj criptografico, y el valor del contador sirve como la marca de tiempo. Debido a que la cadena de hash es secuencial y verificable, estas marcas de tiempo son sin confianza — cualquier observador puede verificar que una marca de tiempo es legitima comprobando la cadena de hash.
En Solana, cada validador puede generar su propia secuencia PoH cuando actua como lider. Cuando los validadores rotan el liderazgo, sincronizan sus secuencias PoH usando el ultimo punto de control confirmado del lider anterior. Esto asegura la continuidad del registro temporal incluso cuando diferentes validadores se turnan para producir bloques. La red establece una linea temporal canonica al alcanzar consenso sobre que secuencias PoH aceptar como parte del libro mayor oficial.
El sistema maneja la deriva del reloj y la varianza en el rendimiento del hardware a traves de una combinacion de rotacion de lideres y consenso. Si un lider malicioso o defectuoso intenta generar marcas de tiempo PoH a una tasa incorrecta (demasiado rapida o demasiado lenta), los validadores pueden detectar esto comparando la tasa de ticks PoH con sus propios generadores PoH locales. Las desviaciones significativas de la tasa esperada indican un problema, y los validadores pueden rechazar bloques de lideres cuyas secuencias PoH divergen demasiado de la mediana de la red.
Este mecanismo de marcas de tiempo resuelve uno de los problemas fundamentales en sistemas distribuidos: establecer una nocion comun de tiempo sin una autoridad central de confianza. Al usar PoH como un reloj descentralizado, Solana permite que los validadores procesen transacciones en paralelo mientras mantienen un ordenamiento globalmente consistente. Las marcas de tiempo tambien proporcionan una base para caracteristicas basadas en tiempo como la expiracion de transacciones, operaciones programadas y medicion de rendimiento.
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
El mecanismo de consenso de Solana, llamado Tower BFT, es un algoritmo Proof of Stake disenado especificamente para aprovechar las propiedades temporales de Proof of History. Los validadores apuestan tokens SOL para participar en el consenso y ganar recompensas por validar correctamente los bloques. El sistema de votacion ponderado por participacion asegura que los validadores con mas interes economico en la red tengan proporcionalmente mas influencia sobre las decisiones de consenso.
La innovacion central en Tower BFT es el uso de periodos de bloqueo que aumentan exponencialmente con cada voto consecutivo. Cuando un validador vota sobre un hash PoH, se compromete con esa bifurcacion del libro mayor durante un cierto numero de ticks PoH. Si votan en el siguiente bloque de esa bifurcacion, el periodo de bloqueo se duplica. Esto crea un fuerte incentivo economico para que los validadores continuen votando en la misma bifurcacion, ya que cambiar de bifurcacion requeriria esperar a que expiren los bloqueos anteriores.
Especificamente, si un validador vota en un bloque en la marca de tiempo PoH t, no puede votar en una bifurcacion conflictiva hasta que hayan pasado 2^n ticks, donde n es el numero de votos consecutivos que ha realizado en la bifurcacion actual. Este mecanismo de bloqueo exponencial hace que el sistema sea seguro contra ataques de largo alcance mientras permite una finalidad rapida. Una vez que una supermayoria de participacion ha votado en un bloque con suficiente profundidad, ese bloque esta efectivamente finalizado.
Las condiciones de penalizacion imponen un comportamiento honesto. Si un validador vota en dos bifurcaciones conflictivas durante un periodo en el que deberia estar bloqueado, es penalizado — sus tokens apostados son parcialmente destruidos y es removido del conjunto de validadores. Esto hace economicamente irracional intentar la equivocacion u otro comportamiento bizantino. La combinacion de las marcas de tiempo verificables de PoH y los bloqueos exponenciales de Tower BFT crea un mecanismo de consenso que es rapido y seguro, logrando finalidad en segundos mientras mantiene las garantias de seguridad de los sistemas BFT tradicionales.
Streaming Proof of Replication
Proof of Replication(PoRep)は、バリデータがデータ自体を明かしたり計算集約的な処理を必要としたりすることなく、台帳データを保存していることを証明できるメカニズムである。SolanaはPoRepのストリーミングバージョンを実装しており、バリデータはブロックチェーンの状態を複製していることを継続的に実証する。これはネットワークセキュリティにとって不可欠であり、台帳データがバリデータ間で適切に分散され、少数の場所に集中していないことを保証する。
PoRepメカニズムは、バリデータがそのIDから派生したバリデータ固有のキーを使用して、CBC(Cipher Block Chaining)モード暗号化で台帳のセグメントを暗号化することで機能する。暗号化プロセスは、各暗号化ブロックが前のブロックに依存するようになっており、各バリデータに固有のチェーンを作成する。これにより、バリデータが互いの暗号化データを単にコピーすることが防止される。各バリデータは、固有の暗号化バージョンを生成するために、元の台帳データを保存して処理しなければならない。

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

このPoRepへのストリーミングアプローチは、従来のproof-of-storageシステムと比較して低いオーバーヘッドを持つ。バリデータはデータの到着時に暗号化でき、最小限のレイテンシでチャレンジに応答できる。システムはデータ損失の場合のリカバリも可能にする。バリデータが台帳の一部を失った場合、他のバリデータからダウンロードして再暗号化できる。PoRepとPoHタイムスタンプの組み合わせにより、ネットワークがデータの作成時期とバリデータネットワーク全体に適切に保存されていることの両方を検証できる完全な説明責任システムが作成される。
Streaming Proof of Replication
Proof of Replication (PoRep) es un mecanismo que permite a los validadores demostrar que estan almacenando los datos del libro mayor sin revelar los datos mismos ni requerir una computacion intensiva. Solana implementa una version de streaming de PoRep donde los validadores demuestran continuamente que estan replicando el estado de la blockchain. Esto es esencial para la seguridad de la red, ya que asegura que los datos del libro mayor esten distribuidos adecuadamente entre los validadores y no concentrados en unas pocas ubicaciones.
El mecanismo PoRep funciona haciendo que los validadores cifren segmentos del libro mayor usando encriptacion en modo CBC (Cipher Block Chaining) con una clave especifica del validador derivada de su identidad. El proceso de encriptacion es tal que cada bloque cifrado depende del bloque anterior, creando una cadena que es unica para cada validador. Esto evita que los validadores simplemente copien datos cifrados entre si — cada validador debe almacenar y procesar los datos originales del libro mayor para generar su version cifrada unica.

Periodicamente, la red emite desafios a los validadores solicitando que proporcionen bloques cifrados especificos. Debido a que la encriptacion esta encadenada, el validador debe haber almacenado todos los bloques anteriores para generar la respuesta correcta. El validador envia su bloque cifrado junto con una prueba de Merkle que muestra su posicion en su libro mayor cifrado. La red puede verificar esta prueba rapidamente sin necesidad de descifrar o re-cifrar los datos.

Este enfoque de streaming para PoRep tiene una baja sobrecarga comparado con los sistemas tradicionales de prueba de almacenamiento. Los validadores pueden cifrar datos a medida que llegan y responder a los desafios con una latencia minima. El sistema tambien permite la recuperacion en caso de perdida de datos — si un validador pierde parte del libro mayor, puede volver a descargarlo de otros validadores y re-cifrarlo. La combinacion de PoRep con marcas de tiempo PoH crea un sistema de responsabilidad completo donde la red puede verificar tanto cuando se crearon los datos como que estan almacenados correctamente en toda la red de validadores.
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
La arquitectura del sistema de Solana esta disenada como un pipeline donde diferentes etapas del procesamiento de transacciones ocurren en paralelo. La Transaction Processing Unit (TPU) es el componente central responsable de manejar las transacciones entrantes. La TPU consta de varias etapas: fetch (recoleccion de transacciones), verificacion de firmas, banking (ejecucion de transacciones) y write (escritura en almacenamiento). Cada etapa opera en paralelo sobre diferentes transacciones, similar al pipeline de una CPU.

La verificacion de firmas se acelera usando GPUs, que son altamente eficientes en las operaciones de criptografia de curva eliptica necesarias para verificar firmas de transacciones. Al descargar esta tarea computacionalmente intensiva a las GPUs, Solana puede verificar firmas a tasas que exceden 900,000 por segundo en hardware comercial. Esta verificacion de firmas en paralelo evita que la validacion criptografica se convierta en un cuello de botella incluso a tasas de transaccion muy altas.

El runtime Sealevel es el motor de ejecucion de contratos inteligentes en paralelo de Solana. A diferencia de las blockchains tradicionales que ejecutan transacciones secuencialmente, Sealevel analiza las transacciones para identificar que cuentas acceden y ejecuta transacciones no conflictivas en paralelo a traves de multiples nucleos de CPU. Las transacciones que acceden a las mismas cuentas se ejecutan secuencialmente para mantener la consistencia, pero las transacciones que acceden a diferentes cuentas pueden ejecutarse simultaneamente. Este paralelismo es posible porque PoH establece un ordenamiento global — los validadores pueden ejecutar transacciones en cualquier orden siempre que las apliquen al estado en la secuencia especificada por PoH.

La arquitectura tambien incluye componentes optimizados para la propagacion y almacenamiento de bloques. El protocolo de propagacion de bloques Turbine usa codificacion de borrado para dividir bloques en paquetes mas pequenos que se distribuyen a traves de la red en una estructura de arbol, minimizando los requisitos de ancho de banda. La red de Archivers proporciona almacenamiento descentralizado para datos historicos del libro mayor, usando PoRep para asegurar la disponibilidad de datos. Juntos, estos componentes crean un sistema que puede procesar cientos de miles de transacciones por segundo mientras mantiene las propiedades de descentralizacion y seguridad de una 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
La arquitectura de Solana esta disenada para alcanzar niveles de rendimiento que escalan con las mejoras de hardware, siguiendo la Ley de Moore. En una conexion de red estandar de 1 gigabit, el rendimiento maximo teorico es aproximadamente 710,000 transacciones por segundo, asumiendo 176 bytes por transaccion (incluyendo firmas y metadatos). Este calculo se basa en el ancho de banda de red como el cuello de botella principal, con los cuellos de botella computacionales eliminados a traves de la paralelizacion.
La verificacion de firmas, a menudo un factor limitante en el rendimiento de blockchain, se acelera usando paralelizacion GPU. Una sola GPU puede verificar mas de 900,000 firmas ed25519 por segundo, lo que excede el limite de rendimiento de la red. Esto significa que la verificacion de firmas no restringe el rendimiento del sistema — el cuello de botella se desplaza al ancho de banda de red y la ejecucion de transacciones. Para transacciones simples que solo transfieren valor sin logica compleja de contratos inteligentes, la etapa de banking puede procesar transacciones a tasas que igualan la tasa de entrada de la red.
El generador PoH funciona en un nucleo de CPU dedicado, produciendo aproximadamente 4,000 hashes por milisegundo en un procesador de 4GHz. A esta tasa, la secuencia PoH proporciona marcas de tiempo con una granularidad de 0.25 microsegundos, lo cual es suficiente para ordenar millones de transacciones por segundo. La naturaleza secuencial de la generacion PoH significa que este componente no puede paralelizarse, pero el rendimiento es lo suficientemente alto como para no limitar el rendimiento general del sistema.
A medida que el hardware mejora, el rendimiento de Solana escala en consecuencia. Redes mas rapidas, GPUs mas potentes y CPUs mejoradas contribuyen a tasas de transaccion mas altas. El sistema esta disenado para aprovechar estas mejoras sin requerir cambios de protocolo. Este enfoque de escalabilidad contrasta con blockchains que estan fundamentalmente limitadas por mecanismos de consenso secuenciales, permitiendo a Solana alcanzar niveles de rendimiento previamente considerados imposibles en un sistema descentralizado mientras mantiene garantias de seguridad y descentralizacion.
Conclusion
Proof of Historyは、分散型台帳のスケーラビリティを制限してきたタイミング問題を解決することで、ブロックチェーンアーキテクチャにおける根本的なブレークスルーを表している。検証可能な暗号学的時計を作成することで、PoHはバリデータが従来のコンセンサスメカニズムで必要とされる広範な通信オーバーヘッドなしにイベントの時間的順序付けを確立できるようにする。このイノベーションにより重要なボトルネックが除去され、トランザクション処理をネットワーク全体で並列化できるようになる。
PoHと最適化されたシステムコンポーネント(GPU加速署名検証、Sealevelによる並列トランザクション実行、効率的なブロック伝播プロトコル)の統合により、コモディティハードウェア上で毎秒数十万のトランザクションを処理できるブロックチェーンが実現される。さらに重要なのは、アーキテクチャがハードウェアの改善とともにスケールするように設計されており、プロセッサが高速化しネットワークがより高性能になるにつれてパフォーマンスが向上し続けることである。
Solanaの設計は、高性能と分散化が相互に排他的ではないことを実証している。PoHをコンセンサスとシステム調整の基盤として活用することで、ネットワークは分散型ブロックチェーンのセキュリティと検閲耐性の特性を維持しながら、中央集権型データベースに匹敵するスループットレベルを達成する。ステーク加重Tower BFTコンセンサスメカニズムにより、高速なファイナリティを達成しながら、ビザンチンアクターに対するネットワークの安全性が確保される。
このアーキテクチャの実装は、ブロックチェーン技術がグローバルな採用へとスケールするための実用的な道筋を提供する。高いトランザクションスループットを必要とするアプリケーション(分散型取引所、ゲームプラットフォーム、金融システムなど)は、パフォーマンスを犠牲にすることなく、真に分散化されたインフラストラクチャ上に構築できるようになった。Proof of Historyは、スケーラビリティの制約のために以前は実現不可能であった新世代のブロックチェーンアプリケーションへの扉を開く。
Conclusion
Proof of History representa un avance fundamental en la arquitectura blockchain al resolver el problema de sincronizacion que ha limitado la escalabilidad de los libros mayores distribuidos. Al crear un reloj criptografico verificable, PoH permite a los validadores establecer un ordenamiento temporal de eventos sin la extensa sobrecarga de comunicacion requerida por los mecanismos de consenso tradicionales. Esta innovacion elimina un cuello de botella critico y permite que el procesamiento de transacciones se paralelice a traves de la red.
La integracion de PoH con componentes de sistema optimizados — verificacion de firmas acelerada por GPU, ejecucion de transacciones en paralelo a traves de Sealevel y protocolos de propagacion de bloques eficientes — crea una blockchain que puede procesar cientos de miles de transacciones por segundo en hardware comercial. Mas importante aun, la arquitectura esta disenada para escalar con las mejoras de hardware, lo que significa que el rendimiento continuara aumentando a medida que los procesadores se vuelvan mas rapidos y las redes mas capaces.
El diseno de Solana demuestra que el alto rendimiento y la descentralizacion no son mutuamente excluyentes. Al aprovechar PoH como base para el consenso y la coordinacion del sistema, la red alcanza niveles de rendimiento comparables a bases de datos centralizadas mientras mantiene las propiedades de seguridad y resistencia a la censura de una blockchain descentralizada. El mecanismo de consenso Tower BFT ponderado por participacion asegura que la red permanezca segura contra actores bizantinos mientras logra una finalidad rapida.
La implementacion de esta arquitectura proporciona un camino practico hacia adelante para que la tecnologia blockchain escale a la adopcion global. Las aplicaciones que requieren un alto rendimiento de transacciones — como intercambios descentralizados, plataformas de juegos y sistemas financieros — ahora pueden construirse sobre una infraestructura verdaderamente descentralizada sin comprometer el rendimiento. Proof of History abre la puerta a una nueva generacion de aplicaciones blockchain que anteriormente eran inviables debido a las limitaciones de escalabilidad.