区块链科普4:比特币的硬分叉和软分叉,为什么不扩容1MB大小的区

2018-07-09  本文已影响0人  老猫___

【本文由赞我(zaneds.com)独家冠名】

亚当斯密说过“人天生是自私的动物,追求财富的动机推动着社会的进步,只要给予一个正确的环境追求自身利益,就可以提高全民的福祉。”

多年之后,一个集密码学、博弈论、金融学之大成的武学秘籍诞生--比特币。它使用一种代码,运用联盟博弈的方法,让这种理想变成了现实。从不见天日到逐渐走出一条康庄大道,比特币奠定了加密货币绝对的龙头老大地位。

比特币被称为人类的信任机器,誉为天作之合。只道是天循有常,福祸相依,比特币也不是绝对的完美。也许中本聪也没有想到比特币可以发展成为世界货币,处于日益增长的交易需求环境下,区块链1MB的区块大小和每秒7次的处理速度算作是完美中的缺陷

微信图片_20180709045750.jpg

在比特币诞生之初,中本聪并没有特意限制区块的大小,只是有人认为区块上限过高容易造成计算资源的浪费,还容易发生DDOS攻击,因此将区块大小限制在1MB。 速度的问题牵扯到挖矿的难度,确保整个网络更加安全, 那么扩容问题为什么迟迟没有解决? 这就是本文讲述的重点。

理论上只是需要改掉源代码的某些常数就可实现比特币系统的区块容量,但实际上并不容易。

数字货币最大的价值在于共识,比特币亦如此,要想修改源代码就必须修改获得大家认同的比特币协议。这样的修改方式不像我们使用的APP,后台通过更新版本附带协议修改,用户在页面会收到更新的提醒,不更新导致无法使用或性能变差。

而比特币版本的更新直接导致的两种结果:

1、硬分叉(引入新的协议)##

引入新的协议,并不能保证所有的节点都能更新版本,有些节点无法获取或无法及时获取。 假设新版本多于老版本,同样会出现一个问题,新版本节点创建的区块无法得到老版本节点的认可,老版本会认为另外一条区块链属于有效的区块链,导致出现区块链分支。

网络上的所有节点会根据各自的版本运行两条不同的区块链,除非老版本更新,要么就永远的不在一条链上。这是比特币社区不能容忍的,形成了硬分叉。

2、软分叉(加入新的协议)##

加入新的协议,可以让现有的协议更加严格更切合比特币的发展。同样不能保证所有的节点及时更新,老节点可以接受新节点创建的区块,新节点确认不了老节点的区块。假设大部分节点都是新节点,这种情况下,老节点挖出的区块在新的交易规则下会包含无法确认通过的交易,老节点发现这种情况后,也转而更新节点运行新规则下的区块链, 这样的改变叫做软分叉,避免了硬分叉的永久分叉。

总结:软分叉虽可以完善比特币系统的部分细节,如加密算法之类。但是添加新的操作代码或者扩充容量只能是通过应分叉。所以尽管比特币的容量缺陷一直被诟病也没有修复,因为和硬分叉相比,扩容问题还是显得微不足道

上一篇下一篇

猜你喜欢

热点阅读