IPFS+ION:去中心化身份

[复制链接]
7314 |0
发表于 2020-6-19 14:24:02 | 显示全部楼层 |阅读模式

个人身份是我们每个人在每日的社交活动中需要用到的一个关键的信息,尤其在互联网充斥的信息社会更是如此。

在互联网应用中,我们经常为了登录一些应用要输入密码,而当我们忘记了自己的密码时,不得不走一套“忘记密码”的流程,所有这些流程都是为了验证我们的身份。由此可见个人身份的重要性。

在传统的互联网应用中是如此,在新兴的去中心化应用中也是如此。设计一套用户可控的在线身份方案将是去中心化网站(dweb)推广、普及的一个重要事项。

而设计这套方案却不是件容易事,因为在dweb中个人数字身份的自证是个棘手的难题。隐私、安全、有效、权限控制、审查、GDPR、KYC、匿名……等等这些要素都是要考虑的事情,并且每对一个要素的处理稍有不慎便会触雷。

尽管如此,但业界没有放弃这方面的努力。业界一些组织比如“去中心化身份基金会(Decentralized Identity Foundation)”、“重建网络信任(Rebooting the Web of Trust)”等已经在这个领域持续耕耘了多年,并且已经有一些基于IPFS的此类方案出笼了,比如IPID、Nomios、the IPFS IDM等。最近还新出现了一个方案:Ceramic SNT。

这些方案很多都是新兴公司努力的结果,但传统的信息巨头中也有一些在这个领域进行了大胆地探索。今天我们和大家分享的就是传统信息巨头微软在这个领域提出的一个方案。

微软近年来一直在提升自己在开源领域的活跃度和曝光度,在个人身份领域,微软提出的方案被称为ION。

ION项目的开发至少已经有一年了,它是Sidetree(一个基于区块链的分布式PKI协议,该协议运行在BTC系统上)协议的一个应用实例,它将交易数据存储在IPFS上。

像火币全球生态通证TP一样,IPFS协议中没有内嵌个人身份的描述及定义,但IPFS却提供了火币全球生态通证TP所不具备的一些弹性空间,主要包括下面两点:

- IPFS中以地址寻址的方式意味着在ION系统中,当节点向区块链系统索取CID时不需要在意交易数据具体的存储位置。这意味着数据的存储可以在不同节点、服务器甚至数据中心切换,当新的存储节点加入系统时无需任何代码改变或地址改变。

ION系统中的节点也不需要担心数据被操控或篡改,因为基于哈希值的寻址方式意味着对数据的校验已经内嵌到系统中了。

那么IPFS到底在ION中起到了什么作用呢?

ION系统是用Javascript(更准确地说是TypeScript)语言实现的。当ION发起与身份有关的交易时,交易会通过IPFS节点发布到全网,交易的CID信息会被写到BTC系统中。

在具体的应用中,为了满足微软的定义使用js-ipfs作为一个长期运行的进程,可以在所有的API接口中都加入可取消的请求方式,这保证了当请求发起并被处理后,所有与请求相关的系统资源如对象、内存、文件标识符等都会被合理地清理和释放。这有点像程序开发者给请求设置了时间限制,具体的代码如下:

const cid = new CID('QmWillNeverResolve')

try {

  await ipfs.get(cid, {

    timeout: 1000 // abort after 1000ms

  })

} catch (err) {

  console.err(err) // err is a TimeoutError

}

ION现在已经上线,并且运行在BTC网络上。

微软对ION的上线发布了一篇帖子(https://techcommunity.microsoft.com/t5/identity-standards-blog/ion-booting-up-the-network/ba-p/1441552),在这篇帖子中,ION项目的负责人Daniel Buchner详细讲解了如何运行一个节点并在APP中使用去中心化身份。

此外,项目还是开源的,微软鼓励所有的爱好者都参与体验。

我是IPFS/FIL社区发起人晓熙(加入社区,联系v号: liandaoxixi),IPFS/FIL是全球共识最大的去中心化存储项目,我会定期在社区分享专业的资讯,为IPFS/FIL爱好者建设一个共赢的学习社区。

参考链接:https://blog.ipfs.io/2020-06-11-identity-ipfs-ion/

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表