以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads

NTR:抽象賬戶介紹(一):以太坊的賬戶現況

Author:

Time:1900/1/1 0:00:00

作者:AlfredLu,imTokenLabs實習生

本文受眾:區塊鏈初學者

抽象賬戶的討論最近在以太坊社群如火如荼地展開,但由于AA涉及的內容包含了合約賬戶的特性、NativeProtocol的變更,以及各式各樣的新式賬戶的提案層出不窮,導致AA非常難讓人理解。

本文將以imTokenLabs近期的研究觀點,從以太坊最原始的賬戶開始,帶到抽象賬戶介紹。最后引至探討AA能帶給我們什么不同的賬戶體驗,和它與我們常見的ContractAccount有什么差別,它到底為何重要。

目錄

我期盼這次系列文章可以幫助一個初學者從完全不懂以太坊賬戶,到可以大概知道抽象賬戶的基本概念與設計緣由。

我把這篇文章拆解成幾個重點問題,由淺入深依序介紹:

什么是賬戶什么是抽象賬戶抽象賬戶為何重要:與原生合約賬戶的差別未來賬戶:使用和開發體驗而本篇文章將會著重在第一點:「什么是賬戶」。

什么是賬戶?

為什么這個章節提到的內容格外重要是因為許多人不懂AA,或不知道為什么需要AA。就是因為對以太坊的原生賬戶不夠熟悉,導致無法理解許多AA的優點或想要解決的問題。

用于帳戶抽象的加密基礎設施Pimlico已上線Scroll:5月23日消息,用于帳戶抽象的加密基礎設施Pimlico已上線基于ZK Rollup的以太坊擴容網絡Scroll,成為Scroll上ERC-4337錢包的首批基礎設施提供商,支持錢包使用ERC-20代幣贊助用戶操作。[2023/5/23 15:20:13]

如果大家覺得自己已經熟悉以太坊原生賬戶的話,可以跳過本篇直接看下一篇。

以太坊的原生賬戶

以太坊最原生的兩種賬戶為:外部賬戶與合約賬戶。

外部賬戶作為外界與區塊鏈互動的切入點,我們持有一組公私鑰對來控制這個EOA,而公鑰對應的地址會記錄在鏈上,同時記錄著這組地址的狀態。

合約賬戶簡單來說就是存了錢的智能合約,是另外一種儲存我們資產的方式。我們能夠利用智能合約的可編程性和簽名的判斷使賬戶更為靈活,以及實現眾多特性。

例如:合約賬戶能做到多簽錢包,可以讓安全性大幅提升,也適合多人協同管理;抑或者是我們可以在合約中加入限制,讓這個錢包只能匯款給某個指定角色,設置每日匯款上限等。

無論是哪種賬戶都能夠儲存以太幣、收發以太幣,也能夠與智能合約互動。

以太坊賬戶抽象提案ERC-4337的核心合約已通過審計:3月2日消息,以太坊基金會安全研究員Yoav Weiss宣布,新的以太坊賬戶抽象提案ERC-4337的核心合約已經通過了Open Zeppelin的審計,并將在每個以太坊虛擬機(EVM)兼容網絡上提供,包括Polygon、Optimism、Arbitrum、BNB Smart Chain、Avalanche和Gnosis Chain。Weiss表示,新用戶將不再需要學習復雜的助記詞或設置錢包的技術過程,就能進入去中心化的加密世界。

據悉,賬戶抽象(Account Abstraction)是通過省略以太坊賬戶體系中不必要細節,來減少復雜性并提高有效性有效地(消除了對EOA的需求和對智能合約錢包的特殊處理)。Weiss是以太坊改進提案 (EIP) 4337的主要作者之一,另外還有以太坊聯合創始人Vitalik Buterin和其他五位成員。Weiss表示:“V神9年前首次發布了這個概念,甚至在以太坊推出之前。我們花了這么長時間才到達了現在這個階段。”(Cointelegraph)[2023/3/2 12:37:37]

