蓝盟IT外包,区块链几个协议算法。

发布者:上海IT外包来源:http://www.lanmon.net点击数:1203


拜占庭位于现在的土耳其伊斯坦布尔,是东罗马帝国的首都。 当时的拜占庭罗马帝国国土辽阔,为了防御目的,军队相距甚远,将军和将军之间只能通过信差传递情报。 战争中,拜占庭军内所有将军和副官必须达成一致意见,决定是否有机会攻击敌人的阵营。 但是,军内可能有叛徒和敌人的间谍,左右将军们的决定扰乱了军队整体的秩序。 将军们采用投票的策略决定是进攻还是撤退。 也就是说,如果很多人决定进攻,就突进,如果很多人决定撤退,就撤退(例如,10名将军中,6人选择进攻)。
这时,在知道成员造反的情况下(或者有通奸的情况下,他们会扰乱投票,或者随便修改军令),其余忠的将军如何不受叛徒的影响达成协议,就会形成拜占庭问题。
拜占庭将军问题是协商问题,拜占庭帝国军队的将军们必须整体一致决定是否攻击敌军。 问题是这些将军在地理上是分离的,将军中有叛徒。 叛徒可以任意行动实现下一个目标:欺骗一些将军采取攻击行动。 敦促并非所有将军都同意的决定,以便在将军们不想攻击时促使他们采取攻击行动。 或者迷惑一些将军,使他们无法决定。 如果叛徒达到这些目的之一,任何攻击行动的结果都注定会失败,只有完全同意的努力才能取得胜利。
因此,拜占庭将军是分布式系统中的共识问题,也是分布式容错系统的问题。 拜占庭将军的问题不是让将军决定进攻,而是让所有忠诚将军达成一致,要么全部进攻,要么全部撤退,以免被敌人打败。
现在拜占庭将军的问题也有很多经典的解法,常见的是实用的拜占庭容错系统(PBFT  )和Raft。 PBFT的解法以n3t1为前提,其中t是故障节点数(即谋反将军的数量),n是总节点数(即全将军的总数)。 这些方式可以达成协议,各有优点,但各有不同的假设条件,有限度。
现在,在区块链系统中,PBFT和Raft是联盟链和专用链中常用的共识算法,在公共链中经常使用POW、POS、DPOS等共识算法。
对区块链的共识
我们平时支付的时候用支付宝(Alipay  )刷就行了,但实际上没有进行实际货币的转移。 支付宝(Alipay  )在那个数据库里记录了账簿。 现在的货币体系其实是记账货币,记账的主体是国家中央银行和支付宝(Alipay  )等第三方机构,这是中心化的记账形式。 而且,中心化记账效率非常高,但面临着各种问题,如中心化节点引起的单点失败,万一流星正好落在阿里巴巴的数据库室里。 比如,操作者做假货,万一阿里巴巴的数据库管理员总有一天不舒服,就把库删除后再跑。 当然这些事件的可能性很小,但如果不发生黑天鹅事件,可能是毁灭性的打击。 因此,对于这种可能存在的小概率,解决方案一般以预防为主,例如,备份数据,建设一些分布式节点,对人员进行SOP训练,另一个解决方案更可靠,更区块链的非中心化收费在技术上解决了上述中心化收费的弱点。 没有中心节点,通过计算机算法、密码学、经济学,结合智能合同、点对点传输,不可篡改。 区块链的各区块相当于票据,各区块中记录了相应的交易内容。 但是,以收费行为为中心的一个重要问题是各节点的账目一致性。
在非中心化票据系统中,需要对加入该系统的每个节点保存完整的票据,但节点处于不同的环境,接收到的交易信息不一致,同时记账会导致票据不一致,因此两个节点不能同时记账。 所以,根据共识机制,必须:
公平公正地决定哪个节点记账。 现在常用的是POW、POS等。
某节点记账后,保持全网账簿的同步。 现在常用的是最长链战略。
POW:Proof  of  Work,工作量证明书
比特币系统设计了每个节点的计算能力,即以“计算能力”竞争记账权的机制。 简单来说,POW是确认工作方做了一定量的工作的证明书。 比如,我去面试的时候,招聘网站上写的职场需要本科以上的学历。 那你怎么证明我是本科毕业生? 把本科毕业证书show给面试官看就行了,就这么简单。 但是我怎么才能拿到这个毕业证书呢? 我需要四年的大学。 在那之前即使高中、中学、小学、大学毕业也不能每天玩。 另外,上课、考试、考试还不能参加。 这是一个艰难的过程。 对面试官来说,毕业证书足以证明我上了大学,不是傻瓜。

因此,POW方式的主要特征是计算的不对称性。 作业方为了得到结果必须进行困难的作业,但验证者很容易通过结果检查作业方是否进行了相应的作业。 具体而言,对一个区块链标题的父区块散列、Merkle树的根和nonce值这三个字段进行散列运算,如果结果小于目标值则计算成功,如果大于目标值则变更nonce值,结果小于目标值。

文/上海蓝盟  IT外包专家

IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部