比特币扩容之战:硬分叉与软分叉
比特币是否需要扩容一直都是区块链中的大问题,虽然一直处于讨论和寻求解决的过程中,但由于比特币去中心化的特性,这个问题一直被无限推迟,目前还没有效的解决。你知道比特币扩容是什么吗?一起来看看比特币扩容之战:硬分叉与软分叉。
比特币为什么要扩容
在解释扩容问题之前,先向大家介绍一下吞吐量的概念。假如你在火车站等车,火车进站的间隔时间是1小时,车厢容量是10人。一旦火车满载,第11名乘客只能乘坐下一趟火车。在这个例子中,乘客就是等待确认的比特币交易。比特币或以太坊一类的区块链平台平均每秒能够处理10次左右的交易。
而同样作为支付手段的VISA,交易的处理速度可以达到5000/s~8000/s。任务处理的速度称为吞吐量。相比之下,区块链平台目前的吞吐量极其低。
于是为了改善这种情况,现在推出这样的做法,在同一个火车站中有100个人想坐同一趟列车,但车厢容量还是10人,火车站就规定,付钱最多的10个人可以上火车。你因为赶时间,所以你就付了一大笔钱买票上火车。
现实就是由于区块链平台的吞吐量低,比特币的交易费用正在不断上升。缓慢交易确认速度和交易高成本是比特币发展的巨大障碍,比特币扩容迫在眉睫。
什么是硬分叉和软分叉
比特币分叉可以先简单理解成系统升级。比特币分叉即链条分叉,这个链条就是区块链。众所周知,区块链就是一本账本,是一份协议,如果协议要做一些修改怎么办呢?这件事情可没有简单发布一个新版本并让所有节点更新那么简单。因为网络里某些节点无法获取新版本,或无法及时获得新版本。有部分节点没有更新新版本,造成的影响可大可小。按照产生结果的不同,协议修订分为两种类型:一种会造成硬分叉,另一种会造成软分叉。
比特币硬分叉的结果就是系统升级完后产生了新币种,算力分成两派,各搞各链,各走各路。比特币现金就是比特币硬分叉产生的。
分叉就是修改协议,硬分叉则是协议的修改部分将使前一个版本失效,即运行新版本协议的节点认为有效的块将被运行旧版本协议的节点认为无效。因为我们不能保证每个节点都将更新协议,我们只能认为,某些节点没有升级,所以一些区块中最长的区块链分支将被老节点视为无效。老节点会认为其他的分支才是最长、最有效的区块链分支,并一直拓展这个分支,直到他们更新版本。
比特币软分叉就是升级完后仍是一条链,一种币,没有新币出现。
软分叉是另外一种协议修改的方式,例如加入新的特性让现有的校验规则更加严格,这样一来老节点会继续接受所有的区块,而新节点会拒绝部分区块。软分叉可以避免硬分叉所造成的永久分裂。