In our past articles of “Improve Advisors about the Blockchain” Part 1-2, you’ve heard us mentioning Smart Contracts more than once, so in this one, Improve Advisors will describe to you what exactly are they, how they work, and how Oracles will help them evolve to change our economy and the power balance between buyers and sellers.
A Smart Contract is like a vending machine that is programmed once and runs forever – a digital agreement that enforces itself. Since Blockchain as a technology enables databases to be directly and safely shared by entities who do not know or trust each other, without requiring a third party — this way Smart contracts work. If one copy is hacked or incorrectly altered by someone, the majority eliminates the anomaly. The main value provided by large networks like Bitcoin or Ethereum is that it is considered nearly impossible that a single contract participant could influence a network of 8000+ nodes exclusively in his favor.
Smart Contracts one day may take over most routine business processes that require time and resources, it will even be possible to create virtual businesses that are in fact no more than just a collection of digital contracts.
Developers are being very highly rewarded while helping to reshape the industries such as manufacturing, supply chain management, and other sectors, introducing them to the concept of Smart Contracts. With their Enhanced Privacy Structure, Transparency, Authority and Instant Verification they are very likely to start being used massively in the next decades.
Since smart contracts are simply blocks of code, they could be incorporated into various software applications, but including them in a Blockchain is the best way to add security, accountability, and transparency to the process. Running on node networks beyond the control of a contract’s participants, they are tamper-proof and allow certain digital processes to take place and execute the contract as it was written only when certain conditions have been met.
For example – if the event A happens, then do the B – if certain weather event or a price change have occurred by the time X, send $500 from Alice’s account to Bob’s — self-verifying and self-executing!
Smart contracts are written in unequivocal computer code and are entirely self-contained, however, smart contracts are very hard to write correctly, once written they are irreversible, and their influence becomes limited to cyberspace.
If you want to implement smart contracts for your business, there are two main options for you. You can either rely on a software development company that deals with it on a professional level or use a smart contract platform such as Ethereum.
Vitalik Buterin, a 24 years old Russian genius, have founded Ethereum out of a critique on Bitcoin as a very limited smart contract platform. The Ethereum Virtual Machine (EVM) provides a more expressive and complete language than bitcoin for scripting – «Solidity». The EVM is just like a distributed global computer where all Ethereum smart contracts are executed.
Ethereum platform allows you to create smart contracts that better suit to your business, have no possibility of fraud, third party interference, downtime or censorship, that can manipulate inputs and provide outputs, store data, interact with other contracts, reuse their code, and so on.
One of the most popular applications of smart contracts has been to create new cryptocurrencies. Etherium allows creating and using such structures called ICO’s (initial coin offerings), also known as Token Gathering Events (TGEs). You can develop a startup, set up a smart contract on Ethereum, and publish a “white paper” online. If you find an investor, he can send your developing team some amount of money, which is usually paid in Bitcoin or Ethereum, and get the equivalent amount of your Tokens in return.
Those applications for purpose-made digital currencies, which can be used for “decentralized” services like data storage or digital currency trading, have raised investors’ excitement and provoked the ICO craze and raising funds up to $6,3 billion in 2017, with the Total Capitalization of the Crypto Markets already raising up to $800 billion.
Some start-ups had serious problems like getting robbed by hackers or having sudden issues with wallets accessibility, some have crashed or turned out being fake,… but nevertheless, nowadays a lot of genius breakthrough projects are getting support by like-minded people around the globe who believe in their idea and trust their team and technology!
In our next articles, we are going to talk more about ICOs together with other Decentralized Applications, Networks, Games, etc.
Yes, a Smart Contract allows you to make deals by precisely specifying the conditions and parties involved, but what if some details about the past, present, or future in the real world are unknown? Like what was the weather yesterday, or what is the currency exchange rate according to the top 5 exchanges at the moment, or whether your flight will land tomorrow on time? If the flight, in the end, will be delayed by more than 30 minutes — an oracle will detect that and a flight insurance agency will automatically give instant payouts to everyone!
By including a connection to real-world events, Smart Contracts get much smarter, which means that they need Oracles to resolve details that cannot be precisely known at the time the contract is written.
Oracles are basically trusted data feeds that send information into the Smart Contract, agents that find and verify real-world occurrences and submit this information to a blockchain, which are usually supplied by third parties and are authorized by the companies that use them. So when you specify an Oracle – you are choosing a ‘court’ that will decide how your data is interpreted and what it means in the context of your contract. In case of a flight insurance agency, its Oracle will be resolving the question ‘did the flight get delayed? for how long? and what is the compensation?’ according to the agency’s smart contract definition.
You could criticise the irony of using third parties to solve an issue on a decentralized platform that promotes the concept of minimizing the need for such intermediaries, but Oracles are necessary for the practical usage of Smart Contracts in the near future.
They are part of multi-signature contracts where, for example, the original trustees sign a contract for future release of funds only if certain conditions are met. Before any funds get released, an Oracle has to sign the smart contract as well, so the utilization of real-world data in Blockchain requires this data sourse to be truly reliable.
Types of oracles:
- Consensus-Based Oracles are used to avoid market manipulation and for a further security on prediction markets, for instance, they would implement a rating system for oracles – a combination of different oracles, where for example 3 out of 5 oracles could determine the outcome of an event.
- Inbound Oracles provide the smart contracts with data from the external world. An example would be if an automatic buy order is executed if/when BTC hits a certain price.
- Outbound Oracles provide them with the ability to send data to the outside world.
- Software Oracles handle information available in online sources, like company websites. The software oracle extracts the needed information such as temperature, prices of products or services, flight or train delays, etc., and pushes it into the smart contract.
- Hardware Oracles bring information directly from the physical world, for example, movement sensors that detect the vehicle while crossing a certain barrier and send the data to a smart contract. There are still some security challenges to be resolved regarding Hardware Oracles, but secure solutions are expected to appear on the market in the nearest future.
Since Smart Contracts and Blockchain are in their essence decentralized while Oracles in their most common form are third party services which are not part of the blockchain consensus mechanism – this provides a philosophical barrier and an obstacle for the widespread utilization of Oracles.
Financial derivatives, stable coins, identity, gambling,… nearly anywhere you would incorporate – something is happening in the real off-chain world, but people need to trust these sources of information. Whether a website or a sensor, the data source needs to be trustworthy because in case of mistakes there are no rollbacks.
In our next articles, we are going to talk more about consensus algorithms and what kind of solutions can help this whole Blockchain Decentralized Concept work out in a safe and efficient way.