Aquarium is a decentralized protocol that enables sponsored transactions, babel fees and schedulable transactions on Cardano.
It consists of a set of smart contracts where users/projects can provide liquidity and of an open set of Aquarium nodes that compete to trigger scheduled transactions. Fees generated by Aquarium are then distributed by the registered nodes. The Aquarium nodes have to stake a certain amount of $FLDT to register.
A Tank is a on-chain object owned by a user or project that contains ADA and that can be used to sponsor users transactions or to allow them to pay the transaction fees with Cardano native tokens.
A Rule is a condition that triggers a scheduled transaction. The user creates a Rule preparing the transaction and the Aquarium nodes will compete to timely execute it.
Several algorithms have been compared to choose a proper decentralized and fair management for the Aquarium nodes.
At first, a sequential time-based leader election algorithm was considered, but our simulations showed that the most profitable transactions concentrate in very specific moments and that would cause an unfair distribution of the nodes revenues.
A random time-based leader election could potentially solve this problem, but the generation of a fair random value is unfeasible.
Therefore, any node can be a leader any time, competing with other nodes to execute the transactions at the correct time.
The revenues are then accumulated in a proper address and redistributed to the nodes proportionally of their actual work.