主页 > imtoken钱包劫持 > 2.1 共识协议概述

2.1 共识协议概述

imtoken钱包劫持 2023-07-23 05:14:28

官方网站:thiblockchain.org

获取最新的活动信息

我们在前面的课程中提到过,区块链网络中的每个节点都会保存一个账本,节点间不能直接达成互信,而且不同节点保存的账本数据也可能不同,所以会采用哪个节点的账本数据作为合法的链上数据? 这就需要一种机制或协议来维护每个节点的区块数据的一致性。 这就是我们今天要学习的共识协议。

共识协议安全模型

泰达币币商_泰达币的共识协议_泰达币泰达币2020新型罗网

区块链技术被视为共识协议和密码学之间的交叉技术。 2008年中本聪发明比特币后,分布式系统共识协议这一长期研究方向成为新的热点。

根据参与共识的系统节点是否具有访问权限,共识协议可分为访问协议和无访问协议。

经典分布式共识协议的研究始于 20 世纪 80 年代。 Paxos、PBFT等典型协议得到广泛应用并不断优化完善。 这些协议在经典模型下可以严格证明是安全的。 并且在实际使用中,成熟的共识系统可以实现更高的吞吐量和更短的交易确认时间。 有一个接入协议要求共识系统中的每个节点都知道彼此的身份,这在客观上也有利于监督。

在非准入协议中,节点加入共识系统不需要准入审查。 这类协议允许更大规模的共识参与节点,实现更高程度的去中心化。 共识节点的身份和隐私也得到更大程度的保护。 但是,以比特币使用的PoW协议为例,每个矿工在提出新区块时都需要携带相应的工作量证明,这需要大量的计算资源。 此外,不可访问共识协议使用的技术和安全定义与经典协议不同。 迄今为止,已经提出了大量的协议,相当多的学者仍在探索针对此类协议的有效攻击、防御方法和安全模型。

本节以下内容仍然介绍模型。 如果你只对共识协议的开发感兴趣,可以把进度条拉到下一节哦~

共识网络模型

经典的共识协议是根据不同网络模型的假设而设计的。 常见的网络模型包括同步网络、半同步网络和异步网络:

在同步网络中,网络中诚实节点之间的消息传输延迟有一个已知的上限。

部分同步网络中存在未知的网络稳定时间 GST。 GST之后,网络消息传输有一定的上限Δ,可以保证诚实用户发送的消息在Δ时间后到达所有其他诚实用户。

部分同步网络模型的定义看似啰嗦,但关键是虽然网络最终会在此模型下趋于稳定,但仍然存在未知数和网络波动。 这也是区块链协议分析中常用的网络模型。

泰达币币商_泰达币的共识协议_泰达币泰达币2020新型罗网

在异步网络中,敌手可以任意延迟诚实用户的消息或对其进行打乱,只要最终诚实用户的消息能够相互到达即可。

说是终了,其实可以理解为永久性的损失。 这种模式下的安全共识协议也是最难设计的。

共识对手模型

根据对手的攻击方式,共识协议的对手模型多种多样:

根据对手的攻击能力,可以分为停机对手、被动对手和拜占庭对手。

停机对手可以看作是网线被拔掉的诚实节点。 被动对手主要致力于网络嗅探以获取不应该知道的信息,而拜占庭对手可以在不遵守共识协议的情况下为所欲为地破坏共识。

此外,根据敌手的适应性,可分为静态敌手、弱适应性敌手和适应性敌手。

根据攻击方法有不同的对手模型......甚至根据对手的理性程度。

有学者运用博弈论分析比特币,基于理性对手模型,甚至得出比特币安全与其市场价格之间的关系。

总而言之,任何安全的共识协议都只能在一定的模型下保证安全。

共识协议的发展

拜占庭将军问题

现在让我们探讨共识协议的演变。 最早,可以追溯到80年代提出的拜占庭将军问题。 拜占庭帝国幅员辽阔,各支军队的驻军相距甚远。 将军们只能依靠使者传递消息。 将军们通过集体投票决定选择进攻还是撤退。 将军们如何在充满叛徒的不信任环境中就作战计划达成共识?

泰达币泰达币2020新型罗网_泰达币的共识协议_泰达币币商

泰达币泰达币2020新型罗网_泰达币的共识协议_泰达币币商

图中显示的是叛逆策略,显然少数人多数投票是不可取的。

