区块链为何及如何分裂?Zrk显卡之家

分叉(fork),或是分叉的威胁,似乎是加密货币领域的公认特征。但分叉是什么?为什么分叉会有这么大的影响?硬分叉与软分叉的差异在哪?Zrk显卡之家

Zrk显卡之家

“分叉”从编程术语来讲,是一个开源代码的修改。通常,分叉代码与原始代码类似,但经过重要的修改,两个“叉”(prongs)和平共存。有时,分叉被用来测试过程,但在加密货币里,它通常被用来实行基本面的更改,或使用与原有资产相似的(但不相等的)特征来创造新资产。Zrk显卡之家

并非所有分叉的发生都是刻意的。使用广泛分散的开源代码库(open-source codebase),一旦当不是所有节点都能复制相同信息时,分叉有可能意外地产生。然而,通常这些分叉都能被识别并解决,主要的加密货币分叉都源于对植入哪些特性所产生的意见分歧。Zrk显卡之家

记住一点,这些分叉有着“共享的历史”。每个链(旧的或新的)上在分叉之前的交易记录都是完全相同的。Zrk显卡之家

硬分叉Zrk显卡之家

编程分叉主要有两种类型:硬分叉与软分叉。Zrk显卡之家

硬分叉是对旧版本的无效协议进行更改。假如旧版本持续运行,它们最终将使用与新版本不同的协议与数据。这会导致严重的混淆与可能的错误。Zrk显卡之家

在比特币里,需要硬分叉来更改像是区块大小、解决加密难题的难度、新增额外信息之限制等定义参数。任何对这些规则的更改,都可能造成区块被新协议接受但被旧版本拒绝,并可能导致严重问题──甚至有可能造成资金的损失。Zrk显卡之家

举例来说,假如区块的大小限制由 1 MB 增加到 4 MB,一个 2 MB 大小的区块将能被运行新版本的节点所接受,但会被运行旧版本的节点所拒绝。Zrk显卡之家

也就是说,2 MB 大小的区块通过某一更新后节点的验证并新增到区块链中。假若下一个区块是需要被运行旧版协议的节点所验证的呢?该节点会试图新增这个区块,但它会侦测到最新的这个区块并没有通过验证。因此,它将忽视该区块,并将新验证结果附加到前面一区块。突然间,你有了两个区块链,其中一条同时含有旧与新版本协议的区块,另一条仅包含旧版本协议的区块。哪条链的增长较快取决于哪些节点可以获得下一区块的验证,并且最终可能还会有额外的分裂。两条(或更多的)链是可以无限平行增长的。Zrk显卡之家

这是一个硬分叉,它可能是混乱的,也可能充满着风险,因为在新区块中花费的比特币可能会再次花费在旧区块里(因为运行旧版本协议的商户、钱包与用户无法侦测到无效的新代码支出)。Zrk显卡之家

唯一的解决方法是放弃其中一个分支转而支持某一分支,这涉及一些矿工的损失(交易本身是不会丢失的,它们只会被重新分配)。或者,所有节点都需要在同时切换到较新的版本,而这在分散的、广泛传播的系统内是不容易达到的。Zrk显卡之家

或者,比特币会分裂,这已经发生了。(哈啰,比特币现金)Zrk显卡之家

软分叉Zrk显卡之家

软分叉仍然可以与旧版本一同运行。Zrk显卡之家

举例来说,假如以限缩规则的方法更改协议,实现表层修改或添加不影响结构的功能,则旧版本的区块将能接受新版本区块。但反过来则行不通:新的、较为严格的版本将拒绝旧版本的区块。Zrk显卡之家

在区块链中,理想状态下,矿工发现它们的区块被拒绝,就会自行升级。随着越来越多矿工完成升级动作后,拥有主要新区块协议的链会变得越来越长,会更加孤立旧版本的区块,这又能让更多矿工进行升级动作,并且系统会自动纠正。由于旧的和更新后的节点都接受新区块,因此新版本的区块协议最终将获胜。Zrk显卡之家

举例来说,当社区决定将区块大小从现有的 1 MB 限制缩限到 0.5 MB。运行新版本区块协议的节点将拒绝 1 MB 大小的区块,并且会建构在前一个区块上(如果它是使用新版本的代码进行挖矿),可能会导致暂时的分叉。Zrk显卡之家

这是一个软分叉,并且已经发生过好多次。最初,比特币并没有区块小的限制,是通过软分叉将 1 MB 的大小限制引入的,因为新规则比旧规则更为“严格”。而可以在不改变结构的情况下强化代码的 pay - to - script - hash 功能,也是通过软分叉成功增加的。这类型的修正通常仅需要大部分的矿工进行升级,便可以让该分叉变得更可行,也降低了破坏性。Zrk显卡之家

软分叉并不会带来困扰硬分叉的双花风险(double-spend risk),因为运行旧节点的商家与用户将能同时读取新旧版本的区块协议。Zrk显卡之家

