主页 > imtoken安全下载 > 干货| 比特币的学术谱系,第 1 部分

干货| 比特币的学术谱系,第 1 部分

imtoken安全下载 2023-05-25 05:57:16

如果你看过比特币的新闻报道,熟悉密码学领域的学术研究,你应该会有这样的印象,数字货币的学术研究已经进行了几十年,从 David Chaum10,12 开始,但未能实现商业上的成功,因为整个数字货币体系需要由一个类似于银行的中心化服务机构来控制。 事实上,没有一家银行对此感兴趣。 比特币则另辟蹊径,提出了创造一种没有银行的去中心化加密货币的想法,数字货币终于迎来了成功。 人们普遍认为,神秘的比特币之父中本聪并非学者,比特币与以往的学术思想毫无相似之处。

为了反驳上述观点,本文特列出图1,从图中可以看出,比特币使用的几乎所有技术都起源于1980年代和1990年代。 作者无意贬低中本聪的贡献,而是指出他也是站在巨人的肩膀上。 通过追溯比特币的概念回到它的起源,我们可以关注中本聪真正的洞察力飞跃——他如何以某种精确和复杂的方式结合这些技术。 这有助于解释为什么比特币诞生得这么晚。 已经熟悉比特币运作方式的读者或许可以从这些历史回顾中获得更深刻的理解。 (参见 Arvind Narayanan 等人的《比特币与加密货币技术》入门36。)比特币的学术史也作为案例,分享了三方如何互惠互利的经验。

比特币分叉会影响比特币价格吗_比特币采用了工作量证明_比特币销售工作

账本

如果你有一个安全的分类账,将它应用到数字支付系统的过程很简单。 例如,如果 Alice 通过 PayPal 向 Bob 发送 100 美元,PayPal 将从 Alice 的账户中提取 100 美元并存入 Bob 的账户。 传统的银行业一般都是这样操作的,但是由于银行之间没有统一的台账,所以比较复杂。

分类帐的概念是理解比特币的基础。 账本可以记录系统中发生的所有交易,对系统中的所有参与者开放,并得到他们的信任。 比特币将这种记录支付的系统变成了一种货币。 然而在银行业,账户余额代表的是所有者可以从银行提取的现金,那么一单位比特币代表什么? 暂且理解为具有内在价值的交易项目。

如何在参与者互不信任的类互联网环境中建立账本? 让我们从简单的部分开始:如何选择数据结构。 我们希望这个分类帐满足几个属性。 这个账本应该是不可变的,或者更准确地说,是只能追加的:只能添加新的交易,不能删除、修改或重新排序现有的交易。 此外,应该有一种方法可以随时获取分类帐状态的简明密码摘要。 摘要是一个短字符串,避免存储整个账本,如果账本被篡改,摘要会相应改变,从而检测到篡改。 之所以满足上述性质,是因为这个账本不同于单机存储的普通数据结构,而是由一群互不信任的参与者维护的全局数据结构。 分散式数字分类账的另一种方法 7, 13, 21 是让多个参与者维护本地分类账,并让查询这组分类账的用户解决分类账之间的冲突。

链接时间戳

比特币的账本数据结构借鉴了 Stuart Haber 和 Scott Stornetta 在 1990 年至 1997 年间撰写的一系列论文(1991 年的论文与 Dave Bayer 合着)5,22,23,并稍作改动。 这是中本聪本人在比特币白皮书中所说的34。 Haber 和 Stornetta 解决了时间戳文件的问题——他们的目标是创建一个“数字公证”服务。 对于专利和商业合同等文件,所有者希望确保文件是在特定时间点创建的,而不是更晚。 他们定义的文件概念非常广泛,可以是任何类型的数据。 顺便说一下,他们确实在论文中提到金融交易是一种潜在的应用,但他们并没有重点关注它。

Haber 和 Stornetta 的论文概览现已发布,文档不断被创建和传播。 每个文件的创建者确认创建时间并签署文件、时间戳和最后一次广播时间。 前一个文件已经被前一个创建者签名,所以这些文件形成了一个带有时间指针的长链。 外部用户无法更改带有时间戳的消息,因为消息是由创建者签名的,即使创建者要更改它也必须连同后面链接的消息一起更改。 因此,如果一个可信来源(例如比特币采用了工作量证明,另一个用户或一些专门的时间戳服务)向链中添加了一些东西,直到那个东西的整个链都被锁定以防止更改,并暂时设置顺序。 此外,假设系统拒绝创建时间不正确的文件,按理说这些文件的创建时间至少不晚于它们的时间戳指示。 无论如何,比特币只是借鉴了Haber和Stornetta研究成果的数据结构部分,并在此基础上增加了工作量证明机制,重新设计了数据结构的安全属性。 关于工作量证明机制,我们稍后会解释。

