《Node.js区块链开发》——3.2 PoW:工作量证明机制

3.2 PoW:工作量证明机制

1.基本原理

PoW(Proof of Work)是比特币采用的共识机制,也是最早的一种机制。理解起来也很简单,就是“按劳取酬”,你付出多少劳动(工作),就会获得多少报酬(比特币等加密货币)。在网络世界里,这里的劳动就是你为网络提供的计算服务(算力×时长),提供这种服务的过程就是“挖矿”。
那么“报酬”该怎么分配呢?如果是真的矿藏,显然在均匀分布的前提下,人们“挖矿”所得的“报酬”与各自提供的算力成正比,通俗一点说就是,能力越强、付出的越多,获得的就越多。

2.优点

机制本身当然很复杂,有很多细节,比如“挖矿”难度自动调整、区块奖励逐步减半等,这些因素都是基于经济学原理设置的,以吸引和鼓励更多的人参与。
理想状态下,这种机制可以吸引很多用户参与其中,特别是越先参与的,获得的就越多,会促使区块链产品的初始阶段迅速发展,节点网络迅速扩大。在CPU挖矿的时代,比特币吸引了很多人参与“挖矿”,这点就是很好的证明。通过“挖矿”的方式发行新币,把比特币分散给个人,实现了相对意义上的公平(比起那些不用挖矿,直接IPO的币要公平得多)。

3.缺点

1)算力是计算机硬件(CPU、GPU等)提供的,需要耗费电力,是对能源的直接消耗,与人类追求节能、清洁、环保的理念相悖。不过,如果非要给区块链产品找寻“货币价值”的意义,那么这方面应该是最有力的证据。
2)这种机制发展到今天,算力的提供已经不再是单纯的CPU了,而是逐步发展到GPU、FPGA乃至ASIC矿机。用户也从个人挖矿发展到大的矿池、矿场,算力集中越来越明显。这与去中心化的方向背道而驰,渐行渐远,网络的安全也逐渐受到威胁。有证据证明,Ghash(一个矿池)就曾经对赌博网站实施了双花攻击(简单地说就是一笔钱花两次)。
3)区块链产品区块奖励按照一定的周期减半,当“挖矿”的成本高于挖矿的收益时,人们“挖矿”的积极性就会降低,会有大量算力减少,网络的安全性也将进一步降低。

时间: 2024-10-18 09:54:26

《Node.js区块链开发》——3.2 PoW:工作量证明机制的相关文章

《Node.js区块链开发》——第3章 共识机制,可编程的利益转移规则 3.1 机制,左右产品走向的根源

第3章 共识机制,可编程的利益转移规则 前面两章曾经说过,区块链产品都是去中心化的,去中心化的基础就是P2P节点众多,那么如何吸引用户加入网络成为节点呢?又有哪些激励机制呢?同时,开发的重点是让多个节点维护一个数据库,那么如何决定写入哪个节点?何时写入?一旦写入,又如何保证不被其他的节点更改(不可逆)呢?回答这些问题的答案就是共识机制. 共识机制,可编程的利益转移规则.谈到共识机制,不得不说的是,编程开发这么多年,我们尝试过很多方法,试图通过某种激励手段提高用户黏性以留住用户.比如常见的积分机制

《Node.js区块链开发》一3.1 机制,左右产品走向的根源

3.1 机制,左右产品走向的根源 "机制"一词原指机器的构造和动作原理,在社会学中可以表述为"协调各个部分之间的关系以更好地发挥作用的具体运行方式." 我在工作中曾遇到过一位好领导,他非常公道正派,一切事情按规矩来办,处理问题用制度说话.在他的领导下,整个部门的员工都富有激情.心无旁骛.专心工作,上级领导也非常认可,升职加薪是常有的事情,人人都能收获满满.后来因为工作调整,我们很多人去了新部门,之后大家反映,再也没有了当初的激情,因为工作不一定被认可,付出不一定有收

《Node.js区块链开发》——2.2 信用,决定着利益转移的方向

2.2 信用,决定着利益转移的方向 与他人谈起区块链时,不止一次谈到"信用"这个话题,每一次我都会有更加深刻的理解.第一次明确地谈信用,起源于一个公司反复地声明一件事情,但是除了声明,也没有更好的办法向公众表明自己,反而越声明越被动.于是,我在网上发表了一篇文章<请尽早把你的信誉区块链化>(见2.7节),其核心观点是学习区块链的处理方式积累个人或公司的信用. 这里再次提及这个话题,原因是我在写下前面部分的时候,突然发觉单纯地讲未来趋势会如何没有任何说服力,其中缺少潜在的源动

《Node.js区块链开发》一2.2 信用,决定着利益转移的方向

2.2 信用,决定着利益转移的方向 与他人谈起区块链时,不止一次谈到"信用"这个话题,每一次我都会有更加深刻的理解.第一次明确地谈信用,起源于一个公司反复地声明一件事情,但是除了声明,也没有更好的办法向公众表明自己,反而越声明越被动.于是,我在网上发表了一篇文章<请尽早把你的信誉区块链化>(见2.7节),其核心观点是学习区块链的处理方式积累个人或公司的信用. 这里再次提及这个话题,原因是我在写下前面部分的时候,突然发觉单纯地讲未来趋势会如何没有任何说服力,其中缺少潜在的源动

《Node.js区块链开发》一3.2 PoW:工作量证明机制

3.2 PoW:工作量证明机制 1.基本原理 PoW(Proof of Work)是比特币采用的共识机制,也是最早的一种机制.理解起来也很简单,就是"按劳取酬",你付出多少劳动(工作),就会获得多少报酬(比特币等加密货币).在网络世界里,这里的劳动就是你为网络提供的计算服务(算力×时长),提供这种服务的过程就是"挖矿". 那么"报酬"该怎么分配呢?如果是真的矿藏,显然在均匀分布的前提下,人们"挖矿"所得的"报酬&qu

《Node.js区块链开发》导读

Preface 前 言 本书原名<Nodejs开发加密货币>,大部分已经通过网络免费分享(网络上仍有原文),正式出版的时候改成了现在的名字,部分章节也做了调整.写作本书的时候,"区块链"这个称呼并不流行,但讨论的内容实际上就是区块链技术.就在本书整理出版的时候,国家发布了<中国区块链技术和应用发展白皮书>,整个社区也接纳了"区块链"这个称谓,因此改为现在的名字. "每一件与众不同的绝世好东西,其实都是以无比寂寞的勤奋为前提的,要么是

《Node.js区块链开发》一导读

前 言 本书原名<Nodejs开发加密货币>,大部分已经通过网络免费分享(网络上仍有原文),正式出版的时候改成了现在的名字,部分章节也做了调整.写作本书的时候,"区块链"这个称呼并不流行,但讨论的内容实际上就是区块链技术.就在本书整理出版的时候,国家发布了<中国区块链技术和应用发展白皮书>,整个社区也接纳了"区块链"这个称谓,因此改为现在的名字. "每一件与众不同的绝世好东西,其实都是以无比寂寞的勤奋为前提的,要么是血,要么是汗,要

《Node.js区块链开发》——1.4 加密货币可靠吗

1. 1.4 加密货币可靠吗 从上面的讨论中,我们可以了解加密货币是怎么回事了,但是你可能仍然会怀疑加密货币的实用性,它真的可靠吗?这是最初很多人都会问的问题.结论当然是可靠的,但是要解释清楚为什么,就要动用很多技术和理论.还好,这些技术和理论,都是目前成熟的技术.您只要认为它们是可靠的,那么下面的解释就很好理解,不然,要想说服自己,接受加密货币比一些网站的数字币更可靠,那还是很难的. 1.去中心化 首先我们需要明白什么是"中心化".目前,我们通过浏览器浏览的各大网站,都是中心化的,必

《Node.js区块链开发》——导读

前 言 本书原名<Nodejs开发加密货币>,大部分已经通过网络免费分享(网络上仍有原文),正式出版的时候改成了现在的名字,部分章节也做了调整.写作本书的时候,"区块链"这个称呼并不流行,但讨论的内容实际上就是区块链技术.就在本书整理出版的时候,国家发布了<中国区块链技术和应用发展白皮书>,整个社区也接纳了"区块链"这个称谓,因此改为现在的名字. "每一件与众不同的绝世好东西,其实都是以无比寂寞的勤奋为前提的,要么是血,要么是汗,要