极简区块链共识协议

Streamlet是Cornell大学Elaine Shi教授团队提出的极简区块链协议,旨在简化联盟链的共识过程。该协议遵循BFT容错规则,依赖半同步网络假设,将区块链运行划分为epoch,每个epoch由随机leader发布区块。通过发布、投票和确认规则,Streamlet确保了安全性和活性。相较于复杂的PBFT和Tendermint,Streamlet的协议设计更简洁,易于理解和实现。
摘要由CSDN通过智能技术生成

导读

区块链作为典型的分布式系统,其共识核心的设计和实现一直困扰着开发者。如何设计一种简单而高效的共识协议一直是学术界和工业界追求的目标。比特币的设计虽然简单,但性能低下且共识结果具有一定随机性,因此不适用于企业之间业务量巨大的场景。近年来大家非常关注的联盟链中应用的共识算法(PBFT、Tendermint)虽然性能接近传统的共识算法(Paxos、Raft),但协议设计相对比较复杂,实现难度较高。本文着眼于一种针对联盟链设计的极简区块链协议 Streamlet。具有一定区块链知识背景的人只需要不到10分钟就能理解整个共识流程,因此 Streamlet 不仅适用于工程化实现,而且具有非常现实的教学意义。

背景

Streamlet[1] 由 Cornell 大学的 Elaine Shi 教授团队在2020年2月的斯坦福区块链大会提出(也许更早),其前身是 Pala[2]。Streamlet 可以算作是近五年来区块链领域与传统拜占庭共识(Byzantine fault-tolerant,BFT)领域的集大成之作,在包括经典 PBFT[3],Cosmos 在用的 Tendermint[4],以太坊 2.0 将要用的Casper[5],以及 Facebook 推出的数字货币 Libra[6] 所基于的 HotStuff[7] 等协议中都能感受到对 Streamlet 的影响。尽管如同一个大杂烩,但 Streamlet 的目标是一种堪比比特币的极简区块链协议。

Streamlet 遵循传统 BFT 协议的容错规则,即在节点数目为 n 的网络中,可以容忍最多 f 个拜占庭节点,需要满足 n > 3f。Streamlet 依赖于半同步(partially synchronous)网络假设,即网络在大部分情况都是好的,消息可以在一个能够预测的延迟内传播,但在某些情况下网络可能会经历一段波动期(Global Stabilization Time,GST),并最终会恢复。在GST期间,网络延迟无法预测。Streamlet 和大多数协议一样,保证协议在异步网络下的安全性(safety),当网络回归同步时可以进一步保证活性(liveness)。

Streamlet

在 Streamlet 中,协议的运行被划分为一个个同步的 epoch(这里的epoch

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值