后台-系统设置-扩展变量-手机广告位-内容正文顶部

比特币白皮书中的对错与未知

雷达编辑 行业资讯 2018-11-01 11:11:06

比特币白皮书理所当然地被认为是历史上最原创、最具影响力的计算机科学论文之一。

它已经启动了一个价值10亿美元的产业和成千上万的后续论文。

但是,有必要对这篇论文(以及论文中遗漏的最初比特币设计的元素)进行批判性的审视,看看这篇论文做得对不对?出了什么问题?哪些问题我们仍然不知道答案?

比特币正确的地方

一个真正成功的想法的一个标志就是我们忘记了在这个想法出现之前人们如何看待这个世界。 比特币的许多最基本的贡献似乎只是在后见之明。

人们很容易忘记,加密货币在本世纪头十年的大部分时间里都是研究领域的死水。在上世纪90年代许多尝试建立工作系统的尝试失败后(主要使用David Chaum在20世纪80年代概述的想法),该领域很少发表论文。许多人只是认为,非国家货币没有可行的市场。

在比特币出现之前,分散式系统在21世纪初是一个活跃的研究领域(通常被称为对等网络),匿名研究也随着Tor和其他系统的发展而逐渐形成。

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

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

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

3. 脚本。尽管受到限制,比特币的脚本支持(白皮书中根本没有讨论)已经启用了一些有用的功能,比如多签名账户和支付网络。设想一个支持简单付款的系统是明智之举。

4. 认识到长期激励措施。Satoshi没有预见到工业规模的采矿或采矿池,至少白皮书中没有。但是这篇论文确实包含了一个关于集中化风险的非常有先见之明的观点:“(攻击者)应该发现规则更有利可图,这些规则比其他人合并更多的新硬币,而不是破坏 制度和他自己财富的有效性。”尽管此后有大量关于矿工的理论攻击的报道,但实际上没有人真正尝试过。 Satoshi认识到一个强有力的原则:矿工们有长期的激励措施,不会攻击,因为他们投资于生态系统的健康。

比特币出了什么问题

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

但比特币有几个看似“错误”的功能,即当今构建的任何系统都不应重复这些特征。

1. ECDSA。虽然这种签名算法远比RSA算法好,但它在各个方面都不如EC-Schnorr。很可能Satoshi根本不知道这个选项(围绕Schnorr的软件专利遗产)。今天,如果不支持更高级的签名方案(如BLS),那么使用Schnorr代替其对阈值签名的支持显然是有利的。

2. 交易可塑性。 这个无意识的问题导致支付网络等协议的头痛,以及著名的对Mt. Gox的攻击。今天,一个谨慎的设计将使用隔离证人(SegWit)的方式来确保事务哈希是不可修改的。

3. 功能自添加。很明显,没有包含一些流行的特性是错误的,比如pay-to-script-hash(P2SH)和check-locktime-verify,这是因为软叉已添加。

4. 硬币有限的可分性。比特币有2100万比特币的限制,但更重要的是,它的原子单位约为2 ^ 52 satoshis。如果比特币真的成为地球上唯一的支付系统,那么这将为每个人提供不到100万个单位。这还不足以同时涵盖日常交易(甚至四舍五入,相当于十分之一美元)以及大量持有。用几十个额外的位来扩展它是相当便宜的,这样可分割性就不会成为问题。

5. 形成一条简单的链条。考虑到“区块链”这个时髦词已经发展到什么程度,有必要指出的是,将块放入线性链中是一种疏忽,这使得超轻量级客户机验证旧块是否包含在当前链中代价高昂。比特币正确地将交易放到了一棵树上,那么,为什么不让区块自己来完成呢?跳过列表将是另一个主要的改进。有趣的是,证书透明项目(独立于同一时代的比特币而设计)很好地实现了这一点,并将每次更新都放到了一棵树上,而比特币的几个后继者偏离线性链设计。

6. 任何国家承诺。比特币矿商都将系统状态跟踪为一组未使用的交易输出(UTXOs)。但这并不是对每一个街区的承诺,必须从历史中推定。这使得轻量级客户机很难确认当前的状态以及事务是否已被使用。向每个块添加UTXO承诺是很容易的,许多后续系统(如Ethereum)就是这样做的。

7. 简单的攻击分析。比特币白皮书花了相当大的篇幅(大约是文本的四分之一)来分析一个不到51%的采矿者运气好,成功地推出了一个餐叉的可能性。随后的分析已经确定了许多其他的攻击媒介(如自私的采矿),现在看来这种分析已经过时了。

8. One-CPU-one-vote。Satoshi将比特币描述为一个系统,大多数参与者都是矿工使用他们的CPU。多年来情况并非如此,因为采矿业由专用硬件主导。虽然ASIC采掘是一个好的发展还是坏的发展是有争议的,但这肯定不是最初白皮书中提到的。

我们还不知道什么

1. SHA - 256谜题。比特币使用基于哈希的计算谜题(“工作证明”)一直是最活跃的辩论话题之一。它消耗了太多的能量吗?ASICs 是否鼓励集中化为设计用于基于GPU的采矿或存储限制采矿的难题会以更低的成本产生更好的激励吗? 股权证明最终会胜出吗?

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

3. 匿名性。白皮书中描述的关于比特币匿名的争论,因为只有公开密钥才会被公布,现在由于交易图分析的发展而被认为是不完整的。诸如机密交易、Monero或Zcash等系统提供了更强的加密隐私。另一方面,人们提出了许多向后兼容的方案,通过混合来混淆比特币区块链的活动。匿名是一个需要内置支持的关键功能吗?

4. 通货膨胀。比特币的设计旨在避免通货膨胀,但许多经济学家指出,它实际上是通货紧缩,因为最终只有当钥匙丢失时,硬币才能退出流通(或者硬币被有意地通过“燃烧证明”交易而无法使用)。零通胀实际上需要少量新货币发行,以跟上货币贬值的步伐。如果这是比特币的错误,我们可能多年都没有意识到这一点,因为通货膨胀正逐渐减少。

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

6. 有限的可编程性。比特币对其可编程性施加了严格的限制,以保证交易的易验证性(以及成本的可预测性)。Ethereum项目已经证明了对更丰富的编程模型的巨大需求,尽管它的模型引入了额外的缩放问题。从长远来看,比特币会因其较弱的编程模式而受到阻碍吗?

版权声明

本文仅代表作者观点,不代表币圈雷达立场。
本文系作者授权币圈雷达发表,未经许可,不得转载。

分享:

扫一扫在手机阅读、分享本文

后台-系统设置-扩展变量-手机广告位-内容正文底部

评论

留言与评论(共有 0 条评论)
   
验证码: