1/ THE TALES OF BLOCKCHAIN FAILURES

A Twitter novel

Who? When? Why?

Keep reading 👇👇👇
2/ Solana was down yesterday, Arbitrum was "down" as well.

Salty maxis crawled out from the caves shouting "#Bitcoin is never down" "#Ethereum is never down" "#IOTA is never down"

Technically they are not correct.
3/ So let's look at all the bad things that happened with the blockchain networks as a whole in history.
4/ Namely, we look blockchain *networks*. ERC-20 tokens and other smart contracts have bugs, rugs and fucks every day. These issues are not particularly interesting because the effect of the failure is well-contained.
5/ For example, we ignore e.g. episodes with two separate Parity multisig wallet hacks

coindesk.com/markets/2017/0…
6/ We also ignore the issue "network unavailable for practical purposes because the transactions are too expensive" as I do not want to engage in philosophical arguments with keen fans.
7/ My view is that if "It is impractical for you to use it as it was advertised for you, it is broken."
8/ How to define the failure then?

There are two primary failure modes for blockchains

- Invalid state transition (steal money from someone else's private key)
- Not able to make progress (no new blocks)

👇👇👇
9/ The invalid state transition is the worst. You write a number to the block that is against the blockchain spec (even though not against the implementation, as the code is the law here).

Basically, you took money out from someone else's private key or mint against rules.
10/ The most famous invalid state transition is the #Bitcoin thin air mint attack in 2010.

"Within two hours of CVE 2010-5139 striking, Core developers Gavin and Satoshi were on the case, and the 184 billion BTC was purged from block 74638"
11/ @zcash came close to have its own issue. Their implementation would have allowed users to mint his/her own ZEC out from the thin air.

fortune.com/2019/02/05/zca…
12/ And because ZCash transactions are private, one could never tell if someone minted ZEC for themselves and keeps it hidden for the future to cash out.

The downside of privacy coins - you never know.
13/ Invalid state transitions may be more interesting in the future, though. This is because sharding and inter blockchain communication (IBC).

All of @polkadot, @cosmos, @NEARProtocol and @ElrondNetwork could be affected by invalid state transitions.
14/ More about invalid state transition and invalid block issues in this excellent blog post by NEAR author, where they also explain the trade-offs of sharding solutions

medium.com/nearprotocol/t…
15/ Then let's look downtime.

"My blockchain stopped working"

"Have you tried to turn it off and on again?"

👇👇👇
16/ #Bitcoin was practically down in 2013 and miners had to downgrade bitcoind to an earlier version.

The network was in such a bad state that transactions did not go through.

bitcoin.org/en/alert/2013-…
17/ #Ethereum was unusable in Autumn 2016, as what started with denial-of-service attacks during Shangai Devcon kept plaguing the network for a long time.
18/ Block size was decreased by miners, the only control level Ethereum has, which led to the fact that you could not deploy some (most) of the smart contracts anymore.

reddit.com/r/ethereum/com…
19/ A CoinDesk article from the time.

DGC, Coinbase owner, was heavily in ETC, so anything related to Ethereum coming from them in 2016-2018 should be critically read.

coindesk.com/markets/2016/1…
20/ "Even if Geth nodes are no longer crashing completely, however, it has resulted in an overall slower network, making ethereum less available to anyone who want to spin up a smart contract or send a transaction."
21/ Eventually, in November 2016, an emergency hard work was issued to reprice the EVM opcodes to stop the denial-of-service attacks.
22/ What about #iota?

IOTA community intentionally shut down the network in the past due to a wallet hack.

zdnet.com/article/iota-c…
23/ Yesterday, @Solana was down. Because Solana's growing popularity this makes this interesting.

Solana had to be "restarted".

24/ A good metric to measure blockchain uptime would be

Value on chain (native token + other tokens) * time the network is unusable.

With this equation, I believe Solana incident yesterday takes top #1 spot in the "blockchain is broken" events category.
25/ What have we learnt?

👇👇👇
26/ A lot of blockchain scalability issues are about resource pricing.

See this video from @jadler0 about resource pricing and block size growth, it goes all the way back to discuss Bitcoin/Bitcoin Cash fork motives.

27/ John hints that EVM based sidechainsn like @0xPolygon and Binance Smart Chain should take more conservative block size and gas price approach, not less, as they are otherwise deemed to repeat the past mistakes of Ethereum.
28/ Also, from all the incidents where the network went down we see it all comes down to the community.

The community is the law.
29/ The community decides what is the ultimate truth on-chain. In the case of Solana, it was a new patched source code and 7 trusted nodes and a last good known block number the developers asked everyone to follow.
30/ What about the transactions after this block? Well, they never happened according to the community.
31/ This is the pragmatic way to solve problems. In fact, it is the only way. A blockchain is a byproduct of the community, not another way around.

If you disagree you are free to run your own node and your own chain with your friends, with different truth anchors.
32/ That's all this time. Now heading off the lunch.

If you are interested in the blockchain history read my mega history thread as well:

33/ And subscribe to my newsletter:

newsletter.capitalgram.com
Ps

• • •

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

Keep Current with Mikko Ohtamaa 🐮

Mikko Ohtamaa 🐮 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!

PDF

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 @moo9000

14 Sep
KB-96542804 How to turn a blockchain off and on again Image
To be honest, this process is not different I have seen on some other chains and during the EOS launch party.

1) Verify state and software version

