修订版 MIKE去年11月旧帖: 比特币区块大小的问题

https://medium.com/@octskyward/on-block-sizes-e047bc9f830#.ybfemmsxv

(vatten注:原文翻译有些不准,我修订了一下力求准确反映原文)

比特币区块大小的问题

比特币区块扩容这件事,目前陷入一种僵局,没有任何进展,也不会有任何进展:无论有多少人要求,比特币核心维护者根本不会给社区一个扩容的方案,这和比特币社区里的人们想象的完全不一样

在这篇文章中,我想要谈一下比特币改进提议BIP100的现状,为什么比特币核心维护者不会提高区块大小的限制,最近比特币核心维护者承认他们实际上并不是靠共识决策的事,以及为什么今年12月的研讨会也不会起丝毫作用

BIP 100

BIP100是一个大约有60%比特币算力支持的提案。我理解为什么比特币矿工喜欢这个主意,但现状是:

• BIP100还没有可实施的代码
• BIP100的提案人Jeff在忙一个称为Moxiebox的小虚拟机,并且在更改数据库层,BIP100只是他以后要做的项目之一
• 即使别人替杰夫实现了代码,BIP100的代码也不会被写入比特币核心代码库。两个有最终决定权的比特币核心维护人员没有表过态支持BIP100,而且他们似乎不认为事情应该由矿工投票来决定

核心人员反对靠矿工投票决策

在蒙特利尔举办的比特币扩容研讨会上,有关区块扩容具体方案的讨论是被禁止的,当然人们仍然会在走廊里私下进行一些“非法”讨论。根据会议总结报告,这次会议几乎没有达成任何协议。但是有一点显然是大家都同意的:

硬分叉的方法:倾向于 “如果(时间标记>X)”,就在在未来数月里的一天硬分叉。在版本高位中作一设置,导致一个负数,以便更清洁地分叉。矿工广播 — 比特币矿工,用最近使用过的方法,通过coinbase记号来示意他们是否已经准备就绪。这种矿工的信号不具有约束力(矿工的信号值不被core软件检测)。实施硬分叉前,最好准备好取消硬分叉的方案,以便在一定时间期限内还未实现分叉后取消

翻译成大家看得懂的语言:和BP100或BP101不同,不会再有挖矿者投票的过程,甚至开始硬分叉的决定也不会考虑矿工是否准备好没有

矿工们只能表示他们的意见,比特币核心维护人员对矿工的意见可听可不听。不管是否有足够多的矿工做好了必要的软件升级准备,也不管是否得到了社区里任何成员的支持,这些核心维护人员可以自行选择一个日子进行分叉。因为取消了矿工投票,比特币核心维护人员又可以自行造出一种(还没确定,但想必是中心化的)方法取消硬分叉

不可思议的是,那少数几个核心开发者在指责我和加文·安德烈森(Gavin)提议只需要75%的矿工投票支持就可以实施修改后,他们自己在会上却一致同意,在区块扩容的问题上,矿工的观点是完全无关的

(vatten注:这似乎和Marc最近反对圆桌共识声明的看法相呼应,他认为矿工根本没有发言权)

不过这一切并不重要。原因是:

核心人员不会提高区块大小的限制

比特币社区里的人们普遍认为,所有的比特币开发人员都想要扩容,只需一些时间来做出一个大家公认的最佳方案。这些信念可能来自于比特币有关的开发人员一直是这么讲的

这些信念是完全错误的

当你排除噪音以后,世界上只有五个人可以修改比特币核心源代码:

• 加文·安德烈森(Gavin Andresen)

• 杰夫·戈查克(Jeff Garzik)

• 弗拉基米尔·范德莱恩 (Wladimir Van der Laan) (比特币核心维护者, 他是发布新版本的人)

• 格雷戈里·麦克斯韦 (Gregory Maxwell)(Blockstream)

• 彼得·沃尔 (Pieter Wiulle)(Blockstream)

其中三人(加文,杰夫,彼得),不会作出让另外两个人不同意的修改。这就意味着,其实上是弗拉基米尔·范德莱恩 (Wladimir Van der Laan)和格雷戈里·麦克斯韦 (Gregory Maxwell)这两人在操控着核心源代码库

弗拉基米尔·范德莱恩(Wladimir Van der Laan)很早就表示他“不太”赞成区块扩容,这是他在大家就区块大小的问题辩论数月后发表的想法:

