Solana:高性能区块链的新架构

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引入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

本文描述了Solana的技术架构,重点介绍Proof of History如何实现高性能区块链运行。文档首先解释PoH机制本身——顺序哈希链如何创建可验证的事件时间排序。我们详细说明使PoH安全的加密属性,并演示验证者如何高效地验证PoH序列。

然后,本文探讨PoH如何与Proof of Stake共识集成。我们描述Tower BFT,这是一种专门设计用于利用PoH时间属性的PoS算法。该集成允许验证者在特定的PoH时间戳上对账本状态进行投票,创建一个既快速又安全的共识机制。我们还解释了防止恶意行为的惩罚条件。

接下来,我们介绍Solana的网络设计和数据传播协议。Gulf Stream协议实现了无需内存池交易转发,允许客户端直接向即将到来的领导者发送交易。我们描述领导者轮换如何工作以及网络如何在领导权更替时保持高吞吐量。

最后,我们讨论系统架构,包括Transaction Processing Unit(TPU)、Sealevel并行运行时和用于数据存储验证的Proof of Replication。性能预测表明,Solana可以在标准千兆网络上每秒处理超过700,000笔交易,并且吞吐量会随硬件改进而扩展。

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协议通过使客户端能够直接将交易转发给即将到来的领导者,消除了对传统内存池的需求。当客户端提交交易时,它会根据轮换时间表转发给预期的领导者。如果当前领导者无法处理该交易,则将其转发给下一个预期领导者。这种设计减少了确认延迟,并允许验证者提前执行交易,进一步优化吞吐量。

交易传播使用多层方法。客户端将交易发送给验证者,验证者将其转发给当前或即将到来的领导者。领导者将交易排序到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序列作为整个网络的加密时钟。因为哈希链是顺序的且可验证的,任何节点都可以通过展示在该时间间隔内计算的哈希来证明两个事件之间经过了一定的时间。这消除了节点信任外部时间戳或相互协调以建立时间排序的需要,消除了传统区块链共识中的根本瓶颈。

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核心数水平扩展。

序列还支持高效证明两个事件以特定顺序发生。给定在计数器值nm(其中n m)处的两个数据插入,任何人都可以通过检查这些点之间的哈希链来验证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序列偏离网络中位数太远的领导者的区块。

这种时间戳机制解决了分布式系统中的一个基本问题:在没有受信任的中央机构的情况下建立共同的时间概念。通过使用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是他们在当前分叉上进行的连续投票次数。这种指数锁定机制使系统在允许快速最终性的同时抵御远程攻击。一旦绝对多数的权益在足够深度上对区块投票,该区块就被有效地最终确定。

惩罚条件强制执行诚实行为。如果验证者在应该被锁定的期间对两个冲突的分叉投票,他们将被惩罚——质押的代币被部分销毁,并从验证者集合中移除。这使得尝试模棱两可或其他拜占庭行为在经济上不合理。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机制通过让验证者使用从其身份派生的验证者特定密钥,以CBC(Cipher Block Chaining)模式加密账本段来工作。加密过程使每个加密依赖于前一个块,创建一个对每个验证者唯一的链。这防止验证者简单地从彼此复制加密数据——每个验证者必须存储和处理原始账本数据才能生成其唯一的加密版本。

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

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

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

这种流式PoRep方法与传统的存储证明系统相比开销较低。验证者可以在数据到达时进行加密,并以最小延迟响应挑战。系统还支持数据丢失时的恢复——如果验证者丢失了部分账本,可以从其他验证者重新下载并重新加密。PoRep与PoH时间戳的结合创建了一个完整的问责系统,网络可以验证数据的创建时间以及它在验证者网络中被正确存储。

System Architecture

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千兆网络连接上,理论最大吞吐量约为每秒710,000笔交易,假设每笔交易176字节(包括签名和元数据)。此计算基于网络带宽作为主要瓶颈,计算瓶颈已通过并行化消除。

签名验证通常是区块链性能的限制因素,通过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为之前因可扩展性限制而不可行的新一代区块链应用打开了大门。