作为普通互联网用户,大家手机里的软件经常会提醒要升级,比如微信从1.0一路升级到6.6,升级的目的,是为了提供更多的功能来服务于用户、修复现存的问题等等等等。
在普通互联网公司中,想升级一次版本是非常简单的,只要需求提完、设计师出完设计稿、程序员开发、测试同学测试无误,找个半夜的时间点,趁人少的时候,发布上线就行。
普通互联网公司的版本迭代是完全由公司内部控制的,作为普通用户,如果不想升级,那么还是用老版本,如果想升级,可以点击升级按钮,在应用市场下载好新的版本用就行了。
但是,在去中心化的区块链世界中,想升级一次是没那么简单的。因为区块链实际运行机制和中心化的完全不一样。
比特币是去中心的,没有一个中心化的服务器存储代码,不是程序员写完代码部署到某个服务器上就完成迭代了。比特币的代码,是先由bitcoin core团队开发好,发布到网络上,由全球所有矿工、交易所、钱包自行下载并运行的。由此可见,比特币的代码时存在于全球所有矿工、交易所、钱包公司的服务器里的。
bitcoin core团队,是中本聪指定的可以更新、发布比特币代码的团队。毕竟,软件的迭代升级确实是需要人来参与的。但是,不是说他们想改,全世界的比特币代码就跟着变的。由于代码需要运行起来才能生效,如果当core团队擅自修改代码并发布出来,当矿工、交易所、钱包收到新的版本迭代提醒时,是不会安装的,因为大家都没讨论过新代码是干嘛的,解决什么问题,有什么影响,有没有bug,自然就不会运行新版本,新版本没人用的话也就没有了实际意义。
所以,大家到这里就会发现,虽然core团队有改代码以及发布代码的权力,但是改的也是他们本地服务器的代码,而且就算上传了,在没挣得其他人同意的前提下,不会有人使用新的代码的。所以,如果想让全网络升级新的比特币版本,是需要让目前支持比特币的矿场、交易所、钱包达成共识的,只有多方都同意升级了,那么core团队发布出来的代码才会有人下载并安装,全网才会将旧版本升级为新版本。
反过来说,如果矿场、交易所、钱包想让比特币升级下版本,如果没有bitcoin core团队的同意,是没办法升级的。因为更新、发布代码的权力在core团队手中。
我们会发现,比特币的core团队虽然有修改和发布权限,但是没有决定权。比特币的升级,是需要所有比特币矿场、交易所、钱包、core团队达成一致,才能完成升级的。
如果意见有分歧会怎样?如果core团队和部分矿场、交易所达成一致,其余反对,结果是怎样的?这就是分叉的前提,我们之后会讲到。
关注【通俗易懂区块链】,学懂区块链
领取专属 10元无门槛券
私享最新 技术干货