Ceramic 協議簡介

火幣網(huobi.com)最新可用網址(點擊下圖直達註冊!)


火必交易所,曾经的火币交易所!

欧易OKX三大交易所,稳定好用!

币安全球第一大交易所!安全!


作者:Ceramic
翻譯:yy

Ceramic 的使命是創建一個無孤島的網絡。本文檔提供瞭 Ceramic 協議的介紹。有關更多技術概述,請參見 Ceramic 技術規范。

Ceramic 概述

Ceramic 文件

分散標識符(DID)

3ID

賬戶鏈接

Tiles

方案

元數據

政策

協議

聲明

使用案例

自我主權身份

互操作數據

開放 Web 服務

實例

Ceramic 生態

錢包

數據庫

服務

應用程序

Ceramic 生態聯盟

時間線

Ceramic 概述

Ceramic 是一種無許可協議,用於創建和訪問可變的、防篡改的文檔,這些文檔是無孤島網絡的基礎。Ceramic基礎設施為公共和互操作的重要信息提供瞭可驗證的、反集權的事實來源。通過將關鍵信息從孤立的服務器遷移到受數字簽名和共識管理的公共空間,Ceramic 使用戶和應用程序能夠擺脫信息和基礎設施孤島,並使開發人員能夠以可組合和高效的方式進行構建。Ceramic 為身份、數據和服務做瞭區塊鏈為資產做的事情。

因為參與者可以在沒有任何集中服務的情況下為任何類型的信息創建和解析文檔,Ceramic 解鎖瞭網絡上所有平臺和服務之間的互操作性。Ceramic 是存儲需要保證信任、跨平臺互操作性和多方消費的信息的理想選擇。這使得 Ceramic 非常適合存儲分散標識符及其相關元數據、服務使用策略、訪問控制權限、數據模式和其他文檔,這些文檔共同使錢包和應用程序能夠訪問由可互操作身份、數據庫和服務組成的動態和未捆綁的生態系統。Ceramic 支持:

便攜式,自我主權身份

可互操作的用戶和應用程序數據

打開Web服務,無需新帳戶或登錄

有關詳細信息,請直接跳轉到用例或示例

Ceramic 的全球可互操作資源生態系統允許開發人員以前所未有的模塊化、信任和規模構建可組合的應用程序。Ceramic 是構建更加連接、透明和以用戶為中心的互聯網的可信基礎。

背景資料

盡管雲服務、SaaS工具和應用編程接口業務帶來瞭好處,但構建一個功能齊全的產品或服務仍然極其復雜、脆弱和有限。即使是簡單的應用程序也需要部署和維護後端,保護和管理用戶身份和數據,並將錯綜復雜的應用編程接口和服務捆綁在一起。早期做出的選擇通常會將開發人員鎖定在與技術提供商的長期關系中,供應商利用瞭這種關系。讓產品的增值與其他產品和服務互操作通常是困難和不可預測的。所有這些都是因為基礎設施、信息和訪問控制對於每個單獨的應用程序都是不必要的復制和孤立的。

為瞭解決這些重復、零碎和不安全的問題,互聯網需要一個靈活的公共基礎設施,參與者可以在其中存儲可驗證的信息,這些信息在所有應用程序中都是普遍可發現和可訪問的。通過將標識符、其關聯數據和服務保留在公共域而不是孤立的應用程序服務器上,所有參與者都可以在整個網絡中訪問它們。在這個模型中,參與者直接定義和控制他們的資源,與其他人共享(或不共享)這些資源,並將他們的身份和元數據帶到不同的體驗中。

除瞭為用戶提供更多的代理和控制之外,這種模式還極大地簡化瞭開發人員的體驗。開發人員可以專註於產品的附加值,而不是花費精力管理數據和將各種服務捆綁在一起。每個應用程序都可以簡單地查詢他們需要的信息和訪問權限。數據可以在不損害隱私的情況下輕松地在不同產品之間共享。體驗可以根據用戶的偏好實時組合。雙邊賬戶註冊和協議可以被取消,取而代之的是無摩擦的服務支付渠道。

所有這些都讓產品和服務從需要執行非關鍵功能、協調服務和數據、擔心用戶信任和責任,或者通過許多摩擦點爭先恐後地吸引和留住用戶中解放出來。相反,開發人員可以簡單地構建一個產品,插入已經存在的用戶、數據和服務無縫協作的生態系統。隨著時間的推移,這將導致更有針對性的鏡像服務和微應用程序正在開發中,而不是我們今天看到的龐然大物。

要求

