工作量证明

✍ dations ◷ 2025-11-01 08:00:11 #密码学,理论计算机科学,密码货币,电脑安全

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

相关

  • 山药薯蓣(学名:Dioscorea polystachya;chinese yam;cinnamon-vine)又称为“蒣”,是薯蓣科薯蓣属的一种植物。 薯蓣的块茎称为山药,冬季采挖。原产地位于中国豫西北的焦作地区附近,古称怀
  • 11-脱氧皮质酮11-脱氧皮质酮(英语:11-Deoxycorticosterone,DOC,简称为脱氧皮质酮)是一种具有盐皮质激素活性的由肾上腺产生的类固醇激素并作为醛固酮的前体。顾名思义,11-脱氧皮质酮可被看作是
  • 欧共体本文是 欧洲联盟的政治与政府 系列条目之一欧洲共同体(英语:European Community;单数)是欧洲联盟官方已不再使用的组织名称,使用于1993至2009年。1993年11月1日生效的《马斯垂特
  • metabolite代谢产物 (英语:Metabolite),又称代谢物是代谢的中间或最后产物,这个词汇是通常指的是小分子。他们有诸如作为燃料、结构、讯号、刺激、抑止酵素(通常作为酵素的辅因子)、防卫或
  • 法兰西岛大区法兰西岛(法语:Île-de-France)是法国本土13个大区之一,也是法国首都巴黎的首都圈。其以巴黎为中心,包括巴黎省(75省)、上塞纳省(92省)、塞纳-圣但尼省(93省)、马恩河谷省(94省)、塞纳-马
  • 反英雄 反英雄(英文:Antihero)是文学、电影、戏剧作品中,形象接近反派角色或有缺点的普通人,但同时具有英雄气质或做出英雄行为的角色。反英雄可以是主角或重要的
  • 李广 (西梁)李广(?-567年),会稽郡(今浙江省绍兴市)人,中国南北朝后梁军事人物。李广武勇,事奉萧詧,官至大将军。后梁天保六年(北周天和二年,陈光大元年,567年)沌口之战中,李广先登力战。华皎军败,被吴明
  • 拉赫蒂车站拉赫蒂车站(芬兰语:Lahden rautatieasema),芬兰拉赫蒂市的一个铁路车站。该站由图雷·赫尔斯特勒姆(芬兰语:Thure Hellström)设计,于1935年建成。由于二十世纪三十年代经济萧条的缘
  • 布林德特雷伯尔河坐标:54°06′15″N 12°48′06″E / 54.1041°N 12.8017°E / 54.1041; 12.8017布林德特雷伯尔河(德语:Blinde Trebel),是德国的河流,位于该国东北部,由梅克伦堡-前波美拉尼亚州负
  • 硫代氢化铝锂硫代氢化铝锂是一种配位化合物,化学式为LiAlHSH(或写作LiAlSH2)。硫代氢化铝锂可以用于制备硫代氨基甲酸酯(英语:Thiocarbamate)。