How & Why To Connect Different Blockchains Together
A few days ago, banking consortium R3 announced it was releasing its blockchain code and submitting it to the Hyperledger project on Nov. 30th. Awesome. Currently, the most popular project in Linux Foundation’s Hyperledger is IBM’s Fabric, which we recently made a post about deploying independently from IBM’s cloud yesterday.
Recently, I was out with a few prominent members of Korea & China’s blockchain community (one from R3), and we began talking about how and why R3’s Corda, IBM’s Fabric, Ethereum, Bitcoin and Monax’s Eris would/could communicate with each other.
One argument is that one of these blockchain will win out most of the market because the market will decide on only one. In the meantime, creating interoperability standards and stuff might be a waste of time. Something like: When I wanna talk to Barclay’s, I’ll just use their blockchain. When I want to use another system, I’ll switch to theirs. And eventually, everyone will move onto a superior platform for convenience. This may be true one day; however and in the meantime, I’d like to think of the blockchain industry in the near-term of something that will be more of a Windows/Mac/Linux or maybe more of an Amex/Visa/MasterCard/Discover kind of industry.
So, how would one connect all these blockchain’s together?
Oracles and sidechains, silly.
Let’s start with oracles. Oracles are smart contracts what live on different blockchains which validate certain activity on that or another chain. One oracle, for instance, on the Ethereum network, can search the World Wide Web (talk about connectivity). Another oracle, can give me the current balance of any address on the Ethereum or Bitcoin networks. The great thing about oracles on a blockchain is that the code can’t change, so they will always will behave as the initial code explicitly states. The Googler oracle on an Ethereum network will always ping the same address on the world wide web, and if that address goes down, the oracle simply won’t work. Unless of course, there is update functionality in the smart contract.
Meanwhile, the oracle that reads balances or maybe gets the output of a smart contract on the Ethereum network will always be able to give me a the balance of an address I sent in, as its reading information from its own network. That being said, Fabric blockchains can have oracles that can be validated for authenticity, as can/will Corda, as can Eris, and so can many of the other blockchains with scopic.
Enter the sidechains. Sidechains are blockchains the run along side other blockchains, recording those transactions and allowing for the transfer of value between the chains. Sidechains can interact directly with blockchains to get over the whole (what if there is a man-in-the-middle attack with an oracle). Additionally, a sidechain must interact with specific oracles in order to gain transaction data from private transactions on blockchains like Eris or Corda. More on this later.
All, then, that is needed is a list of code-validated oracles on different blockchains (Bank A and B’s Corda chain, Namura’s IBM Fabric chain, Mitsubishi’s Fabric chain, PwC’s Eris chain, etc) and sidechains that those oracles can talk to, and boom! Blockchains can talk. Sometimes, with only the ability to read and other to both read/write. Client applications, can validate information from one chain, and then move assets to another. It’s beautiful and it’s happening.
Deck coming soon.
Why do this blockchain-to-blockchain thing?
It’s simple. So, that we can have unified validation of data exchanges. Furthermore, so we can cut through the errors, bureaucracy, and other pitfalls of long processing times, approval holes, legal disputes, settlements, paperwork in a broader sense, and start focusing on a whole new level of productivity. This level is where research, creation, marketing and iterative improvements can grow in focus across industries, eclipsing processes and compliance cost… cause that stuff comes built-in with awesome scopics on next generation solutions. ‘Cause banks are spending about 22% of operating expenses on compliance. Ouch.