可組合網絡需要一個無許可、以身份為中心的互操作性協議,為應用程序提供他們需要的所有信息,以便輕松發現、路由到、訪問用戶的資源並與之交互,而不管用戶帶來瞭哪個錢包、哪個應用程序創建瞭數據或資源位於何處。該協議必須:

無許可地註冊可互操作身份;

用多個私鑰私下控制這個身份;

將公鑰和帳戶公開關聯到此身份;

公開或私下將資源與此身份關聯;

為資源設置權限;

對資源進行訪問控制;

互操作簽署以及/或加密信息;和

撤消資源的私鑰、公鑰和權限。

除瞭這些基本要求之外,旨在解鎖互操作性的協議還應允許應用程序和服務:

發佈元數據和定義;

發佈數據模式;以及

發佈策略和服務協議。

最後,一個旨在使構建強大應用程序變得更簡單的解決方案必須易於開發人員使用。它必須符合現有的思維和開發模型,不增加額外的負擔,並隨著新的用例和復雜性很好地擴展。

Ceramic 文件

Ceramic 提供瞭一個可驗證文檔的通用圖。Ceramic 文檔被簽名,僅附加對象存儲在IPFS中,使用IPLD編碼,並錨定在一個或多個區塊鏈中。由於其依賴於IPFS/IPLD和各種區塊鏈的混合設計,Ceramic 的文檔圖具有互操作性、可拓展性、無許可性和低成本(取決於區塊鏈錨服務)。

文檔是一個靈活的原語,可以建模來表示許多東西,但是每個文檔必須符合協議支持的特定文檔類型。文檔指定瞭管理文檔有效更新的規則,如簽名和狀態轉換。這允許 Ceramic 節點以分散的方式驗證給定文檔的狀態。

Ceramic 目前支持三種標準文檔類型:3ID、帳戶鏈接和 Tiles。以下是找到這些文檔類型的一些常見使用方式。如果您的用例不適合其中一個文檔類型,您可以通過在 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 。這允許各種 Tiles 之間的可組合性,創建可驗證、可變信息的關系圖。有關 Tiles 將如何在 Ceramic 上使用的幾個示例,請參見下面。

詳細瞭解 Tiles 。

模式

Tiles 的第一個用例是創建可驗證的、全局可用的數據模式。模式 Tiles 允許用戶定義一個可以被世界上任何地方的任何人使用的規范模式,鼓勵多方圍繞標準模式匯聚。這使得模式 Tiles 本身很有價值。模式 Tiles 還用於為其他 Tiles 中包含的信息提供結構。因此,模式 Tiles 是其他 Tiles 的核心構建塊,例如下面的 Tiles 。模式 Tiles 可以被視為其他 Tiles 的模板。

元數據

Tiles 用於表達關於 Ceramic DID的額外元數據或上下文。至少,DID 需要一個 DID 管理器 Tiles ,以便它們可以由一個或多個私鑰控制。其他元數據需求將根據DID表示的實體類型和用例而異。

DID Manager:包含允許一個或多個私鑰控制 DID 所需的信息

公共簡介:提供一個 DID 的上下文

基本:一般配置文件元數據,如名稱、圖像、logo 等。

身份鏈接:允許其他人驗證非加密標識符屬於一個 DID

社交鏈接:公共映射到 twitter、github 等。

DNS 鏈接:到域名的公共映射

資源鏈接:允許其他人驗證資源是否屬於 DID

數據鏈接:映射到各種數據源,如數據庫、可驗證的聲明、註冊表等。

服務鏈接:服務和 API 的映射

政策

Tiles 圍繞特定服務的設計或訪問所需的訪問控制要求和權限定義更明確、更具體的術語。例如,政策可以定義應用程序的數據模型、服務的術語和要求,或者用戶訪問其數據的權限。

收集政策:用於定義應用的數據模型(數據庫類型加上對模式 Tiles 的引用)

服務政策:服務條款和使用資源的要求,可能包括服務端點和支付信息

隱私政策:用戶管理的資源訪問控制權限

協議

Tiles 用於在 DID 之間形成明確的協議。這方面的一個例子是服務協議,這是服務提供商和購買者之間的多方協議(即數據托管)。

聲明

Tiles 用於創建關於其他 DID 的聲明。為瞭實現這一點,他們可以創建一個可驗證的聲明,這是創建簽名聲明或數據的靈活標準。如果收件人接受瞭可驗證的聲明,則包含在收件人的上述元數據中。

使用案例

大多數使用Ceramic 的生產系統和應用程序將結合這些簡單的原語(DID、帳戶鏈接和 Tiles )來享受簡單、互操作性和規模,隻有當身份、資源和服務從應用程序孤島中分離出來時,這才是可能的。以下是一些基於 Ceramic 的強大用例:

可攜帶的自我主權身份

