https://mp.weixin.qq.com/s/wIDTs2J1ZkLkAEHqQnkYnw

什么是分叉?为何对区块链发展至关重要?

Uselink公有链 Uselink公有链 2018-12-20

在区块链世界,我们经常可以听到“分叉”、“软分叉”、“硬分叉”等等字眼,首先,什么是分叉?

什么是分叉

分叉是区块链体验的核心,类似于系统升级。“分叉”一条链,本质上就是要对运行区块链的软件做出改变。根据不同的情况,分叉所引发的问题也非常多,有的很快能够达成共识,有的则极具争议。

一个区块链核心开发人员团队如果有长期发展规划,则可以使用分叉来推动区块链网络升级,但有时候,有些“叛徒团队”也会在正常的发展路线之外提出并尝试分叉。但从另一方面来看,分叉也能够展示这些区块链网络的去中心化特质。毕竟区块链讲得就是真正的去中心化,没理由不给分叉吧。

知道什么是分叉,而区块链分叉其实分为“硬分叉”和“软分叉”,软分叉很少会引起争议,因为它们是向后兼容区块链的前叉实现(pre-fork implementation),而且在区块链中没有新的分支创建。

而当系统升级与旧版本区块链软件不兼容时,就会发生硬分叉,任何不升级到新版本的人都会被“遗忘”在老区块链上。不仅如此,一旦绝大多数开发人员和挖矿节点都支持对区块链进行升级,那么这个“硬分叉”过程就会发生。

为何说分叉对区块链的至关重要

举个例子:

最受瞩目的两个区块链——比特币(BTC)和以太坊(ETH)都经历过硬分叉。

2015 年 7 月 30 日,"V神"和以太坊基金会创建了第一个智能合约平台,并设计了 TheDAO 以太坊合约。2016 年 4 月 30 日正式部署了 The DAO 智能合约,就在同年 6 月 17 日,The DAO 被黑客攻击,黑客共盗取了约 5500 万美元的以太币,导致其价格也从 20 美元暴跌到 15 美元,对以太坊社区造成了巨大的伤害。为了挽回投资人的损失,社区一部分人想要使用硬分叉将被盗窃的资金还给原来的代币持有人,但也有一部分人反对这一行动,认为作为一种货币形式,硬分叉会使以太坊代币的完整性失效,而且一旦开了硬分叉的头,后续可能会导致出现其他不良硬分叉。

最后以太坊还是决定实施硬分叉,但是在实施升级时许多不同意见的人拒绝升级它们的软件,这也让此前的以太坊区块链上留下了大量用户,而原来的那个区块链现在被称为以太坊经典(ETC),新分叉则保留了原名,以太坊(ETH)。以太坊和以太坊经典共存的相对平和,这种共存似乎对社区而言也是一件好事。

相比于“和谐“的以太坊硬分叉,比特币的硬分叉似乎没有获得令人满意的解决。

在 2017 年 8 月 1 日,比特币区块链经历了一次重大的硬分叉。大部分开发人员和矿工把他们的节点升级到了新的且不兼容的比特币软件版本,本次分叉将比特币分成了两个分支:一个是主分支,另一个则是全新的、可行的二级分支,现在被称为比特币现金(BCH)。

如今,比特币和比特币现金两个加密社区各自独立,而且也都十分活跃,而从2017年中旬开始的比特币硬分叉争论——什么是真正的比特币——也一直持续到了今天。

无论是硬分叉还是软分叉,分叉都是区块链体验中不可分割的一部分。有时候,区块链进行分叉时社区很快就能达成共识,而且基本没有任何争论发生,也让开发过程变得轻松简单;但有时,区块链分叉会导致社区内部产生分歧。

https://mp.weixin.qq.com/s/nBr9RY7wExvW9bGnN1AVCg

以太坊基金会官宣:君士坦丁堡升级注意事项

原创: Hudson Jameson Unitimes 1月12日

如果我是矿工或者节点运行者,但是我没有参与此次升级,会怎么样?

如果你使用的是未更新到最新版本(上面列出)的以太坊客户端,升级之后,你的客户端将同步到预分叉(pre-fork)区块链上。你会被锁在一个不兼容的链上,按旧规则运行,而且无法发送以太币或者在升级后的以太坊网络上进行任何操作。

 
 

