A good mix of on- and off-chaining, i.e. to only store parts on the blockchain, and of a hybrid use of public and private blockchain, can address the fundamental conflict. To break this into concrete concepts: One approach is to calculate a hash value for each contract version and only store this on the blockchain. By hashing each version of a document and submitting that hash to the blockchain, ideally a public blockchain, e.g. Ethereum, each party is in a position to prove in case of litigation that a certain version of a document has been agreed upon and handover that document.