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. 配置Hadoop,hive,spark,hbase ————待整理

    五一一天在家搭建好了集群,要上班了来不及整理,待下周周末有时间好好整理整理一个完整的搭建hadoop生态圈的集群的系列 若出现license information(license not accep ...

  2. 获取select标签的自定义属性

    $("#ddlUsers").find("option:selected").attr("fullstr"); fullstr就是自定义属性 ...

  3. 7.Java集合-Arrays类实现原理及源码分析

    Java集合---Arrays类源码解析  转自:http://www.cnblogs.com/ITtangtang/p/3948765.html 一.Arrays.sort()数组排序 Java A ...

  4. 深度学习_1_Tensorflow_2_数据_文件读取

    tensorflow 数据读取 队列和线程 文件读取, 图片处理 问题:大文件读取,读取速度, 在tensorflow中真正的多线程 子线程读取数据 向队列放数据(如每次100个),主线程学习,不用全 ...

  5. 离线yum源挂载及yum服务器搭建

    在进行现网环境搭建的时候,绝大多数情况下,centos或redhat(以下以centos为例)服务器是跟公网隔离的,因此需要找一台服务器挂载自己的yum源. 一.离线yum源包的制作 离线yum源可以 ...

  6. Vs2017 NetCode Mvc EF Mysql 整合1

    1  运行环境   vs2017   NetCode2.0 2 NuGet  MySql.Data.EntityFrameworkCore 8.0.18 3  源代码 https://github.c ...

  7. 导弹拦截( 二分+dilworth定理)

    https://www.luogu.org/problemnew/show/P1020 原题 接下来是dilworth定理 https://blog.csdn.net/u011676717/artic ...

  8. Spring整合rabbitmq(转载)

    原文地址:https://my.oschina.net/never/blog/140368 1.首先是生产者配置 <?xml version="1.0" encoding=& ...

  9. tp5.1下redis配置和使用

    //1.config目录下新建redis.php <?php /** * Created by PhpStorm. * User: Administrator * Date: 2019/12/1 ...

  10. 程序装载:“640K内存”真的不够用么?

    本文源于size_t的说明,看到比尔盖茨说过:640K内存对于任何人来说都足够了,所以找了一篇文章,学习一下~~ 一直以来都知道自己有关计算机底层的知识不是不扎实,前段时间跟着大佬们推荐在[极客时间] ...