In a blog post published on December 19, 2022, Visa described a system for automated Ethereum payments using the Layer 2 solution StarkNet. The system will make it possible to set up automated recurring payments using self-custodial wallets.
Visa cited anticipated increases in blockchain adoption as one reason for developing a recurring payment system. This system is already possible with “legacy” payment options like PayPal, credit cards, and mainstream checking accounts. It makes subscriptions that require monthly or yearly payments more convenient – though it’s usually a good idea to go through and remove automated payments for subscriptions that you don’t use anymore.
Smart contracts aren’t quite capable of that yet partly because cryptocurrency payments are still typically manual. Most “self-custodial” wallets like Coinomi or Metamask still require a person to send the payment. This makes recurring payments more of a hassle for people who would like to pay for their subscriptions in their cryptocurrency of choice.
(Personally, I don’t judge if you’d rather use a cryptocurrency that has lower transaction fees than Ethereum does for payments that you make regularly, lol. Lightning Network? Well, sure, but that comes with its own issues like the occasional case of funds freezing for hours, though I’m sure LN developers are doing the best they can. Maybe someday, smart contracts with Account Abstraction can work with other cryptocurrencies too.)
Visa thinks it can change that with an Ethereum proposal called Account Abstraction. With Account Abstraction, it would be possible to create smart contracts that can process recurring payments even when the holder of the private key does not initiate each transaction. It combines elements of existing “user accounts” that include private keys stored on the account owner’s personal device and smart contracts that can execute a function when a certain condition is met. A contract with Account Abstraction could include code that says in effect, “On the fifth of every month, have the subscriber’s Ethereum address send 0.05 ETH to a specific address controlled by the subscription service.”
Visa emphasized that Account Abstraction could enable a system in which users wouldn’t have to worry about the bills being paid even if they are busy when the due date arrives – effectively the point of having automated recurring payments in the first place.
Did Visa Plagiarize the Idea?
Visa did not actually invent the idea of creating a system that uses Account Abstraction. It simply looks at the idea of recurring payments from the perspective of a payment network that’s used to other payment systems like the Automated Clearing House (ACH) system that mainstream financial systems use.
Etherworld published a description of Account Abstraction in October 2021. It cited a proposal posted by Vitalik Buterin, EIP-4337, which describes an Account Abstraction via Entry Point Contract specification. This specification could enable a form of Account Abstraction that eliminates the need for any changes to the consensus-layer (“Layer 1”) protocol.
Even before EIP-4337, Vitalik Buterin seemed to have ideas for Account Abstraction. His EIP-86 proposal published on February 10, 2017, described a system for “abstraction of transaction origin and signature.” The idea was to “abstract out” signature verification and nonce checking, which could allow for “account contracts” that could bypass the normal mechanism for initiating a transaction.
Just two months ago, experts were talking about it at the Ethereum Foundation’s Devcon Bogotá, as seen in the below video.
Visa proposed creating a system that uses Account Abstraction to enable recurring payments on a Layer 2 solution called StarkNet, which uses Zero Knowledge rollups to improve scalability. Its blog post seems to imply that it is already working on implementing Account Abstraction protocols for blockchain applications – a functionality that it says blockchain in its current form lacks.
Visa calls it “thought leadership.” However, the idea of Account Abstraction has been around at least since 2017, when the idea occurred to Ethereum co-founder Vitalik Buterin.