, 13 tweets, 3 min read Read on Twitter
Apropos of people being wrong on the internet: You can only build robust gossip protocols if you already have a robust sybil resistance mechanism, you *cannot* build a robust sybil mechanism through a gossip protocol. And even then "robust" doesn't mean "decentralized" or "fast".
Every gossip protocol that can conceivably described as robust in any sense requires that a peer can safely compute a random selection of peers.

Realistically, this is only possible if you a) can see the whole network or b) there is a (centralized) registry.
If you don't have a registry of nodes, then you have to rely on a complete, connected graph of nodes - or more precisely - you have to be able to demonstrate how your protocol functions when nodes become isolated / how they determine good messages from malicious messages.
Hell you have to answer the question "how does an honest peer detect when they have been cut off from the main network by malicious peers" (and then for bonus points add "in a way that doesn't cause the entire network to grind to a halt for any significant period of time")
"hah! I got this, I'll just weight messages based on how many tokens the node can prove they have access to", which is great until you realize all double-spending is is (temporarily) hiding transactions from some nodes - adversaries don't need to lie, they just need to delay.
And delaying messages is very easy in a gossip network - *unless* - you have a way of voting on which transactions to accept. Which requires a voting epoch. And a defined max propagation time for votes. (What happens if not every node votes in a given epoch? Insecurity or Halt)
So you arrive at the decision to define a set number of nodes that are always online and well connected (and then maybe allow others to join in if they have enough tokens).

Nothing wrong with that, but I hope you have robust way of determining who should control those nodes.
(Note: POW has many, many flaws, but it actually does solve this problem by offloading the impossible task of decentralized sybil resistance to the predictable and capitalistically planet destroying economics of mining pools)
Centralization (in part or in full) is inevitable in global consensus. The important question is instead "how is power distributed". It is a question that most projects don't want to answer, because the truth is generally "devs control the master list of 'decentralized' nodes"
For balance, here is a reddit thread which will explain to you why I, a woman on the internet, cannot possibly understand the complexities of IOTA or gossip protocols: reddit.com/r/CryptoCurren…
That thread is a great illustration of all the ways people don't understand (or fail to think about) adversarial networks. "gossip" isn't a solution, it is a mechanism with many tweakable parameters, assumptions and limitations. None of which solve the problem you need to solve.
Anyway, periodic reminder, most cryptocurrencies could replace themselves with a centrally controlled database and be horizontally scalable, blazingly fast, and maintain the exact same power dynamics as they have now.
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Sarah Jamie Lewis
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


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

Become a Premium Member ($3.00/month or $30.00/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!