您當前的位置:首頁 > 旅遊

Coco Framework介紹

作者:由 Bing 發表于 旅遊時間:2022-12-23

微軟Azure團隊推出的,基於TEE技術提供了一個區塊鏈節點安全執行基礎,可以整合現有的塊鏈協議(如Ethereum,Quorum或Corda等)提供完整的企業級區塊鏈解決方案。核心解決3個大問題:

區塊鏈系統的效能

以太坊20左右tps等

隱私

地址不具備匿名性

個人資訊容易暴露: 地址簇+服務提供商+交易所+礦池+公開賬本,能夠基本確定一個使用者的消費記錄

組織管理,實際上是節點的網路和通訊管理

Coco為解決以上問題,首先引入TEE(Trusted Execution Environment)環境,例如Intel SGX或者Window的虛擬安全模式(VSM)等,建立可信的網路環境,TEE環境既可以證明放入程式碼的正確性,又能保證執行時內部資料對外界不可見以及不被篡改,進而可以確保保障區塊鏈協議關鍵程式碼和資料的機密性、完整性,使得區塊鏈的應用可以在完全受信任的成員節點上高效執行。

其次,Coco單獨將一致性協議抽離出來,選出lead處理外部交易。這種leader選舉出來之後,根據可信環境的保證(可以驗證其他節點是否可信等),就可以免去傳統的區域塊鏈共識過程中,需要重放交易來驗證區塊。

優勢具體體現在這麼幾個點:

交易吞吐提升:在可信網路中,拜占庭問題出現機率大大減少,這就簡化了共識的複雜度,從而也提升了交易速度,降低交易延遲;

靈活的加密模型:採用一些標準化的鑑權和授權管理模型來保證資料的安全

網路策略分散式管理

節省資源:去除了一些計算密集型的公式演算法, 例如POW

為了做到以上這些,Coco將每個區塊鏈的節點抽象為一個Validating Node(VN),在VN裡面去執行各個區塊鏈協議的Node,同時接受交易,參與區塊協議共識。節點架構如下:

Coco Framework介紹

Coco架構

如圖,一個VN主要由以下幾個元件構成(後面括號帶host表示是直接部署在非TEE環境,enclave表示在TEE環境部署):

Coco interface(host): client和VN之間的傳輸介面層,對外提供Coco core封裝的功能;

Coco core(enclave): host和enclave之間介面層;

Persitent store(enclave):全域性有序的分散式儲存;

Coco configuration state(enclave): 透過一個狀態機實現可信網路環境的建立和更新;

Blockchain core and adapter(enclave): 呼叫具體區塊鏈協議實現交易和智慧合約執行;

在這樣一個架構下面,需要注意VN之間,VN跟Client如何安全通訊,Rreplicated persistent store如何實現,以支撐大規模部署節點,往後看。

參與者和身份標識

在Coco裡面存在2類參與者:members和participants。簡單理解member具備參與選舉leader的投票權,管理member和participants資訊,TEE裡面執行的code以及網路規則資訊等,也可以直接處理交易,participant僅僅具備處理交易的能力。member和participants都有各自的private/public key pair。 請求提交流程如下。

Coco Framework介紹

網路建立和治理

一個“網路章程”(network constitution)包含一個網路策略的完整表達,主要包括以下欄位:

membership list

code manifest

TEE manifest

VN list

其他changes資訊

要啟動一個network,需要啟動第一個VN,並且上傳一份創世紀network constitution。在創世紀network constitution裡面,可以定義一些靜態的member,participants等。新的member等可以透過一定流程加入這個network。

交易流程

Coco Framework介紹

解釋如下:

Dapp跟VN前端建立加密連線;

Coco框架收到交易之後,路由給block adapter;

block adapter呼叫後端的區塊連結口,例如evm等

將交易執行的結果(狀態變更等)儲存在replicated store裡面。

共識

Coco支援外掛式的共識演算法。而且所有的store的寫入(包含交易執行的結果),都會走共識演算法,因此原來的區塊鏈的共識的步驟就沒有任何必要了。從這裡可以看出來,Coco基本上是想做一個通用的區塊鏈框架。

加密

所有的資料(引用的交易資料,智慧合約執行結果等以及管理員交易資料)都會加密儲存到磁碟。

簡單總結

Coco旨在提供區塊節點管理,並且抽象共識層,並且基於TEE提供安全計算,將區塊資料進行加密儲存。 整體目標是提升區塊鏈的吞吐,隱私保護等級,提供節點和組織管理。 劣勢在於想做一個通用的區塊鏈框架,相容各種區塊鏈協議,adapter的實現會比較複雜,並且落地場景有限。 綜合感覺,能夠提供可信執行環境很有價值。

參考

Coco白皮書:Coco Framework whitepaper。pdf

PS:圖片均來自白皮書,侵權請聯絡我刪除。

標簽: 區塊  coco  vn  Tee  節點