比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

名詞解釋:Web3 賬戶相關概念大梳理_ING

Author:

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

剛剛結束的Devcon上,賬戶抽象算是是最熱的幾個話題之一,最近可以經常看到AA/EOA/SCW/4337等縮寫和代號在各種talk、panel和信息流里出現。再加上敘事開始往「Onboardingnextbillionusers」的方向發展,一些新的形容詞也開始出現在產品之前,比如seedless/gasless/socialrecovery/non-custodial。相信看完這兩句的你已經開始腦殼疼了,那么接下來就讓我盡自己所能來幫大家梳理一下這些名詞概念到底代表什么。

閱前提示:本文不是嚴肅的技術文檔,可能會用不精確但容易理解的語言進行闡述或比喻,歡迎大家以此為起點深入探索這些技術的細節。

EOA?-ExternallyOwnedAccounts

EOA中文叫做?外部賬戶,我們最熟悉的MetaMask生成的地址就是EOA。它的特點是原理簡單,比如生成規則是:

私鑰→公鑰→Keccak256哈希→最后20Bytes→十六進制字符串

可以看出這個規則非常直接,全是由數學變換計算出來的,生成的地址內部沒有任何結構和邏輯。節點驗證一筆交易是否被地址owner授權的時候也是固定的規則:

交易簽名→ec_recover→公鑰→地址→對比要操作的地址

對比結果一致那么驗簽通過,進行后續流程;不通過則直接打回,不會進一步廣播交易。

EOA的另一個設定是作為交易的發起方并支付gas,相對應的CA只能被其他CA或者EOA調用。也就是說,EOA是交易的觸發器,一筆交易無論后面有多少合約調用,一開始都必須由一個EOA發起并且支付足夠的gas才可以進行。

需要指出的是,EOA是以太坊以及其他EVM兼容鏈才有的概念,嚴格來說包括BTC在內的主流非EVM鏈都沒有這個設定。

CA?-ContractAccounts

CA中文叫做?合約賬戶,我們常見的ERC-20代幣合約、DeFi業務合約等都有一個跟EOA長得很像的地址,這就是CA。

75,805,000 USDT從Tether Treasury轉移到Kraken:金色財經報道,數據顯示,75,805,000 USDT(價值約 75,880,804 美元)從 Tether Treasury 轉移到 Kraken。[2023/5/10 14:53:17]

在設定上,CA是以太坊世界的原住民,EOA和ETH是為CA的業務邏輯準備的觸發器和燃料;實際使用下來,以太坊上除ETH之外的所有資產都是由CA承載,DeFi等業務邏輯就更是全都由CA來實現。然而CA無法主動進行操作和支付gas的設定也限制了它的能力,早在?2016年就有提案希望能讓CA自己支付gas。

簡單來說,CA是具備內部邏輯的以太坊賬戶,里面既可以是業務邏輯,也可以是賬戶邏輯,而后者就是我們即將提到的「SCW-智能合約錢包」概念。

CA的地址規則是通過計算生成的,有CREATE和CREATE2兩種方式,這里不再展開。大家只需要記住CA和公鑰沒有必然對應關系即可,比如gnosissafe創建的CA里可以設定任意多把公鑰來解鎖它的地址對應的資產;當然CA也可以不設定任何密鑰,而是由其他CA的邏輯決定是否可以解鎖,比如DeFi的借貸合約,只要還了錢就能取回質押的資產。

SCW/A?-SmartContractWallet/Account

智能合約錢包?應該是字面意思最好理解的了,也就是用CA作為地址的錢包方案,而我們常用的EOA錢包方案是用前述的公鑰變換結果作為地址。由于具備內部邏輯,智能合約錢包可以實現很多EOA無法實現的功能,比如gas代付,批量交易,權限管理,離線授權,社交恢復等等。

這里舉幾個例子來展示一下智能合約錢包的擴展潛力:

Gnosissafe利用智能合約錢包架構實現多簽邏輯;

