DAPP开发-共识的作用

2 篇文章 0 订阅
1 篇文章 0 订阅

每条区块链的节点,例如以太坊节点,都拥有自己存储数据的地方,节点之间索然会相互通信,担忧彼此不依赖,这就是因为互不信任.

在这种情况下,各个节点如何保互相通信的过程中维护数据的一致性,从而使链上相同区块号的区块只有一个呢?此时就诞生了区块链技术占中的另一个知识点:共识,又称共识机制.

所谓共识,通俗来讲,就是我们大家对某种事物的理解达成一致的意思,比如日常快回讨论问题,又比如判断一个动物是不是猫,我们肉眼看了后觉得像猫,那么我们就认为他是猫,这就是是共识,共识就是一种规则.

技术上诉会议的栗子,参与会议的人,通过开会的方式达到接近问题的目的.对比区块链中的参与挖矿的节点,节点中有挖矿这么一种角色,他在代码中对应某一处功能模块.节点矿工通过某种公式算法来解决该节点的账本与其他节点的账号保持一致.账本保持一致的意思是:各个节点同步的区块的信息保持一致,已维护同一条区块链.

那么为什么需要共识呢?没有共识可不可以?当然不可以,这样会出现问题,加入生活中没有了共识规则,那么一切都会乱套,区块链与此类似,没有了共识规则,各个节点各干各的,会失去一致性,区块链也不会达成统一.

上次会议和区块链的对应关系如下BTC为例:

a.参会的人=挖矿的旷工

b.开会=共识算法

c.解决讨论的问题=让自己的账本跟其他节点保持一致

有上诉所说的你可能会对上面的内容产生一些疑问:

a.区块链节点和旷工是什么关系?

b.让及诶单账本保持一致,账本的内容是什么?

c.为什么需要工时算法去保持账本一致?

首先,我们来看一些区块链和旷工的关系.旷工是区块链节点的一个角色,从编程的角度来看,就是程序中的一个功能模块.因此可见,旷工与区块链就是包含于被包含的关系.

其次,然工商本保持一致,账本的内容是什么?账本的内容就是所有节点维护的那条公链中的区块信息和区块的相关信息.要保持这条公链不会出错,块与块之间必须正常相连.

最后,为什么需要共识算法来保证账本的一致呢?因为区块会北街店中的一些功能模块生成,在众多节点且相同的时间流逝中,A节点有可能诞生一个区块1,B节点也有可能诞生一个区块1,这样他们但是也难怪的区块号就发生重复了,在一条公链中,相同的区块号最终只会挑选一个连接到链中,这时候取谁好呢?此时就需要共识算法这一条规则来做出选择了,这个选择大致上如下图:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值