“是的,[我的立场没变]。如果我们从2008年的次贷危机中吸取了什么教训的话,那就是任何事情都不会持续呈指数增长,根据这样的假设作决定是很危险的……。改变一个去中心化共识系统的规则是个非常棘手的问题,我不认为这是近期内我们能办得到的。”

请记住,核心小组成员具有矿工所没有的代码控制权,所以这是个控制着比特币运行的人讲的话。他认为技术不会继续发展下去,因为在2008年很多银行给美国房主做了很多次级贷款

这真是荒谬之极:计算机的速度与次级贷款根本毫不相关。金融危机不是因为指数增长所致

所以,如果你在等核心小组成员进行扩容,记住这一点:除非弗拉基米尔(Wladimir)同意,不会有任何代码会被收入比特币核心版本。而他认为,任何有关区块大小的改变,“近期内”根本不能发生

那么麦克斯韦(Maxwell)对增加区块容量的想法是如何呢?他经常自相矛盾;声称他想要增大区块,但同时又说扩容不应该发生。到目前为止,麦克斯韦还没有明确表过态支持任何一个扩容的提议。判断一个人要看他所作的,而不是听他所讲的:当加文(Gavin)和我要麦克斯韦(Maxwell)拿出一个具体的扩容建议时,他的回答是闪电网络(Lightning Network)(和区块容量永远停在1MB)

我认为,比特币核心小组不会让区块链(Blockchain)有将来的发展远景。现在不会,十二月不会,以后也永远不会。那两个有权决定代码可以被收入比特币核心源代码的人是不会允许的

利益冲突

许多比特币核心开发人员受雇于一个叫Blockstream的公司。该公司最近推出了一个称为Liquid的商业化侧链产品,主要的产品用途是连接各个比特币交易所

这是个值得关注的问题,因为这意味着这些比特币社区信任的维护引导区块链的人有很强的动机让区块链始终运作不佳,永远得不到改善。难怪Blockstream的官方立场是:区块链基本上应该维持不变,甚至像增加区块大小这种简单明了的改进也不要做

(译者注,现在情况不同了,他们要用SEGWIT大幅度修改区块链结构,因为那是他们的方案)

下面是已经受聘于Blockstream的比特币核心开发人员的列表:

• 格雷戈里.麦克斯韦 (Gregory Maxwell)(拥有比特币核心代码库访问权)

• 马特·科拉洛(Matt Corallo)

• 豪尔赫·蒂莫 (Jorge Timon)

• 马克·弗里登巴赫(Mark Friedenbach, 网名 maaku)

• 帕特里克·斯特罗门(Patrick Strateman,网名 phantomcircuit)

• 沃伦·托加米 (Warren Togami)

• 亚当·巴克(Adam Back)

• 彼得·沃尔 (Pieter Wiulle)(拥有比特币核心代码库访问权)

开发人员靠共识决策是个谎言

也许尽管如此,读者们仍然认为,对大家能达到共识的建议,这些核心开发者们还是会采取行动做点什么,他们只是不会采纳有争议的想法。想必这种说法你们一定见过很多次了

事实不是这样的

不是要大家都同意,而是只要那些有比特币核心代码库访问权的家伙决定改,核心版本就改了……。麦克斯韦最近在一次辩论中承认,他要做的一个对比特币协议(protocol)规则的更改就是一些人不赞同的。

[托马斯·比曾德(thomas zander)] “比特币核心者声称他们严格遵守协商共识的原则,如果达不到共识就不做任何决定。这就是这么多年来一直没有做区块扩容的原因。”

[麦克斯韦(gmaxwell)]“你讲的只是迈克(Mike)的说法,而不是其他人的。”

麦克斯韦的回答真是令人难以置信:他断然否认他以要大家意见统一为借口而不做区块扩容,又说,(意见统一才能融入代码)这种说法是我瞎编的!

事实是怎样的呢:今年五月份,格雷戈里.麦克斯韦 (Gregory Maxwell)在回复马特·科拉洛(Matt Corallo)(另一个Blockstream员工)的电子邮件中自己说:“硬分叉必须在大家几乎完全没有争议后进行”。马特(Matt)的电子邮件里说:

“在比特币这种技术性的社区,承诺任何区块扩容这种重大决定,取得共识是最基本的要求。”

