当前位置:首页 > 物联网 > 区块链
[导读] 自从日前微软宣布推出去中心化身份识别系统,“去中心化身份”(DID)成为区块链领域最火热的概念之一。继 “去中心化交易所”、“去中心化应用”之后,“去中心化”的战火终于蔓延到了身份识别系统上,但

自从日前微软宣布推出去中心化身份识别系统,“去中心化身份”(DID)成为区块链领域最火热的概念之一。继 “去中心化交易所”、“去中心化应用”之后,“去中心化”的战火终于蔓延到了身份识别系统上,但绝大多数人对于这个全新的概念依然是一头雾水。

· DID 本质是什么?

· DID 是由什么算出来的?

· 计算 DID 的过程是什么?

虽然 DID 有各种各样的应用场景,但 DID 本质上其实是一个地址。DID 和传统的比特币、以太坊地址的相似之处在于:它们都是根据一个私钥算出来的地址。不同私钥能生成同一个地址的几率在现实世界中接近于零。

而 DID 和传统地址的区别在于,DID 的计算过程中加入了某些特定信息,包括这个 DID 使用的加密算法类型、哈希算法类型等。这些算法类型作用于 DID 生成的不同步骤,如加密算法是规定用户私钥和公钥是如何计算的,哈希算法是规定用户信息被计算成哈希的时候使用什么算法(之后会有详细解释)。DID 的所有者可以使用此 DID 执行各种操作,包括验证身份、授权交易等。可以说,DID 将在未来成为互联网基础设施,任何需要授权或验证的行为都可以通过 DID 完成。现在一般的授权验证行为都是通过输入密码、提供有效证件,或通过第三方公证完成,而 DID 的普及将使得一切都可以在移动端用私钥签名完成,这将让人们的数字生活,甚至线下的衣食住行都将得到极大便利。

功能如此强大的 DID,技术工程实现却并不复杂。

其实,生成 DID 的过程,和下厨房烹饪一道菜的过程非常相似。需要准备如下:

· 厨具:生成 DID 需要的外部工具

· 食材:DID 计算的基础原材料

· 烹饪方法:如何搭配这些厨具和食材,具体需要执行的步骤

接下来详细解析如何通过六个步骤生成一个 DID,让 DID 不再神秘。

一套厨具:签名算法、哈希算法、DID 类型

生成 DID 的第一步是选择一套合适的厨具。这些信息会嵌入在生成的 DID 中,这样第三方验证的时候,就知道应该选用对应的工具来验证。

签名算法: 用于生成用户的私钥和公钥的算法。目前 Forge SDK默认支持两个签名系统选项:secp256k1 和 ed25519。

哈希算法: 用于计算数据哈希的算法。哈希函数有点像黑盒子,它能将任意长度的数据转换为固定长度的数据。对于相同的输入,不同类型的 harsher 将具有不同的输出。Forge SDK 的默认哈希算法是 SHA3 256。

DID 类型: 选择完签名算法和哈希算法后,最后一个要选择的是 DID 角色类型。这指定了 DID 的角色类型,告诉验证方这个 DID 代表的是应用程序、个人还是设备等。下面是我们当前支持的角色类型。

这三样东西是我们生成 DID 时需要的厨具。优秀的寿司师傅总是离不开一把好刀,因为厨具会在对食材的每一次处理中留下痕迹;同理,我们选择的厨具,也会在之后生成的 DID 中留下自己的影子。

食材:私钥、公钥

现在大家已经准备好必要的锅碗瓢盆了,接下来让我们看看如果要做一道 DID 大餐需要些什么原材料。

最核心的食材是私钥。私钥是一组需要仔细保管的数据。任何持有你密钥的人都可以重新生成你的钱包,并用钱包做包括转账、批准交易等各种事情,所以大家一定要小心保管好自己的密钥信息。

公钥是根据加密算法从私钥计算出来的,通常由于第三方或公众以验证签名。公钥是公开的,所以如果别人知道了你的公钥,但不知道你的私钥,不会对你的信息安全造成任何威胁。

一般来说,DID 的生成只需要公钥。但是由于公钥是从密钥计算出来的,所以即使只给出密钥,DID 也可以生成。也就是说,私钥或公钥任意提供一个,就可以生成 DID 了。但出于安全考虑,我们一般建议大家提供公钥,而保管好自己的私钥信息。

作为 DID 的原材料,私钥/公钥直接决定了 DID 的内容,就像寿司使用的鱼,决定了这道寿司是鳗鱼寿司,三文鱼寿司还是八爪鱼寿司。

烹饪方法

介绍完厨具和原材料之后,我们来看看应该如何烹制这道 DID。

在我们介绍 DID 的烹饪方法前,请确定你已经准备好哈希算法、签名算法、DID 类型,并拥有了一组密钥和公钥。接下来按照烹饪方法的步骤,就可以得到一个 DID 了。

步骤 1

使用哈希算法为公钥算一个哈希值 hash1。

步骤 2

取 hash1 的前 20 个字节作为 hash2,放置一旁待用。

步骤 3

在 hash2 前面添加 DID 角色类型字节,得到 hash3。

步骤 4

使用哈希算法把 hash3 算出一个哈希值,得到 hash4

步骤 5

将 hash4 的前 4 个字节和 hash3 合并起来,生成 hash5。

步骤 6

使用比特币 base58 方法对 hash5 进行编码,得到 DID。

恭喜你顺利生成了一个自己的 DID!

总结

现在你已经体验了 DID 生成的全过程,一共只需要六步,比曹植的七步诗还少一步。

虽然后端的技术支持比较复杂,但是用户和开发者使用过程中完全感受不到。例如,在 ABT 钱包中,创建一个以 DID 为基础的个人钱包仅需要四步;而对于开发者来说,整个 DID 的生成过程就是自动集成在 Forge SDK 里的。

DID 让用户可以无需额外的注册流程,而直接使用 DID 中的信息,整个过程不需要第三方参与。Forge SDK 将所有用户地址、资产地址的计算全部自动优化成了 DID,因此 Forge SDK 开发出来的应用天然享有 DID 的优势,彼此交流将更将畅顺。Forge SDK 把 DID 融入到去中心化应用的核心逻辑中,推动 DID 成为互联网基础设施之一,各种应用互联互通。在 Forge SDK 和 DID 的共同作用下,区块链未来已来。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