How does Algorand work thoughts
This is a summerisation of the parts I found interesting in relation to the recorded conversation with Silvio Micali: Cryptocurrency, Blockchain, Algorand, Bitcoin & Ethereum | Lex Fridman Podcast
1. Algorand claims to solve three things: decentralization, scalability, and security
This reminds me of CAP Theorem which says you cannot get all three, only two of the following (aka you can only "choose two" our of):
- Consistency
- Availability
- Partition Tolerance
In a similar way, Algorand claims to solve three key problems:
"Algorand is the first blockchain platform to solve the trilemma of
- Decentralization
- Scalability
- Security" src
Like CAP theorem, I'm wondering if you really can get all three of these things, or just two of them.
It's hard to achieve speed as more nodes enter the system
Intuitively, it is much faster and more efficient to write and maintain a single database than it is to keep many distributed databases src- Algorand docs
Yes. So how does Algorand solve this?
Are these relay nodes / propagation nodes trusted more/rewarded in some way? Is it Sybil Attack vulnerable?
I don't know yet. Finding out. If they are, does this mean the network is vulnerably to the Sybil Attack where if you have more computers/compute than the genuine network you essentially take over the network (this nearly happend (once?) with Bitcoin years ago.
There's an obsession with speed in relation to scalability
This makes sense because the 'downfall' of Bitcoin is people/business world is frustrated with how slow it it for a transaction to be 'accepted' as genuine. Stripe stopped accepting bitcoin for this reason a few years ago. Maybe Stripe will start again though since a faster layer has been built on-top (see https://en.wikipedia.org/wiki/Lightning_Network and Bottlepay for examples of this)
"What we really need.. is to support thousands of transactions quickly.. it's not so interesting if two computers can transact thousands and thousands of transactions quickly" Silvio Micali ok, I agree, but how?
"To achieve it one at a time is easy (meaning easy to achieve one out of: scalability, security , and Decentralization but all three? well..) ... what you want is ledger which cannot be tampered with (Security: Check- solved in isolation with cryptography.)... then.. "who the hell chooses the next page on the ledger, that it really the challenge...proof of work says the person who has done the work, has the right to add en entry to the ledge, that is fair enough...that's okay because sometimes one person solves it, sometimes someone else solves it ... but a page (solved puzzle) every ten minutes is not fast enough, and to have a chance to solve it you must use tons of heat ... becomes so expensive, fewer and fewer people can compete ... only two or three pools can eventually control this process .. it becomes defacto centralized... instead we use delegated proof of stake which is very easy to explain".
So what's proof of stake?
"Essentially boils down to say: ... look at these 21 people ... don't they look honest? yes they do, in fact I believe if/that they're going to remain honest for the foreseeable future so when do we do ourselves a favor, let's entrust them to add the page on behalf of all of us to the ledger, okay ... but now we're going to say this is centralized .. but 21 is better than one... this is delegated stake." src- Silvo Micali
Eh? Not okay. There must be something I'm missing. How can we assume trust of these nodes and assume they're going to remain trusted for the foreseeable?
"For algorand we were looking for a different approach .. it works by ... assuming that the majority of the (selected tokens) are in safe hands ... the majority of them ... if you say 90% of the people are in honest hands, it is very imporobable that the selected tokens are invalid.
This sounds like the same problem of bitcoin of the majority risk / Sybil Attack. However, they claim is that the majority stake is more trusted, and is an subtle important difference. What's the difference?
"The difference is that in these systems, you say the whole economy is secure if the majority of the economy is honest. In other words, who can subvert Algorand? It's not a majority of a small group, bit is a majority of the token holders* [like Bitcoin is], src - Silvio Micali
tldr; It's another layer of consensus. Instead of a collection of individuals reaching consensus, separate groups of individuals form consensus of the entire system.
Said another way, this makes me think of groups of trusted parties. Bitcoin only ever has one trusted mining pool made of individual actors (the majority, which all follow the same ledger). Whereas Algorand has multiple groups of trusted parties (not just one), and, if those separate groups agree, they form a majority of trust. For this to fail, the separate groups would have to conspire with each other to fix the agreement. This assumes that competing groups don't conspire to fix a market.
Instead of mining hard for a coin (proof of work) there's a 'lottery' concept which is inexpensive
...other nodes are only interested in seeings winning lottery tickets from other nodes (and can tell if they're genuine because they're cryptographically signed ((remember cryptographically is a solved problem)).
"Everybody pulls the lever (the lottery lever)... there is my winning lottery ticket, and here is my opinion about the block, these are the ones that count [meaning the ones that are genuine- this is important because you need to know who to trust when they say 'hey, my transactions are genuine']... " - src Silvio Micali
Why is this scalable?
"Because the Algorand lottery takes only 1 microsecond whether you have 1 token or a billion, which is very fast- we don't heat the planet with that ... why is this secure? ...even if I was very powerful, who would I want to corrupt? The people in the committee.. so that I can choose the next page of the ledger- but I do have a problem: I do not know whom I should corrupt. Should I corrupt this lady in Shanghai .. guy in Paris ... I don't know because the winners are random. Once a winner comes forward ... with their opinion about the block ... now I know who they are .. for sure I can corrupt all of them thanks to my incredible [compute] powers, but so what? They have already said, in their winning tickets and their opinions (which are virally propagated across the network) ... and I do not have the power no more [than anyone else] to put back in the bottle, a message virally propagated [which is now accepted by the majority]." src - Silvio Micali
What is the benefit to running a compute node on this network? How do I get rewarded? AKA: What's the incentive model?
The algorand FAQ - Participation rewards
tldr Algorand Foundation decides.
What's / Who's The Algorand Foundation?
The Algorand Foundation is a Company Limited by Guarantee (CLG) with the incorporation issued by the Accounting and Corporate Regulatory Authority (ACRA) in the Republic of Singapore. src - Algorand Foundation.
This sounds like it's back to centralisation? So the problem of decentralised concensus has been improved by Algorand (improved because Bitcoin suffers from a smaller and smaller pool of very powerful majority miners) but unfortunately changes/moves/maybe introduces a problem what Bitcon does address which is how do you incentivise people to run computers doing all this work? The answer is clear in Bitcoin: Perform proof of work (at great cost to the environment). With Algorand the incentive model is much less clear. It's Foundation, it's committee, it's centralised, it's decided by Company Limited by Guarantee (CLG) with the incorporation issued by the Accounting and Corporate Regulatory Authority (ACRA) in the Republic of Singapore. Is that decentralised? I don't know.
What's an example of the Algorand incentive model and how it contrasts with decentalised incentive models?
This is an example of that:
Currently there are no additional rewards for running a relay or participation node. The Algorand Foundation issued token grants to Early Backers and universities for running relay nodes, to help bootstrap a scalable and reliable initial infrastructure backbone. This program is now closed. Stay tuned for future updates. src The algorand FAQ - Participation rewards
Just like CAP therom it's hard to get all three. This is a fascinating area which covers technology, people and more. The picture on this blog are of cowrie shells which are a reminder of how stored value changes over time.