1. Hi区块链首页
  2. 资讯
  3. 技术指南

聚焦系列4 ▏Elastos DID 侧链

21世纪是互联网的时代,也是数据的时代。

21世纪是互联网的时代,也是数据的时代。不可否认,互联网的发展,为我们的生活带来了极大的便利。但随着互联网的发展,互联网巨头的出现,用户数据和资源被掌握在少数公司手里。互联网之父伯纳斯·李认为:互联网最具价值的地方,在于赋予人们平等获取信息的权利。他希望万维网能够帮助人类整理他们现有的知识,提供他们所不知道的东西。伴随巨头的崛起,互联网逐渐失去了它的本来意义,这种糟糕的状况已经持续很长一段时间了,我们急需对互联网进行修补,但是,目前还只有很少的人意识到这一点并用实际行动努力来修复它。

可喜的是,区块链技术的出现让大家看到了让互联网回归本质的可能性,从而引起了大家的兴趣。目前,区块链技术已经逐渐渗透到了科技和金融领域。区块链的技术发展,市场情绪,监管指导等事务主导着区块链行业的话题,但绝大多数行业和政府仍然不知道,区块链最重要的价值可能是弥补我们已经破碎的互联网。没错,区块链有潜力从根本上重新校准21世纪数据驱动型经济的互联网。遗憾的是,目前大多数区块链项目没有看清楚区块链最本质的意义和其在互联网领域的发展空间,仍然在致力于提高区块链的TPS(每秒交易速度),却忽略了探索区块链最重要的功能。

对于亦来云而言,区块链的信任传递作用是至关重要的,区块链赋予用户去中心和安全的方式拥有其数据和数字资产的权利。我们可以看到,每天都有很多关于数据库被入侵、网络安全漏洞和DDoS攻击的新闻报道。随着全球数以百万甚至数十亿的物联网设备被部署在家庭中,私人数据收集和隐私利用只会随着时间的推移而继续恶化,因为新的攻击媒介使互联网比现在更加脆弱。具有讽刺意味的是,互联网的可靠性与我们依赖互联网的程度之间存在着反比关系,而且,这一趋势越来越明显。如果我们不采取措施来将互联网恢复到去中心化的伊始状态,它将对经济运行和繁荣所依赖的交换、安全和资产所有权体系造成严重破坏。

亦来云致力于打造新一代互联网,采用区块链作为安全、可信的互联网的底层基础架构,以保护用户的权利和隐私;使用URL来调用去中心化的应用程序,而不是数据。因此,Elastos Smartweb的价值在于它拥有能够创建安全的DApps和利用DID(去中心化身份认证)来创建能够验证用户身份的认证机制的能力。

在本期聚焦系列中,我们介绍了DID 侧链,研究它在底层是如何工作的,并探讨它的一些用例。我们还将阐述DID在新一代互联网中保护和分配价值的重要作用以及它与传统互联网的反向兼容性。

Elastos DID:防篡改,互操作识别

毋庸置疑,今天的互联网被巨头们主宰着,如:Google,Facebook,亚马逊等。每个平台都可以通过免费提供可定制的个人帐户来吸引用户来到自己的平台。并且,个人账户已成为各个互联网平台的标准要求,在创建帐户后,用户能够访问这些平台提供的全套服务。通过这种方式,只要用户接受唯一的内部ID,Google,Facebook和亚马逊就会授予其对平台的访问权限。这是互联网巨头提供给我们服务,但这也恰恰就是问题所在:每个账户ID由每个平台单独发布,平台作为一个中心化的数据存储设施,独立管理用户所有数据。因此,个人在浏览不同平台时,需要管理多个互联网身份。同时,Google,Facebook和亚马逊成为拥有大量用户数据信息的中心化机构。如果这些公司中的任何一个或任何其他存储医疗信息,财务记录或其他个性化数据的平台托管组织不安全或受到威胁,其所有个人和敏感用户信息都将因此而暴露。因此,只要有一个中心化的组织拥有大量用户数据,黑客就会继续设计新方法来利用私人数据牟利。更糟糕的是,中心化的ID系统有效地集中了数字财富,这进一步激发了黑客通过任何可能的方式从中心化服务器中提取数据。显然,现在的互联网,数据隐私和用户身份的泄露是互联网架构系统架构上不可避免的两种表现形式,也就是说,我们无法通过顶层解决方案解决这些问题,底层基础设施补救是唯一可行的补救措施。

