成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

用戶登錄Web3很困難:如何通過賬戶抽象和流量讓它變得更好

譯文
區塊鏈
如果開發人員正在開發Web3應用程序,就會知道讓用戶登錄Web3是很困難的。開發人員需要了解如何通過賬戶抽象和流量創造出更好的方法。

譯者 | 李睿

審校 | 重樓

51CTO讀者成長計劃社群招募,咨詢小助手(微信號:CTOjishuzhan)

對于開發Web3應用程序的開發者來說,通常知道讓用戶登錄Web3很困難。即使承諾用戶真正擁有自己的數據,進行近乎免費的全球支付,并使用無審查的系統,創建和使用數字錢包的過程還是非常困難。

幸運的是,還有更好的方法。帳戶抽象(Account Abstraction)承諾簡化流程,使用戶登錄更加無縫和簡單。流量(Flow)是一個去中心化的、公共的、第一層區塊鏈,旨在為用戶構建Web3體驗而設計,它使用帳戶抽象將混合托管模型與無數字錢包登錄相結合,從而創建了一個像傳統應用程序一樣簡單和直接的登錄。

以下深入了解一下混合托管和無錢包登錄是如何協同工作的,例如在架構、代碼,以及可以期待的進展等方面。

一、為什么登錄Web3如此困難

數字錢包帶來了Web3的所有好處,包括保證沒有人可以控制你的資產。沒有中間人,例如銀行從用戶的錢中抽取一定比例的費用,也沒有第三方規定用戶能做什么。然而,因為大多數錢包都是“自我托管”的(只有用戶自己可以訪問),用戶需要管理自己的密鑰。如果出錯,不會得到其他人的幫助和支持。

這意味著用戶必須安全地保存密鑰。不要將它們以明文形式存儲在自己的電腦上,它們可能會被黑客竊取。也不要把密鑰寫在別人能看到的地方。Web3沒有重置密碼,如果丟失它們,可能會失去一切。因此可以看到Web3登錄問題所在。

除了面臨自我托管的挑戰之外,用戶還需要了解代幣和支付。例如,如何支付交易費用?需要什么代幣?如何從法定貨幣轉向代幣?一旦有了代幣,將如何轉移它們?如果在發送代幣的時候出錯,那么它們可能永遠消失了。因此,可以再次了解這一切有多困難。

考慮到所有這些障礙,因此很容易理解為什么許多用戶沒有完成登錄Web3應用程序的第一步。

二、托管錢包出色的用戶體驗,但缺乏所有權

開發人員試圖用托管數字錢包來解決這個問題。這些錢包為用戶管理密鑰,有很多好處。

注冊很容易。用戶可以像使用傳統服務一樣使用電子郵件和密碼,其余的由數字錢包提供商負責。如果用戶丟失了登錄憑證,其密鑰仍然可以在提供商的服務器上訪問,用戶也可以簡單地請求重置密碼。由于錢包軟件運行在他們的服務器上,供應商甚至可以支付交易費用。用戶不需要理解代幣、資金和轉賬。

但正如Web3所說:“不是你的密鑰,就不是你的錢!”雖然托管數字錢包解決了許多登錄問題,但錢包提供商最終擁有密鑰。而現在回到了想要擺脫的問題:一個中心化的實體可以阻止用戶使用自己的代幣,可以隨心所欲地關閉用戶的賬戶,或者取走用戶的資金。

如果你能兩全其美,那不是很好嗎?

三、拯救賬戶抽象

帳戶抽象解決了區塊鏈網絡的一個基本問題:外部擁有的帳戶和合同帳戶之間的區別。

外部擁有的帳戶(EOA)是由用戶使用私鑰控制的帳戶,這些是在上面談到的傳統的Web3錢包。外部擁有的帳戶(EOA)有一個公共地址,并通過區塊鏈發起交易(例如發送代幣)。

合約賬戶(也只是一個智能合約)是一個部署在鏈上并由網絡節點執行的程序。合同賬戶不會啟動交易。與其相反,它們用自己的動作響應交易。它們沒有私鑰,由自己的代碼控制。這種類型的賬戶可以說是擁有應用程序托管。

帳戶抽象將應用程序托管和自我托管結合到一個新的用戶體驗(UX)中,為用戶提供兩者的好處:控制他們的錢包,同時抽象錢包(區塊鏈)。