EOA與ContractAccount最大的差別就在于,EOA能夠作為交易的發起者,而Contract都只能是交易的中繼者。

Andre Cronje:Fantom明年將重點發展Gas貨幣化、Gas補貼、賬戶抽象等:12月26日消息,Fantom創始人Andre Cronje今日公開了《致Fantom基金會團隊的信》,其中提及2023年Fantom的計劃核心重點。據介紹,明年Fantom重點需要放在垂直開發人員上,總體目標將是為dapp開發人員創造一個可持續發展的環境,以與其他公鏈區別開來。

核心重點將包括Gas貨幣化、Gas補貼、賬戶抽象、Gas費的經濟抽象、新中間件(Fantom虛擬機,新存儲機制)、優化吞吐量的硬件限制(Pebble DB、平面存儲等)、針對新構建者和非區塊鏈開發人員更新文檔和培訓、及時公開財務狀況、為dapp團隊提供資金和資助機會等等。此外,Andre還在信中提到,自己已被正式提名并接受Fantom基金會和Fantom Operations董事會成員的職位。[2022/12/26 22:08:19]

也就是說當我們有一個ContractAccount想要匯款給另外一個賬戶,就必須要有一個EOA作為交易發起者,將這筆交易送到ContractAccount觸發函數,再進而呼叫目標合約。其中合約去呼叫另外一個合約的行為就稱作InternalCall。

VitalikButerin等人發布Ethereum“賬戶抽象”提案ERC4337:9月29日,Ethereum創始人Vitalik Buterin聯合KristofGazso、yoav.eth、DrorTirosh、NamraPatel、TomaszK.Stanczak等人發布賬戶抽象提案ERC4337,可在不改變以太坊共識層協議的情況下實現驗證邏輯,該提案的開發者內測版本將于近期上線。

注:“賬戶抽象”是以太坊社區中討論的改進提案之一,以實現交易不需要從私鑰控制的EOA賬戶發起,而是可以直接從智能合約發起,具體的用例包括智能合約錢包、Tornado.Cash這類隱私保護工具等。[2021/9/29 17:15:22]

本圖每列的最左角色為交易發起者,最右角色為收款者。可以發現EOA賬戶同時持有資產又可以做為發起者,但CA就不能作為發起者,需要一個EOA完成發起的動作。

所有權與簽名權

了解兩種賬戶是什么之后,我們準備要介紹這兩種賬戶所要面對的問題,但在此之前我覺得有兩個概念非常重要,這將很大程度的影響大家能不能理解合約賬戶,甚至之后的抽象賬戶。

這兩個概念就是所有權和簽名權。

VitalikButerin提議使用Flashbots系統實現“賬戶抽象”:3月11日消息,以太坊聯合創始人 Vitalik Buterin 在研究機構 Flashbots 的 GitHub 倉庫中提議利用 Flashbots 作為“賬戶抽象”的一種實現方式。“賬戶抽象”是以太坊社區中討論的改進提案之一,以實現交易不需要從私鑰控制的 EOA 賬戶發起,而是可以直接從智能合約發起,具體的用例包括智能合約錢包、Tornado.Cash 這類隱私保護工具等。Vitalik Buterin 認為 Flashbots 可以解決這個問題,通過搭建一個插件將其變成智能合約錢包的中繼器以實現。他表示該方案不需要對以太坊底層協議進行很多改動。

Flashbots是由五位區塊鏈行業人士發起成立的開放研究機構,旨在針對以太坊及各智能合約公鏈所面對的 MEV 問題進行研究,并實施解決方案。[2021/3/11 18:35:51]

有所有權的人我們稱之為Owner,擁有這個賬戶的人有簽名權的人我們稱之為Signer,能夠決定這個賬戶發出的交易內容、決定資產動向的人這樣講可能難以理解,先從現實生活中的銀行體系來介紹好了。假設我在銀行開了一個戶頭之后,我便是這個戶頭的所有者,這應該無庸置疑。同時柜員會用鏡頭拍下我們的臉,記錄我們的印鑒,以及所有個人資訊包含電子信箱、手機號碼、個人收支狀況等。這些都是以便未來判斷我們的身份。

