工作量证明

✍ dations ◷ 2025-12-02 19:18:52 #密码学,理论计算机科学,密码货币,电脑安全

工作量证明(Proof-of-Work,PoW)是一种对应服务与资源滥用、或是拒绝服务攻击的经济对策。一般是要求用户进行一些耗时适当的复杂运算,并且答案能被服务方快速验算,以此耗用的时间、设备与能源做为担保成本,以确保服务与资源是被真正的需求所使用。此一概念最早由Cynthia Dwork(英语:Cynthia Dwork)和Moni Naor(英语:Moni Naor)于1993年的学术论文提出,而工作量证明一词则是在1999年由Markus Jakobsson(英语:Markus Jakobsson)与Ari Juels.所发表。现时此一技术成为了加密货币的主流共识机制之一,如比特币所采用的技术。

工作量证明最常用的技术原理是散列函数。由于输入散列函数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),谁就等同获得该区块的打包权(记账权)。此猜测值被找出后,与数据、散列值一起打包成块后广播,经多数节点确认与承认,打包者就能获得打包该区块所提供的奖励。一般采用工作量证明的加密货币,好比比特币,会设置成随着参与竞赛的算力增减,而调整找寻猜测值的难度,以维持合理的运作速度。

相关

  • 乳酪乳酪是指由乳酸菌发酵而产生的奶制品,所指的可以是:
  • 气态气体是四种基本物质状态之一(其他三种分别为固体、液体、等离子体)。气体可以由单个原子(如稀有气体)、一种元素组成的单质分子(如氧气)、多种元素组成化合物分子(如二氧化碳)等组成
  • 苏瓦松苏瓦松(法语:Soissons)位于法国北部埃纳河畔,是上法兰西大区埃纳省的一个市镇,位于该省西南部,同时也是该省的一个副省会,下辖苏瓦松区。苏瓦松是法国最古老的城市之一。768年,法兰
  • 黑粉菌目见内文黑粉菌目(学名:Ustilaginales)是担子菌门黑粉菌纲下的一目。该目真菌是重要的植物病原菌,可引起多种植物的黑粉病。另有少数黑粉菌的菌瘿可食用,如原产自墨西哥的玉米蘑菇(
  • 巧克力共和国巧克力共和国(英语:Republic of Chocolate)为台湾桃园市八德区境内的一座以巧克力为主题的博物馆。巧克力共和国由宏亚食品创立,2012年4月14日开幕,为东亚首座巧克力博物馆,地址位
  • 金牌金牌通常是奖励给某项竞赛(例如奥运会等体育比赛)第一名优胜者的奖牌。竞赛的二、三名优胜者一般是分别获得银牌和铜牌。金子是最贵重的金属之一,因此称之为金牌表示该奖项最为
  • 勾漏片勾漏方言是一种粤语方言,即粤语勾漏片,或称勾漏粤语。主要分布在广西东南部的玉林、贵港、梧州、贺州及广东西北部的肇庆、云浮、清远等地区,在两广粤语中使用人口最多,分布地域
  • 即墨之战即墨之战发生于前284年至前279年,战国时代燕国名将乐毅统率燕军攻打齐国即墨城的一场攻防战争。前284年,燕国名将乐毅统率燕、秦、赵、韩、魏、楚六国联军攻打齐国,并于济西之
  • 齐鲁晚报齐鲁晚报创刊于1988年1月1日,是由大众报业集团主办的山东省惟一的省级晚报,且是山东省发行量最大的报纸。目前在国内有北京、沈阳、济南东、济南西、青岛、烟台、临沂、潍坊、
  • 杜桑·凯利杜桑·凯利(斯洛伐克语:,1948年6月19日-)是斯洛伐克插画家,1988年国际安徒生插画家奖得主。1948年出生于布拉迪斯拉发,1966年进入该市艺术大学学院学习,自1990年起成为布拉迪斯拉发