Gulf stream: Solana的无内存池事务转发协议

了解使Solana的50,000 TPS区块链网络成为可能的7项关键技术之一
Solana是世界上性能最好的免证区块链。在Solana测试网的当前迭代中,当使用GPU运行时,由200个物理上不同的节点组成的网络支持每秒超过50,000个事务的持续吞吐量。
有7项关键创新使得Solana网络成为可能:
历史证明 (POH):共识之前的时序;
Tower BFT:PBFT 的 PoH 优化版本;
Turbine:区块传播协议;
Gulf Stream :快速事务转发协议;
Pipeline VM :并行智能合约运行时;
Cloudbreak :水平缩放的帐户数据库;
复制器 :分布式帐本存储
在这篇博客文章中,我们将探讨Solana应对一个高性能的敌对网络的内存池管理的解决方案——Gulf Stream。在以后的博客文章中,我们将列出所有7项关键创新。
内存池释义
内存池是一组已提交但尚未被网络处理的事务。你可以看到Bitcoin 和Ethereum 现在就在使用内存池。
“30天Bitcoin 内存池(以字节为单位)。
30天Bitcoin 内存池(以字节为单位)。”
30天的Ethereum内存池,以事务量度量
如上所示,对于Bitcoin 和Ethereum 来说,未经确认的事务数量通常在2万到10万之间。内存池的大小——最常用未经确认的事务数量来衡量——取决于块空间的供需情况。即使在区块链时代的早期,当内存池增加时,也会对整个网络造成严重的瓶颈效应。
那么, Solana是如何做得更好的呢?在不增加网络吞吐量的情况下,Solana验证器可以管理100,000个内存池大小。这意味着,如果网络吞吐量为50,000 TPS,那么在几秒钟内就会执行100,000个事务内存池。这就是为什么Solana是世界上性能最好的免许可区块链。
令人印象深刻,对吧?但是这个简单的分析忽略了很多重要的因素…
Ethereum和Bitcoin中的内存池使用流言算法在随机节点之间以对等方式传播。网络中的节点定期构造一个表示本地内存池的布隆过滤器,并向网络上的其他节点请求不匹配该过滤器的任何事务(以及少量其他事务,如最低费用)。将单个事务传播到网络的其他部分将至少需要log(N)个步骤,这将消耗过滤它所需的带宽、内存和计算资源。
当基准客户端开始每秒生成100,000个事务时,流言算法就会不堪重负。计算过滤器以及在机器之间应用过滤器,同时在内存中维护所有事务的成本变得非常高。领导者(块生产者)还必须在块中重新传输相同的事务,这意味着每个事务至少在网络中传播两次。这既不高效也不实用。
Gulf Stream简介
我们在Solana网络上解决这个问题的方法是将事务缓存和转发推到网络的边缘。我们称之为Gulf Stream。因为每个验证器都知道即将到来的领导者的顺序,所以客户端和验证器会提前将事务转发给预期的领导者。这允许验证器提前执行事务,减少确认时间,更快地切换领导人,并减少来自未确认事务池的验证器的内存压力。这种解决方案在具有非确定性领导的网络中是不可能的
那么它是如何工作的呢?客户端(如钱包)签署引用特定块散列的事务。客户端选择一个最近才被网络完全确认的块散列。块大约每800ms被提议一次,并且需要指数级增长的超时来展开每一个额外的块。在最坏的情况下,使用我们的默认超时曲线时,完全确认的块散列是32块旧的。事务仅在引用块的子块中有效,并且仅对X块有效。虽然X还没有最终确定,但我们预计块散列的TTL(存活时间)大约为32块。假设块时间为800ms,即24秒。
一旦事务被转发到任何验证器,验证器就会将其转发给即将到来的领导者之一。客户端可以订阅来自验证器的事务确认。客户端知道块散列在有限的时间内过期,或者由网络确认事务。这允许客户端签署保证执行或失败的事务。一旦网络通过回滚点,使得事务引用的块散列过期,客户端就可以保证事务现在是无效的,并且永远不会在链上执行。
免除束缚:Anatoly Yakovenko,Solana的首席执行官和创始人之一:“Sharding”实际上意味着什么……
‎Anatoly Yakovenko,Solana的首席执行官和创始人之一。在这段对话中,Anatoly和Anthony Pompliano讨论了。。。podcasts.apple.com
在这个体系结构中有许多固有的积极的副作用。首先,在负载下验证器可以提前执行事务并删除任何失败的事务。其次,领导者可以根据转发事务的验证器的权益权重对处理事务进行优先级排序。这允许网络在大规模拒绝服务期间优雅地降级。
很明显,到目前为止,区块链网络的功能仅限于它的内存池是最小的。虽然网络有限的事务吞吐量进行的宏伟的努力试图改造全新的扩展技术来解决日益增长的内存池,Solana从概念开始就经过了设计,采用了“历史证明”、“Gulf Stream, 和 Pipeline VM等优化技术,以解决第一代区块链网络的问题,并实现巨大的事务吞吐量。这是从一开始就在全球范围内飞速发展的,也是为世界各地的企业、经济和人民创建一个高度功能分散的基础设施的根本发展。