当前位置:首页 > 比特币新闻 > 正文

Unlimited开发组成功部署Xthin区块(极瘦区块)

来源: 互联网时间:2016-08-15 10:06:00
sy_20100420115000724070

第0章 引言

目前比特币1M区块能承载的交易量非常非常小,仅3笔/秒。在目前比特币的数据传播效率是非常低的,因此很多开发人员都认为更大的区块是危险的,这也是一个Bitcoin Core dev(比特币核心开发组)拒绝进行链上扩容的重要原因。但现在社区有了比特币数据传播效率的解决方案了。

第1章 Xthin(极瘦区块)和Compact block(致密区块)

1M的区块是交易量有限,但长期远行是安全的。更大的区块在完整节点之间传输效率更低会导致孤块的发生,这是链上扩容的瓶颈。这一问题使得社区很多专家都认为区块大于4M网络就不安全了。在这个背景下社区有人提出改进区块传输模式,以突破这一瓶颈。他们提出了Xthin(极瘦区块)的概念,优化了比特币区块在节点之间的传播效率。Xhtin思想的主要贡献者有:Andrew Clifford、Peter R.Rizun、@sickpig、Andrew Stone以及Peter Tschipper。

Xthin(极廋区块)提高了区块在节点之间的传输速度,和现在的区块架构相比,提高了5.6倍。这将可以让比特币网络轻松广播22M以内的区块。因此这一概念受到整个社区的拥抱,包括Bitcoin Core、Bitcoin Unlimited和Bitcoin XT 都有计划部署这一协议升级。

特别要说明的是,部署Xthin区块并不需要分叉,无论是硬分叉还是软分叉,都不需要。

这个类似的理念各个开发组都想到了,gmaxwell也在2015年年底就发表达类似想法的概述。

Unlimited dev针对Xthin理念提出了BUIP 010将Xthin部署到Bitcoin Unlimited。BUIP 010的发布时间是在2016年1月10日,可以在gitbhub上查到,链接如下:

2016-1-10, xthin’s BUIP, BUIP010 was created

https://bitco.in/forum/threads/buip010-passed-xtreme-thinblocks.774/ 

Bitcoin Core 开发组在针对Xthin理念,也提出一个概念叫Compact Block(致密区块),也是优化比特币区块传输效率的,其实就是Xthin的翻版,两者一模一样。

Bitcoin Core 开发组针对Compact block(致密区块)提出了BIP 152,试图将Compact block部署到比特币核心钱包上。BIP152是在2016年4月27日在github上创建,链接如下:

016-4-27, compact block’s BIP, BIP152 was created

https://github.com/bitcoin/bips/blob/master/bip-0152.mediawiki

双方都在Github有代码,因为是开发相同功能的东西,而且他们都使用了相同命名的一个枚举值(enum)即:MSG_CMPCT_BLOCK。如果两都都开发完后,Bitcoin Unlimited和Bitcoin Core两个客户端同时运行在比特币网络里,这就会出现问题。这个enum是客户端通讯握手时的“暗号”,暗号对上了,就要按照预先约定好的通讯格式开始通讯。Bitcoin Unlimited预先使用了一个“暗号”,结果Bitcoin Core发布的版本使用同一个“暗号”,但当Core和Unlimited客户端开始通讯的时候就会发现实际上有问题的。所以有一方必须做出修改,会对这个问题Bitcoin Core dev在Github新开了一个讨论组,是前天刚开的,现在已经关闭了:

https://github.com/bitcoin/bitcoin/issues/8500

标题“MSG_CMPCT_BLOCK enum value is already in use”的意思是MSC……这个枚举值已经有人用了。

先不管这个讨论组讨论的enum值了,我关注的是它给我们带来了好消息——Xhtin已经成功部署到了Bitcoin Unlimited!Xhtin已经成功部署到了Bitcoin Unlimited!Xhtin已经成功部署到了Bitcoin Unlimited!

好消息要说三遍。

第2章 Bitcoin Unlimited已经成功实现Xthin区块(极瘦区块)

讨论组是一个Bitcoin Core开发组成员发起的,讨论的议题是否在Bitcoin core项目里重新命名一个枚举值,以区别compact block(致密区块)和Xthin Block(极瘦区块)中两个通讯暗号。

议题明显歪楼了,大家都在讨论为啥core dev没有优先于竞争对手(unlimited、XT和classic)开发出优化区块传播的代码。Unlimited dev的优先开发出Xthin让Core dev觉得很丢人。

讨论的一开始就告诉我们Xthin已经成功部署到了Bitcoin XT,Bitcoin Classic和Bitcoin Unlimited,原文如下:

The existing type MSG_THINBLOCK is already in use and widely deployed: In Bitcoin XT, Bitcoin Classic and Bitcoin Unlimited.

这个已经存在的类型“MSG_THINBLOCK”已经被使用了,并且广泛部署在了Bitcoin XT,Bitcoin Classic和Bitcoin Unlimited。

这是告诉我们Xthin已经成功部署。这真是个好消息啊,比特币链上扩容有了一个技术上的基础了。

第3章 比特币开发去中心化重大胜利

长久以来在中文社区都流传着这么一种言论,Bitcoin Classic 开发组能力不行。哪怕是有Gavin的领导下。很多人也觉得他们没干啥正经事,只不过是将区块大小限制的参数从“1M”修改到了“2M”。甚至Gavin还写过一篇文章来解释Classic干的这个事可不仅仅是修改一个参数那么简单。

