Hi All,
I’m discussing the recent post by Prof. Kiayias on the IOHK website.
I feel like this was somewhat convoluted and wanted to clarify and respond with my thinking and I hope to hear from you too.
First off - this makes perfect sense and I couldn’t imagine it working any other way. You overpay in coin X and some of that is siphoned off by the SPO to use to pay for a few transactions.
Secondly - I think this post entirely misses the tokenomics aspect of why any SPOs would offer this ‘service’ - even if it is ticking a box in their software setup, the costs matter. Fundamentally the SPO is performing the service of fronting the ADA for the person who has no ADA to cover the minimum ADA fee. They need to be incentivised to do this.
I think this can go one of two ways, the SPO can start accumulating lots of random coins, or the smart contract can automatically exchange away in a secondary/built-in secondary micro-transaction to convert the excess fee covering X into ADA. I think most will want to auto-convert and deal in only ADA - they can invest in those coins on their own time if they wish, but it is worth considering and perhaps including as an option if it doesn’t overcomplicate/delay things…though this is dependent on having some DEXs avaialble to do this and/or somehow running an exhcange/conversion within the transaction—but how do you do this with no DEX or Oracles? It cannot be typed figures from the SPO, that’s absurd, it must be automated as per my later point ‘thirdly’.
Fundamentally in terms of tokenomics, setting this up, etc. I think there needs to be a reward above and beyond the fees…perhaps that was meant to be implied by the 3:1 value ratio, but I don’t think it was clear in the original article if that’s what was meant. It should be 3 times the normal ADA fee.
1st fee amount comes from the risk/fronting of the ADA by the SPO as a ‘risk’ factor for a fast moving exchange rate - even if the SPO loses only a fraction of a percent…over many millions of transactions they’ll go broke, so they need to get covered for this risk to ensure they remain slightly cash positive, which is part of the reward for offering this service.
2nd fee amount comes from paying the fee to convert X to ADA from the first fee, which is a pure cost to the SPO after they’ve already fronted the first fee in the original transaction. Not to mention any costs associated with using the Oracle/DEX service! (which might have to be added on as an extra set of standard fees not measured in the regular ADA fee, but as a possible new standard fee add-on rate)
3rd fee amount is a pure reward to the SPO for providing this service. They don’t have to do it, they have to front a small private SPO liquidity pool to pay for the 1st fee which the coins X sender is not paying for, and if too many opt out because they have no incentive…then all this fancy thinking will amount to nothing.
So for example, the person sending coin X needs to front up 3 times the regular ADA fee at the spot price for the exchange. If the ada fee is 0.15, then the sending needs to provide an extra 0.45 ADA worth of coin X on top of the coin X they want to send.
0.15 is fronted/risked by the SPO and whatever price difference happens, most of this will be retained by the SPO as a reward. Part of this might go into oracles fees in step 2 as a cost.
0.15 is paid by the SPO to convert coin X to ADA using a service/the network/oracles mix.
0.15 is retained by the SPO for offering this service. Total rewards are likely to be slightly under 0.30 ADA after any risk from price change or extra oracle service is paid to check step 2 converting x coin to ADA.
Thirdly - it needs to be automated and linked to an SPO’s chosen exchange/oracle…those Cardano DEXs/servcies don’t exist at the moment, so it is hard to name them, but there needs to be a simple way of selecting a chosen oracles service/DEX price list and DEX service to automate these large number of very tiny trades to ensure as accurate as possible exchange rates.
Fourthly - I think this does not clog up the network, b/c it talks about integrating multiple trades into a single block entry…this way it functions as a ‘universal’ smart contract with native tokens to handle, exchange, and deliver only the desired coins. This is good and should be mentioned as a positive!
Fifthly - I think as a simple setup the SPO can be given a choice to accept all random coins, some random coins, or auto-convert everything to ADA…
The SPO can tick a box to either ‘accept’ these random coins or ‘auto-convert’ everything into ADA through incorporated micro transactions. Nominally I’d think/guess the majority of SPOs would want and would choose (though time would tell) to auto trade away these tiny amounts of X coins in favour of converting everything to ADA
…but having the choice to accept random coins as is can be an option to accumulate small amounts of random coins…maybe even have a personal whitelist of sorts where X, Y, and Z coins are retained for coins the SPO wants to accumulate and then the remainder are auto-insta traded into ADA…though because SPOs pick up blocks at random…it might be a problem on the network for them to all operate by their own rules instead of a common rule to ‘accept’ these coins or ‘auto-exchange’ to ADA. If it all happens in a single transaction, then you’d need a matchmaking service to figure out which smart contract to run so that everything can be embedded into the single transaction.
If you give up on the single transaction idea and instead have a separate ‘follow up’ transaction which the SPO executes, then a lot of the complexity is removed in terms of running the network and I’d suggest going in that directly. This way the network of SPOs always accepts 3x the ADA fee amount of coin X, and then the SPO’s system can be setup up to automate how those incoming coin X’s are handled.
If they don’t convert some ADA or top up their ADA pool to front for these transactions, then they will run out of ADA and not be able to offer this fronting service anymore.
So perhaps the auto-conversion to pay for the fee has to happen and no SPO can ever accept any coin X in the end. That’s proably the most elegant solution…but it needs to include some extra rewards to the SPO for offering this service and tying up some of their own ADA.
This will function to incentivise users to have ADA to pay for fees in their own wallets or incur a triple fee for using only coin X. That further increases the value of ADA while offering a useful service for those without ADA, that way no one ever get stuck or has to send ADA to a wallet with no ADA just go move a different coin…it is a great functionality and will be needed to support the upcoming ecosystem of native tokens…but the SPOs need to get paid for doing this or it wont happen.
On Eth you can jsut get ‘stuck’…on Theta they have a ‘faucet’ which will pay you a tiny amount of tfuel to pay for fees to move your coins if you get stuck, but with ADA this is the kind of elegant and awesome solution to avoid ever getting stuck in the first place without devaluing the role of ADA as the primary fee mechanism. We need to additionally preserve or expand the ADA tokenomics with these new native coins!
Thanks so much for reading! I’d like to hear your thoughts? Automation, instant ADA conversions, Oracles, Rewarding the SPOs for doing this, etc.