ソラナ:高性能ブロックチェーンのための新しいアーキテクチャ

Por Anatoly Yakovenko · 2017

Abstract

Este artigo apresenta uma nova arquitetura para uma blockchain de alto desempenho. Solana implementa um mecanismo inovador de cronometragem chamado Proof of History (PoH) -- uma prova para verificar a ordem e a passagem do tempo entre eventos. PoH e utilizado para codificar a passagem do tempo de forma trustless em um ledger, criando um registro historico que prova que um evento ocorreu em um momento especifico no tempo.

A inovacao principal e que PoH permite que os nos da rede estabelecam uma ordem temporal de eventos sem a necessidade de se comunicarem entre si. Ao utilizar uma funcao de atraso verificavel implementada como uma cadeia sequencial de hashes, o sistema gera um relogio criptografico que fornece uma maneira de verificar a passagem do tempo entre eventos. Isso permite que a rede processe milhares de transacoes por segundo mantendo a descentralizacao e a seguranca.

PoH esta integrado com um mecanismo de consenso Proof of Stake (PoS). A combinacao permite uma arquitetura blockchain altamente otimizada onde os validadores podem verificar transacoes em paralelo e alcancar consenso de forma eficiente. O sistema foi projetado para escalar com a Lei de Moore, aproveitando os aumentos no desempenho do hardware para melhorar o throughput sem sacrificar as garantias de seguranca de uma rede descentralizada.

Abstract

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

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

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

Introduction

O desafio fundamental nos sistemas blockchain e alcançar alto rendimento de transacoes mantendo a descentralizacao e a segurança. As implementacoes atuais de blockchain sao limitadas por seus mecanismos de consenso, que exigem comunicacao extensiva entre nos para concordar sobre tempo e a ordenacao de eventos. Essa sobrecarga de coordenacao cria um gargalo que impede as blockchains existentes de escalar para atender as demandas de aplicacoes em escala global.

O problema central e o tempo. Em sistemas distribuidos, os nos nao podem depender de relogios externos porque nao podem confiar que os timestamps de outros nos sao precisos. Os protocolos de consenso blockchain tradicionais resolvem isso fazendo com que os nos se comuniquem extensivamente para concordar sobre o estado atual e a ordem das transacoes. Essa sobrecarga de comunicacao limita fundamentalmente o rendimento, pois a rede so pode processar transacoes tao rapido quanto os nos conseguem alcançar consenso sobre sua ordenacao.

Solana introduz Proof of History como solucao para esse problema de sincronizacao. PoH fornece uma forma criptografica de provar que uma certa quantidade de tempo passou entre eventos sem depender de timestamps de atores potencialmente maliciosos. Ao criar um registro historico verificavel, PoH permite que os nos processem transacoes de forma independente enquanto ainda conseguem provar a ordem em que os eventos ocorreram. Esse avanço permite que a rede paralelize o processamento de transacoes e aumente drasticamente o rendimento.

A percepcao chave e que se pudermos criar uma fonte de tempo sem confiança, podemos remover o gargalo de coordenacao do consenso. Com PoH fornecendo um relogio criptografico, os validadores podem processar transacoes em paralelo e so precisam se comunicar para finalizar a ordenacao canonica. Essa mudança arquitetonica permite que Solana alcance niveis de desempenho que antes eram considerados impossiveis em uma blockchain descentralizada.

Introduction

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

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

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

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

Outline

Este documento descreve a arquitetura tecnica de Solana, focando em como Proof of History permite a operacao blockchain de alto desempenho. O documento primeiro explica o mecanismo PoH em si — como uma cadeia de hash sequencial cria uma ordenacao temporal verificavel de eventos. Detalhamos as propriedades criptograficas que tornam PoH seguro e demonstramos como os validadores podem verificar eficientemente a sequencia PoH.

