宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 以太坊 > 正文

对DFINITY的去中心化身份、账户与钱包介绍 开发者能如何利用?

作者:

时间:1900/1/1 0:00:00

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

6月3号,ICP League 联合社区开发者举办了第二期的开发者电话会,探讨了 DFINITY 的底层账户结构,以及上层去中心化身份认证的方式,介绍了两者的联系方式。点击“阅读原文”可以查看视频回放。

本期亮点:

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

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

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

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

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

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

韩国检方要求国际刑警组织对Do Kwon发布红色通缉令:金色财经报道,韩国检察官驳斥了Du Kwon声称他没有在逃的说法,并要求国际刑警组织对Terraform Labs的联合创始人发出红色通缉令,国际刑警组织的红色通缉令呼吁全球执法,可以防止个人获得签证,限制跨境旅行,并“在引渡、自首或类似法律行动之前临时逮捕一个人”。[2022/9/19 7:06:02]

一般用户在互联网身份的包装下并没有接触到转账地址,但 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/”。这是其与以太坊账户体系一个很大的不同。

Pantera Capital和Alameda Research对DeFi协议Balancer进行投资:DeFi协议Balancer(BAL)宣布加密货币投资机构Pantera Capital和Alameda Research通过直接从Balancer Labs中购买BAL代币对Balancer进行了投资,新资金将帮助加快Balancer v2的开发。目前,Balancer未披露投资金额。Balancer表示,Balancer v2将显著改善交易成本、简化开发人员集成和用户体验。[2020/11/10 12:09:48]

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

