This page is a work-in-progress way to capture the information I have learned about various ideas within the cryptocurrency space. I firmly believe this sector will see huge growth as we move into the future and we are better able to quantify data and contracts.
A blockchain is a decentralised network of computers that performs computation and stores data in a shared ledger. This differs from traditional (centralized) computer systems in that:
- No single person or group controls it;
- Everyone in the world has equal access to send it commands;
- The applications running on it and the data stored in it cannot be tampered with or deleted;
- All transactions processed over time are recorded in a continuously growing ledger;
- Transactions are paid for via a native cryptocurrency.
Thousands of computers (nodes) are paid to reach consensus about the state of this ledger by running the same software, processing transactions, storing data and cross-checking with one another. This makes blockchains extremely expensive to manipulate the shared ledger. The fundamental benefit here is to mitigate counterparty risk—that the other party in a contract won’t uphold their end of the agreement. A blockchain serves as a more reliable, tamperproof, and unbiased system for settling transactions. Users know that when they send a transaction to the blockchain, it will execute exactly as instructed.
Smart contracts are simply programs stored on a blockchain that execute actions when predetermined conditions are met (and verified), like
if/then statements. These actions could include releasing funds to the appropriate parties, registering a vehicle, sending notifications, or issuing a ticket. The blockchain is then updated when the transaction is completed. That means the transaction cannot be changed, and only parties who have been granted permission can see the results.
Smart contracts are focused on moving business logic (contracts) from a probabilistic state where it will probably execute according to its terms, to a deterministic state where it is guaranteed to execute according to its terms. The reason smart contracts can boast such strong deterministic guarantees is that they run in a decentralized, permissionless, tamperproof, and always online blockchain environment. This creates a framework where contractual agreements are hosted by a neutral, decentralized network and technologically enforced by the occurrence of events.
Chainlink is build on the understanding that although smart contracts are able to execute processes and agreements on the Ethereum Virtual Machine (EVM), they can’t talk to the rest of the world. This means data like asset prices, sports scores, flight information and many other real-world datasets are not available on the blockchain, limiting the types of smart contracts a developer can create.
The only way to efficiently get data into the blockchain is a software component called an oracle—a gateway between a blockchain and the real world. Typically these oracles are centralized services, meaning that if an application is only as strong as its weakest link, a centralized oracle would likely be that weakest link and the single point of failure.
The Chainlink 2.0 whitepaper outlines a proposal for building ‘hybrid’ smart contracts where Decentralised Oracle Networks (DONs) are able to provide external (off-chain) data to a blockchain-based smart contract. These DONs consist of a collection of nodes that can transfer data bidirectionally and perform decentralized off-chain computation using various consensus protocols.
Hybrid smart contracts are essentially a combination of on-chain code that defines the contract itself (contract conditions, sender, receiver and how/where to prove the contract’s state) and data such as market value of an asset, etc.
Chainlink co-founder Sergey Nazarow explains hybrid smart contracts as being:
“A combination of both the on-chain code that's tamperproof and operating in a smart contract platform like Ethereum, and an oracle, which is essentially a trust minimized, highly reliable connection and off-chain computation resource that provides the additional functionality that a hybrid smart contract needs to achieve its specific outcomes.”