当前位置:首页区块链亚当·巴克是如何设计比特币引擎的

亚当·巴克是如何设计比特币引擎的

没有Hashcash ,可能至今也不会出现一个 去中心化 的数字现金系统。

亚当·巴克是如何设计比特币引擎的

[公告]HACH现金券

1997年3月28日,2000多名密码朋克邮件列表的订户收到了一封电子邮件,邮件开头引用了上述内容。发信人是一名26岁的英国人,是埃克塞特大学的博士后。这位年轻的密码学家,在邮件组被命名为亚当博士,也是邮件组的多产贡献者。这封电子邮件包含一个解释和一个简单的实现。作者将其命名为“基于部分哈希冲突的邮资方案”——这实际上相当于电子邮件中使用的邮票,但它基于一个漂亮的密码方案。

“使用部去中心化列的原因是计算成本可以任意增加,”back写道,“但可以立即验证。”。他就是这样解释这个系统的优点的。

当年的密码学家现在是blockstream的CEO,但这封邮件当时并没有引起太多回应:只有一位读者回复了这封信,并讨论了选择哈希算法的技术问题。然而,hashcash背后的技术——工作量证明——在数字货币研究诞生十多年后就形成了它。

“以任务处理为代价攻击垃圾邮件”

Back的hashcash并不是类似计划的先驱。

早在20世纪90年代初,互联网的发展前景,特别是电子邮件系统的优势,就已为有关技术人员所看到。然而,当时的互联网先驱们也意识到电子邮件系统有其自身的问题。

IBM研究人员辛西娅·德沃克(Cynthia dwork)博士和莫尼·纳奥尔(MONI Naor)博士在1992年的白皮书中解释说:“尤其是,发送电子邮件既简单又便宜,你可以向许多人发送同样的信息,这势必导致滥用。”。白皮书被称为“以任务处理为代价打击垃圾邮件”。

事实上,随着电子邮件的普及,垃圾邮件也层出不穷。

需要一个早期互联网用户同意的解决方案——其中一个由德沃克和纳奥的论文提供。

他们的解决方案是:电子邮件的发送者每次发送电子邮件时,都必须在电子邮件中附加一些数据。数据需要是一个数学问题的解决方案,每封电子邮件都会问一个独特的问题。具体来说,dwork和Naor提出了三个基于公钥密码和签名方案的候选谜题。

为电子邮件添加解决方案并不困难。理想情况下,它只需要普通计算机几秒钟的处理能力,接收器就可以轻松地检查它的有效性。有趣的是:对于广告商、欺诈者和黑客来说,哪怕是一点点电子邮件的处理能力也会增加高昂的成本,因为他们都希望一次发送数千甚至数百万条信息。从理论上讲,垃圾邮件的成本可能非常高,而且无利可图。

dwork和Naor解释说:“主要的想法是让用户计算一个难度适中但不难的函数,然后他们就可以访问资源,从而防止滥用。”。

尽管德沃克和纳尔没有发明这个术语,但他们提出的解决方案后来被称为“努力的证明”。用户必须展示他们的计算机工作结果,以证明他们在消耗真实世界的资源。

多漂亮的计划啊。不幸的是,它可能太先进了。这个方案只在一小部分计算机科学家中流传,从未受到广泛关注。

亚当回来密码朋克

就在德沃克和纳尔发表白皮书的时候,一群自由主义的隐私活动家开始意识到互联网的巨大潜力。这群有着相同思想的人开始组成一个电子邮件小组来探索隐私增强技术。像dwork和Naor一样,这些“加密朋克”(后来被称为“加密朋克”)使用较新的加密技术来实现他们的目标。

几年后,1996年获得博士学位的亚当·巴克成为这个群体中最活跃的参与者之一,有时一个月发几十封电子邮件。和其他代码朋克一样,他也对隐私和言论自由感兴趣;他还参与了匿名转售商、加密文件系统和电子现金(由David Chaum博士发明)等主题的技术讨论。

