主页 > 苹果手机imtoken怎么下载 > 区块链中的工作量证明——PoW算法(一)

区块链中的工作量证明——PoW算法(一)

苹果手机imtoken怎么下载 2024-01-25 05:13:40

在上一篇文章中,我们简要介绍了分布式共识的相关概念以及由其发展而来的区块链常用共识算法。 今天我们就来深入介绍一下PoW算法。

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

工作量证明的概念

区块链的概念是随着比特币的诞生而出现的,而比特币使用的是PoW算法,因此工作量证明的概念得到了广泛的传播。

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

工作量证明是指用一个结果来证明你已经完成了工作。 比如你住酒店,早上出去房间乱七八糟,晚上回来发现房间干净整洁,就证明保洁阿姨已经打扫完了工作。

为什么需要工作量证明生产一个比特币要多少成本,因为整个过程的监控工作效率很低。 我不需要关注你是否在工作,你只需要在工作完成后给我看结果,我就可以证明你真的做了工作。

当然,这个结果不是通过其他渠道就能轻易得到的。 如果我可以很容易地用钱买到一张大学文凭,也不能说这张文凭就证明我确实上过大学。

最初,这种方法被用作防止滥用服务资源或阻止拒绝服务攻击的经济对策。 它需要用户进行一些耗时且复杂的计算,而答案可以被服务提供商快速验证,从而确保服务被真正需要的人使用。 这种策略实际上增加了攻击者的成本,从而降低了被攻击的可能性。

由此,我们可以看出工作量证明的核心设计思想:提出一个难题,需要回答者花费一定的时间和资源来回答。 但是对于验证者来说,需要非常容易验证。 我们称此功能为计算不对称性。

比特币的工作量证明

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

比特币的原理涉及密码学知识。 在密码学中,有一个东西很自然地符合我们刚才提到的计算不对称性,它就是哈希函数。

哈希函数的特点是:知道A,很容易计算出结果B; 但知道结果B,A就无法逆转。 而且,几乎不可能找到一个C,使得C也可以通过计算得到B。

有了这样的神器,工作量证明就很容易设计了,具体如下:

由于参与记账的节点较多,每个区块只能有一个节点负责记账和奖励,因此需要争夺每个区块的记账权。

比赛方式是使用SHA256运算(哈希函数的一种)不断尝试不同的A,计算出满意的结果B(B的前N位必须全0,N可以调整)。

先得到它的节点才有记账权。 因为结果容易验证,大家可以对结果信服,最终达成一致,然后所有矿工参与竞争下一个区块的记账权。

N越大,越难得到满足结果的B生产一个比特币要多少成本,计算量可能呈指数级增长。 为了争夺更多的记账权,每个节点都会使用计算能力更强的设备,使其每秒能够进行更多的计算,从而争取比其他节点更快地获得结果。 这也引发了算力的争夺。

因为大家只能不断尝试,没有其他办法得出结果,所以这种方法比较公平。 但与此同时,由于算力的竞争,挖矿设备的数量也在不断增加,消耗能源的成本也在不断增加。 因此,我们也说工作量证明是一种不环保的共识算法。

但是,由于这种公平性以及获得算力所付出的成本,挖矿实际上同时也在创造信任。 毕竟,每个人都是靠“诚实工作”来换取记账权的。 性价比高。 工作量证明机制实际上是将现实世界中的物理资源转化为区块链世界中的虚拟资源,这种转化为区块链提供了可信的基础。

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

PoW挖矿发展历程

现在我们知道比特币挖矿正在解决算力问题。 随着比特币越来越为人们所熟悉,PoW的发展大致经历了两个阶段。

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

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

说到这里不得不提一点,那就是真正理想的去中心化能否实现? 我个人的看法是不太可能。 虽然中本聪的愿景是 1 个 CPU = 1 票,但随着经济效益的增加和人们的逐利本性,去中心化的算力会逐渐集中,最终形成几家巨头相互厮杀的局面。

因此,有人质疑EOS的21个记账节点是不是太少太中心化了? 事实上,如果我们参考比特币和以太坊的实际算力控制分布,就知道不存在完美的去中心化解决方案。 EOS在突出解决性能问题的基础上,取得了很好的平衡。 即使EOS计划将记账节点数量设置为10000个,相信最终这些节点的实际控制权也会逐渐整合和中心化,达到一种无形的平衡。

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共识机制是一种简单粗暴的共识算法。 虽然可以为公链提供稳定有效的记账功能,但也面临着严重的中心化和能耗问题。 这也促使人们去研究新的共识机制,我们会在后面继续介绍,欢迎关注。