Solana: Kiến trúc mới cho blockchain hiệu suất cao

作者 Anatoly Yakovenko · 2017

Abstract

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

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

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

Abstract

Bài viết này trình bày một kiến ​​trúc mới cho một blockchain hiệu suất cao. Solana triển khai cơ chế chấm công mới được gọi là Bằng chứng lịch sử (PoH) — một bằng chứng để xác minh thứ tự và thời gian trôi qua giữa các sự kiện. PoH được sử dụng để mã hóa thời gian trôi qua không đáng tin cậy thành ledger, tạo ra bản ghi lịch sử chứng minh rằng một sự kiện đã xảy ra tại một thời điểm cụ thể.

Sự đổi mới quan trọng là PoH cho phép các nút trong mạng thiết lập thứ tự sự kiện tạm thời mà không yêu cầu chúng liên lạc với nhau. Bằng cách sử dụng hàm trì hoãn có thể kiểm chứng được triển khai dưới dạng chuỗi băm tuần tự, hệ thống sẽ tạo ra đồng hồ mật mã cung cấp cách xác minh thời gian trôi qua giữa các sự kiện. Điều này cho phép mạng xử lý hàng nghìn giao dịch mỗi giây trong khi vẫn duy trì tính phân cấp và bảo mật.

PoH được tích hợp cơ chế đồng thuận Proof of Stake (PoS). Sự kết hợp này cho phép kiến ​​trúc blockchain được tối ưu hóa cao, trong đó validators có thể xác minh các giao dịch song song và đạt được sự đồng thuận một cách hiệu quả. Hệ thống này được thiết kế để mở rộng quy mô theo Định luật Moore, tận dụng sự gia tăng hiệu suất phần cứng để cải thiện thông lượng mà không phải hy sinh sự đảm bảo an ninh của mạng phi tập trung.

Introduction

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

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

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

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

Introduction

Thách thức cơ bản trong các hệ thống blockchain là đạt được thông lượng giao dịch cao trong khi vẫn duy trì tính phân cấp và bảo mật. Việc triển khai blockchain hiện tại bị hạn chế bởi các cơ chế đồng thuận, đòi hỏi phải có sự giao tiếp rộng rãi giữa các nút để thống nhất về thời gian và thứ tự các sự kiện. Chi phí phối hợp này tạo ra một nút cổ chai ngăn cản các chuỗi khối hiện có mở rộng quy mô để đáp ứng nhu cầu của các ứng dụng quy mô toàn cầu.

Vấn đề cốt lõi là thời gian. Trong các hệ thống phân tán, các nút không thể dựa vào đồng hồ bên ngoài vì chúng không thể tin rằng dấu thời gian của các nút khác là chính xác. Các giao thức đồng thuận blockchain truyền thống giải quyết vấn đề này bằng cách cho các nút giao tiếp rộng rãi để thống nhất về trạng thái hiện tại và thứ tự giao dịch. Chi phí liên lạc này về cơ bản hạn chế thông lượng, vì mạng chỉ có thể xử lý các giao dịch nhanh như các nút có thể đạt được sự đồng thuận về thứ tự của chúng.

Solana giới thiệu Bằng chứng Lịch sử như một giải pháp cho vấn đề về thời gian này. PoH cung cấp một phương pháp mã hóa để chứng minh rằng một khoảng thời gian nhất định đã trôi qua giữa các sự kiện mà không dựa vào dấu thời gian từ các tác nhân độc hại tiềm ẩn. Bằng cách tạo một bản ghi lịch sử có thể kiểm chứng, PoH cho phép các nút xử lý các giao dịch một cách độc lập trong khi vẫn có thể chứng minh thứ tự các sự kiện xảy ra. Bước đột phá này cho phép mạng song song xử lý giao dịch và tăng đáng kể thông lượng.

Cái nhìn sâu sắc quan trọng là nếu chúng ta có thể tạo ra nguồn thời gian không cần tin cậy, chúng ta có thể loại bỏ nút thắt phối hợp khỏi sự đồng thuận. Với PoH cung cấp đồng hồ mật mã, validators có thể xử lý các giao dịch song song và chỉ cần giao tiếp để hoàn tất thứ tự chuẩn. Sự thay đổi kiến ​​trúc này cho phép Solana đạt được mức hiệu suất mà trước đây được cho là không thể có trong một chuỗi khối phi tập trung.

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笔交易,并且吞吐量会随硬件改进而扩展。

