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

Par Anatoly Yakovenko · 2017

Abstract

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

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

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

Abstract

本文提出了一种高性能区块链的新架构。Solana实现了一种名为Proof of History(PoH)的新型计时机制——一种用于验证事件之间顺序和时间流逝的证明。PoH用于将无需信任的时间流逝编码到账本中,创建一个历史记录,证明某个事件发生在特定的时间点。

关键创新在于PoH允许网络中的节点在无需相互通信的情况下建立事件的时间顺序。通过使用以顺序哈希链实现的可验证延迟函数,系统生成了一个加密时钟,提供了一种验证事件之间时间流逝的方法。这使得网络能够在保持去中心化和安全性的同时每秒处理数千笔交易

PoH与Proof of Stake(PoS)共识机制集成。这种组合使得高度优化的区块链架构成为可能,验证者可以并行验证交易并高效地达成共识。该系统被设计为随摩尔定律扩展,利用硬件性能的提升来改善吞吐量,而不牺牲去中心化网络的安全保障。

Introduction

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

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

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

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

Introduction

区块链系统面临的根本挑战是在保持去中心化和安全性的同时实现高交易吞吐量。当前的区链实现受限于其共识机制,这些机制需要节点之间进行大量通信来就时间和事件排序达成一致。这种协调开销创建了瓶颈,阻止现有区块链扩展以满足全球规模应用的需求。

核心问题是时间。在分布式系统中,节点不能依赖外部时钟,因为它们无法信任其他节点的时间戳是准确的。传统的区块链共识协议通过让节点进行大量通信来就当前状态和交易顺序达成一致来解决这个问题。这种通信开销从根本上限制了吞吐量,因为网络只能以节点就排序达成共识的速度来处理交易。

Solana引入Proof of History作为这个时间问题的解决方案。PoH提供了一种加密方法来证明事件之间已经过了一定的时间,而无需依赖来自潜在恶意行为者的时间戳。通过创建可验证的历史记录,PoH使节点能够独立处理交易,同时仍然能够证明事件发生的顺序。这一突破使网络能够并行化交易处理并大幅提高吞吐量。

关键洞察是,如果我们能创建一个无需信任的时间源,就可以从共识中消除协调瓶颈。通过PoH提供加密时钟,验证者可以并行处理交易,只需在确定规范排序时进行通信。这种架构转变使Solana能够实现之前在去中心化区块链中被认为不可能的性能水平。

Outline

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Proof of History

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

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

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

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

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

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

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

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

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

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

Timestamp

Proof of History作为去中心化时钟运行,在不依赖墙钟时间的情况下为事件分配时间戳。每个PoH哈希代表加密时钟的一个离散"滴答",计数器值作为时间戳。因为哈希链是顺序的且可验证的,这些时间戳是无需信任的——任何观察者都可以通过检查哈希链来验证时间戳的合法性。

在Solana中,每个验证者在充当领导者时可以生成自己的PoH序列。当验证者轮换领导权时,他们使用前一个领导者的最后确认检查点来同步其PoH序列。这确保了即使不同的验证者轮流产生区块,时间记录的连续性也得到保持。网络通过就接受哪些PoH序列作为官方账本的一部分达成共识来建立规范时间线。

系统通过领导者轮换和共识的组合来处理时钟漂移和硬件性能差异。如果恶意或故障的领导者试图以不正确的速率(过快或过慢)生成PoH时间戳,验证者可以通过将PoH滴答率与自己的本地PoH生成器进行比较来检测这一点。与预期速率的显著偏差表明存在问题,验证者可以拒绝PoH序列偏离网络中位数太远的领导者的区块。

这种时间戳机制解决了分布式系统中的一个基本问题:在没有受信任的中央机构的情况下建立共同的时间概念。通过使用PoH作为去中心化时钟,Solana使验证者能够在保持全局一致排序的同时并行处理交易。时间戳还为基于时间的功能提供了基础,如交易过期、定时操作和性能测量。

Proof of Stake Consensus

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Solana PoH generator network throughput limits showing bandwidth and processing constraints

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

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

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

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

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

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

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

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

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

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

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

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

Conclusion

Proof of History通过解决限制分布式账本可扩展性的时间问题,代表了区块链架构的根本性突破。通过创建可验证的加密时钟,PoH使验证者能够在不需要传统共识机制所需的大量通信开销的情况下建立事件的时间排序。这项创新消除了关键瓶颈,允许交易处理在网络中并行化。

PoH与优化的系统组件的集成——GPU加速签名验证、通过Sealevel的并行交易执行和高效的区传播协议——创建了一个能够在商用硬件上每秒处理数十万笔交易的区块链。更重要的是,该架构被设计为随硬件改进而扩展,这意味着随着处理器变得更快、网络变得更强大,性能将持续提高。

Solana的设计证明了高性能和去中心化并非相互排斥。通过利用PoH作为共识和系统协调的基础,网络在保持去中心化区块链的安全性和抗审查属性的同时,实现了与中心化数据库相当的吞吐量水平。权益加权Tower BFT共识机制确保网络在实现快速最终性的同时抵御拜占庭行为者。

该架构的实现为区块链技术扩展到全球采用提供了实际路径。需要高交易吞吐量的应用——如去中心化交易所、游戏平台和金融系统——现在可以在不牺牲性能的情况下构建在真正去中心化的基础设施上。Proof of History为之前因可扩展性限制而不可行的新一代区块链应用打开了大门。