Skip links

view
drag

How Avalanche makes eCash better

TL;DR: The combination of Avalanche and Nakamoto consensus on the eCash network will eventually allow exchanges to safely accept 0-confirmation XEC deposits, which would be a first for a Bitcoin fork. Avalanche will also contribute to scaling efforts needed to increase overall transaction throughput while maintaining low transaction fees.

Disclaimer: I am not a computer scientist or a developer, just an avid eCash enthusiast who enjoys writing as a way to teach myself as well as communicate with others.

In case you didn’t know, there’s a reason exchanges force you to wait 6 confirmations before crediting you with your Bitcoin, and it’s not because they purposefully want to make it a horrible user experience for their customers.

There’s also a reason that Bitcoin transaction fees are often over a dollar and sometimes can spike up to $50 or more during times of heavy congestion.

No matter how you slice it, the Bitcoin user experience sucks, and rather than fast, cheap, and reliable, what you get is slow, expensive, and unreliable.

I’m not a software engineer, but I can only assume that writing good software is hard work. A great example is when comparing streaming services. In my experience, every streaming service is different. Netflix, Amazon Prime, HBO Max, Disney+, Apple TV, Hulu, Peacock, Showtime, the list goes on. If you’re like me, you’ve probably noticed that some platforms are faster than others, some are more prone to crashing, or have less features, etc.

The reason one performs better than another comes down to software, the lines of code that power these apps, and it’s no different in the cryptocurrency world.

If you’re like me, you’ve probably sat in front of your TV waiting for the next episode of your favorite show to start playing and wondered why can’t this app be faster? Or why does it keep crashing? Or why isn’t it starting from where I last left off?

Well, I’ve had those same kinds of feelings when it comes to crypto. Ever since I fell down the crypto rabbit hole, all I’ve ever wanted was a network that just works. A cryptocurrency that’s super fast, always cheap, and can safely be relied upon.

Unfortunately, I don’t believe that network currently exists. But I do believe there’s at least one project with the potential to finally deliver what I’ve been hoping for, and that project is eCash.

But I don’t want you to just take my word for it. I want you to understand why I believe this.

In order to do that we must first understand why Bitcoin is so underwhelming, which can be broken down into two main issues:

  1. Having to wait multiple block confirmations for transaction finality
  2. High transaction fees during times of network congestion

Issue #1: Having to wait multiple block confirmations for transaction finality

Exchanges often make you wait 6 confirmations for a BTC deposit because they want to be sure your deposit isn’t going to disappear as a result of a double-spend. The truth is that Bitcoin transactions are never technically “final”. Even after a transaction is included in a block, the transaction can be reversed, whether it’s due to an unintentional orphaned block, or because of a potential 51% attack. But the more block confirmations you have, the less likely this becomes, until the chances of being defrauded are so negligible that it’s safe.

Considering each confirmation takes an average of ten minutes, this waiting results in a horrible user experience for all parties. I don’t want to wait more than a few seconds for my favorite TV show to start playing, who wants to wait minutes or hours to see that their Bitcoin payment has been made?

But what if it was possible to achieve transaction finality within a matter of a couple seconds without sacrificing any of the other characteristics that makes Bitcoin so revolutionary? Well, this is what Avalanche brings to the table. By combining the Avalanche consensus mechanism with Nakamoto consensus, exchanges and merchants will no longer have to wait for a transaction to be confirmed in a block before letting their customers walk away with their purchase.

This is because Avalanche makes it impossible to include a double-spend of a “finalized” transaction in a block. Once a transaction goes through the Avalanche pre-consensus mechanism, the nodes on the network are in agreement as to which transactions are valid and which are not. This process only takes a couple of seconds, and if a miner does try to include a double-spend transaction in a block, the Avalanche post-consensus mechanism will result in the errant block being discarded by the rest of the network.

This is a game changer in my opinion. It would not only make eCash the go to cryptocurrency for moving funds from one exchange to the other, but it would also finally give us a truly reliable payment method that can be safely accepted around the world.

Issue #2: High transaction fees during times of network congestion

While issue #1 has to do with security, issue #2 is all about scaling. What do I mean by scaling? I’m talking about taking something that works on a small scale and making it work on a large scale.

