高性能公链

1.Polkadot

Polkadot 是近期的热门公链项目之一,它的创始人 Gavin Wood 也是以太坊的联合创始人。Polkadot 用一套多链架构,使所有接入此架构的区块链之间能够完成通信。现在,Polkadot 先行网 Kusama 上的项目已经开始为插槽拍卖进行众贷。
1.1 共识机制
Polkadot 中涉及到 NPoS、BABE、GRANDPA。
为了让尽可能多的代币质押到网络中,保护网络的安全,Polkadot 采用了 PoS 的变种 NPoS(提名权益证明)机制,在 Polkadot 平行链插槽拍卖之前,也有 Polkadot 生态中的项目使用这种机制。提名人可选择自己信任的节点质押 DOT,并分享节点收益。验证人是中继链的全节点,负责接收来自收集人打包的区块,进行有效性验证,并结合共识算法对区块进行确认。在平行链上线后,验证人会被随机指定给不同的平行链上。

BABE 算法基于 slots,BABE 会在每个 slot 时间段都通过随机函数(VRF)选出一个 leader 来出块。每个节点都会由 VRF 函数来获取一个数值,若得到的值小于预先规定的阈值,节点就认为自己是 leader 并开始出块。因此,这个过程可能没有 leader 或有多个 leader。当没有 leader 时,就按预先确定的顺序决定由谁出块。当有多个 leader 时,每个 leader 都有权提交区块,最终的确认由 GRANDPA 决定。

GRANDPA 祖父协议是基于 GHOST 的递归祖先派生前缀协议,负责区块确认,和其它 PBFT 算法一样,时间复杂度也是 O(n),但 GRANDPA 每次会确认多个区块。

1.2 链结构

Polkadot 中包含四种链,中继链、平行链、平行线程、桥接链。

虽然 Polkadot 中包含多链结构,但是整个网络的安全性均由中继链负责。中继链是 Polkadot 的主链,负责整个网络的生态治理与安全性,实现平行链间的跨链通信。

平行链通过插槽接入中继链,以共享网络的安全,平行链上可以搭载自己的架构和应用。

平行线程与平行链在技术上类似,但无需参加插槽拍卖,按需付费。

桥接链可以方便其它公链接入 Polkadot,实现异构通信。

1.3 网络

Polkadot 基于 Substrate 框架,而 Substrate 采用 bibp2p 模块化的 p2p 网络堆栈。用户可以在 libp2p 上自定义自己的网络协议,点对点的网络协议将这些节点连接起来,组成网络。

1.4 治理

Polkadot 通过链上投票进行治理,治理过程分为提案、投票、计票三个阶段。矿工节点无需重启便能使用新的提案,避免了硬分叉。但是,实际执行中社区用户投票率极低。

1.5 评价

Polkadot 和 ETH 2.0 有相近之处,如 ETH 2.0 的信标链与分片链,Polkadot 的中继链与平行链;两者都是通过分片实现可扩展性,需要解决跨分片通信的问题;都是用 PoS 机制。但两者也有差别,如 ETH 2.0 中的各个分片结构都是相同的,也就是同构分片,而 Polkadot 可以不同,存在异构分片;治理过程中,ETH 2.0 依然依靠硬分叉进行升级,Polkadot 可进行链上治理。

也有人将 Polkadot 与 EOS 进行对比,但两者之间存在较大差距。如 Polkadot 更加去中心化,节点数量更多,而 EOS 依赖超级节点;EOS 安全性较低,黑客攻击与项目跑路事件频发;两者都有大量融资,但 Polkadot 已经对生态中的数百个项目进行资助,而 Block.one 自身持有大量比特币,却对生态建设毫不关心。

2.Solana

在去中心化、安全性、可扩展性这个公链的不可能三角中,Solana 更多的偏向了可扩展性。Solana 没有选择热门的分片方案,跨分片通信中的消息传递难题也使 Polkadot 等公链迟迟没有得到应用。取而代之,Solana 构建了一种新的区块链协议,将时间编码为数据,也就是历史证明。

2.1 共识机制

