了解Solana:PoH和基站拜占庭容错算法

2021-06-09 12:47:33 作者:金色财经

DeFi急速扩张,困扰公链领域的“不可能三角”问题日益突出,如何破局?一方面是去中心化和安全性的竞争白热化,另一方面,可扩展性也至关重要。

在此维度上,Solana异军突起。

Solana 的可扩展性定位在网络级别,面向web3为区块链世界提供更“丝滑”的未来体验。

依据摩尔定律,理论上标准千兆网络下 TPS 最高 71 万,在实践中,Solana 每秒处理交易最多超过了 50000笔,是公认性能最高的公链。Solana另一个亮点是费用低,确认 100 万笔交易仅需 10 美元。

极致性能的实现得益于Solana的强技术基因和立体式的技术革新。

Solana于2017年由来自高通、英特尔和Dropbox的工程师们创立。

工程师们希望通过技术手段实现“去中心化的节点网络可以匹配单个节点的性能”这一愿景。不过这一切的前提是,工程师们必须对网络中节点之间的通信进行适当优化。但当时行业并没有一个有效的解决方案,因此,为实现这一目标,Solana应运而生。

经过潜心研发,Solana团队推出8项关键创新技术:

工作历史证明 PoH

基站拜占庭容错(Tower BFT)

涡轮机(区块传播协议)

海湾流(无内存交易转发协议)

海平面(并行智能合约)

管道(验证交易)

云散(水平扩展账户数据库)

档案(分布式账本存储)

今天这篇文章将着重介绍工作历史证明PoH和基站拜占庭容错(Tower BFT),从底层逻辑解析Solana是如何在不牺牲去中心化和安全性的前提下实现性能跃升的。

工作历史证明(Proof of History,PoH)

在Layer1拥堵和gas费高昂的现实情况下,Layer2看似“另辟蹊径”,但其本质是直接抛弃历史困境、用去其糟粕的方式推出一个全新事物。

但考虑到建立在Layer1上的无数项目早已生根发芽,桥接、许可、拓展、迁移背后的成本将是巨大的。因此,盛世若要延续,绝非Layer2的推出就能解决一切问题。

不仅如此,新事物的推出也可能伴随其他隐患。

V神曾在自己的推特上表达过对Layer2的担忧,难点在于对于激励需做很多应用层方面的处理,大规模应用也是难点之一。

“实施分片技术(Sharding)的项目可能会在其区块链中引入新的安全风险,更容易受到共识攻击,实施分片的风险远远大于潜在的可扩展性优势。” Solana 首席执行官 Anatoly Yakovenko 表示。

若是在 Layer 2 将网络拆分,就会引入一个额外的攻击媒介。黑客的可控目标变多,若网络中一个分片被黑客接管,多米诺骨牌效应很容易出现,不仅代币的价格会受到影响,用户和节点外流同样不可避免。

底层的高效才能助推生态的繁荣,为解决性能问题,Solana选择全力助推Layer1可扩展性的发展,为开发者提纯底层和经济系统,扫清障碍。在Solana生态中,开发者将能够专注于开发、技术和应用。

那么,Solana是如何在不牺牲去中心化和安全性的同时,保持高TPS的?

与中心化网络相比,去中心化交易网络的性能天生具有“惰性”。在中心化网络的配置中,核心节点具有最大的认证和统一的权利,整个网络在同一步调中行进,专治但高效。以太坊最新吞吐量数据为 25 TPS,而中心化的Visa 大约为 1500 TPS,如此明显的差距就来自于此。

去中心化的网络中,无数权限相同但所处时间逻辑不同的节点,需要先转化为同一“时区”才能得出最终可被认同的结论,能耗自然变大。随着节点的不断增加,拥堵就产生了。

Solana独特的“工作历史证明”PoH,便是解决方案。

工作历史证明机制是从时间维度解放共识认同的逻辑的。Solana 的PoH找到了一个可验证的、共享的时间。SHA 256 作为 Solana 的验证延迟函数(Verifiable Delay Function),具有不可逆性,只能单向计算。

在PoH中,上一个输出作为 SHA256 的当前输入,需要写进的数据附加在输入里,如此往复,周期性地记录每次 SHA 256 输出和次数,验证节点通过验证和重复这个计算过程得到需要的时间间隔。不论传输和变化产生的本地时间如何,他们统一在了SHA 256中。

Solana 的平均出块时间被压缩至 400 毫秒,且无需 Layer2 即拥有较高速度,手续费亦可忽略不计。

通过 PoH 的全新思维,Solana 创造了一个加密安全且无需认证的时间源。

简洁的逻辑和去中心化达成的高度统一,Solana减少了信息传递的消耗并将整个网络整体优化,使得超越目前优秀的中心化系统的性能成为了现实。  

基站拜占庭容错(Tower BFT)

从底层逻辑上释放了处理时间,Solana的第二个创新则旨在利用历史证明来大大提高网络能够处理的交易的吞吐量。

这就是基站拜占庭容错算法(Tower BFT)。

在实践中可抵抗拜占庭式故障、提升容错率是所有公链都在思考的问题。受益于工作历史证明,每个Solana节点既可以了解经过的时间,又可以了解网络上所发生事件的时间顺序。这在应用中使得历史证明成为了达成共识之前的“时钟”,即使被破坏的节点完成不了“通信”,交易仍将按照共识进行。

运行中就会出现以下情形:

具有历史证明寄存器的节点将实现相同的计算,而无需彼此通信。

PoH的每个哈希值都标识注册表的唯一版本(分支)。

在验证过程中,如果注册表中存在节点已投票的哈希值,则投票有效。

这使得Tower BFT可以通过选择锁定系统来保证每一个验证者的投票成为有效投票,在表决结果出现之前将存在一个锁定期(锁定-在400毫秒的时隙中测量),验证者还需同意在此期间仅对他投票的分叉中的分叉投票,并以“削减不履行承诺的验证者的部分股票”作为有力的惩罚机制。

除此之外,Solana的Tower BFT还鼓励验证者投票给合法的区块链分叉,并配合回滚、奖惩机制使得其成为一种独特的异步共识算法。

Solana更偏爱生动而非一致性。

因为Tower BFT的存在,一旦绝大多数节点投票赞成历史证明哈希,该哈希将被“规范化”,便无法恢复到先前的状态。同时,节点的异步投票又支持了更多的派生。

以独创的工作历史证明驱动更简洁的异步共识算法,使得Solana获得了创纪录的区块链吞吐量。

相关推荐

图文推荐