自我主權身份(SSI)描述瞭一個系統,參與者可以使用一個或多個私鑰無許可地創建和控制他們的數字身份。從技術上講,SSI 可以由任何分散的非對稱密碼系統啟用,在這種系統中,公鑰(身份)由比特幣或以太坊等私鑰(密碼)控制。然而,這種類型的系統將僅限於註冊這些身份的網絡以及單個私鑰賬戶。這兩個約束起到瞭孤島的作用,阻止瞭這種身份在其他環境中的互操作。

為瞭使身份在平臺和密鑰之間真正具有靈活性和可攜帶性,從而使其在實踐中更加有用,我們需要一個位於區塊鏈賬戶之上的額外身份抽象。這就是 DID 的價值。在 Ceramic 上,DID 作為全球公共身份,可以由任何區塊鏈或密碼系統的任何數量的私鑰控制。DID 提供瞭一個單一的接口,所有者可以使用該接口來識別自己、互操作地簽名消息、加密數據以及授權/獲得與用戶所在區塊鏈無關的鏈下服務。DID 是私鑰和網絡鎖的解毒劑。

SSI 通常不僅僅包括對標識符的直接控制。大多數情況下,該標識符需要更多的情景,以便其他人可以與之交互,例如配置文件詳細信息。Ceramic Tiles 允許 DID 所有者向其 SSI 添加元數據和其他信息或資源,從而形成靈活和動態的 SSI 解決方案。

互操作數據生態系統

對於強大的互操作體驗,需要跨應用程序的數據可移植性。這需要幾個核心功能。首先,我們需要有一種通用的方式,讓用戶跨平臺識別自己,這樣我們就可以知道哪些數據是他們的。這由 SSI/DIDs 處理(見上文)。第二,我們需要知道這些數據在哪裡,以便請求它。第三,我們需要能夠訪問這些數據,在用戶許可下。最後,我們需要知道數據的模式,這樣我們就可以在應用程序中使用它,而無需手動處理。

Ceramic 使這一點對所有各方都很簡單。通過映射到用戶的數據資源中,Ceramic 為應用程序(和其他數據消費者)提供瞭一種有效發現信息所在位置的方法,無論是在特定的服務器上還是在公共網絡上。Ceramic 還允許 Ceramic DID 通過 Tiles 為其數據資源定義訪問控制策略,Ceramic 為用戶提供瞭一種以身份為中心的方式,讓消費者訪問他們的信息,而不管它住在哪裡。訪問控制不是發生在服務器上,而是直接發生在用戶身上。最後,Ceramic 允許應用程序為任何被保存的數據定義模式,以便數據消費者可以先驗地知道將返回的數據的形式,即使它是加密的。

這些功能允許用戶在各種應用程序中無摩擦地控制和共享他們的數據,同時也允許開發人員使用比以往任何時候都更豐富、更高質量的數據集——而不存儲任何數據。

開放的 Web 服務

互操作性難題的最後一部分是對網絡服務提供更開放的訪問。Ceramic 上的所有服務提供商(即數據托管、索引、錨定、支付或其他任意 web/API 服務)都可以服務來自所有其他身份的請求,而不需要雙邊的一次性賬戶。服務提供商可以取消創建賬戶和使用應用編程接口密鑰訪問服務的要求。隻要用戶、應用程序或其他服務滿足某些預定義的條件,就可以訪問服務,而不是通過應用程序後端的應用編程接口密鑰。這使得服務提供商能夠消除訪問其服務時的所有摩擦,並在每次使用(或其他預定義)的基礎上擴大其客戶群。

例如,一個托管需要許多不同方訪問的用戶數據的服務提供商現在可以為所有用戶提供服務,而不需要每個用戶都有服務賬戶。使用 Ceramic,數據托管服務可以定義他們的服務,並創建服務策略,其中包括消費者訪問服務必須滿足的要求。當用戶(或應用程序)選擇使用此服務將其數據托管在由 Ceramic DED 控制的訪問數據庫中時,用戶(或應用程序)隨後將此資源添加到其 DID 中。當其他消費者想要請求此信息時,他們需要向用戶請求訪問權限,一旦獲得批準,然後在數據返回之前滿足托管服務的要求(如支付或其他)。

盡管 Ceramic 提供瞭服務接受各方每次使用支付所需的信息,但 Ceramic 協議本身並不處理支付。因為這些交易很可能是小額支付,Ceramic 與新興的無許可密碼小額支付網絡(如E VM 區塊鏈上的 Connext Network 和比特幣上的閃電網絡)極其互補。在這些系統最為缺少許可的版本中,服務提供商和最終用戶將運行支付節點並進行交易。在更實用的版本中,這些責任可以委托給第三支付處理器。這種模式還允許應用程序代表用戶支付服務費用。我們認為這在短期內最有意義。

