论坛

权力的游戏:比特币区块增容的迷思和解决之道

chao ji jun
超级君
2016-1-21 · 4046 次浏览

[文章仅代表个人观点,不代表haobtc公司]

天下万物皆有形,皆有大小,皆有重量。譬如网络,是虚拟的,而字节却是实在的,真实衡量互联网上每一个存在的大小。每一次在互联网上留下的痕迹都有大小,如写下一个汉字,2个字节大;上传一张图片,大小更是从不到1k(1k=1024个字节)到几百m(1m=1024k)。再比如,你用比特币转账一次,那么这条转账记录大小就是125字节到140字节。比特币网络中,每隔10分钟,就自动打包全网记录,形成一个新的区块。这里,区块的概念相当于一页记帐本,目前每一个区块的大小为1m。

区块大小与交易量的迷思

近日,正是这小小的区块扩容问题,引起了比特币社区一次持续几个月波澜壮阔的论战。参与这场论战的有核心开发者,矿工、矿池,以及交易所等,背后涉及到利益、权力、社区机制和社区方向。

回归到区块链的概念,这是中本聪结合拓扑、密码学等首创的技术,这项技术正在受到包括中国央行在内的诸多金融机构的热捧,也即将从底层改变全球金融结构。比特币正是目前最成功的区块链,中本聪7年前设计每一个区块大小上限为1m,每秒可以处理7次交易,每一个区块可以容纳4000余次交易。比特币矿工就是通过打包每一个区块接入区块链,在此行使了记账权,也获得一定数量的比特币作为奖励,区块链技术完美同时实现货币发行和货币流通环节。

今年是比特币的第七年,随着比特币使用人群越来越多,比特币承载的价值也越来越多,交易次数也越来越频繁,若每一次交易都通过区块链(onchain)来流通,那么每十分钟全网的交易估计在1万次-2万次之间,远远超出目前区块的4000次的容纳量。所以比特币社区一直有人呼吁进行对比特币区块扩容,该扩容多少呢,社区有几种方案,有扩容到2m的方案(bitcoin classic),有扩容到8m的方案,有扩容到20m的方案(bitcoin xt),还有区块大小按年翻倍的方案。

区块增容后,不可避免之殇

区块大小的增容,如蝴蝶效应,会造成比特币的一个大的变动。

第一:提高维护比特币节点的成本,从而使全球比特币节点变少。

在阐述这点之前,需要引入比特币节点的概念,在一个机器实体上载有比特币核心客户端和完整区块链,即是比特币节点,节点的作用在于对比特币每一笔交易进行确认,即是区块链确认,与此同时,比特币的安全性和比特币节点数是正向关系,节点越多,越安全可用。目前全球有5700多个完整节点,运行这些节点的有比特币矿池、交易所、矿工、爱好者等等,维护节点并没有得到比特币系统的奖励。目前维护一个节点最低的成本是300美元,若区块增容到2m,那么维护成本会提升到600美元,会让维护的人变少。

第二:粗暴的硬分叉机制,会造成社区的分裂。

目前的几种方案,都无法兼容现在的比特币客户端(bitcoin core),若是要运行新方案,都需要卸载原客户端,再运行新客户端,这就是硬分叉。如此一来,会让比特币节点分化,从而造成社区的裂变,不利于比特币的稳健运行。

第三:缩小比特币应用的范围。

无法否认的是,比特币在Tor网络上被广泛应用,甚至是暗网唯一认可的货币。Tor网络的工作原理是通过非常复杂的协议,随机选择一条路径通过一系列的Tor节点,返回到使用者,而在协议中,使用者也被看做是一个Tor节点,通过随机的一系列的节点跳转,加密信息在路由器间层层传递,最后到达“出口节点”(exit node),所以Tor网络也被称为网中网、套中网,其带宽非常有限,若比特币区块过大,在Tor网络中运营比特币大节点非常困难,这不但是成本的提高,而且是技术的限制。人性使然,追求必然有两面,一方面追求井然有序的网络,一方面也追求匿名无疆界的网络。比特币作为Tor网络的货币,让Tor网络有了自发而成的金融系统,愈是自成体系。这是真实的人性,无须苛责。

一次区块增容的乌龙

