黑科技DFINITY與以太坊的深度集成 如何實現合約的直接互操作?
在 ICP League 之前的文章《為什么說是下一代區塊鏈,DFINITY的8大核心優勢!》中提到過 DFINITY 的核心密碼學技術 ChainKey,在描述其特性時,我預測了 DFINITY 能通過 ChainKey 籤名的方式調用以太坊等其他公鏈。
而在最近 DFINITY 的創始人 Dominic 發布的推特與文章中,詳細介紹了從 DFINITY 到以太坊,再從以太坊到 DFINITY,無需中介的合約互操設計,這給我們展示了兩者集成的巨大潛力。
總結如下:
ChainKey 技術讓 DFINITY 的區塊鏈具備大小為 48KB 的唯一公鑰;
基於 ECDSA 的改進,DFINITY 智能合約可以籤名發出比特幣與以太坊類型的交易;
在以太坊的智能合約中保存 48KB 的唯一公鑰能去驗證鏈發來的消息,來保證交易與和狀態的有效性;
在 DFINITY 智能合約(4GB運行內存)中實現以太坊的輕節點,檢驗區塊獲得調用返回值;
無需中間件、跨鏈橋、Hub、預言機,DFINITY 與以太坊合約直接通過點到點方式互操作;
可以使用 DFINITY 為以太坊 DeFi 等應用擴容,比如由 DFINITY 運行某個以太坊遊戲的數據操作的指令,再通過以太坊直接結算;
兩者的無縫集成將打來巨大的商業潛力,DFINITY 能為以太坊無限擴容,並實現中間件、前端資源、業務邏輯等全棧的去中心化。
ChainKey 技術
ChainKey 是互聯網計算機的核心技術,是實現上述合約互操作魔法的原理。
在以太坊中,由於使用 PoW 機制競爭出塊,節點使用自己的私鑰籤名區塊鏈並廣播,當你去驗證這個區塊時,就需要獲取節點的公鑰。因為每次出塊節點可能不同,因此你需要保存大量的籤名信息,並同步區塊。因此用戶想去驗證以太坊的交易,需要同步 400GB 的區塊。普通用戶只用通過運行在 AWS 上錢包中間件 Infura 的全節點來訪問。
而在 DFINITY 中,基於可驗證隨機數 VRF + 門限籤名 BLS + 非交互式分布式密鑰分發 Noninteractive DKG,保證了區塊鏈只具備唯一不可變的公鑰,所有的區塊的籤名都能使用這個 48KB 的唯一公鑰驗證,來保證交互與區塊的可信。
DFINITY 鏈具備唯一的公鑰,但並不具備對應的唯一私鑰,組成鏈的節點保存了私鑰的碎片,他們使用這個碎片籤名區塊,只有在收集到足夠多的私鑰碎片後,才能聚合出完整的籤名,從而能被唯一公鑰驗證。這也是 DFINITY 實現一致性共識的方式。
非交互式分布式密鑰分發 Noninteractive DKG 向節點分配的了私鑰碎片,因為其非交互式的特點,分配私鑰碎片時基本對帶寬佔用很低,節點可以隨意的加入與退出網絡,這保障了整體的去中心化。
因此任何的設備,即使是另一條區塊鏈上的智能合約,只要保存了這個公鑰也能親自去驗證 DFINITY 鏈的消息、事件與狀態。ChainKey 技術就是能實現合約互操作的基礎。
使用 DFINITY 調用以太坊合約
ChainKey 能支持 ECDSA,這是比特幣和以太坊都在使用的密碼學原語,因此可以通過 ChainKey 代理 DFINITY 上的智能合約籤名,不需要生成對應的密鑰(使用 BLS 閥值籤名技術)。在使用一條鏈唯一的 ChainKey 進行籤名後,通過 P2P 發送一個滿足比特幣與以太坊格式的交易。最終調用以太坊的智能合約。
同時 DFINITY 的智能合約都是使用 actor 的異步消息處理模型,因此可以對以太坊的調用的返回設置等待。
(0) 在 DFINITY 上部署一個代理籤名合約,運行着 ChainKey 的模擬籤名代碼。
(1) DFINITY 上的合約調用代理籤名合約。
(2) DFINITY 的合約需要調用以太坊,向籤名合約發送合約地址、調用方法、參數。
(3) 使用鏈唯一的公鑰籤名產出以太坊格式交易,通過 P2P 手段在以太坊網絡廣播交易,等待交易確認。
(4) 獲取以太坊的調用返回的方式有兩種可選:早期可以在以太坊上專門部署一個查詢合約,專門用於向 DFINITY 返回以太坊調用結果,但這個成本依然很高;後續可以直接在 DFINITY 的容器中建立一個同步以太坊狀態的輕節點,直接驗證並返回結果。
但在獲取以太坊的調用返回時,還是存在問題,使用第一種方式在以太坊上部署查詢合約的成本很高,因為每一次的返回都需要發送額外的合約調用;而在 DFINITY 上建立輕驗證節點可能受到當前容器運行內存 4GB 上限的制約,以太坊的狀態可能要在很多個容器中分开存儲。因此我們可能需要开發者實現更有效率的創新方案。
直接的互操作性會帶來什么?
DFINITY 底層密碼學的創新的確來帶了一些使用體驗上的突破,用戶無需中間件就可以享受端到端的區塊鏈級別安全性。這同時也有機會幫助以太坊實現可直接互操作的擴容。
這種跨鏈合約間的互操作性被大範圍使用後,chainlink、TheGraph、Infura 等中間件存在的意義會被逐漸替代,或者被直接部署在 DFINITY 上而獲得無限擴寬與去中心化優勢。在 DFINITY 上編寫數據庫容器替代中間件,是一個不錯的方向,也是我們重點關注的領域之一。從這個角度看,DFINITY 像一個具備通用計算能力的中間件與前端服務,能結合兩者的特點的商業嘗試會更加亮眼,比如能快速驗證以太坊上 NFT 視頻、圖片等資源,並通過運算能力擴展玩法的專用 NFT 平臺。
同時 DFINITY 也可以幫助以太坊實現擴容,在鏈上快速地、低成本地維護與處理大量數據。並且這種擴容能力是一勞永逸的,因為作為一個異步消息處理機器,DFINITY 具備無限劃分子網實現擴容的能力。在以太坊上 1GB 的智能合約需要花費上千萬美元,而在 DFINITY 上每年只需要花費5美元。
因為可以實現合約級別的互操作,而 DFINITY 鏈本身具備高安全性,且不依賴與 AWS 等雲服務,也不需要只運行在幾個節點上的跨鏈橋、Layer2 狀態鏈等,因此也避免了傳統二層擴容方案的流動性、中心化與安全性問題。
在以太坊上的運行結算層,把 DFINITY 當作指令層使用,這種架構具備很多的可能性。同時基於 DFINITY 的身份系統與反向 gas 模型,極大的降低了使用門檻,用戶甚至可以不需要為使用以太坊的合約支付 gas,我可以預見這樣一種業務:在 DFINITY 上實現以太坊上 Compound、AAVE、DYDX 等聚合形態的第三方前端,然後免除用戶使用的 gas,第三方前端的創建者可以通過推薦策略並收取一定比例收益,來支付以太坊的 gas ,同時賺到錢。
比如可以在 DFINITY 實現完整的中心化交易的邏輯,包括訂單簿的撮合與做市,用 DFINITY 區塊鏈不可篡改的記錄價值與資產的流動,最終在以太坊上進行結算,這能保證去中心化的安全性、無准入與公共所有權,也能獲得中心化傳統交易所的體驗。
同時如 AXIE Infinity 這類的遊戲,也可以通過 DFINITY 的擴展能力升級玩法,目前的 AXIE Infinity 並不是可交互的,在小精靈對战之前勝負就已經決定,但是使用 DFINITY 集成指令層後,可以實現即使的策略對抗。
甚至可以在 DFINITY 上托管 ETH 的 FlashBot 套利機器人,而不用再去部署一個中心化服務器,並把自己的私鑰托管在中心化服務器上。因為容器並不共享狀態,你的策略可以設置為 “Private”,也可以通過分享策略獲取收益(DFINITY 生態項目 ENSO)。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
24H熱門幣種與要聞 | Michael Saylor發布數字資產框架提案;Azuki疑似即將發幣(12.23)
24 H 熱門幣種 1、CEX 熱門幣種 CEX 成交額 Top 10 及 24 小時漲跌幅: B...