newsdetail

图:不同的ID由单独的平台发布

随着各种数据、信息泄露事件的曝光,现在大家开始对Google或Facebook向用户发行的通用ID存在质疑。事实上,因为这些身份证仍然由强大的中心机构发布和控制,这需要对发行主体的承诺有极大的信心。令人担忧的是,如果这样一个中心机构无法保护他们发出的ID和存储相应数据的服务器,用户就无法保护自己的数据。但是,与其信任一个强大的实体或团体,也许我们可以信任一个自运行并且没有任何安全漏洞的开源协议,在这样的系统里避免将过多的财富和权利分配给单一实体,同时也消除了被巨头剥削或者安全防护失败的可能性。去中心化开源协议的这些优点实际上是区块链最重要的特性,它们同时也构成了亦来云DID侧链为用户和应用程序提供的核心服务。

通过向互联网上的每个人发行通用ID(UID),区块链自动实现了信任。在基于区块链的交易系统中,点对点的进行交易,不需要第三方来保证交易的顺利进行。同时,利用分布式的矿工群体来保护包含个人数据的链上的每个区块。这样的ID具有可互操作性,也就是说它可以在所有互联网平台上使用, 包括Google,Facebook和亚马逊等。并且ID不存在受第三方控制的情况,因为区块链本质上是分散的。因此,每个用户的数据都是安全可靠的,因为它受到区块链的保护。此外,ID使用户体验革命成为可能,因为互操作性可实现跨平台事务。例如,来自Facebook Messenger的用户, Whatsapp,微信和Google聊天也可以无缝对接,即时地互相发送消息。使用通过亦来云 DID侧链发布的分散ID(DID),用户可以用这种方式进行交互和交易。当然,这只是DID侧链的许多潜在用例之一。

newsdetail

DID侧链如何保障其安全性?

亦来云采用了AuxPoW + DPoS的混合共识机制。在这种共识中,区块由联合挖矿的矿工(任何使用SHA256哈希函数的Token的矿工都可以进行联合挖矿,目前主要是比特币矿工)打包,然后由DPoS超级节点验证和签名。这就是为什么理论上亦来云可以积累和比特币网络一样多的哈希值甚至更多,以确保其区块链安全。亦来云还采用了主链侧链架构,其中亦来云区块链作为底层基础设施,DApps以侧链的形式与主链一起构建。通过这种横向而不是纵向扩展基础设施和应用程序的方式,亦来云实现了近乎无限的可伸缩性,并避免了主链的拥塞。有了这种架构,对TPS的担忧就不存在了。因为有各种侧链原型可以开发来处理特定的交易类型并执行不同的智能合约,并且交易量都分布在侧链网络上。例如,主链处理ELA支付和超级节点选举事务;而DID侧链负责向应用、用户和设备发布去中心化的ID;Token 侧链在不使用智能合约的情况下处理可替换和不可替换的Token的创建和发行;以太坊侧链是以太坊区块链的近似复制品,允许来自以太坊区块链的DApps在亦来云上运行;NEO 侧链运行与NEO兼容的智能合约。在未来,如果有一个不同类型的侧链用例是需要的,可以很容易地开发,从而形成一个可水平伸缩的、多样化的、可持续的DApps生态系统。

此外,由于亦来云主链与比特币联合挖矿,因此可以通过侧链递归的方式实现联合挖矿作为共识机制。例如,DID 侧链与ELA主链联合挖矿,后者又与比特币联合挖矿,从而使DID 侧链具有与亦来云主链一样的BTC哈希能力,这是保护DID侧链发出和存储的数据的一种非常有效的方法。如前所述,DID可以发布给互联网上的所有用户和网站,也可以发布给Elastos SmartWeb上的所有DApps。DID侧链是新一代互联网最有价值的数据的信任区域,这也是其共识机制优先考虑安全性和稳健性的原因。最后,虽然创建DID是完全免费的,但在DID 侧链上存储数据需要支付象征性的交易费用来支持网络运行。

newsdetail

什么是亦来云DID?

