不进行硬分叉的话,要如何升级区块链?基于 Substrate 的链有一个绝招,可以轻而易举地做到无分叉升级。
传统上,如果你想升级区块链,例如在比特币或以太坊中添加一些新功能,则必须进行所谓的硬分叉。硬分叉就是指运行支持区块链的软件的实体将其软件更新为较新版本。
之所以称为分叉,是因为每个不升级的人都被遗弃在一个被淘汰的、过时的分叉上,并根据旧代码中的规则生成区块,与新的主链不兼容。一旦这些流浪者更新,他们的节点将重新连接到主链并同步,而分叉将消失。
欧洲央行执委埃尔德森:我们需要在全球范围内对加密货币进行监管:5月6日消息,欧洲央行执委埃尔德森:我们需要在全球范围内对加密货币进行监管。[2022/5/6 2:55:42]
硬分叉通常是一个非常困难的过程,主要是因为你永远不会真正知道谁在运行软件,而且组织全局代码更新非常困难。在具有合理匿名性的去中心化系统中尤其如此。你得靠运行节点的人员主动查找有关更新的信息,并且必须信任他们在应该更新时进行更新。
Kusama 和 Polkadot 等基于 Substrate 的链对这个问题有独特的解决方案。
外媒:灰度疑似正在组建Chainlink信托基金等产品:1月22日,有媒体发文称,灰度疑似正在组建Chainlink信托基金等产品。特拉华州企业部门提供的文件显示了几种灰度产品,这些产品未对公众开放或未在其网站上列出。目前,灰度尚未明确宣布计划为其公开交易的产品扩展更多的山寨币。(Beincrypto)[2021/1/22 16:44:39]
基于 Substrate 的链可以升级,而且不用协调大量人员来进行更新某些软件的操作。它是这样做到这一点的:
在基于 Substrate 的链中,链本身上存储着一个叫作 WebAssembly Blob 或 WASM Blob 的东西。此 Blob 包含链构建新区块所需的所有逻辑。链本身的 runtime 包含在此 WASM Blob 中。
BTFS存储空间挖矿大赛9月18日top10获奖名单已公布:据BTFS官方团队统计,调整挖矿奖励分配公平性规则后 9 月 18 日共有 3573 个超过 100 MiB 的存储用户节点,按照存储比例瓜分 25,000,000 BTT的空投奖励,共有 3007 个超过 8.5分(满分10 分)的在线高质量节点平分 5,000,000 BTT空投奖励。[2020/9/22]
连接到该区块链的所有节点都不断了解此 WASM Blob 和它为节点提供的用于生成新区块的规则。节点的本机代码中也存在相同的逻辑:所有节点(即运行链的程序)都使用 Rust 构建,这些编程指令也告诉他们如何构建区块。这些指令与 WASM blob 中的指令相同。这么做有什么用呢?
这些节点中有一个开关告诉它们:“如果链上的 WASM 代码比你的本机代码中的新,请忽略你的本机代码,而选择 WASM 代码。如果它们相同,则运行本机代码,因为它更快。”
升级基于 Substrate 的区块链所需要做的,就是上传 WASM Blob 的新版本,然后与之连接的所有节点都将安装到位并遵守新规则。但是,如果随便一个人都能这样更改链的代码岂不是很危险?
链上治理可让任何基于 Substrate 的链的代币持有者提出对链本身的更改议案。该议案可以是像更改整个链的 runtime 这样的翻天覆地的改变,也可以是像更改一个链上的常数这样影响较小的事情,例如更改最大验证人数量。
议案会进入队列,在那里,其他代币持有者可以对其进行支持。如果得到足够的支持,该议案将作为公投被提出,然后可以对其进行投票。每个代币持有者都有使用代币投票的权利,如果他们对投票结果格外重视,他们也可以给投票附加信念值(conviction),也就是通过锁定代币一段时间以获得投票效力乘数。
如果公投通过,则其背后的逻辑将自动执行 —— 无需人工干预。因此,通过更新 WASM Blob 来更改链的 runtime 代码,就是将其提交到系统中并让人们投票支持,而区块链本身将负责其余工作。
原文:https://dotleap.com/upgrading-blockchains-without-hard-forking/
翻译:PolkaWorld
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。