Outline

Bài viết này mô tả kiến ​​trúc kỹ thuật của Solana, tập trung vào cách Bằng chứng Lịch sử cho phép vận hành chuỗi khối hiệu suất cao. Tài liệu đầu tiên giải thích cơ chế PoH - cách chuỗi băm tuần tự tạo ra thứ tự sự kiện theo thời gian có thể kiểm chứng được. Chúng tôi trình bày chi tiết các thuộc tính mật mã giúp PoH an toàn và chứng minh cách validators có thể xác minh chuỗi PoH một cách hiệu quả.

Sau đó, bài viết khám phá cách PoH tích hợp với sự đồng thuận Proof of Stake. Chúng tôi mô tả Tower BFT, một thuật toán PoS được thiết kế đặc biệt để tận dụng các đặc tính tạm thời của PoH. Việc tích hợp cho phép validators bỏ phiếu về trạng thái của ledger tại các dấu thời gian PoH cụ thể, tạo ra cơ chế đồng thuận vừa nhanh chóng vừa an toàn. Chúng tôi cũng giải thích các điều kiện cắt để ngăn chặn hành vi nguy hiểm.

Tiếp theo, chúng tôi trình bày các giao thức truyền dữ liệu và thiết kế mạng của Solana. Giao thức Gulf Stream cho phép chuyển tiếp giao dịch mà không cần mempool, cho phép khách hàng gửi giao dịch trực tiếp đến các nhà lãnh đạo sắp tới. Chúng tôi mô tả cách hoạt động của việc luân chuyển người lãnh đạo và cách mạng duy trì thông lượng cao ngay cả khi người lãnh đạo thay đổi.

Cuối cùng, chúng tôi thảo luận về kiến ​​trúc hệ thống bao gồm Đơn vị xử lý giao dịch (TPU), thời gian chạy song song Sealevel và Bằng chứng sao chép để xác minh lưu trữ dữ liệu. Các dự đoán về hiệu suất chứng minh rằng Solana có thể xử lý hơn 700.000 giao dịch mỗi giây trên mạng gigabit tiêu chuẩn, với khả năng mở rộng thông lượng khi phần cứng được cải thiện.

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能够在不牺牲去中心化的情况下实现高吞吐量。

Network Design

Thiết kế mạng của Solana xoay quanh hệ thống lãnh đạo luân phiên trong đó validators thay phiên nhau sản xuất các khối. Người đứng đầu chịu trách nhiệm sắp xếp các giao dịch đến vào luồng PoH và xuất bản các khối kết quả lên mạng. Các nhà lãnh đạo được lựa chọn thông qua thuật toán có trọng số cổ phần và lịch trình luân chuyển được biết trước, cho phép mạng tối ưu hóa việc chuyển tiếp giao dịch.

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

Giao thức Gulf Stream loại bỏ sự cần thiết của một mempool truyền thống bằng cách cho phép khách hàng chuyển tiếp các giao dịch trực tiếp đến các nhà lãnh đạo sắp tới. Khi khách hàng gửi một giao dịch, nó sẽ được chuyển tiếp đến người lãnh đạo dự kiến ​​dựa trên lịch trình luân chuyển. Nếu người lãnh đạo hiện tại không thể xử lý giao dịch, nó sẽ chuyển tiếp nó đến người lãnh đạo dự kiến ​​tiếp theo. Thiết kế này giúp giảm độ trễ xác nhận và cho phép validators thực hiện các giao dịch trước thời hạn, tối ưu hóa hơn nữa thông lượng.

Tuyên truyền giao dịch sử dụng cách tiếp cận nhiều lớp. Khách hàng gửi giao dịch tới validators, người này sẽ chuyển tiếp chúng tới người lãnh đạo hiện tại hoặc sắp tới. Người lãnh đạo sắp xếp các giao dịch vào luồng PoH, tạo ra thứ tự tổng thể. Sau khi được sắp xếp theo trình tự, người lãnh đạo sẽ truyền luồng PoH và dữ liệu giao dịch tới validators, người sẽ xác minh trình tự PoH và thực hiện các giao dịch song song.

