最近有很多小伙伴咨询区块链的共识机制。边肖结合多年经验整理出区块链的一些共识机制,可以有效防止会计节点信息被篡改,分享给大家。
1。如何确认网络上的交易信息并达成共识?
共识机制虽然经常被提及,但共识机制的含义和理解并不明确。因此,有必要了解共识机制的相关概念、原理和实现方法。
区块链的交易信息通过网络广播传送到网络中的所有节点。如何确认广播信息并在全网节点达成共识并最终写入块中?如果没有相应的可靠、安全的实现机制,很难实现其基本功能。因此,共识机制是整个网络运行的一个关键。
共识机制解决了区块链如何在分布式场景中实现一致性的问题。区块链因为共识机制可以在很多节点达到相对平衡的状态。。那么共识机制是如何解决去中心化思想中节点间的互信问题的呢?
当分布的思想提出后,人们开始根据FLP定理和CAP定理设计一致性算法。规范理论一个理想的分布式系统的一致性应该满足以下三点:
1。终止:一致性的结果,可以在有限的时间内完成。
2。共识:不同节点的最终决策结果应该是一样的。
3。有效性:决策的结果必须是其他过程提出的建议。
但是,在实际的计算机集群中,可能会出现以下问题:
1。由于节点
2的事务处理能力不同,网络节点数据的吞吐量也不同。节点之间的通信通道可能不安全
。3。可能有邪恶的节点
4。当异步处理能力高度一致时,系统的可扩展性会变差(没有空间容纳新节点)。
科学家认为,在分布式场景中,不可能实现完全的一致性。。但是,工程师可以为了分布式场景的一致性牺牲一部分成本。以上两个定理也是同样的思路,所以基于区块链设计的各种公式机制,都可以看作是牺牲了那部分成本来换取更合适的一致性。我的想法是,可以在这个思路上做一个灵活的改造,就是在一个合适的时空里牺牲一部分成本,换取适应当时场景的一致性,就可以实现一个灵活的区块链系统,也就是一个可插拔的区块链系统。今天,我想介绍一下我对各种共识机制的看法和分析。分布式系统中是否存在邪恶节点可以分为拜占庭容错机制和非拜占庭容错机制。
FLP定理是FLP的不可能性,证明了在分布式场景下,无论任何算法,即使只有一个进程死亡,对于其他非失效进程,有无法达成协议的可能。
FLP基于以下假设:
只能修改一次:每个进程最初记录一个值(0或1)。进程可以接收消息、更改值和发送消息。当流程进入决策状态时,其值不会改变。当所有未失败的进程进入已决定状态时,协议成功结束。这里是放松的,直到一些流程进入决定状态,即使协议成功。
异步通信:与同步通信最大的区别是没有时钟,没有时间同步,没有超时,没有检测失败,消息可以任意延迟,消息可以乱序。
健壮通信:只要进程不失败,消息就会无限期延迟。,但最终会被送达;并且该消息将仅被传递一次(没有重复)。
Fail-Stop模型:流程失败就像停机,不处理任何消息。
失败的进程数:最多一个进程失败。
CAP是分布式系统领域,尤其是分布式存储领域讨论最多的理论。CAP是由EricBrewer在2000年的PODC会议上提出的。,是埃里克布鲁尔';他在Inktomi期间开发搜索引擎和分布式web缓存时,对数据一致性、服务可用性和分区容忍度的猜想;
数据一致性:如果系统返回成功的写操作,所有后续的读请求都必须读取这个新数据;如果返回失败,则所有读取操作都无法读取该数据。对于调用者来说,数据具有很强的一致性(也称为原子和线性一致性)[5]
服务可用性:所有读写请求在一定时间内得到响应,无需等待即可终止
分区-容错:在网络分区的情况下,,分离后的节点仍能正常服务外界
如果在某个时刻遇到AP,分离后的节点可以同时服务外界但不能相互通信,会导致状态不一致,即不能遇到C;如果满足CP,在网络分区的情况下,请求只能等待C。,即不满足a;如果要满足CA,一定时间内节点状态要一致,不需要网络划分,那么P就不能满足。
C,A,P最多只能满足其中两个,就像FLP定理一样。CAP定理也表明了一个不可能的结果。
区块链是基于P2P网络,由节点参与的分布式账本系统。它最大的特点是"分散化"。也就是说,在区块链体系中,用户之间,用户和机构之间,机构之间,不需要建立互信,只需要依靠区块链协议体系就可以实现交易。
但是,如何保证账本的准确性、权威性和可靠性呢??为什么区块链网络上的节点参与簿记?如果节点是假的怎么办?如何防止书籍被篡改?如何保证节点间的数据一致性?这些都是区块链建立一个"分散"交易,这导致了共识机制。
所谓的"共识机制"是在特殊节点通过投票在短时间内完成交易的验证和确认;有分歧的时候,没有中央控制,几个节点参与决策,达成共识。即没有信任基础的个体之间如何建立信任关系。
区块链技术使用一套基于共识的数学算法来建立一个"信任"机器之间的网络,从而通过技术背书而不是集中的信用机构来创造全新的信用。
不同类型的区块链需要不同的一致性算法,以保证区块链上的最后一块能随时反映整个网络的状态。迄今为止主要有以下几类区块链共识机制:POW工作量证明、POS公平证明、DPOS授权公平证明、Paxos、PBFT(实用拜占庭容错算法)、dBFT、DAG(有向无环图)
。让';主要讨论常用POW、POS和DPOS共识机制的原理和应用场景。
概念:
工作证明,原本是经济学术语。指系统为实现某一目标而设定的测量方法。简单的理解就是确认自己做了一定工作量的凭证,通过对工作成果的认证来证明自己完成了相应的工作量。
工作负载证明机制具有完全分散的优势。在具有工作量证明机制共识的区块链中,节点可以自由进出,通过计算随机hash的数值解获得正确数值解生成块的能力是节点计算能力的具体表现。
应用:
POW最著名的应用是比特币。在比特币网络中,在分块生成过程中,矿工需要解决复杂的密码数学问题,找到一个符合要求的分块哈希,这个哈希由n个前导零组成,零的个数取决于网络的难度值。。这期间需要大量的尝试(工作量),计算时间取决于机器的哈希运算速度。
找到一个合理的哈希是一个概率事件。当一个节点拥有全网n%的计算能力时,,节点有n/100的概率找到块散列。节点成功找到满意的哈希值后,会立即对整个网络进行广播和打包,网络的节点会立即对广播进行验证,并对块进行打包。
如果验证通过,,说明某个节点已经成功解谜,所以不再竞争当前块,而是选择接受这个块,记录在自己的账本里,然后竞争下一个块。只有网络中能最快解出谜题的那块才会被添加到账本中,被其他节点复制。为了保证整个账簿的唯一性。
如果节点作弊,会导致网络的节点验证失败,直接丢弃其打包的块,无法记入总账,作弊节点的成本就浪费了。因此,在巨大的开采成本下,矿工自觉自愿遵守比特币系统的共识协议,保证了整个系统的安全。
优缺点
优点:可以快速验证结果,系统承担的节点数量大。作恶的成本高,从而保证矿工的自觉遵从。
缺点:需要大量算法,达成共识周期长
概念:
利害关系证明。要求认证者提供一定数量的加密货币的所有权。
权限证明机制的操作模式是,当创建新块时,矿工需要创建"货币权利"交易,交易会按照预先设定的比例给矿工自己发一些币。。根据每个节点的比例和时间';s令牌,公平性证明机制降低了根据算法按比例挖掘节点的难度,从而加快了寻找随机数的速度。
申请:
2012Peercoin(点币)由网名SunnyKing的网友推出,是权限证明机制在加密电子货币中的首次应用。PPC最大的创新在于其挖矿方式是POW和POS的混合,新币采用工作量证明机制发行。,利用权益证明机制维护网络安全。
为了实现POS,SunnyKing借鉴了中本聪的比特币基地,专门设计了一种特殊类型的交易,叫做Coinstake。
上图是Coinstake的工作原理,其中币龄是指货币的持有期。如果你有10枚硬币,持有10天,你就收集了100天的币龄。如果你使用这10枚硬币,它们的年龄被消耗(消灭)。
优缺点:
优点:缩短了达成共识所需的时间,节省的精力比工作量证明的多。
缺点:本质上还是需要网络中的节点进行挖掘操作,难以保证转移的真实性
概念:
委托股权证明机制,类似于董事会的投票,内置了股东实时投票系统,就像系统在捧一个股东';随时开会。所有股东在这里投票决定公司';的决定。
授权股权证明了在试图解决传统PoW机制和PoS机制问题的同时,还可以通过实施科技民主来抵消集权带来的负面效应。。基于DPoS机制的区块链分权依赖于一定数量的代表,而不是所有用户。在这样的区块链中,所有节点投票选举一定数量的节点代表,这些节点代表所有节点确认阻塞,维持系统的有序运行。
同时区块链的所有节点都有权随时罢免和任命代表。必要时,所有节点可以投票取消现任节点代表资格,重新选举新代表,实现实时民主。
应用:
Bitshare是一种使用DPOS机制的加密货币。通过引入见证的概念,见证人可以生成块,每个持有位的人都可以投票给见证人。。获得总同意票的前n(n通常定义为101)名候选人可以当选为见证人,当选见证人的人数(n)应满足以下要求:至少有一半的选民认为n已被充分分散。
见证候选人列表每维护周期(1天)更新一次。然后随机安排证人,每个证人有2秒钟时间';允许按顺序生成块的时间。如果见证服务器无法在给定的时间片中生成块,则块生成权限将在下一个时间片中授予相应的见证服务器。。DPoS的这种设计使得块生成更快且更节能。
DPOS充分利用了股东';以公平民主的方式达成共识。他们投的N个证人,可以算是N个矿池。,而且这N个矿池的权利是完全互相平等的。股东可以随时通过投票改变这些证人,只要他们的计算能力不稳定,他们的计算机停机,或者他们试图利用他们的权力作恶。
优缺点:
优点:减少参与验证和核算的节点数量,从而实现秒级共识验证
缺点:中心性弱,安全性相对POW弱,节点代理人为选择,公平性相对POS较低。同时,整个共识机制仍然依赖令牌的发放来维持代理节点的稳定性。
所谓共识,简单来说就是大家达成了一致。在区块链,这实际上是一个规则。每个节点根据这个规则确认自己的数据,最终维护全网数据库的一致性。
如果以生活中的例子为例,比如公司今天开会,但是因为老板不在,需要讨论决定要不要做一个项目。
在这样一个群龙无首的环境下?
如何达成这种共识,最终形成交给老板的决定?这个过程需要共识机制发挥作用。
这个时候可能有人建议大家发表声明,发表声明。最后大家投票,由提议者记录讨论和发言过程,最后登记举手表决的结果,交给老板。
最后,根据"如果投票赞成的人比反对的人多,项目就开工;否则,退出"规则。,形成了决策结果。那么投票规则就是共识机制。
在区块链世界中,由于区块链运行的是分布式账本,或者说是分布式数据库,当创建一个新的区块时,如何检查区块上每个账户的准确性?让每台电脑上登记的账本长期保持一致?这需要一个共识机制的存在。因此,共识机制是使区块链系统能够保持每个节点的账户(或数据)长期一致的一组机制。在
区块链中,共识是区块链科技值得信赖的解决方案。
共识是大家认可的,认可就生效,反对就出局。
就像你经常违反社群机制,做一些损人利己的事情。
那你就成了恶意节点,不能动了。,个人可信度降低。甚至被社区列入黑名单,或者驱逐出境。
感谢您阅读这篇关于区块链共识机制的详细介绍。如果你不';关于区块链的共识机制能否有效防止会计节点信息被篡改,大家还不够了解,想了解更多区块链的共识机制,可以在本站首页搜索自己想了解的!