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

我的网站

当前位置: 主页 > 竞争币 > 以太坊

深入探讨 DFINITY 账户结构与去中心化身份机制

时间:2021-07-13 10:26来源:未知 作者:admin 点击:
原文链接:《对 DFINITY 的去中心化身份、账户与钱包介绍,开发者能如何利用?》 撰文:blockpunk 6 月 3 号,ICP League 联合社区开发者举办了第二期的开发者电话会,探讨了 DFINITY 的底层

原文链接:《对 DFINITY 的去中心化身份、账户与钱包介绍,开发者能如何利用?》
撰文:blockpunk

6 月 3 号,ICP League 联合社区开发者举办了第二期的开发者电话会,探讨了 DFINITY 的底层账户结构,以及上层去中心化身份认证的方式,介绍了两者的联系方式。

本期亮点:

  • DFINITY 的账户与身份是两个系统,其底层依然是加密原生的公钥 / 私钥 / 地址的账户,但在上层建立了去中心化身份系统;

  • 身份与账户并不耦合,账户写在链的底层,而身份是链上运行在 NNS 子网上的智能合约,通过合约与账户建立了联系;

  • 账户更像是银行卡,而身份更像是绑定了银行卡的支付宝,能方便地使用 DFINITY 的 dapp;

  • 身份系统的目的是为了帮助用户更好地管理账户,避免用户直接接触私钥;

  • 在使用 DFINITY 的身份登陆其他 DApps 时,如果 DApps 相关代码更新,容易丢失对这个 DApps 的子账户信息;

  • 开发者可以结合官方的命令行账户钱包实现客户端 / 网页钱包,或者基于互联网身份系统实现 web 3 逻辑下的业务,比如个人存储、链上分身、数据集市。

账户地址

一般用户在互联网身份的包装下并没有接触到转账地址,但 DFINITY 作为区块链系统具备与比特币 / 以太坊类似的账户,账户验证的主要机制是经典的数字签名方案。即从种子派生公私钥对,并将公钥匙处理编码为字符串地址,通过私钥签名发送交易,使用公钥验证鉴别交易。

在选取的算法上,DFINITY 的账户与比特币更相似, 以 Python ECDSA 和 secp256k1 为主,如果使用已有的比特币账户在 DFINITY 上能生成一样的公钥,但在地址表现形式上有所不同。

DFINITY 的账户地址的长度为 64 个字符,这种格式只用于表示普通账户,DFINITY 容器(合约)使用专门的 23 位的容器 ID 表示,并 5 个字符串一组,用「-」隔开,如「h5aet-waaaa-aaaab-qaamq-cai.raw」,加上「https」与「.ic0.app」后可以在浏览器直接访问,如「https://h5aet-waaaa-aaaab-qaamq-cai.raw.ic0.app/」。这是其与以太坊账户体系一个很大的不同。

在 nns.ic0.app 下的 Accounts 下能看到这些账户地址,可以直接用于 ICP 的转账,但目前还没有易用的加密原生钱包。

但官方其实开源了这类钱包的实现方法,在 keysmith 库 中实现了一个命令行钱包。

互联网身份(II)

DFINITY 在账户系统外又开发了一套身份系统称之为「互联网身份(Internet Identity)」,以下简称 II。II 是部署在 DFINITY 的一个智能合约,智能合约的状态存储中对地址与身份建立了映射。

注意的是,身份和钱包账户是两回事。以太坊上钱包地址就是你使用应用的身份,但是在 DFINITY 中,身份是与钱包账户分开,两者不耦合的,但来自同一源头的公私钥对,而且可以互相演化的。 (责任编辑:admin)

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