随着区块链采用率不断提高,人们对于卓越用户体验和支持实际用例的产品需求也变得越来越大。Visa已经为客户提供了便捷的自动扣款和定期自动付款功能,但像以太坊这样的区块链来说,实现这一功能似乎仍存在难度。以太坊是支付量最大的区块链网络,对于某些类型的链上数字钱包来说,定期从用户帐户中自动提取付款仍是一项「大工程」。
对此,Visa提出了账户抽象概念,并以此探索如何用智能合约来实现自动化可编程支付,以及演示如何为支持自动提取资金的自托管钱包编写智能合约。
用例场景
考虑一个场景:假设今天是2月25日,爱丽丝要去阿尔卑斯山度假,她将于3月10日返回,但又必须在每个月的5日之前支付房贷、有线电视费和水电费,问题是她在休假前并没有足够的钱去付款,不过在3月1日领到薪水时就会有足够的钱。现在问题来了,爱丽丝如何在不拖欠付款的情况下享受她的假期?
Crypto.com向澳大利亚用户开放虚拟Crypto.com Visa 卡申请:11月1日消息,加密货币借记卡公司 Crypto.com 宣布已向澳大利亚用户开放虚拟 Crypto.com Visa 卡申请。澳大利亚用户可在 Crypto.com 应用程序中申请该虚拟卡,无需实体卡即可进行在线购物,Crypto.com Visa 卡提供 8% 的消费返现和 LoungeKey 机场休息室使用权以及 Spotify、Netflix 和 Amazon Prime 的订阅返利。Crypto.com 表示,该虚拟卡由 Foris GFS Australia Pty Ltd 发行,持有澳大利亚证券和投资委员会颁发的第 467462 号澳大利亚金融服务许可证(AFSL)和 Visa Worldwide Pte Ltd 的许可证。
此前报道, Crypto.com 于今年 3 月向欧洲用户开放虚拟 Crypto.com Visa 卡申请。[2021/11/1 6:24:31]
没错,答案就是——自动扣款。事实上,如果爱丽丝有一个银行账户,自动扣款是个非常简单的过程,只需将其扣款账户与Visa卡做个关联绑定即可。不过在区块链上,执行这样一个操作并不那么简单,然而作为一种新技术,值得我们探索上述场景的区块链智能合约解决方案。
Solana生态跨链稳定币交易平台Saber推出开源代码库Visper:Solana生态跨链稳定币交易平台Saber在推特上介绍了一个开源代码库Visper,该代码库包含了检查和验证等功能,可用于协助Solana上项目安全性的检验。Saber表示,Solana的费用机制与以太坊不同,执行的代码数量不会影响交易成本,所以最好设计尽量多的安全审查代码以最大程度减少出现漏洞的可能。[2021/8/16 22:17:40]
在进入正题之前,让我们先了解一下以太坊账户的概念,目前以太坊网络上有两种类型的账户:
外部拥有账户,通常被称为「用户账户」
合约账户,通常被称为「智能合约」
由私钥控制的用户帐户可以发送交易,而智能合约需要关联代码才能执行,但智能合约无法「自己发起交易」,因为交易必须始终源自用户帐户并由用户签名,这些交易包括:以太坊区块链上用户账户之间的简单Token转移,或是触发一系列通过智能合约执行许多不同操作、更复杂的交易。
加密分析师Lark Davis:BTC、ETH、ADA和一种爆炸性的山寨币可能会在7月份出现巨大收益:加密货币交易员兼分析师Lark Davis列出了4种数字资产,他预计这些资产将在7月份大幅升值。Lark Davis表示,在6500亿美元的市值下,不要指望比特币一夜之间涨20倍或类似的价格。但我们可能会看到比特币在7月份的一个相当不错的走势。(DailyHodl)[2021/7/1 0:20:04]
那么,如何在以太坊区块链上实现自动支付呢?
让我们回顾一下爱丽丝的状况。
假设爱丽丝在以太坊区块链上拥有一个用户账户,并且把自己的薪水存放在账户里并用来支付房贷、有线电视费和水电费。今天,为了支付她的账单,必须发起一项交易,将Token从她的「外部拥有账户」转移到收款人的用户帐户。
详细点说,爱丽丝的「外部拥有账户」有一个只有她本人才知道的密钥/私钥,也只有她可以使用这个私钥生成椭圆曲线数字签名算法(ECDSA)签名,这个前面对于创建有效交易至关重要。然而如果爱丽丝外出度假,谁来生成这个签名并创建费用支付交易呢?
Bitcoin Advisory创始人:比特币拥有比其他货币都多的“参考客户”:比特币咨询公司Bitcoin Advisory创始人Pierre Rochard今日发推称,比特币拥有比市场上任何其他货币产品都多的“参考客户(reference customers)”。什么是参考客户?1. 真实的人,不是假想的。2. 在生产环境中实际运行的。3.实际购买或获得了产品。4. 向其他人宣传产品。[2020/8/4]
目前有一种解决方案,就是让爱丽丝使用托管钱包,即让第三方控制爱丽丝的私钥。换句话说,爱丽丝信任第三方来保护她的资金并在她想交易或将资金发送到指定账户,这么做的好处是爱丽丝可以通过资金托管方来生成为预定自动付款创建交易所需的签名,但坏处是她必须完全信任这个第三方。
那么,如果爱丽丝因为担心风险不想使用托管钱包,而是使用自我保管的钱包并安排自动付款,该怎么做呢?接下来,让我们引入另一个概念——账户抽象。
什么是账户抽象?
公告 | Spend推出支持TRX交易的Visa卡:据TRON DApps官方,Spend用户现可以通过Visa卡与TRX进行金融交易。通过Spend App,用户可访问一个多币种数字钱包,并将其链接到银行账户。[2019/2/16]
账户抽象是一项尝试通过使用户账户像智能合约一样运行、并且将用户账户和智能合约合并为一个全新以太坊账户类型的提案。未来,账户抽象将能使我们为自动支付设计一个简洁的解决方案,而且在链上验证交易过程中具有更大的灵活性,比如:
可通过多重签名验证启用多所有者帐户。
允许使用后量子签名来验证交易。
允许一个所谓的公共账户,任何人都可以通过完全取消签名验证来进行交易。
本质上,账户抽象允许可编程的有效性来验证和确认任何区块链交易,基于以太坊协议的交易不必完全基于有效性条件的硬编码,而是可以基于「定制化」方式将一些条件写入账户智能合约中。
更重要的是,由于可以设置不再包括签名验证的有效性规则,账户抽象支持自动支付,下面就让我们来看看如何实现吧。
可委托账户——用账户抽象来实现以太坊链上自动支付功能
Visa的以太坊自动支付解决方案是利用账户抽象概念并创建一种新型账户合约——可委托账户,其主要想法是扩展交易的可编程有效性规则以包括预先批准的允许列表。简单来说,账户抽象可以将用户账户发起的自动支付操作委托给预先批准的自动支付智能合约。
首先,商户需要部署自动支付智能合约。当拥有可委托账户的用户访问商家网站时,他们将看到批准自动支付的请求——类似于Visa接受的账单。此时,用户可以看到自动支付合约将以用户的名义执行操作,其中能够按照用户需要设定参数,比如每月只能向用户收费一次、收费不能超过设定的最大金额等。最重要的是,由于这是一个智能合约,用户可以确信自动支付合约不会以其他方式被执行。
如果用户同意批准自动支付,钱包会将自动支付合约的地址添加到用户可委托账户的允许合约列表中。
接下来,商户通过调用自动支付合约的charge函数触发支付。自动支付合约就会触发用户的账户发起一笔推送支付交易,这笔交易将是有效交易,因为已被预先添加到允许列表中。
除了经常性支付之外,该解决方案还可以满足现实世界里的其他不同应用,Visa委托账户解决方案未来甚至可以扩展到第三方账户恢复等服务。
在StarkNet上实施账户抽象
由于以太坊尚不支持账户抽象,Visa已经在StarkNet上实施可委托账户解决方案,StarkNet是Layer2区块链,建立在以太坊区块链之上,以提高交易吞吐量以及其他功能以改善底层区块链结算层能力,由加密初创公司StarkWare开发。StarkNet的账户模型就是Visa目前所说的账户抽象,抽象账户则会检查交易是否来自给定地址。
对于具体账户,如果有人向用户账户发送Token,会与Token合约交互,Token合约会检查用于签署交易以进行此传输的身份是否记录为Token的当前所有者。对于抽象账户,如果有人向您的账户发送Token,也会与Token合约交互,Token合约会检查用于进行此转移的身份是否被记录为Token的当前所有者。对于抽象账户,重要的是谁在执行交易,而不是如何执行交易。
借助StarkNet账户模型,Visa能够实施可委托账户解决方案,从而为自托管钱包启用自动支付功能。
结论
作为世界上最大的支付网络之一,Visa正在积极探索智能合约创新解决方案,以推动实现可编程货币和支付。
原文标题:《如何把以太坊改造成自动支付系统?读懂Visa要用「账户抽象」做什么》
原文作者:AndrewBeams、CatherineGu等,Visa
原文编译:Jordan,PANews
来源:区块律动
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。