近日,由核心开发者 Jeff 和 Gavin Andresen 提出的区块增容方案(bitcoin classic)获得了包括haobtc、okcoin、bitmain等知名比特币企业的认可。即使其客户端还没有开发出来并公布,但其宣传的软分叉(兼容现在的客户端)、2m的大小等特性,在比特币社区(英语社区bitcointalk.org、中文社区bikeji.com)中也达成广泛的共识,可以视作是一次保守的改良。

昨日,bitcoin classic的开发者Jeff 从纽约飞来北京,与中国比特币企业haobtc、okcoin、bitmain、Bither, LIGHTNINGASIC等召开沟通会议,以期获得更大支持。在会议上,Jeff在阐述bitcoin classic版本时说出还是需要硬分叉来实现代码的更新换代,同时在对远期发展没有明确的规划。这点引起尚未达到某些成员的预期,表示不再支持bitcoin classic版本,需要达成更广泛的共识再做表态。

迷思下的解决之道

目前的矛盾是,比特币区块若不增容,那么比特币会造成交易拥堵,使用比特币的人群无法扩大;同时比特币交易次数没有上升的话,比特币矿工的收益会减少,因为矿工的收益=区块奖励+交易手续费,其中区块奖励是四年减半,现在是挖掘出一个区块奖励25个比特币,而交易费是0.0001比特币每笔交易,比特币矿工收益减少,会打击其维护的动力,从而会让算力下滑,影响到比特币安全问题。

但这些矛盾,并不是不可解,增容也不是唯一的答案。

首先关于比特币交易拥堵方面,可以把比特币视作一个结算系统,而不是交易系统。把越来越多的比特币交易分为两类:一类是大额的交易,需要区块链证明的交易,那么可以通过区块链上流通(onchain);另一类是小额的交易,频繁的交易,那么可以通过比特币钱包或闪电网络等流通(offchain),如此可以大幅度减轻区块的压力。总而言之,比特币将变成一个真正的价值结算网络,而不是廉价而臃肿的交易系统。

其次关于矿工奖励方面,虽然区块奖励越来越小,每个区块交易次数也不能翻倍增长,但是可以提高交易手续费。回归到收益公式:收益=区块奖励(四年减半)+交易次数(几乎不变)*交易手续费(市场调节增加)。如此一来也可以保持比特币矿工的收益,保持其维护算力的动力,使得算力稳步增长,让比特币网络更加强健。

这个解决之道,关键在于把比特币作为一个结算系统,而不是交易系统,这与很多人固有的概念有所不同。至于比特币能否往这个方向发展,这需要比特币社区之间的利益相衡而定。

作者:
haobtc.com coo 吴广庚 微博(@超级比特币)
haobtc.com 高级工程师 四海 微博(@p2pbucks)
比特币地址:1NBUPigzEyLM5D36vvFk21UHmoLcQjxFkQ
码文不易,若有所启迪,欢迎打赏,商业转载,需要付0.1币稿酬授权。

全文完
最新回复
oldfox126
oldfox126/ 1 楼3 年前

吼吼吼,我来吹毛求疵了。

“如写下一个汉字,2个字节大。”

这里不对,1个汉字占用多少字节在于使用的是什么编码。
GBK或者GB2312编码确实只有2个字节大,但如果是UTF8编码就是3个字节。
币科技的网页就是使用的UTF8编码。

da xiong
大熊/ 2 楼3 年前

卧槽,超级赶紧写代码。

chao ji jun
超级君/ 3 楼3 年前

@大熊 是不是感觉我技术很牛逼的样子!

yu shu
鱼殊/ 4 楼3 年前

超级君文采有天赋,技术有四海相辅,这下更加无敌了。

chao ji jun
超级君/ 5 楼3 年前

@oldfox126 学习了,不过若展开太复杂了,且如此有瑕疵地存在吧。

bi te bi shi guang
比特币时光/ 6 楼3 年前

看过央行新闻的一大批新人急需此文普及!

satoshi
satoshi/ 7 楼3 年前

相信许多是沟通理解以及文化差异的问题。

