Greg Maxwell: 比特币系统的扩容
ahr999:Greg Maxwell的总结不一定最正确,但肯定是最全面的。其实,很多内容我也仍然是一知半解,我会继续把每个文中提到方案调研一下,满足自己的好奇心,但是这需要时间。
在香港举行的比特币扩容研讨会刚刚结束,会上涌现了许多拉风的方案。我认为现在是个绝佳的机会,来分享我对比特币扩容的观点。我相信我们正处在一个奇妙时刻,社区正在一个清晰的路线上前进,我们拥有共同的愿景,在解决比特币系统需求的同时,又能保持它的价值准则。
我认为首先需要明确一些与比特币系统持续发展相关的原则。
比特币是点对点电子现金,它极具价值,因为它通过去中心化给用户带来金融自主权。比特币旨在解决传统货币的根本问题:其运行所需要的信任——合理的信任并非坏事,但是信任使系统变得脆弱、不透明和昂贵。信任失败将导致系统崩溃,信任管理创造不平等和垄断,自然产生的信任瓶颈可能被用于拒绝正当程序的访问。通过使用密码学证明和去中心化网络,比特币最大限度地减少和取代了上述信任所产生的代价。
基于现有的技术,比特币扩容和去中心化之间存在基本的取舍。如果系统过于昂贵,人们就会被迫委托第三方,而不是独立地执行系统规则。如果相对于现有技术,比特币区块链的资源消耗过高,那么它就会失去相对于传统系统的竞争优势,因为验证的代价太高,会迫使人们回到信任系统。如果比特币容量太低,那么系统的交易效率就会太低,于是使用它交易的代价就会太高,从而同样迫使人们回到信任系统。
由于比特币是一种电子现金,不是通用数据库。而廉价的重复的永久存储的需求是无限的,比特币不可能去满足非现金需求(非比特币)的使用。幸运的是,比特币可以与其他系统协作来完成更多的应用。通过努力的工作和一些运气,比特币系统将可以满足全世界对电子现金的需求。
许多伟大的技术正在开发,这将使得取舍变得更加容易。
首先,比特币核心最近合并libsecp256k1,这使得签名验证的性能大幅增加。结合最近的工作,比特币核心0.12版本的ConnectTip性能比以前的版本高出了7倍。这一天终于到来了,没有它和早期的工作,如headers-first,我可能会在去年主张减小比特币区块容量。这项改进使得比特币软件到达了一个阶段,即在扩容的同时,仍然可以保证去中心化,因为它改变了CPU和带宽的瓶颈。
Versionbits(BIP9)趋近成熟,它将允许比特币网络有多个运行的软分叉。现在,我们已经完成序列化软分叉的工作,但是仍然没有真正的办法,可以处理那些已经合并到比特币核心但被网络拒绝的软分叉。BIP9将解决这一切,它能够让我们跟上网络的步伐。不出意外,Versionbits将应用于比特币网络的下一次软分叉。
在香港的比特币扩容会议上,Pieter Wuille展示了隔离式签名(Segregated Witness)方案。他提出通过重组区块数据,分离处理签名,可以通过软分叉的方式,提升比特币的容量。
这个特别的方案可以实现至少4MB区块。隔离式签名也将实现新的安全模型,例如:选择性下载数据和提高轻客户端的性能。该方案还包括欺诈证明(fraud proofs),它使用压缩证明来识别比特币系统的违法行为,这完成了比特币白皮书中“简化支付验证(SPV)”部分所描述的视觉“警报”,并使轻客户端执行系统所有规则成为可能。该方案还包含许多其他特征,例如:进一步增强安全性,消除签名延展性。如果使用这个方案,可以获得2倍的容量增加甚至更高(在多重签名广泛使用时)。最重要的是,它通过提高空间使用效率,来提升区块容量,更安全的同时也容许更多的取舍。
这里有个工作实现(虽然它还没有包含欺诈证明):
https://github.com/sipa/bitcoin/commits/segwit
Pieter的演讲文字稿:
http://diyhpl.us/wiki/transcripts/scalingbitcoin/hong-kong/segregated-witness-and-its-impact-on-scalability/
幻灯片:
https://prezi.com/lyghixkrguao/segregated-witness-and-deploying-it-for-bitcoin/
视频:
https://www.youtube.com/watch?v=fst1IK_mrng#t=36m
我曾经在元素Alpha侧链上成功的部署了较早(硬分叉)版本的隔离式签名,现在的软分叉版本是第二代设计。我认为在一个相对短的时间内实现这个部署是可行的。隔离式签名的设计要求一个未来与bitcoinj兼容的硬分叉,从而进一步提高效率,但最大化收益是不必要的,这意味着它可以有自己的时间表,并且通过非诉讼的方式。
除隔离式签名之外,还有相当多的方案试图实现更高效的区块中继。相关方案收集已经完成,一些是关于p2pool挖矿激励的非正式草案,另一些是独立的发明,如:“弱块”、“薄块”或“软块”。这些方案建立在高效中继技术之上(如中继网络协议或IBLT),它们可以将几乎所有的传输时间转移到区块被发现之前。即使是目前的区块大小,我们也迫切需要这些方案。虽然它们还没有得到落实,但幸运的是,这条道路已经很清晰。我已经看到了一个以上的完整的规划说明,我希望它们在几个月内运行使用。这个工具将消除由矿工的战略行为所导致的传播延迟问题。了解矿工的战略行为一直是个悬而未决的问题。
同时,有很多方案正在研究“非带宽”相关的扩容机制。非带宽扩容机制是指通过削减交易或双向支付渠道等方法,在提升比特币容量和速度的同时,不增加带宽。至关重要的是,这些方案在容量和简化之间进行取舍,它们可以使我们实现很高的容量,并保持很高的去中心化。CLTV(BIP65)在一个月前已经部署,这项技术非常有用(尤其在退款时);CSV(BIP68/BIP112)正准备合并到比特币核心,它已经取得了巨大的进展(可能会在隔离式签名之前准备好)。其它非带宽协议也在进行中,许多方案需要修复签名延展性(这将在隔离式签名中实现),checksig flag方案已经提交,这将是使得部署隔离式签名更加容易。我预计在六个月内,有相当多的功能会准备部署。即使没有它们,我认为我们在短期内也是可以接受的,但未来的发展也很重要。
http://diyhpl.us/wiki/transcripts/scalingbitcoin/hong-kong/overview-of-bips-necessary-for-lightning 是一个关于闪电网络特征和双向的支付渠道方案的演讲,目前多个团队在这上面工作。过去讨论的其它非带宽协议还包括交易切断,关于如何使交易量大于区块链的能力,我个人认为这个是必读的:
https://bitcointalk.org/index.php?topic=281848.0
此外,还有几个方案关于动态区块大小,它们允许矿工在付出一些成本之后可以生产更大的区块。这些方案有助于保护矿工和普通节点之间的激励机制,并防止矿工之间的背叛。我个人认为现在区块容量还足够,因此我们暂时不需要这些方案,但长期看它们是非常重要的。我正计划在接下来的几个月里,推动它们朝着更具体的方向发展。
相关演讲:
http://diyhpl.us/wiki/transcripts/scalingbitcoin/hong-kong/a-flexible-limit-trading-subsidy-for-larger-blocks/
最后,在未来某个时刻,以上扩容方案可能仍然是不够的。高效区块中继、隔离式签名的欺诈证明、动态区块大小控制和其它技术,可以降低区块直接扩容方案(如:2/4/8M)的风险。当它们的风险获得评估,并被人们广泛接受时,比特币将部署这些方案。我们应该在比特币核心中准备这些补丁,以备未来的需要。
我们目前的进展已经很好的处理比特币当前的容量需求,并服务于比特币生态系统。我认为上面列出了一些明确的可实现的里程碑,它们会继续提升比特币的能力,同时为我们的进一步改善和发展提供了基础。
我建议我们立即开始实现隔离式签名的4MB区块软分叉,来增加比特币容量。通过高效中继方案将隔离式签名合理的风险控制在合理的范围,BIP9也将使得隔离式签名更容易和更快的部署。我们将继续实施非带宽扩容方案,并构建一些工具,使得直接扩容方案更安全。进一步的工作将为比特币进一步扩容做准备,当方案变得合理时它们可能被部署,同时我们也进行基础工作,让它们变得合理。
微信扫描关注公众号,及时掌握新动向
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场