但有一段时间,back最**的故事可能是“武器”夹克的印刷和销售:印有加密技术协议的T恤,其用意是指出美国政府根据《出口管制法》中的“武器”规定控制菲尔·齐默尔曼(Phil Zimmermann)的PGP(pretty good privacy)加密程序的荒谬之处。如果你穿上衣服,越过边境离开美国,你将成为一个“武器出口国”。

亚当·巴克是如何设计比特币引擎的1

像大多数人一样,back没有注意到dwork和Naor的工作量证明方案。但在上世纪90年代中期,他一直在想一种类似的方式来对付垃圾邮件,有时在密码朋克邮件群中“高调”发言。

例如,在为转发器添加更多隐私的上下文中,back将评论:“使用PGP协议的优点之一是PFP加密方法将对垃圾邮件发送者施加一些开销-他每秒可以加密的消息数应小于插入T3链接所需的数目。”。很像德沃克和纳尔的想法。

密码朋克的邮件组在五年内迅速增长。它最初只是旧金山湾区一小部分初创公司的在线讨论平台,后来成为一个小互联网现象,拥有数千名订户,电子邮件太多,无法阅读。

正是在这段时期——1997年,邮件群的数量接近顶峰——back提出了他的建议。

哈希卡什

Hashcah类似于dwork和Naor的反垃圾邮件方案,目的是相同的,但是back提出了一些额外的用途,比如**匿名转售商的滥用。但顾名思义,hashcash与dwork和Naor基于不同的集合。它是基于哈希算法的。

哈希算法是一种密码学工具,它可以接受任何数据——无论是一个字母还是一整本书——作为输入,然后输出一个固定长度、看似不规则的数字。

例如,句子“this is a sentence”的SHA-256散列值是十六进制数,如下所示:

亚当·巴克是如何设计比特币引擎的2

“转换”为常规十进制数是:

亚当·巴克是如何设计比特币引擎的3

二进制形式为:

亚当·巴克是如何设计比特币引擎的4

但是,“this,is a sentence”的SHA-256散列值是:

亚当·巴克是如何设计比特币引擎的5

正如你所看到的,仅仅插入一个标点符号就会产生一个不同的散列。此外,重要的是这两个句子的哈希值是完全不可预测的;即使你知道第一句话的散列值,你也无法从中推断出第二句话的散列值。唯一知道的方法是实际运行哈希计算。

Hashcash巧妙地使用了这个数学工具。

在hashcash中,电子邮件的元数据(如发件人地址、收件人地址、发送时间等)被形式化为一个协议。此外,电子邮件的发送者必须在元数据的这一部分中添加一个随机数,称为“nonce”。所有这些元数据,包括“nonce”,都可以得到一个散列值,看起来像上面显示的随机数。

秘密在于,没有任何哈希值可以算作“有效”。哈希值的二进制形式必须以预定的数字“0”开始才有效;例如,应该有20个零。发送方需要找到一个nonce,以便哈希值的开头有20个“零”。然而,他不能事先知道哪个能做到。

因此,要获得这样一个有效的散列值,发送方只有一种方法:试错法(也称为“暴力计算”)。他只能不断尝试不同的临时符号,直到找到一个有效的组合。否则,TA的邮件将被收件人的邮件客户端拒绝。就像dwork和Naor的解决方案一样,hashcash也需要计算资源:它是一个防工作负载的系统。

“如果电子邮件没有20位哈希值。。。你的程序会弹出一个声明,解释邮资和哪里可以买到合适的软件这会让垃圾邮件发送者一夜之间破产,因为100000 x 20=100 MIP年远比他们的算力强大。”。

值得注意的是,back的工作负载证明了系统比dwork和Naor的更随机。他们的解决方案是只解决一个难题,这意味着更快的计算机总是能更快地解决它(与更差的计算机相比)。但从统计上看,hashcash中速度较慢的计算机也有机会更快地找到正确的解决方案。

