Posts about Cardano
Cardano is perhaps one of the more controversial cryptocurrencies in the space. Many people absolutely adore it and believe it’s the future. Many completely despise it. In this post I will go over the advantages and disadvantages of Cardano
If you prefer to read on substack, here is the link
There are 2 ways to store users’ balances. The simpler and more intuitive model is the account model. This model is like how you have an account with a balance at a bank account. It’s very simple and easy to understand.
The other model is the UTXO model which is what Cardano uses. This model is more like a list of coins with the current owner of the coins. When users want to spend a coin, they will destroy the coin(s) they own and create new coin(s) with new owner(s). The new coin(s) need to have the same value as the destroyed coin(s).
This model is more complicated to understand at first, but when it comes to parallel processing, the UTXO model is much simpler. If you have 2 transactions trying to spend different coins, you can easily have different cores of a processor process each transaction. It’s only in cases where two transactions are trying to spend the same coin that you need to have agreement between the nodes on the order they came in.
With the account model it is more complicated to parallelize transactions but newer chains like Algorand and Solana have done it which makes the UTXO model less of an advantage compared to before.
The UTXO model also seems like the easier model to prevent state bloat. Cardano has set it up so that the more data you want to store in the UTXO set, the more ADA is required in the UTXO. This sets a limit on the maximum state size so prevents the state from growing too large. State bloat is a big issue with EVM based chains so this is a big advantage.
Compared to the typical ERC20 style smart contract for managing secondary tokens in the network, native assets are a nicer solution.
Native assets have a much better UX as they are treated as first class citizens of the chain and don’t need things like setting approvals which is an annoyance with ERC20 tokens.
They are also much cheaper to use than ERC20 tokens as they are just a field in the UTXO instead of a smart contract that you need to interact with.
It’s very easy to verify the Cardano blockchain. Block sizes are small and occur roughly every 20 seconds. To verify the correct staker posted the block, you just have to verify a simple verifiable random function. This means you can run a Cardano node on lightweight and accessible hardware which allows for high decentralisation.
Currently the node specs might actually be too low. One of Cardano’s main selling points is using the UTXO model so it can do parallel transactions however nodes only require a 2 core CPU. Parallel processing is not much of an advantage with only 2 cores so I’d expect node specs to increase a bit in the future.
Cardano’s current inflation rate is only 3% and is expected to slowly drop to 0% by around the year 2050. This inflation rate is already pretty low so gives Cardano good tokenomics for potentially being a store of value.
It’s not as well distributed as Bitcoin or Ethereum but compared to the vast majority of cryptocurrencies, Cardano tokens are well distributed. Distribution tends to get better over time and generally more distribution happens when the price goes up. ADA is now a fairly old token and has gone through multiple hype cycles so should be fairly well distributed.
The initial distribution of tokens is not bad either. Again, not as good as Bitcoin or Ethereum who mainly distributed via mining but compared to most cryptocurrencies, not too many tokens went to the founders and VC’s. Most tokens were distributed via a public ICO which is the second best way after mining.
If you are not the first mover who already has the majority of developers, having the funds to develop the protocol and ecosystem is important.
Network effects are incredibly important for blockchains. Dapps and users attract more dapps and users to a chain. However it’s incredibly difficult to attract developers and users away from the status quo in the first place so being able to tempt them with money to bootstrap the ecosystem is a valid strategy. Cardano has a sustainable source of funds to do this through its treasury which gets built up through fees.
Cardano uses a consensus method called Ouroboros which is based on the longest chain style of consensus methods. Longest chain methods tend to be more robust than BFT based methods as they don’t need to receive a vote from every single participant to stay live and instead just use probabilistic finality based on how the recent participants have voted with their blocks. BFT style methods will shut down if more than 34% of the participants are offline but longest chain methods will keep going even if 99% are offline, albeit at a much slower speed.
When you use the longest chain model for consensus, you get improved liveness but generally sacrifice speed. However, even taking that into account, Cardano is slow to reach a solid level of finality.
Consensus methods are voting models. With longest chain models, every time there is a fork, each validator votes on the chain they want to win by adding a block to the chain they prefer. Whichever chain ends up longest will have had the most votes so will be the winner.
The problem for Cardano is that only 1 validator votes every ~20 seconds and each vote doesn’t have much voting weight behind it. Ethereum also uses the longest chain model but each block added has many validators attesting to it so has much more voting weight behind it.
With Cardano, every epoch, a random set of validators, based on their stake, are selected to produce blocks/votes. These chosen validators will have 100% of the voting power within this epoch. For Cardano, an epoch 21,600 blocks. This means there are 21,600 votes over the epoch, each one represents 1/21600 or 0.0046% of the voting power for the epoch.
Ethereum has 100% of validators split into 32 equal committees every epoch and each committee is responsible for producing a block/vote. For Ethereum, an epoch is 32 blocks. This means each block represents 1/32 or 3.1% of the voting power.
It would take almost 4 hours for Cardano to have the same amount of voting weight on a block as Ethereum does after one 12 second block making it 1200x slower.
This method of comparison probably isn’t the best but it’s very hard to find a good way to model the voting weight for each Cardano block.
Cardano is currently not scalable at all and is in fact one of the lowest throughput chains in the space being only able to handle around 7tps of basic transactions and more like 1-4tps when smart contract transactions are mixed in. Bitcoin which is known for low throughput does 7tps.
Increasing the node specs and future updates like Input Endorsers should increase the throughput significantly so it should get better over time. However, it’s unlikely to compete with high throughput chains like Algorand or Solana unless it makes the same sacrifices to decentralisation as them.
Longest chain models do come with the major advantage of being robust but this comes at the cost of only having probabilistic finality.
More modern PoS longest chain models such as the ones used in Ethereum, Polkadot and Near, tend to use an Ebb and Flow model where they use the longest chain model to produce blocks but also have a BFT finality gadget running on top of it to provide finality. These models get the benefits of the longest chain model whilst also being able to provide finality.
Cardano does not have this and should think about adding a finality gadget on top of Ouroboros. There’s little to no downside of the Ebb and Flow model compared to a pure longest chain model.
Cardano has static fees. If there are more transactions than the network can handle then people don’t pay higher fees but instead join a queue and just have to wait. The mempool for Cardano is not that big so the queue gets full quickly. This means people have to keep posting their transaction over and over until there is room in the mempool again. (edit: it looks like I used old info here. Nodes can make their mempools bigger.) There is no in-built method to guarantee your transaction reaches the blockchain during times of congestion.
If this scenario were to play out for a significant length of time, you will end up with users contacting stake pools directly and giving them a fee to guarantee their transactions will be included in blocks. If there is demand for block space, people will be willing to pay extra to get it, even if it’s outside of the protocol.
Fee markets are inescapable if there is not enough supply to match demand so whilst Cardano may not have an on-chain fee market, an off-chain fee market would develop if people actually used the chain. If a fee market is inevitable, it’s better to have it on chain where it’s transparent and fair.
Every block, each UTXO can only be spent by 1 person as when they are spent, they get destroyed. For simple transactions this is fine. If you own the UTXO then being the only person who can spend it is not an issue.
However smart contract UTXO’s are UTXO’s that can be spent by anyone. If more than one person within a block wants to interact with a DEX to buy a token, they can’t. The first person will spend the UTXO destroying it so the second person can no longer interact with it. This means you can’t have multiple people concurrently interacting with a smart contract per block.
To get around this limitation, apps have had to force users to interact with them off chain using centralised services. Here they are more prone to censorship or things like sandwich attacks.
The concurrency problem is not something that is unavoidable with the UTXO model. FuelLabs have created a smart contract language using UTXO’s that don’t suffer from the same issue but they sacrificed being completely deterministic to do it. Cardano could go in the same direction to get rid of this issue. The current situation where users are forced off chain already sacrifices determinism for users so FuelLabs’ UTXO model seems like the better option.
If you are unfamiliar with Hydra, I have a video explaining how it works here: https://youtu.be/Mx79j_-HRmk
Hydra can give potentially unlimited scaling between a small group of users as long as they are all online, have powerful enough computers to do it and are in complete agreement with each other. However the use cases for this are limited.
It’s very difficult to keep a large group of people in complete agreement over something for long periods of time and you are always prone to trolls who just like to disagree for no reason. This limits the number of people per Hydra head to around 10 people which limits its use cases.
Many dapps have community owned assets like liquidity pools which users interact with for things like trading or taking loans from. You can’t move these pools to hydra heads so the heads are limited to whatever assets the group of users bring with them. This means that the majority of defi is not possible on Hydra.
State channels like the lightning network (BTC) and Raiden (ETH) have largely been a failure but it looks like Cardano is still pursuing them heavily with Hydra. It’s hard to see why Cardano has so much confidence in a technology that doesn’t have a good track record.
Hydra is meant to be made up of two parts, Hydra heads and Hydra tails. Very little information has been revealed on Hydra tails so maybe they have something up their sleeve that will solve the problems with Hydra heads but we will have to wait and see.
Sidechains also seem like a big part of Cardano’s scaling roadmap. Sidechains don’t share security with Cardano and each sidechain needs to find its own security. This is incredibly difficult. Not only do side chains need a token with a large market cap, they need it to be well distributed as well if they want a good level of security. This is not an easy problem so the number of secure side chains will be limited.
Again, this is another technology that the rest of the crypto ecosystem has tried and deemed not good enough but Cardano seems to be spending a lot of resources pursuing them.
If you are a staker then no slashing will be an advantage for UX but staking is meant to be about security first and foremost and slashing brings added security to the protocol. Proof of stake protocols that don’t implement slashing are more open to bribe attacks or collusion between validators. In Cardano, if a validator adds a block to 2 conflicting forks there is no punishment.
If consensus methods are voting models and validators are being paid to choose a side, shouldn't there be a punishment if they vote for both sides?
If I am running a staking pool I may have staked with just 1 ADA out of my own tokens and have 64,000,000 ADA delegated to my validator node. In this scenario, I will have little alignment with keeping Cardano secure and yet I will have quite a bit of power within the ecosystem.
If an attacker came along with a large bribe for helping with an attack, it would be rational behaviour for me to accept the bribe. I don’t have a lot of tokens locked up that can be slashed and I don’t care if my 1 ADA loses some value.
No slashing combined with the majority of stake being delegated and not owned by the validators makes Cardano more prone to bribe attacks than other proof of stake protocols that do have slashing and don’t have delegation.
Cardano may spend a significant amount of time researching the best ways to do things but this has meant it doesn’t really have real world experience on what is needed. When I look at Ethereum or Solana’s roadmaps I see things addressing MEV and fee markets due to the unpredicted ways in which users used their chains.
For Cardano there’s nothing on MEV. Barely anyone is using Cardano so they don’t have a problem with it but if they ever start to get an active DeFi economy they will realise it’s inevitable and something that will need to be researched. We’ll then have to wait years for a solution to be researched and built.
When I look at Ethereum L2’s, I can see they already tried building state channel solutions and plasma chains which failed. Them failing with these experiments completely changed their roadmap and was one of the best things that happened because these failures eventually developed into rollups.
Cardano decided it wanted to use state channels with Hydra years ago and is only trying it now. The ideas it is developing haven’t actually been tested in the real world.
Despite listing a lot of disadvantages here, I actually like Cardano. The tokens are fairly well distributed, they prioritise keeping node specs modest and they value robustness. Their core values are great.
They also actually try different things. They aren’t trying to recreate Ethereum with slight improvements. They have their own methods for trying to achieve the same goals.
Unfortunately, different is not always better and they have been very slow to implement their ideas. To me when I look at Cardano I see a chain that is trying to become the ideal cryptocurrency from the ideas available in 2015. The rest of the space has largely moved on from experimenting with side chains and state channels but Cardano has not.
So whilst the core values may be good, they are too slow at implementing them. The rest of the space is racing ahead. By the time Cardano will have completed its roadmap and realised it’s not good enough, other projects will already be far ahead.
Looking at it as an investment, Cardano has largely lived on hype. Reality will never match the hype so when it launched smart contracts that didn’t solve all the world’s problems, it was seen as a disappointment.
I struggle to see Cardano being able to generate as much hype as it did in previous bull cycles. It can no longer live on the promise of smart contracts and Hydra solving everything as these both now exist on main net and neither have lived up to the hype. For this reason, I see it struggling to reach the same heights in the next bull cycle unless it gains significant adoption.
If you enjoyed this post, check out my previous posts for other cryptocurrencies. I’m planning to create posts like this for all the major layer 1 cryptocurrencies so subscribe to my substack if you don’t want to miss them.
In the opinion of the Securities and Exchange Commission (SEC), ADA is arguably a security. This opinion is stated in the SEC's lawsuit against Binance and Coinbase. The mainstream media has seized on this assumption and writes that the ADA is a security. People have bought into FUD and are scared. Anyone in the world can use Cardano and does not need to ask the SEC for permission. Every blockchain project, including Cardano, is deliberately built so that it is impossible to stop the network or prevent users from using the network. There are countries that will ban cryptocurrencies and countries that will welcome them into their territory.
Why are people worried about what the SEC thinks about the ADA? If you understand the principles of decentralization you shouldn't care. We must have assumed that resistance from the authorities would come and now we are supposed to be afraid?
What happened to the decentralized revolution and the effort to resist the authorities protecting the status quo? Why are Bitcoin maximalists praising the SEC for their opinions and influencers trying to vehemently tell everyone the information that ADA is definitely security? Do you like Cardano and do you like the mission of the project? Stop worrying about what the SEC says. A potential lawsuit will very likely rule that the ADA will not be considered a security anyway. Stick to the principles of decentralization and look ahead. Cardano is a modern technology that is stronger than an outdated American institution relying on decades-old laws.
The success of blockchain networks will not be based on SEC decisions but on the number of users. People have started buying project tokens like stocks, but blockchains need users. The utility will determine market capitalization. Just stake ADA from your own wallet and let the SEC know you support Cardano's existence. The SEC can only watch helplessly.
This article was prepared by Cardanians with support from Cexplorer.
Read the article: https://cexplorer.io/article/cardano-doesn-t-care-if-ada-is-a-security