Can't bitcoin simply require agreement from more than one author of a blockchain? For example do not allow the same entity to sign the blockchain for two consecutive blocks. This would require defining what constitutes a single entity though. How do we define it when talking about mining pools? Can't we have alliances of pools already have reached 51% long ago and colluded "as one strategy"?