简介:本课程介绍区块链和密码学的知识以及一系列易于理解的内容。这里有知识和故事,从有趣到有趣。全班都在等你学习。
本系列课程内容从以太坊的介绍开始,延伸到区块链的相关技术原理和发展趋势,然后简单介绍区块链中应用的各种密码技术。欢迎您订阅官方账号,继续学习。
[本课程全部内容选自柏拉图首席密码学家、武汉大学国家网络安全学院教授、博士生导师何德彪教授的讲稿、教材和区块链与密码学的互联网。版权归原作者所有。如有侵权行为,请立即与我们联系,我们将及时处理。]
2.4.4条
一致性算法
新版本的学校来了!在上一期中,我们讨论了数字签名。在本期中,我们将讨论区块链的“灵魂”共识算法。顾名思义,一致性算法的作用就是通过算法产生一致性。
要熟悉共识算法,首先,我们需要了解区块链为什么需要共识?
在上一节课中,有人说bitillage是通过村民核算来解决信任问题的,但是所有的节点都参与了数据的记录,那么最终谁的记录占上风呢?换言之,如何确保所有节点最终都记录了相同的正确数据,即达成共识?
在传统的中心化式系统中,由于中心节点的权威性背书,使得中心节点记录的数据能够占上风。其他节点只需**中心节点的数据,就很容易达成共识。比如,在现实生活中,行业大哥和政府部门都有发言权,他们的数据都是大家认可的,这就产生了什么都说的效果。
然而,在像区块链这样的去中心化系统中,没有中心授权节点,所有节点平等地参与共识过程。每个人都一样。我为什么要听你的?可能没有人会同意任何人的意见。
由于涉及的每个节点的状态和网络环境不同,交易信息的传输需要时间,而消息的传输本身也不可靠,因此每个节点很难保持相同的交易内容和顺序。
就像每个人都在一个地方开会一样,但每个人的身份、想法和手机模式都不一样,达成统一协议的概率很小,但区块链的每一个核算都必须达成共识。
毋庸讳言,由于区块链所涉及节点的身份难以控制,也可能有恶意节点故意阻塞消息传递或向不同节点发送不一致信息,干扰整个区块链系统的记账一致性,从而从中获利。
因此,区块链系统的会计一致性或一致性问题是一个非常关键的问题,关系到整个区块链系统的正确性和安全性。
既然区块链需要共识算法作为灵魂歌手来统一大家的意见,那么共识算法是什么?
目前,区块链系统中有很多共识算法,可分为以下四类:
工作证明(POW)类的一致性算法
Po凭证类的一致性算法*
拜占庭容错算法
结合可信执行环境的一致性算法
接下来,本节将对前两种算法进行简要介绍。然后我们将讨论**两种算法。
POW类一致性算法
pow类的一致性算法主要包括区块链发起者a601采用的pow一致性,以及一些类似项目(如litecoin)的变体pow,即所谓的“挖矿”类算法。
这种共识算法的核心思想实际上是所有节点争夺记账权,每一批记账(或挖出一个区块)都给出了一个“难题”,这就要求只有节点挖出的能够解决问题的区块才是有效的。
同时,所有节点不断尝试解决问题,在现有区块链的基础上生成自己的区块并添加自己的区块,但只有整个网络中最长的链才被认为是合法和正确的。
火币系统根据每个节点的算力,即“算力”,设计了一种争夺记账权的机制。在火币系统中,每10分钟就有一轮算力竞赛。竞赛优胜者获得一次记账权,并同步向其他节点添加记账信息。
在一个去中心化的体系中,谁有权决定竞争的结果?火币系统是通过一种叫做“工作证明(POW)”的机制实现的。
简单地说,POW是客户做了一定工作的证明。功率系统的主要特点是计算的不对称性。工作端需要做一些困难的工作才能得到结果,但是验证者可以很容易地通过结果来检查工作端是否已经做了相应的工作。
例如,给定一个字符串ldquo;bokchain,我们给出的工作负载要求是,在连接字符串之后,可以连接一个名为nonceldquo;的整数值字符串,可以移动连接的字符串rda56ldquo;哈希操作:如果哈希结果(以十六进制表示)以几个零开始,验证通过。为了达到工作量证明的目的,我们需要不断增加nonce值,并对新字符串执行shuffle(sha256)hash操作。
问题:什么是rda56ldquo;哈希操作?
答:请参考区块链与密码学***1-4课:以太坊交易
POW背后的基本概念非常简单:工程方提交的计算结果已知难以计算但易于验证,而其他任何人都可以验证答案,以确保工作方已经为结果完成了相当多的计算工作。然而,POW机制存在明显的缺陷。
一方面,pow的前提是节点和计算力分布均匀,但随着CPU挖矿向GPU、FPGA、ASIC挖矿机的逐步升级,计算力越来越中心化。
另一方面,POW是对资源的浪费。火币网络每秒可以完成数百万个sha256计算,但这些计算除了恶意攻击者无法轻易伪装成数百万个节点,击败火币网络外,没有任何实用或科学价值。
Po凭证类的一致性算法*
有鉴于此,人们引入了“凭证”的概念,提出了Po*算法,其中*表示使用凭证的类比,而利害关系证明(POS)就是其中之一。就像股票也是一种凭证一样,当我购买股票时,我享有公司的投票权和分红权。
利息证明要求用户证明他们有一定数量的货币(即对货币的利息)。PeERCoin是第一个使用兴趣证明的代币,尽管它仍然使用工作证明来挖矿。
在sha256的哈希运算难度中引入了货币年龄的概念,使得该难度与交易输入的货币年龄成反比。在这一点上,货币时代被定义为货币数量和货币拥有天数的乘积,以便货币时代能够反映用户在交易时拥有的货币数量。
典典的利益证明机制结合了随机化和货币时代的概念。至少30天不使用的货币可以竞争下一个区块。集合越长越大,签下下下一个区块的可能性就越大。
其他算法:algorand和quroboros是POS类中流行的一致性算法。以太坊.0也将使用POS类一致性算法。
Po*算法的缺点
它提高了算法的中心化度,但违背了区块链“去中心化”的思想。
矿工激励不够明确,节点缺乏参与动机
文章标题:区块链与密码学国家级讲座2-5:区块链基础技术分析共识算法(1)
文章链接:https://www.btchangqing.cn/43698.html
更新时间:2023年06月12日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。