主页 > imtoken安卓官网 > 浅谈PoW(Proof of Work)共识机制

浅谈PoW(Proof of Work)共识机制

imtoken安卓官网 2023-04-08 05:10:40

阅读材料:

定义与起源

工作量证明,PoW(Proof of Work),是一种应对服务和资源滥用,或阻止服务攻击的经济对策。 通常,用户需要进行一些耗时且复杂的计算,而他们的答案可以被服务器快速检查。 将消耗的时间、设备和能源作为保证成本,确保服务和资源被真正的需求所使用。

工作量证明从名字上不难理解。 简单来说,就是通过一定的方式或手段证明过去一段时间内完成的工作量,从而获得他人的奖励和认可。 结合我们的日常生活,如果要求A监控B工作的全过程比特币采用的共识算法,将是极其费时费力且效率低下的。 因此,我们一般采用工作量证明机制,比如我们的考试成绩、各种证书等,来关注工作的结果,让验证工作更有效率。

从第二篇文章来看,第一个广为人知和接受的PoW系统是HashCash,它最初是用来解决垃圾邮件问题的。 该系统要求发件人解决一个数学问题:通过在邮件信息中包含一个邮件签名,该签名包括收件人地址、时间戳和一个特殊值**“nonce”,使其哈希值前面加上一个一定数量为0。由于哈希算法的非确定性,生成正确的“nonce”**的代价非常高,但验证起来非常简单。 当时人们希望通过这种方式,要求邮件的发件人证明自己发送的邮件不是垃圾邮件,同时增加向垃圾邮件发送者发送垃圾邮件的成本。 但是,正如第二篇文章所提到的,PoW 在解决垃圾邮件问题上并没有想象中的那么有效,存在的问题稍后再讨论。

因此,早在比特币出现之前,PoW 就被发明出来并在实践中得到检验,证明了它的有效性。 中本聪在设计区块链的共识机制时采用了 PoW。 先介绍一下PoW共识机制的原理。

原则

由于区块链被设计为去中心化的分布式全球账本,因此避免了拜占庭将军问题(The Byzantine Generals Problem)。 那么,如何让区块链中的所有分布式节点能够消除错误并快速达成共识,从而使比特币系统能够有效、稳定、正确地运行,就需要一种共识机制,也就是上面介绍的PoW。

比特币中各个节点通过PoW共识机制争取记账权,达成协议的过程大致如下:

PoW共识机制需要满足以下条件:

综合以上分析不难知道,基于PoW的共识机制是一种类似于按劳分配的机制,只不过这里的劳动是计算机的计算能力:计算能力越大比特币采用的共识算法,越多可能是为了解决哈希问题。 越大,好处越大。 这会导致一些问题,出现一些自私的矿工,这种情况在第一篇文章中提到,提出比特币挖矿协议是不激励兼容的,并提出修改比特币协议的一些程序。

文章解读

这里对阅读材料中提到的两篇文章进行总结总结:

1.多数还不够:比特币挖矿很脆弱

在这篇文章中,作者提出了一个有悖于传统的观点:比特币的共识机制是脆弱的。 传统观点认为 PoW 共识机制可以有效抵制少数群体的勾结与合作,但作者描述了一种策略,可以让少数群体获得比该群体公平份额更多的收益。 其背后的想法是:私有挖矿是一个矿池将其矿山保密,有意分叉区块链。 先简单介绍一下:

自私的矿工获利的方式是诚实的矿工白费力气。 我简单概括一下文中提出的场景:假设私人矿工最先挖出一个矿,他们不会立即公开广播,而是秘密创建一个私人分支。 链条更长。 未来,假设自私矿池找到了另一个矿场,它会继续发展自己的私有链。

由于私人矿池的算力毕竟是少数,他们的优势终究会被消灭,但是在他们即将被消灭的时候,他们会使用一些假矿工(这些矿工在他们的控制之下)让他们的广播信息在网络中传播得越快,那么,由于比特币协议规定节点接受并传播最长和最先收到的链,他们的链将被接受。 这样一来,自私的矿工得到了所有的奖励,而诚实矿工之前的计算就白费了。

当然,文中也提出了一些解决方案,比如当一个节点收到一条相同长度的链时,传播所有的分支,并随机选择一个进行挖矿等。

2.“工作量证明”证明行不通

在第二篇文章中,文章作者从经济层面和安全层面两个方面进行了详细分析,并根据真实数据进行了估算,得出了一个结论:让每一封邮件都附上工作量证明是不可行的. 论据如下:

因此,部署通用的 PoW 方案简单但不合理。 文章还提出可能有一个可行的解决方案,创建一些白名单,使工作量证明只是整个系统的一部分,但这种解决方案复杂且脆弱。

的优点和缺点

基于以上,我们已经对PoW有了一个大概的了解。 总体而言,PoW 有以下优点和缺点。

优点 缺点 可能的解决方案

下面说一下我学到的和能想到的,以及一些问题是如何解决的。