Thiết kế mạng cũng bao gồm giao thức truyền khối tuabin giúp chia các khối thành các gói nhỏ hơn và phân phối chúng trên mạng theo cấu trúc cây. Cách tiếp cận này giảm thiểu yêu cầu về băng thông cho validators riêng lẻ trong khi vẫn đảm bảo việc truyền khối nhanh chóng. Kết hợp với khả năng xác minh thứ tự giao dịch của PoH, kiến ​​trúc này cho phép Solana đạt được thông lượng cao mà không phải hy sinh khả năng phân cấp.

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

Bằng chứng lịch sử là một hàm trì hoãn có thể kiểm chứng được triển khai dưới dạng chuỗi băm tuần tự sử dụng SHA-256. Trình tạo PoH liên tục tính toán các hàm băm SHA-256, sử dụng mỗi đầu ra làm đầu vào cho hàm băm tiếp theo. Điều này tạo ra một chuỗi tuần tự trong đó mỗi hàm băm chỉ có thể được tính sau chuỗi trước đó, thiết lập một thứ tự thời gian có thể kiểm chứng được. Yêu cầu tính toán để tạo ra mỗi hàm băm buộc phải có độ trễ thời gian tối thiểu giữa các sự kiện.

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

Đặc tính quan trọng của PoH là chi phí xác minh rẻ nhưng chi phí sản xuất đắt. Trình xác minh có thể kiểm tra song song toàn bộ chuỗi băm bằng cách chia nó thành các phân đoạn và kiểm tra từng phân đoạn một cách độc lập, sau đó xác minh rằng các phân đoạn đó kết nối đúng cách. Tuy nhiên, việc tạo phải tuần tự - không có cách nào để dự đoán đầu ra của chuỗi băm mà không thực sự tính toán từng bước trung gian. Sự bất cân xứng giữa việc tạo và xác minh này là điều khiến PoH trở nên thiết thực.

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

Các sự kiện bên ngoài và dữ liệu giao dịch được chèn vào chuỗi PoH bằng cách trộn chúng vào chuỗi băm. Khi một giao dịch đến, hàm băm của nó được kết hợp với trạng thái PoH hiện tại, tạo ra một bản ghi chứng minh giao dịch tồn tại tại thời điểm đó trong chuỗi. Trình tạo PoH ghi lại các điểm kiểm tra định kỳ, xuất bản giá trị băm hiện tại cùng với số lượng giá trị băm được tính kể từ điểm kiểm tra cuối cùng. Các điểm kiểm tra này cho phép validators xác minh hiệu quả chuỗi PoH mà không cần tính toán lại mọi hàm băm.

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

Chuỗi PoH đóng vai trò là đồng hồ mật mã cho toàn bộ mạng. Bởi vì chuỗi băm là tuần tự và có thể kiểm chứng được nên bất kỳ nút nào cũng có thể chứng minh rằng một khoảng thời gian nhất định đã trôi qua giữa hai sự kiện chỉ bằng cách hiển thị các giá trị băm được tính toán trong khoảng thời gian đó. Điều này giúp loại bỏ nhu cầu các nút phải tin cậy vào dấu thời gian bên ngoài hoặc phối hợp với nhau để thiết lập thứ tự tạm thời, loại bỏ nút thắt cơ bản trong sự đồng thuận blockchain truyền thống.

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

Proof of History Sequence

Proof of History序列是一个连续的SHA-256哈希链,其中每个哈希依赖于前一个输出。序列从初始种子值开始,该值被哈希以产生第一个输出。此输出成为下一个哈希的输入,过程无限重复。生成器还维护一个计数器,跟踪计算的哈希总数,作为账本中事件的PoH"时间戳"。

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

当需要将数据插入序列时(如交易哈希或验证者签名),使用确定性混合函数将其与当前哈希状态结合。例如,如果当前哈希状态是hash_n,我们想插入数据D,则计算hash_{n+1} = SHA256(hash_n || D),其中||表示连接。插入点与计数器值一起记录,证明数据D在序列的该特定点存在。

PoH序列的验证可以通过将链分成段来并行化。例如,验证者可能每10,000个哈希接收一次PoH检查点。要验证检查点之间的序列,验证者可以将10,000个哈希分成100个段,每段100个哈希,独立并行验证每个段,然后验证各段正确连接。这允许验证随可用CPU核心数水平扩展。

