身份是我们所有人每天(有时是每天的每一刻)如何相互交互的关键部分。有时在我们忘记密码的时候需要一步步找回密码。
因此无论如何,为用户控制在线身份而建立通往dweb成功的基本要求。
但是,身份认证很难。对于可交互操作的分布式而言,没有简单的解决方案。隐私,安全性,有效性,访问控制,监视,GDPR,KYC,匿名。
这就像《盗梦空间》,以上因素都是雷区,这些雷区到处都是牵涉到身份认证项目本身。
但是身份认证系统并不是没有希望。多年来,分散身份基金会(decentralized Identity Foundation)一直在应对这一挑战,像Rebooting the Web of Trust这样的组织也是如此。
还有一直努力在IPFS,如上面构建分散的身份系统IP-ID,Nomios.io,THE IPFS IDM以及新加入的Ceramic Network。
但是,今天我们正在庆祝一个分散的身份协议和服务的发布是在一个不太可能的:Microsoft。
在过去的几年中,Microsoft在开放源代码工具和服务中的地位越来越高,并且现在已经推出了基于标准的分散式身份认证服务ION。
ION已经开发了一年多,它是Sidetree(与区块链无关的分布式PKI协议)的实例实现,它在比特币区块链上运行。
并且交易数据是存储在IPFS上的。
像HTTP一样,IPFS也没有在协议中内置用户身份。但是,IPFS提供了HTTP无法实现的弹性,验证和面向未来的功能:
内容寻址的IPFS意味着ION节点从区块链网站或其他潜在的公共网络拉出CID时不需要关心其中的交易数据位置。这意味着他们可以切换服务器或数据中心,或者新的存储节点可以联机而无需任何代码或基础架构更改,也不需要更改地址。
ION节点也不必担心数据被操纵或篡改,因为基于散列的寻址意味着对数据的密码验证内置在网络请求本身中。
ION中的IPFS
ION是使用JavaScript(特别是TypeScript)实现的,因此微软使用js-ipfs作为Node.js服务是很有意义的。ION汇总了一批身份交易,通过其IPFS节点将其发布,然后将该批次的地址(CID)写入区块链。
为了满足Microsoft使用js-ipfs作为长期运行的流程的需求,我们向所有API添加了可取消的请求,以确保随着请求的产生和处理能正确清理:基础对象,内存,文件以及创建的其他资源以及向下的堆栈。
非常感谢Alex Potsides(@achingbrain)实现了这一长期需要的功能,该功能已在js-ipfs 0.44.0中提供。
对于开发人员来说,这看起来像是可以根据请求设置超时的功能:
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
这是ION的公开测试版,现已在区块链上实时运行。
在发布会上,微软的ION项目负责人丹尼尔·布赫纳(Daniel Buchner)解释了如何在今天的应用程序和服务中运行节点并使用分散身份。
该项目是开源的,建立在开放标准的基础上,您可以开始使用运行自己的节点。
来源:oschina
链接:https://my.oschina.net/u/4513182/blog/4314404