• 工作量证明(PoW)

    定义工作量证明(Proof-of-Work)是一种对应服务与资源滥用、或是阻断服务攻击的经济对策。一般是要求用户进行一些耗时适当的复杂运算,并且答案能被服务方快速验算,以此耗用的时间、设备与能源做为担...

      百科分类:基本技术  

百科分类:基本技术

定义

工作量证明(Proof-of-Work)是一种对应服务与资源滥用、或是阻断服务攻击的经济对策。一般是要求用户进行一些耗时适当的复杂运算,并且答案能被服务方快速验算,以此耗用的时间、设备与能源做为担保成本,以确保服务与资源是被真正的需求所使用。


现时,此技术成为了加密货币的主流共识机制之一,比特币和以太坊都是基于PoW的共识机制。


技术原理

工作量证明最常用的技术原理是散列函数。由于输入散列函数h()的任意值n,会对应到一个h(n)结果,而n只要变动一个比特,就会引起雪崩效应,所以几乎无法从h(n)反推回n,因此借由指定查找h(n)的特征,让用户进行大量的穷举运算,就可以达成工作量证明。


我们若指定h(n)的16进制值的前四值,求n,这样统计上平均约要运行216次h(n)散列运算,才会得到答案,但验算只要进行一次就可以了。如果想要增加难度,那就增加指定的位数即可。


以SHA256函数举例:假设我们要处理数据Hello World,并找出h(n)前四值为0000的n,如果从Hello World0开始加上一个十进制数ASCII进行穷举猜测,到Hello World107105时才会得到匹配条件的h(n):


0000BFE6AF4232F78B0C8EBA37A6BA6C17B9B8671473B0B82305880BE077EDD9


验算时只要将Hello World107105代入SHA256函数一次即可。


加密货币的应用

由于加密货币多由区块链所建构,而区块链本来就要依赖散列函数来做为数据正确无误的担保,所以在加密货币上使用工作量证明,是非常简明的设计。由分散在各处的计算机,竞赛谁能最早找出,搭配原本要打包的数据的穷举猜测值(nonce),谁就等同获得该区块的打包权(记账权)。


此猜测值被找出后,与数据、散列值一起打包成块后广播,经多数节点确认与承认,打包者就能获得打包该区块所提供的奖励。一般采用工作量证明的加密货币,好比比特币,会设置成随着参与竞赛的算力增减,而调整找寻猜测值的难度,以维持合理的运作速度。


优点

架构简明扼要、有效可靠。

完全去中心化,节点自由进出,避免了建立和维护中心化信用机构的成本。

由于要获得多数节点承认,那攻击者必须投入超过总体一半的运算量(51%攻击),才能保证篡改结果,使得攻击成功的成本变得非常高昂,难以实现。

缺点

目前比特币挖矿造成大量的资源浪费,投入在一种加密货币上的能源,可能会超过一个小型国家的总使用量。

挖矿的激励机制造成矿池算力的高度集中,背离了当初去中心化设计的初衷。

更大的问题是PoW机制的共识达成的周期较长,每秒只能最多做7笔交易,不适合商业应用。

后期开发的加密货币有针对抗ASIC的算法设计,例如以太坊采用的有向无环图(DAG)技术。


信息如有误,请联系我们更正。
本文仅供参考,不代表本网立场,亦不构成任何投资建议,买卖盈亏自担。
欢迎有发展前景的项目添加进来,请与我们联系添加

区块链 比特币百科词条解释

共收录442个词条

区块链百科,包括区块链技术、区块链应用、区块链货币、区块链人物、区块链创业投资等名词解释,这里汇集最全的区块链百科知识。

百科分类


区块链比特币人物数字货币交易基本技术通俗用语常见问题比特币技术进阶衍生技术技术应用钱包安全风险与监管
区块链百科导航热门词条

关于我们

联系我们

作者进驻

手机版

Copyright © 2013 比特巴 www.btb8.com
始建于2013年,提供比特币 区块链及数字货币新闻、技术教程、测评、项目周报、人物等资讯