同時我會得到一組戶頭帳號和密碼,持有這些資訊的我也將是這個賬戶的簽名者,只要帶著這組密碼,理論上我就能夠領出這個戶頭的所有錢。

若是今天非常不幸,有一個小偷竊走了我的提款卡及密碼,他也就有了這個賬戶的簽名權對吧,因為他能夠決定這個賬戶的資產走向。那他是否真的能夠領出所有戶頭里面的錢呢?

答案是不行,因為銀行會發現小偷并不是這個賬戶的所有者,也許是借由任何生物辨識或其他方法,反正銀行絕對有辦法知道眼前這位是不是當初來開戶的人。

至此大家可能已經發現鏈下世界與鏈上世界的差別,那就是在區塊鏈的世界中,賬戶的所有權和簽名權理論上是同一個個體單位持有。也就是說持有私鑰的人,就是擁有這個賬戶的人,同時他也能用這個賬戶發出任何他想要的交易,任意轉移賬戶的所有資產。

我們沒辦法在鏈上僅通過一個簽名,就判斷出眼前這個送出交易的賬戶背后,到底是不是我們期待的那個人。因為私鑰終究是一串亂碼,而不是一個活生生的人。

退而求其次,我們只能認簽名,也就是相信私鑰沒有外泄。只要簽名通過驗證:那我們就相信這個簽名者真的是我們期盼的那個人。

接下來我們將會依序講述一些現行賬戶設計的問題,這里先綜述一下:

問題-私鑰保存

從上述內容,我們知道了EOA的簽名者就是所有者。但現實真的是這樣嗎?竊走了我們私鑰的駭客就成為賬戶的所有者、當我們失去私鑰之后就失去了一切。

這樣的設計恐怕平民老百姓是很難接受的,畢竟我們已經習慣了「忘記密碼」這個按鈕。這也是為何區塊鏈難以讓一家老小都迅速上手的其中一個原因:私鑰保存極度重要且危險。

而我們剛剛講的EOA簽名權和所有權的問題,其實能夠在ContractAccount得到緩解,那就是我們能夠將資產儲存在合約的同時,在合約中記錄代表著此賬戶的所有者。

當這個ContractAccount實現了SocialRecovery等功能時,即便我們喪失了控制這個合約的所有者私鑰,也不至于失去對整個合約的控制,也不會失去這個合約上的資產。

大家對SocialRecovery有興趣可閱讀:SocialRecoveryWallet社交恢復錢包

問題-原生協議只能使用ECDSA

以太坊的原生協議中,我們只能使用ECDSA這個簽名算法來驗證用戶送上來的交易簽名是否正確。

理論上有更安全的簽名算法,但這也不代表ECDSA是不安全的。同時在某些應用場景中它不一定是那么好用,如果能夠使用其他更有效率的簽名算法會讓使用者體驗更好、效率更高。

因此我們不會希望所有的交易驗證都被綁在ECDSA上。

問題-EOA手續費只能通過Ether支付

在以太坊上發送交易時使用的手續費必須使用Ether支付,這導致一個問題:當我們有一個新的、沒有ETH的賬戶想要收到別人贈予的ERC20代幣或是NFT等等資產時,就無法觸發提款交易。

舉例來說,如果用戶想要使用Uniswap,賬戶里面卻只有DAI而沒有Ether的話,他也是無法兌換的。

這個問題我認為有兩個點:

使用者體驗:當我們有一個新的賬戶想要跟合約互動時,就必須先將這個賬戶充值這可能會使使用者體驗很差。隱私有風險:無論是用中心化的交易所,還是從持有ETH的另一個賬戶,用哪個東西匯款給這個新賬戶,都能夠在鏈上被串起關系。問題-合約賬戶無法作為交易發起者

