工作量证明

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

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

相关

  • 硫酸镁硫酸镁(magnesium sulfate、magnesium sulphate),或无水硫酸镁,是一种含镁的化合物,分子式为MgSO4。无水的硫酸镁是一种常用的化学试剂及干燥试剂。其水溶液呈中性。但是硫酸镁常
  • 天使人症候群天使人综合征又称安格曼综合征(英文原名为Angelman syndrome),是一种基因缺陷而造成的疾病。罹患此症的小孩,脸上常有笑容,缺乏语言能力、过动,且智能低下。患者中约80%会有癫痫症
  • 伊热夫斯克伊热夫斯克 (俄语:Иже́вск;乌德穆尔特语:Иж)是俄罗斯乌德穆尔特共和国首府。2002年人口632,140人,是俄国人口第二十多的城市。伊热夫斯克过去是一个工业城市,其特点为各式
  • 表面重力小行星普遍具有以下几个物理参数,这些说明可能并不精确适用于所有的小行星。?红外线天文卫星(IRAS)小行星勘测 和太空中途红外实验(MSX)小行星勘测是直径数据的最常见来源。对于
  • 先进摄影系统C型先进摄影系统C型(英文:Advanced Photo System Classic,缩写:APS-C),是一种数字相机所使用的感光组件的规格之一。尺寸略等于先进摄影系统C型的大小,为25.1毫米× 16.7毫米,比例为3:2
  • 博雅教学馆博雅教学馆,为国立台湾大学五栋教学大楼的其中一栋(另外四栋为共同教学馆、普通教学馆、综合教学馆、新生教学馆),供大一大二共同科目课程及通识课程使用空间,并安置分散于校内多
  • 人类世人类世(英文:Anthropocene)又称人新世,是一个尚未被正式认可的地质概念,用以描述地球最晚近的地质年代。人类世并没有准确的开始年份,可能是由18世纪末人类活动对气候及生态系统造
  • 粮食酒粮食酒是用粮食酿造的酒,用粮食造酒要比用其他原料复杂,因为酿造果酒利用葡萄糖,一般微生物就可以发酵,酿造啤酒、威士忌等利用大麦种子自己产生的酶将淀粉转化成麦芽糖后发酵。
  • 葛楚德·拜恩斯葛楚蒂·拜恩斯(英语:Gertrude Baines,1894年4月6日-2009年9月11日),美国最年长者。自葡萄牙人玛莉亚·德·杰苏斯于2009年1月2日去世后,时年114岁的拜恩斯被认为是世界上依然在世
  • 欧格斯·兰斯莫斯乔治斯·“欧格斯”·兰斯莫斯(希腊语:Γιώργος Λάνθιμος,英语:Georgios "Yorgos" Lanthimos,1973年5月27日-)是一名希腊电影与剧场导演,他曾是2004年雅典奥运开闭幕