Em seguida, o documento explora como PoH se integra com o consenso Proof of Stake. Descrevemos Tower BFT, um algoritmo PoS projetado especificamente para aproveitar as propriedades temporais de PoH. A integracao permite que os validadores votem sobre o estado do livro-razao em timestamps PoH especificos, criando um mecanismo de consenso que e rapido e seguro. Tambem explicamos as condicoes de penalizacao que previnem comportamento malicioso.

A seguir, apresentamos o design de rede de Solana e os protocolos de propagacao de dados. O protocolo Gulf Stream permite o encaminhamento de transacoes sem a necessidade de um mempool, permitindo que os clientes enviem transacoes diretamente para os proximos lideres. Descrevemos como a rotacao de lideres funciona e como a rede mantem alto rendimento mesmo quando a liderança muda.

Finalmente, discutimos a arquitetura do sistema incluindo a Transaction Processing Unit (TPU), o runtime paralelo Sealevel e Proof of Replication para verificacao de armazenamento de dados. As projecoes de desempenho demonstram que Solana pode processar mais de 700.000 transacoes por segundo em uma rede gigabit padrao, com rendimento escalando conforme o hardware melhora.

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

O design de rede de Solana centra-se em um sistema de lideres rotativos onde os validadores se revezam produzindo blocos. O lider e responsavel por sequenciar as transacoes recebidas no fluxo PoH e publicar os blocos resultantes na rede. Os lideres sao selecionados por um algoritmo ponderado por participacao, e o cronograma de rotacao e conhecido antecipadamente, permitindo que a rede otimize o encaminhamento de transacoes.

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

O protocolo Gulf Stream elimina a necessidade de um mempool tradicional ao permitir que os clientes encaminhem transacoes diretamente para os proximos lideres. Quando um cliente envia uma transacao, ela e encaminhada para o lider esperado com base no cronograma de rotacao. Se o lider atual nao puder processar a transacao, ela e encaminhada para o proximo lider esperado. Este design reduz a latencia de confirmacao e permite que os validadores executem transacoes antecipadamente, otimizando ainda mais o rendimento.

A propagacao de transacoes usa uma abordagem multicamada. Os clientes enviam transacoes para os validadores, que as encaminham para o lider atual ou proximo. O lider sequencia as transacoes no fluxo PoH, criando uma ordenacao total. Uma vez sequenciadas, o lider transmite o fluxo PoH e os dados de transacao para os validadores, que verificam a sequencia PoH e executam as transacoes em paralelo.

O design de rede tambem inclui um protocolo de propagacao de blocos Turbine que divide os blocos em pacotes menores e os distribui pela rede em uma estrutura de arvore. Essa abordagem minimiza os requisitos de largura de banda para validadores individuais enquanto garante uma rapida propagacao de blocos. Combinado com a capacidade de PoH de verificar a ordenacao de transacoes, essa arquitetura permite que Solana alcance alto rendimento sem sacrificar a descentralizacao.

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が分散化を犠牲にすることなく高スループットを達成することを可能にする。

Proof of History

Proof of History e uma funcao de atraso verificavel implementada como uma cadeia de hash sequencial usando SHA-256. O gerador PoH calcula continuamente hashes SHA-256, usando cada saida como entrada para o proximo hash. Isso cria uma cadeia sequencial onde cada hash so pode ser calculado apos o anterior, estabelecendo uma ordenacao temporal verificavel. O requisito computacional para gerar cada hash impoe um atraso de tempo minimo entre eventos.

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

A propriedade chave de PoH e que e barato verificar mas caro produzir. Um verificador pode checar toda a sequencia de hash em paralelo dividindo-a em segmentos e verificando cada segmento independentemente, depois verificando que os segmentos se conectam corretamente. No entanto, a geracao deve ser sequencial — nao ha como prever a saida da cadeia de hash sem realmente calcular cada passo intermediario. Essa assimetria entre geracao e verificacao e o que torna PoH pratico.

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