Classic升级2M的初衷原本就是以最易接受、最快速度扩容,争取获得原本被Core拖延耽误的时间,让社区和开发团队在未来区块阻塞彻底之前(昨天已经有好几个块以上限打包了),有足够的时间思考和规划并达成新的共识。

所有被BTC群众广泛支持的提案均有可能会在未来的Classic中实现,这其中包括SegWit和LN支持在内。

如果这样一个拥有良好初衷、明星团队、开放精神和极广泛社区支持的提案被国人简单否决,反而去拥抱集权、商业化、审查、不听取社区声音,甚至威胁废掉矿机算法团队的做法,实在是很可惜的。不经过成熟思考(不管是支持还是反对),出尔反尔也会让全世界笑话我们。

当然,这最终会是持币者的无奈。

gu du de yi ke
孤独的异客/ 8 楼3 年前

超级君的文采斐然,逻辑强悍,在这里要点一个大大的赞字!

yu shu
鱼殊/ 9 楼3 年前

结算系统有哪些利弊呢? 交易系统又有哪些利弊呢?有谁可以写文章分析下呢?

qingying
qingying/ 10 楼3 年前

国内矿池之前的声明多少显得轻率,出尔反尔在国内外也损失形象,让人笑话。CLASS团队的方案到底是不是硬分叉,有没有远期规划,似乎不用非要见了Jeff的面才搞清楚吧。如果这两条真那么重要,发声明支持前至少要再认真确认下吧。

shan dian
闪电/ 11 楼3 年前

在 bticoinclassic.com 的支持者明单还有haobtc.com,本帖是否代表官方声明?

satoshi
satoshi/ 12 楼3 年前

如果gavin真的想玩“权力的游戏”,那么早在中本聪交给他旗帜的时候就可以做了,或者退一步,许久之前mike建议他全部回收stream公司开发人员的commit权限的时候,他就可以做了。

Classic团队是并非没有计划,他们的计划是首先扩容,然后最大化比特币的未来利益,并且根据社区的意见来开发。扩容后,Classic团队还是会继续响应社区的声音,开发在社区提议中达成广泛共识的内容。目前Classic版本开发需求社区提议列表的前几名如下:

1 取消 opt-in RBF

2 去除Theymos向所有客户端广播通知的权限

3 为新开发者编写指导教程,扩大比特币开发者的队伍

4 支持私密交易

5 增加双花交易的报警机制

6 实现SegWit,使得区块链最大能获得8MB的等效容量

不希望哪天在交易所买比特币的时候出现这样的选项: Bitcoin | Bitcoin (Mainland China)

satoshi
satoshi/ 13 楼3 年前

Core的计划进展顺利也需1.5年左右才能达到增加0.6M上限的目标。何况现在Segwit, LN, Sidechain,都还没有发布,我们怎么就预先知道Core的方案就一定会OK?万一到时候发现并没有像我们想象的真解决问题了怎么办?

何况国外已经早有人分析了Core/Stream公司的方案是与矿工利益相冲突的,它的方案会使得每一笔交易中存在一个收手续费的中间人,这个中间人绝不是矿工,大家觉得会使谁呢?而且Core一直将社区的声音置之不理,连团队支持的大本营/r/bitcoin的今日头条之一,都是许多人在质疑:是不是增加了1MB,比特币就突然变得中心化了,还是core的自尊心和顽固在作祟。

相反Gavin团队在一再为了比特币的扩容成功而做探索试验/尝试新的思路,甚至为了Greater Good而妥协,放下面子将20M逐步降到2M。

与其说classic导致分叉(实际上共识下的分叉并不可怕),不如说core一意孤行的做法推动社区走向分裂,这是更加危险的行为(考虑以下2位Core的主要成员想换PoW的做法)。

P2PBUCKS
P2PBUCKS/ 14 楼3 年前

@satoshi
稍安勿躁

bitcointalk 和 reddit 都是开放的,很多人的意见和你相反

还是让数据说话吧: 等 classic 出来后,看看运行的node 数量有多少就知道多少人支持了 。也许很多情况并不是你想象的那样 。

satoshi
satoshi/ 15 楼3 年前

@p2pbucks 这俩论坛主流意见相反,是因为其他思路的如支持classic的,包括xt的被删光了,仅允许支持core,btt大量hero senior等级的账号都干掉了。公司也是这样,coinbase就是这样.

