今天,Bitcoin Classic方案被否决。扩容、分叉问题导致了比特币115日的大跌,以及大量资金分流到山寨币。很多比特币铁粉也被这个话题搞的心神不定。所以,本人就此话题再祥林嫂一次,也是最祥林嫂的一次。

先说结论:别瞎折腾,没什么用。

 

关于扩容

为什么设区块大小上限?

为了防止对区块链的灌水攻击。初期,比特币的价格非常低,如果不限制区块大小,则可以用很小的代价向区块链灌入大量的内容,导致区块链占用硬盘空间极大,影响甚至阻断比特币的推广。

相关话题:设置区块大小上限并不能完全阻止灌水攻击。可以针对未确认池(mempool)进行灌水攻击,这种攻击已经现实发生过几次了,也导致过不少节点崩溃。但是这些垃圾交易(tx)不会进入区块链,通过改进代码可以有效阻挡这种攻击。

好,那么假如不考虑灌水攻击和硬盘占用问题,是否区块大小就不需要上限了呢?

也不是。

首先,我们确认一下:比特币的价值和功能。比特币的价值是去中心化的数字化的世界货币(简称去心数币);比特币的功能是价值储藏和价值传递转账。价值储藏是核心价值,转账是必要条件。.

比特币系统相当于中央银行,最主要解决货币的发行问题,当然必须要提供转账功能;而日常大量的小额转账问题,应由商业银行系统来解决,对应的就是侧链、链下的转账功能。

区块链扩容,就相当于中央银行要做商业银行的业务。不是不可以做,这里面有个成本收益比的问题。货币发行是0本万利,而且是整个金融系统的命脉;而日常转账业务,投入巨大收益很小,赚的是辛苦钱。而如果因为拓展日常转账业务而削弱了货币发行的核心竞争力,那就大大的不划算了。

下面就论述一下怎么个不划算:

如果比特币有朝一日应用普及了,其交易量会和主流支付工具相当。VISA信用卡每天大概2亿笔交易,而淘宝每天3亿多笔交易。按照当前的比特币通讯协议,即便每笔交易按照最小的200字节计算,每天的数据量也有40GB。,这些数据会使每个节点产生大约100GB的网络流量、新占用大约60GB的硬盘空间,占用120GB的内存,以及108CPU的算力。这也就意味着个人节点--0信任银行统统报废,只能依赖在线钱包或者比特币银行(链下钱包)。一旦0信任报废,比特币的优势就全没有了,大家还不如直接用信用卡或者支付宝了。

也就是说,如果区块链不设上限,将直接损害比特币的核心价值。

那如果设个上限呢?这,启不是自欺欺人?除非,不扩容比特币会出大问题。

所以,真正的关键话题是,如果区块链不扩容,比特币会不会出大问题?

 如果保持当前的区块链大小,因为交易需求大于区块容量,所以区块链将永远是满的。这时交易的确认就需要排队了。矿工、矿池是利益驱动的,他们自然会优先确认高手续费的交易,以使收益最大化。供不应求,价高者得,很像拍卖。这必然导致手续费上涨。手续费上涨后,交易的数量必然会大幅减少。必须要链上转账的,和钱多不在乎手续费的,依然可以在链上完成转账,维持比特币独有的0信任优势;而没必要必须在链上转账的,则可以通过商业银行(链下或侧链)来完成转账。

(插播广告:为此,我们早在1年之前就开发了链上/链下混合钱包(hybridwallet.cc),并提供了跨银行结算的API。同一个钱包,大额的存链上,安全;小额的存链下,省手续费;链上链下混合转账,超级便捷。)

相关话题:未确认交易会越堆越多,需要有一个解决方案。为此我们早已经开发好了相关代码,会尽快提交给比特币核心开发团队(不过人家真正闹分家,收不收我们代码还不一定呢)。具体技术,为了保护知识产权,容我先卖个关子,不过这真的不是问题。

当链上持有比特币成为一种奢侈时,比特币的高大上地位会进一步彰显而非衰弱。而链下比特币交易的推广,使得比特币的使用门槛大幅降低,更有利于比特币的推广。

所以,区块链不扩容,比特币不会出大问题。心踏踏实实放肚子里吧,别没事担心那些臭氧层子了。

 

关于分叉

比特币区块扩容,实际操作起来,就是一次硬分叉。

首先,如果你想知道分叉的真正含义和软硬分叉的区别,请自行wikipedia恶补,本文实在没有空间大段地解释这个基础知识,抱歉抱歉。

比特币的原理决定了其民主货币属性--自由选择程序版本,自由选择分叉链,靠全网算力投票和节点投票决定主链走向。

任何人任何时候都可以制造比特币硬分叉。而只要有人认同,分的叉就可以存活下去。在这个意义上,我们可以把一种山寨币理解为比特币的一个硬分叉。币的市值是和认同的人数成正比的,认同的人多的,例如以太坊,市值达到比特币的10%;认同的人少的,可能市值就几千美元。

所以。比特币硬分叉,2个叉应该都能活下来,无非是市值不同而已。

不重复3遍了,这个结论让你长出了一口气了吧?不是你死我活,是竞争市值。

 

再下来,一个非常关键的基础知识:在分叉前持有的币(一定要链上的哦),分叉后在两个叉上都能花。

赠送一个非常关键的基础知识:在一个叉上发送的交易,如果原封不动的在另外一个叉上广播,也会被另外一个叉接受。这一点非常非常重要。也就是说,如果有一个跨链自动广播节点,一个就够(所以一定会有,因为不缺游手好闲之徒),分叉前的币的转账会在所有分叉链上完全同步一致。

那么,几个叉不同的是什么呢?有3点。

其一,扩容的叉确认的交易会更多。如果手续费不够高,在老链上不会被确认,而在新链上可以被确认。不被确认就存在被双花替代的可能(抱歉也没有空间解释双花),也就是变成假币。但是这个问题不大,因为如果付款方是诚心付,多给点手续费就是了。

其二,新矿,在其它叉上无效。不过挖矿越来越专业了,普通大众沾不上边的。

其三,基于新矿的交易,在其它叉上无效。好理解,因为各个叉上的新矿易是不同的,所以后面的交易的prevout(输入)就不同了。这个问题影响也不大,矿工把老币和新币分两个钱包放就解决了;剩下只有交易中心才会大量产生这种交易,也就是我们可以理解成,从交易中心提出来的币,都是单叉币。当然你可以要求交易中心两个叉上都打币给你。

此段的结论是,比特币已经发行了3/4了,即便分叉,大多数的币是可以在各个叉上通用的。产生风险的,是矿工,如果站队错误,则损失全部收益。

 

下面是看点:基于博弈论对扩容分叉进行一次沙盘模拟。

比特币的参与者大概分成7类:普通持币者;持币大户;矿工;矿池、交易中心等服务机构;商铺;利用比特币进行支付的人(不持币);潜在持币者。

假设下一秒钟比特币要分叉了,这些人分别会做出怎么样的反应?

商铺:靠怎么这么麻烦?先不收比特币了。

利用比特币进行支付的人:靠怎么这么麻烦?先不用比特币了。

潜在持币者:什么情况?分叉?要死的节奏?先不买了,看看再说吧。

普通持币者:这个事总是心里不托底,先卖了吧。等风声过去了再买回来呗。买点山寨币吧。剩下的不卖的人不操作,静观其变。

矿池、交易中心等:很简单,2个叉都支持,让用户选,这样自己立于不败之地。其中有一个微妙之处是,默认选项是哪个叉。我觉得,多数服务机构都会默认是老叉,因为没得到客户许可就改变服务内容,是不对的,也是有法律风险的。

矿工:一边一半算力,算总账肯定亏。同理只要两边都有算力,就是亏。要么押一边,要么暂停。暂停是好选择,反正也就一两天见分晓,损失点收益不怕,总比站错队损失小得多。押一边的,应该挖老叉的人多吧,因为不少人可能都不知道要分叉了。当然,也不排除某个算力巨大的矿场全部转向挖新叉,但是,越是算力大的,越会选择暂停观望。

持币大户:靠,搞什么搞,作死啊!!!出钱暗地破坏搞分叉的。这个是已经发生了的行为,未来会继续发生。分叉后,有一个简单有效的方法:开个矿池,挖矿付法币,挖哪个叉矿工都旱涝保收,这样矿工会笑逐颜开全部奔这个矿池而来。然后把收集来的算力全部放在挖老叉上。而对应的,新叉由于没有既得利益者,恐怕不会有铁粉出大价钱买算力。

所以,第一个结论是,比特币分叉对比特币的币值会造成巨大的损失、推广造成巨大的损失、甚至造成某个山寨币借机上位超越比特币机会。而第三点,等于宣判比特币死亡。

第二个结论,老叉胜出是大概率事件。

最终结论:冒着巨大的风险,做一个不是必须做的事情,而且成功的可能性不大,成功了也是两叉并存,这纯属瞎折腾。

 

由于相关话题繁杂,本文推理可能有逻辑漏洞,欢迎大家讨论。