Corda Top Ten Facts #2: Industrial Resilience
Myth: Corda doesn’t have a blockchain so it can’t recover in the event of a disaster
When we designed Corda we worried a lot about resilience and recoverability: if we move away from a full broadcast blockchain, how do we recover a node if it loses all its data? After all, with platforms like Bitcoin and Ethereum you can plug in a brand new node, wait a few days and the entire history of the network is replicated to you. Blockchains are the ultimate backup and disaster recovery solution, right?
Not so quick…
It’s an alluring myth. But it’s a myth nonetheless. The idea that you can build a blockchain solution that relies on other nodes on the network to provide backup services is dangerously misguided.
There are several reasons why.
The first is that a backup strategy that depends on your competitors giving you back your data if you lose it is a tough one to get past your regulator and auditor..!
But even if you could, the second reason is the killer:
All valuable blockchain applications manage private data.
To see this, look at some of the successful businesses and applications running today on blockchain technology. Cryptocurrency exchanges? They manage a ton of private data pertaining to their customers. Trade finance initiatives like IBM’s we.trade or R3’s Marco Polo? Same story: tons of private data. All of which needs to be safely backed up.
And when you drill into other enterprise blockchains such as Fabric and Quorum, guess what? The shared data isn’t sent everywhere and so you need a backup strategy there too.
Net-net: if you’re building a blockchain application, you need a strategy for backing up and restoring your private data in the event of an outage or a disaster. There’s just no way around this and so you should be very suspicious of anybody who tells you differently.
OK… but why do I claim that Corda’s support is in-built? Because Corda is designed on the basis that you will always have private data that you need to protect. As a result, something special emerges: Corda nodes simply don’t differentiate between private and shared data from a resilience and backup perspective. It’s all stored in the same relational database and can be backed up consistently and completely using standard, insanely reliable traditional techniques. No need to distinguish between the two types of data and deal with the inconsistencies and need for reconciliation that creeps in if you try to separate these things.
It just works.