序列还支持高效证明两个事件以特定顺序发生。给定在计数器值nm(其中n m)处的两个数据插入,任何人都可以通过检查这些点之间的哈希链来验证n处的事件发生在m处的事件之前。此属性使Solana能够创建网络中所有事件的可验证历史记录,而无需节点持续在线或信任外部时间源。

Proof of History Sequence

Chuỗi Bằng chứng Lịch sử là một chuỗi băm SHA-256 liên tục trong đó mỗi hàm băm phụ thuộc vào đầu ra trước đó. Chuỗi bắt đầu bằng giá trị hạt giống ban đầu, được băm để tạo ra đầu ra đầu tiên. Đầu ra này trở thành đầu vào cho hàm băm tiếp theo và quá trình lặp lại vô thời hạn. Trình tạo cũng duy trì một bộ đếm theo dõi tổng số giá trị băm được tính toán, đóng vai trò là "dấu thời gian" PoH cho các sự kiện trong ledger.

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

Khi dữ liệu cần được chèn vào chuỗi (chẳng hạn như băm giao dịch hoặc chữ ký validator), nó sẽ được kết hợp với trạng thái băm hiện tại bằng cách sử dụng hàm trộn xác định. Ví dụ: nếu trạng thái băm hiện tại là hash_n và chúng tôi muốn chèn dữ liệu D, chúng tôi tính toán hash_{n+1} = SHA256(hash_n || D), trong đó || biểu thị sự nối. Điểm chèn được ghi lại cùng với giá trị bộ đếm, chứng minh rằng dữ liệu D tồn tại tại điểm cụ thể đó trong chuỗi.

Việc xác minh trình tự PoH có thể được thực hiện song song bằng cách chia chuỗi thành các đoạn. Ví dụ: validator có thể nhận được điểm kiểm tra PoH sau mỗi 10.000 lần băm. Để xác minh trình tự giữa các điểm kiểm tra, validator có thể chia 10.000 giá trị băm thành 100 phân đoạn, mỗi phân đoạn có 100 giá trị băm, xác minh song song từng phân đoạn một cách độc lập và sau đó xác minh rằng các phân đoạn đó kết nối đúng cách. Điều này cho phép xác minh mở rộng theo chiều ngang với số lượng lõi CPU có sẵn.

Trình tự này cũng hỗ trợ các bằng chứng hiệu quả cho thấy hai sự kiện xảy ra theo một thứ tự cụ thể. Cho hai phần chèn dữ liệu tại các giá trị bộ đếm nm trong đó n m, bất kỳ ai cũng có thể xác minh rằng sự kiện tại n đã xảy ra trước sự kiện tại m bằng cách kiểm tra chuỗi băm giữa các điểm đó. Thuộc tính này cho phép Solana tạo bản ghi lịch sử có thể xác minh được về tất cả các sự kiện trong mạng mà không yêu cầu các nút phải trực tuyến liên tục hoặc tin cậy vào các nguồn thời gian bên ngoài.

Timestamp

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

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

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

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

Timestamp

Proof of History functions as a decentralized clock that assigns timestamps to events without relying on wall-clock time. Each PoH hash represents a discrete "tick" of the cryptographic clock, and the counter value serves as the timestamp. Bởi vì chuỗi băm là tuần tự và có thể xác minh được nên những dấu thời gian này không đáng tin cậy — bất kỳ người quan sát nào cũng có thể xác minh rằng dấu thời gian là hợp pháp bằng cách kiểm tra chuỗi băm.

Trong Solana, mỗi validator có thể tạo chuỗi PoH của riêng mình khi đóng vai trò là người dẫn đầu. Khi validators luân phiên lãnh đạo, họ đồng bộ hóa trình tự PoH của mình bằng cách sử dụng điểm kiểm tra được xác nhận cuối cùng từ người lãnh đạo trước đó. Điều này đảm bảo tính liên tục của bản ghi tạm thời ngay cả khi các validators khác nhau lần lượt tạo ra các khối. Mạng thiết lập một dòng thời gian chuẩn bằng cách đạt được sự đồng thuận về việc chấp nhận các chuỗi PoH nào như một phần của ledger chính thức.

