DFINITY 验证互联网身份代码:演练_DFI:DFI.Money

在互联网计算机上,用户可以使用互联网身份密码认证系统登录各种dapp,如NNSdapp、OpenChat等。这样做时,他们相信该服务会妥善保管他们的凭据-但他们可能想直接确认互联网身份真的没有跟踪他们。互联网身份是否真的在运行它声称运行的代码?为了帮助回答这个问题,我们将完成验证步骤。

当然,以下内容也适用于其他容器,但在这种情况下,我们将坚持使用互联网身份。

找出正在运行的内容

互联网计算机上的智能合约,即容器智能合约,是一个WebAssembly模块。

Ava Labs总裁:TradFi对加密货币的兴趣“绝对没有减弱”:金色财经报道,AvaLabs总裁John Wu在Avalanche House演讲时表示,现在可能是加密货币的冬天,但传统金融机构仍在继续影响该领域。Wu表示,摩根大通公司和法国最大投资银行之一的子公司SociétéGénérale-Forge等公司是金融机构在加密货币寒冬期间仍在创新并为更广泛采用加密货币铺平道路的例子,“试图将区块链技术应用于简化现实世界资产或对现实世界资产进行新代币化的机构,他们的兴趣绝对没有减弱”。(decrypt)[2022/7/18 2:20:19]

互联网计算机故意不会让你只需要下载任何容器的WASM代码,因为也许有些开发商想保持其代码私有。但它确实公开了Wasm模块的哈希值,最简单的方法是使用dfx:

DFINITY基金会:已完成ICP与BTC直接集成的第一阶段:1月10日消息,DFINITY基金会发推称,团队正专注于实现ICP与BTC直接集成,目前已完成第一阶段,以解锁BTC上的智能合约。具体而言:

阶段1(已完成):Threshold ECDSA签名(见demo);

阶段2(开发中):BTCICP测试网;

阶段3(开发中):BTCICP完全集成。

官方解释称,Threshold ECDSA之所以是BTC与ICP直接集成的先决条件,是因为为了让这两个网络彼此通信,ICP canister智能合约需要一个ECDSA公钥,并以安全方式签名,以及提交交易到BTC网络。

此前消息,DFINITY关于“ICP与比特币网络集成”的提案于去年9月17日以96.55%的高赞成票率得以通过,ICP将通过应用Chainkey加密技术直接集成比特币网络,为比特币网络提供智能合约支持(该智能合约支持原生持有、发送和接受比特币,无需桥接和跨链),以使得比特币交易有更快的最终性和更低的成本。该提案的实施预计还需要数月的时间,团队将定期向社区汇报项目进展。[2022/1/10 8:37:39]

这里的“控制器”是治理容器的容器ID,这告诉您互联网身份由网络神经系统(NNS)控制,并且其代码只能通过投票的提案进行更改。这很好,如果控制器只是,比如说,我,我可以更改互联网身份代码并接管您的所有身份。

DFINITY聚合平台DSCVR两个月内积累1.4万名用户:DFINITY基金会官方公布其生态项目去中心化社交内容聚合平台DSCVR的进展,自6月推出启动测试阶段以来已积累了1.4万名用户,另外,DSCVR会发布社交代币和服务代币两种原生代币,来给予用户治理权,其中,社交代币可以通过参与平台来赚取,服务代币可以通过为平台提供资金和支持平台发展来赚取,专注为平台创造经济价值,两种代币各有50%的治理权。[2021/8/7 1:40:19]

“模块哈希”是部署的.wasm的SHA-256哈希,所以让我们跟随那个踪迹。

找到正确的提交

由于互联网身份的升级是通过向NNS提出的提案完成的,我们应该在https://github.com/ic-association/nns-proposals存储库中的proposals/network_canister_management目录中找到对此类提案的描述。