莱斯利·兰波特等人。 1982年提出拜占庭将军问题,并给出了公式化的约束条件。 从中可以提炼出经典共识的两个安全属性:安全性和活性。

用户向共识系统发送指令,共识系统运行共识协议并返回共识结果。

泰达币币商_泰达币泰达币2020新型罗网_泰达币的共识协议

安全侧重于一致性,要求节点之间没有差异,活性保证整个系统持续运行并达成新的共识。

异步二进制拜占庭共识协议

在得到安全定义、网络和对手模型之后,我们是否可以开始设计一个安全的共识协议? 没那么简单。 Fischer、Lynch 和 Patterson 三位作者在 1985 年给出了一个经过严格证明的结果,也被称为 FLP 不可能性定理。 在异步网络环境中,只要存在恶意节点,就没有安全的确定性共识算法。

1983年,Rabin和Ben-Or独立提出并实现了异步二进制拜占庭共识协议(ABA)。 他们是如何做到的呢? 他们牺牲了协议的确定性。 他们的协议要么使用本地随机抛掷(具有 50/50 概率的随机位)泰达币的共识协议,要么使用密码技术(可验证的秘密共享或阈值签名)来获得公共随机抛掷。 简单来说,他们的共识是分轮进行的,每一轮都有一定的概率结束。 如果不能达成共识,就需要继续下去。

停机容错协议

随后,在 1990 年,Leslie Lamport 首次给出了 CFT 协议 Paxos。 CFT 协议可以容忍不超过 1/2 节点的停机时间,但它对拜占庭对手无能为力。 Paxos协议非常复杂,每个共识节点可能同时以三种身份进行不同的操作。

泰达币泰达币2020新型罗网_泰达币币商_泰达币的共识协议

对了,又是兰波特,他不是也提出了拜占庭将军的问题吗? 正是因为在分布式系统领域的贡献,他获得了2013年的图灵奖。关于这位老人的轶事很多。 比如Paxos最初提出的时候,就是根据小岛成员选举的故事来解释协议的。 许多学者和业界人士抱怨看不懂。 而兰波特则表示,学术界的同事们“太令人气愤了,缺乏幽默感”,并拒绝修改论文。 直到 2001 年,Lamport 才终于对 Paxos 进行了重新描述并发表。

泰达币泰达币2020新型罗网_泰达币币商_泰达币的共识协议

言归正传,CFT共识算法目前主要应用于封闭的分布式系统或企业内部的私有链。 比如Chubby,ZooKeeper。

拜占庭容错协议

泰达币币商_泰达币的共识协议_泰达币泰达币2020新型罗网

随后在 1999 年,Miguel Castro 和 Barbara Liskov 提出了第一个实用的异步网络下拜占庭容错协议 PBFT。 PBFT实际上是一种基于leader进行共识的半异步协议。 leader 提出共识节点需要经过两轮广播确认达成共识并返回结果。

总的来说泰达币的共识协议,BFT共识算法适用于私有链或者联盟链等对一致性要求比较强的场景

PoW 和 PoS 协议

1993年,工作量证明的概念首先由Dwork和Naor提出,用于对抗服务资源滥用或拒绝服务攻击。 简单来说,过滤垃圾邮件。

比特币使用的 PoW 主要依赖于密码学哈希函数。 哈希函数将任意长度的消息压缩成固定长度的电子指纹,具有抵抗原图攻击的特性。

“中本聪”在2009年提出了一种去中心化的电子货币系统——比特币,创造性地解决了无需进入系统的共识问题,实现了去中心化。 比特币链上的交易确认需要等待6个新区块的形成:约60分钟。 每个区块的提议都需要大量的计算来解决一个哈希难度问题。

泰达币泰达币2020新型罗网_泰达币的共识协议_泰达币币商

为了解决工作量证明带来的巨大能源消耗问题,2012年,King和Nadal提出了基于权益证明(PoS)的共识机制,并将其应用在区块链项目PPCoin中。 PoS 共识机制引入了“币时代”的概念。 币龄是指货币数量与持有货币时间的乘积。 与比特币不同的是,PoS共识中每提出一个区块,提议者都会消耗币龄。

泰达币泰达币2020新型罗网_泰达币币商_泰达币的共识协议

但是,在PoS协议中,节点提出新区块的成本太低,几乎不可能避免恶意节点同时提出多个区块。 NAS攻击、远程攻击、抛光攻击等都会对共识系统的安全造成极大的破坏。

