随着区块链采用率不断提高,人们对于卓越用户体验和支持实际用例的产品需求也变得越来越大。Visa已经为客户提供了便捷的自动扣款和定期自动付款功能,但像以太坊这样的区块链来说,实现这一功能似乎仍存在难度。以太坊是支付量最大的区块链网络,对于某些类型的链上数字钱包来说,定期从用户帐户中自动提取付款仍是一项「大工程」。
对此,Visa提出了账户抽象概念,并以此探索如何用智能合约来实现自动化可编程支付,以及演示如何为支持自动提取资金的自托管钱包编写智能合约。
用例场景
考虑一个场景:假设今天是2月25日,爱丽丝要去阿尔卑斯山度假,她将于3月10日返回,但又必须在每个月的5日之前支付房贷、有线电视费和水电费,问题是她在休假前并没有足够的钱去付款,不过在3月1日领到薪水时就会有足够的钱。现在问题来了,爱丽丝如何在不拖欠付款的情况下享受她的假期?
派盾:某钓鱼地址通过ClaimRewards钓鱼攻击盗取约104枚ETH:7月10日消息,派盾(PeckShield)监测显示,钓鱼地址Fake_Phishing182233已通过ClaimRewards钓鱼攻击盗取约104枚ETH(约19.4万美元)。[2023/7/10 10:45:38]
没错,答案就是——自动扣款。事实上,如果爱丽丝有一个银行账户,自动扣款是个非常简单的过程,只需将其扣款账户与Visa卡做个关联绑定即可。不过在区块链上,执行这样一个操作并不那么简单,然而作为一种新技术,值得我们探索上述场景的区块链智能合约解决方案。
在进入正题之前,让我们先了解一下以太坊账户的概念,目前以太坊网络上有两种类型的账户:
外部拥有账户,通常被称为「用户账户」合约账户,通常被称为「智能合约」
欧洲央行大楼出现巨型比特币LOGO的投影:金色财经报道,据Bitcoin News在社交媒体上表示,欧洲央行大楼出现巨型比特币LOGO的投影。[2023/3/31 13:36:19]
由私钥控制的用户帐户可以发送交易,而智能合约需要关联代码才能执行,但智能合约无法「自己发起交易」,因为交易必须始终源自用户帐户并由用户签名,这些交易包括:以太坊区块链上用户账户之间的简单代币转移,或是触发一系列通过智能合约执行许多不同操作、更复杂的交易。
那么,如何在以太坊区块链上实现自动支付呢?
让我们回顾一下爱丽丝的状况。
假设爱丽丝在以太坊区块链上拥有一个用户账户,并且把自己的薪水存放在账户里并用来支付房贷、有线电视费和水电费。今天,为了支付她的账单,必须发起一项交易,将代币从她的“外部拥有账户”转移到收款人的用户帐户。
新加坡将要求散户投资者在交易加密货币之前进行测试:金色财经报道,新加坡中央银行周三在一系列措施中提议,新加坡可能很快就会要求零售投资者参加测试,不得使用信用卡支付和其他形式的借贷来交易加密货币,因为这个岛国希望让公民意识到围绕波动性资产的风险。新加坡金融管理局在一份咨询文件中称,它担心许多零售客户可能\"对数字支付代币交易的风险没有足够的认识\",这可能导致他们承担比他们本来愿意或能够承担的更高的风险。
几个加密货币交易所已经要求他们的客户在被允许交易加密货币和参与衍生品交易之前定期筛选问卷。央行承认,一些行业参与者支持对零售客户的风险知识进行某种形式的评估。新指南在 12 月下半月之前向公众咨询,还建议加密服务提供商不应使用奖励措施,例如向零售客户赠送免费代币或其他礼物。它还提议禁止名人代言。[2022/10/26 16:39:44]
详细点说,爱丽丝的「外部拥有账户」有一个只有她本人才知道的密钥/私钥,也只有她可以使用这个私钥生成椭圆曲线数字签名算法(ECDSA)签名,这个前面对于创建有效交易至关重要。然而如果爱丽丝外出度假,谁来生成这个签名并创建费用支付交易呢?
纳米比亚央行:可以接受比特币作为支付方式:金色财经报道,纳米比亚央行BON宣布,它现在以分阶段的方式将虚拟资产(VA)和虚拟资产服务提供商(VASP)纳入其金融科技创新监管框架。BON在9月底发布的一份声明中强调,尽管比特币(BTC)等数字货币仍未得到法律认可,但如果零售商和经销商“愿意参与这种交换或交易”,他们可以接受这种形式的资金。
值得注意的是,该央行表示正在考虑“与其他有关当局协商,努力修改适用的法律法规”。此前,该央行表示它不承认、支持和建议公众拥有、利用和交易加密货币,同时还警告纳米比亚人,如果他们丢了钱,将没有法律追索权。(Finbold)[2022/10/7 18:41:35]
目前有一种解决方案,就是让爱丽丝使用托管钱包,即让第三方控制爱丽丝的私钥。换句话说,爱丽丝信任第三方来保护她的资金并在她想交易或将资金发送到指定账户,这么做的好处是爱丽丝可以通过资金托管方来生成为预定自动付款创建交易所需的签名,但坏处是她必须完全信任这个第三方。
V神:新书《Proof of Stake》已经出版:9月28日消息,以太坊创始人Vitalik Buterin发推表示,其新书《Proof of Stake》已经出版,“这本书汇集了我在过去10年中创作的各种著作,感谢所有帮助实现这一目标的人!”
此前报道,Vitalik Buterin于8月31日表示,其近十年文集《Proof of Stake》数字版和实物版将出版。读者现可在Gitcoin为其捐赠并获得数字副本和纪念NFT,全部收益将用于公益事业。[2022/9/28 22:35:47]
那么,如果爱丽丝因为担心风险不想使用托管钱包,而是使用自我保管的钱包并安排自动付款,该怎么做呢?接下来,让我们引入另一个概念——账户抽象。
什么是账户抽象?
账户抽象是一项尝试通过使用户账户像智能合约一样运行、并且将用户账户和智能合约合并为一个全新以太坊账户类型的提案。未来,账户抽象将能使我们为自动支付设计一个简洁的解决方案,而且在链上验证交易过程中具有更大的灵活性,比如:
可通过多重签名验证启用多所有者帐户。允许使用后量子签名来验证交易。允许一个所谓的公共账户,任何人都可以通过完全取消签名验证来进行交易。
本质上,账户抽象允许可编程的有效性来验证和确认任何区块链交易,基于以太坊协议的交易不必完全基于有效性条件的硬编码,而是可以基于“定制化”方式将一些条件写入账户智能合约中。
更重要的是,由于可以设置不再包括签名验证的有效性规则,账户抽象支持自动支付,下面就让我们来看看如何实现吧。
可委托账户——用账户抽象来实现以太坊链上自动支付功能
Visa的以太坊自动支付解决方案是利用账户抽象概念并创建一种新型账户合约——可委托账户,其主要想法是扩展交易的可编程有效性规则以包括预先批准的允许列表。简单来说,账户抽象可以将用户账户发起的自动支付操作委托给预先批准的自动支付智能合约。
首先,商户需要部署自动支付智能合约。当拥有可委托账户的用户访问商家网站时,他们将看到批准自动支付的请求——类似于Visa接受的账单。此时,用户可以看到自动支付合约将以用户的名义执行操作,其中能够按照用户需要设定参数,比如每月只能向用户收费一次、收费不能超过设定的最大金额等。最重要的是,由于这是一个智能合约,用户可以确信自动支付合约不会以其他方式被执行。
如果用户同意批准自动支付,钱包会将自动支付合约的地址添加到用户可委托账户的允许合约列表中。
接下来,商户通过调用自动支付合约的charge函数触发支付。自动支付合约就会触发用户的账户发起一笔推送支付交易,这笔交易将是有效交易,因为已被预先添加到允许列表中。
除了经常性支付之外,该解决方案还可以满足现实世界里的其他不同应用,Visa委托账户解决方案未来甚至可以扩展到第三方账户恢复等服务。
在StarkNet上实施账户抽象
由于以太坊尚不支持账户抽象,Visa已经在StarkNet上实施可委托账户解决方案,StarkNet是Layer2区块链,建立在以太坊区块链之上,以提高交易吞吐量以及其他功能以改善底层区块链结算层能力,由加密初创公司StarkWare开发。StarkNet的账户模型就是Visa目前所说的账户抽象,抽象账户则会检查交易是否来自给定地址。
对于具体账户,如果有人向用户账户发送代币,会与代币合约交互,代币合约会检查用于签署交易以进行此传输的身份是否记录为代币的当前所有者。对于抽象账户,如果有人向您的账户发送代币,也会与代币合约交互,代币合约会检查用于进行此转移的身份是否被记录为代币的当前所有者。对于抽象账户,重要的是谁在执行交易,而不是如何执行交易。
借助StarkNet账户模型,Visa能够实施可委托账户解决方案,从而为自托管钱包启用自动支付功能。
结论
作为世界上最大的支付网络之一,Visa正在积极探索智能合约创新解决方案,以推动实现可编程货币和支付。
自动支付是现有区块链基础设施所缺乏的核心功能之一,但利用账户抽象的概念可以为自托管钱包提供自动定期支付功能,甚至可以将自动支付之外的其他现实世界应用引入区块链,继而为传统支付渠道和新兴支付渠道创造更好的用户体验。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。