Eventos externos e dados de transacao sao inseridos na sequencia PoH misturando-os na cadeia de hash. Quando uma transacao chega, seu hash e combinado com o estado PoH atual, criando um registro que prova que a transacao existia naquele ponto da sequencia. O gerador PoH registra periodicamente pontos de verificacao, publicando o valor hash atual junto com a contagem de hashes calculados desde o ultimo ponto de verificacao. Esses pontos de verificacao permitem que os validadores verifiquem eficientemente a sequencia PoH sem recalcular cada hash.

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

A sequencia PoH serve como um relogio criptografico para toda a rede. Como a cadeia de hash e sequencial e verificavel, qualquer no pode provar que uma certa quantidade de tempo passou entre dois eventos simplesmente mostrando os hashes que foram calculados durante esse intervalo. Isso elimina a necessidade de os nos confiarem em timestamps externos ou se coordenarem entre si para estabelecer a ordenacao temporal, removendo um gargalo fundamental no consenso blockchain tradicional.

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

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 Sequence

A sequencia de Proof of History e uma cadeia continua de hashes SHA-256 onde cada hash depende da saida anterior. A sequencia começa com um valor semente inicial, que e hasheado para produzir a primeira saida. Essa saida se torna a entrada para o proximo hash, e o processo se repete indefinidamente. O gerador tambem mantem um contador que rastreia o numero total de hashes calculados, que serve como o "timestamp" PoH para eventos no livro-razao.

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

Quando dados precisam ser inseridos na sequencia (como hashes de transacoes ou assinaturas de validadores), eles sao combinados com o estado hash atual usando uma funcao de mistura deterministica. Por exemplo, se o estado hash atual e hash_n e queremos inserir dados D, calculamos hash_{n+1} = SHA256(hash_n || D), onde || denota concatenacao. O ponto de insercao e registrado junto com o valor do contador, provando que os dados D existiam naquele ponto especifico da sequencia.

A verificacao da sequencia PoH pode ser paralelizada dividindo a cadeia em segmentos. Por exemplo, um validador pode receber pontos de verificacao PoH a cada 10.000 hashes. Para verificar a sequencia entre pontos de verificacao, o validador pode dividir os 10.000 hashes em 100 segmentos de 100 hashes cada, verificar cada segmento independentemente em paralelo, e entao verificar que os segmentos se conectam corretamente. Isso permite que a verificacao escale horizontalmente com o numero de nucleos de CPU disponiveis.

A sequencia tambem suporta provas eficientes de que dois eventos ocorreram em uma ordem especifica. Dadas duas insercoes de dados nos valores de contador n e m onde n m, qualquer um pode verificar que o evento em n aconteceu antes do evento em m verificando a cadeia de hash entre esses pontos. Essa propriedade permite que Solana crie um registro historico verificavel de todos os eventos na rede sem exigir que os nos estejam online continuamente ou confiem em fontes de tempo externas.

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はノードが継続的にオンラインであったり外部の時間源を信頼したりする必要なく、ネットワーク内のすべてのイベントの検証可能な履歴記録を作成できる。

Timestamp

Proof of History funciona como um relogio descentralizado que atribui timestamps a eventos sem depender do tempo de relogio de parede. Cada hash PoH representa um "tick" discreto do relogio criptografico, e o valor do contador serve como o timestamp. Como a cadeia de hash e sequencial e verificavel, esses timestamps sao sem confiança — qualquer observador pode verificar que um timestamp e legitimo verificando a cadeia de hash.

Em Solana, cada validador pode gerar sua propria sequencia PoH quando atua como lider. Quando os validadores rotacionam a liderança, eles sincronizam suas sequencias PoH usando o ultimo ponto de verificacao confirmado do lider anterior. Isso garante a continuidade do registro temporal mesmo quando diferentes validadores se revezam produzindo blocos. A rede estabelece uma linha temporal canonica ao alcançar consenso sobre quais sequencias PoH aceitar como parte do livro-razao oficial.

