Welcome back at the forum and thanks for the replies.
You can’t choose or calculate your own address in XOR on SAFE. If you join as a Vault you are relocated to an address chosen by other nodes that might or might not pick you up. So yes, one could target a group but A: it’s hard and B: It doesn’t depend on your computing power. I think it’s more bandwidth and how many IP’s you know to connect to at bootstrapping your connection.
You seem to be way more on the technical articles than me, but if I understand disjoint groups correct it works like this:
10 nodes are responsible for the address-range 2000 to 2400 in a group called “A”. So whenever some action needs to be done in consensus, the group “B” close to this group will wait for signs from the quorum of that group. Let’s say we want 50% +1. So group B accumulates 6 signs from nodes in group A before they route any data (like a Safecoin transaction) over to the destination. Now what happens if we lose 5 nodes in group A at once?? The 5 nodes left are still responsible for address-range 2000 to 2400. They update their RT and share this new state with the other close groups like B. So group B now accepts signs from group A when they received this update when 2 +1 nodes sign a Safecoin transaction. So IMO there can’t be a situation where the address-range is split in this case. It’s just 5 nodes responsible for the same address-range instead of 2 different groups after a split. Nodes can’t decide on their own to just split or merge without reaching consensus with other close groups. Looks something like this:
- Group A shares the same routing table with 10 nodes and they’re responsible for address-range 2000 to 2400 as different persona’s. This state is agreed up on with a close group like A1 or B1. So whenever group A wants to sign a Safecoin transaction, it won’t be routed/accepted by close group A1 or B1 as long as there’s no quorum sign from group A.
- If 5 nodes churn in group A the group is still responsible for address-range 2000 to 2400. There’s no split of responsibilities in the address-range. Group A1 and/or B1 won’t accept any decision as there are not enough signs for quorum. The RT needs to be updated first.
That’s why the minimum desired groupsize should be high enough. So even when 80% of the nodes churn, a group can still update it’t state with the close groups and still reach quorum and consensus. I think a minimum could be 13 nodes. That means a maximum of around 28 nodes before a split occurs.
Another point to make is that you not only connect to your close nodes in a group like “A”. You also connect to close group “A1” or “B1” at the same time. So even if 4 evil nodes in a group (of 10) send out a message to close group “B1” they want to update the routing table as other nodes churned, group “B1” can find out fast by just sending a message to the other nodes to see if they get a reply. Group “B1” isn’t stupid as they will always check and double check before a change is allowed to the RT.