织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 比特币 > 比特币资讯

DFINITY 核心开发者:如何构建没有历史包袱的区块链? (5)

时间:2021-09-18 17:00来源:未知 作者:admin 点击:
首先我们讲公钥。我们只需要一个公钥,这是 48 个字节,就可以验证所有的交易。对照一下以太坊,以太坊 Open Ethereum 的客户端要下载 400 GB 的数据才能够

首先我们讲公钥。我们只需要一个公钥,这是 48 个字节,就可以验证所有的交易。对照一下以太坊,以太坊 Open Ethereum 的客户端要下载 400 GB 的数据才能够开始进行计算,这完全不是一个维度的事情了。

DFINITY 核心开发者:如何构建没有历史包袱的区块链?

Internet Computer 的节点我们也是采取了分片的做法,这里为了区分一下我们把它叫做子网,也就是我们没有母网,每个子网相互之间可以交换信息,但是它不需要知道对方子网的历史区块。

DFINITY 核心开发者:如何构建没有历史包袱的区块链?

这里面有一个子网有一点特殊,我们把它叫做 NNS,它主要的功能就是创建新的子网。它可以为另外的子网运行 DKG,它通过运行 DKG 产生一个新子网所需要的公钥。绿色的公钥是绿色子网所需要的,它最初创世纪的区块是在 NNS 这个子网上面进行计算得到,所以 NNS 就可以创建其它子网所需要的公钥,它在这个基础上再做一个证书,这个证书就是证明子网公钥的正确性。

我们在跟用户进行交互的时候,返回的信息,然后用户需要验证,它就只需要知道 NNS 的公钥,加上子网的证书,加上子网的签名,一整套验证就可以验证信息的安全性和正确性。这个验证是非常简单的,我们在浏览器里面通过 JavaScript 就可以做到。所以用户这边是完全没有新的要求,只需要通过浏览器。

DFINITY 核心开发者:如何构建没有历史包袱的区块链?

在节点方面,每个子网节点参与运算,有时候它会发生故障,有新的节点,或者我们知道有的节点被攻破了,我们需要用新机器来替换它,这些过程都是由子网自己完成。只有子网的创世区块是由 NNS 完成,子网本身运行自己的 DKG。

DFINITY 核心开发者:如何构建没有历史包袱的区块链?

我们刚才提到了它的作用,一方面是替换节点,甚至当子网有非常严重破坏的时候,比如说丢失了大部分的节点。

这时候我们怎么办呢?通常区块链就没有办法修复,但是我们可以通过 NNS 再运行一次 DKG,然后加入新的节点进来,然后通过 Catch-up packages,从之前停止的状态继续进行下去,虽然这时候因为 NNS 运行 DKG 得到的子网公钥发生了变化,但是这个不影响跟用户之间的交互,因为子网的签名最终是通过它的证书来保证正确性,只要证书被传到了用户,用户就可以通过 NNS 的公钥来验证。我们还可以做一些升级它的协议这样一些管理,自动化的管理应用过程。 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容