Total node/validators - General - Algorand
Total node/validators
Post by pachainti on Apr 13, 2022
Hi,
I read that in algorand everyone can be a node/validator and there are no staking pools. According to the official metric there are 2251 nodes and 370 unique accounts participating in the consensus protocol.
- What is the maximum number of nodes?
- Is 370 the actual number of nodes validating the network?
Thank you
Post by fabrice on Apr 13, 2022
Welcome to Algorand!
The beauty of the Algorand protocol is that the complexity of the protocol is almost completely independent of the number of nodes, because a random constant-size committee is used for each step of the protocol.
The size of the committee is independent of the number of nodes.
Even if you have millions of nodes, the committee will just be a couple thousands nodes.
This is the number of accounts that voted over the last week, so I would say it is a good proxy right now for the number of nodes validating the network.
Post by pachainti on Aug 13, 2022
Hello,
I’m continuing up here as my question fits into the discussion.
I’m pondering on algorand’s pure PoS consensus algorithm which requires 2/3 of the validator nodes in the network to be honest in order to validate transactions. Also, the consensus algorithm does not require minimum amounts of stakes to participate in the process: however those with higher amounts of algo have a higher probability of being selected.
According to the dashboard, about 400 validators participated in the last week, so about 134 dishonest validators (33%) would be enough to attack/block the network (assuming the same probability of selection, i.e. the same stake).
Is there any data with the distribution of tokens among validators/accounts?
In addition, there are about 120 relay nodes which, while not participating in the consensus, allow the network to function. What is the minimum number of relays for the network to still function?
These values are very important as they represent the Nakamoto coefficient.
Thank you
Post by Titi on Aug 14, 2022
that’s assuming these dishonest validators know each other and are in each step of the protocol which is highly unlikely. 2/3 isn’t set in stone either. They might if stars align cause an empty block.
Post by pachainti on Aug 14, 2022
Hi,
according to the official FAQ and according to this comprehensive analysis A Survey of Distributed Consensus Protocols for Blockchain Networks the consensus algorithm of algorand tolerate up to 1/3 of malicious validators. If the number increases, the network’s consensus is blocked.
Moreover, to estimate Nakamoto’s coefficient, the previous questions must be answered.
Post by Titi on Aug 14, 2022
you can go to an explorer and you analysis, I have seen any where where they say the number of nodes matter. algorand scales to billions of nodes because only a handful are randomly independently and privately and verifiably self selected.
Post by pachainti on Aug 14, 2022
Thank you for your reply. I also think algorand is a very good blockchain, but I am asking a specific question and need to know the numbers if they are available.
According to the dashboard there are now 1423 (non-relay) nodes or participating in the consensus and in the last week 407 participated in the vote.
The number of relay nodes, which should not participate in the consensus, is 120 and are supported by the algorand foundation.
Practically all blockchains of a certain level, like algorand, have a section of their statistics where the distribution of the stake among validators is shown. Through it, the Nakamoto coefficient can be estimated.
@fabrice do you have any suggestions?
Post by Titi on Aug 14, 2022
it would difficult to estimate a nakamoto coefficient for algorand because those 407 arent set in stone neither does it mean these unique addresses belong to 407 unique individuals. you could see 407 today tomorrow or next week but the unique addresses are different. Large stake might give you better chances of selection most of the time but not bounded large votes all of the time compared to others with minimal stake in the committee. app.metrika might help you but it’s not complete. your best is sorting all accounts and do your analysis from say algo explorer as all accounts are equally likely selected.
Post by pachainti on Aug 15, 2022
I found this unofficial explorer where you can see the top accounts and select which of them participate in the consensus.
Taking the top 1000: if we consider both online and offline we have a total stake of about 6.614 G algo and 33% of the stake is owned by the top 26 top accounts. If we consider only offline ones we have a stake of about 1.981 G algo and 33% of the stake is owned by the top 15 top accounts.
From Algorand documentation:
If a super majority of the votes are from honest participants, the block can be certified. What makes this algorithm a Pure Proof of Stake is that users are chosen for committees based on the number of algos in their accounts. Committees are made up of pseudorandomly selected accounts with voting power dependent on their online stake. It is as if every token gets an execution of the VRF. Users with more tokens are likely to be selected more. For a committee membership this means higher stake accounts will most likely have more votes than a selected account with less tokens.
Since the algorand dashboard shows 407 validator nodes in the last week, and since according to the other explorer the super minority is 26 (15), what is the pseudo-random selection criterion?
If my calculations are correct, the possessed stake has a very low weight.
Furthermore, assuming that at least of 2/3 of the validator nodes are honest, but the relay nodes are not, what is the minimum value that can still make the network function?
I think it is of paramount importance, both for decentralisation and transparency, that algorand adds such metrics in its dashboard.
Post by Titi on Aug 15, 2022
algorand doesn’t rely on relays to be honest. go watch the YouTube on algorand is 5 mins I think if you’re still interested go read the whitepaper for how cryptographic sortition works, you can also you know Google or youtube how it works. at least one relay should be up.
Post by pachainti on Aug 15, 2022
Hi,
I appreciate your attempts to answer, but if you are not an expert in the subject, it is better not to answer at all.
Post by Titi on Aug 15, 2022
i don’t think anyone is going to explain how sortition works and its intricacies in a thread. your post was already muted or flagged. i’m doing you a favor lol. I could tell you that it uses a binomial distribution of the tokens is used to randomly select based on a hash but then you’re going to have more questions when it’s best to just go look at some resources that do a better job than can be done in a thread. Maybe someone else can pick up from here and go into detail with you but atm i’m not ready. good luck
Post by Titi on Aug 15, 2022
Algorand's cryptographic sortition -video
The intuition behind Algorand Cryptographic Sortition - Ignacio Hagopian - Medium article now you can stop crying and being rude.
Post by pachainti on Aug 16, 2022
Thank you for the links. However, the second one is broken.
The first video describes how the algorithm works and it is a good explanation, but it leaves two open questions: how X is calculated for the inequality vrf_output<X? And how is p selected in the Bernoulli distribution?
I read this post in the algorand blog, Algorand Releases First Open-Source Code of Verifiable Random Function:
- Verify that Y falls within a certain range [0, P] which depends on the share the user holds in the system.
Here Y is the same as X. How is it chosen?
P.S. the post was reported because of external links, no problem.
Post by Titi on Aug 16, 2022
X is the probability that’s used for everyone else. it’s the expected committee size / total online stake seen at the look back round.
The link that was broken has been moved to The intuition behind Algorand's cryptographic sortition
Post by pachainti on Aug 19, 2022
Thanks for the link, I have now resolved some doubts. According to the paper linked by sortition algorithm page, the committee size is between 2000 and 10000 (final). This number should be the one shown in the dashboard, about 1400 participation nodes of which about 400 actually voted in the last week.
However, I have not yet found an answer on the number of relay nodes. According to the paper: Algorand achieves safety with a “weak synchrony” assumption and liveness with “strong synchrony” assumption.
To achieve liveness, Algorand makes a “strong synchrony” assumption that most honest users (e.g., 95%) can send messages that will be received by most other honest users (e.g., 95%) within a known time bound. This assumption allows the adversary to control the network of a few honest users, but does not allow the adversary to manipulate the network at a large scale, and does not allow network partitions.
What is the number of relay nodes that allows this assumption to be met?
Liveness goal. In addition to safety, Algorand also makes progress (i.e., allows new transactions to be added to the log) under additional assumptions about network reachability that we describe below. Algorand aims to reach consensus on a new set of transactions within roughly one minute.
On algorand all transactions are immediately final and there are no forks, assuming at least 2/3 of the participants are honest. Furthermore, the time needed for the committee to decide should be 5 seconds.
What does it mean that the time needed to reach consensus is about 60 seconds? Doesn’t that conflict with the 5-second finality of a block?
Post by fabrice on Aug 19, 2022
Nodes can have multiple seats in committees.
There are always around 1000-2000 seats.
This paper is very outdated. Parameters have been significantly improved since then.
Finality is currently achieved in under 5s.
Post by pachainti on Aug 19, 2022
How many maximum? So a few nodes could get the majority of the committee stake?
Could you bring me back an article with updated parameters?
Post by fabrice on Aug 19, 2022
This is a random selection.
This is the beauty of the sortition algorithm.
The algorithm is equivalent to say that each online Algo in the system is chosen with some probability.
So if you have 100x times higher balance than another person, on average, you will have 100x more seats.
Official specs are there: GitHub - algorandfoundation/specs: Algorand Specifications
Post by Titi on Aug 19, 2022
you can graph some numbers on the distribution formula and you can see how much a stake gets on average. wolfram alpha might be you be helpful for large numbers.
Post by pachainti on Aug 23, 2022
If the number of validators who participated is around 400 and the number of seats per round is 1400, this means that on average some validators have more than 3.5 seats. What is the distribution of seats among the validators?
The distribution of stakes among them is the one I calculated earlier here, can we assume that the distribution of seats is also similar?
This is why it would be important to have this information in the dashboard.
Regarding relay nodes, I found this analysis quite interesting. It would be good to have something similar in the dashboard too.
Post by fabrice on Aug 23, 2022
Yes, the distribution of seats on committee is, on average, the same as the distribution of online stake.
Post by pachainti on Aug 23, 2022
Well, this means that the average validators participating in the consensus are only 25-16, so Nakamoto’s coefficient is not around 400, but close to 20-30, comparable to other blockchains, but not as good as I thought.
Post by Titi on Aug 23, 2022
the beauty is that they aren’t the same validators like in other chains. And because of its randomness they are in different configurations throughout the protocol execution.
Post by pachainti on Aug 24, 2022
According to @fabrice:
Yes, the distribution of seats on committee is, on average, the same as the distribution of online stake.
So the validators are on average the same. Furthermore, 25-16 of them (assuming the above calculations are correct) have the super minority in the committee i.e. they can block the consensus of 2/3 of the BFT algorithm of algorand.
If not, can you explain why?
Post by Titi on Aug 24, 2022
there are 3 or more sets of seats and there’s no way to know which set you are in until you’re done. there’s no guarantee that your vote was included in the threshold. Because of player replaceability there’s no intersection between the sets. and why the 400 may differ.
Post by pachainti on Aug 25, 2022
According to what is written in the articles I have read, including those linked by you, and according to what is written in this thread, the sortition algorithm and the choice of validators works as reported above.
What are these sets? I don’t remember finding them anywhere.
Post by Titi on Aug 25, 2022
there are 3 steps in the protocol hence 3 committees with different sizes. if things don’t go as planned there are subsequent steps with a different committee members and sizes. 1st step is proposal, 2nd step soft vote, 3rd certify vote. this is why I said it’s best to go watch some videos or read the whitepaper(in its entirety). Sortition is just one part of the protocol design.
Post by pachainti on Aug 26, 2022
Okay, you were referring to the three stages. According to what is written here, the committee members for each phase are always drawn from the same set of validators with the same stake. So probabilistically, on average, the distribution of committee seats is as reported above (25-16 validators are enough for the super minority 33%).
A recent research article by Kraken from August 2022 reports the same data I obtained from the explorer so it confirms the correctness of the same (16 validators).
Post by Titi on Aug 26, 2022
this why I said they are in different configurations. how many combinations can you have them in the committees together with the rest. The pool of validators are not always the same. Aside from the fact you’re not always selected, consider that if for example 50 go offline and a different 50 join you would still have the same number of validators. Furthermore, consider that this new 50 have a different distribution of stake. The algorand selection is very dynamic. Additionally, you’d have to consider although they may on average get the same number of votes it’s not all the time. And they would have to know each other to coordinate if they want to attack. Because selection is private you don’t know. Like I said previously you won’t know if your votes were even included until the round is done and you can check.
Post by pachainti on Aug 27, 2022
Your points are basically correct, but they are general in nature and valid for any blockchain.
According to the documents I have read, although about 380-400 validators participate on algorand on average in a week, those who hold 33% of the stake and thus get on average 33% of the committee seats are 16 (25 depending on the calculation).
If you have some documented where it is stated otherwise, bring it back to me.
Post by Titi on Aug 27, 2022
they are not valid for every blockchain. can you bring me a documentation says this and proved this. And another that says every blockchain operates like algorand. i haven’t taken a look at your numbers to see if it’s right because it doesn’t matter when it’s painting an inaccurate picture from a faulty understanding. My point was showing you how the nakamoto whatever can’t accurately apply to algorand. If you think my points are correct but still think it’s not decentralized in how it operates because of nakamoto, I can’t help you any further. Maybe you think the coefficient is the end all be all, which it isn’t.
Post by pachainti on Aug 27, 2022
Please read carefully. I wrote that your reasoning is generic and that it is valid for every blockchain, not that every blockchain works like algorand.
According to the official documentation of algorand, according to my calculations and those of Kraken, it works as explained above. Furthermore, @Fabrice also confirmed how the selection process works.
So if you have any documents or data showing otherwise, please report them here. Otherwise there is no point adding noise to the discussion.