2) Choose what chain to follow Image
What makes it interesting is slashing etc. and what happens with penalties for validators.

While events like this have happened before for chains, and many testnets, I do think the scale of this event sets a precendence.
Read 10 tweets
6 Sep
1/ Climate activist arrested after ProtonMail discloses the IP address.

An interesting case for privacy and why this is significant: A decentralisation and #infosec thread.

Put on your Guy Fawkes masks now.

👇👇👇
2/ "@ProtonMail received a legal request from Europol through Swiss authorities to provide information about Youth for Climate action in Paris, they provided the IP address and information on the type of device used to the police"
3/ The HackerNews discussion here

news.ycombinator.com/item?id=284272…
Read 26 tweets
24 Aug
1/ The GoEthereum 1.10.8 "hot fix" patch just went out. This is a critical patch, seems like it is an EVM level exploit, so it affects the whole #Ethereum network.

What's the bug? This is the question of many billion dollars.

Keep reading

👇👇👇
2/ The bug was originally discovered during Telos EVM, an EVM as-a-smart contract implementation on the to of EOS, audit.

Never heard of Telos? It's your VC free grass root effort, based on the EOS codebase.

docs.telos.net/evm/comparing-…
3/ The Telos press release itself here, see tweet from @Douglas_Horn, one of the leading Telos people:

Read 15 tweets
11 Aug
1/ Welcome to the #DeFi Wednesday, my ladies and penguins.

My fellow DeFi plebs are in the midst of a dark week - namely the largest ANY hack, EVER. And it happens to be a DeFi hack.

Let's dive into the dilemma how to instantly lose $666M

👇👇👇
2/ Poly Network (not affiliated with Polygon or $MATIC) had its cross-chain asset bridge hacked yesterday.

As far as I know this was the largest fintech hack, or even a bug, EVER.
3/ What is a bridge?

This cross-chain bridge is making non-natively issued tokens available on other blockchains. For example, $ETH and $DAI natively exist on only on #Ethereum mainnet. If you trade $ETH or $DAI on Polygon or Binance Smart Chain, it is a bridged asset.
Read 53 tweets
14 Jul
1/ Welcome to #DeFi Wednesday.

Scaling wars begun have. After high fees and congestion of 2021, everyone and their cow is out there to make a better EVM - #Ethereum Virtual Machine - blockchain. But how far the 7 years old EVM architecture can still take us?

👇👇👇
2/ For those, who hate reading threads on Twitter (which I know if all of you) and who enjoy long reads, my research is also available in the blog post:

capitalgram.com/posts/scaling-…

Good for getting sleeep at night.
3/ The first question we need to ask "why EVM?" There are nice highly scalable blockchains like @NEARProtocol, @solana and even @EOS_io out here. They provide more modern architecture than EVM and can do much better throughput and disk use.
Read 105 tweets
17 Jun
1/ Welcome back to the #DeFi Thursday.

Today we discuss the most massive algorithmic stablecoin crash known to humankind, $TITAN of @IronFinance

Or: How @mcuban was RUGGED BY THE PEOPLE and how to lose TWO BILLION DOLLARS.
2/ The "Rugged by the people" slogan was created by @freddieFarmer so do not let me take credit on that one.

But let's get started.

👇👇👇
3/ Iron Finance is (was) an algorithmic stablecoin on @0xPolygon blockchain.
Read 35 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!

:(