Solana 中应用的共识机制包括 Proof of History(POH,历史证明+Tower BFT+Proof of Replicate(复制证明)。POH 可将事件的时间编码排序输入到分布式账本中,随后利用 Tower BFT 共识机制来确认 POH 顺序的一致性。可将 Solana 将出块和验证分为两个不同的阶段,由一个节点(leader)负责收集交易并排序出块,其它节点负责验证。

基于 POH,Solana 无需像其它区块链一样需要互相通信才能完成共识。POH 是一组按照时钟进行排序后输出的 SHA-256 可验证延迟函数(VDF)。每个验证者都采用 VDF 来生成自己的 POH,并且投票选择唯一的 leader,leader 将自己的 POH 广播到网络中。在排序时,每一笔交易都需要前一笔交易的 hash,因此验证者可以高效验证 POH 的正确性而不需要互相通信。

Tower BFT 是一种类似于 PBFT,但又不同的共识算法,倾向于灵活性而非一致性。在达成共识前,Solana 可利用 POH 作为全局始终,缩减共识确定和消息传递时间。不需要对等网络中的消息,即可做出投票决定,从而达成共识。

复制证明借鉴于 Filecoin,可缓解网络中的数据压力。网络中每年都要产生巨量的数据,为了不让数据存储成为全节点的限制,存储的数据可从验证者下载到被称为复制器的节点网络中,复制器不参与共识,使用 POH 生成轻量级的证明,可保存分布式账本的各个部分,而验证者可批量验证。

2.2 链结构

Solana 中没有分片等结构,每笔交易都包含了前一笔交易都 hash,因此类似于每笔交易都是一个区块。

2.3 网络

Solana 的区块传播技术被称为 Turbine,参考了 BitTorrent 的 P2P 算法,更多偏结构化。当区块被流化时,它与擦除码一起被分解为小数据包,然后在一大组随机对等点上散开,确保复制在短时间内完成,降低实现最终性的时间。

2.4 治理

Solana 对链上治理持谨慎态度,长期治理将在 Solana 基金会进行,链上治理将是一个最终需要支持的重要特性。

2.5 评价

Solana 的共识创新非常明显,因此能够实现 50000 以上的 TPS。为了避免区块链网络数据带来的负担,也采用了 Filecoin 中的复制证明,降低全节点的要求。

但是 Solana 上的生态建设也比较缓慢,虽然近期已经有大量项目准备在 Solana 上进行开发,但由于 Solana 不支持以太坊虚拟机(EVM),无法像 BSC、Heco 一样让开发者方便迁移。且当前的项目方与 Sam Bankman-Fried 关系过于密切,项目上线时估值过高。

3.Thinkium


Thinkium 是一个专为互联网级别的大规模应用而打造的高性能公链,成立于 2017 年,目前已上线主网。Thinkium 通过一个多层多链的公链网络,集成了各种 Layer1 和 Layer2 扩容技术,满足公链和联盟链等不同的商业应用需求,从而打造 Web3.0 商业世界。

3.1 共识机制

Thinkium 在四层系统架构及共识协议栈中应用了自行设计的 master+TBFT+Siamese 共识算法。

任务层采用 master 共识算法,负责系统的总体共识。所有的请求都会被先发送到任务层,并根据请求类型进行分类,交由特定的委员会处理。节点以随机的方式在委员会之间划分,以确保委员会成员之间不会互相勾结。例如,需要隐私保护的请求可能就会被分到特定的委员会。

第二层处理层中采用 TBFT 共识算法。处理层要解决的是单链共识问题,即在委员会内部节点之间,处理请求,达成共识,并生成日志。由于网络中可以并行处理运算,网络的 TPS 可达到 100000+。

第三层数据层采用 Siamese 共识算法,解决链与链之间的共识问题。处理层中的日志会在数据层中聚合,以生成一个一致的日志。聚合算法集成所有委员会生成的日志,并达成一个统一日志,再通过编码方法来减少节点的存储。

第四层网络层建立节点之间的连接与通信,在多层网络中为每个委员会构建一个共识网络层。

3.2 链结构

Thinkium 设计了「Aplati Tree」扁平树链结构,可无限分层,因此具有无限的扩展性。

树链结构在总体上可分为主链层和子链层,所有节点均在主链网络中,同时又在自身的子链网络中。主链对逻辑结构进行管理,在逻辑上建立父子关系,主链和子链都可往下再有逻辑子链和分片,提高 Thinkium 网络的性能。

3.3 网络

Thinkium 网络同时使用结构化和非结构化方法来提高效率,不同的链和共识协议采用不同的 P2P 网络。结构化 P2P 网络用于减少冗余、提升网络效率,非结构化传输用于保证传输的稳定性。

3.4 治理

与其它公链不同,Thinkium 网络中的提议是要执行的交易,这一点反而与 Compound 等协议的治理类似,可以极大地简化治理流程,不用对同一个提案重复投票。该交易对公投结果的证明进行验证,如果投票通过,经过等待期后,即可直接生效。

3.5 评价

从结构上看,Thinkium 拥有满足商业应用级别的可扩展性,且设有不同的委员会以处理不同的交易类型,可同时作为公链或联盟链进行使用,保护用户隐私。治理上,Thinkium 也更加方便,与 Compound 等协议类似,既不需要以太坊一样的硬分叉,也不需要像 Polkadot 等一样经过投票后再开发,直接是可以执行的代码,防止投票与实现之间出现误差。

4.DFINITY


DFINITY 无疑是今年表现最好的项目之一,今年 5 月初主网上线时,在代币流通量不到 30% 的情况下,流通市值就已超过了另一天王级项目 Polkadot。DFINITY 的设想始于 2015 年,目的是构建互联网计算机,成为下一代去中心化互联网的基础设施。

4.1 共识机制

共识设计是 DFINITY 的一大亮点,DFINITY 采用了一个由下至上的四层结构,涉及到 PoS、VRF、PSP、BFT。

在身份层中,网络中所有的活跃参与者都需要先注册。节点需要先创建公私钥,建立匿名的永久身份,并质押代币。

在随机灯塔层中,由注册的客户端通过可变随机函数(VRF)生成随机数。节点被随机的分成若干组,每次由随机数决定下一个出块组,组内随机轮询决定下一个出块提案节点,使用阈值 BLS 签名算法来达成组内共识,只要签名数大于一个阈值,无论是组内哪些成员的签名,都通过 BLS 算法生成这个组的唯一签名。这个生成的签名本身也是一个随机数,用来在全部节点中随机选择下一个区块的生产委员会,并对委员会中每一个客户端进行排名。

区块链层中部署了概率插槽协议(PSP),只要节点没有看到当前轮次被公证过的区块,节点就不断对新看到的区块提议进行签名,这个过程可能导致同一轮次中有多个区块产生。节点按照权重高低,将这些区块放到一个个插槽中。

第四层公证层加速区块最终性的达成,公证层是由注册客户端共同创建的某个区块下的阈值签名,只有公证过的区块才能包含在链上。公证过程是经典的「拜占庭将军」问题。当有两个及以上被公证过的区块出现时,采用上述权重最大的链。

可以看到,通过随机数选举出的区块生产委员会比起 EOS 的超级节点更加去中心化,但同时对网络的要求更高,若延迟增加,分叉的可能性就越大。

4.2 链结构

DFINITY 采用多链结构,网络、存储、共识均以链为单位进行分割,配合多链共识协议栈,实现可扩展性。

网络需要 2 个区块和阈值组接力以完成最终一致性,平均确认时间约 7.5 秒。

4.3 网络结构

DFINITY 进一步增强了 P2P 网络的能力,形成了独有的增强型混合网络(部分半结构化部分全结构化),在各链进行网络的分割的同时,有效的完成链间的信息传递。

使用的标准半结构化网络 KAD 算法,消息广播效率需要提高。

4.4 治理

DFINITY 设有 Blockchain Nervous System(BNS),所有 ICP 的持有者可针对系统升级、冻结作恶账户等提案进行投票。

申请提案时需要一定的费用,若不愿意自行投票,也可将投票权授权给他人。

4.5 评价

DFINITY 更多的是为下一代互联网而设计,其各项机制创新非常明显,但是开发过于缓慢,近期才上线主网。而公链上的生态会通过网络效应为网络带来护城河,以太坊生态已趋于成熟,Polkadot、Solana 等也在奋起直追,不知道是否有足够的时间等待 DFINITY 走向成熟。

总结

一批新型高性能公链已经或者即将得到应用,除了上述提到的之外,还有 Cardano、Algorand 等,它们在性能上已经远超现在的以太坊,甚至超越了 ETH 2.0 所能达到的性能。这些公链在最初设计时就有其侧重点,在应用中也有其优缺点。短期内性能不会成为其主要瓶颈,但是如何快速建设生态将是所有生态都必须考虑的问题。

毫无疑问,以太坊现在的生态是其它所有公链都无法比拟的,倘若像 BSC、Heco 一样支持 EVM,则可快速实现项目与用户的迁移。从这一点上看,Thinkium 在其中可能具备优势。

posted @ 2021-09-18 10:36  Mr.peter  阅读(375)  评论(0编辑  收藏  举报