工作量证明

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

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

相关

  • 红斑红斑(希腊文:erythros,意思是红色)是因为皮肤表面毛细血管的血管扩张,造成皮肤或黏膜充血发红的症状。红斑会因为皮肤受伤、感染或发炎而出现。也有一些和疾病无关的皮肤红斑,例
  • 动力系统动力系统(dynamical system)是数学上的一个概念。动力系统是一种固定的规则,它描述一个给定空间(如某个物理系统的状态空间)中所有点随时间的变化情况。例如描述钟摆晃动、管道中
  • 摩拉维亚摩拉维亚(捷克语:Morava;德语:Mähren;英语:Moravia),为捷克东部一地区,得名于起源该地区的摩拉瓦河。位于南部维也纳盆地深处的沉积层正被钻探,以寻找石油与褐煤,而俄斯特拉发附近的煤
  • 佛手柑香柠檬(Citrus × bergamia),又名香柑、香柠檬橙,是芸香科柑橘属中,一种小型的、形状似梨的柑橘类水果,原产于意大利卡拉布里亚。遗传学的研究表明香柑很可能是从甜青柠(Citrus li
  • 后勤学后勤学,又称军事物流学,是计划与执行军事部队的物流运输与维护的艺术与科学。就是军事行动中的:物流是一门精确的科学。对于物料或服务的种类、时间、地点等要求并有数学公式或
  • 弧是一条平面曲线,它是圆上两点间的一段,包含两个端点。连接弧的两个端点之间的线段被命名为弦。若圆心位于弧与弦连接成的封闭图形之内,这段弧称为优弧。若圆心位于弧与弦连接
  • 陵城区陵城区是中国山东省德州市所辖的一个市辖区,原为陵县,2014年10月29日国务院批准撤陵县设立德州市陵城区。陵城区辖2个街道10镇、1个乡:安德街道、临齐街道、郑家寨镇、糜镇、宋
  • 爱米莉·巴尔奇艾米莉·格林·巴尔奇(Emily Greene Balch,1867年1月8日 - 1961年1月9日),美国学者、作家和和平主义者。艾米莉·格林·巴尔奇生于马萨诸塞州贾梅卡普兰,父亲是律师。先于布林马
  • 放射性镧测试放射性镧测试(英语:RaLa Experiment,RaLa为Radioactive Lanthanum的缩写)是曼哈顿计划期间、结束后进行的一系列实验,目的是研究汇聚激波,从而研制出核武器钚弹芯压缩所需的球形内
  • 安德烈·安德烈耶维奇·安德烈耶夫安德烈·安德烈耶维奇·安德烈耶夫(俄语:Андрей Андреевич Андреев,1895年10月18日(30日)-1971年12月5日)苏联党和国务活动家。1895年,生于斯摩棱斯克省瑟切