区块链共识算法

本文深入探讨了区块链共识算法,包括PoW、PoS、PBFT等基础及改进算法,分析其优缺点和实现方式,并阐述了如何应对女巫攻击、无权益攻击和长程攻击等安全挑战。此外,还讨论了区块链的不可能三角问题和突破方向。
摘要由CSDN通过智能技术生成

什么是共识

一个系统想要正常运行,就必须要有一个系统成员都认可的规则来说明如何分工、谁来领导、奖罚机制等问题。
在中心化系统中,所有节点都只需要询问超级节点就能得到一致的结果。
而区块链是去中心化的数据库,且区块链实行少数服从多数的机制,所以区块链中的节点只能通过相互通信得知哪些规则(即区块中的交易)被大多数节点认可。区块链中大多数节点都认可一条交易的过程,就是区块链对这条交易达成共识的过程。

为什么会出现达不成共识的情况

系统中的恶意节点会给不同的节点发送不同的信息。
比如,系统中有A,B,C三个节点 ,其中C是恶意节点。C给A发送交易“小明给小黄转5元”,C给B发送交易“小明给小黄转50元”。A节点会在账本中记载“小明-5元,小黄+5元”,B节点会在帐本中记载“小明-50元,小黄+50元”。最后,A,B节点会在小黄到底有多少钱这个问题上达不成共识。(这就是著名的拜占庭将军问题)

未达成共识的体现

区块链分叉。可分为正常的分叉和恶意的分叉攻击

正常分叉

因为网络的延迟导致的分叉

硬分叉

大部分节点进行了软件升级(new node),少数节点没有进行软件升级(old node)。new node发布的区块在old node处验证不通过。
硬分叉是永久性分叉【old node的本地区块链中只有old node生成的区块,new node的本地区块链中由new node发布的区块所在的链成为最长合法链】

软分叉

大部分节点进行了软件升级(new node),少数节点没有进行软件升级(old node)。old node发布的区块在new node处验证不通过。
软分叉是暂时性分叉【new node的本地区块链只有new node生成的区块,old node的本地区块链中会出现分叉(new node发布的区块和old node发布的区块),因为new node占大多数,最终new node发布的区块所在的链会成为最长合法链】

分叉攻击

在这里插入图片描述
在这里插入图片描述

区块链不可能三角问题

区块链不可能在scalabilitysecuritydecentralization这三个方面同时达到最优。

  • scalability高效可扩展【对标用户体验感】
    ----高效&
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值