據最新訊息:去中心化網路儲存協議Ceramic測試網路Clay正式啟動。這是該專案自2020年初首次推出Ceramic協議的概念驗證以來,到未來主網上線的重要里程碑。Ceramic程式碼庫已經進行了1300多個git提交,650多個版本,並且Web3生態系統中的數十個頂級專案一直在努力測試整合和提供反饋資訊。
據官方訊息,該主網計劃於2021年第一季度末或第二季度初投入使用。此前,筆者採訪Kontext創始人Chris Cyphert,Kontext:解鎖完整的個性化設定,就對該專案進行過簡單介紹。本文將詳細為讀者進行Ceramic專案分享。
什麼是Ceramic?
Ceramic 結合了包括IPFS,libp2p,區塊鏈,DID和用於身份驗證(簽名/加密)資料的標準在內的一系列尖端web3技術,使開發人員能夠使用動態的、可驗證的、去中心化的資料構建完全無伺服器的應用程式。
Ceramic 的公共基礎設施將允許參與者建立具有簽名的和防篡改的文件,這些文件可作為重要資訊的審查工具和通用的可信資訊源。Ceramic 文件儲存在 IPFS 中,並使用 IPLD 編碼,並錨定在多個區塊鏈專案中。Ceramic 功能類似於全球範圍內的,未經許可的NoSQL文件資料儲存,但可以確保文件更新的嚴格排序和資料完整性,而無需依賴資料庫伺服器或受信任的第三方來對內容執行變異和轉換。
由於 Ceramic 的通用文件圖是公開的,無需許可且可驗證,因此它可以用來進行資訊獲取以及提升網路中各個平臺之間的互操作性,就使得參與者可以在無需任何集中服務的情況下為任何型別的資訊建立和解析文件。因此Ceramic可以解鎖網路上所有平臺和服務之間的資訊互操作性。換句話說Ceramic是儲存需要保證信任,跨平臺互操作性和多方消耗的資訊的理想選擇。
為什麼選擇Ceramic?
儘管雲服務,SaaS工具和API業務受益匪淺,但構建功能全面的產品或服務仍然極其複雜,脆弱且有限。即使是簡單的應用程式,也需要部署和維護後端,保護和管理使用者身份和資料以及將各種API和服務協調在一起。早期做出的選擇常常使開發人員無法與供應商利用的技術提供商建立長期關係。使產品的增值與其他產品和服務互操作通常是困難且不可預測的。所有這些都是因為不必要地為每個單獨的應用程式複製和阻礙了基礎架構,資訊和訪問控制。
1、為了解決這些重複,分散和不安全的問題,網際網路需要靈活的公共基礎結構,參與者可以在其中儲存可驗證的資訊,該資訊可在所有應用程式中普遍發現和訪問。透過將識別符號,識別符號的關聯資料和服務保留在公共域中,而不是在孤立的應用程式伺服器上,網路上的所有參與者都可以訪問它們。在此模型中,參與者直接定義和控制他們的資源,與他人共享(或不共享)這些資源,並在體驗中帶來他們的身份和資料。
2、除了為使用者提供更多的代理和控制權之外,該模型還極大地簡化了開發人員的體驗。開發人員無需花費精力來管理資料和將各種服務捆綁在一起,而是可以專注於其產品的增值。每個應用程式都可以簡單地查詢身份以獲取所需的資訊和訪問許可權。可以輕鬆在產品之間共享資料,而不會損害隱私。可以根據使用者的喜好實時組合體驗。雙邊服務簽約和協議可以取消,取而代之的是無摩擦的服務支付渠道。
3、所有這些使產品和服務從執行非關鍵功能,協調服務和資料,擔心使用者的信任和責任,或透過許多摩擦吸引和留住使用者的麻煩中解脫出來。取而代之的是,開發人員可以簡單地構建一種產品,將其插入到現有的無縫協作的使用者,資料和服務生態系統中。隨著時間的流逝,這將導致開發更具針對性的微服務和微應用程式,而不是我們今天看到的龐然大物。
Ceramic 文件
Ceramic提供了可驗證文件的通用圖形。Ceramic文件是簽名的,僅附加的,防篡改的物件,儲存在IPFS中,使用IPLD編碼,並錨定在一個或多個區塊鏈中。由於其基於IPFS / IPLD和各種區塊鏈的混合設計,Ceramic的文件圖具有互操作性,可伸縮性,無許可權且成本低(取決於區塊鏈錨服務而異)。
Ceramic文件是可以建模以表示許多事物的靈活基元,但是每個文件必須符合協議支援的特定文件型別。Doctypes指定規則來控制什麼是對文件的有效更新,例如簽名和狀態轉換。這允許Ceramic節點以分散的方式驗證給定文件的狀態。
大多數使用Ceramic的生產系統和應用程式都將結合這些簡單的原語(DID,帳戶連結和磁貼)來享受簡單性,互操作性和可擴充套件性,只有當身份,資源和服務從錢包或應用程式孤島中解綁出來時,才有可能。
Ceramic目前支援三種標準的文件型別:3IDs,賬戶連結,和Tile。
1、3ID身份
在Ceramic上,第一個也是使用最廣泛的DID方法是3ID。生產中已經使用了超過15,000個3ID。可以將符合W3C DID規範的其他DID方法作為其他文件型別新增到網路。
分散識別符號(DID)是全球唯一身份,用於在Ceramic網路上簽名文件,還可以與任意鏈下服務和資料進行互動。更具體地說,它們是抽象的,與金鑰無關的介面,用於唯一地標識實體,互操作地簽名和加密資訊,授權對服務的身份驗證/訪問控制以及儲存到其他資源的對映。Ceramic不對DID代表的實體型別做出任何假設,因此它們可以是使用者,組織,應用程式,服務,裝置等。DID可以由一個或多個私鑰控制,從而提供跨錢包和平臺的靈活性和互操作性。
2、帳戶連結
帳戶連結是Ceramic支援的第二個文件型別。帳戶連結是可驗證的公共對映,允許DID證明其擁有不同的公共密碼身份,該身份也可以簽名,例如公共金鑰,智慧合約或其他DID。
3、Tile
Tile是Ceramic支援的第三種文件型別,是文件的最一般形式,可以用來表示幾乎任何型別的資訊。Tiles是一種透過一個或多個DID來實現可驗證語句的方法。Tile可以作為獨立的物件,也可以引用其他塊。這允許在不同的塊之間進行組合,建立可驗證的、可變資訊的關係圖。
Ceramic智慧檔案
在Ceramic中,所有內容都儲存在智慧文件中,這些文件是僅附加的IPFS日誌,其中每個提交(更新)都由分散識別符號(DID)簽名以進行驗證,然後錨定在區塊鏈中以達成共識。每個智慧文件基本上都充當其自己的獨立文件鏈(文件區塊鏈),以下是智慧文件的一些關鍵功能:
1、可變內容:將資訊儲存在可變文件的集合中,例如您喜歡的NoSQL文件資料庫。
2、不可變的識別符號:每個文件都有一個全域性唯一的永久識別符號,稱為DocID。無論對文件進行了多少次更新,此DocID都將永遠不會更改。
3、可驗證的簽名:對文件的每次更新都必須由其所有者的DID簽名,以提供對其內容的可驗證性。
4、架構強制內容:文件可以具有將由協議強制實施的架構。這允許資料完整性和簡單的跨平臺互操作性。
5、嚴格的版本控制:對文件所做的每次更新都錨定在區塊鏈中,因此其提交遵循嚴格的順序。這允許協議保證每次提交時文件的狀態,並允許其內容始終可稽核和受信任。
6、可程式設計邏輯:為狀態轉換定義自定義規則,以在沒有集中式伺服器的情況下強制更新文件的人員,方式和時間。規則可以對直接事件(例如來自所有者的簽名)或間接事件(例如在另一個文件中的更新)做出反應。
7、可配置的永續性:節點可以將文件備份到任何集中式或分散式資料儲存平臺。
測試網路Clay 資訊知多少?
Clay作為Ceramic的測試網路,將成為實時執行功能齊全的公共測試網路,它儘可能地模擬主網,具體主要表現下以下幾個方面:1、將執行三個JavaScript客戶端:Core客戶端、HTTP客戶端和CLI。2、大量的新協議功能,改進和效能最佳化。3、最終破壞性的API在主網之前更改。4、將文件錨定在以太坊的Ropsten(EIP155:3)和Rinkeby(EIP155:4)測試網上使用libp2p主題的專用點對點網路 /ceramic/testnet-clay。
Clay網路是實驗性的,只能用於原型設計,開發和測試目的。這對於使您的應用程式準備好進入主網非常有用。在Clay上建立的文件將無法移植到主網上。這些是獨立的網路,類似於以太坊的測試網和主網。Clay還沒有針對節點的純粹去中心化對等點發現機制,而是使用策展peerlist的節點發現機制。這是因為DHT功能js-libp2p尚不足以用於生產,但是將在主網啟動時準備就緒。
星際觀察
Ceramic的出現,為各方都緩解了壓力。透過在使用者的DID中儲存到資料資源的對映,為應用程式(和其他資料使用者)提供了一種方法,以有效地發現資訊在何處,無論是在特定伺服器上還是在公共網路上。
同樣,透過允許Ceramic DID透過圖塊定義其資料資源的訪問控制策略,為使用者提供了一種以身份為中心的方式,使使用者無論其身在何處都可以訪問其資訊。與其在伺服器上進行訪問控制,不如在使用者上直接進行訪問控制。最後,Ceramic允許應用程式為要儲存的任何資料定義模式,以便資料使用者即使已加密也可以事先知道將要返回的資料的形狀。
我們相信這些功能結合在一起,使使用者可以在各種應用程式和伺服器孤島之間毫不費力地控制和共享他們的資料,同時還允許開發人員使用比以往任何時候都更豐富,更高質量的資料集,而無需儲存任何資料集。