去中心化的身份认证(DID)是指由一个自治的、独立的、去中心化的平台发布的ID,它可以作为数字身份所有权的证明。在亦来云上,DID 侧链扮演了这个角色。虽然传统的互联网需要一个授权机构来发布数字身份以避免命名冲突,但在基于区块链的数字支付系统(最显著的是比特币)中,钱包地址作为用户的ID来进行交易。在这种类型的系统中,每个公钥都连接到用于签署事务的对应私钥。该机制支持陌生人之间的身份验证,并且无需第三方确认交易方的身份。亦来云通过DID侧链实现了同样的功能,同时还为每个用户提供了一个唯一的DID以及相应的私钥、公钥和DID ELA地址。在亦来云生态系统中,DID侧链作为数字身份解决方案,因为它免费提供DIDs。使用其发布的DID,用户可以自我识别和自我认证他们自己以及与他们相关的任何交易和数据。因此,互联网上的所有个人都可以真正实现自我数据主权,并且可以在没有中心机构的帮助下,以信任和安全的方式交换Token、电影、音乐、书籍和游戏等数字资产 。

newsdetail

DID的发布过程从生成私钥开始,从私钥生成DID、公钥和ELA地址。私钥作为用户、DApps或设备的数字身份的私有权形式,因为个人只有在能够提供相应的私钥的情况下才允许访问与DID关联的数据。公钥用于验证数字身份的所有权,DID是数字身份的符号标识,类似于传统用户名帐户系统中的用户名。亦来云 DID 侧链提供了一些功能,比如创建DID以及可以与这些DID关联的读写接口。

newsdetail

每个DID都有一组属性,可以以键值属性的形式保存到区块链中。换句话说,用户可以将任何他们想要的信息放在与其DID相关的区块链上。如果用户使用相同的密钥写一个新值,DID侧链将只接受最新值作为有效值,旧值将自动失效。如果用户希望更新特定键的值,则需要获取旧值并在插入新属性之前修改旧值内容,从而在流程中替换旧值。当读取DID时,亦来云 DID侧链读取方法是只返回最新的默认值。

亦来云 DID 原理

DID的最初概念可以追溯到PKI(公钥基础设施)。与传统的PKI系统类似,DID处理表示私有身份的公钥和私钥。与商业银行发行信用卡和借记卡的方式类似,商业银行发行信用卡和借记卡需要一个授权密码才能代表用户完成交易。在DID世界中,私钥是一种自我发行的身份凭证,可以用来代表用户完成交易。借记卡或信用卡上的授权密码保存在中心化的系统中,因此很容易受到攻击。如果存储银行用户名和密码数据的中心化服务器受到威胁或发生故障,用户将无法访问其数据。而DID由区块链提供担保,不需要昂贵且不可靠的中介机构提供服务。

newsdetail

在最简单的情况下,即使正确的KYC已完成接收与相应银行的银行卡,也不能将银行卡用作购买机票的身份证明。个人必须向航空公司付费购买机票并等待航空公司使用自己的KYC流程验证自己的身份。因为银行不与航空公司交换信息,航空公司仅凭银行卡无法确认身份。当个人使用DID应用相同的事情时,阻止银行与航空公司通信的障碍就消除了。基于密码学的当前状态,如果内容使用适当的私钥签名,则个人和组织可以安全地确认内容的有效性。只要接收器(通常是应用程序)被识别,将事务的用户公钥的副本附加为KYC的安全形式,因为公钥只能通过用户私有的哈希输出来生成key,只有该用户有权访问。这种关系和识别机制有效地建立了中央银行和航空公司之间的互操作关系,因为它允许它们使用共享的KYC流程。通过使用一个DID在银行卡和机票上签署交易,用户和企业将会意识到了PKI的最大好处:无缝身份验证和提高交易流程效率。   

因为与身份相关的属性可以存储在每个DID中,所以这个信息总是在区块链上,它既不会消失,也不会被任何人控制。信息存储在一个公链上,任何人都可以通过遍历块的历史来访问它,这就是具有开放、透明和防篡改的区块链的力量。DID所有者可以将DID属性写入任何内容,前提是内容附带他们的唯一签名即其公钥。一旦将新内容写入DID,就不能修改或删除它,此条件保证了签名的真实性,并防止其他用户将伪造的内容复制到没有私钥的DID上。

任何东西都可以写入DID属性,例如:昵称、电子邮件和支付地址等等。就像社交媒体平台一样,将敏感信息存储在DID上是不明智的,因为它对公众可见。但是,对于公共信息,对于第三方证书来说,DID提供了极大便利。例如,大学可以申请他们自己的DID来签署文件。然后,每所大学可以用DID为每名学生签署毕业证书,学生可以在此签名中填写自己的DID属性。之后,第三方可以通过读取来自区块链的签名内容来验证学生和大学的公钥是否合法。从这一点出发,可以在DID的基础上建立系统证明体系。