用戶可以在一筆上鏈交易中同時給多個地址發送不同的token,也可以在用uniswap時讓approve和swap在一筆交易里完成,從而做到需要多少授權多少,避免因為過度授權造成安全隱患。

美元指數DXY短線走高18點,現報102.88:金色財經報道,美元指數DXY短線走高18點,現報102.88。[2023/4/3 13:41:23]

用戶可以給不同資產設定不同的操作權限,比如給PFP設定比普通ERC-20token更高的操作門檻,這樣即便日常使用的環境發生密鑰泄露,黑客也無法將高價值資產轉走,在安全和便利中間取得平衡。

用戶可以簽署一個離線授權「誰能給我100ETH,就可以轉走我的某個BAYC」,這樣不需要授權給第三方合約,用戶就可以跟其他人P2P地完成原子交易。

AA?-AccountAbstraction

賬戶抽象?其實不是一個新概念了,最早可以追溯到2015年的一些討論,當時Vitalik認為至少要讓以太坊用來驗證交易的密碼學算法做到可替換,比如換成性能更優的ed25519,可以說7年來Vitalik和EF都沒有停止對賬戶抽象方案的討論和探索,這里有個整理好的?linktree?可以幫大家回顧一下歷史。

那么賬戶抽象怎么理解呢?這里我引用一下?ERC-4337?里對其目標的描述:

Achievethekeygoalofaccountabstraction:allowuserstousesmartcontractwalletscontainingarbitraryverificationlogicinsteadofEOAsastheirprimaryaccount.CompletelyremoveanyneedatallforuserstoalsohaveEOAs(asstatusquoSCwalletsand?EIP-3074?bothrequire)

可以看出以太坊對于賬戶抽象的期望是改變目前大多數人都在使用EOA的現狀,希望用戶轉向SCW,并且把生態對EOA的依賴完全去除。除了里面提到的EIP-3074之外,還有一個更為激進和遠期的?EIP-5003,這里同樣引述幾段原文:

ConsenSys zkEVM上線測試網并更名為Linea:金色財經報道,ConsenSys宣布將Layer 2解決方案ConsenSys zkEVM更名為Linea,目前向所有開發人員、用戶或協議開放測試。Linea使開發人員能夠不受限制地構建可擴展的DApp。

另外,通過MetaMask和Truffle等原生集成,Linea將零知識證明與EVM等效性相結合,為開發人員提供靈活性和可擴展性,而無需ZK技術專業知識。[2023/3/28 13:30:56]

EOAs…arelimitedbytheprotocolinavarietyofcriticalways.Theseaccountsdonotsupportrotatingkeysforsecurity,batchingtosavegas,orsponsoredtransactionstoreducetheneedtoholdetheryourself.Therearecountlessotherbenefitsthatcomefromhavingacontractaccountoraccountabstraction,likechoosingone’sownauthenticationalgorithm,settingspendinglimits,enablingsocialrecovery,allowingkeyrotation,arbitrarilyandtransitivelydelegatingcapabilities,andjustaboutanythingelsewecanimagine.

…ThisEIPprovidesapathnottoenshrineEOAs,buttoprovideamigrationpathoffofthem,onceandforall.

不難看出,EIP-5003的目標是一次性將EOA轉換為CA,讓所有用戶用上SCW,徹底解決向前兼容的問題。

到這里大家對AA的來龍去脈和未來目標應該有所了解了。但需要指出的是,AA這個概念不是以太坊和EVM專屬的,很多鏈原生已經具備了不同程度的AA特性。比如EOS/Polkadot/Near/Solona/Flow/Aptos…甚至BTC,這些鏈在設計時就已經將賬戶做成了有內部結構甚至具備權限管理能力的狀態,還有StarkNet/CKB等具備更完善的賬戶抽象能力。說到這里大家不難發現,以太坊的AA是在解決EOA意外地流行帶來的歷史遺留問題,從而在賬戶層面上變得更加先進和靈活。