Hệ thống xử lý độ lệch xung nhịp và sự khác biệt trong hiệu suất phần cứng thông qua sự kết hợp giữa xoay vòng chỉ huy và đồng thuận. Nếu một nhà lãnh đạo độc hại hoặc bị lỗi cố gắng tạo dấu thời gian PoH với tốc độ không chính xác (quá nhanh hoặc quá chậm), validators có thể phát hiện điều này bằng cách so sánh tốc độ đánh dấu PoH với các trình tạo PoH cục bộ của chúng. Những sai lệch đáng kể so với tỷ lệ dự kiến ​​cho thấy có vấn đề và validators có thể từ chối các khối từ các nhà lãnh đạo có trình tự PoH phân kỳ quá xa so với mức trung bình của mạng.

Cơ chế đánh dấu thời gian này giải quyết một trong những vấn đề cơ bản trong hệ thống phân tán: thiết lập một khái niệm chung về thời gian mà không cần có cơ quan trung ương đáng tin cậy. Bằng cách sử dụng PoH làm đồng hồ phi tập trung, Solana cho phép validators xử lý các giao dịch song song trong khi vẫn duy trì trật tự nhất quán trên toàn cầu. Dấu thời gian cũng cung cấp nền tảng cho các tính năng dựa trên thời gian như hết hạn giao dịch, hoạt động theo lịch trình và đo lường hiệu suất.

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系统安全保障的同时,在几秒内实现最终性。

Proof of Stake Consensus

Cơ chế đồng thuận của Solana, được gọi là Tower BFT, là một thuật toán Proof of Stake được thiết kế đặc biệt để tận dụng các thuộc tính tạm thời của Proof of History. Người xác thực đặt cược mã thông báo SOL để tham gia đồng thuận và kiếm phần thưởng cho việc xác thực các khối một cách chính xác. Hệ thống bỏ phiếu theo tỷ lệ cổ phần đảm bảo rằng validators có nhiều lợi ích kinh tế hơn trong mạng sẽ có ảnh hưởng tương ứng nhiều hơn đến các quyết định đồng thuận.

Sự đổi mới cốt lõi trong Tower BFT là việc sử dụng thời gian khóa tăng theo cấp số nhân với mỗi lần bỏ phiếu liên tiếp. Khi validator bỏ phiếu cho hàm băm PoH, họ cam kết thực hiện phân nhánh đó của ledger cho một số lượng dấu tích PoH nhất định. Nếu họ bỏ phiếu cho khối tiếp theo trong nhánh đó, thời gian khóa sẽ tăng gấp đôi. Điều này tạo ra động lực kinh tế mạnh mẽ để validators tiếp tục bỏ phiếu trên cùng một nhánh, vì việc chuyển đổi nhánh sẽ yêu cầu phải đợi thời gian khóa trước đó hết hạn.

Cụ thể, nếu validator bỏ phiếu cho một khối ở dấu thời gian PoH t, họ không thể bỏ phiếu cho một fork xung đột cho đến khi 2^n tích tắc trôi qua, trong đó n là số phiếu bầu liên tiếp mà họ đã thực hiện trên fork hiện tại. Cơ chế khóa theo cấp số nhân này giúp hệ thống an toàn trước các cuộc tấn công tầm xa đồng thời cho phép thực hiện nhanh chóng. Khi đa số cổ phần đã bỏ phiếu cho một khối có đủ độ sâu, khối đó sẽ được hoàn thiện một cách hiệu quả.

Điều kiện chặt chém buộc hành vi trung thực. Nếu validator bỏ phiếu trên hai nhánh xung đột trong khoảng thời gian đáng lẽ chúng phải bị khóa, thì chúng sẽ bị cắt — mã thông báo đặt cược của chúng bị phá hủy một phần và chúng bị xóa khỏi bộ validator. Điều này làm cho việc cố gắng nói lập lờ hoặc hành vi Byzantine khác trở nên phi lý về mặt kinh tế. Sự kết hợp giữa dấu thời gian có thể xác minh của PoH và khóa theo cấp số nhân của Tower BFT tạo ra cơ chế đồng thuận vừa nhanh chóng vừa an toàn, đạt được kết quả cuối cùng trong vài giây trong khi vẫn duy trì sự đảm bảo an ninh của các hệ thống BFT truyền thống.

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时间戳的结合创建了一个完整的问责系统,网络可以验证数据的创建时间以及它在验证者网络中被正确存储。

