为什么比特币需要区块扩容以及为什么选择Unlimited

在2016年10月10日,也就是比特币在米兰的第三次扩容会议刚刚结束之后,我选择了把 ViaBTC 矿池的 Bitcoin 版本从 Bitcoin Core 切换到了 Bitcoin Unlimited. 当然,这一决定是在争取到绝大部分矿池用户的同意之后做出的,我不能把我的意志强加到用户身上。比特币区块扩容与否,是由所有比特币矿工所决定的。但是在扩容这件事情上,矿池的管理员相比于矿工有更多的专业能力,能够做出更好的选择。并且从以往的经验来看,矿工参与投票的积极性非常低。所以,我认为矿池管理员应该负起责任,做出自己的选择。

ViaBTC 在 Coinbase 中投票支持 2MB 区块大小,目前仍然挖 1MB 大小的区块,以保证与比特币主链的兼容。不需要为这个大小担心,因为这只是一个开始,一旦硬分叉成功实施,再升级区块大小就很容易了。我还特意的设置了区块版本号,没有使用 Bitcoin Unlimited 默认的 BIP109 区块版本号,因为 Bitcoin Unlimited 并没有实现 Bitcoin Classic 的 BIP109,我们也不想实现 BIP109. 也希望 Bitcoin Unlimited 开发者后续能够去掉这个默认的版本号,防止引起误解。

在我们发现第一个 Bitcoin Unlimited 区块之后,比特币社区引起了很大的反应,有很多争议和猜测,所以我觉得有必要说些什么,来澄清一些事实,阐述我的看法。

为什么比特币需要区块扩容?

很简单,如果比特币区块不扩容,那么比特币将走向失败。这不是说加密电子货币会失败,也许会有新的币替代比特币的地位。比特币还远远处于它的发展的早期,越来越多的人开始使用比特币。然而,由于临时性的 1MB 区块大小的限制,比特币开始拒绝新的用户的加入,在我看来,这是一种自杀行为。慢慢的,比特币交易费会变得高的不可接受,人们会转向其它竞争币。用户的流失对比特币的发展是致命的打击,这不是猜测,是正在发生的事情。另一方面,没有足够多的链上交易,比特币矿工获取不到足够多的交易费,若干年后,比特币挖矿变得无利可图,这会让比特币系统安全性大大降低。无论如何,这都会导致比特币的失败。

为什么隔离验证是垃圾?

人们说隔离验证能够安全的让比特币扩容到1.7MB,所以应该支持隔离验证,这种想法真是一叶障目。1.7MB的扩容只是减缓了比特币的死亡而已,并没有根本的解决了这个问题。并且就算隔离验证真的激活了,并不代表所有人都会马上使用隔离验证交易,真正达到1.7MB需要1年以上的时间,根本没法解决目前交易拥堵问题。另外,隔离验证给比特币社区带来了巨大的技术债务,大幅修改了比特币交易格式,需要所有的比特币节点、矿池、区块浏览器、钱包、交易所等比特币应用进行升级。这样的代价远远大于硬分叉,而这所有的一切,仅仅是为了1.7MB的扩容?别忘了,Bitcoin Core 提出隔离验证是为了阻止比特币通过硬分叉的方式扩容。一旦隔离验证得到激活,那么Core团队再也不会有硬分叉扩容了。比特币区块大小将会锁定在1MB的大小,不可避免的走向死亡。

为什么闪电网络行扩容行不通?

首先,闪电网络应用场景非常有限。想想人们为什么要使用比特币,是为了更快的交易确认速度还是因为比特币是一种去中心化的货币?比特币牺牲了速度和效率,带来了去中心化的安全,缓慢的确认速度对于比特币来讲并不是问题。其次,闪电网络上的交易并不是真正的比特币交易,和交易所内部的发生在数据库上的交易没有本质的区别。部署闪电网络对于普通用户来讲非常困难。如果闪电网络真的部署成功,成为比特币交易的主要形式,那么最后会形成多个中央节点,用户需要把币寄存在这些中央节点里面,这和现存的银行系统有什么本质的区别?最后,把比特币当做结算网络的想法非常可笑,比特币先是数字货币,然后才是结算网络,一旦比特币失去了货币属性,那结算属性立刻崩溃。闪电网络也不是一无是处,能够解决一部分问题,可以替代一部分比特币交易,但想把闪电网络作为主要的比特币交易通道行不通。

为什么选择Bitcoin Unlimited?

我们在区块大小这个问题上,浪费了太多的时间,我们需要一劳永逸的方案解决区块大小的问题。过大或者或小的区块都不合适,这应该交由市场来选择,随着比特币网络和技术的进步动态的调整。Bitcoin Unlimited 的扩容方案把区块大小的选择交给了矿工,符合我们的需要。Bitcoin Unlimited 允许矿工设置自己挖掘的区块大小和接受的区块大小,并通过 Coinbase 对区块的大小进行投票。如果节点发现有更大区块的链长度大于当前的链4个区块(默认)长度,会自动切换到最长的链而忽视区块的大小,这让比特币再次升级区块大小变得很容易。

为什么硬分叉并不危险?

硬分叉最大的危险在于,有可能出现两条链。但据我所知,在比特币扩容这件事情上,人们没有本质的分歧,绝大数人希望扩容,只是选择的方式不同。以太坊出现两条链是因为人们出现了本质的分歧,那就是:区块链是否可以被修改?并且,由于比特币难度调整的滞后性和10分钟1个区块的设定,在绝大部分算力支持硬分叉的情况下,出现两条链的可能性很小。原链会由于过慢的处快速度变得不可用,理性用户会选择新链,留下的矿工收益会大大降低,理性的选择也是切换到新链。

应该如何实施硬分叉?

对于 Bitcoin Unlimited 来讲,并没有一个程序自动设定的阈值。理论上来讲,只要有矿池愿意,任何时间都可以启动分叉,但这很危险并且意义不大。在 Bitcoin Unlimited 硬分叉这件事情上,矿池需要联合起来,达成一致行动。

首先,什么条件下启动硬分叉?我建议使用 Bitcoin Classic 的 75%的阈值,就是支持 Bitcoin Unlimited 的算力占比达到 75% 以上的时候再启动硬分叉。如果阈值过高,共识几乎永远不可能达成。75%的算力支持足以进行安全的硬分叉。

其次,什么时间启动硬分叉?我建议,首先,留够最少1个月的时间,为比特币社区升级自己的节点做准备。其次,我们应该选择在一次难度调整之后的马上进行分叉,让留在原链的算力调整难度变得异常困难,不得不放弃原链。

写在最后

纵观 Core 以及 BlockStream 在米兰比特币扩容会议上的种种提案,都是以杀死比特币和矿工为己任。在关系到比特币矿工和用户的切身利益时候,我们需要联合起来,让比特币重生。

发表评论

电子邮件地址不会被公开。 必填项已用*标注