工作量证明

✍ dations ◷ 2025-02-23 14:17:46 #密码学,理论计算机科学,密码货币,电脑安全

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

相关

  • 熔岩熔岩是指火山喷发出来的熔化岩石(即岩浆),或这些岩石冷固之后的形成物。地球和其他一些类地行星的内核是由岩浆组成的。在地球中,使得岩石熔化的热力来自地热能。当火山喷发时,熔
  • 分液漏斗分液漏斗是实验室中使用的一种玻璃仪器,有梨形分液漏斗、球形分液漏斗和筒形分液漏斗这三种类型。梨形分液漏斗主要用来萃取和分液。梨形分液漏斗的主体是一个倒锥体球,在球的
  • 质能等价E = mc²(即质能等价,亦称为质能转换公式、质能方程)是一种阐述能量(E)与质量(m)间相互关系的理论物理学公式,公式中的 c 是物理学中代表光速的常数。该公式表明物体相对于一个参照
  • Annelida环节动物门(学名:Annelida)是动物界的一个门,该门动物为两侧对称、同律分节的裂生体腔动物,有的具疣足和刚毛,多闭管式循环系统、链式神经系统。常见环节动物有:蚯蚓、蚂蟥(又称水蛭
  • Insecta见内文昆虫在分类学上属于昆虫纲(学名:Insecta),是世界上最繁盛的动物,已发现超过100万种。其中单鞘翅目(Coleoptera)中所含的种数就比其它所有动物界中的种数还多。昆字原作䖵。昆
  • 无产阶级国际主义无产阶级国际主义(英语:proletarian internationalism),又称国际社会主义(international socialism),音译英特纳雄耐尔(法语:internationale,时指国际工人协会,代称无产阶级国际主义)是
  • 2016年俄罗斯国防部图-154飞机空难2016年俄罗斯国防部图-154飞机空难于2016年12月25日发生,一架载有92人的俄罗斯国防部图-154飞机从索契起飞后不久在黑海坠毁,未发现有生还者。机上乘客包括著名的军方亚历山大
  • 蔡河立蔡河立(英语:Leslie Chai,1975年9月3—),本名蔡珂立,马来西亚男演员,出生于马来西亚霹雳州怡保。
  • 审视知识在一个空间中,将直线距离及空间角度概念与适当路标(landmark)作连结的知识(Thorndyke &Hayes-Roth, 1982)。通常可透过2种方式获得:(1)阅读地图。(2)环境导航。上述2种方式所
  • 古斯塔沃·雷古斯塔沃·雷·古兹曼(西班牙语:Gustavo Leigh Guzmán,1920年9月19日-1999年9月29日),是智利空军军官。曾担任智利空军总司令、军事执政委员会成员。是1973年智利政变主导者之一