如果真的这么多人支持,完全没必要像现在这样把reddit/r/bitcoin的帖子大家打的分数尽数隐藏,显示最佳改为显示最被争议,一个版主说了点稍晚偏向classic的言论立马被解职。无审查的只剩下r/btc和bitcoin.com了

satoshi
satoshi/ 16 楼3 年前

最近一段时间,Classic方案开始在国外社区被广泛讨论,删帖封号的效果也非常有限了,所以这种行为的强度有所下降。但仍然改变不了bitcointalk 和 reddit 管理员theymos的态度:
“如果90%的用户不遵守我的规定,我会让这90%的用户离开”


https://bitcointalk.org/index.php?topic=1182118.0
<Aquentin> theymos you must be extremely naive if you believe that some censoring
...
<theymos> You must be naive if you think it'll have no effect. I've moderated forums since long before Bitcoin (some quite large), and I know how moderation affects people. Long-term, banning XT from /r/Bitcoin will hurt XT's chances to hijack Bitcoin. There's still a chance, but it's smaller.
(This is improved by the simultaneous action on bitcointalk.org, bitcoin.it, and bitcoin.org)
<theymos> The big controversy in the start caused some "Streisand Effect", which I expected, but that was only a temporary boost for XT, and that was probably inevitable at some point.


“If Theymos truly cares about bitcoin's success, he might want to do the selfless thing and step down.”
https://www.reddit.com/r/Bitcoin/comments/41102k/if_theymos_truly_cares_about_bitcoins_success_he/

P2PBUCKS
P2PBUCKS/ 17 楼3 年前

@satoshi

OK ,既然众说纷纭 。 那就看数据, 没有人阻止你运行XT 和 Classic 。也没有人阻止你挖矿或建立矿池支持Classic

剔除掉任何人为的杂音 ,就按照算力投票最长链取胜的原始法则

我觉得以前ASICminer 有句话说的很好 :
*We trust therefore we hash *

BitThink
BitThink/ 18 楼3 年前

什么时候classic说过通过软分叉来提高上限到2M?有证据吗?我从来看到的就是需要硬分叉。而且常识也知道修改这个参数必然是硬分叉啊?

satoshi
satoshi/ 19 楼3 年前

@P2PBUCKS 嗯,看算力投票是个好办法。

到目前为止,还没有一家国内外的BTC公司或组织明确说不支持Classic只接受core,反过来的情况是有的不少的。
当然发表自己的意见没什么错,没有任何冒犯的意思,如本文代表Haobtc官方观点,也算是业界的第一个先例。

satoshi
satoshi/ 20 楼3 年前

@BitThink 是的,从第一天开始就明确了是硬分叉

BitThink
BitThink/ 21 楼3 年前

现在HaoBTC说自己当初支持classic是因为他们宣传通过软分叉改上限。这个倒真的是第一次听说,希望能看到证据。因为不是classic在骗人 就是haobtc在欺骗 很严重的问题。

BitThink
BitThink/ 22 楼3 年前

是不是作者把classic和segwit搞混了?是作者自己的乌龙?

chao ji jun
超级君/ 23 楼3 年前

@BitThink 这文章不是我写的吗,不能代表个人意见吗,一定要在文中加“文中观点和供职单位无关”吗?还存在欺骗问题,哪里严重了

BitThink
BitThink/ 24 楼3 年前

我说了 可能是你自己搞错了,如果那样的话确实是小问题。否则如果是classic来游说矿工时说谎 就是很严重的问题了。

qingying
qingying/ 25 楼3 年前

希望这不是好比特的官方声明。形势还未明朗前,建议谨慎。不要再犯一次草率莽撞的错误,左右被打脸。

chao ji jun
超级君/ 26 楼3 年前

@qingying 这不是好比特币的官方声明,这是我的文章,大家不在意个人声音是吗?bitcoin classic之所以来北京沟通,就是之前的沟通还不够全面,这点希望大家认识到,bitcoin classic到时候具体会有多少人支持,到时候算力也会投票。

qingying
qingying/ 27 楼3 年前