但官方其实开源了这类钱包的实现方法, 在 keysmith 库(https://github.com/dfinity/keysmith)中实现了一个命令行钱包

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

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

LollipopSwap创始人:中心化交易所对DeFi感到恐惧,笨拙地借机推广平台币:Defi项目LollipopSwap创始人在Medium表示,中心化交易所对于DeFi感到恐惧,并尝试通过挖矿模式推销他们的平台币和平台稳定币。据悉,Lollipopswap已于9月8号9点正式开放新的流动性挖矿池,包括DAI-ETH、UMA-ETH、COMP-ETH、LEND-ETH、YFI-ETH、SUSHI-ETH、LINK-ETH和BAND-ETH。[2020/9/10]

在使用 II 时,用户会获得名为“user number”的一串数字,这其实是 II 合约内部的一个索引。这串数字来自一个63位的字符串,一般五个一组用“-”隔开,被称为“Principal ID”。

用户身份其实是 II 智能合约中的一个实例化对象,II 是 DFINITY 推动的标准,目前 DFINITY 上的应用都可以通过引入几行代码,来允许用户使用 II 标准登陆应用。II 是一种中心化身份的标注,使用了具备高度安全性的双要素验证;并能在使用不同 dapp 时为用户创建衍生身份,来保护用户隐私防止被跨应用追踪账户;并能更方便的管理多账户,无需账户密码,也无需基础学习门槛高的私钥,通过面部识别、指纹扫描或 YubiKey 等安全终端轻松地使用。

OKEx徐坤:没有业务支撑盲目推进代币激励 对DEX项目长期发展并不友好:8月18日午间,OKEx首席战略官徐坤发微博称,关于DEX,链上链下结合模式其实是对透明性和安全性做了一定程度的妥协,但这种妥协未必是有意义和有价值的。Uniswap目前只适合小型散户交易者交易,机构交易者进来难度很大。如果没有业务支撑而盲目推进代币激励,对于项目的长期发展并不友好,很容易造成揠苗助长的情况。[2020/8/18]

首先介绍一下 WebAuthn,符合了 W3C(万维网联盟)的 Web 验证的标准,也就是除去账户密码/私钥验证之外,还需要安全硬件的验证,这是为了避免钓鱼网站与恶意软件的侵害。因此在使用 II 时,用户必须具备安全硬件,这也是困扰早期用户的一个门槛,但目前我们的大部分手机、笔记本都装载了安全芯片,也可以外接 YubiKey。

WebAuthn 验证流程:

用户启动登录过程后,DFINITY 的 II 智能合约将生成一个随机质询并将其发送到用户的浏览器;

然后浏览器将质询转发到安全设备,用户在安全设备上进行交互验证,如指纹解锁、面部识别或轻触 YubiKey;

完成验证,使用保存在安全设备中的私钥签名;

然后将验证后签名的质询发送回 II 智能合约,II 智能合约进行验证,完成登陆。

USDC地址被拉黑引发业内对DeFi行业发展的担忧:7月10日消息,USDC地址被拉黑一事引发了加密领域对当前正蓬勃发展的DeFi行业的担忧。DeFi借贷协议Aave首席执行官Stani Kulechov表示,想象一下,如果现在有USDC正放在Maker Vault中,那么可能发生的情况是,CENTRE Consortium使用黑名单功能,将资金锁定在Vault库内,这样就破坏了DAI与美元的锚定汇率。与此同时,一些业内人士认为,尽管DAI作为一种美元挂钩稳定币可以很好地抵御金融风险冲击,但如果抵押品可以被列入黑名单,那么意味着DeFi协议底层有可能受到影响并遭到破坏。注:Maker Vault是MakerDAO的托管兑换服务,用户将加密货币放入其中就会生成DAI代币。(Decrypto)[2020/7/10]

在我们使用 II 授权登陆一个 DApp 时,II 会自动产生一个子身份专门用于使用该 DApp。这为用户创建了多个链上分身,防止其身份被追踪;同时 DFINITY 对不同容器交互时都需要分别进行验证,一个容器无法盗用其授权权限与其他容器交互,来转走代币,而这种事曾在以太坊上发生过。

同时,II 合约也对身份进行了一个抽象,因此即使你的私钥只存储在设备的安全芯片中,并不传输,但你能把多个设备绑定在一个主账户下,使用多个设备直接登陆主账户发送任意操作。这是一种对权限的管理,具体需要官方公布更多细节。

DFINITY 在账户系统外又开发了一套身份系统称之为“互联网身份(Internet Identity)”,以下简称“II”。II 是部署在 DFINITY 的一个智能合约。

原始 ID 的产出:

首先对随机数 Rand 进行 Bip39,然后产出种子文件,再推断出私钥;

通过私钥产出一个 DER 格式的公钥,长度为65字节;

对公钥进行sha224得到28字节的字符串,然后加上一个字节判断其类型,产出29字节的原始 ID 以下称“blob”;

这里添加了一个字节可以表示其的类型,“0x01”为系统保留,“0x02”代表了这是主要 ID,即用户创建的;“0x03”表示该共钥是从主要 ID 派生的,一个主要 ID 具备一个空间,可以注册很多个派生 ID,去使用不同的 DApp;“0x04”为匿名 ID,不用签名也可以发送请求。

此时,对 blob 的两种处理方式分别产出了用于 II 合约的63字节的“Principal ID”,和32字节的钱包账户“Account ID”。

Principal ID 的产出:

对 blob 添加4个字节小大的 CRC-32 的纠错码(error detection code);

使用Base32对结果进行编码,每组五个字符,用“-”隔开;

也可以使用 ASCII 表示,最大 63 个字符。

Account ID 的产出:

在 blob 前加入 Account 类型的特定字符串,后面加上序号;

对这个字符串计算 sha224,得到 28 字节结果;

对结果添加 4字节大小的 CRC-32 的纠错码,得到 32 字节结果;

转化为64个字符的字符串。

Account ID 就是我们在交易所中使用的转账地址,而 Account ID 也可以衍生出多个子地址,之需要修改 blob 后的序号即可,被哈希后就能得出不同的地址,这个过程与之前的派生是有区别的。

目前 DFINITY 官方鼓励开发者使用 II 去登陆 DApp,而 II 对身份与地址的衍生与存储都运行在智能合约中。

而在 DFINITY 的合约中 Persistent 状态是允许被更新的,因此合约可以被升级,但这并不是一个持久化的状态,因此有可能会在更新中损失数据。这就意味着,在 II 合约自身,或者 DApp 合约更新后,可能会损失数据,导致过去使用 DApp 的身份丢失。

这是所有开发者在使用 II 时需要注意的风险,但是这种情况往往是在使用 DApp 时会遇到的,而你持有的 ICP 代币不会受到影响。

目前 DFINITY 的体验与加密原生用户中间有一个断层,II 对现在的加密原生用户的使用习惯来是超前的,因此大家很难接受。消除这个断层,改进这个机制是非常重要的一个工作,比如为 keysmith 命令行钱包做可视化页面等。

还可以在登陆机制上进行探索,目前的 WebAuthn 登陆有一定硬件门槛,不是所有人都能很轻松的使用。比如使用 metamask 登陆,比如通过邮箱去做密码学验证。

在开发 DFINITY 钱包时可以更好的去结合加密原生的账户地址与 DFINITY 的多身份系统。做一个比喻,账户地址像是银行卡账户,DFINITY 的 II 是微信的账户,也可以使用这个微信账户去登陆不同的应用,每个应用你都具备一个身份。

因此将 MetaMask 还不足够,DFINITY 的体验与 Web3 中描述的“用钱包去完成所有的登录的操作”不同了,应用的连接感更像传统互联网的“一键登录”。

同时,在不同的公链或平台上都有去中心化身份的项目,而因为没有深度耦合, DFINITY 官方推出的 II 也可以早期的身份项目,开发者可以着手去改进它,或者实现一个全新的更好的身份系统。

同时也可以在 II 的上层搭建更多应用,比如为每一个账户建立独立的存储空间,作为数据确权的中心,或者去优化多身份系统,从多身份中衍生出交互的多样性。

标签:DFIFINAPPDAPPEDFISolyard Finance中币交易所app官网版dapp币在哪个交易所

以太坊热门资讯
为什么有人将「区块链法币」称作最大的泡沫?

近日,在国家监管政策趋严和牛市即将结束的冲击下,比特币的价格几度暴跌,其他主流币和山寨币也随之下跌,整个币圈一片哀嚎。新韭菜死于追涨,老韭菜死于抄底,没有人能逃得过被割的下场.

1900/1/1 0:00:00
观点:解读抗 MEV 型 DEX 领域的创新实验

去年夏天 DeFi 进入爆发式增长时,我们见证了许多 DEX 聚合器,如 1inch、 Matcha、 ParaSwap 等,它们在我们的日常交易生活中发挥了重要作用,让我们在加密交易中获得更好的价格、支付更低的费用成本.

1900/1/1 0:00:00
法国和瑞士将试行央行数字货币 两国之间进行跨境支付

法国银行、瑞士国家银行、国际清算银行创新中心和一个由埃森哲牵头的私营部门财团将进行一项实验,使用批发中央银行数字货币(CBDC)进行国际支付。法国银行副行长Sylvie Goulard说,跨境支付将在法国和瑞士的银行之间进行.

1900/1/1 0:00:00
金色观察丨交易所公链何以影响NFT生态系统?

金色财经 区块链6月19日讯  2021年可谓是当之无愧的“NFT元年”,“万物皆可NFT”这句话似乎已经成为社区的标志性Solgan.

1900/1/1 0:00:00
金色观察|萨尔瓦多之后 巴拉圭或将比特币作为法币

金色财经报道,据6月25日消息,萨尔瓦多国会当地时间周三批准了总统有关比特币的提案,该国将成为世界首个将比特币作为法定货币的国家。比特币将从9月7日起开始成为该国法定货币,其与美元的汇率由市场决定.

1900/1/1 0:00:00
金色早报 | MicroStrategy或出售10亿美元股票以购买比特币

头条 ▌MicroStrategy或出售10亿美元股票以购买比特币金色财经报道,MicroStrategy在向美国证券交易委员会提交的S-3文件中表示,随着时间的推移,其可能会出售价值10亿美元的股票.

1900/1/1 0:00:00