Visa提出「账戶抽象」概念:如何把以太坊改造成自動支付系統

發表於 2022-12-24 13:40 作者: 區塊律動BlockBeats

隨着區塊鏈採用率不斷提高,人們對於卓越用戶體驗和支持實際用例的產品需求也變得越來越大。Visa 已經爲客戶(尤其是年輕客戶)提供了便捷的自動扣款和定期自動付款功能,但像以太坊這樣的區塊鏈來說,實現這一功能似乎仍存在難度。以太坊是支付量最大的區塊鏈網絡,對於某些類型的鏈上數字錢包來說,定期從用戶帳戶中自動提取付款仍是一項「大工程」。

對此,Visa 提出了账戶抽象(AccoutAbstraction)概念,並以此探索如何用智能合約來實現自動化可編程支付,以及演示如何爲支持自動提取資金的自托管錢包編寫智能合約。

用例場景

考慮一個場景:假設今天是 2 月 25 日,愛麗絲要去阿爾卑斯山度假,她將於 3 月 10 日返回,但又必須在每個月的 5 日之前支付房貸、有线電視費和水電費,問題是她在休假前並沒有足夠的錢去付款,不過在 3 月 1 日領到薪水時就會有足夠的錢。現在問題來了,愛麗絲如何在不拖欠付款的情況下享受她的假期?

沒錯,答案就是——自動扣款。事實上,如果愛麗絲有一個銀行账戶,自動扣款是個非常簡單的過程,只需將其扣款账戶與 Visa 卡做個關聯綁定即可。不過在區塊鏈上,執行這樣一個操作並不那么簡單,然而作爲一種新技術,值得我們探索上述場景的區塊鏈智能合約解決方案。

在進入正題之前,讓我們先了解一下以太坊账戶的概念,目前以太坊網絡上有兩種類型的账戶:

外部擁有账戶(ExternallyOwnedAccounts),通常被稱爲「用戶账戶」

合約账戶(ContractAccounts),通常被稱爲「智能合約」

由私鑰控制的用戶帳戶可以發送交易,而智能合約需要關聯代碼才能執行,但智能合約無法「自己發起交易」,因爲交易必須始終源自用戶帳戶並由用戶籤名,這些交易包括:以太坊區塊鏈上用戶账戶之間的簡單 Token 轉移,或是觸發一系列通過智能合約執行許多不同操作、更復雜的交易。

那么,如何在以太坊區塊鏈上實現自動支付呢?

讓我們回顧一下愛麗絲的狀況。

假設愛麗絲在以太坊區塊鏈上擁有一個用戶账戶,並且把自己的薪水存放在账戶裏並用來支付房貸、有线電視費和水電費。今天,爲了支付她的账單,必須發起一項交易,將Token從她的「外部擁有账戶」轉移到收款人的用戶帳戶。

詳細點說,愛麗絲的「外部擁有账戶」有一個只有她本人才知道的密鑰 / 私鑰,也只有她可以使用這個私鑰生成橢圓曲线數字籤名算法 (ECDSA) 籤名,這個前面對於創建有效交易至關重要。然而如果愛麗絲外出度假,誰來生成這個籤名並創建費用支付交易呢?

目前有一種解決方案,就是讓愛麗絲使用托管錢包,即讓第三方控制愛麗絲的私鑰。換句話說,愛麗絲信任第三方來保護她的資金並在她想交易或將資金發送到指定账戶,這么做的好處是愛麗絲可以通過資金托管方來生成爲預定自動付款創建交易所需的籤名,但壞處是她必須完全信任這個第三方。

那么,如果愛麗絲因爲擔心風險不想使用托管錢包,而是使用自我保管的錢包並安排自動付款,該怎么做呢?接下來,讓我們引入另一個概念——账戶抽象(AccountAbstraction)。

什么是账戶抽象?

账戶抽象是一項嘗試通過使用戶账戶像智能合約一樣運行、並且將用戶账戶和智能合約合並爲一個全新以太坊账戶類型的提案。未來,账戶抽象將能使我們爲自動支付設計一個簡潔的解決方案,而且在鏈上驗證交易過程中具有更大的靈活性,比如:

可通過多重籤名驗證啓用多所有者帳戶。

允許使用後量子籤名來驗證交易。

允許一個所謂的公共账戶,任何人都可以通過完全取消籤名驗證來進行交易。

本質上,账戶抽象允許可編程的有效性來驗證和確認任何區塊鏈交易,基於以太坊協議的交易不必完全基於有效性條件的硬編碼,而是可以基於「定制化」方式將一些條件寫入账戶智能合約中。

更重要的是,由於可以設置不再包括籤名驗證的有效性規則,账戶抽象支持自動支付,下面就讓我們來看看如何實現吧。

可委托账戶——用账戶抽象來實現以太坊鏈上自動支付功能

Visa 的以太坊自動支付解決方案是利用账戶抽象概念並創建一種新型账戶合約——可委托账戶,其主要想法是擴展交易的可編程有效性規則以包括預先批准的允許列表。簡單來說,账戶抽象可以將用戶账戶發起的自動支付操作委托給預先批准的自動支付智能合約。

首先,商戶需要部署自動支付智能合約。當擁有可委托账戶的用戶訪問商家網站時,他們將看到批准自動支付的請求——類似於 Visa 接受的账單。此時,用戶可以看到自動支付合約將以用戶的名義執行操作,其中能夠按照用戶需要設定參數,比如每月只能向用戶收費一次、收費不能超過設定的最大金額等。最重要的是,由於這是一個智能合約,用戶可以確信自動支付合約不會以其他方式被執行。

如果用戶同意批准自動支付,錢包會將自動支付合約的地址添加到用戶可委托账戶的允許合約列表中。

接下來,商戶通過調用自動支付合約的 charge(收費)函數觸發支付。自動支付合約就會觸發用戶的账戶發起一筆推送支付交易,這筆交易將是有效交易,因爲已被預先添加到允許列表中。

除了經常性支付之外,該解決方案還可以滿足現實世界裏的其他不同應用,Visa 委托账戶解決方案未來甚至可以擴展到第三方账戶恢復等服務。

在 StarkNet 上實施账戶抽象

由於以太坊尚不支持账戶抽象,Visa 已經在 StarkNet 上實施可委托账戶解決方案,StarkNet 是 Layer2 區塊鏈,建立在以太坊區塊鏈之上,以提高交易吞吐量以及其他功能以改善底層區塊鏈結算層能力,由加密初創公司 StarkWare 开發。StarkNet 的账戶模型就是 Visa 目前所說的账戶抽象,抽象账戶則會檢查交易是否來自給定地址。

對於具體账戶(concrete accounts),如果有人向用戶账戶發送 Token ,會與 Token 合約交互, Token 合約會檢查用於籤署交易以進行此傳輸的身份(密鑰)是否記錄爲 Token 的當前所有者。對於抽象账戶(abstract accounts),如果有人向您的账戶發送 Token ,也會與 Token 合約交互, Token 合約會檢查用於進行此轉移的身份(合約)是否被記錄爲 Token 的當前所有者。對於抽象账戶,重要的是誰(地址)在執行交易,而不是如何(籤名)執行交易。

借助 StarkNet 账戶模型,Visa 能夠實施可委托账戶解決方案,從而爲自托管錢包啓用自動支付功能。

結論

作爲世界上最大的支付網絡之一,Visa 正在積極探索智能合約創新解決方案,以推動實現可編程貨幣和支付。

原文標題:《 如何把以太坊改造成自動支付系統?讀懂 Visa 要用「账戶抽象」做什么 》

原文作者:Andrew Beams、Catherine Gu 等,Visa

原文編譯:Jordan,PANews

來源:區塊律動

標題:Visa提出「账戶抽象」概念:如何把以太坊改造成自動支付系統

地址:https://www.coinsdeep.com/article/7862.html

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

你可能還喜歡
熱門資訊