馬斯克推特內部信:要么拼命工作 要么辭職:11月17日消息,據華盛頓郵報當地時間16號援引馬斯克發給員工的郵件內容報道,馬斯克建議自己的員工,要么“拼命工作”,要么辭職。在信中,馬斯克要求推特員工確定:他們是繼續留在公司,還是領取三個月的遣散費。與此同時,剩下的人將“長時間、高強度”地工作。據報道,希望繼續工作的員工被要求在當地時間下午17:00之前點擊電子郵件中的鏈接,然后單擊按鈕“是”。該報指出,馬斯克稱,推特將是一個高級工程項目,那些編寫出色代碼的人將構成我們團隊的大多數,并將產生最大影響。[2022/11/17 13:14:03]

4337?-?ERC4337

從上面對AA的討論里不難看出,ERC-4337只是這個方向眾多提案中的一個,但是為什么大家一提到AA或者SCW就會說到它呢?我們來看這個文檔的副標題:

Anaccountabstractionproposalwhichcompletely?avoidsconsensus-layerprotocolchanges,insteadrelyingonhigher-layerinfrastructure.

也就是說,ERC-4337是AA的路線第一次從「暴力革命」轉向「和平演變」,不再追求利用共識層的改變實現AA,而是轉而使用SCW這種用戶層的方案。并且為了實現更好的互操作性,ERC-4337定義了一些SCW應該實現的接口,以及元交易打包、gas代付等基礎設施的框架。它的出現讓目前差異極大的各種SCW方案能夠擁有統一的用戶交互界面以及共用一些生態層面搭建的開放基礎設施,有助于各種場景快速實現自己需要的SCW方案。另一方面,ERC-4337的推動有助于促進生態其他參與方提升對SCW的兼容性,比如驗簽需要的?EIP-1271?和有些DeFi協議里定義的禁止CA交互的一些規則。

Seedless

這里的seed指的是seedphrase,就是我們創建錢包的時候經常被要求備份的助記詞。那么seedless的意思就是「無助記詞的」,或者也可以說成「無私鑰的」。注意這個「無」并不是實際意義上的沒有密鑰,而是指不需要用戶備份助記詞/私鑰或者感知到它們的存在。

法國初創公司Qori完成180萬歐元的種子輪融資:金色財經報道,法國初創公司Qori已經推出,使歐洲人能夠通過銀行或加密錢包在商店、遠程或在線支付,而無需下載專有應用程序。通過與歐洲支付服務提供商、終端分銷商、電子商務集成商和 POS 制造商的合作,數十萬商家可以使用銀行支付和加密技術支付。

該公司已從包括 Hottinger、Golden Record Ventures、Firestartr、Systema VC 和前歐洲地帶負責人 Guillaume Princen 等天使投資人那里獲得了180萬歐元的種子輪資金。這筆資金將用于擴大 Qori 的開發團隊,并將其產品大規模部署到奢侈品、酒店和生活方式領域以及在線市場。(finextra)[2022/7/12 2:08:15]

一個常見的問題是,如果用戶不備份助記詞,用戶是不是就沒有賬戶的控制權了?一旦用戶切換新設備環境,賬戶不就無法訪問了嗎?沒錯,只是把用戶備份助記詞的功能砍掉的話只能算是產品設計失誤,而seedless追求的是用戶「不需要」知道助記詞的存在,同時依然擁有賬戶的完全控制權。也就是說,用戶擁有在新設備自主恢復賬戶控制的能力,只是不再依賴助記詞這種UX很差、過于geek的方式,比如下面要講到的社交恢復就是非常好的一種。

Gasless

這里的gas指的是gasfee,所以gasless的意思是「免gasfee的」。同樣的,gasless也不是真的不需要支付gasfee,而是指用戶不需要被迫去了解gas概念,更不用提前購買各種原生代幣來支付gas。

那么gas誰來付?分兩種情況:

一種是用戶賬戶里已經有cryptoasset的時候,比如playtoearn得到token,或者領到的空投,亦或是別人的轉賬,只要這些token有一定的價值和流動性,就會有relayer愿意接受它們并幫用戶支付gas,以此賺取收益。

另一種是用戶賬戶里沒有有價token,比如剛剛創建的賬戶。如果此時需要鏈上交互,應用方可以選擇資助用戶一些「定向」用途的gas來幫他們bootstrap,從而降低用戶流失,這時即便算上gas補貼的消耗,整體的用戶獲取成本反而可能會更低;或者可以通過讓用戶觀看廣告等方式來換取一些gas。這兩種策略在gas成本較低的L2上都非常有效。

SocialRecovery

社交恢復?是指利用社交關系幫助用戶在丟失密鑰的情況下重新獲得賬戶訪問權的機制。如果你用微信登錄過新設備,應該有過「讓你的兩個朋友發送xxx給你的賬號以登錄」的體驗——這就是社交恢復想達到的效果,只不過驗證方從微信變成了智能合約。

一種常見的誤區是把利用社交賬號來創建/登錄錢包的方案稱為社交恢復,這是錯把「社交關系」與「社交平臺賬號」劃了等號。老牌智能合約錢包Argent就內置了社交恢復能力,它要求你的guardian提供一個以太坊地址,從而在你需要登陸新設備時提供簽名來進行授權,然而這一方案的潛在設定就是:你的guardian一定比你在管理以太坊賬戶上更專業,否則當你需要他們簽名的時候,如果他們自己的賬戶已經無法訪問,你的賬戶也會連帶遭殃。所以一種更加可行的辦法是利用email的密碼學證明或者電子護照等生活中常見的密碼學工具來增強社交恢復方案的實用性。

Non-custodial

非托管?可以說是crypto行業最正確、也是被濫用最多的概念之一了,因為很多時候各家都會有自己的定義。這里我也分享一下我們對非托管的定義,主要有兩方面:

錢包開發商無法擅自操作用戶的賬戶

錢包開發商無法阻止用戶操作自己的賬戶

如果你也認同這兩點,那么判斷一個錢包是托管、半托管還是非托管就可以直接拿這兩個規則去檢驗了:

不滿足1→托管;滿足1不滿足2→半托管;1、2都滿足→非托管。

那么知道了是哪種托管程度有什么用嗎,用戶可能并不care背后的原理,只要好用就行了唄!沒錯,其實我也部分認同這種觀點,至少在現在的階段,行業還沒有發展到發生用戶認知范式轉移的程度。其實我認為三種類型的方案分別適用于不同的場景:

托管方案?-適用于交易所、大機構金服、強合規等場景,比如coinbase/fireblocks提供的一些服務。特點是用戶量少,不需要應對高頻交互,而且客單價高,能支撐服務商花費大成本來維護一系列高防系統。

半托管方案?-適用于相對高端的個人用戶群體。他們明白服務方可以審查自己的交易,并且有能力提前準備備份方案,在服務方主動或被動拒絕服務時可以不影響自己的資產安全。這樣日常使用時可以享受安全和便利,極端情況下可以保全資產。注意這種方案對服務商的運維能力要求也非常高,畢竟個人用戶量大,日常跟各種應用的交互需求也更高,再就是對數據可用性要求高,畢竟一旦丟失服務端保存的數據有可能導致所有沒備份的用戶永遠無法訪問賬戶。

非托管方案?-適用于面向massadoption的場景。初聽上去可能是反直覺的,但是從成本上講,非托管方案是唯一能夠在低客單價的場景里保證足夠的安全性和可用性的方案。如果一個面向大規模用戶場景的應用方打算選擇上面兩種方案,就一定要考慮對方能否為自己的用戶群提供足夠安全可用的服務,否則一旦內部人員作惡、黑客入侵或不可抗力導致服務停擺,自己的所有用戶都會受到牽連,自己的業務也可能因此一蹶不振。歷史上的無數次案例都在講述一個故事,安全無小事,為用戶負責就是為自己負責。