pre-fork 分叉 软分叉 硬分叉 前叉实现 pre-fork implementation的更多相关文章

  1. BCH硬分叉,BitcoinABC强势逆袭BitcoinSV

        最近币圈讨论最多的就是BCH的硬分叉,今天凌晨BCH硬分叉在众多币圈大佬关注下落下帷幕,此次分叉大站BitcoinABC强势完胜BitcoinSV.吴忌寒在推特上表示:祝贺!在这个新的区块之后 ...

  2. 在BCH硬分叉后防止重放攻击-1

    导致新加密货币的硬分叉为加密交换运营商带来了独特的机遇和挑战.Poloniex在最近的Bitcoin Cash硬叉之后面临的一个挑战是保护我们的客户免受重播攻击.由于SV链后面的开发团队选择在分叉后近 ...

  3. 硬分叉后,BCH的钱包解决方案

    上周BCH进行了硬分叉,分叉成了两条链:BCH和BCHSV,对于分叉后的BCH如何进行交易呢?钱包是否有相关的危险因素? 由于分叉后的两条链没做重放保护,可能导致一条链上发起的交易,在另一条链上做重放 ...

  4. BCH硬分叉在即,Bitcoin ABC和NChain两大阵营PK

    混迹币圈,我们都知道,BTC分叉有了BCH,而近期BCH也将面临分叉,这次分叉将是Bitcoin ABC和NChain两大阵营的较量,最后谁能成为主导,我们拭目以待. 比特币现金(BCH)的价格自上周 ...

  5. what??|诞生才一年的BCH竟面临硬分叉的抉择

    BCH才刚过一周岁生日一个星期,BCH社区的主力之一Bitcoin ABC(BCH全网接近三分之二节点运行的软件系统由Bitcoin ABC开发)就搅动了社区的涟漪.8月8号,Bitcoin ABC公 ...

  6. linux命令 - ln - 创建和删除软、硬链接

    linux命令 - ln - 创建和删除软.硬链接 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件 ...

  7. linux下创建和删除软、硬链接

    linux下创建和删除软.硬链接 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复制 ...

  8. linux下软、硬链接的创建和删除

    linux下软.硬链接的创建和删除 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复 ...

  9. linux中的软、硬链接

    linux中的软.硬链接 硬链接 硬链接(hard link),如果文件B是文件A的硬链接,则A的inode节点号与B的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同 ...

随机推荐

  1. swoole聊天室

    服务端: <?phpclass Chat{ const HOST = '0.0.0.0';//ip地址 0.0.0.0代表接受所有ip的访问 const PART = 8080;//端口号 pr ...

  2. 为什么Java大数据能带你走上人生巅峰

    国内大多数大型互联网公司的程序员被称作研发工程师,但实际上国内几乎没有研发项目,只能叫做开发. 开发程序员的工作大多是重复性劳动,容易产生疲惫感,薪资在工作2-5年内就达到了一个峰值,再要提升就比较困 ...

  3. zookeeper:1

    分布式环境的特点 分布性:多台机器位置不同,但是相互协同做某一件事情. 并发性:程序运行过程中,并发性操作是很长见的.比如:同一个分布式系统中的多个节点,同时访问一个共享资源.(数据库,分布式存储) ...

  4. js中的in

    in这个操作符平时我们可能用的不多,但是一旦有需要我觉得还是很有用的,昨天在in操作符中栽了一个坑,写个博客纪念一下 var json = {a:1,b:2,c:3}; console.log('a' ...

  5. The "web.xml" is called web application deployment descriptor

    3.3  Configure the Application Deployment Descriptor - "web.xml" A web user invokes a serv ...

  6. BZOJ 3925: [Zjoi2015] 地震后的幻想乡(概率DP)

    这里有一篇很好很强的博客%%% YouSiki大佬的博客 多理解一会就行了- 代码 #include <bits/stdc++.h> using namespace std; typede ...

  7. 利用Js的console对象,在控制台打印调式信息测试Js

    一次偶然的机会,打开百度的时候按下了F12,然后就见控制台里面输出了百度的招聘广告,感觉挺帅气的,再然后就有了这篇博文. 既然可以这样在控制台输出信息,那以后再调试Js的时候不就可以省去很多麻烦了嘛! ...

  8. 用python做数据分析4|pandas库介绍之DataFrame基本操作

    原文地址 怎样删除list中空字符? 最简单的方法:new_list = [ x for x in li if x != '' ] 今天是5.1号. 这一部分主要学习pandas中基于前面两种数据结构 ...

  9. 【安卓基础】WebView开发优化基础

    最近工作很忙,不仅要抽空进行管理,还有开发任务在身,幸好有一些规划进行指导,所以还能顺利解决问题.在管理和技术上面,我认为技术是硬实力,管理是软实力,自己需要多点时间花在技术上. 回归正题,在项目中的 ...

  10. Bluetooth M590 mouse problem Ubuntu

    I restart it in the terminal, and it works: Code: $ sudo -i # bluetoothctl [bluetooth]# power off [b ...