johns

發布於 2022-07-02到 Mirror 閱讀

Ceramic协议简介

** 欧易OKX交易所注册链接(关闭翻墙软件打开链接,永久返佣20%。安卓手机注册完成可直接下载app,苹果手机注册完成后,淘宝买或者自己注册海外id下载app。记住一定是先完成注册再下载app!!):https://www.ouyicn.art/join/2223414239**

作者推特:

https://twitter.com/johns20178

Ceramic 是用于开放数据网络的智能文档协议,ceramic的核心开发商3box labs今年2月完成了由顶级加密基金Multicoin capital 领投的3000万美金A轮融资。

连接没有孤岛的网络

这篇文章介绍Ceramic,这是一种新的无许可协议,用于创建和访问不可阻挡的文档,它是无孤岛的连接、可互操作网络的基础。Ceramic 非常适合存储需要保证信任、跨平台互操作性和多方消费的信息。

由于参与者无需任何集中式服务即可为任何类型的信息创建和解析文档,因此 Ceramic解锁了 Web 上所有平台和服务之间的信息互操作性。

尽管 Ceramic 可用于存储任何类型的签名信息,但它非常适合用作通用路由层,用于存储分散标识符 (DID) 及其相关元数据、数据模式、Web 服务使用策略、访问控制权限和其他文档共同实现了连接钱包、应用程序、数据库和服务的生态系统之间的无限互操作性。以下是 Ceramic 的可能性:

  • 便携式自我主权身份
  • 共享数据模式和定义
  • 可互操作的用户和应用程序数据存储
  • 打开网络服务,无需新帐户或登录

有关更多信息,请直接跳转到下面的用例或示例部分。

Ceramic 的全球互操作资源生态系统允许开发人员构建具有前所未有的模块化、信任和规模的可组合应用程序。因此,Ceramic 是建立一个更加互联、透明和以用户为中心的互联网的值得信赖的基础。

了解有关Ceramic的更多信息

继续阅读下面的完整陶瓷概述,或探索这些额外资源:

陶瓷概述

  1. 背景
  2. Ceramic文件
  3. Ceramic用例
  4. Ceramic生态系统
  5. Ceramic生态联盟

1. 背景

尽管有云服务、SaaS 工具和 API 业务的好处,但构建功能齐全的产品或服务仍然极其复杂、脆弱和有限。即使是简单的应用程序也需要部署和维护后端、保护和管理用户身份和数据,以及将各种 API 和服务捆绑在一起。早期做出的选择通常会将开发人员与供应商利用的技术提供商建立长期关系。使产品的增值与其他产品和服务互操作通常是困难且不可预测的。所有这一切都是因为基础设施、信息和访问控制对于每个单独的应用程序都进行了不必要的复制和孤立。

为了解决这些重复、碎片化和不安全的问题,互联网需要一个灵活的公共基础设施,参与者可以在其中存储可验证的信息,这些信息在所有应用程序中都是普遍可发现和可访问的。通过将标识符、相关数据和服务保存在公共域中,而不是在孤立的应用程序服务器上,所有参与者都可以通过 Web 访问它们。在这个模型中,参与者直接定义和控制他们的资源,与他人共享(或不共享)这些资源,并将他们的身份和元数据带到体验中。

除了为用户提供更多代理和控制权之外,此模型还极大地简化了开发人员的体验。开发人员无需花费精力管理数据和将各种服务捆绑在一起,而是可以专注于其产品的增值。每个应用程序都可以简单地查询身份以获取所需的信息和访问权限。数据可以轻松地在产品之间共享,而不会影响隐私。可以根据用户的喜好实时组合体验。双边服务注册和协议可以取消,取而代之的是服务的无摩擦支付渠道。

所有这些都使产品和服务无需执行非关键功能、协调服务和数据、担心用户信任和责任,或者通过许多摩擦点争先恐后地吸引和留住用户。相反,开发人员可以简单地构建一个产品,将其插入到现有的用户、数据和服务生态系统中,这些生态系统可以无缝协同工作。随着时间的推移,这将导致开发更有针对性的微服务和微应用程序,而不是我们今天看到的庞然大物。

要求

可组合的网络需要一个无需许可的、以身份为中心的互操作性协议,为应用程序提供所需的所有信息,以轻松发现、路由、访问和交互用户的资源,而不管用户携带哪个钱包,哪个应用程序创建了数据,或资源所在的位置。该协议必须:

  1. 无许可地注册可互操作身份 (DID);
  2. 用多个私钥私下控制这个身份;
  3. 公开将公钥和帐户与此身份相关联;
  4. 公开或私下将资源与此身份相关联;
  5. 设置资源权限;
  6. 对资源进行访问控制;
  7. 可互操作地签署和/或加密信息;和
  8. 撤销资源的私钥、公钥和权限。