O sistema lida com desvio de relogio e variacao no desempenho de hardware atraves de uma combinacao de rotacao de lideres e consenso. Se um lider malicioso ou defeituoso tentar gerar timestamps PoH a uma taxa incorreta (muito rapida ou muito lenta), os validadores podem detectar isso comparando a taxa de ticks PoH com seus proprios geradores PoH locais. Desvios significativos da taxa esperada indicam um problema, e os validadores podem rejeitar blocos de lideres cujas sequencias PoH divergem muito da mediana da rede.

Esse mecanismo de timestamping resolve um dos problemas fundamentais em sistemas distribuidos: estabelecer uma nocao comum de tempo sem uma autoridade central confiavel. Ao usar PoH como um relogio descentralizado, Solana permite que os validadores processem transacoes em paralelo enquanto mantem uma ordenacao globalmente consistente. Os timestamps tambem fornecem uma base para recursos baseados em tempo como expiracao de transacoes, operacoes agendadas e medicao de desempenho.

Timestamp

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

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

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

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

Proof of Stake Consensus

O mecanismo de consenso de Solana, chamado Tower BFT, e um algoritmo Proof of Stake projetado especificamente para aproveitar as propriedades temporais de Proof of History. Os validadores fazem staking de tokens SOL para participar do consenso e ganhar recompensas por validar corretamente os blocos. O sistema de votacao ponderado por participacao garante que validadores com mais interesse economico na rede tenham proporcionalmente mais influencia sobre as decisoes de consenso.

A inovacao central no Tower BFT e o uso de periodos de bloqueio que aumentam exponencialmente com cada voto consecutivo. Quando um validador vota em um hash PoH, ele se compromete com aquele fork do livro-razao por um certo numero de ticks PoH. Se votar no proximo bloco daquele fork, o periodo de bloqueio dobra. Isso cria um forte incentivo economico para os validadores continuarem votando no mesmo fork, pois trocar de fork exigiria esperar que os bloqueios anteriores expirassem.

Especificamente, se um validador vota em um bloco no timestamp PoH t, ele nao pode votar em um fork conflitante ate que 2^n ticks tenham passado, onde n e o numero de votos consecutivos que fez no fork atual. Esse mecanismo de bloqueio exponencial torna o sistema seguro contra ataques de longo alcance enquanto permite finalidade rapida. Uma vez que uma supermaioria de stake tenha votado em um bloco com profundidade suficiente, esse bloco esta efetivamente finalizado.

As condicoes de penalizacao impoem comportamento honesto. Se um validador votar em dois forks conflitantes durante um periodo em que deveria estar bloqueado, ele e penalizado — seus tokens em staking sao parcialmente destruidos e ele e removido do conjunto de validadores. Isso torna economicamente irracional tentar equivocacao ou outro comportamento bizantino. A combinacao dos timestamps verificaveis de PoH e dos bloqueios exponenciais de Tower BFT cria um mecanismo de consenso que e rapido e seguro, alcançando finalidade em segundos enquanto mantem as garantias de segurança dos sistemas BFT tradicionais.

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) e um mecanismo que permite aos validadores provar que estao armazenando os dados do livro-razao sem revelar os dados em si ou exigir computacao intensiva. Solana implementa uma versao de streaming de PoRep onde os validadores demonstram continuamente que estao replicando o estado da blockchain. Isso e essencial para a segurança da rede, pois garante que os dados do livro-razao estejam adequadamente distribuidos entre os validadores e nao concentrados em poucos locais.

O mecanismo PoRep funciona fazendo com que os validadores criptografem segmentos do livro-razao usando encriptacao em modo CBC (Cipher Block Chaining) com uma chave especifica do validador derivada de sua identidade. O processo de encriptacao e tal que cada bloco criptografado depende do bloco anterior, criando uma cadeia unica para cada validador. Isso impede que os validadores simplesmente copiem dados criptografados uns dos outros — cada validador deve armazenar e processar os dados originais do livro-razao para gerar sua versao criptografada unica.

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

