• pre-fork 分叉 软分叉 硬分叉 前叉实现 pre-fork implementation


    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

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

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

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

     
     
  • 相关阅读:
    python数据分析之csv/txt数据的导入和保存
    SQL Server日志文件过大 大日志文件清理方法 不分离数据库
    socket--多进程,多线程服务器
    MYSQL千万级数据表,创建表及字段扩展的几条建议
    常见WEB攻击
    jQuery学习笔记之Ajax用法详解
    redis范围查询应用 数据库 数据库学习 Redis redis范围查询的方法
    CentOS 7下使用RPM安装mysql的方法。
    MySQL Daemon failed to start错误解决办法是什么呢?
    windows无法启动MySQL服务报错1067的解决方法是怎样?
  • 原文地址:https://www.cnblogs.com/rsapaper/p/10835051.html
Copyright © 2020-2023  润新知