Just had a though regarding consensus on a transaction of Safecoins.
Compared to Bitcoin, the Safe network does not aim to reach overall consensus on a transaction. Instead it focuses on a selected group of vaults called Network Transaction Manager that verify the transaction based on Alice’s public key (Alice in this case sends a coin to Bob). 28 out of 32 of these
vaults have to agree that a transaction is valid. The vaults store the following data: current owner ID, previous owner ID, previous owner signature. The NTM (NTM1) thus knows who is the current owner
and only that current owner can spend the coin.
At least, that’s what I understood from the documentation.
The NTM is based on logical distance, not on physical distance. Here’s a nice vid explaining how a nodes join the network and creates an XOR routing table:
Now, for dramatic effect, Alice decides to move from Australia to Europe, taking with her the physical
machine that contains her Safecoin wallet. She flushes her routing table, connects to her new ISP, and a new routing table is build (based on the closest address, as can be seen in the vid at 02:33).
Essentially, a new routing table is build, and likely a new NTM (NTM2) is validating Alice’s new transaction, of the same coin.
Since only a limited part of the network (NTM1) has reached consensus on Alice’s first transaction, NTM2 considers the second transaction valid, and a double spend has occured.
Curious what I’m missing here.