基于全球 SSI 标准和参考实现的 L2 密钥库提案

本文为机器翻译
展示原文

我们提出了一个基于Sidetree的密钥存储Layer 2网络,作为一个公共设施,由可信的以太坊生态系统实体(如Layer 2运营商和支持以太坊的大型企业)部署和运营,使用W3C去中心化标识符(DIDs)作为标准化的跨链和低成本非托管密钥管理堆栈。

背景

以太坊Oasis社区项目L2标准工作组最近发布了一份报告"W3C DIDs和VCs如何帮助以太坊的三大转型"。该报告与最近@EugeRe的两篇帖子(1和2)保持一致。在我们的报告中,我们讨论了如何将W3C去中心化标识符(DIDs)和可验证凭证(VCs)整合,以解决以太坊在经历其三大转型(通过L2 rollups进行扩容、通过智能合约钱包增强钱包安全性、提高隐私性)时面临的挑战。以太坊的这些转型需要改变用户管理身份、密钥和地址的方式。DIDs和VCs作为去中心化身份生态系统的核心组件,为这些挑战提供了解决方案。

我们认为,DIDs提供全球唯一、可解析的标识符,而VCs则可以验证身份、属性或资格的声明。通过利用DIDs和VCs,以太坊可以改善身份管理、密钥轮换和恢复,以及隐私保护。DID文档可以存储跨网络的地址,并促进密钥管理,包括社交恢复。此外,零知识证明可以在使用DID文档中的密钥进行以太坊生态系统内外交易时增强隐私。

几种基于Sidetree协议的DID方法(一种具有参考实现的Layer 2 DID标准)非常适合以太坊生态系统,提供无许可、区块链锚定、可扩展和低成本的解决方案。Sidetree协议由去中心化身份基金会(DIF)开发,可以在各种区块链网络上创建和管理可扩展的DIDs,使其成为一种独立于区块链的解决方案。这允许DIDs被锚定到不同的分布式账本技术,如以太坊主网。

关键技术方面

  • Layer 2协议: Sidetree作为一个层次建立在现有的区块链网络之上,将DID操作与基础层的交易限制分离。这允许提高可扩展性和降低成本,相比于直接与区块链交互进行每个DID操作。

  • 独立于区块链: 该协议旨在与任何支持数据锚定的区块链一起工作,提供在选择底层网络时的灵活性。流行的实现存在于比特币(ION)和以太坊(Element)等区块链上。

  • 去中心化PKI (DPKI): Sidetree利用去中心化的公钥基础设施,DID控制者持有与其DIDs相关的私钥。这使用户完全控制自己的数字身份。

  • DID操作: Sidetree支持的核心操作包括创建、更新、恢复和停用。这些操作允许对DIDs及其关联的DID文档进行生命周期管理。

  • 内容寻址存储(CAS): Sidetree利用像IPFS或Filecoin这样的CAS系统来存储DID文档和其他相关数据。这确保了数据的不可变性和通过分散网络的可用性。

  • 批量处理和锚定: 为了提高效率,Sidetree节点将多个DID操作批量处理,并将其锚定到底层区块链的单个交易中。这大大降低了交易成本,提高了吞吐量。

  • 冲突自由可复制数据类型(CRDTs): Sidetree采用CRDTs来管理DID文档更新,并以去中心化的方式解决冲突。这确保了网络上数据的一致性。

