比特币的白皮书是正确的还是错误的,又有什么是我们不知道的?

作者|刘扬 2018-10-31 11:27:27 303

(比特数字译)约瑟夫·邦诺(JosephBonneau)是纽约大学(NewYorkUniversity)的助理教授,也是“比特币与加密货币技术”(一本流行的教科书)的合著者。

这篇独家评论文章是CoinDesk的“比特币10:Satoshi白皮书“系列。

比特币白皮书被正确地认为是历史上最原始和最具影响力的计算机科学论文之一。

它已经启动了价值10亿美元的产业和数千份后续文件。

但是,有必要对这张白皮书(以及最初的比特币设计中省略的元素)进行批判性的审视,来问一问,这份文件得到了什么正确的结果?出了什么问题?又有哪些问题是我们还不知道的?

为什么比特币是正确的?

这可能是最难编译的类别。

一个真正成功的想法的标志之一是,我们忘记了人们在这个想法出现之前是如何看待世界的。比特币的许多最基本的贡献似乎仅在事后看来是毫无争议的。

我们很容易忘记,在21世纪的大部分时间里,加密货币是一个研究的死水。在1990年代建立一个工作制度的许多尝试失败之后(主要是使用大卫·查姆在1980年代概述的想法),该地区很少发表论文。许多人只是认为,非国家货币没有可行的市场。

在比特币出现之前,分散系统在21世纪是一个活跃的研究领域(通常被称为对等网络),匿名研究也开始进入自己的研究领域(随着tor和其他系统的发展)。

比特币的白皮书是正确的还是错误的,又有什么是我们不知道的? 

但这些并不被视为支付系统的必要功能。比特币贡献了什么?

1. 对矿工的奖励。比特币的核心贡献之一是通过通胀和收费为矿商提供激励措施。这种模式总体上是成功的,可以公平地说,很少有人预见到它的出现。在比特币时代之前,许多提供开放参与(任何人都可以运行节点)的P2P系统都受到Sybil攻击和其他问题的困扰。曾有许多鼓励诚实参与的尝试,但在比特币问世之前,没有一个系统能让它真正发挥作用。

2. 轻客户。比特币对完整节点和轻型(或SPV)节点的支持已经证明是相当强大的,而嵌入到比特币中的块结构使得实现轻型客户端不仅是可能的,而且是自然的。

3. 脚本编写。虽然比特币的脚本支持有限(白皮书中根本没有讨论过),但它提供了一些有用的功能,比如多签名账户和支付网络。设想一个系统来支持不仅仅是简单的支付是明智的。

4. 认识到长期激励。中本聪没有预料到工业规模的采矿或采矿池的出现。在白皮书中,但该确实对集权的风险有着非常有先见之明的观点:“(攻击者)应该发现,按照规则行事,比其他人加起来更有利于他的新硬币,而不是破坏体制和自己财富的有效性。”尽管从此以后,矿工们提出了大量的理论攻击,但在实践中没有人认真尝试过。中本聪认识到一个强有力的原则,即矿工有长期的动机不攻击,因为他们投资于生态系统的健康更有利于他们的利益。

比特币出了什么问题

我们将忽略比特币代码早期版本中的一些古怪的回顾功能,比如付费到ip地址和内置的电子商务系统,这些功能从未见过光明。

但比特币的几个特点似乎是“错误的”,因为今天建立的任何系统都不应该重复它们。

ECDSA虽然这种签名算法比RSA要好得多,但在各个方面都不如EC-Schnorr。最有可能的是,Satoshi根本不知道这个选项(Schnorr的软件专利遗产)。今天,如果不是更高级的签名方案(如BLS),使用Schnorr显然是有利的,因为它支持阈值签名。

交易延展性这个非故意的问题已经导致了支付网络等协议的头疼,以及著名的对mt的攻击。戈克斯。今天,一个谨慎的设计将使用类似于隔离见证(SegWit)的东西来确保事务散列是不可弯曲的。

从那以后就增加了功能。很明显,不包括诸如付费到脚本散列(P2SH)和检查锁定时间验证这样的流行特性是错误的,这些功能是由软分叉添加的。

