Last updated 2 years ago
Smart contract concurrency on eUTxO blockchains is severely limited.
AVOUM presents an account view on eUTxO blockchains, together with a notion of malleable transactions, which enable much higher concurrency.
This is the total amount allocated to AVOUM on Cardano.
AVOUM ON CARDANO
Account-View on UTXO Models
Overview
You like the massively parallel verification of transactions of UTXO blockchains (Cardano, Bitcoin Cash, Nervos…), yet would like to queue future transactions in a fire-and-forget style as on Account blockchains (Ethereum-style) ?
Well that's exactly what our technology offers, and its name is AVOUM (Account-View On UTXO Models). AVOUM involves intentionally malleable transactions and malleation scripts with which miners automatically rebase transactions on top of the contract's latest state UTXOs.
Now that Cardano is smart-contract-capable, we want to design and propose to implement a technique whereby users may interact with DApps using the convenient Account/Balance model made popular by Ethereum on top of the Cardano Blockchain
The two main issues we solve are:
"Open" contracts with an unlimited number of participants or transactions can be subject to economic DoS attacks whereby sophisticated attackers can modify the contract's UTXO faster than the victims can react, thus blocking them from interacting with it. By making these transactions suitably malleable, intermediaries (at equilibrium, miners) can compete to get the transactions accepted by the blockchain in exchange for a fee.
Writing UTXO unlocking scripts wherein transactions are suitably malleable enables users to interact with contracts as if the blockchain were using an Account/Balance model; but applying the design pattern by hand requires a great discipline and the result may or may not be recognized by the transaction posting intermediaries (miners). Our solution is to automate this discipline away using a suitable library.
Our solution will enable the safe deployment of "open" contracts on the Cardano blockchain (a feat not currently possible) and will bring its smart contract capabilities in parity with Ethereum.
For more detailed information about our approach and case-studies regarding AVOUM, please read our 7 pages long more detailed approach.
Current State
AVOUM already exists on another blockchain, thanks to an ongoing partnership with Nervos. Thus we know that this technology is functional, and that most of the design questions have already been answered.
AVOUM has been mentioned as an upcoming technology in a tweet by IOG https://twitter.com/InputOutputHK/status/1434518415155384321),,) and also in this video by Charles Hoskinson, starting around 12:50: https://www.pscp.tv/w/1OyKAELNozzKb.
Technical Goals
Proof of Concept for Malleability in Plutus
The first step for this project is to write a design that allows a simple "open" contract with malleable transactions where one UTXO can be substituted for another.
Deliverables
The deliverables for this phase will be:
A study detailing the feasibility and design for AVOUM on Plutus.
A set of proposed API modifications (to the PAB, etc.) to enable malleable transactions.
Budget and Timeline
We estimate this initial phase will involve (not necessarily full-time) one senior architect and one senior engineer for approximately one month, whose efforts will cost $26,500.00.
Future Steps for subsequent Catalyst Funds:
The second step will be to develop a change to the node software so it can correctly run the auction contract.
The third step will be to develop a general-purpose library for "open" contracts in Plutus.
The fourth and last step will be to develop a general-purpose library for malleable transactions in the node.
NB: Monthly reporting was deprecated from January 2024 and replaced fully by the Milestones Program framework. Learn more here
MuKn (Mutual Knowledge Systems, Inc.) has already prototyped AVOUM on Nervos' CKB.