首页 > 区块链 > 深入区块链技术(四)|PoW共识机制
碧莲说  

深入区块链技术(四)|PoW共识机制

摘要:区块链pow上一篇文章中,我们简单介绍了分布式一致性的相关概念,以及由此发展出来的区块链常用的共识算法。今天我们就对其中的PoW算法进行深入介绍。工作量证明的概念区块链这个概念是随着比特币的诞生而兴起的,而比特币采用的就是PoW算法,因此工作量证明的概念被得以广泛传播。实际上,工作量证明并不是一个新

上一篇文章中,我们简单介绍了分布式一致性的相关概念,以及由此发展出来的区块链常用的共识算法。今天我们就对其中的PoW算法进行深入介绍。

深入区块链技术(四)|PoW共识机制

工作量证明的概念

区块链这个概念是随着比特币的诞生而兴起的,而比特币采用的就是PoW算法,因此工作量证明的概念被得以广泛传播。

实际上,工作量证明并不是一个新概念,早在1993年就有学者以学术论文的形式提出了这一概念。

工作量证明,就是指用一个结果,来证明你做了这份工作。比方说你住酒店,早上出门时房间里很乱,晚上回来发现房间收拾得干净整齐,这就证明保洁阿姨完成了打扫工作。

为什么需要工作量证明呢,因为监测工作的整个过程是非常低效的。我不需要时刻盯着你是不是在干活,你只需要拿出你干完活之后的结果给我看,我就能证明你确实干了活。

当然,这个结果得是不能轻易通过其他渠道获得的。如果能轻易拿钱买到一个大学毕业证,就不能说这个毕业证证明了我确实读过大学。

最初,这种方式是用来应对服务资源滥用,或用来阻断拒绝服务攻击的经济对策。它要求用户进行一些耗时适当的复杂运算,并且答案能够很快被服务方验证,以此来保证服务是被真正有需要的人所使用。这种策略实际上就是提高了攻击者的成本,从而降低攻击可能性。

由此可以看出工作量证明的核心设计思路:提出一个难题,需要回答者耗费一定时间和资源才能解答。但对于验证者而言,验证起来需要十分容易。这个特性,我们称之为计算不对称特性。

比特币中的工作量证明

上面介绍了工作量证明的基本概念,下面我们看一下比特币中的工作量证明是如何设计的。

比特币的原理涉及到了密码学知识。在密码学中,有一种东西天然符合我们刚刚所说的计算不对称特性,它就是哈希函数。

哈希函数的特性是:已知A,能很容易算出结果B;但是知道结果B,不能反推出A。而且,几乎不可能找到一个C,使得C经过计算后也能得到B。

有了这样的神器,工作量证明就好设计了,具体是这样的:

因为参与记账的节点非常多,而每个区块只能有一个节点来负责记账并获得奖励,因此每个区块的记账权需要进行争夺。

争夺的方式,就是通过SHA256运算(哈希函数的一种),不断地尝试不同的A,来计算得到一个满足条件的结果B(B的前N位必须全是0,N可以调整)。

最先得到的那个节点,拥有记账权。因为结果是容易验证的,所以大家都能信服这个结果,最终达成一致,随即所有的矿工参与到下一个区块记账权的争夺中。

如果N的值越大,那么得到符合结果的B难度就越大,计算量可能是成指数级的增长。为了争夺更多的记账权,每个节点都会采用算力更强的设备,使每秒所能进行的计算次数更多,从而争取比别人更快得出结果。这也就引发了算力竞赛。

因为每个人都只能不停地试,没有别的办法得到结果,所以这种方式相对来说是公平的。但同时,由于算力竞赛,也导致了挖矿设备数量的不断增加,消耗的能源成本也不断提升。因此,我们也说,工作量证明是一种不环保的共识算法。

但是,由于这种公平性和为了取得算力而付出的成本,挖矿其实同时也是在创造信任,毕竟大家都是靠“老实干活”换来的记账权,如果拿来作恶就非常不划算。工作量证明机制,实际上是将现实世界的物理资源转化为了区块链世界的虚拟资源,这种转化为区块链提供了可信的基础。

深入区块链技术(四)|PoW共识机制

PoW挖矿发展历程

