工作量证明

✍ dations ◷ 2025-11-26 15:22:54 #密码学,理论计算机科学,密码货币,电脑安全

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

相关

  • DNA聚合酶IDNA聚合酶I(DNA polymerase I;Pol I)是最早发现的一种DNA聚合酶(也是最早发现的聚合酶),于1956年由阿瑟·科恩伯格(Arthur Kornberg)从大肠杆菌中分离出,被 Kornberg 发现具有在体外
  • 二八第八第十埃及第二十八王朝是古埃及历史上的一个王朝,其统治者为埃及本土人。第二十八王朝与第二十六王朝、第二十七王朝、第二十九王朝、第三十王朝和第三十一王朝统称古埃及
  • 厨师厨师是一种为他人提供专业烹饪服务的人。通常意义上,厨师是指对烹饪已经高度熟练掌握的人,他们熟悉食物制作的各个方面。现代社会中,多数厨师就职于公开服务的饭馆、饭店等场所
  • 韩国国会执政党在野党大韩民国国会(韩语:대한민국 국회/大韓民國國會 Daehan Minguk Gukhoe),通称韩国国会,是大韩民国的一院制立法机关,每届任期四年。现有300个议席是由2016年4月13日的
  • 彼得一世岛彼得一世岛(俄语:Остров Петра I,挪威语:Peter I Øy),距南极洲边缘450公里一无人居住的火山岛岛屿。挪威对此有主权要求,但根据南极条约,此要求被冻结。该岛面积154平方
  • 第五条修正案宪法正文I ∙ II ∙ III ∙ IV ∙ V ∙ VI ∙ VII其它修正案 XI ∙ XII ∙ XIII ∙ XIV ∙ XV XVI ∙ XVII ∙ XVIII ∙ XIX ∙ XX XXI ∙ XXII ∙ XXIII ∙
  • 拟团扇蟹总科拟团扇蟹总科(Pseudozioidea)是短尾下目下的一个总科,曾被分在酋妇蟹总科、瓢蟹总科、扇蟹总科、毛刺蟹总科和长脚蟹总科下。 其下有很多生物都来自拟团扇蟹科。
  • 波卡洪塔斯县 (爱阿华州)波卡洪塔斯县(Pocahontas County, Iowa)是美国爱阿华州西北部的一个县。面积1,500平方公里。根据美国2000年人口普查,共有人口8,662。县治波卡洪塔斯 (Pocahontas)。成立于1851
  • 欧盟漫游规范欧盟漫游规范是欧盟委员会对移动通信漫游订定的几部法律规范,其中提到用户在欧洲经济区内某个国家办理门号,但想到其他国家也能使用语音通信、短信及数据漫游等行动通信服务时
  • 页缺失页缺失(英语:Page fault,又名硬错误、硬中断、分页错误、寻页缺失、缺页中断、页故障等)指的是当软件试图访问已映射在虚拟地址空间中,但是目前并未被加载在物理内存中的一个分页