区块链分叉如何解决_什么是分叉区块链又该如何分叉相关推荐

  1. 区块链分叉如何解决_详解区块链分叉是怎么回事

    区块链分叉 熟悉Github的人应该知道,一套代码的质量有多个衡量维度,Fork就是其中之一.分叉其实就是这里所说的Fork,也就是复制并加以修改应用.在这里我们以比特币为例,解释下分叉是怎么回事. ...

  2. 区块链分叉如何解决_区块链的命门——硬分叉

    不要一看到硬分叉就想到分叉币,分叉币是逐利动机下的主动行为,并且发币也仅只是区块链的一个功能而已,这个功能可以用也可以不用.真正需要担心的,是一体化的区块链如果不得不面对硬分叉的选择时应该怎么办.以及 ...

  3. 区块链相关数据报表_一种基于区块链的财务报表系统及其使用方法与流程

    本发明涉及区块链领域,尤其是一种基于区块链的财务报表系统及其使用方法. 背景技术: 随着社会的发展,公司的成立数量越来越多,而公司的财务报表是一个公司的关键资料,这就要求资料数据的绝对安全防止他人的恶 ...

  4. 区块链相关数据报表_重磅|京东云区块链数据服务(BDS)正式开源

    今天,"区块链+京东云 大有可为"战略合作媒体沟通会在北京国家会议中心召开.会上,京东云与京东数科宣布在区块链技术服务领域深度合作,重磅发布了智臻链"云"建设规 ...

  5. 山东大学软件学院2021-6 《区块链》期末考试_孔老师_fromLWT_区块链期末考试题目回忆

    前言 简单回忆记录2021学年春季学期的限选课区块链的期末考试题目,记忆可能有偏差,请谅解.相关内容为个人观点,不是正确答案- 个人观点:课程内容丰富(有请其他老师来拓展),孔老师与同学的课上互动很多 ...

  6. 区块链分叉如何解决_聊聊区块链背后存在的问题(一):分叉

    近年来,比特币和区块链逐渐成为新风口,受到创业者.资本家和市场的青睐.一方面,比特币的价格不断高涨,一度突破2万美元,另一方面区块链融资成爆发式增长,根据猎豹全球智库区块链研究中心发现,2017年,全 ...

  7. 智链ChainNova携手IBM推出端到端区块链解决方案

    在食品安全成为全民话题的今天,如何保障粮食安全并提升产粮区农民收入?智链ChainNova和IBM正计划通过构建区块链大农场来解决这一难题. "区块链大农场"不仅仅是国内首个实现区 ...

  8. 区块链技术用解决拜占庭将军问题_区块链是如何解决拜占庭将军问题的?

    原标题:区块链是如何解决拜占庭将军问题的? 区块链火爆后不少人认为它是继蒸汽机.电力.互联网之后第四代具有颠覆性的技术.但凡了解它,或者对比特币有一定见解的人,都多多少少听过拜占庭将军问题.现阶段区块 ...

  9. 区块链技术用解决拜占庭将军问题_什么是拜占庭将军问题

    接触区块链的同学,多少都听说过拜占庭将军问题,经常看到或听到某某区块链使用某某算法解决了拜占庭将军问题,那么究竟什么是拜占庭将军问题呢? 接触区块链的同学,多少都听说过拜占庭将军问题,经常看到或听到某 ...

最新文章

  1. 当我们在讨论奢侈品行业时,人工智能可以做什么?
  2. 有点小激动-Index Condition Pushdown Optimization
  3. javaIo流实际应用
  4. Springboot2 Swagger3 集成
  5. jQuery中的选择器引擎Sizzle
  6. ffmpeg推送直播流的技术进展
  7. Kaldi AMI数据集脚本学习3---run_ihm.sh stage 1~3
  8. java 基础知识学习 内存泄露(memory leak) VS 内存溢出(out of memory)以及内存管理...
  9. vue项目中使用 ttf字体
  10. Odoo12功能模块文档整理
  11. 计算机无法找到wifi,笔记本无线网络找不到,教您怎么解决笔记本找不到无线网络...
  12. 让我摘下星星送给你_去最美的地方,我摘下星星给你。
  13. 命令查看yarn当前任务列表
  14. 【侯捷】C++面向对象高级编程(下)
  15. 终端、控制台、虚拟终端、伪终端的概念,阐述终端与shell的关系
  16. 苹果系统微信实况图照片发送-竞品分析初步思考
  17. React——基础(笔记)
  18. Ashampoo WinOptimizer 2021
  19. 关于数据清洗的常见方式
  20. unity图片变成马赛克如何取像素并改变颜色_聊聊 2D 游戏的像素化中的问题

热门文章

  1. android 消除标题,Android Activity 去掉标题栏及全屏显示
  2. 常用算法 之三 详解 SHA1 实现(基于算法的官方原文档)及源码详细注释
  3. Oracle原理: 归档方式和日志文件
  4. 解决方法|ESP8266环境搭建出现 usrbinenv bashr :没有那个文件或目录
  5. 努比亚z17s刷原生安卓_MIUI 10抢先适配安卓Q,米粉火速刷机,存在这些问题
  6. python公司大部分编码风格_Python编码风格篇:比较运算符-阿里云开发者社区
  7. 磁盘上没有足够的空间完成此操作_【教程】Windows的磁盘分区,两分钟搞定!!...
  8. WPF快速入门系列(6)——WPF资源和样式
  9. 步步为营-72-asp.net简单练习(通过webForm实现一些简单实例)
  10. 摆脱科技僵尸,回归生龙活虎