硬币的可分性有限。比特币的上限是2100万比特币,但更重要的是,它的原子单位是2^52 Satoshis。如果比特币真的成为地球上唯一的支付系统,那么每个人只能提供不到一百万个单位。这远远不足以包括日常交易(甚至四舍五入相当于1美元的十分之一)和大量持有的资产。用几十个额外的比特来扩展这一点是非常便宜的,这样的话,可分性就不会成为一个问题。

在一条简单的链子里。考虑到“区块链”这个词的流行程度,值得注意的是,在线性链中放置块是一种疏忽,使得超级轻量级客户端验证旧块是否包含在当前链中的成本很高。比特币正确地将交易放入一棵树中,那么为什么比特币本身就不能阻止交易呢?跳过列表将是另一个重大改进。有趣的是,证书透明项目(在同一时期独立于比特币设计)得到了正确的结果,并将每一次更新都放入了一棵树中,而很少有比特币的继任者偏离了线性链设计。

没有国家承诺。比特币矿工都将系统状态作为一组未用事务输出(UTXO)进行跟踪。但这并不是对每一个街区的承诺,必须从历史上加以解释。这使得轻量级客户端很难确认当前状态是什么,以及事务是否已经使用。将UTXO承诺添加到每个块是非常容易的,并且许多后续系统(如Etal um)都会执行此操作的一个版本。

简单的攻击分析。比特币白皮书用了相当大的篇幅(约占文本的四分之一)来分析一个采矿力量不足51%的矿工幸运地成功启动分叉的可能性。随后的分析已经确定了许多其他攻击向量(例如自私的挖掘),这一分析现在看来已经过时了。

一CPU一票。Satoshi将比特币描述为一个系统,大多数参与者都是使用CPU的矿工。多年来,这种情况一直没有出现,因为矿业主要是由专用硬件主导的。虽然这是有争议的,如果ASIC挖掘是一个好的或坏的发展-这肯定不在原来的白皮书中。

我们还不知道的是

1. 沙-256字谜。比特币使用基于散列的计算难题(“工作证明”)一直是最活跃的争论话题之一。它会消耗太多的能量吗?ASIC是否鼓励集中化?为基于GPU的开采设计的谜题还是以更低的成本产生更好的激励?哪一方最终会赢?

2. 块大小和其他参数限制。至少可以说,1MB的块限制引起了争论,就像块之间10分钟的间隔(在较小的程度上)一样。许多后续系统随着更大或更频繁的块而蓬勃发展。从长远来看,比特币的保守设计会被证明是明智的吗?

3. 匿名。白皮书中提出的关于比特币提供匿名,因为只有公开密钥被张贴的观点,现在由于交易图分析的发展而被认为是不完整的。机密交易、Monero或Z现货等系统提供了更强的加密隐私。另一方面,许多向后兼容的方案已经被提出,通过混合来混淆比特币块链上的活动。匿名性是一个需要内置支持的关键特性,而比特币却忽略了这一点吗?

4. 通货膨胀。比特币的设计旨在避免通胀,但许多经济学家已经指出,比特币实际上是通缩的,因为最终,硬币只有在钥匙丢失时才能退出流通(或者硬币通过“燃烧证明”交易故意变得不可消费)。零通胀实际上需要少量的新货币发行,以跟上货币贬值的步伐。如果这是比特币中的一个错误,我们可能会在许多年后才意识到这一点,因为通胀正在慢慢地结束。

5. 转换到交易费用。比特币硬编码了一个缓慢的转变,即从主要通过通胀奖励矿商,到主要通过交易费用奖励矿工。没有人知道这将如何发展,但一些研究表明,这可能会导致后通胀世界的严重不稳定。

6. 有限的可编程性。比特币对其可编程性施加了严格限制,以确保交易易于(且成本可预测)核实。Etalum项目显示了对更丰富的编程模型的巨大需求,尽管它的模型引入了更多的缩放关注点。从长远来看,比特币会因其较弱的编程模式而受到阻碍吗?

 

  • 收藏

相关推荐

评论

最新评论

热门文章

世界银行区块链债券提供关键见解

世界银行区块链债券提供关键见解