書名副標(biāo)題:《Vitalik :鏡像坊的賬號抽象化之路》 發(fā)表文章:Vitalik Buterin
校對:上周四的粥,DeFi 之道 風(fēng)險提示藍(lán)色財經(jīng)
賬號抽象化容許我們使用智能化合同方法論來選定買賣的效用,和服務(wù)費(fèi)繳付和校正方法論。這帶來了很雙重要的安全益處,例如雙重親筆簽名和智能化恢復(fù)手提包,能在不更動手提包的情況下更動公鑰和物理可靠性。
很多賬號抽象化的方法已在不同程度上被提出并得到了實(shí)行,參看:EIP-86、EIP-2938?,和兩年前的這首詩?。今天,由于開發(fā)人員們希望著眼于分拆與新溪洲,那些 EIP 的開發(fā)陷于了困局,而 ERC-4337? 這種不須要任何一致意見更動的代替計(jì)劃已經(jīng)取得了很大重大進(jìn)展。
ERC-4337 試著通過附加的協(xié)定手段同時實(shí)現(xiàn)和 EIP-2938 相同的事。使用者須要推送稱為使用者操作方式(user operations)的鏈外最新消息,那些最新消息由計(jì)算機(jī)程序科洛涅縣(proposer)或?yàn)橛?jì)算機(jī)程序科洛涅縣聚合 bundles 的構(gòu)筑者(builder)大批量搜集并裝箱成總金額買賣??坡迥h或構(gòu)筑者負(fù)責(zé)過濾器操作方式以保證他們只接受繳付服務(wù)費(fèi)的操作方式。使用者操作方式有一個原則上的 mempool 儲存池,相連到這個儲存池的結(jié)點(diǎn)會進(jìn)行 ERC-4337 某一的校正,以保證使用者操作方式在轉(zhuǎn)貼之前能繳付服務(wù)費(fèi)。電液推桿
ERC-4337 作為一個純強(qiáng)迫的 ERC 能做很多事。然而,在許多關(guān)鍵領(lǐng)域,它比真正的協(xié)定內(nèi)解決計(jì)劃相對而言:
而同時實(shí)現(xiàn)最差效用的一條現(xiàn)實(shí)生活有效途徑,是短期內(nèi)開始大力全力支持 ERC-4337,然后隨著時間的流逝加進(jìn) EIP 來填補(bǔ)其軟肋。這未必須要大家專門允諾嚴(yán)格遵守 ERC-4337。恰好相反,能將協(xié)定內(nèi)全力支持設(shè)計(jì)為更通用型,并全力支持 ERC-4337 及其代替計(jì)劃和改良。
在這里,我將列舉其中的許多 EIP,并說明它們能按什么次序?qū)嵭小?/p>
為了讓現(xiàn)有的 EOA 手提包升級到 ERC-4337 手提包,我們能制作一個 EIP,容許 EOA 執(zhí)行設(shè)置其合同代碼的操作方式。一旦 EOA 做到了這一點(diǎn),這種轉(zhuǎn)變就不可逆轉(zhuǎn)。從那時起,該賬號將僅用作智能化合同手提包。幸運(yùn)的是,由于 ERC-4337 賬號是 DELEGATECALL 代理,因此如果須要,以后能將手提包轉(zhuǎn)換為與其他 ERC 兼容的智能化合同。
關(guān)于如何實(shí)行此升級過程有許多提案:
1、‘replace code’ 買賣類型
這還沒有作為正式的 EIP 引入,但方法很簡單:加進(jìn)一個新的 EIP-2718? 買賣類型,只需將賬號碼替換為 calldata。電液推桿
2、AUTH_USURP (EIP-5003)
EIP-5003? 是 EIP-3074?(AUTH 和 AUTHCALL)的擴(kuò)展提案,它引入了新的 AUTHUSURP 操作方式碼。如果使用 EIP-3074 機(jī)制,EOA 地址 A 已授權(quán)另一個地址 B 代表它行事,則 AUTHUSURP 容許 B 設(shè)置 A 的代碼。
這種方法比‘replace code’路線更復(fù)雜,只有當(dāng)我們打算采用 EIP-3074 時,這才有意義。
在更長遠(yuǎn)的未來,我們可能希望進(jìn)行強(qiáng)制轉(zhuǎn)換,以簡化協(xié)定,并使合同成為唯一的賬號類型,從協(xié)定中取消 ECDSA。一種可能的方法是加進(jìn)一個覆蓋規(guī)則,從某個計(jì)算機(jī)程序開始,沒有 code 的賬號被視為具有某一標(biāo)準(zhǔn)化‘ERC-4337 EOA 手提包’ code 的賬號。
這能通過‘poking’過程來完成,其中任何源自 EOA 的買賣都將其轉(zhuǎn)換,并且任何觸及具有非零 nonce 的 EOA 買賣都會將其轉(zhuǎn)換。也能一次性通過整個狀態(tài)來完成。
ERC-4337 手提包面臨更高的 gas 成本(基本 ERC-4337 操作方式約 42000 gas,而基本常規(guī)買賣須要 21000 gas),原因如下:電液推桿
1、須要繳付大量的單個儲存讀 / 寫成本,在 EOA 的情況下,那些成本會捆綁到一筆 21000 gas 的付款中:
2、除了上述儲存讀 / 寫成本之外,合同還須要執(zhí)行 ‘業(yè)務(wù)方法論’(解包 UserOperation、對其進(jìn)行哈希、洗牌變量等)
3、須要消耗 gas 來繳付日志服務(wù)費(fèi)(EOA 不發(fā)布日志);
4、一次性合同創(chuàng)建成本(約 32000 gas,加上代理中每個 code byte 200 gas,再加上設(shè)置代理地址的 20000 gas)
其中很多問題將在 Verkle 樹 witness gas cost EIP? 和 write gas cost reform EIP? 中自動解決,以更精簡的系統(tǒng)取代大量儲存成本。例如,pubkey 和 nonce 能儲存在 slot 0…63 中,這將訪問它們的成本降低到 1000 以下。使用者在轉(zhuǎn)移 ETH 和繳付服務(wù)費(fèi)時繳付的服務(wù)費(fèi)會更少,因?yàn)槟繕?biāo)賬號和接收賬號只須要被首次訪問一次。
還有更多的 EIP 能幫助我們同時實(shí)現(xiàn)簡化。例如:
這是一個須要更多研究的領(lǐng)域。
這是一個長期的問題,因?yàn)橹挥袉⒂昧送耆膮f(xié)定科洛涅縣 / 構(gòu)筑者(proposer/builder)分離計(jì)劃后,crLists 才真正適用。挑戰(zhàn)在于,我們希望科洛涅縣能識別‘值得’包含的使用者操作方式(即他們繳付足夠的服務(wù)費(fèi)),以便協(xié)定能迫使它們被包含在下一個有空間的計(jì)算機(jī)程序中。電液推桿
這要求在協(xié)定中明確‘校正’和‘執(zhí)行’的概念。對于使用者操作方式,必須有一種已定義的方法來校正該操作方式,和有一種已定義的方法來執(zhí)行該操作方式,這樣如果某個操作方式被校正,則執(zhí)行該操作方式的試著將是保證繳付服務(wù)費(fèi)的,除非被讀取的狀態(tài)在校正期間被修改。那些操作方式能通過嵌入 ABI 方法來同時實(shí)現(xiàn),如果同時實(shí)現(xiàn)了 EOF EIP,也能通過加進(jìn)專用的 EOF 部分來同時實(shí)現(xiàn)。
幸運(yùn)的是,這不須要我們把 ERC-4337 當(dāng)作一個最終標(biāo)準(zhǔn),而是納入 ERC-4337 所全力支持的一個較弱概念,其他在很大程度上不同的 ERC 也能輕松全力支持它。
原因是,ERC-4337 和 EIP-2938 的復(fù)雜性很大程度上與解決更強(qiáng)的 DoS 抗性問題有關(guān):不可能使一個操作方式取消數(shù)百個其他操作方式,因?yàn)檫@將容許廉價地對 mempool 進(jìn)行垃圾買賣攻擊。這須要對賬號校正可訪問的內(nèi)容施加限制。在這里,我們能做許多更簡單的事:只記錄在校正過程中觸摸了哪些狀態(tài)對象,如果那些狀態(tài)對象中的任何一個被編輯,則不須要包含。電液推桿
這使得個人賬號能在審查抵制和靈活性之間選擇自己的權(quán)衡。在極端情況下,如果賬號愿意,能通過 Uniswap 在校正期間繳付服務(wù)費(fèi),但由于任何人都能推送影響 Uniswap 狀態(tài)的買賣,因此此類賬號實(shí)際上沒有抗審查保證。
crList 設(shè)計(jì)的大致輪廓如下:
ERC-4337 的剩余復(fù)雜性將僅用于 mempool 安全。原則上,能有多個相互競爭的 ERC 以不同的方式同時實(shí)現(xiàn)該目標(biāo),只要它們都遵循相同的校正和執(zhí)行標(biāo)準(zhǔn)。
這種方法的一個缺點(diǎn)是它與親筆簽名聚合不完全兼容(正如 ERC-4337 試圖做的那樣):因?yàn)閰f(xié)定不‘理解’聚合計(jì)劃,它不能強(qiáng)制聚合,惡意構(gòu)筑者可能納入未聚合的操作方式,并迫使推送者為其繳付全部 gas。但這種不便能說是適度的。
可能的代替計(jì)劃
Adaverse 是一個 Cardano 生態(tài)系統(tǒng)加速器,匯集了企業(yè)家、戰(zhàn)略家和導(dǎo)師,在非洲建立了最強(qiáng)大的基礎(chǔ)。
責(zé)任編輯:張靖笛
聯(lián)系電話
微信掃一掃