Who can you trust in a decentralised world?
Blockchains (aka Distributed Ledger Technology) are the driver of a looming technology revolution where software and systems become decentralised, driving greater ownership of goods, services, identity and more.
One of the shifting trends is a move from centralised organisations providing accepted trust to a more decentralised alternative. Decentralised architectures are often described as trustless because no single (centralised) node is in charge and a consensus must be formed by the network. This paradigm shift draws out new questions and challenges:
Who can you trust in a trustless world?
When referring to Blockchain, trustless means two things in my opinion.
Firstly, when referring to traditional transaction based system that are not backed by Blockchain, the responsibility of keeping track of a transaction, validate it and deal with its consequences are the responsibility of the controlling organisation.
When using Blockchains, any node or participant can validate and confirm a transaction. In essence, nobody has to trust anybody else in order for the system to function properly, the system is built with its own trust based mechanisms.
Secondly, it relates to the trust that using cryptography to sign transactions brings. If all participants of the network can verify transactions that are digitally signed, cryptography answers the need of trust between participants of the system. All who participate in the network would refuse to accept transactions without one of these signatures: trust between nodes can be achieved.
Who can you trust outside of the Blockchain?
Above I have detailed how a Blockchain can be classed as trustless, this is adequate when dealing with things like cryptocurrency that directly lives on the Blockchain and are not easily influenced by the external world.
With enhancements in Blockchain technology, companies are looking to use this tech to solve real world problems in addition to digital cryptocurrencies, such as Bitcoin.
Real world problems unfortunately often need to communicate with the outside world external to the underlying Blockchain. This is especially the case with Smart contracts which will require things to be triggered or resulted from the outside world. This then opens up further questions such as:
How can the real world interface with a Blockchain as retain trust?
Some people say that the above problem will never successfully be solved as it fundamentally breaks the concept of a truly decentralised and trustless networks, in some respects this may prove be the true.
My opinion is that over time trusted parties, along with new tools, will be developed that will act as intermediaries such as smart contracts, side chains and other methods yet to be envisaged.
For global adoption a bridge between the real world and a Blockchain is inevitable. It’s worth mentioning that some companies such as Oraclize are already providing solutions to this in the form of oracles.
What is an Oracle?
Oracles are are way of providing external data into a smart contract living on a Blockchain. Oracles are trusted 3rd parties who can result and interact with smart contracts, providing a bridge to the real world.
One example would be a bridge, triggered from an RFID chip being scanned. Once scanned the oracle then triggers something on the smart contract or emits an event e.g. the sending of funds for a purchase or triggering a contractual agreement.
The implementation of oracles is still immature and yet to be fully realised. Along with this security concerns and acceptance in oracles is an issue needing to be resolved.
The beauty of oracles lies in the ability to conditionally triggering something that is then written into a block; an immutable outcome once written.
The hard bit is trusting the oracle to provide the result correctly from the external world. Ultimately centralised parties will emerge and provide services and offerings on how best to create trusted oracles between participants in smart contracts.
At the next Blockchain Manchester meetup we plan to explore some of the above questions and hopefully provide a basic example of a working oracle as part of a technical demonstration.
If you would like to know more then sign up and we’ll see you on the 28th November.