Gregory Maxwell:区块扩容需要权衡
最近Gavin写了很多的文章来大力倡导区块增容的事情,但是据我所知,在过去的几年中,Gavin的这个问题在sourceforge.net上并没有进行任何的讨论。
首先需要感谢下Matt; 我是真的被Gavin突如其来的想法给困惑到了,他也没有在sourceforge.net或者 Github上谈这个事情,所以我也只能跑到Reddit上去回应那些关于Gavin个人想法的评论。
所以,请原谅我的这篇文章会比较零散,因为这个事情我是真的有点措手不及的感觉。我个人的邮箱里突然就多了相当数量的邮件,我也试图同时在大约8个论坛去谈论这个复杂的问题。
在公共IRC、Bitcointalk以及过去的私下讨论里,关于这个话题已经谈论过太多,我没想过能把它总结在一个单一的文章里,但这并不意味着我就不需要去做。
关于区块上限大小的问题,其实并没有明确的答案,但是有很多技术权衡需要去考虑。
关于区块大小(增加和不增加)的话题存在着几种交叉观点,它们大多有着微妙的影响,且每个都值得用论文进行探讨研究,因此如果仅仅是纸上谈兵,而不去创建一个 gish gallop 的话,是很难回应这个问题的。
我们正在谈论的,是关于调整比特币经济和密码系统的最基本不足之一,它将离开数学范畴的舒适性,并冒险进入政治决策的领域,也就是说你需要权衡技术及经济上的风险。以确保不能出错,这就是真正的权衡,尽管我们还不知道它们的确切轮廓是什么。
从根本上来说,这个问题暴露了比特币圈子里人与人之间的意识形态分歧。比特币更像是一个数字黄金还是 Square的竞争对手?比特币是改进央行的个人和商业自主权的某些东西?或者是商业银行的?对于比特币,人们的基本权利是什么?参与者是否可以加入到挖矿?第三方又理应控制多少的交易?比特币只是在发达国家么?它是否会完全受限于世界上最贫穷的国家?
当比特币需要从根本上进行改变时,就需要通过硬分叉的方式进行,而在变化的同时也就会随着产生赢家以及loser(如果不出意外的话,它将由其中的意识形态所决定)。
即使是核心开发人员之间,在一些问题上他们也无法达成共识。
为了弄清到底这个问题所涉及的有多广泛(即使在不提货币政策的情况下……),一些人甚至认为,比特币应该作为非法内容的抵抗性存储系统,我认为这种观点是不健全的,这在技术上无法实现,并且在很大程度上,这与比特币用作一种货币的初衷是不兼容的(因为它有可能为节点运营商带来法律上的访问或者骚扰);当然,这些也都是出于我个人的价值判断;而提高区块大小上限这个事情也是一部分人提出来的,他们想要尽可能最大的区块大小上限(尽管之后可能还会不够)。
这个问题是非常复杂的,甚至是在更纯粹的技术层面,比特币具有层状安全模式,它不能完全界定为:比特币是安全的,如果多数算力是“诚信”的(这里的“诚信算力”是一个技术术语,指遵循正确的规则,不存在失败甚至损失),但是为什么这些算力会是诚信的?这个问题就要谈到复杂的经济和社会争论上了,假设一些矿工因为经济理性而选择不“诚信”,那么安全阈值会开始变得更加糟糕。
> 在不久的将来进行区块增容,那么长期激励就会存在交易费上的一些压力,这是其中的一些阻力。
为了阐述这个特别的问题(“长期的矿业激励”),在我看来就至少需要提到两点:
其中之一是,比特币系统长期以来的安全性依赖于自主,匿名且分散化的矿工们,他们负责提供足够的算力来确保重组链的不可行。
而交易费就是实现这一目的的重要因素,事实情况就是验证和传输交易的成本其实已经很低了,例如验证的费用为1,那么市场价格收费就应该收为1,而POW的成本将会趋于0,因为你是否申请都会被接纳。此外,发送和验证的成本都可以完美地利用大型集中化的矿池(或者使用像“O(1)”的区块传输方法)立即验证交易,而无需去等待,所以在某种程度上而言,验证和带宽成本对于矿工而言是不可忽略的。
这一问题已经有了少量学术研究 (如http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2400519),但有些地方任然说的不是很清楚。
而第二点就是,当补贴大大低于交易费时,会导致驱动区块链前进的激励消失,理智的矿工会去选择最佳块来抓住交易费,而不是去推动区块链前进,直到达到区块的最大值。这也是会出现”积压” 论的原因,对于这个子问题,我并没有具体的研究,它是有些模糊的,其安全模式具有不确定性。如果我们试图说,即使当多数矿工都去选择利益最大化而非诚信时(无私主义),比特币它也能够运作,我们必须要假定当区块未满时,整条链就不会前进。在现实情况中,无私主义是会存在的,可能是来自公正公众的压力,也可能是懒惰等因素。
一个潜在的说法是,矿工们可能会自行调节到正确的位置,但是强制执行的行为会破坏比特币系统的开放性。
到目前为止,比特币挖矿生态系统已经变得令人难以置信地中心化,我相信我是所剩唯一一个在继续挖矿的比特币核心提交者,许多参与者从未挖过矿,或者仅仅在2010-2011年时才参与过…我们基本上已经忽视掉了挖矿生态系统,这会造成破坏性的影响,对安全模型造成潜在的破坏:黑掉十来台计算机,在完全未知以及可能并非强安全的策略下运行,这会损害比特币网络,至少是在交易费…
理所应当的是,我们应该将此看作是一个紧急情况,可能应该从2011年就应该重视,如果较大区块的表现不好,对于我们而言就不是好的预兆,为了去扩大区块大小,我们真的要决定走一条通向我们不希望得到的结论的路径?
(此外还有短期内的挖矿激励担忧,这方面Peter Todd写的较多,我就忽略不写了。)
我在2011年的时候做了一些相关的讨论(https://en.bitcoin.it/w/index.php?title=Scalabilityaction=historysubmitdiff=14273oldid=14112)
那是在Dan Kaminsky大谈比特币的去中心化只是一个假象之后:直接扩大网络会破坏去中心化,它显然会导致中心化,比特币网络必然会达到一种特殊的权衡,它的存在会是一种阻拦。但是例如闪电网络(Lightning network)这样的提议工具则可以扩大我们的需求,其中就包括确保零确认的安全(而大区块则会减少这方面的安全性),这对于很多应用而言将是重要的。有了正确的技术之后,我们相信鱼和熊掌是可兼得的,但这需要一个理由来构建它。
这里有另外一个关键点,小幅度地进行区块扩容并不会明确地引起系统的中心化,如今让他们不去开拓新的应用是不可能的。而论坛上的Deathandtaxes认为,比特币需要几百MB的区块大小上限,那么就可以直接满足全世界的交易(排除零售)…为什么没有零售?零售所需的是瞬时安全的支付方式,而全球去中心化的区块链是无法实现的。
我不认为1MB是神奇的,它涉及到的领域包括技术,社会学和经济学,但这些因素不是一个简单的功能,我所喜欢的方案可能是这样的:如果出现了一个长期的积压情况,如果网络正在失去了分散性,我们作为社区内的用户就要寻找指示物进行评估,适当地控制限制,以允许平稳的调整,不使交易费用降为0。如果它拥有大幅度增加中心化的风险,我们就不去增加区块的大小。执行硬分叉的条件是当提议变得几乎完全没有争议时,几乎每个人都可以看到可用的数据并说:“是啊,它并没有破坏我的产权或者比特币在未来的使用,这没什么大影响。”不幸的是,自2012年区块链体积不断增加以来,除了交易费外的每一个指标都朝着错误的方向前进。这是令人沮丧的,根据一个网络健康的分析,我得出的结论是
减少当前300k/txn/天的限制。
这显然是不能接受的,因此包括我在内的很多人,都在为增加比特币的可扩展性而为比特币核心辛苦工作着,这项工作不是small-potatoes 这种无聊的软件工程,我的意思是,即使我个人的贡献,例如发明了一种全新的通用优化代数,可以提高所有EC签名方案4%的性能,但是在进入研究之前,其实并没有真正得到成果,例如欺诈证明(fraud proofs)。今天,比特币核心相比我第一次参与时,其同步要容易以及更快100倍,但是这些进步已经被区块链的成长给吞噬了。具有讽刺意味的是,我们气急败坏地要继续前进。
我很好奇人们见过的讨论都是些什么,例如,人们是否会意识到这些问题?你们是否知道例如hashcash这样的东西能够动态调解区块大小限制?例如闪电网络(lightning network)这样的提议?人们(我猜除了Mike Hearn)是否想过在未来,系统中的每一个人只需要依赖一些“谷歌规模”的节点实际上就ok了?(我想不会,如果是这样,我们永远也不会同意,但它可以有助于了解分歧的意识形态)。
微信扫描关注公众号,及时掌握新动向
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场