比特币分叉会影响比特币价格吗_比特币采用了工作量证明_比特币销售工作

在随后的论文中,Haber 和 Stornetta 介绍了可以提高数据结构效率的想法(其中一些已经在第一篇论文中提到)。 首先,文件之间的链接可以通过哈希而不是签名来创建; 哈希计算起来更容易也更快。 这样的链接称为散列指针。 其次,您可以将这些文件打包到不同的批次或数据块中,而不是一个接一个地连接文件——如果同时创建许多文件,这可能会变得低效——您可以将这些文件打包到不同的批次或数据块中,每个数据块中的文件都共享相同的时间戳。 第三,每个数据块中的文件可以通过哈希指针创建的二叉树(即Merkle树)而不是线性链连接。 顺便说一句,上述三个想法分别由 Josh Benaloh 和 Michael de Mare 于 1991 年在 Haber 和 Stornetta 的第一篇论文 6 发表后不久提出。

默克尔树

比特币本质上使用了 Haber 和 Stornetta 在他们 1991 年和 1997 年的论文中编写的数据结构,如图 2 的简化版本所示(中本聪当时可能不知道 Benaloh 和 de Mare 的工作)。 当然,比特币用交易代替了文件。 在每个区块(本质上就是上面提到的数据块)的默克尔树中,叶子节点都是交易,每个内部节点包含两个指针。 这个数据结构有两个重要的属性。 首先,最新区块的哈希值充当摘要。 对任何交易(叶节点)的更改必然会将更改传播到该交易所在区块的根节点,并传播到后续区块的根节点。 因此,如果您知道最新区块的哈希值,您可以从您不信任的来源下载分类帐的其余部分,并验证它是否未更改。 类似的一点确立了数据结构的另一个重要属性——任何人都可以有效地向你证明一笔交易是否包含在账本中。 这个用户只需要向你发送这个交易所在区块的少量节点(这就是默克尔树的意思),以及后续每个区块需要的少量信息。 有效证明区块中包含交易的能力对于性能和可扩展性的改进是非常可取的。

比特币分叉会影响比特币价格吗_比特币采用了工作量证明_比特币销售工作

顺便说一句,Merkle 树是以非对称密码学先驱 Ralph Merkle 的名字命名的,他在 1980 年的论文 33 中提出了这个想法。 他的预期应用是为数字证书的公共目录生成摘要。 例如,如果网站向您提供证书,它还会提供一个简短的证明,证明该证书确实存在于全局目录中。 只要知道目录中证书 Merkle 树的根哈希值,就可以高效地验证这个证明。 按照密码学领域的标准,这个想法算不上什么新鲜事,但它的威力直到最近才受到重视。 它是最近实施的证书透明度系统 30 的核心。 2015 年的一篇论文提出了 CONIKS,将公钥目录的思想应用于端到端的加密电子邮件32。 新的加密货币以太坊提供的主要账本功能之一是对全局状态的部分进行有效验证。

比特币可能是 Haber 和 Stornetta 提出的数据结构最著名的现实世界实例,尽管不是第一个。 至少有两家公司提供文件时间戳服务——自 1990 年代中期以来的 Surety,以及自 2007 年以来的 Guardtime。这两项服务发生了有趣的转变,因为拜耳、Haber 和 Stornetta5 提出了在一份定期发布默克尔根源的报纸。 图 3 显示了 Guardtime 在报纸上发布的默克尔根。

比特币分叉会影响比特币价格吗_比特币采用了工作量证明_比特币销售工作

拜占庭容错

比特币分叉会影响比特币价格吗_比特币采用了工作量证明_比特币销售工作

当然,不受中央权威实体控制的互联网货币需要满足更严格的要求。 分布式账本难免会出现分叉,这意味着有些节点会认为区块A是最新的,而其他节点会认为区块B是最新的。 一个原因可能是坏人试图破坏账本,另一个可能只是网络延迟,导致不同节点在不知不觉中几乎同时产生区块。 正如 Mike Just 在其 1998 年的论文26 中所述,仅链式时间戳不足以解决分叉问题。

另一个研究领域,容错分布式计算,以不同的名称研究了这个问题,包括状态复制。 一种解决方案是允许一组节点以相同的顺序应用相同的状态转换——通常确切的顺序并不重要,只要所有节点都一致即可。 对于数字货币来说,要复制的状态是一组余额表,交易代表状态转换。 包括 Paxos 在内的早期解决方案是由图灵奖获得者 Leslie Lamport 在 198928 年发表的论文中提出的,29。 他提出使用状态复制来避免通信通道不可靠或少数节点可能出现一些“真实”故障的问题,例如永久离线或在第一次离线后重新启动并发送过时的消息。 随后的文献讨论了更多不利的环境和效率权衡。

一项相关工作检查了网络高度可靠(消息传递延迟不超过特定界限)的情况,但是它对“错误”的定义被扩展到包括任何偏离协议的情况。 此类拜占庭错误包括自然发生的错误和恶意设计的行为。 1982 年,Lamport 与 Robert Shostak 和 Marshall Pease 在一篇论文中首次研究了这种类型的错误27。 然后直到 1999 年,Miguel Castro 和 Barbara Liskov 发表了一篇具有里程碑意义的论文比特币采用了工作量证明,介绍了 PBFT(实用拜占庭容错算法)的概念,同时解决了拜占庭错误和不可靠网络的问题8。 与链式时间戳相比,关于容错的学术文献非常丰富,包括数百种 Paxos 和 PBFT 等开创性协议的变体和优化。

在最初的白皮书中,中本聪没有引用此类文献或使用相关术语。 他在他的协议中使用了一些概念作为共识机制的参考,并考虑了攻击者和节点加入和离开网络的失败。 相比之下,他在很大程度上依赖于有关链接时间戳(和工作量证明,如下所述)的文献。 当在邮件列表讨论中被问及比特币与拜占庭将军问题(一个需要拜占庭容错来解决的思想实验)的关系时,中本聪坚持工作量证明区块链可以解决这个问题35。

随后几年,其他学者从分布式系统的角度研究了中本聪的共识机制。 这些研究仍在进行中。 有学者表示,比特币的属性非常脆弱43,而另一些学者则认为,拜占庭容错视角无法公平评价比特币的一致性40。 另一种方法是定义经过充分研究的属性的变体,并证明比特币满足这些变体19。 这些定义最近得到了实质性的改进,成为在更现实的消息传递假设下更标准的共识定义 37。 然而,所有这些研究结果都是建立在参与者的行为是“诚实”(即符合约定)的前提下的,但中本聪提出,诚实行为是通过经济激励实现的,并不需要盲目地假设这一点。 Nakamoto 的共识算法可以作为激励的分析不适用于过去的容错系统模型。

注解:

[5]:Bayer, D.、Haber, S.、Stornetta、WSI 提高数字时间戳的效率和可靠性。 序列会议记录 1991;

[6]:Benaloh, J., deMare, M.1991。 高效的广播时间戳;

比特币采用了工作量证明_比特币销售工作_比特币分叉会影响比特币价格吗

[7]:博伊尔,TF1997。 GLT 和 GLR:总账的组件架构;

[8]:Castro, M., Liskov, B.1999。 实用的拜占庭容错。 第三届操作系统设计与实现研讨会论文集;

[10]:Chaum, D. 1983. 不可追踪支付的盲签名。 密码学进展:199-203。

[12]:Chaum, D., et al. 1988. 无法追踪的电子现金。 密码学进展:319-327;

[13]:戴伟,1998;

[19]:加雷,JA,等。 2015. 比特币骨干协议:分析与应用。 密码学进展:281-310;

[21]: Grigg, I. 2005. 三式会计;

[22]:Haber, S., Stornetta, WS 1991。如何为数字文档添加时间戳。 密码学进展 - CRYPT0' 903(2): 99-111;

比特币分叉会影响比特币价格吗_比特币采用了工作量证明_比特币销售工作

[23]:Haber, S., Stornetta, WS 1997。位串的安全名称。 在第四届 ACM 计算机和通信安全会议论文集中:28-35;

[26]:Just, M. 1998. Some timestamping protocol failures;

[27]:Lamport, L., et al. 1982. 拜占庭将军问题。 ACM 编程语言和系统汇刊4(3):382-401;

[28]:Lamport, L. 1989. 兼职议会。 数字设备公司;

[29]:Lamport, L. 2001. Paxos made simple;

[30]: Laurie, B. 2014. Certificate Transparency.acmqueue12(8);

[32]:Melara, M. 等人。 2015. CONIKS:为最终用户带来关键透明度。 第 24 届 Usenix 安全研讨会论文集;

[33]:Merkle,RC 1980。公钥密码系统协议。 IEEE 安全与隐私研讨会;

比特币分叉会影响比特币价格吗_比特币采用了工作量证明_比特币销售工作

[34]:Nakamoto, S. 2008. 比特币:一种点对点的电子现金系统;

[35]:Nakamoto, S. 2008. Re: Bitcoin P2P e-cash paper;

[36]:Narayanan, A., et al. 2016. 比特币和加密货币技术。 普林斯顿大学出版社;

[37]:Pass,R.,等。 2017. 异步网络中的区块链协议分析。 密码技术理论与应用年度国际会议;

[40]:Sirer,EG 2016。比特币保证了强一致性,而不是最终一致性。 黑客攻击,分布式;

[43]:Wattenhofer, R. 2016。区块链科学。 倒置森林出版社。

原文链接:

作者:Arvind Narayanan & Jeremy Clark

翻译和校对:& Elisa

你可能还喜欢: