工作量证明
经济对策
工作量证明(Proof-of-Work,PoW)是一种用于防止服务和资源滥用以及拒绝服务攻击的经济策略。它通常要求用户执行一些复杂的计算,这些计算的结果能够被服务提供者迅速验证,从而通过消耗时间、设备和能源作为担保来确保服务和资源的有效利用。这一概念最初由Cynthia Dwork和Moni Naor在1993年的一篇学术论文中提出,而"工作量证明"这个术语则是由Markus Jakobsson和Ari Juels在1999年提出的。目前,这种技术已经成为加密货币的主要共识机制之一,比如比特币就是采用了这种技术。
技术原理
工作量证明的核心技术原理是哈希函数。因为对于任何输入值n,哈希函数h(n)都会产生一个特定的结果,而且当n发生微小变化时,会导致结果发生显著的变化,即所谓的雪崩效应,使得几乎不可能从h(n)反推出原始的n。因此,通过指定搜索具有特定特征的h(n),并让用户进行大量的穷举计算,就能够实现工作量证明。例如,如果我们希望找到一个使h(n)的十六进制值的前四位为0000的n,那么理论上平均需要进行2^16次h(n)哈希运算才能找到答案,而验证只需要进行一次。为了提高难度,我们可以增加指定的位数。以SHA256函数为例,当我们处理字符串"Hello World"并试图找到一个使h(n)前四位为0000的n时,我们需要从"Hello World0"开始尝试不同的ASCII字符,直到"Hello World107105"才找到匹配的h(n):
0000BFE6AF4232F78B0C8eba37A6BA6C17B9B8671473B0B82305880BE077EDD9
验证时只需将"Hello World107105"代入SHA256函数一次即可。
在加密货币中的应用
由于大多数加密货币都是建立在区块链的基础上,而区块链本身就需要依靠哈希函数来保障数据的完整性,因此在加密货币中使用工作量证明是一种简单而有效的设计。分布在全球各地的计算机竞争谁能最先找到与待打包数据相配的随机数(nonce),谁就有机会成为该区块的打包者(记账人)。一旦找到这个随机数,将其与数据和哈希值一起打包成块并广播出去,经过多数节点的认可和确认,打包者就能获得打包该区块的奖励。像比特币这样的加密货币,其工作量证明机制会根据参与竞赛的算力变化自动调整寻找随机数的难度,以保持合理的运行速度。
加密货币的优点
- 架构简洁明确,可靠性高。
- 攻击者要想成功篡改结果,必须投入超过网络总算力的一半,这使得攻击的成本极高,难以实施。
- 具有一定的公平性,投入更多的算力意味着更高的打包概率。
加密货币的缺点
- 非常耗费能源,某些加密货币的能耗可能超过一个小国的总用电量。
- 由于加密货币已经发展成为一个全球性的投资领域,一些技术专家或者富有的个人可能会开发专门的ASIC硬件来垄断算力,这与加密货币的去中心化理念不符。
- 后期开发的加密货币引入了一些抵抗ASIC的算法设计,例如以太坊使用的Ethash(Dagger-Hashimoto)算法。
- 后续开发的加密货币也开始采用POS机制(如以太坊)或DPOS机制(如比特股、EOS)。
使用PoW机制的加密货币市值排名前十
- BTC 比特币
- DOGE 狗狗币
- LTC 莱特币
- XMR 门罗币
- ETC 以太坊经典
- BCH 比特币现金
- CFX
- BSV
- ZEC
- RVN
参考资料
工作量证明.简书.2024-08-20
工作量.应届毕业生网.2024-08-20
教学工作量证明.豆丁网.2024-08-20
目录
概述
技术原理
在加密货币中的应用
加密货币的优点
加密货币的缺点
使用PoW机制的加密货币市值排名前十
参考资料