购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2.3
PoW算法

PoW(Proof-of-Work)算法最早于20世纪90年代被提出,它的基本思路是,用“工作量证明”的方式来避免类似于DoS的攻击。其基本原理是用高“工作量”提高作恶的成本,从而达到规避恶意节点破坏的目的。PoW算法的一般过程如图2-4所示。首先客户端要进行复杂运算完成“解题”,然后把计算结果连同指令请求一起发送给服务器,在服务器端对计算结果进行验证,如果验证通过,则服务器接受指令请求,否则拒绝。为了便于实现,这类算法都有一个显著特点:“工作量证明”的计算过程很复杂,但是校验过程非常简单快速。例如,我们假设要求是“对信息序列增补随机数后再进行哈希函数运算,其输出结果以特定字符串开头”。该题目的结果是很容易检验的,只需要用序列计算哈希,验证是否以特定字符串开头即可。但是从函数的输入端来说,需要大量地尝试可能的随机数序列,才能得到满足题目要求的结果,这意味着很大的工作量。

012-1

图2-4 PoW算法过程示意图

PoW共识机制的一个例子是HashCash系统,该系统可以用来防止互联网上的恶意DoS和垃圾信息攻击。简言之,HashCash要求在电子邮件的消息头中增加一个哈希戳(HashCash stamp)。PoW算法的另一个典型应用是比特币区块链系统。在比特币区块链系统中,得出“工作量证明”的过程通常被称为“挖矿”,后续章节将会详细介绍这一过程。 jsNZKchcQmv4ivmckUSt7qEs1KtvNBaCPp4iwZxssgvMr0HK2azdtPqRc7l3zyQR

点击中间区域
呼出菜单
上一章
目录
下一章
×