08 | 共识(下):区块链领域的两类常用算法
- 深入了解
- 翻译
- 解释
- 总结
区块链共识算法分为拜占庭容错算法和激励共识算法两类。拜占庭容错算法如PBFT适用于联盟链,通过节点间的多次信息广播通信实现强一致共识协议。而激励共识算法如PoW、PoS适用于公链,通过工作量证明等方式实现共识。公链网络的开放特性不适合拜占庭容错共识,因此引入了基于激励的共识算法系列。这种创新性的共识算法不仅简化了拜占庭容错共识,还引入了社会治理思想,调动节点的积极性,推动区块链网络的繁荣。总的来说,区块链中的共识实现有差异,但底层逻辑是一致的。在联盟链中,共识基本遵循了拜占庭容错共识算法的思路,而公链网络则创新性地引入了基于激励的共识算法系列。这些技术的应用使得区块链能够在去中心化网络中保持各节点状态一致。
《说透区块链》,新⼈⾸单¥59
全部留言(13)
- 最新
- 精选
- 王建设“利用哈希算法计算区块哈希,使得区块哈希以 N 个 0 开头” 对第一个条件不是很了解。 是怎么样的过程? 把当前要出块的区块 进行哈希? 怎么样才能碰撞出N个0开头的哈希?
作者回复: 哈希就是对数据的计算,区块数据是固定的,因此无论计算多少次,特定区块的哈希值是固定的。但是会并不满足诸如N个零开头等一些条件,因此就再随机一个数跟区块数据合在一起进行哈希运算,如果不满足条件,就修改这个随机值,直到找到合适的区块哈希为止
2022-01-263 - 漂泊的小飘老师,这个课程后面会不会给我们一个思路或者代码去实现一个简单联盟链呢?
作者回复: 你好,不会的。这门课程的定位是给所有专业背景同学看的区块链通识课,提代码的话就有些偏科了。 但我后面会提到推荐的联盟链实现
2021-08-062 - YouuX请问下老师2个问题 1、A和B两个节点同时生成了区块并广播了出去,那产生区块的奖励应该给A还是B呢? 2、C节点收到A和B广播的区块,又应该以谁的区块为主呢?
作者回复: 这得看具体的设计。以比特币为例,就是依据最长链机制。AB两个节点的链因区块不同产生了分叉,形成了两个链,c可能收到了这两条链,此时他不会立即以某条链为准,而是同时维系两条链,一般看谁先领先到n+6个区块,n为出现分叉的节点。领先的即为最长链,其奖励才是有效的。
2022-06-231 - 全麦小面包那PoA用的共识算法是哪一类呢?说激励,有点不太准确,因为根本没有挖矿奖励呀?
作者回复: PoA可以认为是工作量证明算法,只不过他的工作量并不是挖矿,而是因身份担保产生"服务费"
2023-03-12归属地:上海 - Geek_3d623d比特币网络允许有多条区块链存在,但只认同节点能接收到的最长的那条区块链是全网络共识的链,其余短的区块链都是无效链。 有没有可能存在两条长度相同但区块不同的链?这以那个为准?
作者回复: 可能存在的,但总有一个时刻会有一个链胜出
2023-02-21归属地:北京 - jiangchuan"节点当前所累积的最长链可能并不是最终的结果,在某个时刻它可能收到比节点本地存储更长的链,此时节点就应该切换区块链", 这里的"切换区块链" 如何理解 ? 是指节点用收到的新的更长的链来替换自己本地数据库中的区块链吗?
作者回复: 是的,区块都是有编号的,一旦发现比当前自己节点上的区块链中最高的区块编号还高的区块,但是并不是同一条哈希链上的。就会把两条链的数据都保留,随着时间的推移,会有一个时刻某一条链的区块胜出,就可以替换。文中的说法更简略
2021-08-13 - Joeswooddd老师,我对51%算力攻击有些疑问,我的理解是通过累计大量的算力形成矿池,51%的算力能更快的产生区块,篡改者产生区块的速度大于其他人的速度,通过自己产生的长链在节点广播中代替其他节点中的短链,是这样的吗?
作者回复: 对的,是这样的。
2021-08-08 - 三儿原文中“而这个条件就是利用哈希算法计算区块哈希,使得区块哈希以 N 个 0 开头,N 的多少取决于当前网络区块增长的速度,是一个动态调整的值。这样一来,PoW 就限制了一段时间内网络中区块提案的个数” 是不是像区块链POW本身的调节机制,像TCP/IP协议栈中的拥塞控制?
作者回复: 你好,这个确实是可以这么类比看的。主要就是为了保证出块速度的绝对时间间隔,防止比特币挖矿奖励在很短的时间内被挖出,因为这样从长远看不利于生态的发展。
2021-08-07 - 高鹏0409为什么规定最长的哪个链是共识的呢?如果本来是分支的链很短,后来追上来了呢?
作者回复: 为什么要规定:这是为了约束共识的一致性。就是要让参与者知道什么情况算是达成共识。就比如摇骰子,规定大数赢,那相比5,6是赢的。但是如果规定小数赢,那5就赢。类似的道理吧。 短链追上:这就是我后面提到的了,节点当前所累积的最长链可能并不是最终的结果,在某个时刻它可能收到比节点本地存储更长的链,此时节点就应该切换区块链。
2021-08-063 - 二两区块链三大特征:去中心、防篡改、可溯源 四种技术:点对点、密码学、区块存储、共识机制 区块链通过点对点的网络形式实现去中心化的特性,点对点让网络中每个成员节点有相同的能力与义务。 如果存在恶意节点,就可能让区块链不可信,不可信则不可用,为了避免这种情况,区块链基于密码学的方式连接每个区块(前置哈希)且通过对称+非对称的方式对区块数据进行签名从而实现防恶意篡改的出现,而点对点结构带来的数据扩散问题,区块链提出了交易数据使用区块存储以及共识机制这2种结局方案。 如果网络中单独扩散交易数据,会让扩散混乱,而使用区块的方式,将多个交易数据通过默克尔树结构构件,再扩散,通过区块序号来确保先后顺序的形式避免混乱,此外,为了避免恶意节点的作恶,共识机制让所有节点最终都保存一直性,共识分拜占庭共识与激励共识,分别使用在联盟链与公链。2021-08-209