而社区,特别是中文社区对XT印象就更差了,特别是其重要的代码贡献者Mike反水,更让大家觉得这般人是饭桶。反正就觉得这些人远远不如Core dev。

Unlimited dev给大家的印象也平平。

中国矿工也频频跟Core dev展开高规格的谈判和合作,和Classic以及Unlimited都很少有见交流的。

之于媒体意见,Core dev完全占领了bitcoin talk,reddit/r/bitcoin和bitcoin.org。Core dev的声音是最容易被社区听到的。你看连Xthin被成功部署这种重量极的消息,Unlimited dev也没有将消息广泛传到中文社区来,而是在一个github讨论组由一个core dev成员告诉了我们。

可以说长期以来比特币的开发是处在一个中心化的状况,比特币协议的进化高度依赖于Bitcoin Core dev。这是非常危险的。而且实事上我们也面临了一些尴尬的处境,全社区用户高度统一呼吁要求链上扩容到2M,但Core dev并不理会,态度还极其蛮狠。

但这一次Xthin的成功部署,我第一次看到Core dev的成员开始自我感到危机。但在github这个讨论组上参与的人员有大名鼎鼎的@luke-jr,更有Core dev的领袖般的人物@gmaxwell。

其中@luke-jr和@gmaxwell极力否认Unlimited dev取得的成绩让Core dev的开发处于竞争不力的地位,但讨论组里的其他人可认为他们有些丢人,其中@zander是这么说的:

@zander:I think if you ignore this valuable feedback on your competing design, while there is a clear demonstration that your not-yet-released software can’t interoperate with something that has been on the market for 6 months, you are creating a disruption to the Bitcoin ecosystem and on top of that you should be ashamed of yourselves.

我认为如果你忽略了竞争性设计的这个宝贵反馈,相同的设计在市场上成功运行了6个月之久,而你还没有发布任何改进,你就是给比特币的经济生态制造麻烦,最重要的是你应该为自己感到羞愧。

不过@gmaxwell拒绝承认Core dev开发滞后,并且大言不惭地说Xthin和Compact block的功能重叠是无所谓的,并且指责这个讨论组是错误,应该立即关闭。

@gmaxwell:I don’t see anything wrong here. I think the issue was incorrectly opened.

我不认为这里有什么错误,我认为这个讨论组的开通是错误的。

但@zander再一次直言@gmaxwell应该尊敬市场并且注意大家的开发项目已经因为大家太懒而滞后于竞争对手:

@zander I repeat myself, you should be ashamed of yourselves.

Having a bigger market share doesn’t give you the right to tell others to recall their products already 6 months on the market because you are too lazy to do fix yours before your release.

我强调一遍,你(指gmaxwell)应该为自己感觉羞愧。

在竞争性市场中,即使你拥有更大的市场份额,你也没有权力让竞争对手召回他们已经发布了6个月的产品,只因为你自己太懒而让对手领先了。

长期以来Core dev确实向社区证明了他们的能力,并且赢得了垄断性的市场占有率。但却带来了Core dev对用户的忽视,他们对外高度统一,并且使用限制言论自由的手段来传播自己的方针政策和打压竞争性开发组的思想。这对以去中心化为宗旨的比特币来说并不是一件非常好的事,现在我们有幸看到Unlimited的成功让Core dev引起重视,这是开发去中心化的表现。

第4章 Core dev将不得不关注更多的用户需求

Bitcoin Unlimited dev成功部署Xthin必然会带来市场占有率,因为Xthin对完整节点来说太棒了,带宽占有率一下子降下来了。这是实实在在的优惠和利益。

以往很多用户运行Bitcoin Classic节点只是为了表达对扩容的坚定态度,而不是因为它的性能优于Bitcoin Core。但有了Xthin的性能支撑,这一局面就会打破了,除了表达态度,还有利益支撑了。特别是像我们中国有GFW的限制,出口带宽受到限制,更有倾向于运行Bitcoin Unlimited。

我并不是说比特币协议将会由Bitcoin Core转向Unlimited,这可是需要硬分叉,需要全网75%算力支持的。我只是说用户可以使用Bitcoin Unlimited、Classic,甚至XT这些部署好了Xthin(极瘦区块)的钱包,用来降低自己运行完整节点的带宽占有率。反正我会装一个Bitcoin Unlimited钱包试试。

Bitcoin Core dev长期常常忽视用户需求,特别是区块扩容的要求,是因为用户长久以来确实没有明显优于Bitcoin Core的选择,现在有了哈。不但是软件版本有优势,而且开发组也证明了其实力。

当市场真实需求转向Xthin功能时,Bitcoin Core没能及时开发出同样功能的Compact Block(致密区块),又不愿意拉下脸来整合Xthin,还继续坚持搞BIP152(其实和盗版Xthin没区别嘛),必然会在时间上又跟不上市场需求。Core dev的开发开发人员必然会受到市场压力。这有利于他们多倾听用户需求,比如区块扩容。

第5章 结束语

在中考时,我体育考试中短跑比较差。老师就叫我跟最优秀的短跑同学一起跑,这样有利于我跑出更好的成绩。这真的啊,效果非常明显。

有市场竞争是一件好事,竞争对手越强大,自己就会更有动力进步。比特币开发长期处于中心化的状态,没有竞争不是一件好事哈。无论是Bitcoin Core、Unlimited、Classic,还是XT,都祝福他们越来越好。比特币这一伟大的实验才会真真确确地改变世界。

免责声明:

1.本文内容综合整理自互联网,观点仅代表作者本人,不代表本站立场。

2.资讯内容不构成投资建议,投资者应独立决策并自行承担风险。