风险提示
风险提示: 律动 BlockBeats 提醒,根据银保监会等五部门于 2018 年 8 月发布《关于防范以「虚拟货币」「区块链」名义进行非法集资的风险提示》的文件,请广大公众理性看待区块链,不要盲目相信天花乱坠的承诺,树立正确的货币观念和投资理念,切实提高风险意识;对发现的违法犯罪线索,可积极向有关部门举报反映。或联系律动tousu@theblockbeats.com。
举报
简体中文 繁体中文
English(Google translation)
登录/注册
热门排行
热门搜索
没有找到搜索内容
查看更多
Substrate的无分叉升级
波卡Polkadot 2020年09月26日 17:30
基于 Substrate 的链有一个绝招,可以轻而易举地做到无分叉升级。
原文标题:Substrate 无分叉升级如此丝滑,谁还用硬分叉?
原文作者: PolkaWorld


不进行硬分叉的话,要如何升级区块链?基于 Substrate 的链有一个绝招,可以轻而易举地做到无分叉升级。


硬分叉


传统上,如果你想升级区块链,例如在比特币或以太坊中添加一些新功能,则必须进行所谓的硬分叉。硬分叉就是指运行支持区块链的软件的实体将其软件更新为较新版本。


之所以称为分叉,是因为每个不升级的人都被遗弃在一个被淘汰的、过时的分叉上,并根据旧代码中的规则生成区块,与新的主链不兼容。一旦这些流浪者更新,他们的节点将重新连接到主链并同步,而分叉将消失。


硬分叉通常是一个非常困难的过程,主要是因为你永远不会真正知道谁在运行软件,而且组织全局代码更新非常困难。在具有合理匿名性的去中心化系统中尤其如此。你得靠运行节点的人员主动查找有关更新的信息,并且必须信任他们在应该更新时进行更新。


Substrate 的方式


Kusama 和 Polkadot 等基于 Substrate 的链对这个问题有独特的解决方案。


基于 Substrate 的链可以升级,而且不用协调大量人员来进行更新某些软件的操作。它是这样做到这一点的:


在基于 Substrate 的链中,链本身上存储着一个叫作 WebAssembly Blob 或 WASM Blob 的东西。此 Blob 包含链构建新区块所需的所有逻辑。链本身的 runtime 包含在此 WASM Blob 中。


连接到该区块链的所有节点都不断了解此 WASM Blob 和它为节点提供的用于生成新区块的规则。节点的本机代码中也存在相同的逻辑:所有节点(即运行链的程序)都使用 Rust 构建,这些编程指令也告诉他们如何构建区块。这些指令与 WASM blob 中的指令相同。这么做有什么用呢?


这些节点中有一个开关告诉它们:「如果链上的 WASM 代码比你的本机代码中的新,请忽略你的本机代码,而选择 WASM 代码。如果它们相同,则运行本机代码,因为它更快。」


升级基于 Substrate 的区块链所需要做的,就是上传 WASM Blob 的新版本,然后与之连接的所有节点都将安装到位并遵守新规则。但是,如果随便一个人都能这样更改链的代码岂不是很危险?


链上治理


链上治理可让任何基于 Substrate 的链的代币持有者提出对链本身的更改议案。该议案可以是像更改整个链的 runtime 这样的翻天覆地的改变,也可以是像更改一个链上的常数这样影响较小的事情,例如更改最大验证人数量。


议案会进入队列,在那里,其他代币持有者可以对其进行支持。如果得到足够的支持,该议案将作为公投被提出,然后可以对其进行投票。每个代币持有者都有使用代币投票的权利,如果他们对投票结果格外重视,他们也可以给投票附加信念值(conviction),也就是通过锁定代币一段时间以获得投票效力乘数。


如果公投通过,则其背后的逻辑将自动执行——无需人工干预。因此,通过更新 WASM Blob 来更改链的 runtime 代码,就是将其提交到系统中并让人们投票支持,而区块链本身将负责其余工作。


原文链接
Polkdot

波卡Polkadot

跟踪波卡最新动态

扫码下载律动APP

专业区块链研究机构 与资讯平台