I guess you need:
- This TX (data, branch) has an non-existent input outpoint. Response: client asks any peers it can find to provide the (TX, branch) pair for the connected tx. If one is provide then the error message is invalid.
- This TX has a connected input that doesn't satisfy the outputs script. Response: client checks both transactions are included and then runs the script for itself.
- This TX creates more value than its inputs gather (input transactions are provided along with branches). Response: verify all the data. Not hard.
- This TX double spends. Response: verify that both transactions were included on the same chain (not crossing between forks).
- The coinbase of this block creates more value than allowed. Download the whole block (or do it with your approach of a change to the merkle tree format).
Is that list complete? If so I should eat my words as it's not as hard as I thought. Now bitcoinj has a full script interpreter, perhaps it could be extended to support such a protocol with only a few months work.
Are there any other things a miner conspiracy might try to achieve, beyond the usual spending-rollback attacks? The only goal I can think of would be to increase inflation or confiscate peoples money and then re-distribute it to miners.