Periodicamente, a rede emite desafios aos validadores solicitando que forneçam blocos criptografados especificos. Como a encriptacao e encadeada, o validador deve ter armazenado todos os blocos anteriores para gerar a resposta correta. O validador envia seu bloco criptografado junto com uma prova de Merkle mostrando sua posicao em seu livro-razao criptografado. A rede pode verificar essa prova rapidamente sem precisar descriptografar ou re-criptografar os dados.

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

Essa abordagem de streaming para PoRep tem baixa sobrecarga comparada com sistemas tradicionais de prova de armazenamento. Os validadores podem criptografar dados conforme chegam e responder a desafios com latencia minima. O sistema tambem permite recuperacao em caso de perda de dados — se um validador perder parte do livro-razao, pode re-baixa-lo de outros validadores e re-criptografa-lo. A combinacao de PoRep com timestamps PoH cria um sistema de responsabilidade completo onde a rede pode verificar tanto quando os dados foram criados quanto que estao adequadamente armazenados em toda a rede de validadores.

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タイムスタンプの組み合わせにより、ネットワークがデータの作成時期とバリデータネットワーク全体に適切に保存されていることの両方を検証できる完全な説明責任システムが作成される。

System Architecture

A arquitetura de sistema de Solana e projetada como um pipeline onde diferentes estagios do processamento de transacoes acontecem em paralelo. A Transaction Processing Unit (TPU) e o componente central responsavel por lidar com transacoes recebidas. A TPU consiste em varios estagios: fetch (coleta de transacoes), verificacao de assinaturas, banking (execucao de transacoes) e write (gravacao em armazenamento). Cada estagio opera em paralelo em diferentes transacoes, semelhante ao pipeline de uma CPU.

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

A verificacao de assinaturas e acelerada usando GPUs, que sao altamente eficientes nas operacoes de criptografia de curva eliptica necessarias para verificar assinaturas de transacoes. Ao descarregar essa tarefa computacionalmente intensiva para GPUs, Solana pode verificar assinaturas a taxas superiores a 900.000 por segundo em hardware comercial. Essa verificacao de assinaturas em paralelo impede que a validacao criptografica se torne um gargalo mesmo em taxas de transacao muito altas.

Solana PoH generator network throughput limits showing bandwidth and processing constraints

O runtime Sealevel e o motor de execucao de contratos inteligentes em paralelo de Solana. Diferente das blockchains tradicionais que executam transacoes sequencialmente, Sealevel analisa as transacoes para identificar quais contas elas acessam e executa transacoes nao conflitantes em paralelo em multiplos nucleos de CPU. Transacoes que acessam as mesmas contas sao executadas sequencialmente para manter a consistencia, mas transacoes que acessam contas diferentes podem ser executadas simultaneamente. Esse paralelismo e possivel porque PoH estabelece uma ordenacao global — validadores podem executar transacoes em qualquer ordem desde que as apliquem ao estado na sequencia especificada por PoH.

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

A arquitetura tambem inclui componentes otimizados para propagacao e armazenamento de blocos. O protocolo de propagacao de blocos Turbine usa codificacao de apagamento para dividir blocos em pacotes menores que sao distribuidos pela rede em uma estrutura de arvore, minimizando os requisitos de largura de banda. A rede de Archivers fornece armazenamento descentralizado para dados historicos do livro-razao, usando PoRep para garantir a disponibilidade de dados. Juntos, esses componentes criam um sistema que pode processar centenas de milhares de transacoes por segundo enquanto mantem as propriedades de descentralizacao e segurança de uma blockchain.

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

Performance

