最近,BlockOne 提出的数字身份认证解决方案:“创造安全数字身份的系统和方法”,在美国的司法辖区内获得了专利授权。
Block.one CTO Dan Larimer, 也就是我们在中文社区常说的 BM 同学表示,这一方案在 Voice 发布之前实现了。有社区成员猜测,该解决方案为 Voice 提供了必须的功能。而 Voice 何时发布,也是 EOS 爱好者们常常提及的话题。
简介
在 B1 提出的数字身份认证解决方案中,想要验证用户“是谁”,不需要用像身份证、护照等这类现有的文档资料来证明,用户只需要一台存储了私钥的智能设备(比如,手机)来验证身份。私钥会存储在设备的硬件之中。
这一方案,能够用去中心化的方式实现可靠身份验证,其中包含了一些主要的部分:
- 创建可验证的数字身份
- 证明设备属于个人
- 将设备与私钥绑定
- 创建包含可识别特征的用户数据信息
- 生成安全的数字文件
- 将用户生成的数据信息上传到可审计的公链之上
在系统运行原理部分,我们会看到,这几个部分是如何组合起来,共同形成可靠身份验证的。
这一系统架构是什么样子?
在专利文档中,列出了系统的架构:
1_lT6-DUl76gzZnCDEGdReXw.png区块链系统
这里,展示了一个区块链系统(用100数字编号来表示),以及一个哈希树(用数字编号120来表示)。
如上图所示,区块链系统 100 用于创建和验证数字身份,这也是该方案中的主要部分。
区块
在区块链 100 之中,包含了多个首尾相连的区块,例如110a, 110b, 110c 就表示三个区块。
区块中的hash值
在每个区块中,都会包含之前区块的 hash,例如,102a, 102b, 102c 是之前区块的 hash 值。
这些区块之中,每个区块都包含了一个哈希树(用数字编号120表示)的根哈希值(哈希树 120 为默克尔树),如 104a, 104b, 104c 这些所表示的就是根节点哈希值。而在哈希树 120 之中,112a 和 112b 这些事务会被加入到区块 110b 之中。114a 和 114b 被合并入 104b 这一根节点 hash值之中。
-
添加到区块链系统(用100表示)的每个区块 110(比如110a,110b,110c),都是对发生的所有事务的确认。
-
可以使用 SHA, SHA-1,…SHA256 或者 DSA等hash函数,计算区块的hash值。
用户行为
用户向区块链添加区块将获得奖励。用户必须互相竞争才能创建区块 110。用户必须要提交工作证明在所提交的信息之中,他所提交的信息才能被认为是有效的。无论共识协议是什么,系统都可以兼容该协议,包括但不限于权益证明共识机制(proof-of-stake)。
数字身份创建系统的工作原理
image.png那么,对于该区块链系统的架构有了基础的了解之后,数字身份又是如何创建的呢?
在上文中的系统示意图中,我们看到,借助于数字编号为 200 的这一数字身份创建系统,用户 202 创建了一个安全的数字身份,用图中的编号 220 来表示。
解释下图中的各部分所表示的内容:
-
200 是数字身份创建系统,包含了如下内容:用户 202, 一台认证设备 204, 认证数据 206,以及区块链 208。
-
202 表示的是使用这一系统的用户。
-
204 表示一台验证设备,其中,210 是设备 204 所存储的私钥(例如,像国际一定设备识别码 IMEI 这一数字),212 表示的是在这台设备上的应用程序
-
用户 202 可以输入验证信息如口令、密码或者通过刷脸、指纹等生物识别的方式,验证自己身份,使用认证设备 204。
-
用户使用私钥 210,在设备 204 上使用认证程序 212 创建了认证数据信息:206。这里多解释一下,用户想要使用 212 这一程序,需要验证用户的指纹、语音、虹膜、面部等生物特征
-
验证程序 206 还可以包含 GPS 数据、环境声音等附加信息。这些附加信息为保护数字身份增加了额外的安全性。
-
用户 202 拍摄并上传自己的照片,建立起了自己的数字身份 220。
-
区块链 208 会对用户上传的照片打上时间戳,并通过照片,记录用户 202 与其他人的所有关系。
通过上述内容,我们可以对数字身份创建系统有了基础的了解。
解决方案的工作流程
该解决方案的工作流程,包含四项要点。
1. 身份验证,用于识别和个人相关联的设备
创建一种验证方式,用于对设备进行认证。
认证形式可以有多种,可以选择密码认证、音频签名或生物识别输入中的至少一种方式进行。
这里所说到的生物识别输入,包括指纹或面部识别。
2.创建可验证的数字身份
在设备中,包含一个存储器,用于储存指令序列;以及一个处理器,被配置为执行指令序列。执行指令序列时,处理器会对设备及其所有权进行验证。
除此之外,这一过程还包括将设备与存储于设备之中的私钥相绑定。
3.生成安全的数字工件,并上传至可审计的公链之中
使用设备对用户生成的首个数字信息条目进行数字签名,通过这种方式,创建了一个安全的数字工件。
然后,所生成的数字信息条目将添加到一条可审计链的公共账本之中。
用户生成的第二个数字信息条目,会包含用户的可识别特征。第二个数字信息条目会与用户生成的首个数字信息条目一起进行hash计算,在可审计的区块链中创建链接。
这两个条目之中,包含了通过该设备生成的至少两个不同用户的实况照片。
4.验证用户的数字身份
这主要是通过对可审计链进行审核来完成的。通过验证用户的可识别特征、私钥、签名和与设备的链接。创建用户所生成的第一个数字信息条目。
通过比较用户生成的首个数字信息条目以及用户生成的第二个数字信息条目,使用用户的可识别特征来对第二个条目进行验证。
如上,我们大致了解了 B1 的数字身份专利方案,欢迎留言,一起继续探讨。
参考资料
本文编译改写参考如下材料:
https://en.cryptonomist.ch/2019/08/16/block-one-patent-eos/
EOS42 期待你的了解和支持
EOS42 为 EOS 主网创世节点之一,账号是 eos42freedom 欢迎为我们投票,表达您的支持。
🍎网站:https://eos42.io
🍋币乎: https://bihu.com/people/365621
🍑Medium: https://medium.com/@eos42
🍏知乎: https://zhuanlan.zhihu.com/eos42
image
网友评论