在流量上,帳戶抽象是使用混合托管的無錢包登錄的基礎。

四、混合托管讓你兩全其美

無錢包登錄允許開發人員為用戶創造近乎無縫的登錄體驗。

圖片

混合托管模型使用帳戶抽象來允許帳戶委托,其中子帳戶通過Capability將控制權委托給父帳戶,在本質上允許一個帳戶控制另一個帳戶。

現在,自我托管帳戶可以是父帳戶,為應用程序帳戶授予權限,而應用程序帳戶現在是子帳戶。有了這樣的設置,應用程序帳戶可以協同工作,應用程序可以這樣工作:

應用程序為用戶創建錢包。這里沒有登錄的障礙——沒有密鑰管理,沒有簽名交易,也不了解區塊鏈。用戶可以使用應用程序購買和出售資產,而無需了解或關心技術細節。用戶的應用程序甚至可以補貼交易費用,或者讓他們用美元等法定貨幣為賬戶提供資金。這一切對用戶來說都是不可見的。

一旦用戶帶著自己的錢包管理賬戶回來,其應用程序可以授權訪問用戶的賬戶。一旦鏈接,用戶就擁有了混合托管權力——他們的錢包管理著他們的主賬戶(現在是“父賬戶”),這個主賬戶維護著對應用程序創建的賬戶(現在是“子賬戶”)的訪問。

由于用戶的主賬戶現在可以訪問應用程序創建的賬戶,他們可以將應用程序資產帶到錢包管理的賬戶所在的任何地方。他們可以在市場上交易應用資產,或者與朋友分享。然而,與此同時,由于應用程序也可以訪問帳戶,它仍然可以為代表他們的行為提供無縫的用戶體驗。

使用這種混合托管模型,用戶可以立即體驗應用程序,障礙最小,并且沒有風險。在此之后,如果他們愿意,可以自己控制自我托管賬戶,享受它帶來的所有真正的所有權和自我主權。

五、混合保管和賬戶抽象的技術細節

1.創建賬戶

這一切是如何運作的呢?

在以太坊和許多其他區塊鏈網絡上,EOA是從公鑰創建的。該密鑰被散列,該散列的前160位成為該密鑰控制的帳戶的地址。這使得帳戶創建獨立于網絡,但不可撤銷地將帳戶與該密鑰綁定在一起。

流量使用一個特定的鏈上函數來創建帳戶地址。然后,用戶可以向流量帳戶添加任意數量的密鑰,并根據每個密鑰的保管人添加和刪除訪問權限。這意味著需要一個交易來創建一個新地址。所以用戶不能離線創建賬戶,但這也使流量帳戶的所有權更加靈活。

用戶可以在GitHub上看到一個完整的帳戶創建示例,先看看這里的關鍵部分:

JavaScript

1 userPrivateKey := examples.RandomPrivateKey()
2 userPublicKey := flow.NewAccountKey().
3  FromPrivateKey(userPrivateKey).
4  SetHashAlgo(crypto.SHA3_256).
5 SetWeight(flow.AccountKeyWeightThreshold)
6
7 serviceAccountAddress, serviceAccountKey, serviceSigner :=
8  examples.ServiceAccount(flowClient)
9
10 createAccountTx, _ := templates.CreateAccount(
11  []*flow.AccountKey{userPublicKey},
12  nil,
13  serviceAccountAddress
14 )
15
16 createAccountTx.SetProposalKey(
17  serviceAccountAddress,
18  serviceAccountKey.Index,
19  serviceAccountKey.SequenceNumber
20 )
21
22 createAccountTx.SetReferenceBlockID(
23  examples.GetReferenceBlockId(flowClient)
24 )
25
26 createAccountTx.SetPayer(serviceAccountAddress)
27
28_ = createAccountTx.SignEnvelope(
29  serviceAccountAddress,
30  serviceAccountKey.Index,
31  serviceSigner
32 )
33_ = flowClient.SendTransaction(ctx, *createAccountTx)

首先,用戶創建一個密鑰對。這是很基本的事項。

因為在流量上,用戶通過發送帳戶創建交易來創建帳戶,所以需要一個現有帳戶來發送這一交易。這是ServiceAccount的工作。