除了这些基本要求之外,旨在解锁互操作性的协议还应允许应用程序和服务:

  1. 发布元数据和定义;
  2. 发布数据模式;和
  3. 发布政策和服务协议。

最后,旨在简化构建强大应用程序的解决方案必须易于开发人员使用。它必须适合现有的思维和开发模型,不增加额外的负担,并且可以很好地适应新的用例和复杂性。

2.Ceramic文件

Ceramic 提供了可验证文档的通用图表。陶瓷文档是经过签名的、只能附加的、防篡改的对象,存储在IPFS中,使用IPLD进行编码,并锚定在一个或多个区块链中。由于其基于 IPFS/IPLD 和各种区块链的混合设计,Ceramic 的文档图具有互操作性、可扩展性、无权限和低成本(取决于区块链锚服务)。

Ceramic 文档是一种灵活的原语,可以建模以表示许多事物,但是每个文档都必须符合协议支持的特定*文档类型。*Doctypes 指定规则来管理对文档的有效更新,例如签名和状态转换。这允许 Ceramic 节点以分散的方式验证给定文档的状态。

Ceramic 当前支持三种标准文档类型3IDsaccount-linkstiles。下面,找到使用这些文档类型的一些常见方式。如果您的用例不适合这些文档类型之一,您可以通过在Ceramic 规范存储库上提交问题来将新的文档类型添加到协议中。

了解有关Ceramic 文档的更多信息。

去中心化标识符 (DID)

DID 是全球唯一身份,用于在 Ceramic 网络上签署文档,并与任意链下服务和数据进行交互。更具体地说,它们是抽象的、与密钥无关的接口,用于唯一标识实体、可互操作地对信息进行签名和加密、授权对服务的身份验证/访问控制以及存储对其他资源的映射。Ceramic 不假设 DID 代表什么样的实体,因此它们可以是用户、组织、应用程序、服务、设备等。DID 可以由一个或多个私钥控制,从而提供跨钱包和平台的灵活性和互操作性。

3ID 身份 在 Ceramic 上第一个也是最广泛使用的 DID 方法是 3ID。超过 15,000 个 3ID 已在生产中使用。其他符合W3C DID 规范的 DID 方法可以作为附加文档类型添加到网络中。

了解有关3ID的更多信息或查看示例

帐户链接

帐户链接是 Ceramic 支持的第二种文档类型。帐户链接是可验证的公共映射,允许 DID 证明它拥有不同的公共加密身份,该身份也能够签名,例如公钥、智能合约或其他 DID。

了解有关帐户链接的更多信息。

Tiles

Tiles 是 Ceramic 支持的第三种文档类型,是最通用的文档形式,可用于表示几乎任何类型的信息。Tiles 是一种通过一个或多个 DID 进行可验证声明的方法。Tiles可以作为独立的对象,也可以引用其他Tiles。这允许各种图块之间的可组合性,创建可验证、可变信息的关系图。有关如何在Ceramic上使用Tiles的一些示例,请参见下文。

了解有关瓷砖的更多信息。

模式 Tiles的第一个用例是创建可验证的、全球可用的数据模式。模式图块允许用户定义世界上任何地方的任何人都可以使用的规范模式,从而鼓励多方围绕标准模式汇聚。这使得架构图块本身就很有价值。模式图块还用于为其他图块中包含的信息提供结构。因此,架构图块是其他图块的核心构建块,例如下面的图块。架构图块可以被认为是其他图块的模板。

Metadata Tiles 用于表达有关 Ceramic DID 的其他元数据或上下文。DID 至少需要一个 DID 管理器磁贴,以便它们可以由一个或多个私钥控制。其他元数据需求将根据 DID 表示的实体类型和用例而有所不同。

  • DID 管理器:包含允许一个或多个私钥控制 DID 所需的信息
  • 公共配置文件:提供有关 DID 的上下文,例如配置文件元数据(名称、图像、徽标等)
  • 身份链接:允许其他人验证非加密标识符是否由 DID 拥有,例如社交链接(twitter、github 等)或 DNS 链接
  • 资源链接:允许其他人验证资源是否属于 DID,例如数据链接(数据源、数据库、可验证声明、注册表)或服务链接(服务、API)

策略 块用于围绕特定服务的设计或访问它所需的访问控制要求和权限定义更明确、更具体的术语。例如,策略可以定义应用程序的数据模型、服务的条款和要求,或者用户设置的访问其数据的权限。

  • 收集策略:用于定义应用程序的数据模型(数据库类型加上对架构图块的引用)
  • 服务政策:服务条款和使用资源的要求,可能包括服务端点和支付信息
  • 隐私政策:用户管理的对其资源的访问控制权限

