1/ Why #Avalanche is even better than I initially thought (part 2)?
2/ In our previous thread we discussed how *fast* the distributed #Avalanche *consensus* mechanism can sync all honest nodes:
3/ Above you see how after *only* 3 rounds the entire set of honest participants are in sync: Despite 15% being faulty (or malicious), the system manages to achieve the max. possible consensus level of 85% (for the overall network).
4/ Please note, that we performed here 1000 simulations for 10000 nodes using the *current* stake distribution. Synchronizing honest nodes is really fast!
5/ Let's experiment with another distribution of stakes, this time the *Pareto* distribution:
6/ As you see above, there are now a few laggards. The #Avalanche consensus does *not* always manage to synchronize all honest participants. The reason is due to the "Law of Large numbers" (LLN); let me explain:
7/ In probability theory LLN is a theorem that describes the result of performing the same experiment a large number of times.
8/ According to the law of LLN, the average of the results obtained from a large number of trials should be close to the expected value and will tend to become closer to the expected value as more trials are performed.
9/ This feature of LLN is what #Avalanche exploits and what makes it also so fast. However, LLN has its *limitations* as we saw in the *Pareto* distribution:
10/ The average of the results obtained from a large number of trials may fail to converge in some cases. For instance, the average of n results taken from the Cauchy distribution or some Pareto distributions will *not* converge as n becomes larger; the reason is *heavy tails*.
11/ The Cauchy distribution and the Pareto distribution represent two cases: the Cauchy distribution does *not* have an expectation, whereas the expectation of the Pareto distribution (α<1) is *infinite*.
12/ So LLN does not work with the Cauchy and Pareto stake distributions. This is the reason, why #Avalanche cannot guarantee liveness: In such cases it may just take a little longer.. but we saw that we can easily fix this by voting with mapped ("virtual") stakes:
13/ Here we have taken the 3/4th power of the Pareto distribution, i.e. (scaled) double square-root of cubed stakes:
14/ Above, liveness has clearly improved and in 1000 simulations over 10'000 validator nodes *every* single simulation managed to synchronize all honest nodes.
15/ Not only did liveness improve, but decentralization has also improved because by taking the 3/4th power of Pareto distributed stakes, we took away some (virtual) voting power from the large validators and gave it to the smaller ones.
16/ So, as shown it is possible so salvage #Avalanche consensus even when the stakes are horribly distributed. But there is still a problem:
17/ The #Avalanche *consensus* mechanism is fantastic to synchronize honest nodes. But it assumes that the majority of the stake-weighted nodes is honest. If however the stake-weighted majority is controlled by a single entity - like e.g. the #Avalanche foundation..
18/ ..then we have a problem: A completely valid transaction could be blocked (i.e. censored) by the #Avalanche foundation nodes. The *consensus* mechanism is *very* efficient, but it is _also_ efficient for good *or* bad decisions!
19/ And since the current distribution of $AVAX is so blatantly distributed with a GINI of 85.6%, it *consensus* mechanism has *always* a bias in favor of the larger stake holders validating transactions:
20/ The reason the #Avalanche foundation is holding so much $AVAX is because 360M $AVAX have been *PRE-MINED* and very little has actually been sold to "outsiders", while the "insiders" have kept most of the funds.
21/ This means that the *Proof-of-Stake* _sybil_ mechanism protects the network from malicious actors, but it also *centralizes* the network. And since so far, *all* validators rewards are proportional, this *gargantuan* stake imbalance will remain in place.
22/ Now there are ways to *fix* this stake imbalance as well; check out these blog posts of mine at calaganne.blogspot.com/2021/05/avalan… and at calaganne.blogspot.com/2021/05/avalan… - none of which have been implemented yet: it boils down to *taxing* the rich & rewarding the poor, like in any real economy.
23/ But, despite the #Avalanche foundation having really messed-up their PoS sybil protection, the technology (or at least vision) is so *good* we can still salvage the platform with the help of *subnets*! Let me explain:
24/ So, summarized: #Avalanche the consensus mechanism *works* very efficiently to synchronize validators, but due to the bias introduced by the *PoS* protection against external malicious actors, it leads to internal centralization by the foundation.
25/ But *Proof-of-Stake* is *not* the only sybil protection in town! We still can combine other protection mechanism with #Avalanche. One, that #BTC has proven (over a decade) to be robust enough is *Proof-of-Work*!
26/ Actually, even the *original* #Avalanche paper makes this point: "The #Avalanche *consensus* mechanism can be combined with any *sybil* protection", like PoS, PoW, or even weird stuff like Proof-of-Spacetime.
27/ Now, that means we could start a new #Avalanche subnet and use the same *Proof-of-Work* sybil protection like e.g. #Monero does with their Cryptonight algorithm. How? Let me explain:
28/ The Cryptonight PoW is (according to #Monero) centralization resistant! So, a validator could mine in the background *voting rights*, and when a #Avalanche polling request comes in, exercise those rights getting in exchange some tokens, let's call them *POWER* coins.
29/ These *POWER* tokens would be really valuable, because you can only create them via PoW and then help to secure the subnet. Thanks to #Avalanche you still would have sub-second finality.
30/ I actually image a "Create Subnet" button in the #Avalanche wallet, where I could then select some parameters including (via a drop-down menu) from various *sybil* protection mechanism and then power up my truly *decentralized* #Avalanche sub-network!

• • •

Missing some Tweet in this thread? You can try to force a refresh

Keep Current with NoTex Editor

NoTex Editor Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!


Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @notexeditor

27 May
State of #Avalanche: a) number of validators at 982, 😎 b) TVL at 258.7M $AVAX, 🤑 c) GINI at 85.6%:
WTF: TVL is *down* by 40M $AVAX in the last 7 days? I guess somebody is pumping up validators numbers, and trying to reduce the *apparent* GINI I'm measuring.. 🤣 Note that *real* GINI is by definition _worse_, due to the top validators belonging to the foundation..
1/ Why the socio-economic structure of #Avalanche and #Turkey are similar? Let me explain:
Read 16 tweets

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!