截至周四,由Peter Murray、Nate Welch和Joe Messerman創(chuàng)建的EIP 1167:最小代理合約(Minimal Proxy Contract)進(jìn)入“最后咨詢階段”。 這個(gè)以太網(wǎng)改進(jìn)的提案將在接下來的兩周內(nèi)公開征詢意見,假設(shè)之后一切順利,該代碼將被最終確認(rèn)。如果被社區(qū)拒絕,該EIP將重新進(jìn)入草案狀態(tài)。
該EIP適用于克隆合約的功能,旨在降低克隆合約中的gas價(jià)格。具體來說,EIP 1167允許任意數(shù)量的克隆合約將調(diào)用重定向到一個(gè)已知地址(稱為主合約),并使用戶相信主合約的行為方式與重定向合約相同。代碼的可信賴性取決于其不可變性:一旦部署在主合約上,代碼就無法更改,主合約也是不可替代的。如果主合約自行終止,那么所有克隆合約也將停止工作。
克隆合約對主合約和主合約不可變性的依賴可能會(huì)促進(jìn)用戶的信任,但這也是一個(gè)至關(guān)重要的弱點(diǎn)。這可能會(huì)讓您想起Parity事件。雖然這與克隆合約沒有直接關(guān)系,但它確實(shí)說明了依賴中心化合約的潛在危險(xiǎn)。當(dāng)時(shí)所有Parity的多重錢包都與一個(gè)庫合約掛鉤,所以有漏洞導(dǎo)致該庫合約終止時(shí),連接到庫合約的587個(gè)錢包,共計(jì)513,774.16枚以太幣都被凍結(jié)了。
Social編碼人員和Giveth Bowen Sanders的作者向ETHNews解釋說,通過這個(gè)EIP,克隆合約將不再是主合約的復(fù)制,而是“最小代理”(因此這也是EIP的名稱),這個(gè)克隆合約將允許編碼人員簡化繁瑣的合約,執(zhí)行其關(guān)鍵部分功能。然后,最小代理依賴主合約來獲得完整功能。Sanders解釋說:
“[實(shí)際上]經(jīng)常有成千上萬的合約被克隆,這也浪費(fèi)了很多不必要的空間,并使區(qū)塊鏈的數(shù)據(jù)段膨脹。雖然為了使用和安全,有些合約需要被克隆,例如ConsenSys或Gnosis多簽名錢包,但有些克隆合約在許多情況下是可以重新使用原始合約與代理合約的,這樣會(huì)節(jié)省大量的空間?!?/p>
該EIP的另一個(gè)主要功能是它指定創(chuàng)建了一個(gè)允許第三方(如Etherscan)查詢重定向(克?。┖霞s字節(jié)碼并確定主合約位置的合約。
在技術(shù)層面上,EIP 1167將標(biāo)準(zhǔn)化“已知的重定向調(diào)用的最小字節(jié)碼”。 如果最終被確定,將影響所有嘗試構(gòu)建克隆最小代理合約系統(tǒng)的開發(fā)人員,這些合約將調(diào)用重定向到原始主合約。
評論