Is it possible for different Quorum nodes to have different permissioned-nodes.json
files? suppose we have a 3 node network with node1, node2, and node3. Then can node1 include node3 in its permissioned-nodes.json
but node2 exclude it? what happens in this situation? can node3 start connecting to the network and receive blocks?
2 Answers
Permissioned nodes indicate which nodes are whitelisted for connection.
There is no validation of the list of permissioned nodes at the network level, each node operator sets their own permissioned nodes list.
Since it's a peer-to-peer network, if your node can connect to any node on the network, your node can receive all the blocks.
Yes it is possible. That said, Quorum permissioned model enforces authentication by validating immediate caller (whoever is at the end of the TCP connection), if two nodes have each other in the permissioned file, discovery is enabled or they are in the static file as well, and they have a communication channel (E.g No firewall blocking), then they will be able to establish the connection.
As per block propagation; if you have a network of A <-> B <-> C, C excludes A and A excludes C in the permission file, and B have both A and C in the static file, block will only propagate from A to C if you are using IBFT, but not with RAFT.
for more information check; https://docs.goquorum.consensys.net/en/stable/Concepts/Consensus/Overview/
-
Doesn't this make permissioning useless in Quorum? This means Quorum is not actually permissioned, since if you can find a node that accepts you to a network, nobody can prevent you from joining the network.– mahdiDec 20, 2020 at 12:44
-
You must differentiate between node discovery, block propagation and network level access. Your assumption is incorrect.– cucrisisDec 28, 2020 at 19:24