createAccountTx接收用戶的公鑰,以便稍后控制新帳戶,但是ServiceAccount(為交易簽名并付款)處理其余的工作。在用戶的應用程序中,將擁有這個服務帳戶,這樣就可以代表用戶簽署帳戶創建交易,也為帳戶創建提供資金。

2.混合托管

回到混合托管模式。應用程序可以為用戶創建應用程序帳戶,并將它們鏈接到其應用程序控制的公鑰。然后,應用程序可以處理用戶的交易和資產,甚至贊助他們的交易費用,就像任何托管賬戶一樣。

稍后,當用戶決定深入Web3生態系統并獲得自己的錢包時,可以創建并保存指向應用程序托管帳戶的AuthAccount Capability的鏈接,并將控制權委托給用戶的錢包管理帳戶。

用戶可以在無錢包登錄示例中看到這樣的示例,其中應用程序執行多重簽名交易,將用戶的帳戶鏈接到無錢包的登錄,dapp托管的帳戶到簽名用戶的錢包管理帳戶。

六、結語

需要強調的是,在應用程序創建的帳戶上授權訪問是通過帳戶上的鏈接Capability完成的,然后將其提供給用戶。對于區塊鏈帳戶來說,這種帳戶委托機制是全新的,它之所以成為可能,是因為多年來流量原生的帳戶抽象。這種語言API賬戶鏈接功能對于流量上的賬戶來說是一個巨大的優勢,此外還有許多其他功能——m-of-n多重簽名、賬戶密鑰更新等等,這些功能現在才開始在其他鏈上實現,它們都是新生的、非本地的賬戶抽象實現。

帳戶抽象是一個強大的特性。在流量上,它支持混合托管模型,允許用戶在注冊時享受托管帳戶的好處,同時允許他們隨時將帳戶納入自我托管。這是一種全新的顯著改進的用戶體驗,有望為Web3帶來數百萬用戶。

原文鏈接:https://dzone.com/articles/solving-web3-onboarding-with-account-abstraction-a

責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2013-09-27 09:39:07

BYOD部署BYOD

2022-08-18 15:21:42

區塊鏈DevOps

2020-06-10 08:20:18

機器學習技術工具

2023-08-07 09:10:18

2011-08-02 15:07:43

組策略群集用戶賬戶

2022-10-26 10:24:21

2023-06-29 14:34:49

2023-02-10 13:55:25

2014-05-07 09:41:21

UbuntuTrusty Tahr

2022-07-28 21:17:46

福布斯數字化Web3

2021-02-11 09:03:48

Web3技術Web 3.0

2023-02-25 16:02:48

2023-06-08 11:57:48

2016-06-12 09:48:40

2016-05-03 09:48:58

2017-08-31 17:00:20

2021-03-15 10:29:50

人工智能

2022-04-29 08:00:36

web3區塊鏈比特幣

2023-02-15 10:22:14

2022-07-08 00:08:48

MetaverseWeb3加密貨幣
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美 视频 | 欧美 日韩 国产 成人 | 福利社午夜影院 | 国产高清在线精品一区二区三区 | 国产精品久久久久久福利一牛影视 | 亚洲一区二区三区观看 | 成人二区| 91综合网 | 国产精品久久久久久久白浊 | 欧美一级免费 | 丁香五月缴情综合网 | 亚洲精品日韩一区二区电影 | 国产一区二区 | 免费a v网站 | 欧美日韩在线免费 | 亚洲一区 | h片在线免费看 | 欧美精品一区二区三区一线天视频 | 精品无码久久久久久久动漫 | 91视频在线看 | 国产日韩一区 | 色999视频| 一级片在线观看视频 | 国产精品69毛片高清亚洲 | 九九伊人sl水蜜桃色推荐 | 日韩成人在线免费观看 | 嫩草视频入口 | 国产视频一区二区三区四区五区 | 交专区videossex农村 | 国产成人精品午夜视频免费 | 国产成人亚洲精品 | 国产真实精品久久二三区 | 精品视频www | 亚洲网在线| 91污在线| 亚洲第一av | 国产精品久久久久久福利一牛影视 | 免费同性女女aaa免费网站 | 亚洲国产情侣自拍 | 成人h动漫精品一区二区器材 | 在线 丝袜 欧美 日韩 制服 |