以太坊區塊鏈將實現高效克隆合約功能
由Peter Murray、Nate Welch和Joe Messerman建立的EIP 1167:最小代理合約(Minimal Proxy Contract)進入“最後諮詢階段”。 這個乙太網改進的提案將在接下來的兩週內公開徵詢意見,假設之後一切順利,該程式碼將被最終確認。如果被社群拒絕,該EIP將重新進入草案狀態。
該EIP適用於克隆合約的功能,旨在降低克隆合約中的gas價格。具體來說,EIP 1167允許任意數量的克隆合約將呼叫重定向到一個已知地址(稱為主合約),並使使用者相信主合約的行為方式與重定向合約相同。程式碼的可信賴性取決於其不可變性:一旦部署在主合約上,程式碼就無法更改,主合約也是不可替代的。如果主合約自行終止,那麼所有克隆合約也將停止工作。
克隆合約對主合約和主合約不可變性的依賴可能會促進使用者的信任,但這也是一個至關重要的弱點。這可能會讓您想起Parity事件。雖然這與克隆合約沒有直接關係,但它確實說明了依賴中心化合約的潛在危險。當時所有Parity的多重錢包都與一個庫合約掛鉤,所以有漏洞導致該庫合約終止時,連線到庫合約的587個錢包,共計513,774.16枚以太幣都被凍結了。
Social編碼人員和Giveth Bowen Sanders的作者向ETHNews解釋說,通過這個EIP,克隆合約將不再是主合約的複製,而是“最小代理”(因此這也是EIP的名稱),這個克隆合約將允許編碼人員簡化繁瑣的合約,執行其關鍵部分功能。然後,最小代理依賴主合約來獲得完整功能。Sanders解釋說:
“實際上經常有成千上萬的合約被克隆,這也浪費了很多不必要的空間,並使區塊鏈的資料段膨脹。雖然為了使用和安全,有些合約需要被克隆,例如ConsenSys或Gnosis多簽名錢包,但有些克隆合約在許多情況下是可以重新使用原始合約與代理合約的,這樣會節省大量的空間。”
該EIP的另一個主要功能是它指定建立了一個允許第三方(如Etherscan)查詢重定向(克隆)合約位元組碼並確定主合約位置的合約。
在技術層面上,EIP 1167將標準化“已知的重定向呼叫的最小位元組碼”。 如果最終被確定,將影響所有嘗試構建克隆最小代理合約系統的開發人員,這些合約將呼叫重定向到原始主合約。