协议 拼贴用于在 DID 之间形成明确的协议。这方面的一个例子是服务协议,它是服务(即数据托管)的提供者和购买者之间的多方协议。

Claims Tiles 用于创建关于其他 DID 的语句;为了实现这一点,他们可以创建一个可验证的声明图块。可验证声明是创建签名声明或数据的灵活标准。如果可验证声明被接收者接受,则包含在上述接收者的元数据中。

3. Ceramic用例

大多数使用 Ceramic 的生产系统和应用程序将结合这些简单的原语(DID、帐户链接和磁贴),以享受只有在身份、资源和服务与钱包或应用程序孤岛分离时才有可能实现的简单性、互操作性和可扩展性。以下是一些基于 Ceramic 的强大用例:

便携的、自主的身份

自我主权身份 (SSI) 描述了一种系统,参与者可以使用一个或多个私钥在未经许可的情况下创建和控制其数字身份。从技术上讲,任何分散的非对称密码系统都可以启用 SSI,其中公钥(身份)由私钥(密码)控制,例如比特币或以太坊。但是,这种类型的系统将仅限于注册这些身份的网络以及单个私钥帐户。这两个约束充当筒仓,阻止此身份在其他上下文中以可互操作的方式使用。

为了使身份在平台和密钥之间真正灵活和可移植,这使得它们在实践中更有用,我们需要一个额外的身份抽象,它位于区块链帐户之上的一层。这是 DID 的值。在 Ceramic 上,DID 充当全球公共身份,它们可以由来自任何区块链或加密系统的任意数量的私钥控制。DID 提供了一个单一界面,所有者可以使用该界面来识别自己、可互操作地签署消息、加密数据以及对与用户所在的区块链无关的链下服务进行授权/访问控制。DID 是私钥和网络锁定的解毒剂。

SSI 通常意味着不仅仅包含对标识符的直接控制。大多数情况下,此标识符需要更多上下文,以便其他人可以与之交互,例如个人资料详细信息。Ceramic tile 允许 DID 所有者无需许可地将公共元数据和其他信息或资源添加到他们的 SSI,从而实现灵活和动态的 SSI 解决方案。

可互操作的数据生态系统

为了获得强大的互操作体验,需要跨应用程序的数据可移植性。这需要一些核心功能。首先,我们需要有一个通用的方式让用户跨平台识别自己,这样我们就可以知道哪些数据是他们的。这由 SSI/DID 处理(见上文)。其次,我们需要知道这些数据在哪里才能请求它。第三,我们需要能够在用户许可的情况下访问这些数据。最后,我们需要知道数据的模式,这样我们就可以在我们的应用程序中使用它而无需手动处理。

Ceramic让所有派对都变得简单。通过在用户的 DID 中存储到数据资源的映射,Ceramic 为应用程序(和其他数据消费者)提供了一种有效发现信息所在位置的方法,无论是在特定服务器上还是在公共网络上。此外,通过允许 Ceramic DID 通过磁贴为其数据资源定义访问控制策略,Ceramic 为用户提供了一种以身份为中心的方式,让消费者可以访问他们的信息,而不管信息在哪里。它不是发生在服务器上的访问控制,而是直接发生在用户身上。最后,Ceramic 允许应用程序为保存的任何数据定义模式,以便数据消费者可以先验地知道将返回的数据的形状,即使它是加密的。

这些功能结合在一起,使用户可以在各种应用程序和服务器孤岛之间顺畅地控制和共享他们的数据,同时还允许开发人员使用比以往更丰富、质量更高的数据集——而无需存储任何数据。

开放网络服务

互操作性难题的最后一块是提供对 Web 服务的更开放的访问。Ceramic 上的所有服务提供商(即数据托管、索引、锚定、支付或其他任意 Web/API 服务)都可以为来自所有其他身份的请求提供服务,而无需双边一次性帐户。服务提供商可以取消创建帐户和使用 API 密钥访问其服务的要求。只要用户、应用程序或其他服务满足某些预定义条件,就可以访问服务,而不是通过位于应用程序后端的 API 密钥。这允许服务提供商消除访问其服务的所有摩擦,并在每次使用(或其他预定义)的基础上扩大他们的客户群。

例如,托管需要由许多不同方访问的用户数据的服务提供商现在可以为所有用户提供服务,而无需每个用户都需要服务帐户。使用 Ceramic,数据托管服务可以定义他们的服务并创建一个服务策略,其中包括消费者必须满足的要求才能访问他们的服务。当用户(或应用程序)选择使用此服务将他们的数据托管在由 DID 访问控制的数据库中时,用户(或应用程序)然后将此资源添加到他们的 DID 中。当其他消费者想要请求此信息时,他们需要向用户请求访问权限,并且一旦获得批准,然后在返回数据之前满足托管服务的要求(例如支付或其他)。

尽管 Ceramic 提供服务所需的信息以接受来自各方的按使用付款,但 Ceramic 协议本身并不处理付款。由于这些交易可能是小额小额支付,Ceramic 与新兴的无许可加密小额支付网络(如EVM 区块链上的Connext 网络和比特币上的闪电网络)极为互补。在这些系统的最无许可版本中,服务提供商和最终用户将运行支付节点并进行交易。在更实用的版本中,这些职责可以委托给第三方支付处理商。该模型还允许应用程序代表其用户支付服务费用。我们认为这在短期内最有意义。

尽管此示例描述了数据托管服务,但 Ceramic 服务策略可用于几乎任何类型的服务。

示例:3Box

为了让一切更具体,让我们深入了解3Box如何依赖 Ceramic 来实现可互操作的、用户控制的数据管理系统。3Box 是一个框架,允许开发人员将用户和应用程序数据存储在由用户控制的开放数据托管服务访问网络上,而不是存储在孤立的应用程序服务器上。用户始终可以控制他们的数据,并且可以选择将其许可给其他应用程序,使其可跨平台和应用程序共享。要实现这一点,3Box 依赖于自我主权身份可互操作的数据开放的 Web 服务

对于自我主权身份和启用用户管理的访问控制,3Box 使用 Ceramic 的 3ID DID 方法,允许用户使用所有现有的私人钱包密钥来控制他们的身份、信息和服务。为了实现可互操作的数据和共享访问 Web 服务,3Box 依赖于以下一组磁贴,这些磁贴由在系统中发挥作用的各种参与者(包括应用程序、服务和用户)创建:

  • Schema(s):描述特定数据库中使用的数据模式。允许开发人员定义他们的数据模式,或使用现有的。
  • 集合策略:描述链接到架构图块的数据库集合。允许应用程序定义他们的数据库和他们使用的数据模型,以便其他人可以轻松地使用数据。
  • 服务政策:描述接受输入并产生输出的简单功能。在这种情况下,它用于在收集策略中托管数据库。允许服务提供商定义他们的服务或 API 以及访问它的要求。
  • 隐私政策:在收集政策中描述用户管理的对数据库的访问控制权限。允许用户在跨应用共享数据的同时设置权限并控制他们的隐私。

此功能集合允许应用 A 将用户 B 的数据存储在由用户 B 的 3ID 访问控制的数据库中的托管服务中。用户 B 现在可以转到 App C 并授予他们从 App A 访问其数据的权限。要从托管服务接收数据,App C 必须满足托管服务的服务政策定义的要求,其中可能包括支付信息。

4.Ceramic生态系统

到目前为止,您已经了解 Ceramic 支持由用户控制的钱包、数据存储和基础设施服务组成的多样化、可互操作的生态系统的出现,使开发人员能够构建轻量级、可组合的协作应用程序。以下是您可以参与的方式。

钱包和认证系统

集成平台无关的自我主权身份:让您的钱包用户能够使用 DID 而不是特定的私钥来管理他们的数据和其他链下服务。DID 是个人密钥对和合约账户的抽象,可消除私钥锁定。DID 用于与用户已有的所有钱包密钥进行互操作的数据签名、加密和服务授权。

数据库

集成统一的、用户管理的访问控制系统:使您的数据库的访问控制系统与 Ceramic DID 兼容,以便用户可以使用单一身份管理存储在所有数据库中的信息,并允许不同的应用程序访问他们的信息。Ceramic 将首先支持基于 IPFS 的点对点数据库OrbitDBTextile

服务

提供开放、共享的访问服务:提供与 Ceramic 兼容的服务并在 Ceramic 网络上列出您的基础设施,以允许其他人发现您的服务并与之交互,即使他们不是您的直接客户。

应用

构建可组合的、以用户为中心的应用程序:使用 Ceramic 的互联互操作服务生态系统构建您的应用程序。将您的用户和应用程序数据存储在支持 Ceramic 服务协议的基础设施提供商的支持 Ceramic 的数据库中。还可以使用 Ceramic 来发现可用的数据源来填充您的应用程序。

5.Ceramic生态联盟

Ceramic Ecosystem Alliance 是一个由组织、社区和个人组成的协作团体,这些组织、社区和个人积极为 Ceramic 协议的研究和开发做出贡献,将 Ceramic 标准集成到他们的产品中,或者在 Ceramic 网络上构建服务。成为会员并**在此处注册**。

延伸阅读

Ceramic技术规范

https://github.com/ceramicnetwork/specs

声明:本文仅作技术交流,不是投资建议