身份认证是我们每天(甚至是每时每刻)网上冲浪互动的关键部分。
而忘记密码时,我们又不得不一次次重复“找回密码”的步骤。
所以无论如何,建立用户自控的在线身份认证是dweb想要成功的基本要求。
然而身份认证并不简单。
对于可互操作的分散式digital assertions本身而言,身份认证没有捷径。
隐私,安全性,有效性,访问控制,监控系统,GDPR(通用数据保护条例),KYC,匿名化……这些因素就好比《盗梦空间》中导致梦境破碎的雷区,而这些盘根错节的雷区影响着身份认证项目本身。
然而,身份认证生态系统并不是没有希望。多年来,Decentralized Identity Foundation(分散身份基金会)一直在应对这一挑战,像Rebooting the Web of Trust这样的组织也是如此。
IP-ID,Nomios.io,THE IPFS IDM,以及最近加入的 Ceramic Network都为在IPFS之上构建去中心化身份系统而努力。
但是,今天我们要庆祝的是微软发布的分布式身份协议和服务!(对, 没错就是微软!)
在过去的几年中,微软在开放源代码工具和服务中的地位越来越高,并且现在已经启动了基于标准的分布式身份服务ION项目。
该项目已经开发近一年,它是Sidetree(与区块链无关的分布式PKI协议)的实例实现,可在区块链上运行的同时,将交易数据存储在IPFS上。
像HTTP一样,IPFS也没有在协议中内置用户身份。但是,IPFS提供了HTTP不能提供的灵活性,可验证性和future-Proofing的功能:
IPFS的内容可寻址性意味着,用户将CID从区块链或其他基础公共网络中拉出的ION节点时无需留意交易数据所在的位置 。
用户可以任意切换服务器或数据中心,或者新的存储节点,可以联机而无需任何代码或基础架构更改,也不需要更改地址。
ION节点也不必担心数据被操纵或篡改,因为基于散列的寻址意味着对数据的加密验证已内置在网络请求本身中。
ION中的IPFS
ION是通过JavaScript(特别是TypeScript)实现的,因此微软使用js-ipfs作为Node.js 服务是顺理成章的。
ION通过批量汇总身份交易,通过其IPFS节点将其发布,然后将该批次的地址(CID)写入区块链。
为了满足微软将js-ipfs作为长期运行过程的需求,我们向所有API添加了可取消的请求,以确保随着请求的产生和处理,正确清理基础对象,内存,文件处理以及创建的其他资源。
非常感谢Alex Potsides(@achingbrain)实现了这一长期需求的功能,该功能已在js-ipfs 0.44.0中提供。
对于开发人员来说,这看起来像是可以根据请求设置超时的功能:
立即尝试ION
ION的公开测试版现已在区块链上实时运行。
此外,在微软的ION发布会上, 项目负责人丹尼尔·布赫纳(Daniel Buchner)解释了如何在今天的应用程序和服务中运行节点并使用分散式身份。
ION项目是开源的,建立在开放标准的基础上,您可以运行自己的节点。