Let’s say you run a cupcake business. People absolutely love your cupcakes. Currently you can only make 1000 cupcakes a day, which always sell out before lunch even though you charge an arm and a leg for each one. You want to expand and grow the business and achieve economies of scale. By selling more cupcakes you can also charge lower prices. But making a million cupcakes a day is vastly different from making 1000 cupcakes a day and will require all kinds of optimizations to make it profitable.

This is the predicament that Bitcoin has found itself in ever since the mid-2010s. With the network only being able to handle roughly 7 transactions per second, the demand for being included in the next block is high, requiring users to pay a high transaction fee to in order to have any chance at all.

It’s okay if a bakery doesn’t want to expand, of course. Maybe you’re perfectly happy selling 1000 cupcakes a day and only serving your local neighborhood. But if your bakery is meant to feed the entire world, that would obviously be unacceptable.

Maybe this is why the Bitcoin project has pivoted from being a peer-to-peer electronic cash system to just being seen as digital gold. Rather than figuring out how to optimize the system in order to scale, the project’s developers are more focused on ensuring they can make their 1000 cupcakes a day.

Well, the leaders of the eCash project have other plans. They want to scale the XEC network so that the entire world can use it by expanding the throughput capacity and keeping fees low. How? By engineering the right solutions to the right problems.

One of the biggest bottlenecks preventing the Bitcoin network from scaling is block propagation, or the time it takes for a found block to be transmitted to all the nodes on the network.

Once a block is found, the miner who found it immediately sends along that information to all the other nodes it is connected to, who then verify that the block is valid and then relay that information to their peers and so on.

The smaller the block, the easier this is because there’s less data to be verified and transmitted. This makes perfect sense if you think of each node on the network like a human brain. How much easier would it be to validate 10 numbers on a small sheet of paper and then communicate that information to a friend compared to doing the same with a with giant sheet of paper with a million numbers on it?

Continuing with the analogy, let’s say that each person is in a competition with one another to be the one who gets to submit the next piece of paper with the numbers on it. To do so you must solve a complicated puzzle that gets easier or harder depending on how many people are playing the game. The purpose of the difficulty being adjusted is that each round should take 10 minutes on average before a solution is found. Whoever finds the solution is rewarded with new coins and alerts everyone else playing the game that they’ve won.

What happens next is that the other players verify the winner’s solution while also writing down any numbers on the winning piece of paper they didn’t already have.

Before moving on to solve the next puzzle, you must have the winning paper from the previous round because it contains a piece of information needed to start the next round.

This means that while whoever won last can start looking for the next solution immediately, the other players must receive and verify the prior round’s solution along with all the related data before continuing.

This is why block propagation times are so important. If the time it takes for everyone else to validate the found block is significant, then the previous round’s winner will always be at a significant advantage when looking for the next block.

In order for the system to work, it must be a fair system. If it’s determined that any given miner has an unfair advantage over the competition, then why would those other miners expend resources trying to compete in a game that is rigged? They wouldn’t, and the entire network would eventually fail.

All this to say that one of the key requirements to properly scale the system is to ensure block propagation times remain miniscule when compared to the overall time it takes to find the next block.

So how does Avalanche help in this regard?

Let’s go back to our example with the paper and the numbers on them. Imagine those numbers represent transactions being broadcast to the network. Depending on where in the world you are, the transactions you see might be different from another player in a different part of the world. Some of these transactions might be good, while others are bad, and you won’t know for sure until the block is found to confirm which ones made it or not.

As mentioned in the previous section, Avalanche pre-consensus ensures that whenever a block is found, almost everyone already knows exactly which numbers need to be on the paper making the verification process that much easier and faster. This means that the size of the blocks can be that much larger and contain a much greater number of transactions, and that’s what scaling is all about.

There are certainly going to be many other optimizations needed before the eCash network can successfully handle terabyte blocks and 5M transactions per second, but I believe the implementation of Avalanche consensus is a huge step in the right direction.

The fact is Avalanche also opens up all kinds of benefits not mentioned in this article, and the more I learn about it the more convinced I am that this is indeed the best path forward. Avalanche offers an elegant solution to various challenges that the other Bitcoin forks have so far either chosen to ignore or resorted to inferior solutions that may not actually be solutions at all.

Additional Resources:

https://mengerian.medium.com/avalanche-post-consensus-making-bitcoin-cash-indestructible-2464b1ae0382

https://chrispacia.medium.com/avalanche-pre-consensus-making-zeroconf-secure-ddedec254339