雖然此示例描述瞭數據托管服務,但 Ceramic 服務策略幾乎可以用於任何類型的服務。

實例

為瞭讓一切變得更加具體,讓我們深入研究 3Box 如何依賴 Ceramic 來實現一個可互操作的、用戶控制的數據管理系統。3Box 是一個框架,允許開發人員將用戶和應用程序數據存儲在由用戶控制的開放數據托管服務網絡上,而不是孤立的應用服務器上。用戶始終控制自己的數據,並可以選擇將其許可給其他應用程序,使其可以跨平臺和應用程序共享。實現這一 3Box依賴於自我主權身份、可互操作數據和開放的網絡服務。

對於自主權身份和啟用用戶管理的訪問控制,3Box 使用 Ceramic 的 3ID DID 方法,該方法允許用戶使用所有現有的私人錢包密鑰來控制他們的身份、信息和服務。為瞭啟用可互操作的數據和共享訪問網絡服務,3Box 依賴於以下一組由在系統中扮演角色的各種參與者創建的 Tiles ,包括應用程序、服務和用戶:

Tile

Description

Function

模式

描述特定數據庫中使用的數據模式

允許開發人員定義其數據模式,或使用現有的數據模式

收集政策

描述數據庫的集合。鏈接到 模式 Tiles

允許應用程序定義其數據庫及其使用的數據模型,以便其他人可以輕松使用數據

服務政策

描述接受輸入並產生輸出的簡單功能。在這種情況下,它用於在“收集政策”中托管數據庫

允許服務提供商定義其服務或 API 以及訪問要求

隱私政策

在“收集政策”中描述對數據庫的用戶管理的訪問控制權限

允許用戶設置權限並控制其隱私,同時跨應用共享數據

此功能集合允許應用程序 A 將用戶 B 在托管服務上的數據存儲在由用戶 B 的 3ID 控制的數據庫中。用戶 B 現在可以轉到應用程序 C,並允許他們從應用程序 A 訪問他們的數據。要從托管服務接收數據,應用程序 C 必須滿足托管服務服務的服務政策定義的要求,其中可能包括支付信息。

Ceramic 生態系統

到目前為止,您已經明白,Ceramic 支持一個多樣化的、可互操作的生態系統的出現,該生態系統由用戶控制的錢包、數據存儲和基礎設施服務組成,允許開發人員構建輕量級、可組合的協作應用程序。以下是您可以參與的方式。

錢包和認證系統

集成平臺不可知、自我主權身份:讓錢包的用戶能夠使用他們的 DID 而不是特定的私鑰管理他們的數據和其他鏈下服務。DID 是從單個密鑰對和合同帳戶中抽象出來的,消除瞭私鑰鎖定。DID 用於與用戶已經擁有的所有錢包密鑰進行可互操作的數據簽名、加密和服務授權。

數據庫

集成統一的、用戶管理的訪問控制系統:使您的數據庫的訪問控制系統與 Ceramic 3ID 兼容,以便用戶可以用一個身份管理存儲在所有數據庫中的信息,並允許不同的應用程序訪問他們的信息。Ceramic 將首先支持基於 IPFS 的對等數據庫 OrbitDB 和 Textile。

服務項目

提供開放、共享的訪問服務:提供 Ceramic 兼容的服務,並在 Ceramic 網絡上列出您的基礎設施,以允許其他人與您的服務交互,即使他們不是您的直接客戶。

應用程序

構建可組合的、以用戶為中心的應用程序:使用 Ceramic 的互聯、互操作服務生態系統構建您的應用程序。與支持 Ceramic 服務協議的基礎設施提供商一起,將您的用戶和應用程序數據存儲在支持 Ceramic 的數據庫中。還可以使用 Ceramic 發現可用的數據源來填充您的應用程序。

Ceramic 生態系統聯盟

Ceramic 生態系統聯盟是一個由積極為 Ceramic 協議的研究和開發做出貢獻的組織、社區和個人組成的協作團體,將 Ceramic 標準集成到他們的產品中,或者在 Ceramic 網絡上構建服務。成為會員並在此註冊。

時間線

Ceramic 的核心貢獻者正在努力發佈網絡的第一個版本。我們已經有一些 js-Ceramic 的工作代碼,理想情況下將在今年夏天的某個時候投入生產。

加入我們的 Discord,問更多的問題。

原文鏈接:https://github.com/ceramicnetwork/ceramic/blob/master/OVERVIEW.md

作者:StampSoda,來源:DAOSquare



返回列表页>>> 比特幣最新新聞