美文网首页【好文共赏】0岁的产品经理区块链研习社
一分钟读书俱乐部(五十四):《区块链技术驱动金融》软分叉

一分钟读书俱乐部(五十四):《区块链技术驱动金融》软分叉

作者: 全职高手一叶之秋 | 来源:发表于2019-03-07 19:03 被阅读28次

    软分叉


    原文精选:另一种修订是加入新的特性,让现有的核验规则更加严格。那样老的节点依然会接收所有的区块,而新的节点会拒绝一些。这样的改变叫作“软分叉”。这可以避免硬分叉所造成的永久分裂。

    我们如果引入可以产生软分叉的新版协议,会有什么后果呢? 运行新版协议的节点会使用一些更严格的规则,现在,假定绝大部分节点都更新了新版协议并执行新的规则(这是产生软分叉的关键,因为老节点不会执行新规则,新节点的数量要足够多才能够竞争最长的链)。

    这种情况下,老节点可能会挖到一些无效的区块——因为这些区块中包含一些在新规则下无法核验通过的交易,然后,老节点会知道它们核验有效的区块不被别的节点接受(即使它们并不知道原因),这使得老节点的矿工会去更新协议。而且,如果新节点用它们的区块扩展了老节点的分支,那么,老节点也会转而扩展这个分支,原因是新节点核验通过的区块,老节点也必定能核验通过。这样就没有硬分叉了,只是会有很多临时的小型分叉而已。

    读书笔记:

    1,老的节点依然会接收所有的区块,而新的节点会拒绝一些,这样的改变叫作“软分叉”。

    2,软分叉导致老节点可能会挖到一些无效的区块。



    原文精选:本章3.2节提到的“支付给脚本的哈希值”就是软分叉的一个经典例子。第一版比特币协议里并没有P2SH。P2SH之所以造成软分叉,是因为对老节点而言,一个有效的P2SH交易也可以核验通过——它只验证这个哈希值跟前一笔交易输出哈希值是不是一样而已,它并不知道还要进一步检验脚本是否合法。我们依赖新版节点去进行这项核验:脚本本身真的可以获取到前一个交易输出的币。

    那我们到底可以通过软分叉为比特币协议添加哪些特性呢? P2SH是成功的,也许添加新的密码算法也可以通过软分叉实现。我们也可以通过软分叉在元数据的币基参数中添加更多的信息实现,目前,币基参数可以是任何数值,但未来我们也许可以限定币基参数的格式。已经有人提出,可以在币基参数里放入一个梅克尔树根,其中包含所有未被消费的比特币的信息。这种做法只会造成软分叉,因为老节点核验通过的区块,在新节点上可能无法核验通过。但随着区块链的延长,很快老版本就会转而去扩展最长的区块链分支。

    读书笔记:

    1,“支付给脚本的哈希值”就是软分叉的一个经典例子。

    2,添加新的密码算法也可以通过软分叉实现,可以通过软分叉在元数据的币基参数中添加更多的信息实现。


    原文精选:其他的一些改变可能就会产生硬分叉了,比如在比特币里添加新的功能操作代码、改变区块大小和交易规模,甚至其他一些修复性的改动。本章3.2节提到过MULTISIG指令存在一个缺陷,它会推送给堆栈一个莫名其妙的值,要修复这个缺陷,也会产生硬分叉。这就是为什么尽管这个缺陷很烦人,但也一直没有修复,因为和硬分叉相比,保留一个缺陷还是可以忍受的。有些修订非常有意义,但目前比特币环境不太可能接受硬分叉。但许多优秀想法都在其他的竞争币中得到了测试而且成功运行,因为那些竞争币系统是从头开始建立的,硬分叉不会产生严重的后果。

    读书笔记:

    1,和硬分叉相比,保留一个缺陷还是可以忍受的。

    2,目前比特币环境不太可能接受硬分叉。


    一叶之秋带你一分钟速读经典书籍,每天一分钟(只需阅读读书笔记部分),天天获新知。


    一叶之秋——非著名股票分析师

    CCTV证券资讯频道特邀分析师

    币乎,币问内测作者;区分认证分析师

    金色财经,币世界专栏作家

    《区块链编年史》 《区块链重塑未来》系列作者

    量价时空战法体系,一分钟读书俱乐部创始人

    公众号:区块链项目评测

    007er

    相关文章

      网友评论

        本文标题:一分钟读书俱乐部(五十四):《区块链技术驱动金融》软分叉

        本文链接:https://www.haomeiwen.com/subject/jzphpqtx.html