摘要:前期問題集中於互操作成本上,後期問題集中於安全性上,權衡兩者以做出更好的互操作方案,是一個潛在的發展方向。這篇文章是Dfinity 創始人Dominic Williams5 月28 日Medium《Internet Computer <> Ethereum Integratio …
前期問題集中於互操作成本上,後期問題集中於安全性上,權衡兩者以做出更好的互操作方案,是一個潛在的發展方向。
這篇文章是Dfinity 創始人Dominic Williams5 月28 日Medium《Internet Computer <> Ethereum Integration Explained》的筆記,解答了我幾個疑惑:
-
ICP 和ETH 的定位和關係?
-
ICP 目前是如何與ETH 交互的?面臨哪些問題?
-
ICP 和ETH 的互操作性將帶來哪些機會?
ICP 與ETH 的定位和關係
ICP 與ETH 設計初衷不同,定位不同,是相互補充的關係。 ICP 的結構是由獨立節點構成的不同子網,其計算資源由各地計算中心提供,計算中心所使用的的硬件設備經過特殊的定制。是一個由計算中心-神經元(子網)-容器(canisters)構成的雙層結構。以太坊與其相比,計算的底層開放度更大,任何人都能提供計算。其結構是礦工(計算)-智能合約(smart contract)的單層結構。不同的結構設計使得功能側重不同,ICP 傾向於終端用戶的應用層,而ETH 則傾向高價值資產的金融結算層。隨著ETH 網絡被越來越多的人接受,GAS 費快速抬升,計算資源非常緊張,1GB 的智能合約將耗費價值1 億USD 的ETH (最新數據),而在ICP 運行這類應用的花費將低於5USD 的Cycle。
未來人們很可能在ICP 上使用消費級應用,而沉澱後的數據資產經過打包,交易,形成金融資產。這部分金融資產則很可能被傳送到ETH 上進行金融相關的操作。利用ICP 容器的運算存儲性能,用戶可以獲得更豐富的web3.0 服務;而利用ETH 智能合約的原子性和不可篡改性,用戶的高價值資產得以獲得更大的安全性。
此外,ICP 的Chain Key 特性可以使得用戶直接通過數字身份(Face ID,指紋,YubiKeys)連接以太坊,而不必管理複雜的錢包。這些特徵都將大大豐富兩者的生態。
ICP 與ETH 互操作的原理
我們將引入對 ECDSA 閾值變體的支持。 從本質上講,這將使互聯網計算機上的智能合約能夠創建與這些鏈上的公鑰相關的比特幣和以太坊交易,而無需持有相應的私鑰(甚至不存在,而是採取安全分發的私鑰共享形式)獨立節點)。
ICP 用的也是橢圓曲線數字簽名算法( ECDSA),對於ICP 用戶而言,可以在沒有私鑰的情況下創建鏈上的交易。具體實現方式,就是通過子網多簽私鑰,再由公鑰驗證,從而實現整個交易。也就是說,ICP 到ETH 網絡的互操作性,是通過ICP 上子網多籤來實現的,先由子網多簽發起交易,再由子網在ICP 內部交易。簡單說,BLS 門限簽名的作用就相當於一個私鑰了。
解決完瞭如果從ICP 到ETH 鏈,那麼如何從ETH 返回執行的結果呢?
階段一:由於目前的ETH 具有原子性,因此每一個地址的狀態都會經由PoW 的方式來驗證並且同步。因此當我們在ICP 上需要獲取ETH 狀態時,我們可以檢測ETH 區塊的狀態,每當區塊被驗證時(要在一定區塊之後,這樣正確率才能有保證),ETH 上的智能合約就能從區塊所有數據中讀取我們想要的狀態,並傳輸給ICP 上的智能合約。當ICP 智能合約運算完成以後,可以直接通過預言機將信息和數據傳回給ETH。從而形成一個ICP 與ETH 的操作閉環。
由於從ETH 向ICP 需要智能合約的功能,這一切運轉在ETH 上,這意味著這類操作是非常昂貴的。當ICP 大量需要ETH 傳輸信息的時候,高昂的成本將限制ICP 和ETH 之間的整合與協作。
階段二:為了節省ETH 智能合約功能的成本,我們會同步ETH 節點狀態到ICP 的智能合約。這個合約不僅會掃描以太坊的區塊,同時也會更新以太坊的全部數據。一旦這個工作完成,意味著查詢以太坊狀態的同時不會影響以太坊的狀態(主要由於EIP1559 以後,智能合約的運轉會燃燒ETH,全網狀態會因此改變。),並且調用智能合約的成本也將幾乎為0。一方面ICP 將運轉ETH 的一個節點,另一方面ETH 的實時狀態也將同步在ICP 網絡之上。
潛在的機會
進入第二階段,意味著ICP 對ETH 調取合約,獲取狀態的成本會降低到很低的位置。但與此同時,另一個問題浮出水面。由於ICP 全網對於ETH 狀態的獲取,依賴ICP 網絡運營的ETH 節點。一旦結點出現問題,那麼就會帶來巨大的安全隱患。那麼我們是否能構建,節點/ 智能合約雙互操作體係來逐步過渡和漸進?漸進地取捨效率與安全,才能配合ICP 的發展水平。
總結
ICP 到ETH,主要通過子網多簽創建智能合約的方式。
第一階段:ETH 返回ICP 數據,利用ETH 智能合約獲取ETH 區塊具體狀態,然後返回。第二階段:ETH 返回ICP 數據,在ICP 創立Canister 同步ETH 結點的完整信息,從第一階段:向ETH 上智能合約了解信息(互操作),進化到第二階段:向ICP 上同步ETH 結點的智能合約了解信息(互操作)。
前期問題集中於互操作的成本上,後期問題集中於安全性上,如何在成本和安全性上取捨做出更好的互操作方案,是一個潛在的發展方向。
原文標題:《ICP 與ETH 互操作的原理與啟示#5》 撰文:Yolo Notes