對于開發者來說,AUTH/AUTHCALL?機制非常具有吸引力。它可以讓人們創建調用者來實現不同的批量處理策略、gas抽象模型和復雜的賬戶抽象方法等。
這種靈活性源于這一機制賦予了開發者極大的自由。AUTH/AUTHCALL?機制不要求開發者遵循特定的模式,而是要求用戶簽署一個?commit?哈希值,讓開發者基于?commit?自行設置限制。
然而,這種靈活性是以犧牲安全性為代價的。在本文中,我想要介紹一種更簡單的替代方案。這個方案具備?AUTH/AUTHCALL?機制的絕大多數優點,但是風險遠低于后者。
為什么簽署一個AUTH?commit?所帶來的風險高于簽署一個與存在漏洞/惡意合約相關的事務?
用戶在簽署與合約相關的事務時,所承擔的風險是已知的,即,可能會損失在該合約控制范圍內的資產。比方說,用戶給一個ERC20合約簽署了批準事務,授權惡意的DEX合約。這個惡意DEX合約就可以提走用戶在ERC20合約中的全部余額。但是,它無法從該用戶的其它ERC20合約中提走代幣,除非得到該用戶的批準。它也不能代表用戶進行其它操作,因為這也需要專門獲得用戶的批準。
馬斯克:對 Twitter 收購硅谷銀行持開放態度:金色財經報道,雷蛇聯合創始人兼首席執行官陳民亮(Min-Liang Tan)發推表示其認為 Twitter 應該收購硅谷銀行,并成為一家數字銀行。特斯拉首席執行官 Elon Musk 回復其稱,他對這個觀點持開放態度。[2023/3/11 12:56:01]
相較之下,EIP3074不僅要求用戶簽署“空白支票”,而且假設調用者是誠實且沒有漏洞的。一個惡意/存在漏洞的調用者可以代表用戶執行任何操作?——訪問用戶持有的資產,代表用戶進行投票,控制用戶所有的合約等。
更糟糕的是,調用者隨時都可以作惡,因為nonce實現是由調用者控制的。存在漏洞/惡意的nonce邏輯實現可以重放用戶過去的事務。如果?commit?驗證的其它部分的邏輯也存在漏洞,調用者就可以利用這個nonce邏輯實現來代表用戶執行任何操作。即使漏洞被發現,用戶也無法撤回空白支票。這個外部賬戶已經被永久入侵了。
Bitfinex首席技術官表示:對 Tether儲備的批評是沒有根據的:金色財經報道,Bitfinex首席技術官Paolo Ardoino表示,對Tether儲備的批評是沒有根據的。在Tether與紐約達成法律和解后,USDT的增長呈爆炸式增長,消除了對Tether儲備的擔憂。[2021/6/5 23:13:39]
編寫一個正確的調用者程序很難,而且我們幾乎可以肯定,調用者會不定期出現錯誤,從?EIP3074最后列出的調用者應該警惕的檢查/漏洞/情況非詳盡清單中可見一斑。這份清單勢必會變得越來越長,很可能伴隨著痛苦的發現過程。
此外,惡意參與者可以編寫一個看似無害的調用者程序,但是故意留下一個細微的漏洞,等到大量外部賬戶授權該調用者之后才會被攻擊者利用。
如果攻擊者沒有直接或立即利用這個漏洞從用戶那里竊取資金,這個漏洞可能很長時間都不會被發現。
NEAR Protocol亞洲地區負責人:NEAR與ETH并非敵對 ,而是合作:12月14日晚,在Gate.io主辦的直播專訪節目《酒局幣赴》中,NEAR Protocol亞洲地區負責人 Amos Zhang與Gate.io合伙人酒兒就熱門話題ETH2.0與NEAR的發展前景進行了探討與交流。Zhang表示,從當前情況來看,距離ETH2.0的真正實現還需要一定時間,但擴容勢在必行。而NEAR以其友好的操作體驗,出色的擴容方案和獨特的彩虹橋跨鏈方案可以讓以太坊Dapp和NEAR實現互操作性,享受NEAR更低的Gas費和更好的用戶體驗。Zhang同時指出,NEAR跟以太坊不是一種敵對的關系,而是一種合作的關系,NEAR也將繼續研究開放金融的擴容與跨鏈技術來提升和ETH的互操作性與資產跨鏈。[2020/12/15 15:11:02]
治理劫持示例
惡意去中心化交易所EveSwap為其用戶編寫了一個調用者程序。這個調用者程序通過空投EVE代幣來為用戶提供gas資助,并批量處理用戶的批準和轉賬事務。
BBKX平臺已于今日上線ETF幣對 FIL3L/USDT,FIL3S/USDT:據平臺官方公告披露,BBKX平臺已于今日上線ETF幣對FIL3L/USDT(FIL三倍做多);FIL3S/USDT(FIL三倍做空)已支持交易。ETF是錨定數字貨幣價格變化的指數基金,在倍數杠桿的作用下,無論行情漲跌,投資者都能以小博大,獲取更高收益,是衍生品的重要部分。BBKX是一家持續分紅的綜合型交易平臺,已獲得節點資本與鏈上基金聯合戰略投資。[2020/10/16]
EveSwap的調用者程序看似無害,而且永遠不會竊取用戶的代幣,因為這樣馬上就會露餡。
用戶很開心。交易都成功了,交易費也很便宜。幾個月來平安無事。
然而,每當有人使用EveSwap交易AliceSwap的治理代幣ALI時,會自動將用戶的AliceSwap投票權委托給EveSwap。
聲音 | BM:我喜歡看到所有現實世界對 EOSIO 的采用:據 IMEOS 報道,BM 剛剛在推特上轉發了一篇文章《利伯蘭自由共和國利用 EOSIO 構建去中心化自治政府》并寫道,我喜歡看到所有現實世界對 EOSIO 的采用。
利伯蘭自由共和國是一個由捷克人維特·耶德利奇卡于2015年4月13日創立的私人國家,在將來正式得到國際承認后會成為全球第三小的主權國家。在文中,利伯蘭總統說到,“之所以選擇 EOSIO,是因為它是一種頂級技術,它提供了許多在區塊鏈上運行國家管理所需的功能。例如,它能夠將我們的國民大會,司法部甚至公司注冊納入一個可隨時間而發展的綜合系統。”[2019/4/24]
一旦授權人數達到某個閾值,EveSwap就會通過治理提案劫持AliceSwap。
EveSwap用戶不太可能注意到這個過程,因為交易總是成功的,但是最終會給AliceSwap帶來毀滅性的打擊。
跨鏈重放示例
EIP3074合理地建議?commit?應該包含?chainid。但是,這是由調用者,而非協議執行的。在另一條鏈上有著相同地址的調用者可能會跳過該檢查。
EveSwap在兼容EVM的BobSpongeChain上運行,后者支持EIP3074。EveSwap在BobSpongeChain上部署了一個誠實的調用者。
用戶使用該調用者在BobSpongeChain上交易,然后使用橋將資產轉移到以太坊上。
EveSwap使用同一個部署密鑰在以太坊上部署了另一個地址相同的調用者。這個在以太坊上的調用者不會檢查?commit,只會檢查?ownerOnly,并充當其所有者的通用AUTH/AUTHCALL代理。
這樣一來,EveSwap就可以劫持用戶在以太坊上的外部賬戶并卷走他們的資產了。
用戶從未在以太坊上交易過,運行在BobSpongeChain上的調用者程序又經過了嚴格的安全審查。盡管如此,用戶還是丟失了全部資產。
以太坊通過EIP155的重放保護來防范這種情況。AUTHCALL沒有重放保護。由于所有?commit?檢查都交給調用者完成,我們失去了以太坊提供的一切交易保護。攻擊是在所難免的,因為保護措施很隨意。如果要接受EIP3074,AUTH消息必須明確包含?chainid,而非將其作為?commit?的一部分。
我們還能采取什么別的手段?
我的提議是實現一個更明確的機制,在協議層面強制規定?commit?的含義。commit結構將是類型化的,錢包會以用戶可讀的形式將commit呈現出來。用戶可以確切地知道事務是什么樣子的,并確信這個事務不會在任何鏈上重放,無需依賴于調用者程序開發者的品行和能力。
一個可能的實現:
AUTH?將使用包含授權調用列表的類型化結構代替?commit?哈希值。每個調用都將指定{nonce,to,gas,calldata,value,chainid}。簽名將被驗證,整個授權調用列表將保存為?authorized_transactions?而非?authorized?地址變量。
AUTHCALL?將得到一個新的參數?index,該參數指向最后一個?AUTH?創建的列表中的地址。
用戶地址的nonce將隨?AUTHCALL?遞增。nonce并非由調用者存儲,而是實際的賬戶nonce。
利:
用戶可以清楚地了解情況。
安全性由協議保障。
依然支持批處理和賬戶抽象。
弊:
nonce實現,不支持并行。
復雜調用者程序的事務處理起來很繁瑣,因為用戶必須查看并接受整個調用列表。
不同的實現可能支持不同的nonce方案。但是,無論我們使用什么機制,該機制必須由協議而非調用者執行。
無論如何都應該避免讓復雜調用者執行大量用戶調用。復雜操作應該作為普通的智能合約實現,而非嘗試實現使用多個外部賬戶調用的算法。
替代方案:完全避免硬分叉
還有一個選擇是完全避免AUTH機制,并通過?vbuterin?建議的另一種交易池來解決賬戶抽象和批量處理問題。
利:
無需硬分叉,可由智能合約和可以感知這些智能合約的節點支持。
可用于一切支持EIP3074的實現,而不會引入額外的風險。
弊:
不向后兼容已有的外部賬戶。用戶需要部署一個合約錢包并將資產轉移到該錢包內。
除非要求在不遷移的情況下支持已有的外部賬戶,否則這個選擇看起來更安全。
近日,“2021中國產業區塊鏈峰會”在湖南省長沙市舉行。會上,微眾銀行區塊鏈首席架構師張開翔就區塊鏈技術如何助力智慧城市建設發表主題演講.
1900/1/1 0:00:00在《比特幣、以太坊的發展瓶頸即將消失,盤點過去4大方向的擴容方案,你看好哪些?》中我們介紹了通道、DPOS、大區塊和側鏈等擴容方法.
1900/1/1 0:00:00NA?Chain官方推特公布又一重磅里程碑式進程——?Nirvana?ChainTestnet?Khaos?于今天正式上線.
1900/1/1 0:00:00上圖為BTC?2010-2020年這10年周期的長期周線走勢,目前BTC已經完成了三次獎勵減半,我們從圖中可以發現,每一輪減半周期時間內.
1900/1/1 0:00:00事件概覽 北京時間6月25日,鏈必安-區塊鏈安全態勢感知平臺輿情監測顯示,基于幣安智能鏈的鏈上DeFi協議xWinFinance遭到“閃電貸攻擊”.
1900/1/1 0:00:00最終,在6月22日的16點34分,Kusama首個平行鏈插槽由Acala先行網Karura拍得,這也成為波卡平行鏈拍賣大事中的關鍵節點.
1900/1/1 0:00:00