现在我们知道,比特币挖矿就是在解算力难题。随着比特币越来越被人们所熟知,PoW的发展也大致经历了两个阶段。

第一个阶段是分散挖矿阶段。那个时候用个人电脑CPU就可以轻松挖出很多比特币,这也符合中本聪1CPU=1票的愿景。但是随着比特币的经济效益越来越凸显,人们开始寻求更加高效的挖矿方式,也使得PoW进入了第二阶段。

第二个阶段就是中心化矿池挖矿阶段。因为挖矿采用的SHA256算法不需要CPU来处理复杂的逻辑控制,只需要重复简单的数字运算,所以用GPU挖矿效率更高。再后来,发展出了ASIC芯片挖矿,催生了像比特大陆这样生产专业矿机的公司。由于算力竞争越来越激烈,人们开始逐渐将分散算力进行集中,然后通过投入算力所占的比例进行分红的方式享受挖矿收益。

说到这里其实不得不提一点,那就是真正理想的去中心化是不是能够实现?我个人的看法是不太可能。尽管中本聪的愿景是1CPU=1票,但随着经济效益的增加和人们逐利的天性,分散的算力一定会逐渐集中,最终形成几家大巨头分庭抗礼的局面。

所以,有人质疑EOS的21个记账节点是不是太少了,太中心化了?其实如果参考比特币和以太坊的实际算力控制分布情况,我们就知道其实并没有完美的去中心化方案。EOS在突出解决性能问题的基础上,已经做到了很好的兼顾。就算EOS的方案将记账节点设置为1万个,我相信最终这些节点的实际控制权也会逐步融合集中,达到一种无形的平衡。

PoW挖矿算法简介

PoW挖矿算法大致分为两个大类:计算困难、内存困难。这两类的区别在于对提供工作量证明的组件要求不同。

计算机的组成部分大致可分为计算单元(CPU、GPU)和存储单元(内存、硬盘)。熟悉操作系统的人都知道,一个计算机的瓶颈往往不在于计算能力,而是IO(输入输出)能力。如果IO能力不强,那么计算单元其实大部分时间都处于等待的空闲状态。

由于比特币的挖矿方式是计算困难类的,因此在PoW挖矿从CPU转向GPU后,人们对挖矿工具又进行了进一步的优化探索,开发出了ASIC芯片矿机。

ASIC是什么?

ASIC(Application Specific Integrated Circuits)即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的特点是面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。

这种神器的出现,加速了PoW挖矿的中心化过程。因为这种矿机是由专门厂商生产的,产量有限,购买渠道更加狭窄,其价格也更高,提高了购买者的门槛。此外,矿机的配置、运行和维护也需要专人进行。这种印钞机级别的设备,当然会越来越集中到少数人手中,造成了算力的中心化。

为了防止这种情况再次发生,很多数字货币开发者们发明了新的挖矿算法。但只要算法是依赖于计算困难的,厂商就能设计出专门的挖矿设备来应对。有点道高一尺,魔高一丈的感觉。

以太坊和比特币不同,它采用的挖矿算法是内存困难型的。直到现在,也没有芯片厂商设计出挖矿芯片。因为算法对内存资源的需求增加,所以除了增加内存容量,没有别的好办法。所以这种没有技术壁垒的事情,厂商没有逐利的动力,也就不会花力气去研发对应的专业矿机。

深入区块链技术(四)|PoW共识机制

PoW的优势与劣势

PoW的优势有以下几个方面:

达成一致的原理简单,容易实现;

工业成熟度高,受众广泛;

成本会驱使矿工将币价维持在一个相对合理的水平,而不会使币价远低于成本;

增加了攻击者成本,安全性很强。

PoW的劣势有以下几个方面:

大量消耗计算资源和能源;

51%攻击问题;

自私挖矿问题;

达成共识的时间长,性能低下。

总结

今天我们简单介绍了PoW的概念以及在比特币中的具体实现和应用,还介绍了挖矿算法的发展过程和类型,最后分析了PoW的优缺点。可以看出,PoW共识机制是一种简单粗暴的共识算法,虽然可以为公链提供稳定有效的记账功能,但是也面临严重的中心化问题和能耗问题。这也促使人们研究新的共识机制,我们后面继续介绍,欢迎

免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。