Streaming Proof of Replication

Bằng chứng sao chép (PoRep) là một cơ chế cho phép validators chứng minh rằng họ đang lưu trữ dữ liệu ledger mà không tiết lộ chính dữ liệu đó hoặc yêu cầu tính toán chuyên sâu. Solana triển khai phiên bản phát trực tuyến của PoRep trong đó validators liên tục chứng minh rằng họ đang sao chép trạng thái blockchain. Điều này rất cần thiết cho bảo mật mạng vì nó đảm bảo rằng dữ liệu ledger được phân phối hợp lý trên validators và không tập trung ở một vài vị trí.

Cơ chế PoRep hoạt động bằng cách mã hóa validators các phân đoạn của ledger bằng cách sử dụng mã hóa chế độ CBC (Chuỗi khối mật mã) bằng khóa dành riêng cho validator bắt nguồn từ danh tính của chúng. Quá trình mã hóa sao cho mỗi khối được mã hóa phụ thuộc vào khối trước đó, tạo ra một chuỗi duy nhất cho mỗi validator. Điều này ngăn validators sao chép dữ liệu được mã hóa lẫn nhau — mỗi validator phải lưu trữ và xử lý dữ liệu ledger gốc để tạo phiên bản mã hóa duy nhất của chúng.

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

Theo định kỳ, mạng đưa ra thách thức đối với validators yêu cầu họ cung cấp các khối được mã hóa cụ thể. Vì mã hóa được xâu chuỗi nên validator phải lưu trữ tất cả các khối trước đó để tạo ra phản hồi chính xác. validator gửi khối được mã hóa của họ cùng với bằng chứng Merkle cho thấy vị trí của nó trong ledger được mã hóa của họ. Mạng có thể xác minh bằng chứng này một cách nhanh chóng mà không cần giải mã hoặc mã hóa lại dữ liệu.

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

Phương pháp phát trực tuyến tới PoRep này có chi phí hoạt động thấp so với các hệ thống chứng minh lưu trữ truyền thống. Người xác thực có thể mã hóa dữ liệu khi dữ liệu đến và phản hồi các thách thức với độ trễ tối thiểu. Hệ thống cũng cho phép khôi phục trong trường hợp mất dữ liệu — nếu validator mất một phần ledger, họ có thể tải xuống lại từ validators khác và mã hóa lại. Sự kết hợp giữa PoRep với dấu thời gian PoH tạo ra một hệ thống giải trình hoàn chỉnh trong đó mạng có thể xác minh cả thời điểm dữ liệu được tạo và dữ liệu đó được lưu trữ đúng cách trên mạng validator.

System Architecture

Solana的系统架构被设计为流水线,交易处理的不同阶段并行进行。Transaction Processing Unit(TPU)是负责处理传入交易的核心组件。TPU由几个阶段组成:fetch(收集交易)、签名验证、banking(交易执行)和write(提交到存储)。每个阶段对不同的交易并行操作,类似于CPU流水线。

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

签名验证使用GPU加速,GPU在验证交易签名所需的椭圆曲线加密操作方面效率很高。通过将这个计算密集型任务卸载到GPU,Solana可以在商用硬件上以每秒超过900,000次的速率验证签名。这种并行签名验证防止了即使在非常高的交易速率下加密验证成为瓶颈。

Solana PoH generator network throughput limits showing bandwidth and processing constraints

Sealevel运行时是Solana的并行智能合约执行引擎。与顺序执行交易的传统区块链不同,Sealevel分析交易以识别它们访问哪些账户,并在多个CPU核心上并行执行不冲突的交易。访问相同账户的交易为保持一致性而顺序执行,但访问不同账户的交易可以同时运行。这种并行性之所以可能,是因为PoH建立了全局排序——验证者可以按任何顺序执行交易,只要按PoH指定的序列将其应用于状态。

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

