工作量证明

✍ dations ◷ 2025-05-18 13:06:47 #密码学,理论计算机科学,密码货币,电脑安全

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

相关

  • 格里夫氏症弥漫性毒性甲状腺肿(Toxic diffuse goiter),又称格里夫氏症(Graves' disease),为一种主要侵犯甲状腺的自身免疫性疾病。此病为导致甲状腺功能亢进症最常见的原因,且会导致甲状腺肿
  • 线粒体核糖体线粒体核糖体是存在于真核细胞线粒体内的一种核糖体,负责完成线粒体这种细胞器中进行的翻译过程。线粒体核糖体的沉降系数介干55S-56S之间,是已发现的沉降系数最小的核糖体。
  • 威廉·莫里斯威廉·莫里斯(William Morris,1834年3月24日-1896年10月3日),英国艺术与工艺美术运动的领导人之一。世界知名的家具、壁纸花样和布料花纹的设计者兼画家。他同时是一位小说家和诗
  • 馥芮白馥芮白(Flat White)是一种流行于澳大利亚及新西兰的,以意式浓缩为基底的咖啡。馥芮白与拿铁、卡布奇诺有些相似。区别在于馥芮白使用更少的奶泡,从而获得较大的咖啡比例,品尝时更
  • 法拉第电解定律法拉第电解定律(英语:Faraday's laws of electrolysis),是化学中的两条定律,用于有关电解的化学计量。这定律由英国科学家米高·法拉第,在19世纪前半期通过大量实验得出的经验规律
  • 碳聚变 碳聚变过程是一种核聚变反应,发生在质量较重的恒星(诞生时至少4 MSun以上)耗尽了核心内较轻的元素之后。它需要高温(6×108 K)和高密度(大约2×108 kg/m3),主要过程是:另一类
  • 拜占庭式建筑拜占庭式建筑,指的是拜占庭帝国时期的建筑风格。在古罗马巴西利卡式的基础上,融合了东方(主要是波斯、两河流域、叙利亚等)艺术,形成了新的风格。对后来的东欧建筑和伊斯兰教建筑
  • 巴拉圭地理巴拉圭是位于南美洲的内陆国,和巴西、阿根廷及玻利维亚接壤。巴拉圭河将巴拉圭分为东巴拉圭和西巴拉圭两个地区。东部地区多是森林且气候湿润。而西部地区则相对干燥。巴拉那
  • 袁联清袁鎏(1844年-20世纪?),字联清,以字行称袁联清,祖籍浙江省慈溪县,生于镇海县,清末民国金融家、实业家、银行家,清末民国上海银行业领袖之一,曾参与创立上海第一个钱业公会。早年在上海从
  • 1941年凡城-埃尔吉斯地震1941年凡城-埃尔吉斯地震发生于当地时间9月10日23点53分,据估计该次地震规模为5.9,最大破坏程度为麦加利地震烈度第8度(MM VIII),该次地震造成192人伤亡。