以太坊錢包可能很快就要迎來重大升級。一旦升級完成,普通賬戶(EOA)即可發送批量事務、限期事務、無序事務等。
我與兩位同事 @_SamWilsn_ 和 @adietrichs 正在研究如何改善以太坊的交互體驗。經過多次迭代后,我們提出了 EIP 3074:操作碼 AUTH 和 AUTHCALL。
要想使用這兩個操作碼,外部賬戶需要在鏈下簽署一個消息,并將該消息發送給中繼者,再由中繼者將簽名和調用數據發送至一個鏈上合約(稱為 “調用者”)。調用者合約會先使用操作碼 AUTH 來驗證簽名,再使用操作碼 AUTHCALL 中繼外部賬戶的調用。
AUTHCALL 與普通調用只有一個區別:AUTHCALL 將調用者(例如,消息發送方)設為使用操作碼 AUTH 恢復的外部地址。這樣一來,用戶不使用以太幣也可與以太坊交互。換言之,他們的事務是由中繼者 “贊助” 的。
以太坊橋TVL跌至83.9億美元:金色財經消息,Dune Analytics數據顯示,以太坊橋當前TVL跌至83.9億美元。其中鎖倉量最高的5個橋分別是PolygonBridges(41.05億美元)、ArbitrumBridges(23.25億美元)、Optimism Bridges(7.08億美元)、Near Raibow(7.01億美元)、Fantom Anyswap Bridge(5.47億美元)。[2022/7/21 2:27:43]
你可能會覺得這個機制似曾相識。事實上,這與元事務(meta-transaction)的運作方式差不多。但是這里要強調一下,元事務是不能隨意設置消息發送方的。因此,合約必須明確支持元事務。EIP 3074 旨在淘汰元事務,降低合約的復雜性。
在深入闡述運作原理之前,我們先來介紹一下我們想要構建什么。我們想要構建一個讓普通用戶無需使用以太幣即可以免信任方式發送事務的機制。這里的關鍵詞是 “免信任”,即,用戶不會授予中繼者任何可能會被利用的特權。
Tokenview以太坊瀏覽器新增NFT圖片及詳情展示:6月15日消息,Tokenview區塊鏈瀏覽器增加NFT圖片及詳情展示,包括該NFT的Token ID、擁有者地址、合約地址、交易筆數和交易列表信息等多種信息。[2022/6/15 4:27:48]
EIP 3074 通過謹慎選擇普通賬戶簽名中包含的參數來創建免信任系統。用戶簽署 keccak(0x03 ++ invoker_address ++ commit_hash)。
“type byte” 是 EIP 2718 的常量字節,值為 0x03。這個字節的作用是避免與其它簽名機制發生沖突,例如,EIP 2930 的訪問列表事務、EIP 1559 的費用市場事務、EIP 191 的 0x19 簽名消息等。
數據:以太坊鏈上NFT銷售總額突破70億美元:金色財經報道,根據Cryptoslam最新數據顯示,以太坊鏈上NFT銷售總額突破破70億美元,創下歷史新高,本文撰寫時為7,072,050,900美元,鏈上交易數量為3,207,359筆。[2021/10/8 20:13:25]
調用者地址將用戶的調用與特定合約綁定。用戶的簽名只對調用者合約有效。因此,用戶可以選擇自己信任的調用者,就像是選擇用來存放資產的智能合約錢包那樣。
我們預期只會有少量調用者存在,因為如果調用者合約的實現出錯,用戶就有可能蒙受損失(請注意,調用者是自主選擇加入的)。開發一個安全的調用者合約成本會很高,需要經過多方審計和靜態證明。
不過這與如今的慣例沒什么太大的不同。在存放巨額資金之前,智能合約錢包也應該經過全面的審計和證明。很多大型 DeFi 項目也是如此。
最后一個簽名參數是 commit_hash(或者 commit)。這為調用者設計者帶來了更大的靈活性,可以讓他們開發出很多不同的方案。
數據:以太坊2.0存款合約地址余額突破85萬ETH:據歐科云鏈OKLink數據顯示,當前以太坊2.0存款合約地址已收到850016ETH,有26563個驗證者完成32ETH的抵押,當前質押年化收益率約17%。[2020/11/30 22:34:56]
這個 commit 限制調用者只能執行特定操作并創建特定的驗證要求(validity requirement)來處理調用。用戶可以信任調用者會遵循這一流程,因為他們可以在鏈上驗證代碼。這就是區塊鏈的優點。
我們來看一個簡單的案例。用戶想要通過調用者發送一個調用。為了避免他們的調用被無限次中繼,他們需要提供一個 nonce,另外還有其它不可更改的值。用戶對這些值進行哈希計算得到 commit,并將該 commit 包含在簽名消息內,以便合約使用操作碼 AUTH 進行驗證。
動態 | Pax Treasury向以太坊網絡新增發超1200萬枚BUSD:Whale Alert監測,北京時間1月22日10:03,Pax Treasury向以太坊網絡新增發12,000,000枚BUSD。[2020/1/22]
調用者會使用傳入的值來重新生成 commit 哈希。這樣一來,如果代付者(sponsor)改變了其中一個值,調用者計算得到的 commit 哈希會與外部賬戶簽署的完全不同,導致 AUTH 恢復出一個垃圾地址,如下圖所示:
希望你現在已經相信,調用者就像任何普通賬戶都可以使用的智能合約錢包。現在我們來看看如何使用 commit 來構建更有趣的方案。
通常情況下,“一個操作對應一個簽名” 已經成了經驗法則。這是一種比較簡單的理解。簽名是基于一個事務的哈希值創建的,為什么我們不將多個事務合并進行哈希計算呢?事實證明,EIP 3074 可以做到這點。
只要某個賬戶可以通過 AUTH 的驗證,調用者就可以按該賬戶的要求做任意多次 AUTHCALL。這樣做是沒問題的,因為我們相信調用者會如實執行代碼。我們可以設計將多個調用合并哈希成 commit 的方案。
在上圖所示的方案中,調用者會將所有值(nonce1、nonce2 等)合并進行哈希,生成 commit。調用者將使用這個 commit 和用戶簽名來調用 AUTH。AUTH 會驗證用戶是否真的簽署了這些參數。
然后,調用者會遍歷每個調用并驗證 nonce 和其它參數,然后將經過認證的調用數據(calldata)發送至被許可的地址。
在此基礎上,我們還可以構建更多方案。例如,假設你增加一個新的參數 “保質期”。該參數會與其它參數一起經過哈希得到 commit。另外,在驗證過程中,調用者會驗證expiration < block.number。現在,外部賬戶已經可以使用限期交易了!
EIP 3074 將帶來更多流暢的用戶體驗,同時不會引入額外的信任假設。如果你想要閱讀 EIP 3074 的完整內容,請點擊這個鏈接:https://eips.ethereum.org/EIPS/eip-3074
go-ethereum 的原型實現在此處維護:
https://github.com/quilt/go-ethereum/tree/eip-3074
我們正在與一些對該機制有興趣的團隊合作。如果你覺得這個機制有用的話,請告訴我們,讓我們一起努力!歡迎大家提供對該提案的反饋,非常感謝!點擊該鏈接,留下你的反饋:https://ethereum-magicians.org/t/eip-3074-auth-and-authcall-opcodes/4880/49。
最后,如果你對我們的工作感興趣,我們的團隊正在火熱招聘中。我們致力于對以太坊核心協議進行中長期改進。如需了解更多信息,請直接私信我 @lightclients。
(完)
原文鏈接: https://twitter.com/lightclients/status/1371911245561917441作者: lightclients翻譯&校對: 閔敏 & 阿劍
你可能還會喜歡:
賬戶抽象化(EIP-2938):為什么 & 如何做
以太坊元交易
以太坊中的賬戶、交易、Gas 和區塊 Gas Limit
2020年以來,在新冠肺炎疫情沖擊、美元國際地位受到挑戰、多國央行及私人數字貨幣競相布局的背景下,美國政府一改其對待數字美元的消極態度,積極開展探索研究.
1900/1/1 0:00:00原文作者:ARK 原文標題:《Square x ARK: 比特幣是清潔能源的未來》 編譯:溯元育新團隊 這篇文章,ARK在上個月就已經發布了,我看到那會兒正好上午七點,發布時間是八個小時前.
1900/1/1 0:00:00背景介紹 以太坊擴容在社區中的討論如火如荼,多個解決方案正在加緊開發,并有望在今年全部上線主網.
1900/1/1 0:00:00BTC: 前面我們說比特幣的支撐在43000美元。 分析 | OKEx投資分析總監K爺:BTC上攻乏力、BAKKT悲觀情緒釋放導致本輪暴跌:關于比特幣暴跌,有人認為OKEx與CME兩大合約交易平.
1900/1/1 0:00:00本文是《Web3.0 Explorer》系列的第二篇,第一篇是:《對 Web3.0 概念的梳理》。本文也會承接上一篇的理念繼續探討.
1900/1/1 0:00:00本周技術周刊包含以太坊、波卡、EOS、Filecoin等網絡的技術類消息。 以太坊網絡 ▌以太坊2.0客戶端Teku發布v21.5.0,新數據庫使用LevelDB來減少內存使用并提高可靠性官方消.
1900/1/1 0:00:00