newsdetail

有人可能想知道将敏感和私有内容存储在DID 侧链上的意义。要解决这个问题,可以对存储在DID属性上的内容进行加密,以控制访问权限。使用此方法,即使个人遍历区块链,他或她也无法解密实际内容。在这种情况下可以使用两种加密方法:

使用密码加密文本,并将加密文本保存在区块链上。这样,用户和第三方将需要一个密码来解密内容。在区块链上保存摘要内容(整个内容的唯一哈希),同时保持用户自己的明文内容脱链。通过这种方式,第三方可以从区块链获取摘要内容的哈希,用户可以向第三方提供完整内容。第三方可以验证提供给他们的内容是否合法,从而对用户提供的内容进行身份验证。

推荐第二种选择,因为它有两个主要优势:

从性能的角度来看,区块链的块读取和写入速度是有限的,并且当链上写入过多数据时,每次使用付费成本会增加。使用摘要哈希可以克服链上DID属性大小的限制,同时提高内容的写入速度并降低成本。

从安全性的角度来看,如果用户的密码不够强,那么在链上存储完整的DID属性仍然会有一定的风险。因此,脱链存储提供了一个更好的选择,因为它只存储链上内容的哈希和完整内容的链。 

综上所述,DID的工作原理如下:

1. 它使用亦来云DID 侧链生成私钥,公钥和DID。

2. 用户使用自己的私钥对内容进行签名,并使用自己的公钥验证签名,从而确保自己的公钥和DID匹配。

3. 已签名内容被写入DID 侧链。

4. 已签名内容是用户DID的属性,可以提供给第三方作为内容确实属于该用户的证明。

newsdetail

亦来云 DID 规范

DID的状态和其中包含的所有信息都可以在DID 侧链上公开获得。为了保护敏感和私人用户信息,建议DApps或其他服务不要求在用户的DID属性中披露敏感信息。

通过为不同的用户使用不同的属性名称可以更进一步。例如,要将用户的电报 ID作为属性之一插入,可以通过电报轻松识别用户,从而消除了他们链上的匿名性。由于哈希值的工作方式,即使使用哈希值作为电报 ID的属性名称也有其缺点。攻击者可以遍历数千个电报ID,试图将这些ID的哈希值与作为DID链上属性的一部分记录的哈希值匹配。为了避免这种情况,建议使用“Property + content”哈希作为属性名称。在这里,属性是用户电报ID的哈希,内容是整个内容的哈希。使用这种简单的方法,既可以保护DID侧链上用户的私有数据,又可以证明内容确实属于该DID用户。

例如,用户想要在DID侧链上输入以下信息:

DID:“iHasdflasdfhDASHLFDcxdADSFASD”

电报号码:“@ mr_woods”

电报ID哈希:

BC9A0629A0053684DB44EB1FC6E56645923A27C43703A9280AB96A02785E166C

内容:“我喜欢在现实生活中使用DID”

内容哈希:

CEE915B410B37A35FDCE69E353584C69254DBE60F677FC4F5BA201588F300272

(电报ID +内容)哈希:

51BDB382F26AB6F153B6692E152829B4E87C739CB20DE1DC614E4016606D1C62

因此,如果用户想要将上述DID放在DID 侧链上,它可以使用以下键值对来存储它:

{ “51BDB382F26AB6F153B6692E152829B4E87C739CB20DE1DC614E4016606D1C62”: “CEE915B410B37A35FDCE69E353584C69254DBE60F677FC4F5BA201588F300272” }

使用键值对执行以下操作:它允许任何用户遍历DID侧链以获取上述数据,但公众无法获得电报ID和内容。只有用户“@mr_woods”才能解密上述消息,并通过向第三方提供解密后的内容来证明内容实际上是他的。然后,所有第三方必须做的是获取用户@mr_woods提供给他们的内容的哈希值。从那里,他们可以很容易地确定两个哈希是否匹配。如果哈希匹配,则证明内容是用户的内容。完整的内容可以存储在其他位置,例如Elastos Hive,Dropbox或Google Drive。

为了让两个陌生人有效地确认彼此的身份,三方握手可以完成信息的交换并验证对方的握手是否有效。

1.Alice将自己的DID、公钥和随机数RandomNum1发送给Bob。

