A response to Justin Bons

Photo by picjumbo.com on Pexels.com

I was just about to go to bed on a Sunday night when I saw Justin Bon’s long-awaited, deeply researched analysis of Cardano. I kid. I think he had at most a week to research it and I’m going to have to guess he was doing it in his spare time as there was a lot of inaccuracies to address.

But rather than go to bed and wait for this to blow up I thought I might as well sit down and write up a response. Ok let’s go through it point by point.

“2/20: To begin with one of the most obvious & important metrics; network capacity The maximum throughput of ADA is only 7.4 TPS! Putting it below BTC in capacity, which is pathetic This is also only 1/14th of the capacity of ETH! ADA’s bark is clearly louder then its bite”

Ok there’s several things to say on this. Yes TPS on Cardano is low at the moment, but that was always the intention. The roadmap for Cardano was to get smart contracts up and running first with the lowest possible parameters, then gradually increase them in addition to making more significant scalability upgrades. Look, there’s even pictures of dead dudes to prove it. Goguen was the smart contracts phase which ended last year, Basho began this year and were are only 4 months in.

So why did they separate scaling? Why not do it in tandem with Goguen? Simply put the real scaling solution is not the increase of a few parameters; it’s pipelining and input endorsers. Relying simply on ever larger block sizes is the easy solution and could have been done, but there are reasons why one shouldn’t do this as a first resort. Don’t believe me? Just ask Bitcoiners. Instead the plan is to solve the scalability problem in a much more significant way while keeping the protocol as efficient as possible.

That being said, incremental updates to the parameters have been made since the start of January. Again they have been the bare minimum in order to avoid bloating while waiting for the longer term scalability solutions.

A max throughput of ~8 TPS is what it would have been at the start of this year, but with the incremental updates that have been made since then, the TPS is definitely higher now. Not sure how much by but it’s substantial enough for IOHK to say that the blockchain is running extremely well currently across all DApps in their most recent update. << Just click on this link to hear for yourself. Everything is running well with block propagation time being under 2-3 seconds. That’s the level you want to be at while waiting for the pipelining and input endorsers (IE) to be implemented.

So what are these two big updates going to do for scaling, and when are they likely to arrive? Check out the table below, taken from an IOHK blog post. The top row is where Cardano was at the start of the year before the aforementioned minor updates. The different columns represent the different size of transactions ranging from 0.5 kB for a simple non smart-contract transaction, to 2kb for a heavy Plutus script requiring the full 32ms of computation that it’s allowed. In the top left corner you see the prior max throughput of 8 TPS.

https://iohk.io/en/blog/posts/2022/03/21/increasing-the-transaction-throughput-of-cardano/

Ok so what does this chart tell us? The second row is what would happen if IOHK decided to just whack up all the dials to the max right now. We can see how it could easily surpass Ethereum and be on par with others just by doing that. IOHK have been increasing the dials but they are nowhere near to having maxed them out yet.

Instead pipelining, the third row of this table. is very likely coming in June. You can see what a significant improvement pipelining will have regardless of whether you whack up the dials or not. That is 2 months away.

Ok so what’s this AV. Is that the same as IE? Nope. AV stands for asynchronous validation. It’s actually a pretty interesting concept that I’ll have to write about some other time. But in any case – IOHK decided it’s not even needed. It’s just there in the bag of tricks should we ever want it.

Input Endorsers is not listed in this table but that’s a biggie. That is aiming to come at the end of this year though I would caution and say given the complexity don’t be surprised if it isn’t completed until Q1 next year. IE will take TPS up to Solana levels of speed. It’s based on research that was done for Bitcoin, but getting anything to change on Bitcoin is close to impossible. However it will be implemented on Cardano.

Oh and btw in all of this, I have not even touched upon the fact that EUTXO transactions allow multiple transactions to be bundled into one! It’s not a new concept – Bitcoiners were talking about this years ago.

3/20) This is because of Plutus; The ADA smart contract platform is so unoptimized that it cannot handle any more increases in capacity Without causing downstream problems in the network due to script execution taking to long Forming a major bottleneck for the entire network!