推荐各位读一读核心开发者 Jeff Garzik 和 Gavin Andresen的文章,大意是比特币的发展偏离了方向,正被改装成结算系统http://www.bitecoin.com/online/2016/01/17144.html 可以说,和楼主的论述很多地方形成了反面意见。改装成结算系统想的很美,小额的交易,频繁的交易,可以通过比特币闪电网络等流通(offchain),但闪电网络都这么久了什么稍有成型的东西都见不到,并且是不是一定能成功呢。除了能否真正实现的不确定性,单单中间堵塞等待的过程中,受困于比特币区块 1M 大小,提高手续费,是否会如Gavin和Jeff担心的那样有逆转比特币网络效应的风险,如果企业及商业选择离开,来之不易的比特币生态系统会不会受到打击。

qingying
qingying/ 28 楼3 年前

文中的部分原话:
比特币并非一个学术性的科学项目。**### 在棘手的问题上停滞不前,会直接造成实际的市场变化。几乎没有人有闲暇可以停下来等待

**,在比特币-1 正在发展的结算层之外,再有新的支付层出现。

受困于比特币区块 1M 大小,会有逆转比特币网络效应的风险,用户可能会因为过高的价格不得不退出核心区块链

BitThink
BitThink/ 29 楼3 年前

@超级君 我指的是你文中提到的事实部分有问题 不是观点。

chao ji jun
超级君/ 30 楼3 年前

@BitThink 嗯嗯,由于昨天不去会议现场,可能有不严谨的地方,或信息不全面的地方。目前等其他参加者的发言吧。

shi chen xi
时尘西/ 31 楼3 年前

比特币刚诞生的时候,区块是没有容量大小限制的。
中本聪之所以加上了1M的限制,仅仅是为了防止被攻击而已。
本来很简单的东西,事情发展到现在,真是越搞越复杂。

vatten
vatten/ 32 楼3 年前

虽然目前很多社区成员都是IT高手,但全球来看这些真正有能力自己使用区块链的人不会太多,1千万打顶了,所以扩容到大概10M就差不多了,其余的使用中心化的交易所和网络钱包等等,也有利于增加安全性,其实大多数普通用户最大的问题是忘记密码和账户被锁,这些都需要中央化的有人服务的机构解决

ku hai bian
苦海边/ 33 楼3 年前

大家有没有想过中本聪当初为什么设置1M的区块上限?他难道就没考虑到交易堵塞问题?

lai bi te kuang chi  jiang zhuo er
莱比特矿池_江卓尔/ 34 楼3 年前

@苦海边
比特币最早的区块上限是33.5MB,
1MB只是中本聪在比特币早期只值几美分时,为防止垃圾交易恶意撑大区块数据而加入的临时限制,
在Bitcointalk关于区块上限的讨论中,中本聪还详细给出了将来区块扩容的方法:
https://bitcointalk.org/index.php?topic=1347.msg15366#msg15366

更大的区块限制可以分阶段进行,比如:

当 区块高度(blocknumber) > 115000 时,

区块上限(maxblocksize)=更大的限制。

这段代码可以提早很多写在某个版本中,这样到指定区块高度,这段代码起作用时,不含有此代码的旧版本早就被淘汰了。

当我们接近截止区块高度时,我将在旧版本上显示一个告警,以保证旧版本用户知道他们必须升级了

imcoddy mini avatar
imcoddy/ 35 楼3 年前

@lkkjh 员工的话不一定能代表公司,虽然可能会有人主动这样想。
其实我觉得你把这当成个人的观点就好了,也没有规定说自己在一个公司里面就不能有自己的想法不是么:)

cndx
cndx/ 36 楼3 年前

@超级君

维护一个节点最低的成本是300美元,若区块增容到2m,那么维护成本会提升到600美元

看到这里忍不住了。怎么可能成本那么高?其实可以做到一个废旧Android手机,维护核心节点(参考VPN手机钱包),再说区块大小翻倍,和维护成本有什么关系?2MB是600美元。扩容到20MB难道是600美元,那扩容到8GB呢?是不是没有人能维护了?

chao ji jun
超级君/ 37 楼3 年前

在圈外媒体发表了,修改了最后章节。
钛媒体:http://www.tmtpost.com/1501325.html

添加回复