2.Bob将自己的DID、公钥、“RandomNum1”签名和随机数“RandomNum2”返回给Alice。

3.Alice验证了这一点,然后将“RandomNum2”签名发送回Bob。

4.Bob最终验证了Alice的身份。

这样就完成了对两个陌生人身份的验证,无需第三方的介入。

newsdetail

亦来云 DID 使用场景

虽然DID在与用户标识和身份验证相关的应用程序中提供了许多功能强大的用例,但它也可以用于为任何类型的应用程序数据提供所有权证明。使用DID,用户可以安全地拥有数据,而不需要任何第三方机构。

下面的示例显示了处理跨多个应用程序的进程的解决方案之一:

登录过程:

1. App1向App2发起一个带有随机数的身份验证请求,后者已经集成了DID(例如,大象的钱包)。

2.用户签署随机数并授权访问。

3.App2授权请求并将用户DID和随机数的签名发送回App1。

4.App1验证签名。

newsdetail

DID如何在用户,可信第三方和DID侧链之间工作:

1.创建一个DID。

2.返回DID。

3.向第三方(可信赖的合作伙伴)提供身份证明。

4.在由第三方验证之后,DApp向用户提供内容哈希以及签名。

5.用户使用自己的DID对内容哈希进行签名,并将其记录在DID 侧链中。

6.DID侧链将交易ID返回给用户,作为经过身份验证的凭据。

7.DApp请求第三方文档或内容。

8.用户通过证据向DApp提供所需的明文信息、事务ID和第三方签名。

9.DApp验证受信任的第三方的内容和签名,作为信息合法的证据,并由可信第三方提供给用户。

newsdetail

此外,DApp用户还可以与DID系统绑定,以便在应用程序中生成的任何用户数据都与用户的DID相关联。在此过程中,DApp首先使用系统来唯一地标识用户,然后用户生成一条绑定信息并将其附加到DID侧链上。当然,这个过程可以在App中自动执行。一旦绑定完成,每次用户使用App时,App都可以使用用户的DID来签署任何信息,并且可以将这些信息写入DID 侧链作为证据。

newsdetail

亦来云 DID 服务

当应用程序想要实现复杂类型的业务逻辑时,直接与亦来云DID 侧链对话是相当不方便的。在这种情况下,亦来云DID服务提供了最适合于每个特定业务场景的方法。这为DApp开发人员提供了一个易于使用的界面。

亦来云 DID服务可以通过两种方式使用:

1.使用亦来云DID服务的二进制包:当前版本是.jar包(作为Java服务编写)。因为它是REST API服务,一旦服务运行,就会公开可以从任何编程语言中使用的不同方法,从而允许用户和开发人员灵活地与任何类型的应用程序中的DID侧链交互。

2.提供公共服务器接口:公共服务器接口可以由亦来云团队或任何希望提供此服务的社区成员或企业来操作。这样,应用程序开发人员就不必自己运行任何东西。相反,它们可以直接与指向亦来云DID服务的URL对话。

亦来云 DID服务是一个完整且独立的服务,世界上任何人都可以部署它来访问其他开发人员。亦来云DID服务作为位于DID侧链和实际应用之间的中间层。它的目标不是改变现有的传统应用程序的业务逻辑,而是为DID侧链提供一个简单的接口,而无需应用程序开发人员设置自己的DID侧链节点。该系统引入了一个全新的业务模型,不同的应用程序可以无缝对接并提供给用户。

newsdetail

正如前文所说,传统互联网已经越来越不适应我们的发展需求,它迫切地需要修复和改变。虽然亦来云 DID侧链无法解决现有互联网的所有问题,但它在使企业和数字平台向互联网上的个人,应用程序和设备发布通用DID方面发挥着至关重要的作用。当然,在亦来云的基础架构中还有Elastos Carrier和Elastos Hive等功能的相互协调,它们与DID侧链一起工作,为当前互联网的存在的问题提供了一个全面的解决方案。这三个组件共同构成了一个由DApps组成的智能网络,我们会在之后的聚焦系列中进行剖析。

总而言之,在传统的互联网中,用户围绕着应用程序; 而在Elastos Smartweb上,应用程序围绕着用户。

newsdetail

newsdetail

声明:登载此文出于传递更多信息之目的,观点仅代表作者本人,绝不代表Hi区块链赞同其观点或证实其描述。
提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。