DFINITY 與以太坊互操作啟示:如何交互?潛在機會有哪些?

原文標題:《ICP 與 ETH 互操作的原理與啟示 #5》

撰文:Yolo Notes

這篇文章是 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 互操作的原理

we will introduce support for a threshold variant of ECDSA. In essence, this will enable smart contracts on the Internet Computer to create Bitcoin and Ethereum transactions pertaining to public keys on those chains, without holding corresponding private keys (which will not even exist, and instead take the form of private key shares securely distributed across independent nodes).

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 結點的智能合約了解資訊(互操作)。

前期問題集中于互操作的成本上,后期問題集中于安全性上,如何在成本和安全性上取舍做出更好的互操作方案,是一個潛在的發展方向,

0 条回复 A文章作者 M管理員
    暫無討論,說說你的看法吧