架构还包括用于区块传播和存储的优化组件。Turbine区块传播协议使用纠删码将区块分解为更小的数据包,并以树形结构在网络中分发,最小化带宽需求。Archivers网络使用PoRep确保数据可用性,为历史账本数据提供去中心化存储。这些组件共同创建了一个系统,能够在保持区块链去中心化和安全属性的同时每秒处理数十万笔交易。

System Architecture

Kiến trúc hệ thống của Solana được thiết kế dưới dạng một đường dẫn trong đó các giai đoạn xử lý giao dịch khác nhau diễn ra song song. Đơn vị xử lý giao dịch (TPU) là thành phần cốt lõi chịu trách nhiệm xử lý các giao dịch đến. TPU bao gồm một số giai đoạn: tìm nạp (thu thập giao dịch), xác minh chữ ký, lưu trữ (thực hiện giao dịch) và ghi (cam kết lưu trữ). Mỗi giai đoạn hoạt động song song trên các giao dịch khác nhau, tương tự như đường ống CPU.

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

Việc xác minh chữ ký được tăng tốc bằng cách sử dụng GPU, có hiệu quả cao đối với các hoạt động mã hóa đường cong elip cần thiết để xác minh chữ ký giao dịch. Bằng cách chuyển nhiệm vụ tính toán chuyên sâu này sang GPU, Solana có thể xác minh chữ ký với tốc độ vượt quá 900.000 mỗi giây trên phần cứng thông thường. Việc xác minh chữ ký song song này ngăn việc xác thực mật mã trở thành nút thắt cổ chai ngay cả ở tốc độ giao dịch rất cao.

Solana PoH generator network throughput limits showing bandwidth and processing constraints

Thời gian chạy Sealevel là công cụ thực thi hợp đồng thông minh song song của Solana. Không giống như các chuỗi khối truyền thống thực hiện các giao dịch một cách tuần tự, Sealevel phân tích các giao dịch để xác định tài khoản nào chúng truy cập và thực hiện các giao dịch không xung đột song song trên nhiều lõi CPU. Các giao dịch truy cập vào cùng một tài khoản được thực hiện tuần tự để duy trì tính nhất quán, nhưng các giao dịch truy cập vào các tài khoản khác nhau có thể chạy đồng thời. Sự song song này có thể thực hiện được vì PoH thiết lập trật tự toàn cầu — validators có thể thực hiện các giao dịch theo bất kỳ thứ tự nào miễn là chúng áp dụng chúng cho trạng thái theo trình tự do PoH chỉ định.

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

Kiến trúc cũng bao gồm các thành phần được tối ưu hóa để truyền và lưu trữ khối. Giao thức truyền khối tuabin sử dụng mã hóa xóa để chia các khối thành các gói nhỏ hơn được phân phối trên mạng theo cấu trúc cây, giảm thiểu yêu cầu băng thông. Mạng Archivers cung cấp khả năng lưu trữ phi tập trung cho dữ liệu ledger lịch sử, sử dụng PoRep để đảm bảo tính khả dụng của dữ liệu. Cùng với nhau, các thành phần này tạo ra một hệ thống có thể xử lý hàng trăm nghìn giao dịch mỗi giây trong khi vẫn duy trì các đặc tính phân quyền và bảo mật của một blockchain.

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能够在保持安全性和去中心化保障的同时,实现之前在去中心化系统中被认为不可能的性能水平。

Performance

Kiến trúc của Solana được thiết kế để đạt được mức hiệu suất mở rộng theo quy mô cải tiến phần cứng, tuân theo Định luật Moore. Trên kết nối mạng 1 gigabit tiêu chuẩn, thông lượng tối đa theo lý thuyết là khoảng 710.000 giao dịch mỗi giây, giả sử 176 byte mỗi giao dịch (bao gồm chữ ký và siêu dữ liệu). Tính toán này dựa trên băng thông mạng là nút thắt cổ chai chính, với các nút thắt cổ chai tính toán được loại bỏ thông qua quá trình song song hóa.

Xác minh chữ ký, thường là yếu tố hạn chế trong hiệu suất blockchain, được tăng tốc bằng cách sử dụng song song GPU. Một GPU có thể xác minh hơn 900.000 chữ ký ed25519 mỗi giây, vượt quá giới hạn thông lượng mạng. Điều này có nghĩa là việc xác minh chữ ký không hạn chế hiệu suất của hệ thống — nút thắt cổ chai chuyển sang băng thông mạng và thực hiện giao dịch. Đối với các giao dịch đơn giản chỉ chuyển giá trị mà không có logic hợp đồng thông minh phức tạp, giai đoạn ngân hàng có thể xử lý các giao dịch ở mức phù hợp với tốc độ đầu vào của mạng.