泰达币的共识协议_泰达币泰达币2020新型罗网_泰达币币商

混合共识协议

随着区块链技术的发展,PoW协议交易确认慢、能耗高的缺陷和PoS协议的安全问题越来越受到关注。 有学者提出将 PoW 或 PoS 协议的优点与经典的分布式共识协议相结合,产生新一代的混合共识协议。

典型代表是2016年Silvio Micali等人提出了基于权益证明(PoS)的区块链协议Algorand。 Algorand结合了PoS和BFT算法,对手模型是自适应对手,网络模型是同步网络。 当系统中超过 2/3 的资金掌握在诚实节点手中时,Algorand 证明了共识系统的安全性。

共识的主要思想分为三个步骤:

使用密码可验证的伪随机函数(VRF)来组装 PoS 共识选择委员会成员和领导者; VRF 是一种特殊的密码技术,可以计算出一个可公开验证的伪随机数。 由这个伪随机数指定的委员会成员是不可预测的,因此可以抵抗自适应对手的攻击。

在委员会内运行 BFT 协议; 使用可证明安全的拜占庭容错共识,保证共识的安全性和活跃性。

每一轮都使用一个新选出的委员会。 即使是最具适应性的对手也无法影响共识系统的运行。

典型的 CFT 共识协议——Raft

本节将为您介绍经典的 CFT 共识协议。 2014 年,Diego Ongaro 和 John Ousterhout 提出了通俗易懂的 CFT 协议 Raft。 Raft对Paxos进行了简化,在同一网络模型下(半同步)实现了可证明的安全性。

泰达币泰达币2020新型罗网_泰达币币商_泰达币的共识协议

如图所示,Raft系统中的每个节点可能具有三种身份:领导者负责同步记录、广播指令、收集节点响应信息和提交指令; follower负责接收记录,接收leader指令并返回响应信息; candidate Broadcast information campaign to become a leader, as long as more than half of the votes are received, it is considered elected. 每个投票阶段一人一票,先到先得。

与Paxos相比,Raft还具有以下特点:

1. 强有力的领导者

泰达币币商_泰达币的共识协议_泰达币泰达币2020新型罗网

The elected leader completely replicates its instruction log to other followers

2.高效的leader选举

使用随机超时,不同的节点有不同的超时时间,最早发生超时的节点有很大概率获得超过半数的选票,被选为领导者。

3. 允许成员变更。

为了防止在成员变更阶段出现两组不相交的多数投票,当成员发生变更时,无论是数据提交还是领导者选举,都必须在两种配置中都获得超过一半的支持。

课程总结

本课是THUBA推出的区块链系列课程第二篇第一课。 介绍共识协议的安全模型,从BFT、CFT等经典分布式共识协议到PoW、PoS协议等区块链共识,以及融合两类协议优点的新一代混合共识协议的发展过程,并介绍了经典的CFT协议——Raft。 共识协议有多种安全模型和具体方案,但正如我们开头所说,没有最好的共识协议,只有最适合的共识协议,共识方案的选择要结合具体的应用场景。

后续课程将更深入地介绍各种共识机制,欢迎大家继续关注。

参考

[1] 刘义中,刘建伟,张宗阳,等. 区块链共识机制研究述评[J]. 密码学杂志, 2019(4).

[2] 莱斯利·兰波特、罗伯特·肖斯塔克和马歇尔·皮斯。 1982. 拜占庭将军问题。 ACM 跨。 程序。 郎。 系统。 4, 3(1982 年 7 月),382–401。 DOI:

[3]Michael J. Fischer、Nancy A. Lynch 和 Michael S. Paterson。 1985. 一个错误过程不可能达成分布式共识。 J. ACM 32, 2(1985 年 4 月),374–382。 DOI:

[4]莱斯利·兰波特。 1998. 兼职议会。 ACM 跨。 电脑。 系统。 16, 2(1998 年 5 月),133–169。 DOI:

[5] 米格尔·卡斯特罗和芭芭拉·利斯科夫。 实用的拜占庭容错和主动恢复。 目录, 20(4):398–461, 2002。

[6] Chen, J. 和 Micali, S.,“Algorand”,arXiv e-prints,2016 年。

[7] Diego Ongaro 和 John Ousterhout。 2014. 寻找可理解的共识算法。 在 USENIX 年度技术会议 (USENIX ATC'14) 的 2014 年 USENIX 会议记录中。 USENIX 协会,美国,305–320。