有別于imToken、MetaMask是做EOA的錢包商,像是Argent這樣專門做ContractAccount的錢包商必須依賴Relayer來讓用戶送出交易。

Relayer是一個中心化的服務,它會代替我們發出交易,去執行我們的合約賬戶。此外它也可以解決必須要有ETH作為手續費的問題,甚至是隱私問題。

舉Argent為例,它有提供一個中心化的Relayer。當我們使用錢包簽名完交易后就會直接送給Relayer,Relayer會以EOA的身份作為交易發起者,把我們已簽的交易送到ContractAccount。Relayer會從ContractAccount身上提走一定數量的ERC20代幣做為手續費。

ArgentRelayer的一個缺點是它只會等待網路不擁塞、手續費比較低的時候才會送出交易,而且使用者也不能自己更新手續費來加速交易。

問題-EOA一筆交易只能包含一個函數呼叫行為

背景信息:呼叫合約的函數來更改狀態時,必須通過送出交易來與合約互動,每呼叫一次合約函數就需要送出一筆交易。

我們在ERC20Token的操作上,常常需要先執行approve再執行transferFrom,也就是呼叫兩次TokenContract的函數,總共EOA就需要兩次交易才能完成這個轉移Token的行為。而ContractAccount因為可以在合約內構建復雜的執行邏輯,所以可以直接在一筆交易就完成多個操作。

這樣送出多筆交易的成本也會比送出一筆交易執行多個操作的成本來的高,這是因為每一筆交易都會被收一個固定的基本費用。

總結

相信大家看到這里已經有一定的概念了,除了EOA在某些應用場景沒辦法符合我們的需求;還有雖然合約賬戶能提供更豐富的功能,卻因為種種原因導致使用上不如預期,例如需要依賴中心化的Relayer等等。

而以上提到的這些,其實都是抽象賬戶想要解決的問題!

所以未來的賬戶我們希望可以一筆交易完成多個操作,同時擁有有選擇其他簽名算法的彈性。

特別感謝NICLin,Chang-WuChen和imToken同事們校對本文并提供改進建議。

Tags:以太坊TRAACTNTR以太坊價格今日行情worldtradebaseCompactUnited Emirate Decentralized Coin

加密貨幣
BNB:盡管不利因素使大盤保持區間震蕩,幣安幣(BNB)逆勢躋身前十

這是一個混合的周日會議。盡管加密貨幣市場的不利因素使大盤保持區間震蕩,但BNB在緩解流動性緊張情緒方面獲得了支持。 重要見解: 對于加密貨幣前十名來說,這是一個混合的周日會議.

1900/1/1 0:00:00
加密貨幣:比特幣的“死亡交叉”可能重新測試 13.8k 美元!

比特幣正盯著其50周和200周移動平均線之間的一個不祥的第一個死亡交叉點,這可能暗示更多的損失,2019年的峰值1.38萬美元是它的第一道防線.

1900/1/1 0:00:00
ONG:Ongoing Spot Campaigns

DearKuCoinusers,KuCoinPartialSpotTradingPairsUpgradeisabouttobecompleted.

1900/1/1 0:00:00
FIN:空頭主導加密市場,比特幣看漲還是看跌?

主要亮點: 加密貨幣總市值在過去24小時內從$829.29B下降到$828.00B,變化為-0.16%在過去24小時內上漲0.28%后,截至發稿時比特幣價格為16.

1900/1/1 0:00:00
ENT:Jump Crypto為加密交易平臺償付能力證明的缺陷提出5個解決方案

12月22日消息,加密金融機構JumpCrypto發文表示,當前加密貨幣交易平臺推出的償付能力證明存在3個缺陷漏洞,主要為:1.從可驗證角度.

1900/1/1 0:00:00
DIV:【跟單】【跟單風險預警】而無法跟單

尊敬的唯客用戶您好! </article><divclass="news_detail_footer-irjw"><divclass="detail_top-irjw"><.

1900/1/1 0:00:00
ads