DFINITY互联网计算机浏览器插件钱包Plug发布AlphaV0.1.0版本:官方消息,DFINITY互联网计算机浏览器插件钱包Plug发布AlphaV0.1.0版本可让用户访问ICP、Cycles、其他代币,并使用相同的主体ID登录IC应用程序。Plug表示,第一个版本主要为ICP浏览器钱包,用户可以使用它来保存和发送ICP,以及将联系人保存在本地存储地址簿。用户可从GitHub发布的版本中下载并安装Plug,适用于Chrome或Chromium浏览器(如Brave)和Firefox(仅限FirefoxESR、Developer或Nightly)。Plug称接下来将发布V0.2.0、V0.3.0,1至2周内支持Cycles、应用程序身份验证和其他代币。Plug是DFINITY互联网计算机浏览器插件钱包,可帮助用户在互联网计算机上管理其身份和资产。[2021/7/11 0:43:07]

DFI.Money(YFII)Pool5循环挖矿计划已启动 存入YFII挖YFII:根据DFI.Money(YFII)官网信息,目前已按YIP-6方案上线了支持循环挖矿计划的Pool5,每周Vault利润的5% ,之前累计回购的25%,以及YFII Balancer做市池BAL利润(如有)都会被打入Pool5池中,用户存入YFII即可一键循环挖矿YFII。[2020/10/16]

Github的近期NNS提案列表

我们必须找到升级互联网身份的最新提案,不幸的是,该文件夹包含许多容器的建议,并且文件命名不是很有帮助。我通常从底部浏览列表并查看第二列,其中包含创建或修改文件的最新提交的标题。

在这种情况下,倒数第二个是我们关心的:

https://github.com/ic-association/nns-proposals/blob/main/proposals/network_canister_management/20210527T2203Z.md。

该文件列出了基本原理,概述了更改,最重要的是,它表示这bd51eab是我们要升级到的提交。

该文件还说wasm哈希是d4a...c04,它与我们上面看到的相匹配。这很好,看来我们真的找到了最新的升级互联网身份的提案,而且提案实际上通过了。

警告:如果你是偏执狂,不要相信这个文件。没有什么可以阻止提案提议者创建一个指向一个修订的文件,同时实际上在提案中包含不同的代码。这就是为什么需要进行下一步验证的原因。

获取源

现在我们有了修订版,我们可以获取源代码并查看修订版bd51eab:

在最后一行中,您会看到互联网身份团队使用包含提案描述文件名的标记名称标记了该修订。很整齐!

重现构建

README.md具有以下构建指令:

实际上,运行第一个命令就足够了,因为它还打印了哈希值:

成功!哈希匹配。

你不相信我?自己尝试一下。如果您没有为Docker配置足够的RAM,这可能会失败,8GB应该够了。

此时,您拥有了从您面前的代码到运行在https://identity.ic0.app的互联网身份的信任路径,包括前端代码,您可以开始审核源代码。

容器ID呢?

如果您密切注意,您可能已经注意到我们获得了容器rdmx6-jaaaa-aaaaa-aaadq-cai的模块,但我们正在访问https://identity.ic0.app上的Web应用程序。那么这个联系在哪里呢?

将来,我希望互联网计算机上有某种形式的类似于DNS的“好主机名注册表”,用于存储从好名称到容器ID的映射,并且您将能够查询“哪个容器以安全的方式服务rdmx6-jaaaa-aaaaa-aaadq-cai”。

但是由于我们还没有那个,但仍然希望您能够为互联网身份使用一个好听的名称,我们现在对这个映射进行了硬编码。

这里的相关代码是您的浏览器在访问任何*.ic0.appURL时下载的“CertifyingServiceWorker”。然后,这段代码将拦截对该域的所有请求,将其映射到查询调用,然后使用认证变量来验证响应。事实上,映射在代码中:

其他容器呢?

原则上,相同的方法适用于其他容器,无论是OpenChat、NNS容器等。但细节会有所不同,因为每个容器开发人员可能有自己的方式:

传达其容器的来源的位置和修订版建造容器特别是,如果没有可重复的方式来构建容器,这将失败,这就是为什么像https://reproducible-builds.org/这样的项目通常如此重要的原因。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-0:870ms