0
Can we make the following changes to the current POW protocol to better avoid double-spending:
a) For full/mining nodes that receive two chains, check if there are identical addresses that occur on both chains that perform double-spending. If there are any, ignore the chain that would result in the node doing a reorganization (reorg), choose the other chain;
b) If there is none, choose the longer chain;
c) For nodes that receive only one chain, accept it if it does not require a reorganization.
Wouldn't this be better in avoiding double-spending than the current protocol, i.e. accepting the longest chain blindly? Shouldn't we check the block contents from both chains before deciding which one to accept?
What do you mean by "that perform double-spending" exactly? Do you mean that the two chains have two different transactions that each spend the same output? If so, are you suggesting every node just stick to the one it saw first? – David Schwartz – 2018-07-06T01:11:22.720