本文由币乎(bihu.com)优质内容计划支持
版权声明
本文首发于币乎
版权所有tuionf
原文链接:https://m.bihu.com/article/73780,请关注点赞
感兴趣的可以点击下面的链接注册,https://zt.bihu.com/?id=117470
《图说区块链》系列文章
没看过上述两篇文章的小伙伴,点链接去看看,加深理解。
本篇开头我们先回顾一下之前说过的内容
- 我们通过新增规则来解决区块链村去中心化记账系统的问题
- 新增规则之后需要全村的人达成共识,大家都认可之后才可以,否则新规则无法实施
拍脑袋的决定
比特币的创始人中本聪在2009年设计的时候,将一个区块的大小定义为 1M,而这个 1M并没有什么依据,根据当时的交易量完全可以满足需求,然而随着比特币的火爆, 1M 开始限制比特币的发展了。
区块,我们可以理解为我们前两篇文章中每个人手中的 小本本,小本本可以记录的交易数据是有限的,1M到底能记录多少数据呢?我们来算一算
当前一笔交易的数据量大小是 250字节,甚至有的达到了500字节,暂且按照 250 字节计算
一个小本本也就是一个区块的大小是 1M,也就是 1M = 1024K字节 = 1048 576字节,对计算机概念不熟悉的可以理解为一个小本本可以记录 1048 576 个字,一笔交易需要 250个字
于是一个本本可以记录的交易总数是: 1048 576 / 250 = 4194.4 笔
比特币中一个区块的确认时间是 10分钟,那么一个小本本每秒能够记录的交易笔数是
4194.4 / 10 / 60 = 7 笔
这是比较理想的情况,当交易的数据量更大的时候,每秒的基本达不到 7 笔的交易量,于是造成的问题是
- 比特币网络的交易非常拥堵——也就是说大家都在等待往小本本上写交易记录呢
- 交易确认的时间非常非常慢——也就是说A向B的转账,需要好几天B才能得到确认
- 网络的堵塞总有一天会导致崩溃
那么如何解决?自然是对区块进行扩容,也就是说对我们的小本本扩容,换成更大的本本,但是虽然解决方案清晰明了,但是对于扩容到多大,大家是存在分歧的。是扩大到原来的2倍就好,还是直接扩大为10倍?不同的利益群体提出了不同的方案
- 比特币经典版方案——扩大到2M
- 比特币新版——扩大到20M,并且两年翻一番
- 比特币无限版——扩大到多少都行,甚至可以无限大,由矿池决定其大小
分叉
由于大家在扩容到多大的问题上无法达成一致,于是分叉出现了,而分叉又分为硬分叉和软分叉,区别在于是否向前兼容。
硬分叉
image image硬分叉指的是 分叉之后的新节点可以验证旧节点的生产的区块,而旧节点拒绝验证新节点产生的区块
硬分叉的特点如下:
- 没有向前兼容性,之前的版本将不可再用,需要强制升级;
- 在区块链层面会有分叉的两条链,一条旧链,一条分叉新链;
- 需要在某个时间点全部同意分叉升级,不同意的将会进入旧链
软分叉
image软分叉是指新旧节点产生的区块都可以互相验证
软分叉的特点如下:
- 有较好的兼容性,之前版本的部分功能可用,可不升级;
- 在区块链层面没有分叉的链,只是组成链的区块有新区块和旧区块之分;
- 相当长的时间里,可允许不进行升级,继续使用原版本生成旧区块,与新区块并存
我们看看近来比较成功的一次分叉。
2016年7月,以太坊开发团队通过修改以太坊软件的代码,在第192 000区块,强行把TheDAO(分布式自治组织)及其子DAO的所有资金全部转到一个特定的退款合约地址从而“夺回”黑客所控制的DAO合约的以太币。
之后,便形成两条链,一条为ETC(原链),一条为新的ETH(分叉链),以太坊成功地
硬分叉了!
网友评论