原文标题:《如何把以太坊改造成自动支付系统?读懂Visa要用「账户抽象」做什么》
原文作者:AndrewBeams、CatherineGu等,Visa
原文编译:Jordan,PANews
随着区块链采用率不断提高,人们对于卓越用户体验和支持实际用例的产品需求也变得越来越大。Visa已经为客户提供了便捷的自动扣款和定期自动付款功能,但像以太坊这样的区块链来说,实现这一功能似乎仍存在难度。以太坊是支付量最大的区块链网络,对于某些类型的链上数字钱包来说,定期从用户帐户中自动提取付款仍是一项「大工程」。
对此,Visa提出了账户抽象概念,并以此探索如何用智能合约来实现自动化可编程支付,以及演示如何为支持自动提取资金的自托管钱包编写智能合约。
用例场景
考虑一个场景:假设今天是2月25日,爱丽丝要去阿尔卑斯山度假,她将于3月10日返回,但又必须在每个月的5日之前支付房贷、有线电视费和水电费,问题是她在休假前并没有足够的钱去付款,不过在3月1日领到薪水时就会有足够的钱。现在问题来了,爱丽丝如何在不拖欠付款的情况下享受她的假期?
Visa与万事达卡暂停新的加密货币合作伙伴关系:金色财经报道,据路透援引消息人士,跨国金融服务公司Visa和万事达卡暂停新的加密货币合作伙伴关系。知情人士称,Visa和Mastercard都已决定推迟推出某些与加密货币相关的产品和服务,直到市场状况和监管环境有所改善。[2023/2/28 12:34:47]
没错,答案就是——自动扣款。事实上,如果爱丽丝有一个银行账户,自动扣款是个非常简单的过程,只需将其扣款账户与Visa卡做个关联绑定即可。不过在区块链上,执行这样一个操作并不那么简单,然而作为一种新技术,值得我们探索上述场景的区块链智能合约解决方案。
在进入正题之前,让我们先了解一下以太坊账户的概念,目前以太坊网络上有两种类型的账户:
Real Vision创始人:ETH正迅速成为数字世界的货币,目前是表现更好的资产配置:前高盛高管、Real Vision创始人Raoul Pal今日连续发推表示:“当你在DeFi、NFT、社区代币甚至metaverse世界中给任何东西定价时,所有东西基本上都以ETH定价,包括设计者时间等。ETH正在迅速成为数字世界的货币,而BTC则是原始的抵押品和基础层。ETH的年增长率为100%(比特币的年增长率为50%),同时也吸引了大量的开发人才和应用程序。在风险周期的这一点上,随着ETH 2.0的到来(更便宜的费用和更少的供应),我正在努力不卖掉我所有的比特币来将我的核心仓位转移到ETH。需要明确的是,我是比特币的多头,但我认为目前ETH是表现更好的资产配置。”[2021/4/22 20:45:59]
外部拥有账户,通常被称为「用户账户」
合约账户,通常被称为「智能合约」
Bitcoin Advisory创始人:比特币可靠的同时又不稳定:比特币咨询公司Bitcoin Advisory创始人Pierre Rochard刚刚发推称,比特币可靠的同时又不稳定。[2020/8/20]
由私钥控制的用户帐户可以发送交易,而智能合约需要关联代码才能执行,但智能合约无法「自己发起交易」,因为交易必须始终源自用户帐户并由用户签名,这些交易包括:以太坊区块链上用户账户之间的简单Token转移,或是触发一系列通过智能合约执行许多不同操作、更复杂的交易。
那么,如何在以太坊区块链上实现自动支付呢?
让我们回顾一下爱丽丝的状况。
假设爱丽丝在以太坊区块链上拥有一个用户账户,并且把自己的薪水存放在账户里并用来支付房贷、有线电视费和水电费。今天,为了支付她的账单,必须发起一项交易,将Token从她的「外部拥有账户」转移到收款人的用户帐户。
TAAL任命Northwood Advisors董事为其首席财务官:TAAL分布式信息技术公司(简称TAAL)宣布任命投资咨询公司Northwood Advisors的董事和创始人Satoshi Kitahama为其首席财务官。(Newswire.CA)[2020/4/3]
详细点说,爱丽丝的「外部拥有账户」有一个只有她本人才知道的密钥/私钥,也只有她可以使用这个私钥生成椭圆曲线数字签名算法(ECDSA)签名,这个前面对于创建有效交易至关重要。然而如果爱丽丝外出度假,谁来生成这个签名并创建费用支付交易呢?
目前有一种解决方案,就是让爱丽丝使用托管钱包,即让第三方控制爱丽丝的私钥。换句话说,爱丽丝信任第三方来保护她的资金并在她想交易或将资金发送到指定账户,这么做的好处是爱丽丝可以通过资金托管方来生成为预定自动付款创建交易所需的签名,但坏处是她必须完全信任这个第三方。
VISA CEO:比特币不是钱,不会把它引入支付交易系统:根据17号(当地时间)CNBC的报道,全球专业支付企业 Visa的首席执行官 阿尔弗雷德·凯利(Alfred Kelly)称“虚拟货币不是钱”并表示不会把虚拟货币引入VISA的支付交易系统。 他说“我们不会把比特币看作支付方式,Visa 不允许基于虚拟货币的交易,只允许基于法定货币的交易。”[2018/1/18]
那么,如果爱丽丝因为担心风险不想使用托管钱包,而是使用自我保管的钱包并安排自动付款,该怎么做呢?接下来,让我们引入另一个概念——账户抽象。
什么是账户抽象?
账户抽象是一项尝试通过使用户账户像智能合约一样运行、并且将用户账户和智能合约合并为一个全新以太坊账户类型的提案。未来,账户抽象将能使我们为自动支付设计一个简洁的解决方案,而且在链上验证交易过程中具有更大的灵活性,比如:
可通过多重签名验证启用多所有者帐户。
允许使用后量子签名来验证交易。
允许一个所谓的公共账户,任何人都可以通过完全取消签名验证来进行交易。
本质上,账户抽象允许可编程的有效性来验证和确认任何区块链交易,基于以太坊协议的交易不必完全基于有效性条件的硬编码,而是可以基于「定制化」方式将一些条件写入账户智能合约中。
更重要的是,由于可以设置不再包括签名验证的有效性规则,账户抽象支持自动支付,下面就让我们来看看如何实现吧。
可委托账户——用账户抽象来实现以太坊链上自动支付功能
Visa的以太坊自动支付解决方案是利用账户抽象概念并创建一种新型账户合约——可委托账户,其主要想法是扩展交易的可编程有效性规则以包括预先批准的允许列表。简单来说,账户抽象可以将用户账户发起的自动支付操作委托给预先批准的自动支付智能合约。
首先,商户需要部署自动支付智能合约。当拥有可委托账户的用户访问商家网站时,他们将看到批准自动支付的请求——类似于Visa接受的账单。此时,用户可以看到自动支付合约将以用户的名义执行操作,其中能够按照用户需要设定参数,比如每月只能向用户收费一次、收费不能超过设定的最大金额等。最重要的是,由于这是一个智能合约,用户可以确信自动支付合约不会以其他方式被执行。
如果用户同意批准自动支付,钱包会将自动支付合约的地址添加到用户可委托账户的允许合约列表中。
接下来,商户通过调用自动支付合约的charge函数触发支付。自动支付合约就会触发用户的账户发起一笔推送支付交易,这笔交易将是有效交易,因为已被预先添加到允许列表中。
除了经常性支付之外,该解决方案还可以满足现实世界里的其他不同应用,Visa委托账户解决方案未来甚至可以扩展到第三方账户恢复等服务。
在StarkNet上实施账户抽象
由于以太坊尚不支持账户抽象,Visa已经在StarkNet上实施可委托账户解决方案,StarkNet是Layer2区块链,建立在以太坊区块链之上,以提高交易吞吐量以及其他功能以改善底层区块链结算层能力,由加密初创公司StarkWare开发。StarkNet的账户模型就是Visa目前所说的账户抽象,抽象账户则会检查交易是否来自给定地址。
对于具体账户,如果有人向用户账户发送Token,会与Token合约交互,Token合约会检查用于签署交易以进行此传输的身份是否记录为Token的当前所有者。对于抽象账户,如果有人向您的账户发送Token,也会与Token合约交互,Token合约会检查用于进行此转移的身份是否被记录为Token的当前所有者。对于抽象账户,重要的是谁在执行交易,而不是如何执行交易。
借助StarkNet账户模型,Visa能够实施可委托账户解决方案,从而为自托管钱包启用自动支付功能。
结论
作为世界上最大的支付网络之一,Visa正在积极探索智能合约创新解决方案,以推动实现可编程货币和支付
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。