区块链 软分叉和硬分叉 简介

女爷i 2021-08-19 23:24 563阅读 0赞

1、硬分叉是什么

硬分叉是指当区块链代码发生改变后旧节点拒绝接受由新节点创建的区块,不符合原规则的区块将会被忽略,矿工会按照原规则在他们最后验证的区块之后创建新的区块,区块链领域最有名的硬分叉案例,便是“以太坊”分叉。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doYXRkYXk_size_16_color_FFFFFF_t_70

旧区块不兼容新区块视为硬分叉

2、软分叉是什么

软分叉是指区块链代码发生改变后,旧的节点并不会感知到区块链代码发生改变,并继续接受由新节点创建的区块,矿工们可能会在他们完全没有理解或验证过的区块上进行工作,软分叉新旧节点双方始终都工作在同一条链上。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doYXRkYXk_size_16_color_FFFFFF_t_70 1

旧区块兼容新区块视为软分叉

3、软硬分叉的定义

软分叉和硬分叉都向后兼容,这样才能保证新节点可以从头验证区块链,向后兼容是指新软件接受由旧软件产生的数据或代码,比如说Windows10可以兼容 Windows XP的应用。而软分叉还可以向前兼容,向前兼容是指旧软件接受由新软件产生的数据或代码,比如说你用Office2013编写的文档仍然可以用Office2010或更老版本的Office软件打开,就是一种向前兼容。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doYXRkYXk_size_16_color_FFFFFF_t_70 2

根据兼容模式的不同区分软硬分叉

简单地说,旧节点是否接受新区块,是软硬分叉的本质区别。

软分叉向前兼容,旧的版本会接受新版本创建的区块,在软分叉中只需要矿工升级到新版本即可,用户可以继续使用旧版本的协议,他们仍然会接受新版本协议创建的区块。

硬分叉不向前兼容,旧版本不会接受新版本创建的区块。要实现硬分叉所有用户都需要切换到新版本协议上。

4、软硬分叉的优缺点

软分叉的优点:

1、软分叉始终保持一条链,没有分成两条链的风险。

2、软分叉不要求所有节点同一时间升级,允许逐步升级,且并不影响软分叉过程中的系统稳定性和有效性。

3、对于矿工而言不需要更新升级矿机等硬件设备即可继续挖矿。

软分叉的缺点:

1、软分叉的前提是老的节点总是能够接受新节点的区块,这就要求必须把系统设计成向前兼容(forward compatible)需要增加不少的工作量。

2、软分叉总是建立在对老节点进行欺骗的基础上,它让老节点没有察觉实际上已经发生的变化,某种程度上违背了单点完整验证的原则。

硬分叉的优点:

1、于区块链本身而言,可以给区块链更多实践探索的可能性,进而促进软硬件技术的升级优化。

2、于投资者而言,可以给已有投资者在无风险的情况下增加一种币的收益。

硬分叉的缺点:

1、会给社区造成一定的不稳定性,使部分矿工摇摆不定,矿机设备更新提升了矿工的挖矿成本。

2、会给用户交易带来重放攻击的风险 至于什么是重放攻击,大家可以参读这篇文章

《区块链 重放攻击 简介》https://blog.csdn.net/whatday/article/details/103763507

发表评论

表情:
评论列表 (有 0 条评论,563人围观)

还没有评论,来说两句吧...

相关阅读

    相关 forkjoin-分叉合并框架

    前言 随着多处理器时代的到来,越来越多的计算机支持多处理器并行计算。语言层面也提供了支持,fork/join就是java语言利用多处理器计算的实现框架。更多信息参考[官方

    相关 区块中什么是分叉

    【概念】   分叉就是系统升级,就像苹果手机的iOS系统需要不断更新升级一样。 苹果公司每次推出新的手机系统时,全球那么多苹果手机用户,虽然绝大部分人会选择更新到最新的系统

    相关 区块 分叉分叉 简介

    1、硬分叉是什么 硬分叉是指当区块链代码发生改变后旧节点拒绝接受由新节点创建的区块,不符合原规则的区块将会被忽略,矿工会按照原规则在他们最后验证的区块之后创建新的区块,区