在Sidetree协议中,更新DID文档是一个多步骤的过程,总结如下:

  1. 生成更新负载:DID控制者创建一个更新负载,包括以下组件:
  • didSuffix:正在更新的DID的唯一后缀。

  • revealValue:前一次更新承诺的已公开值,用于验证。

  • patches:一个JSON补丁操作数组,指定要对DID文档进行的修改。

  • updateCommitment:下一次更新操作的新承诺值。

    1. 提交到Sidetree节点:DID控制者将更新负载提交到Sidetree节点。

    2. 批量处理和锚定:Sidetree节点收集多个更新操作和其他DID操作,将它们批量打包到一个锚定文件中,并将该文件锚定到底层区块链。锚定文件包含操作的哈希值和其他元数据,但不包含实际的操作数据。

    3. 存储操作数据:Sidetree节点将完整的更新操作数据以及其他操作,存储在一个"块文件"中,并通过像IPFS或Filecoin这样的内容寻址存储系统(CAS)提供访问。区块链上的锚定文件包含对此块文件的引用。

    4. 解析:当另一个实体想要解析DID并获取最新的DID文档时,他们查询Sidetree节点。

    5. 检索和应用更新:Sidetree节点从区块链检索相关的锚定文件,按照对块文件的引用找到CAS上的数据,并按时间顺序应用所有更新操作到原始DID文档,以构建最新版本。

    Sidetree协议还结合了几种安全措施,以确保DID操作的完整性,并缓解潜在的攻击向量:

    1. 去中心化公钥基础设施(DPKI)

    • DID控制者持有私钥:每个DID控制者都拥有与其DIDs相关的私钥,完全控制自己的身份数据。这消除了集中式密钥管理系统存在的单点故障或被破坏的风险。

    2. 承诺方案

    • 更新承诺:每个更新操作都包含对下一次更新的承诺,在连续的更新中建立了加密链接。这可以防止未经授权的修改或篡改DID文档的历史记录。

    • 公开值:与前一次更新承诺相关的公开值确保只有拥有相应私钥的DID控制者才能发起新的更新。

    3. 批量处理和锚定

    • 区块链锚定:将多个DID操作批量打包到锚定文件中,并将其锚定到区块链,提供了一个防篡改和可审计的操作历史记录。

    • 内容寻址存储(CAS):在像IPFS或Filecoin这样的CAS中存储操作数据,进一步增强了不可变性,防止未经授权的修改。

    4. 密码学操作

    • 数字签名:操作使用DID控制者的私钥进行签名,确保了真实性和不可否认性。

    • 哈希:广泛使用哈希函数来创建承诺、链接操作和生成标识符,增加了另一层安全性和完整性。

    5. 冲突自由可复制数据类型(CRDTs)

    • 确定性冲突解决:CRDTs使网络能够处理对同一DID文档的并发更新,并以一致和可预测的方式解决冲突。

    6. 网络冗余和去中心化

    • 多个Sidetree节点:由不同实体运营的多个Sidetree节点降低了单点故障或审查的风险。

    • 点对点解析:通过查询任何Sidetree节点来解析DIDs,进一步增强了去中心化和弹性。

    缓解攻击向量

    • 未经授权的更新:承诺方案和需要DID控制者的私钥进行更新,可以防止对DID文档的未经授权的修改。

    • 数据篡改:区块链锚定和CAS存储确保了数据的不可变性,使篡改过去的操作或DID文档变得很困难。

    • 审查:网络的去中心化特性,拥有多个节点和点对点解析,可以缓解审查或拒绝服务攻击的风险。

    • 单点故障:将私钥分散给DID控制者,以及Sidetree节点的冗余,降低了单点被破坏的风险。

    建议

    鉴于上述情况,我们建议部署和运营一个基于Sidetree的L2密钥存储网络,作为一个公共设施,由可信的以太坊生态系统实体(如L2运营商和大型企业)运营,作为一个标准化的跨链和低成本非托管密钥管理解决方案,而不受任何当前正在考虑的专有解决方案的限制。

    我们设想这种方法具有以下有益特征:

    1. 跨链DID解析:在与不同的以太坊网络(主网、测试网或其他L2)进行交互时,用户的DID可以通过L2 Sidetree网络进行解析。这允许这些网络上的应用程序和智能合约访问用户的DID文档并验证其密钥。

    2. 低成本密钥管理操作:密钥轮换、恢复和其他密钥管理操作可以在L2 Sidetree网络上批量进行,大大降低了单个交易成本。

    3. 用于隐私的ZK证明:可以使用零知识证明有选择地披露有关用户密钥和DID文档的信息,同时保护隐私。这允许在不暴露敏感数据的情况下,在不同的以太坊网络之间进行安全和私密的交互。

    4. 智能合约钱包和DIDs:智能合约钱包可以与DIDs关联,为这些钱包提供安全和去中心化的密钥管理。DID文档可以指定钱包的控制密钥,允许使用多重签名和社交恢复机制。

    5. 互操作性和标准化:通过利用W3C DID标准和Sidetree协议,L2 Sidetree网络确保与以太坊生态系统中的其他DID系统和应用程序(如Polygon ID)实现互操作性,促进了跨链管理密钥和身份的无缝和用户友好体验。

    6. 避免供应商锁定:通过使用来自W3C和DIF的全球身份标准,以及开源参考实现和独立的Sidetree节点运营商,生态系统可以以非常低的甚至零成本将跨链身份/密钥操作作为一个公共设施。

    我们欢迎并期待收到对此建议的意见。

相关赛道:
来源
免责声明:以上内容仅为作者观点,不代表Followin的任何立场,不构成与Followin相关的任何投资建议。
喜欢
收藏
评论