Hey friends 👋
One of the reasons I started making content is that I love to learn new things. And whenever I do, I find that the best way to really make sure I understand them is to explain them to others 👨🏫 After all, if you can’t explain it to a beginner, do you really understand it?
Recently I’ve been looking at different blockchains and trying to figure out what draws people to them. I’ve explained why people find Bitcoin so compelling, some of the trials and tribulations I experienced when I first began experimenting on Ethereum, and of course some of the ways DeFi beginners and power-users alike can take advantage of the Polygon network.
But there is one chain I’m hearing a lot about lately. It’s one of the fastest growing DeFi ecosystems, and one that I’m particularly curious about. I’m talking, of course, about Avalanche 🏔
According to its proponents, Avalanche is supposedly ultra fast, relatively cheap, and the most secure of all blockchains 👀 Now, I’ve done some reading as well as some experimenting of my own, and in this article, I’m going to try to separate the hype from the reality, as well as find out just how to get started with some DeFi on the Avalanche network.
Regarding that last part: this post is brought to you through generous support of PoolTogether’s PoolGrants program and I’ll be including a video all about how to use PoolTogether v4 on Avalanche.
PoolTogether is a crypto prize-linked savings account which means that as you save, your interest is pooled together with the interest of other depositors to make prizes that anyone can win. It’s a bit like a lottery, except you never lose your deposit. And with low-cost chains like Polygon & Avalanche available, you won’t have to worry about losing money on exorbitant gas fees ⛽️
Check out this video to learn more 👇
And without further ado, let’s hit the slopes ⛷
What is Avalanche?
Those familiar with Ethereum, Bitcoin, and the core concepts of blockchain technology will likely have heard of the blockchain trilemma. This idea proposes that a blockchain needs to offer three elements to be successful: security, decentralization, and scalability, but in doing any two well, the third is inevitably sacrificed ⚖️
For example, Bitcoin is seen by many to achieve a high level of security and decentralization, yet its small block size and long confirmation time limit its scalability. As I mentioned in my post about Bitcoin, there are solutions being worked on to bring greater functionality and scalability to Bitcoin from Layer 2 solutions like the Lightning Network, to wrapping Bitcoin for use on other blockchains.
Still, some feel that Bitcoin’s design itself is flawed. That the lack of smart contracts is too big of a limiting factor, and the proof-of-work system doesn’t offer sufficient decentralization under scrutiny 🔬 Ethereum too suffers critiques for failing to scale to meet its immense popularity. As a smart contract platform offering near-endless programmability, Ethereum still manages to achieve a high level of security and decentralization, but even as progress is being made to scale via Layer2 solutions, many new and experienced users alike feel limited by the high cost of doing transactions on the network 💸 Cost is, afterall, another impediment to scalability.
How is Avalanche Different?
“We have an in-house joke that there is no blockchain trilemma”
— Kevin Sekniqui, COO at Ava Labs (Wired)
In order to understand what makes Avalanche different, we first need to understand its key point of differentiation: its consensus mechanism
Coming to Consensus
You’ve likely heard the terms proof-of-work and proof-of-stake (I hope so, since I already used them in this article). And you may even have heard them referred to as consensus mechanisms, but this is actually a misnomer. In fact these are what’s known as Sybil resistance mechanisms and they are only half of the true consensus mechanism employed by a given blockchain.
Sybil resistance measures how a protocol fares against a Sybil attack. Sybil attacks are when one user or group pretends to be many users. Resistance to this type of attack is essential for a decentralized blockchain and enables miners and validators to be rewarded equally based on resources put in. Proof-of-work and proof-of-stake protect against this by making users expend a lot of energy or put up a lot of collateral. These protections are an economic deterrent to Sybil attacks.
The other half of this consensus couplet is what’s called the chain selection rule.
A chain selection rule is used to decide which chain is the “correct” chain. Ethereum and Bitcoin currently use the “longest chain” rule, which means that whichever blockchain is the longest will be the one the rest of the nodes accept as valid and work with. For proof-of-work chains, the longest chain is determined by the chain’s total cumulative proof-of-work difficulty.
The combination of proof-of-work and longest chain rule is known as “Nakamoto Consensus.”
Nakamoto consensus, named for Bitcoin’s pseudonomous creator(s) is used by most proof-of-work blockchains including the current version of Ethereum. However, alongside the shift to proof-of-stake as part of the Ethereum 2.0 roadmap this will change to a new consensus mechanism known as Casper FFG that uses checkpoint verification for chain selection 👻 You can learn more in the Casper whitepaper.
Novel consensus mechanisms have been proposed, and even implemented by other blockchains. Most use proof-of-stake for sybil resistance as this appears to be the most secure option. Cardano’s Ouroboros protocol sits somewhere in the middle of these two with what it calls the local longest chain rule (see page 23 of the whitepaper) that allows for chain selection without checkpointing, albeit with a longer time to finality — more on that later.
Avalanche — right, that’s the focus of this article, isn’t it? — uses a family of consensus protocols collectively referred to as Snow ❄️
Inspired by gossip algorithms, this family gains its properties through a deliberately metastable mechanism. Specifically, the system operates by repeatedly sampling the network at random, and steering correct nodes towards a common outcome.
Similar to Nakamoto consensus, the Snow protocol family provides a probabilistic safety guarantee, using a tunable security parameter that can render the possibility of a consensus failure arbitrarily small.
— Avalanche Consensus Whitepaper (page 1)
Essentially, the protocol continually polls small, random groups of validators, and combines their consensus (determined by supermajority within the group) with the consensus of other groups. This is what’s meant by “gossip.” 💬 As the gossip spreads, confidence increases until the network consensus is finalized.
One of the key benefits of these Snow protocols are that they are not reliant on a specific Sybil resistance mechanism, though the whitepaper proposes that they align best with proof-of-stake.
Interestingly, Avalanche consensus (the combination of Snow protocols + Proof-of-stake) allows claims to provide a greater safety threshold than Ethereum or Bitcoin’s 51% 💪 According to the Avalanche website this threshold is at 80%, though the Avalanche whitepaper (page 2) notes that the system “can uphold safety (but not liveness) guarantees” under these conditions.
Consensus is important for security and decentralization, but what matters most to the untrained user is speed and cost. Ultimately, these are both functions of throughput. Often measured in transactions per second or TPS, throughput can mean different things to different people. For example, Visa can handle tens of thousands of transactions per second, but those transsactions are not final. Each requires immense trust in Visa to make their daily, weekly, or even monthly settlements 🤝
In trustless systems, we often criticize blockchains that prioritize security because slow confirmations makes them unusable in day to day life. No one wants to wait tens of minutes for a Layer 1 transaction on Ethereum or Bitcoin to finalize before they can leave the store. Of course Layer 2 solutions solve for this, whether Bitcoin’s Lightning Network or Ethereum’s rollups or even Plasma sidechains like Polygon.
But abstraction and, worse still, fragmentation can discourage users. Indeed the ideal amount of friction for most modern people is none at all. And thus the rise of Layer 1 solutions.
The history of blockchains tells us that most monolithic approaches fail, and yet it’s entirely plausible that they don’t actually have to. While some such chains like EOS or Solana, are likely more hype than reality, as we’ve seen already, Avalanche is doing something truly innovative 🙌
And the result? Avalanche can reach thousands of transactions per second, with a high degree of decentralization and security. Furthermore, this transaction count can be achieved on a per subnetwork basis 😲
Sharding is the process of partitioning various system resources in order to increase performance and reduce load. There are various types of sharding mechanisms. In network sharding, the set of participants is divided into separate subnetworks as to reduce algorithmic load; in state sharding, participants agree on storing and maintaining only specific subparts of the entire global state; lastly, in transaction sharding, participants agree to separate the processing of incoming transactions.
In Avalanche Borealis, the first form of sharding exists through the subnetworks functionality. For example, one may launch a gold subnet and another real-estate subnet. These two subnets can exist entirely in parallel. The subnets interact only when a user wishes to buy real-estate contracts using their gold holdings, at which point Avalanche will enable an atomic swap between the two subnets.
— Avalanche Platform Whitepaper (page 12)
So in essence, subnetworks (aka subnets) allow for the spreading of the network load such that only those who wish to be stakeholders in a given asset need participate (by becoming validators). Each subnetwork can contain multiple blockchains or DAGs of its own, which can be either public or private. This could be useful for companies or governments to make use of blockchain technology without exposing customer or citizens private data 🕵️
There is only one subnet which every validator must validate, the Default Subnet which contains Avalanche’s three main chains:
(X) The Exchange Chain
(P) The Platform Chain
(C) The Contract Chain
This DAG-based chain serves two important functions. It is used for payments due to its relatively simple functionality (it does not allow for the execution of smart contracts) and it is used for the creation of $AVAX and other assets.
This chain handles data/metadata. More specifically, it allows for the creation of subnets and blockchains, and the addition of validators to subnets.
This is the chain you will be most familiar with as you begin using Avalanche. It is an EVM-compatible smart contract blockchain. As such, it works with Metamask and connects to Solidity dApps that have been ported to (or built natively for) Avalanche. If you have ever used Ethereum or any EVM blockchain such as Polygon, Terra, Harmony, Celo, or any rollups like Arbitrum or Optimism, this will function in essentially the same way from a UX perspective 👌
In the video that accompanies this article, I show you how to add Avalanche (C-Chain) to Metamask, send $AVAX from exchange to your wallet, and do a few basic smart contract interactions: swaps on a decentralized exchange (Sushiswap) and depositing into PoolTogether’s prize-linked savings 💰
Speaking of which, let’s talk a bit about talk about the token that powers this whole ecosystem…
Avalanche’s native token has a lot in common with Ethereum’s Ether token; at least in the upcoming proof-of-stake system known as Ethereum 2.0. Given, however, that outside of Kintsugi testnet users, none of you will have hands-on experience with that, I will instead draw comparisons to a token which is available for use today: $LUNA 🌏
Like $LUNA does for the Terra Blockchain, $AVAX serves the following functions on Avalanche:
- A unit of account
- Used to pay transaction fees
- Secures the network by serving as collateral for staking
Similar to LUNA and Ethereum (since the implementation of EIP-1559), $AVAX is burned with each transaction, adding deflationary pressure 🔥 Unlike those examples, where a base fee is burned, and a premium is paid to validators/miners, all of the $AVAX from the transaction fee is burned. And given that the total supply of $AVAX is capped at 720,000,000, the constant reduction in supply is a net benefit to all network stakeholders, including those who are invested passively 📈
Since they don’t receive the transaction fees, stakers earn, instead, rewards paid out by token inflation. There are two interesting features of these staking rewards. First, while Avalanche does not employ slashing to penalize bad actors (in part due to their confidence that their consensus mechanisms sufficiently neutralize them), the rewards themselves are the incentive not to go against the network. Validators who maintain adequate network uptime, validate transactions, and maintain stake within the minimum and maximum allowable durations, will receive compensation of up to 11% annually ✨
Secondly, the staking rewards/issuance rate, as well as the transaction fees, and requirements for staking, are all — within certain pre-established boundaries — subject to vote by avalanche holders.
That’s right, unlike $LUNA and $CELO, it is not only the stakers who can vote (though only they can create proposals)…
$AVAX is a highly inclusive platform, which enables anyone to connect to its network and participate in validation and first-hand in governance. Any token holder can have a vote in selecting key financial parameters and in choosing how the system evolves.
— Avalanche Platform Whitepaper (page 2)
In Avalanche, we see a platform that tries to defeat the blockchain trilemma through innovative approaches that don’t rely on centralization. Thus far, no other blockchain has succeeded at achieving this. The most promising contender, in my view, is Ethereum with its modular roadmap, but this is still but a work in progress ⏳
Avalanche too chooses modularity, but in a novel form. It claims to optimize for speed and security while still simultaneously achieving decentralization, but it does so through complex interwoven mechanisms that most either pretend to understand, or ignore completely 😵💫 Merely scratching the surface in this article has required weeks of sifting through whitepapers, articles, and youtube videos…
This complexity, like so much in blockchain, can be a turn off to newcomers. Often it feels like smoke and mirrors, distractions that serve to cover overly-centralized, or ill-conceived designs. This skepticism is necessary, laudable even. Complacency will benefit no one long term. Other chains making grand promises and frequently touted as Ethereum-killers, from EOS to Solana, do not inspire much confidence under scrutiny 😒
Yet, Avalanche, stands out, to me at least, as one to watch. I began investing months ago. Mostly, I was just curious. And like so much of what I do for this project, I cared more about experimentation than guaranteed returns. Perhaps I’m not the greatest investors, but I am a technophile 🤓 And if this works — if any of this works — it could mean a reshaping of the internet, of commerce, of ownership, and even of democracy. So I remain hopeful that the blockchain trilemma is either solvable, or that Kevin Sekniqui is correct and “there is no blockchain trilemma”
Until next time 👋
This post is brought to you thanks to a grant from PoolTogether.
As always the opinions expressed are my own, I do not work with projects I don’t believe in, and I implore you to do your own research before investing. If you have any questions, feel free to comment below or tweet at me. If you liked what you read, considering tipping to thumbsupfinance.eth or thumbsupfinance.crypto. I’ve done a thread about how to do this 💖