区块链作为一种按时间顺序存储数据的数据结构,可以支持不同的共识机制。共识机制是区块链技术的重要组成部分。区块链共识机制的目标是使所有诚实节点保持一致的区块链视图,并满足一致性和有效性两个属性。
区块链的信心主要体现在分布在区块链上的用户不需要信任交易的另一方或任何中心化机构,只需要信任区块链协议就可以实现交易。这种信心的前提是区块链的共识机制。共识机制可以保证系统中的每个节点都会自发、诚实地遵守协议中设定的规则,判断每条记录的真实性,最终将判断为真实的记录记录记录到区块链中。
共识机制是区块链技术的核心,它决定了区块链系统的安全性、可扩展性和分布特性。
四种共识机制
我们现在将通过一系列协商一致的机制来解决拜占庭的普遍问题。
工作证明
比特币的创造者中本聪(Satoshi Nakamoto)发明了工作证明协议,绕过了这个问题。首先,让我们来看看它是如何在拜占庭将军统治下运作的。
假设左边的军队想向右边的军队发送一个名为“星期一攻击”的消息,他们会按照一定的步骤进行。
首先,他们将在原文中添加“随机数”随机数可以是任意的十六进制值。之后,他们用一个随机数对文本进行哈希处理,并查看结果。假设陆军决定只共享消息,这些消息经过哈希处理,结果以5个0开头。
如果满足哈希条件,则将消息的哈希值发送给消息发送者。如果没有,他们将继续随机改变随机数的值,直到他们得到想要的结果。这个操作既麻烦又耗时,而且需要大量的算力。
如果信使确实被城市捕获,并且消息被篡改,哈希值本身将根据哈希函数的属性而发生很大变化。如果右边的将军看到散列不是以期望的“0”开头,他们可以简单地取消攻击。
然而,可能存在漏洞。
没有哈希函数是*无冲突的。那么,如果castle接收到消息,对其进行篡改,然后相应地更改随机数,直到它们获得所需的结果(使用所需的“0”)呢?这将非常耗时,但仍有可能。为了解决这个问题,将军们将使用大量的数字资源。
假设左边没有一个将军给右边的将军发信息,但是左边的三个将军给右边的所有将军发信息。为此,它们可以生成自己的消息,将累积的消息散列,将随机数附加到结果散列中,然后再次散列这些消息。这一次他们想要一条以6个0开头的消息。
显然,这将是非常耗时的,但这一次,如果使者真的被城堡抓到,他们会花很多时间篡改累积信息,找到相应的哈希随机数,甚至可能需要数年时间。因此,如果将军派出多个使者,他们将在计算过程中遭到攻击和摧毁。
右边的将军很容易做。它们所要做的就是将正确的随机数附加到消息中,对它们进行哈希,然后查看哈希值是否匹配。散列字符串非常简单,这本质上是工作负载证明背后的过程。
找到合适的哈希目标的当前进程应该是非常困难和耗时的。但是,检查结果以查看是否没有篡改的过程应该非常简单。因此,我们想总结一下证明协议如何与区块链一起工作的工作量。
-矿工们解决密码谜题“挖矿”一个区块以添加到区块链中。这个过程需要大量的能量和计算。密码谜题的设计增加了难度,增加了系统的负担。
-当矿工们解决密码问题时,他们会将他们的数据块提交给网络进行验证。验证块是否属于链是一个非常简单的过程。
在解决拜占庭一般问题时,工作量证明机制无疑回答了许多问题,但在工作量证明方面还存在一些问题
-首先,工作量被证明是一个极其低效的过程,因为它消耗了大量的能量和时间;
-第二,能够负担得起更快、更强的ASIC的人和组织通常比其他人有更好的挖矿机会;
-**,比特币的碎片化程度低于预期。
让我们看看哈希率分布:
我们发现大约65%的散列率分布在5个挖矿池中!
理论上讲,这些大池可以相互协作,对比特币网络发起51%的攻击。
比特币区块链:一个典的使用工作量证明协议的公链
利益证明
以太坊计划从工作证明(POW)转向兴趣证明(POS)。利益证明将使整个挖矿过程虚拟化,并用验证器代替矿工。流程如下:
-验证器必须锁定一些数字货币作为兴趣证明。
-之后,他们将开始验证块。也就是说,当他们发现他们认为可以添加到链中的区块时,他们会通过下注来验证这些区块。
-如果加上一个方块,验证者将获得与其下注成比例的奖励。
实践证明,POS比pow具有更高的资源友好性。在pow中,为了与协议一起使用,可能会浪费大量的资源,这基本上是为了浪费资源而浪费资源。这也是权益证明的**障碍。
以太坊开发者最终计划使用兴趣证明。但在此之前,他们必须解决利益证明(POS)的**缺陷之一。
让我们考虑一下这种情况:
假设我们遇到这样的情况:有一个蓝色主链和一个红色链,它们从主链本身分叉。那么,怎样才能阻止恶意矿工挖红砖块、硬叉?
在工作证明(POW)系统中,可以减轻这种风险。
假设爱丽丝,一个恶意的矿工,想在红链上挖矿。即使她把自己所有的散列能力都给了它,没有其他矿工会加入她的新公链。其他公司将继续在蓝链上挖矿,因为在长链上挖矿更有利可图且无风险。
但请记住,POW在资源方面非常昂贵。
矿工在一个将被网络拒绝的区块上浪费这么多资源是没有意义的。因此,由于攻击者要浪费大量的金钱,所以在负载证明系统中避免了硬分叉。
然而,有了POS,情况就不同了。
如果你是验证者,你只要把钱放在红蓝相间的链条上,就不用担心被击中。不管发生什么事,不管你的行为有多恶毒,你总会赢而不输。
这就是所谓的“无私”问题。
为了集成POS共识系统,加密货币需要解决这个问题,以太坊将通过调整其Casper协议,以非常有趣的方式实现这一目标。
Casper是以太坊选择的POS协议。尽管整个团队都在忙着制作它,但弗拉德·赞菲尔经常被称为“卡斯帕脸”
那么,卡斯珀协议与其他利益证明协议有何不同?Casper实现了一个惩罚所有恶意元素的程序。这就是POS在Casper协议下的工作原理
-首先,验证者将部分以太作为利益证明。
-之后,他们将开始验证块。也就是说,当他们发现他们认为可以添加到链中的区块时,他们会通过下注来验证这些区块。
-如果加上一个方块,验证者将获得与其下注成比例的奖励。
-然而,如果核查者恶意行事,企图“无私”,他们将立即受到谴责,他们承诺的所有以太都将减少。
这正是因为Casper协议设计用于不可信系统,并且具有更高的拜占庭式容错能力。任何以恶意/拜占庭方式行事的人都将立即受到惩罚,部分权利将被剥夺。这与大多数其他POS协议不同。恶意因素会损失一些东西,所以不会有任何危险。如果以太坊计划扩大规模,实施卡斯帕协议和利益证明至关重要。
以太坊区块链:利益证明协议的典代表
委托权益证明
现在让我们介绍一种有趣的兴趣证明形式,称为dpo或委托兴趣证明。EOS正在使用这种共识机制来扩展到每秒数百万个事务。任何持有EOS区块链代币的人都可以通过连续投票系统选择区块生产商。任何人都可以投票给区块生产商,他们将有机会生产出与所有其他生产商的总票数成比例的区块。
它是如何工作的?
-在每轮比赛开始时,选出21个区块生产商。该系统自动选出前20名,而第21名的选择与他们相对于其他制作人的选票成正比。
-然后,利用块时间得到的伪随机数对生产者进行混合。这样做是为了确保与所有其他生产商的平衡联系。
-为保证区块正常生产,区块时间保持3秒,生产商不参与将受到处罚,并被排除在考虑范围之外。生产商必须每24小时至少生产一个区块。
Dpos系统不会陷入麻烦,因为生产商必须竞争和合作,而不是寻找区块。如果出现分叉,共识会自动切换到最长的链。
如何在DPO中确认交易?
Dpos区块链通常有*的区块生产商参与。一般来说,99.9%的节点在广播后1.5秒内确认交易。为了保证交易的**有效性,节点只需等待15/21(即2/3多数)生产者达成共识。
那么,如果由于疏忽或恶意企图而发生分叉,会发生什么情况呢?
默认情况下,任何节点都不会切换到不包含任何15/21生产者未完成的块的分支。不管链条的长度如何,这都是正确的。每个滑轮必须经过15/21批准,才能被视为链条的一部分。
由于分块的创建时间较短,无论是主链还是次链,节点都能在9秒内得到警报。原因很简单。请记住,块之间经过的平均时间是3秒。
-如果节点错过两个连续的块,则它们有95%的机会位于几个分支中。
-如果一个节点漏掉三个块,那么它们有99%的几率位于几个链上。
塔普斯是什么?
交易作为兴趣证明或tapos是EOS软件的功能。系统中的每个事务都必须具有最近的块头的哈希值。这将执行以下操作:
-防止在不同链上重播事务。
-向网络发送信号,通知用户及其对某个分支的兴趣。
这样可以防止验证者在其他链上进行恶意操作,从而形成一个快速有效的权限证明协议。但是有陷阱吗?以太坊联合创始人维塔利克•巴特林(vitalik buterin)表示,dpos系统无法协调游戏。
什么是协调博弈论?
考虑以下矩阵:
在这个矩阵中,有两个纳什均衡:(a,a)和(B,B),这两个均衡不因偏离任一状态而受益。博弈论的核心思想是如何说服人们从(a,a)转向(B,B)?如果只涉及一小部分人,通过电话或电子邮件进行协调相对简单。但当我们涉及到一大群人的时候,情况就变了。
囚徒困境与协调问题的根本区别在于,在囚徒困境中,双方都必须选择(B,B),因为尽管(a,a)在道德上是一个更好的解决方案,但它是最有利可图的选择。在协调问题上,这与道德或利益无关,而与一个人从一种状态过渡到另一种状态的动机有关。为什么一大群人要改变他们做事的方式?
当只有少数群体改变了他们的状态,而他们中的大多数没有改变,协调博弈就会失败。相反,当大多数群体改变状态时,协调博弈就会成功。让我们举个例子。
假设我们要将语言更改为基于符号的语言。例句:原话:“把你的电话号码给我?”新声明:
如果你只说这种语言,那将是一种失败,因为大多数人都听不懂你在说什么,你也会被谈话所回避,也就是说,你的收入很低,你没有改变的动力。
但是,如果你的社区中的大多数人转而使用这种语言并且只使用它,那么你就必须改变这种语言,否则你将永远无法适应。现在,加入这个组织的动机非常强烈。
Dpos系统可以利用协调博弈理论来弥补其不足。在某些情况下,块生成器可能更喜欢某些与其他节点不一致的情况。
假设主节点希望将链从状态a转换到状态B,那么帮助整个链完成与它们相同的转换可能是一项困难的任务,尤其是当其他节点相对于状态B时,只有时间才能证明EOS是否能够正确地集成DPO。
EOS区块链:**利益证明协议的典代表
授权的拜占庭容错算法
现在让我们谈谈近地天体共识机制的选择。
想象一下,一个叫做“积木怪才”的国家,那里有很多市民。每一个公民都会选择一个代表他们,让他们开心。这些代表的职责是通过法律,让公民高兴,如果他们工作不好,公民下次可以简单地投票选出另一位代表。
那么,代表们如何通过这项法律呢?
随机选出一名代表作为发言者。演讲者研究公民的所有要求并制定法律。如果要计算出满足这些需要的公民数量,那么“幸福系数”就足够了。他们把它传给了代表们。然后,代表们分别检查了演讲者的计算结果。发言人数与代表人数一致的,同意;不一致的,不同意。66%的代表需要通过这项法律。如果没有,请选择一个新的领导,流程将重新开始。
我们来看看这个共识决策模在区块链中的应用。
公民是拥有近地天体代币(也称为普通节点)的人。代表是记账节点。要成为记账节点,必须具备一定的条件:专用设备、专用互联网连接和一定的燃气量(按基本密码条款1000)。
-“市民需求”基本上是代币持有人进行的各种交易。
-“法律”是要添加到区块链中的当前区块。
-幸福因子是当前块的哈希值。
现在,在两种情况下,其中一个参与者可能以恶意的方式行事。我们来看看:
案例一:说话人恶意
在这种情况下,演讲者向两个**发送了恶意消息B,并向一个**发送了准确消息。由于大多数规则,这种情况很容易得到缓解。两个**将看到他们的哈希与说话人的哈希不匹配,而一个**将看到他们的哈希完全匹配。但是,三分之二的人会拒绝这项提议,无法达成共识。在此之后,议长将被废除并重新当选。
情形二:代表恶意
演讲者向所有代表发出了正确的信息,但其中一名代表决定恶意行事,并宣称他的号码与发言者的号码不符。
然而,由于三位代表中有两位没有恶意,他们会批准这项法律,因为有66%的人一致认为这项法律会获得通过。
如您所见,dbft提供了一种非常有趣的共识机制形式。
Neo区块链:授权拜占庭容错算法的典代表
总结
这是公链中最常见的四种共识机制。然而,有更多的协商一致机制可供选择。他们是:
-能力证明
-经过时间的证明
-工作和知识的纠缠证明(Ewok)
-工作和知识的纠缠证明(Ewok)
尽管工作量证明和利益证明无疑是****的选择,但不时有更新的协商一致机制。没有“完美”的共识机制,它可能永远不会出现。然而,未来新的公共公链往往会产生新的共识。
本期摘要
区块链共识机制是区块链技术的核心,未来发展趋势主要包括以下几点:
安全级别:设计和改进可证明安全区块链共识机制,解决POS机制面临的安全威胁;将经典分布式一致性算法与区块链技术相结合,利用委员会实现强一致性,解决委员会重构的安全问题;
在扩容方面,通过计算碎片化、通信碎片化和存储碎片化,利用碎片化技术实现事务处理的可扩展性;采用DAG技术和并行块结构,使区块链能够同时容纳更多的交易;
启动级:通过安全多方计算等加密技术,在不可信环境下完成协议自启动,解决区块链协议的初始化问题;通过对区块链历史数据的合理裁剪,新增节点可以快速获取当前区块链状态,参与共识操作,解决新增节点启动问题;
激励层面:设计合理可行的奖惩机制,以理性用户为出发点,鼓励用户以诚实的行为参与共识机制的运行维护;合理惩罚恶意用户,对举报人给予一定奖励。
文章标题:四种共识机制
文章链接:https://www.btchangqing.cn/96928.html
更新时间:2020年09月03日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。