MPC?-Multi-PartyComputation

多方安全計算?跟零知識證明可以并稱當下Web3兩大「魔法」,一旦跟它們沾邊,似乎原來做不到的事情somehow就能做了。實際上有些情況是這樣的,尤其是ZKP,可以利用概率換可行性;MPC則是通過分散控制權來達成風控或者災備能力。

MPC其實是一種范式,包含很多技術方案,在目前Web3的語境下大都指的是tss。

TSS?-ThresholdSignatureScheme

門限簽名?是一種分布式多方簽名協議,包含分布式密鑰生成、簽名,以及在不改變公鑰的情況下更換私鑰碎片的re-sharing等算法。

一個m-n的tss指的是一個公鑰對應了n個私鑰碎片,其中m個碎片的聯合簽名可以被公鑰驗簽成功。不難發現這個邏輯類似于多簽,他們的區別主要在公鑰的數量上。

舉例來說,2-2的多簽是一個門上掛了2把鎖,必須用兩個鑰匙把它們都打開才能開門;2-2的tss是一個門上掛了1把鎖,但是鑰匙有兩片,合起來用才能打開門。這里為了好理解,描述并不嚴謹,兩把鑰匙合成一把其實更符合ShamirSecretSharing算法的情況;tss算法下的密鑰碎片是不會相遇的,而是它們分別簽名之后,通過特定算法可以用對應的公鑰驗簽通過。

那么tss是不是一定是托管或者非托管的?其實沒有必然聯系,主要看最終的方案如何設計和取舍。非托管方案要求用戶擁有獨立操作賬戶的能力,所以用戶必須掌握不少于門限數量的密鑰碎片,例如2-3的話用戶需要掌握2片,而2-2的方案無法達成非托管,最多可以做到半托管;但是如果用戶管理最多的私鑰碎片,那么勢必會提高對用戶能力的要求,很難做到massadoption。

Tags:GASINGTRAIONgas幣價格boring幣值得投資嗎UltrAlphaMINIONS

萊特幣最新價格
鈔能力攻擊 黑客如何用一千萬“撬動”Solana 生態上億資金?_MAN

北京時間今天清晨,成都鏈安鷹眼-Web3安全預警與監控平臺監測顯示,Solana生態去中心化交易平臺Mango遭遇黑客攻擊,影響高達1.16億美元.

1900/1/1 0:00:00
金色觀察 | Bankless:比特幣DeFi使用指南_EFI

文/WilliamM.Peaster,Bankless貢獻者;譯/金色財經xiaozou在過去幾年里,?DeFi的活動中心一直是以太坊,同時還擴展到了以太坊虛擬機鏈.

1900/1/1 0:00:00
給錢給戶口 各地政府“放大招”搶奪元宇宙人才_CALI

進入2022年,全國多地政府紛紛發布元宇宙產業發展規劃、建設元宇宙產業園等政策,元宇宙產業發展開始進入競爭階段.

1900/1/1 0:00:00
晚間必讀 | 趙長鵬分享的15條為人處事原則及70條忠告_數字貨幣

1.趙長鵬分享的15條為人處事原則及70條忠告按:2022年10月13日Binance首席執行官趙長鵬發文分享了自己遵循的一些原則,非常值得大家學習。以下為15條為人處事原則.

1900/1/1 0:00:00
「不授權」到底安全嗎:Move背后的設計思想_SWAP

原文作者:@jolestar最近關于用戶和Move智能合約交互,不需要授權(Approve)是更安全還是更不安全的爭論很多.

1900/1/1 0:00:00
深入Solidity數據存儲位置——Storage_SOL

這是深入Solidity數據存儲位置系列的另一篇。在今天的文章中,我們將更詳細地介紹EVM中的一個重要數據位置:存儲。我們將看到合約存儲的布局是如何工作的,storage引用.

1900/1/1 0:00:00
ads