...
Edit: tvbcof has been bringing up an interesting question: how will SPV wallets react to all this. I think it is worth investigation. I suspect SPV clients will try to look at the block the transaction is included in, which means size is important. If a forking block is buried and not examined, the SPV client will probably side with the fork with the most hash-power.
Incidentally, that is how consensus is achieved in Bitcoin: the fork with the most hash-power wins.
There are actually a few considerations here which probably should not be co-mingled.
1) What/how/why does your Multibit (or other SPV) client decide what chain to follow?
2) No matter what the client, how are spends constructed.
2)
With respect to 2) I would recommend that everyone obtain a decent understanding of what transactions are, what a wallet is, and how transactions are constructed. Here's a decent introduction for those who need to and would like to brush up:
https://www.cryptocoinsnews.com/bitcoin-transaction-really-works/Let's put it this way: In times of internecine blockchain fork warfare, if you don't know how your transactions are being rolled, you will likely end up being rolled. Gaining an overview of what is happening behind the scenes will make it possible to make good decisions about who is full of shit, who's code to use, and who might be fucking you over with undesirable or inflexible Unspent T(X)ransaction Outputs. Specifically, ones which are polluted with post-fork coinbase and therefor locked to a fork which may or may not end up being the winner.
As the document above mentions, the wallet software normally makes it's decisions about which of the UTXOs belonging to the user it will choose to roll up into a spend. The doc says: "
A sane wallet policy is to use older UTXOs first, wherever possible, but implementations differ." This may or may not be the best policy in various circumstances. I remember reading a little bit about alternate logic to formulate more tuned transactions in association with the immutability hassles (IIRC) but I don't recall why, exactly, that was worth doing.
Lastly on the subject, it could be handy to have certain kinds of options WRT UTXO's. For instance, my cold-storage wallets were loaded with one large (by today's standards) transaction. When I do a spend from one of these wallets, the whole amount is spent then change comes back. I like the fact that my deep storage is deep in the blockchain, but it could be decidedly more handy to have a lot of more small UTXO's as options to formulate a transaction. As we get nearer to open warfare I'll re-visit this potential issue and see if I should undergo the hassle of digging out my deep storage wallets and re-structuring them.
1)
Falling back to 1) for a moment and looking at your suggestion about 'most hash-power', I would not expect things to necessarily be so simple. If it is, it will be a short war. I would expect various patches to be applied to full nodes which would not necessarily honor the longest chain. This would happen naturally insofar as 'mpcoin' (aka legacy Bitcoin) would simply consider the 'gavicoin' chain invalid no matter it's length, but I could imagine it happening artificially as well for other reason.
I don't know the architecture of the client/server model in Multibit style SPV-land. The things I do (think I) know is that a) any SPV client can sort hook up to any server it chooses, but I don't know how it makes the choice, and b) the client can autonomously verify that it has not been cheated by the server...at least down to the first {n} blocks deep. I'm pretty unclear on the technical details of how these things work though (in part since I have little interest in using an SPV client.) On presumes that the server's notion of the appropriate chain factors in to the results that the client achieves. If a preponderance of qualified SPV servers favored one chain fork (through update to 'gavincoin' or some other patch applied) I would like to know more about what the end result for Joe Multibit might look like.
---
Again, I would expect there to be more than just Gavin and Mircea involved in a war. I would anticipate a lot of other parties will see potential opportunities to capitalize on the confusion. Most people who are savvy enough to end up winners are also perfectly capable of applying a patch to their own source code and having a new node (or 1000 new nodes) in operation in less than a minute of time. A user who intents to be active during such an adventure really want to have the ability to understand at some level at least what is going on.