比特币的扩容提案,各方已经争吵了几年,提出过N个方案。
最近又冒出个BCC,本篇文章带你梳理一下来龙去脉。
关于8月1号的要发生的事情,比特币社区已吵得沸沸扬扬。比特币会分裂成两种新的货币吗?不会吗?什么是BIP91?什么是BIP148 ?什么是隔离见证?
8月1号已近在咫尺,但是仍然有许多未解之谜。
为了理解当前的状况,以及为什么比特币社区已一分为二,最好的办法就是看看加密货币的本质-----或者更准确的说,为什么人们对于如何修复这个问题存在不同看法。
矛盾的一边,是管理着比特币源代码的人。他们像是管理机构,对比特币进行维护开发,确保比特币的运行。矛盾的另一边,是矿工,他们部署计算机来运行比特币网络。对于比特币的运行双方都至关重要,缺了哪一方都不行。要想理解分叉/分裂的问题,你必须了解比特币的机制。
比特币有什么问题?
多数人把比特币看作是数字货币,你可以用来在线买卖商品。技术上讲这没错,但是这并不是比特币真正的价值所在。
比特币并不是日常交易的可行方式,目前我们也不可能走进一家星巴克,然后用比特币来买咖啡。为什么会这样呢?比特币的创造者不是想把它变成其他货币的一种替代品吗?这样就能提升比特币的价值了。
原因就是比特币区块链比较缓慢,而且成本高昂。还达不到支付技术的标准,比特币每秒最多只能处理6笔交易,而VISA网络每秒能处理1600笔交易。
大众何时能接受去中心网络?当去中心网络能像现有的支付网络一样快速和方便的时候。否则,比特币就只能用于存储价值。
为什么网络这么慢?
比特币网络是建立在区块链之上的。如果你还不知道什么是区块链,你可以把区块链看作是一个登记簿,保存着几张纸(区块),每张纸上保存着几笔交易。当一页纸写满交易内容的时候,就要把它加到登记簿上去,然后才能在下一张纸记录新的交易。
在一张纸(区块)能被添加到登记簿(链)上之前,需要进行一些处理,确保每个人都同意纸上保存的内容。这个过程,每个区块大约需要10分钟。
想象一下,你把1个比特币发送给你的朋友,joe。这笔交易大概是这个样子:
除了其他信息,一笔交易主要包含的信息有:发送者,接受者,金额以及手续费。
等等,还包括手续费?是的,你要支付额外的手续费,这样矿工才有动力把你的交易尽快添加到区块上。手续费不是固定的,数额是多少,由你决定。
在任意给定的时刻,在当前的纸上都有多笔交易需要记录。如果你查一下,一天中某个时刻的未确定交易数,应该都是上万。
矿工需要决定把那些交易添加到当前区块上去。他们通常会选那些能获得最多回报的交易
----
也就是说,那些交易费最高的交易会被优先处理。
如果交易费比你的交易费高的交易足够多,那么你的交易就必须排队等待。这个等待过程可能是几分钟,也可能是几小时。甚至是几天。如果你付的交易费越高,矿工就会越快地处理你的交易。
对于用户来说,使用比特币就变成缓慢而且昂贵。这不应该是“互联网货币”应有的样子。
然而,这促使那些聪明的家伙开始提出一个重要的问题:我们怎么才能拓展比特币区块链的性能?
不过有趣的是,提出这个问题的聪明人太多了。运行比特币的人(维护代码的人)相信一种解决方案,而矿工相信另一种解决方案。
由维护代码的人提出的方案有利于用户,由矿工提出的方案有利于矿工自己。这就是8月1号的分歧所在,也是比特币可能会分裂的分歧所在。下面让我们先来看看这两种方案是什么。
有利于用户的方案
维护比特币代码的人想的问题是:我们在一个区块中是如何存储交易的。他们的方案最初是想移除掉区块的延展性,这有一个好的副作用:它能提升区块链的性能。为了更好地理解这一点,我们需要知道区块是什么样子的。
这个解决方案有好几个名字,比如隔离见证,BIP148,以及用户激活软分叉(UASF ---User Activated Soft Fork)。
区块是什么样子的?
最简单地说,链上的区块包含两种数据:头数据和交易数据。
头数据包含了这个区块的元数据,不过这跟8月1号的分叉无关。头数据很小,而已只占这个区块数据的1%。另外99%的数据都是交易数据。
如果我们再往深了看:一笔交易是怎么组成的?除了那些显而易见的信息----比如发送者,接受者,金额和交易手续费----之外,它还包含了其他信息,比如“签名”或者说“见证”。签名用于验证发送者的余额足够发送这笔交易。这部分数据只在开始的时候有用,但是它却占到了一笔交易数据的65%。
区块的大小只有1mb,而它保存的多数数据却不是那么重要的数据。这个方案的想法就是把签名/见证数据移到区块的尾部,用一个独立的结构保存。
这个独立开来的结构就不需要添加到区块链上去。如果一个节点
(
网络上的独立的计算机
)
可以处理,这很好。如果它不能处理,那也没问题。由于这个特性,它被称为软分叉。
一些节点会升级他们的软件,然后运行新的区块链结构,那些决定不升级,而使用原有软件的节点只需要忽略见证那部分数据就行了。通过对结构的优化,就能把更多的交易添加到一个区块中去。
这个方案被称为隔离见证,因为它把见证部分从区块结构中隔离( 分离)开来。这个方案对用户是有利的。
为什么隔离见证方案对用户有利?
新的结构比现有的结构能保存更多的交易。这就使得对于未确定的交易之间的竞争变小了。因此,交易费也就降低了。而交易费却是矿工的回报的一部分。交易费降低了,矿工获得的回报也就少了。不仅如此,这种新的结构也被称作闪电网络,这可以实时处理微型交易,而不需要手续费。
反对这种方案的主要质疑是,这种方案只是一种折中方案,最终还是要进行“硬分叉”才行。而硬分叉正是矿工们的提案。
有利于矿工的方案
矿工们的提案是:能长期解决网络拓展性的问题。他们的提案是:实施见证隔离(软分叉),然后,他们还想要把区块的大小从1mb提高到2mb。因此,这个方案称为:segwit2x。
这个方案也称为矿工激活软分叉(MASF Miner Activated Soft Fork)以及BIP 91。
初看之下,这个方案似乎好得多。
我几乎可以听到你在欢呼了:网络会变得更快!好耶!
然而,魔鬼隐藏在细节之中。如果实施了这种方案,网络上的每个矿工就都必须升级他们的软件和硬件。这个方案无法向后兼容。不升级的矿工将被网络隔离。这就是为什么它被称为硬分叉。我们仔细看看这个方案。
假设网络上有十个矿工,他们中的六个决定升级到更大的区块容量。这六个矿工继续开工,使得原本最长的链变得更长,但是他们所挖的区块,会被剩下的仍保留旧区块大小的四个矿工丢弃。
为什么
segwit2x
对矿工有利?
由于不是每个人都有足够的资金升级他们的算力,所以小矿工将会被网络驱逐。这样一来,网络中就只剩下少数的大矿工——这会急剧减少竞争。
当中本聪提出构建去中心的未来这个宏愿的时候,他说的不仅仅只是在理论上,而且要在实际上建立去中心的未来。把权力交到少数的大矿工手中违背了比特币的根本理念。
如果你问矿工们为什么要这样?他们会说:是我们支撑了网络的运行。我们必须为我们的利益发声。如果我们关掉电脑一走了之,那就不存在比特币了。
如果他们真的这么做了,他们或许是对的。但是他们也错了。
“如果他们走掉了,就不存在比特币”这本句是对的,但是“只有他们支撑了网络的运行”这本句却错了,这听起来好像他们运行的是普通银行和政府一样。
区块链不仅仅是一种能进行财务交易的协议。它更是一种改变我们信念的协议。
基于这个协议,就不存在所有权的问题。每个人都是网络的所有者,同时,也是说,没人是网络的所有者。我们越早接受这一点,我们就能越早地解决问题。
那么比特币分裂到底是什么?
还记得上面的例子吗?由六个大矿工挖出的区块被四个小矿工丢弃了。让我们来看看在他们眼中,区块链是什么样的。还在旧区块的四个矿工,继续挖他们自己的区块,然后生成他们的最长链。
这时候,区块链旧分裂成两条链。有些节点在一条链上挖矿,有些节点在另一条链上挖矿。我们可以把这些区块链做个标记:
“bitcoin common”是分裂之前的部分,升级了计算机的矿工会在“bitcoin current”这条分支上挖矿,没升级的矿工在“bitcoin classic”这条分支上挖矿。
这样,比特币,就一分为二了。用户在bitcoin common上得来的币可以在bitcoin current 和bitcoin classic这两条链上使用。但是,将来在bitcoin classic上进行交易的币和在将来bitcoiin current上交易的币是不一样的。在数量上,价值上,接受度上它们都是不同的。它们就像是两种不同的数字货币那样。
对你手头的比特币有什么影响?