五月份,彼得·沃尔 (Pieter Wiulle)(五个人中另一个可以修改比特币核心代码的人)说:“我不认为我们可以做有争议的硬分叉”。八月份他再次表示,“比特币的共识规定指的是一个靠共识做决定的制度,而不是靠多数人说了算的民主制度。需要找到一个每个人都同意的解决方案,不然就别做”。

(vatten注:这个说法我相当同意,也是我原来支持Pieter的原因,但SEGWIT这种修改底层协议的东西反而能更容易达成共识?)

亚当·巴克(Adam Back),Blockstream的总裁,麦斯威尔(Maxwell)的老板,接受IEEE Spectrum杂志采访时说,“大家需要达到意见统一,并且应该协调一致地去做。”

最关键的是,范德莱恩(Wladimir van der Laan)- 比特币核心维护者在 六月份说过:

“……任何有争议的事情都需要三思而行。如果我突然未经大家一致同意就开始修改代码,请你们马上取消我的比特币核心代码库访问权。”

所以, 比特币核心维护者要求协商一致才能修改代码的说法不是起源于我,而是那些负责比特币项目的人自己讲的

那么,为什么格雷戈里.麦克斯韦 (Gregory Maxwell)突然180度大转弯呢?

很简单:他想要做的一种修改突然间变得有争议了,别人不同意他的想法,所以要废除需要协商一致才能做修改的规定。有什么比声称这规定根本不存在更好的办法呢?

顺便说一句,毫无疑问会有人声称有两类更改方式(软分叉和硬分叉),只有硬分叉需要经过充分的共识。不要被这种说法迷惑:任何对代码的修改,是同一批人用同一种方式提交的。定义一类技术性的修改为硬分叉,其中只包括改变区块大小这一件事,然后声称硬分叉需要每个人都同意才能做, 只是用另一种方式告诉社区里的人们:不要再提扩容这件事

为什么十二月不会带来任何改变

在与比特币矿工和公司交谈时,我不止一次地听到:“我们在等待十二月关于区块扩容的第二次会议。如果到时还没有进展,那我们就切换到BIP 101”

似乎社区里有太多太多的人相信,今年十二月的会上我们一定会搞出一个方案来。在第一次会议上,加文明确承诺将会有进展:

“我给格雷戈里/彼得/弗拉基米尔(Gregory/Pieter/Wladimir)几周时间,去做他们在蒙特利尔的会上说要做的事,那就是搞出一个大家即使不太满意也还能接受的方案。”

如果读了以上这些你还不信的话,想想蒙特利尔会议已经开过一个月了,什么进展都没有:这个话题在他们每周的例会中提都不提。距香港会议只有五周时间了,他们有五周时间去兑现他们的承诺,找到一个 “大家都能接受”的解决方案

这是个大胆的预测:他们不会兑现对加文(Gavin)的承诺,而是会两手空空地去开会

人们一直问我是否打算去参加香港的会议,我没有这个打算,加文(Gavin)也不会去。如果比特币核心小组和Blockstream公司那些人需要两次会议和10个月的时间来决定如何改变一个数字,那是他们的问题:我和加文还有其他人几个月前就已经完成了商讨,决策,测试,审核等步骤,并已交付了具体可行的版本

结论

我明白,比特币社区的人们害怕争吵和冲突。已经投入大量资金的矿工们担心一个有争议的修改会造成比特币的价格下跌,导致他们赔钱

但每个比特币用户、矿工和投资者都面临着一个严峻的选择:

比特币的核心版本 (Bitcoin Core):操纵这个版本的两个人已明确显示出不在乎区块链的将来发展。其中一个人受雇的公司,区块链的状态越不好他们越赚钱。再也没有比这更严重的利益冲突了

比特币的XT版本(Bitcoin XT):运行这个版本的两个人已经交付上线了一个体现挖矿者,用户和公司各方需求的折衷方案

去中心化指的不是一旦违背Blockstream利益就可以被忽略的莫种定义模糊的开发流程规范,它指的是人们在得到各种信息之后选择符合他们的信念的软件版本的能力,向来是如此的。

(vatten注:这篇文章是为了MIKE的XT做宣传,也不可全信,可当作一篇轶事。但从中可以看到core内部的决策机制以及他们在对待扩容问题上的态度,MIKE准确预言了12月会议的结果,不过也许他有耐心点等到区块都满了,没准能看到新的转机)

Advertisements
修订版 MIKE去年11月旧帖: 比特币区块大小的问题

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s