(例如,如果有人跑得比别人快,他就能赢得每一次冲刺。但是,如果有人只是买了更多的彩票,总有一个机会,其他人将赢得比他更多-只是不太经常。)

数字世界的稀缺性

与德沃克和纳尔的提议类似,哈什卡什从未取得太大进展。他在2002年的白皮书中详细解释了hashcash。Apache的开源SpamAssassin平台实现了它,微软利用了一种不兼容的“电子邮件邮戳”格式的工作负载证明思想。Back等学者多年来一直致力于此解的不同应用,但都没有得到太多的关注。对于大多数潜在的应用来说,网络效应的缺乏使得它们很难启动。

然而,德沃克、纳尔和巴克确实创造了一些东西。数字产品最强大的特点之一是可以轻松**,而工作量证明本质上是第一个独立于中心的虚拟稀缺概念:它将电子数据与现实世界和有限的计算资源结合起来。

而稀缺性,无疑是金钱存在的前提。事实上,back在他的密码朋克电子邮件演讲和白皮书中明确地将hashcash归入了货币的范畴,与当时世界上唯一一种数字现金(Chaim的digicash)相比。

“在digicash被广泛使用之前,hashcash或许能够提供一个临时措施,”back在邮件组中说现金是免费的。你只需要在你的电脑上花一些计算就可以得到它。这符合网络文化的自由表达。经济困难的人可以与百万富翁、退休政府官员等平等对话(此外,如果digicash出错(被接管或被要求保留用户的身份信息),hashcash还可以提供一个备份方案来控制垃圾邮件。”

然而,除了名字之外,hashcash作为一种成熟的现金还不是很好(dwork和Naor的建议当然不能)。或许更重要的是,证明接受者“收到”的工作量对他毫无用处。不像钱,你可以把钱花在别的地方。此外,由于计算机性能的不断提高,它们可以同时产生越来越多的证据——hashcash将遭遇超级通货膨胀。

除此之外,工作量证明为数字货币的研究提供了新的基础。后来大多数重要的数字货币方案都是基于hashcash的,一般来说,工作负载证明是可以重用的(HAL Finney的“可重用工作负载证明(prow)”就是最明显的例子)。

比特币

当然,最终工作负载被证明是比特币的基石,hashcash是比特币白皮书中为数不多的参考文献之一。

然而,比特币使用hashcash(或其变体)与其他人先前提出的方法有很大不同。与hashcash和其他基于hashcash的解决方案不同,workload证明了它提供的稀缺性在比特币中没有直接用作货币。事实上,hashcash用于创建一个竞争:不管哪个miner首先生成一个有效的工作量证明(即比特币事务块的哈希值),ta都决定接下来处理哪些事务。至少从理论上讲,每个人都是平等竞争的:就像彩票一样,即使是小矿工也有机会在某个时候率先产生有效的工作量。

此外,每当一个块被挖出来时,它都会确认一些不太可能被撤销的事务。攻击者必须证明他所做的工作至少与第一次挖出的块体相同,并且随着后续块体的出现,这个工作量将继续累积。在正常情况下,难度会成倍增加。因此,欺骗所需的现实资源一般都大于欺骗所获得的潜在利润。因此,比特币交易的接受者有信心,他们收到的钱不会凭空消失。

这种使用hashcash的方式可谓一举两得:它不仅以去中心化的方式解决了“多次支付问题”,还为新硬币进入流通领域提供了一种无需中心化发行人的途径。

Hashcash并没有成为第一个电子现金系统,而ecash起了主导作用,工作量证明它实际上不能用作货币。但是没有它,可能还没有一个;去中心化;数字现金系统。

温馨提示:

文章标题:亚当·巴克是如何设计比特币引擎的

文章链接:https://www.btchangqing.cn/273454.html

更新时间:2021年06月04日

本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。

区块链

在吸引了3000万美元后,Dot和KSM的价格飞涨

2021-6-4 22:04:44

NFT区块链

投融资周报

2021-6-4 22:11:30

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索