The principle of computational logic and smart contracts.
The Bitcoin network is a financial application of the blockchain technology. The blockchain of the network contains data about financial transactions that occur on the network. Enabling users to send transactions to each other without a bank or a government is all that the Bitcoin network can do. However, because the ledgers on blockchains are digital, it is possible to tie computational logic to them and also execute computer code on them. This means that users of blockchain networks can create algorithms that will run automatically.
The ability to run such algorithms is the main difference between the Ethereum blockchain network and the Bitcoin blockchain network. In addition to enabling users to participate in peer-to-peer transactions, the Ethereum network also has Ethereum Virtual Machine that can run computer code.
This functionality of the Ethereum blockchain means that instead of creating multiple blockchains that can perform a very limited number of functions each, such as Bitcoin being a financial blockchain, developers on the Ethereum network can build a variety of decentralized applications on one platform. Decentralized applications are also known as Dapps or DApps. From the standpoint of a blockchain with a virtual machine, the Bitcoin network is a Dapp with financial functionality.
Just like a blockchain network becomes independent after its launch, a Dapp on a blockchain network can run fully independently. This is especially beneficial when it comes to applications that contain contracts between parties.
Introduction to smart contracts
Contracts on blockchain networks are also known as smart contracts. The Bitcoin network introduced the world to a safe and secure way of peer-to-peer transactions without third parties such as banks and governments. The Ethereum network has expanded this capability to being able to create all kind of contracts without a need to use a third party to implement and monitor the status of the contract. The Ethereum network serves as such as party.
A smart contract is software with instructions about what happens in different situations in the form of “what if/then… or else” language.
If you think about your daily financial transactions and interactions with others, you will realize that many of them are based on written or implied contracts. Sometimes these contracts can be very simple and sometimes they can be very complex. For example, when you board a municipal train to go from point A to point B, you essentially enter into a contract with the transit system. The contract is that “IF I pay for a ticket, THEN the transportation authority with provide transportation to get me from point A to point B.”
Even this contract has a lot of conditions and scenarios that many people do not think about because these scenarios are not likely, such as “what IF the train gets delayed and you are late for work?” or “what IF the train gets into an accident?”
Contracts in the world today
Today, it would typically be an attorney that drafts a contract and monitors its execution. For example, if something were to happen on the train and you wanted to obtain compensation from the transportation authority, you would most likely need to hire an attorney and then your attorney would communicate with the attorney of the transportation authority. This process is long and complex even when you can get an attorney who will work for you with no upfront costs and based solely on contingency.
The process works in a similar way with any complex transaction, be it buying real estate or buying insurance that protects a business in case of political changes in a country. There are a lot of attorneys involved, the amount of paperwork and supporting documents may be extremely large and oftentimes the fact that there is no paperwork only means that you were not able to find it. For example, in real estate, some county may have a decision about a piece of real estate that it stores in its local database and unless you look, you would never know that the decision is there.