深度解析:NFT 如何赋能身份识别?
自 2017 年 CryptoKitties 亮相以来,非同质化代币(NFT)变得越来越受欢迎。虽然游戏行业目前拥有最多的 NFT 活跃用例,但身份识别等其他领域也在逐步开始使用非同质化代币技术。
NFT 代币拥有的元数据独一无二,仅与特定独特资产产生关联。因此,NFT 无法被任何其他代币取代,因为其他所有代币——即使是遵守同一代币标准(ERC-721)的令牌——也无法取代其记录的元数据。
数据存储和共享能力带来了诸多好处,信息数字化已成为日益增长的趋势,但同时也引发了许多对个人数据安全性的质疑。近些年出现了许多黑客和个人信息泄露事件。用户并不(也不应该)一直依靠第三方的外部服务器来存储个人数据。
新机遇
区块链试图为此提供解决方案,以兼顾可访问性、隐私性和安全性。这项举措主要得益于非同质化代币(NFT)的发展,可以专门用来存储、管理数据身份和数据。
NFT 包含特定商品或资产的独特信息,这使得 NFT 成为区块链上用于识别和认证的一个很好的用例。每个人都拥有独特属性和身份信息——NFT 可以使病例、个人档案、教育信息、地址等信息数字化,让数据由自己轻松操控。随着区块链的应用越来越多,越来越多人将会使用 NFT 存储个人数据。这项技术拥有光明前景。
谈及数字身份管理,区块链会使公私机构运营更加高效,改善服务质量。区块链身份管理提供了一个私密、安全、功能强大的软件生态系统。但尽管区块链技术显著改善了数字身份管理,但当下仍然存在一些问题:可用性,(丢失的)私钥处理方式,用户数量。此外,大多数用于数字身份管理的区块链都将部分数据存储在第三方系统中(比如将信息存储在计算机或服务器内存中的钱包)。
本文中,我们将引入一个新的概念,IdToken。IdToken 的使用让身份识别更加安全、快速,可重复使用。
传统身份管理模式
传统身份管理模式存在一些问题,例如,往往需要委托中央机构,无法保证透明度的问题。为这些用例开发新的身份管理模型已成为重要趋势。而在区块链生态系统中,并没有传统上中心化收集身份信息的组织。区块链账本不可改变,可以验证并确保用户、交易、消息的合法性。区块链认证通过智能合约完成,不需要第三方验证交易。这可以降低成本,同时提高安全性和私密性。
在传统身份管理中,最受欢迎的区块链软件无疑是 Hyperledger Indy. 利用 Hyperledger Indy 进行数据管理的例子有很多,如 Sovrin(去中心化全球自主权身份公共事业),MyData(与 Sovrin 联合构建自主权身份和认证机制的计划)等。Indy是一个分布式账本,专门为去中心化身份认证而设计,拥有完整的开源规范、术语和设计模式,有助于助推去中心化身份解决方案的提出。Hyperledger Indy 是管理数字身份问题的一个不错的方案,但 Indy 并没有完全解决问题。
Indy 存在的问题
1. 用户信息存储在钱包或者简历夹中,并没有存储在区块链上,容易丢失。
2. 如果用户更换公司,该用户需要向原公司申请所有身份信息,耗时耗力。
3. 每次申请需要拥有去中心化标识符(Decentralized Identifiers, DID),也就是说,每次申请都需要新建 DID 用户名和密码,占据了区块链很大内存。
4. DID 长度过短有可能造成安全数据泄漏,引发安全问题。
针对这些问题,我们以 IdToken 为例,对以上问题做出了回答,下文我们将予以详细讨论。(融合了 IdToken 的 Hyperledger Indy 称为 IdChain)
IdToken 身份管理模式
为了更好地理解 IdToken 和 IdChain 的发展,举例来说,至少需要考虑三个要素、用户、公司和机构(为用户提供身份属性保证)。在 IdChain 中,每个用户的注册方式和模式都是一样的。用户想要在 IdChain 中注册,需要提供个人资料(即姓名、姓氏)和生物识别数据(指纹或面部识别)。生物识别数据经过加密哈希转换后成为私钥,私钥存储在个人设备的加密引擎中,生成私钥后生成公钥。
在 IdChain 中注册完成后,账本中需要创建一个新区块,代币智能合约生成器会执行并自动生成。在新区块中,用户可以插入,并用公钥存储和加密所有个人数据。用户可以使用私钥(生物识别数据的哈希值)在 IdToken 中读取和插入新的信息;若想授予某人只读数据访问权,用户必须分享公钥。
这种模式的优点是,用户可以在 IdToken 里面插入所有信息。在 Hyperledger Indy 中,钱包的很多的数据都存储在本地设备(智能手机,电脑)上,可能会导致信息丢失。但在 IdChain 中,即使用户的个人设备丢失,仍可以使用生物识别数据访问,免去的中央机构的干预。
如果用户想要让其公司从机构方获得自己的身份信息,需要进行以下步骤:
1. 用户和公司在 IdChain 上拥有账号。用户用自己的 IdToken 向公司表明身份,身份由其所在机构认证。
2. 用户向公司申请提供 IdToken 访问权限,提供其公钥。公司收到请求后,验证 IdToken 中的可验证凭证,接受请求。
3. 用户和公司的身份得到验证(数字签名)。
4.身份验证后,公司向用户发送请求,要求提供企业决定是否雇佣用户所需的信息。
5. 用户接受并发送 IdToken(只包含公司所需信息,并由机构进行验证)。
6. 公司能够读取用户数据,用其公钥解密其 IdToken。
7. 此系列步骤中,每一个操作都会有时间戳。这样一来,双方都知晓对方身份,能够安全可靠地进行操作。
IdToken 的优点
- 无需专有软件或基础设施。IdChain 使用公共区块链,用户不需要投入大量资金建立技术基础设施进行身份管理。
- 数据可撤销。身份数据可以被数据所有者撤销。假如用户更换了信用卡号,数据所有者可以在区块链上撤销以前/无效信用卡号数据。
- 全球兼容。用户在世界任何地方都课题存储和分享身份信息。用户数据无论在什么国家都可以进行访问和使用。如果用户更换新公司,只需将 idToken 的访问权限开放给新公司即可。
- 所有信息为区块链原生,无需本地存储。
- 安全性和可验证凭证。个人信息都将经过哈希加密,安全地存储在 IdToken 中,无需担心安全性问题。此外,IdToken 独一无二,不可复制。
这种新数字身份管理和证书分发方法十分有用,经且安全,提高了隐私性、安全性和效率。此外,idToken可以很取代纸质信息交换,并加快用户和公司的身份识别速度,消除传统数字身份管理中无法解决的公开性问题。该模式另一个重要特点是提高了区块链的可用性。IdChain 使用嵌入在便携式设备(如智能卡等)中的加密引擎,将身份信息与特定设备(如计算机等)分离。生物识别密钥作为第二种认证因素,解决了 Indy 认证系统中缺乏认证机构的问题。
未来发展
未来仍然存在隐私问题,还要进一步发展生物识别数据(除指纹方案外)在区块链中的使用。此外,还需要开发工具,将IdToken 内的数据量进行分区,使所访问的数据仅为有必要访问的数据,提高区块链的可用性和实用性。
在不久的将来,我们可以预见一个安全性极高的身份管理模式,解锁、分享 NFT 代币的更多可能,证明物品所有权和身份真实性,为用户身份安全提供保障,同时确保资产/代币的所有权以一种安全、可信的方式进行分享。