Trình tạo PoH chạy trên lõi CPU chuyên dụng, tạo ra khoảng 4.000 băm mỗi mili giây trên bộ xử lý 4GHz. Với tốc độ này, chuỗi PoH cung cấp dấu thời gian với độ chi tiết 0,25 micro giây, đủ để đặt hàng hàng triệu giao dịch mỗi giây. Bản chất tuần tự của việc tạo PoH có nghĩa là thành phần này không thể song song, nhưng thông lượng đủ cao để không giới hạn hiệu suất tổng thể của hệ thống.

Khi phần cứng được cải thiện, thông lượng của Solana sẽ tăng theo. Mạng nhanh hơn, GPU mạnh hơn và CPU cải tiến đều góp phần mang lại tỷ lệ giao dịch cao hơn. Hệ thống được thiết kế để tận dụng những cải tiến này mà không yêu cầu thay đổi giao thức. Cách tiếp cận về khả năng mở rộng này trái ngược với các chuỗi khối về cơ bản bị hạn chế bởi các cơ chế đồng thuận tuần tự, cho phép Solana đạt được mức hiệu suất mà trước đây được cho là không thể có trong một hệ thống phi tập trung trong khi vẫn duy trì bảo đảm an ninh và phân cấp.

Conclusion

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

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

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

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

Conclusion

Bằng chứng lịch sử thể hiện bước đột phá cơ bản trong kiến ​​trúc blockchain bằng cách giải quyết vấn đề về thời gian đã hạn chế khả năng mở rộng của ledger phân tán. Bằng cách tạo ra một đồng hồ mật mã có thể xác minh được, PoH cho phép validators thiết lập thứ tự tạm thời của các sự kiện mà không cần tốn nhiều chi phí liên lạc như các cơ chế đồng thuận truyền thống yêu cầu. Sự đổi mới này loại bỏ nút thắt cổ chai quan trọng và cho phép xử lý giao dịch được song song trên mạng.

Việc tích hợp PoH với các thành phần hệ thống được tối ưu hóa – xác minh chữ ký được tăng tốc GPU, thực hiện giao dịch song song thông qua Sealevel và các giao thức truyền khối hiệu quả – tạo ra một chuỗi khối có thể xử lý hàng trăm nghìn giao dịch mỗi giây trên phần cứng hàng hóa. Quan trọng hơn, kiến ​​trúc được thiết kế để mở rộng quy mô nhờ những cải tiến về phần cứng, nghĩa là hiệu suất sẽ tiếp tục tăng khi bộ xử lý trở nên nhanh hơn và mạng có nhiều khả năng hơn.

Thiết kế của Solana chứng minh rằng hiệu suất cao và sự phân quyền không loại trừ lẫn nhau. Bằng cách tận dụng PoH làm nền tảng cho sự đồng thuận và phối hợp hệ thống, mạng đạt được mức thông lượng tương đương với cơ sở dữ liệu tập trung trong khi vẫn duy trì các đặc tính bảo mật và chống kiểm duyệt của một chuỗi khối phi tập trung. Cơ chế đồng thuận Tower BFT có trọng số cổ phần đảm bảo rằng mạng vẫn an toàn trước các tác nhân Byzantine trong khi đạt được tính hữu hạn nhanh chóng.

Việc triển khai kiến ​​trúc này cung cấp một con đường thực tế để công nghệ blockchain có thể mở rộng quy mô áp dụng trên toàn cầu. Các ứng dụng yêu cầu thông lượng giao dịch cao — chẳng hạn như sàn giao dịch phi tập trung, nền tảng trò chơi và hệ thống tài chính — giờ đây có thể được xây dựng trên cơ sở hạ tầng phi tập trung thực sự mà không ảnh hưởng đến hiệu suất. Bằng chứng lịch sử mở ra cánh cửa cho một thế hệ ứng dụng blockchain mới mà trước đây không khả thi do hạn chế về khả năng mở rộng.