A arquitetura de Solana e projetada para alcançar niveis de desempenho que escalam com melhorias de hardware, seguindo a Lei de Moore. Em uma conexao de rede padrao de 1 gigabit, o rendimento maximo teorico e aproximadamente 710.000 transacoes por segundo, assumindo 176 bytes por transacao (incluindo assinaturas e metadados). Esse calculo e baseado na largura de banda de rede como o principal gargalo, com gargalos computacionais eliminados atraves da paralelizacao.

A verificacao de assinaturas, frequentemente um fator limitante no desempenho de blockchain, e acelerada usando paralelizacao GPU. Uma unica GPU pode verificar mais de 900.000 assinaturas ed25519 por segundo, o que excede o limite de rendimento da rede. Isso significa que a verificacao de assinaturas nao restringe o desempenho do sistema — o gargalo se desloca para a largura de banda de rede e a execucao de transacoes. Para transacoes simples que apenas transferem valor sem logica complexa de contratos inteligentes, o estagio de banking pode processar transacoes a taxas que correspondem a taxa de entrada da rede.

O gerador PoH funciona em um nucleo de CPU dedicado, produzindo aproximadamente 4.000 hashes por milissegundo em um processador de 4GHz. Nessa taxa, a sequencia PoH fornece timestamps com granularidade de 0,25 microssegundos, o que e suficiente para ordenar milhoes de transacoes por segundo. A natureza sequencial da geracao PoH significa que esse componente nao pode ser paralelizado, mas o rendimento e alto o suficiente para nao limitar o desempenho geral do sistema.

Conforme o hardware melhora, o rendimento de Solana escala proporcionalmente. Redes mais rapidas, GPUs mais poderosas e CPUs melhoradas contribuem para taxas de transacao mais altas. O sistema e projetado para aproveitar essas melhorias sem exigir mudanças de protocolo. Essa abordagem de escalabilidade contrasta com blockchains que sao fundamentalmente limitadas por mecanismos de consenso sequenciais, permitindo que Solana alcance niveis de desempenho anteriormente considerados impossiveis em um sistema descentralizado enquanto mantem garantias de segurança e descentralizacao.

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 representa um avanço fundamental na arquitetura blockchain ao resolver o problema de sincronizacao que limitou a escalabilidade dos livros-razao distribuidos. Ao criar um relogio criptografico verificavel, PoH permite que os validadores estabeleçam uma ordenacao temporal de eventos sem a extensa sobrecarga de comunicacao exigida pelos mecanismos de consenso tradicionais. Essa inovacao remove um gargalo critico e permite que o processamento de transacoes seja paralelizado em toda a rede.

A integracao de PoH com componentes de sistema otimizados — verificacao de assinaturas acelerada por GPU, execucao de transacoes em paralelo atraves de Sealevel e protocolos eficientes de propagacao de blocos — cria uma blockchain capaz de processar centenas de milhares de transacoes por segundo em hardware comercial. Mais importante, a arquitetura e projetada para escalar com melhorias de hardware, significando que o desempenho continuara aumentando conforme os processadores se tornam mais rapidos e as redes mais capazes.

O design de Solana demonstra que alto desempenho e descentralizacao nao sao mutuamente exclusivos. Ao aproveitar PoH como base para consenso e coordenacao do sistema, a rede alcança niveis de rendimento comparaveis a bancos de dados centralizados enquanto mantem as propriedades de segurança e resistencia a censura de uma blockchain descentralizada. O mecanismo de consenso Tower BFT ponderado por participacao garante que a rede permaneca segura contra atores bizantinos enquanto alcança finalidade rapida.

A implementacao dessa arquitetura fornece um caminho pratico para a tecnologia blockchain escalar para adocao global. Aplicacoes que requerem alto rendimento de transacoes — como exchanges descentralizadas, plataformas de jogos e sistemas financeiros — agora podem ser construidas em uma infraestrutura verdadeiramente descentralizada sem comprometer o desempenho. Proof of History abre a porta para uma nova geracao de aplicacoes blockchain que anteriormente eram inviaveis devido a restricoes de escalabilidade.

Conclusion

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

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

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

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