在互联网计算机上,用户可以使用互联网身份密码认证系统登录各种dapp,如NNSdapp、OpenChat等。这样做时,他们相信该服务会妥善保管他们的凭据-但他们可能想直接确认互联网身份真的没有跟踪他们。互联网身份是否真的在运行它声称运行的代码?为了帮助回答这个问题,我们将完成验证步骤。
当然,以下内容也适用于其他容器,但在这种情况下,我们将坚持使用互联网身份。
找出正在运行的内容
互联网计算机上的智能合约,即容器智能合约,是一个WebAssembly模块。
互联网计算机故意不会让你只需要下载任何容器的WASM代码,因为也许有些开发商想保持其代码私有。但它确实公开了Wasm模块的哈希值,最简单的方法是使用dfx:
RWA借贷协议Goldfinch面临贷款违约:金色财经报道,Goldfinch是一个向现实世界链下业务提供贷款的 DeFi 协议,在一笔500万美元的贷款中,肯尼亚摩托车公司 Tugende 违约。据报道,Tugende 违反了贷款协议的条款,导致违约金额占 Goldfinch 总锁定价值(TVL)的约4%。
这次违约将导致 Senior Pool 的资产净值减记3.95%。由于过去一年 Senior Pool 的年化收益率为7.81%,这意味着在这次120天减记结束时,过去12个月的整体年化收益率将仅为正1.50%。
Goldfinch 是一个去中心化信用协议,旨在促进金融包容。该协议使用现实世界资产作为抵押,进行加密货币贷款。Goldfinch 社区向全球企业提供贷款,业务重点为新兴市场。[2023/8/9 21:33:54]
DFINITY生态隐私邮件DApp Dmail以1000万美元估值完成种子轮融资:12月1日消息,DFINITY基于区块链的隐私邮件DApp Dmail宣布以1000万美元估值完成种子轮融资,Hashkey Capital、Draper Dragon、Outliers Fund、Parallel Ventures、FBG Capital、PAKA、Spark Digital Capital等参投,其他天使投资人包括Distrikt的早期探索者Nick Myers、DFINITY社区的创始成员Dukakis Tejada、Daniel James、Sunny Gar等。据介绍,作为一个基于区块链的邮箱,Dmail被定位为一个为Web3开发基础设施的工具。新融资将用于拓展团队,进行市场营销,并为邮箱开发新功能。[2021/12/1 12:42:33]
这里的“控制器”是治理容器的容器ID,这告诉您互联网身份由网络神经系统(NNS)控制,并且其代码只能通过投票的提案进行更改。这很好,如果控制器只是,比如说,我,我可以更改互联网身份代码并接管您的所有身份。
去中心化计算平台DFINITY代币ICP空投将以12个月分发:去中心化计算平台DFINITY的互联网计算机宣布此前为用户空投的ICP代币将以12个月等额的方式分发,申领者需要通过AML/KYC程序,这些代币将转账至用户的CoinList账户,第一批ICP将会在创世解锁后收到。[2021/5/10 21:44:28]
“模块哈希”是部署的.wasm的SHA-256哈希,所以让我们跟随那个踪迹。
找到正确的提交
由于互联网身份的升级是通过向NNS提出的提案完成的,我们应该在https://github.com/ic-association/nns-proposals存储库中的proposals/network_canister_management目录中找到对此类提案的描述。
动态 | 多中心化云创业公司Dfinity已筹集1.02亿美元:据coindesk援引TechCrunch周三的报道,多中心化的云创业公司Dfinity刚刚筹集了1.02亿美元,以进一步开发“互联网计算机”。风险投资公司Andreessen Horowitz旗下的a16z以及Polychain Capital领投了此次融资。 其他投资者还包括Multicoin Capital,Scalar Capital,SV Angel,Aspect Ventures,Village Global,Amino Capital,KR1,以及Dfinity的社区成员。[2018/8/30]
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/这样的项目通常如此重要的原因。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。