This is outdated information. Refer back to what I said about current levels of performance above. I’m surprised that the authors “deep dive” research did not include potentially useful sources of information such as the most recent status update from IOHK.

4/20) To make things even worse the mempool has a fixed maximum size set to two blocks or around 630 TXs Rendering ADA completely unusable at any significant scale When the memory pool hits its limit TX’s will simply be dropped by the network Rendering ADA extremely unreliable

Mempools for those that don’t know are the waiting lounge for transactions, as they wait to be processed. Now I’m not technical enough to understand what the limitations are on the mempool but I can say this argument falls flat if TPS is increasing as transactions won’t spend too long in the mempool before they get processed.

Edit: I received some extra info.

1. The design does not rely on a large mempool (unlike bitcoin).

2. The mempool is just a network buffer to smooth out the flow of transactions. The mempool is not and will not be a bottleneck as throughput is increased.

3. Transactions that are not yet in the mempool are not dropped. They’re just still pending. This is called back-pressure.

5/20) Even more unreliable then a blockchain network just being congested Adding injury to insult ADA also completely lacks any sort of fee market! As TX’s are processed on a first seen basis This is why TX’s are so deceptively cheap over ADA!

No transaction fee market? GOOD! Holy moly batman, have you not heard what’s been happening on Ethereum due to MEV?

6/20) This is because it lacks a economic mechanism to prioritize TX’s (fee market) Leading many people to overlook the deeper problems ADA possesses This also has the effect of making spam attacks on the network extremely trivial Attackers can easily & cheaply block ADA usage

IOHK are investigating a tiered fees system. Again I’m astonished by the lack of research. Here you go, I’ve googled it for you. Very first link. Thank me later.

You’ll see that IOHK is seeking to come up with a fair fee system that doesn’t make Cardano a blockchain for the rich like Ethereum is.

7/20) As a matter of fact BTC is far more usable in comparison As it is able to support a much larger memory pool & actually has a fee market BTC being the lowest possible bar for comparison A 2nd generation blockchain should perform far better than BTC yet ADA is worse!

As mentioned, mempool limit is irrelevant if transaction are being processed quickly. Mempool can be increased (and for all I know there may be discussions on that) but the more you increase mempool the higher the specs needed to run the node become. Cardano’s answer to everything is not to throw a super computer at it. Bitcoin mining requires very expensive hardware, as does Ethereum mining, and fee markets allow for MEV. Cardano is forging a different and fairer path.

8/20) Now it is time to discuss the elephant in the room; ADA smart contracts Because ADA is based on a UTXO model & not a account model Smart contracts have to be processed deterministically Degrading ADA’s ability to have a functional global state which is critical for DeFi!

The idea that you cannot have DeFi without global state, is disproven by the fact we have DeFi on Cardano, right now. However I will have to leave the argument on this others that are much better versed than I as I am not a DeFi developer, but I’m sure @ravanave can comment.

9/20) This means that all smart contracts over ADA can only process one TX’s at a time (per block) If you are not that one lucky user to make it into the block you would simply get a failed TX notice instead This is exactly what the SundeaSwap DEX did

1 block can process at least 4 scripts. And one script can do multiple transactions. And one transaction can do multiple transactions as a batch. I made notes on all this from the January IOHK update vid (though I can’t give you the exact timestamps so you’ll have to watch it for yourself).

So not sure where this notion that Cardano can only process one transaction is coming from.

10/20) In its epic failure of a launch it was completely unable to process any significant amount of TX’s The vast majority of users being completely unable to interact with the smart contract at all Facing a failed TX notice instead of actually being able to use the DEX!

This point seems to just be a re-hash of earlier points that I’ve already addressed.

Right I’m going to have to end it here as it’s quite late for me. Will see if I can finish off the rest tomorrow.

Photo by Pexels.com

Ps. If you enjoyed reading this please consider subscribing to my YouTube channel. I need to get to a thousand subscribers so I can edit this rather embarrassing URL: https://youtube.com/user/FucksSakeUserName

Published by ReddSpark

Follow me on Twitter: https://twitter.com/Reddspark1

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: