在比特币刚刚出现的时期,中本聪对区块的大小限制在1M。这种限制既保障性能较弱的个人电脑能够参与其中,同时也起到了防止攻击者让比特币网络超载的风险发生,毕竟那时系统还很脆弱。在1M的限制下,10分钟一个区块最多能够容纳2000笔左右的交易,也就是每秒7笔交易,即7tps(交易数/秒)。
在2013年之前这个限制对系统完全没有影响,因为没有那么多人使用比特币。但随着比特币交易的火热,越来越来多的人开始投身于此,问题也就随之而来了。每秒7笔交易的效率实在太低了,所以通过区块大小升级来提升交易速度的问题提上了日程。这个升级问题说来就话长了,中间牵扯了太多的人和太多的事,许许多多利益纠葛深陷其中。
直到2017年8月1日,比特币发生分差,在一个“硬叉”的事件中,诞生了一种被称为比特币现金(BCH)的新数字货币。由于版本切换,比特币区块链被分叉至两条独立的区块链。在分叉前拥有比特币的所有人都有权获得相同数量的“比特币现金”代币,类似于股票中的股息派发。
自此比特币就被分叉为BTC和BCH两种货币,当然它们也代表着两种方向,BTC与BCH本是同根生,但他们有有着不同的理念,我们抛开信仰不去问谁才是真正的比特币这一泛哲学问题,单单坐下来认真讨论这两者的区别。
要说明白BTC和BCH的区别,很难。需要用很长的篇幅,我慢慢和你讲。
1、 BTC和BCH,这是两条不同的试图将比特币扩展到上亿用户级别的产品的道路,BTC目前部署了隔离见证,重点使用链下扩容的策略扩展比特币用户量,而BCH则部署了更大的区块,重点使用链上扩容的策略扩展比特币用户量。
2、BTC和BCH在面向用户和目标层面上目标分别如下:
BTC目标是主链做一个结算层和一个储值货币,和将支付层迁移到闪电网络和侧链(目前这两个技术都不成熟)。BTC的主链也会限制除了交易本身之外的其他功能,如发token,将各种应用迁移到侧链。
BCH目标是做一个强大的主链,主链上行驶支付功能,也鼓励在主链上做更多的创新,如发token。BCH并不排斥闪电网络和侧链,但并不会等这两项技术成熟,而是尽可能地使用主链和这两项技术同时满足更多的潜在需求。
BTC和BCH在上面两点的区别主要是使用区块大小来实现,BTC拒绝使用更大的区块,限制在1M,这样的结果会导致一旦用户发的交易多了,交易费就高。而潜在的应用往往需要发大量的交易,交易费高就无法在经济上运行了。而BCH则相反,BCH的目标之一是要维持主链低手续费,以满足各种应用场景,BCH的区块目前是8M,接下来会变成32M。
为什么BTC只接受1M区块呢?这个问题很复杂,整个社区争吵了4年多,本文先不讨论这个问题。
3、 BTC和BCH在设计层面上的区别如下:
BTC和BCH在技术上基本上是一样的,代码重合度高达99%,我倾向于认为这是一对同卵双胞胎,当然有很多人认为BCH是BTC的儿子。这种意识形态的争论,我们不做讨论。
BTC在设计上主要是激活了隔离见证,隔离见证是什么东西?打个比方,我们去银行汇款,需要填汇款单,汇款单可依格式分为不同类型,比如跨国汇款、跨行、同行。。。(这就是比方,实际如何我们别关心)。比特币的交易就类似于汇款单,也有好几种格式,目前用的最多的就是P2PKH和P2SH,而隔离见证就是一种新的汇款单格式,是在P2PKH和P2SH的基础上修改过来的,变成了P2WPKH和P2WSH。具体的变化在这里不作讨论,太复杂了。但这种变化的结果就是BTC和BCH的关键性区别。
BTC激活了隔离见证后,那BTC的进一步技术开发将会围绕这两种新的交易格式展开,这将主要利于链下的开发,如闪电网络会更受益。
而BCH没有激活隔离见证,BCH的开发主要集中在P2PKH和P2SH的开发,这是主要围绕链上做开发。
举个具体的技术区别有,BTC主张一切零确认都是不安全的,而BCH则主张解决零确认的安全性问题。
第二个例子,中本聪白皮书的第8章轻钱包其实还有设计完,而BTC希望在隔离见证的基础上解决轻钱包的安全性问题,而BCH希望就目前的交易全部解决掉。
第三个例子,BTC在智能合约和更复杂的编程上的潜在应用会围绕隔离见证做进一步的叫MAST——抽象默克尔语法树,做开发。而BCH在智能合约和更复杂的编程上的潜在应用是激活交易(包括P2PKH和P2SH等所有合法的交易汇款单)的操作码。MAST和操作码,又是一些复杂的概念,要理解又要解释很久,但不要紧,我们不用关心他们。核心的区别是,MAST是未来的技术,操作码是立即就可用的技术,但到底哪个好,还要等市场检验。
第四个例子,BTC拒绝使用硬分叉这个技术,而BCH往往优先使用硬分叉。这个技术可以让设计变的更简洁,但需要整个社区保持更高度的一致意见才能升级。
4、 BTC和BCH在经济生态上的区别如下:
目前支持BTC的经济主体是要多于BCH的,这也是为什么BTC的价格远远高于BCH。但两者在经济主体上的重合度也非常高。基本上都是被各大主体当成货币来用。如支付、打赏、储值、交易、公证等。
不一样的是,BCH现在开始出现了一些其他领域的尝试,比如这周发布了一个产品可以用BCH来发“不可删帖的微博”。
BTC现在有闪电网络的测试,和侧链的测试,虽然这个目前还没有实际应用,但确实可以看到一些实验性的尝试。而BCH目前还没有涉及这两块。
5、 BTC和BCH在去中心化的区别如下:
BTC的开发者更中心化,主要依赖于bitcoin core,BCH在开发者上更开放一些,但在去中心化上也没有质飞跃,目前bitcoin abc这个开发组占据主流。
BTC的矿工更去中心化,BCH在挖矿上没有优势。
BTC在用户上更去中心化,BCH的用户价值观目前比较一致。