What Are Smart Contracts?
Smart contracts are computer programs running on blockchain nodes that can be issued among untrusted, anonymous parties without the involvement of any third party.As simple forms of smart contract, standard types of Bitcoin transactions,such as pay-to-public-key-hash (P2PKH) and pay-to-script-hash (P2SH), are all deﬁned with Bitcoin Script. In addition, there also exist platforms that enable more complex contractual functionalities and flexibility, e.g.,Ethereum, which adopts a turing-complete language for smart contracts.
Why do we need Smart Contracts?
Smart contracts inherit properties of underlying blockchains which include an immutable record of data, and the ability to mitigate single points of failure. Smart contracts can also interact with each other via calls. Unlike Traditional paper contracts that rely on middlemen and third-party intermediaries for execution, smart contracts automate contractual procedures,minimize interactions between parties, and reduce administration cost.
Public Smart Contracts
Public blockchains set no requirement for peers to participate, hence all peers have the right to deploy smart contracts. In order to prevent spamming, when instantiating or invoking smart contracts on a public blockchain, one is often required to pay a certain amount of fee. Limited by its functionality, the scripting language used in Bitcoin–is hardly used in constructing complex contractual terms.
Blockbase Smart Contracts Development Process
Gathering the requirements
Deploy Smart Contract on Ethereum
Applications of Public Smart Contracts
Public blockchains enable convenient development and testing of smart contract applications or decentralized apps (D-Apps). Public smart contracts make it possible for startups to raise funds through Initial Coin Oﬀerings(ICOs).
Healthcare and Medical Records
Blockchain technology and smart contracts are seen by many healthcare professionals as a secure way of sharing and accessing patients’ EMR. Smart contracts can feature multi-signature approvals between patients and providers to only allow authorized users or devices to access or append the record. They also enable interoperability via collaborative version control to maintain the consistency of the record. Be-sides beneﬁting patients and their care providers, smart contracts can also be used to grant researchers access to certain personal health data and enablemicro-payments to be automatically transferred to patients for participation
uPort is an identity management framework that leverages public Ethereumsmart contracts to recover accounts and protect user privacy in the case of a device loss. The main component–uPort identiﬁer–is a unique 20-byte hexadecimal string representing the address of a proxy contract that lies in-between a controller contract and an application contract. uPort enables users to replace their private key (saved oﬀ-chain) while maintaining an on-chain persistent identiﬁer. If a valid user brings a new device, s/he canseek for approval from a list of existing recovery delegates, and replace the old user address with a new one.
Permissioned Smart Contracts
Permissioned smart contracts, residing on permissioned blockchains are becoming increasingly popular in business collaborations. Compared to the ineﬃcient and expensive validation processes of public blockchains, permissioned blockchains are more suitable in stimulating business collaborations.
Applications of Permissioned Smart Contracts
Public smart contracts impose inevitable threats to user privacy. More sensi-tive business use cases such as banking, supply chain, IoT are more commonly deployed as permissioned smart contracts.
Smart contracts can be used to enforce rules and policies in banking, for example, the mortgage service. With smart contracts in mortgage, consumers could potentially save 480-960 USD per loan, while banks would be able to cut 3-11billion USD of annual costs in the US and Europe. Banks can also use smart contracts to streamline clearing and settlement processes.
Provenance & Supply Chain
Blockchain can be used to enable some of the key properties in supply chain and logistics including transparency, optimization, security and visibility of various operations in the transportation of goods. A supply chain with continuous, real-time access to reliable, shared data is more eﬃcient than traditional supply chains. Provenance of the product via the blockchain also raises the bar on quality in production by reducing the risk of wastage and spoilage.
Voting is another application that can beneﬁt from permissioned smart con-tracts. A Danish political party has implemented a smart contract to ensure fairness and transparency for internal elections. They proposed a boardroom voting scheme that is diﬀerent from existing proposals of e-voting. This system works under the assumption of a small group of voters with known identities and provides maximum voter privacy and veriﬁability.
A promising but controversial application scenario is the use of blockchain and smart contracts for IoT data management. Intuitively, as both systems are decentralized in nature, blockchain could be used to enhance trust inIoT systems that constantly share and exchange a large amount of data.However, the other properties of blockchain and IoT do not seem to ﬁt natu-rally together. Firstly, IoT data is often sensitive, and should not be shared with everyone else. Secondly, blockchains are resource-consuming. Even with lighter consensus mechanisms, having all IoT devices to execute all programs is redundant considering their limited processing capability.
In the insurance industry, smart contracts can perform error checking, routing, approve workﬂows, and calculate payouts based on the type of claim and the underlying policy. For example, the processing of travel insurance claims can be automatically veriﬁed against ﬂight delays or cancellations. Smart Contracts can help remove the human factor involved in the process, therefore, decreasing the overall administrative cost for the insurers and increasing the transparency for the consumers.
Smart contracts as logic-based computer programs have a limited level of interactivity and do not allow people to negotiate and make changes based on the later agreed modiﬁcations like in traditional contracts, and they aren't ﬂexible with exceptions such as glitches. Also, due to the P2P nature of blockchains, letting ordinary users control their data directly is risky, andthe exchange rate can be unpredictable when crypto-currencies are involved.
Despite the hype of blockchains and smart contracts in both public and consortium domains, there are still a number of misconceptions about the technology. Firstly, there has been an inﬂated expectation and many un-realistic use cases. Secondly, even with proper use cases, it can be hard to persuade stakeholders and users to accept the new technology. This could result in extra development costs and a low return on the investment.