Smart contracts are self-executing code that defines and executes an agreement between multiple parties. That code contains simple “if/when…then…” statements executed within a distributed network that achieves consensus on transactions made within it. For example, a smart contract could define conditions for a payment from party A to party B, and other conditions for returning the funds back to party A; perhaps after a certain amount of time passed without the first conditions being met. This innovation allows for the elimination of trusted intermediaries in a wide range of programmable agreements. Smart contract enabled transactions are fully traceable, transparent, and irreversible.
Nick Szabo introduced the concept of smart contracts to the world, publishing Formalizing and Securing Relationships on Public Networks in 1997. Szabo was clearly ahead of his time, and it seems his ideas mostly lay dormant until technology advanced far enough to make them possible. In 2009, Satoshi Nakamoto published the Bitcoin whitepaper, enabling a peer-to-peer payment network and decentralized currency.
I’ve developed a new open source P2P e-cash system called Bitcoin. It’s completely decentralized, with no central server or trusted parties, because everything is based on crypto proof instead of trust." - Satoshi Nakamoto
Vitalik Buterin learned about bitcoin from his father, and became heavily involved with it during 2011, when he was 17. In response to a forum post offering to pay 5 Bitcoin per article, he began writing for a Bitcoin blog, and later went on to co-found Bitcoin Magazine. Vitalik saw the potential for blockchain, beyond currency, and proposed that Bitcoin should have its own scripting language. Meeting resistance from the Bitcoin developing community, he decided to create his own blockchain platform, publishing the Ethereum whitepaper, in 2013.
Vitalik’s purpose was to create a distributed world computer, and enable a whole host of innovative applications for its users. On July 30 2015, the Ethereum network was officially launched, and Nick Szabo’s dream of smart contracts came alive. Ethereum enables its users to harness the potential of blockchain without building their own.
Ethereum was among the earliest cryptocurrencies to use the ICO token distribution \ fundraising method. Initial coin offerings (ICOs) involve a token sale allowing participants to be among the first owners of a new digital asset, while the issuers retain funds for development. Ethereum’s programmable tokens and distributed virtual machine allow anyone to create new tokens, and develop applications leveraging Ethereum’s distributed consensus mechanism. As a consequence, a multitude of crypto start-ups have appeared, many of whom have launched their own ICO. This year there have already been over a thousand ICOs, raising better than 7 Billion dollars.
Although ICOs have stolen the limelight, an arguably more legitimate purpose of smart contracts is in the creation of decentralized applications (dApps). DApps (pronounced Dee Apps) are applications who’s back-end consists of smart contracts that conduct transactions over a distributed network. Because smart contracts are conducted on the blockchain, their behaviour is transparent and entirely verifiable. Dapps are typically open source, ideally with no single entity in complete control over their development. However, true decentralization is difficult to establish, and most of today’s dApps might be better thought of as dApp-ish. In the pursuit of further decentralization, dApps can also make use of decentralized storage solutions, such as IPFS, for hosting their front end.
Technically, Bitcoin, Ethereum, and other blockchains are decentralized applications. However, the term dApp is typically used to refer to applications making use of a blockchain, rather than the platforms themselves.
Popular Ethereum Dapps
It’s still early days for decentralized applications, and few have gained significant adoption. The most widely known Ethereum dApp is CryptoKitties, a digital collectibles game. For the first time in computing history, it’s now possible to own provably rare digital artefacts including artwork, video game items, and other collectibles.
golem.network is a perfect example of the potential for decentralized applications. Golem seeks to facilitate a decentralized global market for processing power. Its protocol connects buyers and sellers of a computer’s processing capabilities. Such a network could be used for processing intensive tasks such as machine learning, and CGI rendering; making super-computing power more widely accessible.
Another blockchain use-case that is gathering interest is in the creation of decentralized energy markets for the producers and consumers of renewable energy. Grid+ is currently proving that use, it includes a hardware gateway system and ‘Smart Agents’ that allow users to trade electricity in real time on the Ethereum blockchain.
Other Smart Contract Platforms
“the most secure environments for smart contracts are the most mature public blockchains” —Nick Szabo
With the value of smart contracts proven, a number of other platforms for smart-contracts have appeared. Each of these hoping to improve upon Ethereum, achieve scalability, and capture market share. EOS has gotten a lot of attention this year, and currently has the fifth highest market capitalization. EOS uses the Delegated Proof of Stake (DPos) consensus mechanism, allowing it’s token holders to vote for block producers, weighing the vote of each account by the amount of stake it has vested in the network. Staking is the practice of locking up tokens in a contract that grants a user voting power. Many cryptocurrency proponents are highly critical of DPoS, as it introduces greater elements trust and the potential for collusion into its protocol. Despite the fact that EOS has had a very rocky and controversial launch, a lot of money is riding on its potential to displace Ethereum as the go-to platform for dApp creation.
Cardano (ADA) is another up and coming smart contracts platform, and the first blockchain to be based upon scientific research. Its goal is to develop a smart contract platform with more advanced features than any other existing platform. Still under development, it’s founding company, IOHK produces some of the best research in the cryptocurrency space.
Other noteworthy smart contract platforms include NEO, Waves, Stellar, and NEM. There are also software solutions such as Hyperledger’s Fabric, and R3’s Corda working to bring blockchain’s potential to the enterprise space. These platforms are more appropriately referred to as distributed ledger technology (DLT) than blockchain, but seek to create similar trust-minimizing features in private networks. These solutions are being specifically crafted for networks of private organizations wishing to track and automate transactions between each other.
Fabric was introduced to the Hyperledger Foundation’s open source co-operative by IBM. Fabric is designed to enable distributed ledger for the enterprise. Similarly, Corda was designed (not exclusively) for the financial services industry, and has a vision of “a large number of firms, suppliers, customers and third parties manage a large and diverse range of agreements on the same platform, through deployment of a large range of Corda Applications, or CorDapps, across a common, shared, openly governed network.”
The disruptive potential of smart contracts is in reducing or eliminating the need for trusted third parties in almost every type of financial transaction imaginable. The greater human element in any financial interaction, introduces risk of error and an increased cost for the transaction. Blockchain and smart contracts are among the most socially empowering breakthroughs in recorded history. As decentralized services develop a competitive user experience, users will happily abandon their centralized counterparts.
One example use case is to use smart contracts for escrow. localethereum.com is a peer-to-peer Ethereum marketplace that uses them for that exact purpose. First, the buyer and seller confirm and agree upon the conditions of the trade. Next, the seller places ether into the smart contract. With those funds in place, the buyer is assured to proceed with the transaction and make a direct payment to the seller. At this point the seller releases the funds to the buyer, or raises a dispute and a previously agreed upon arbitrator works with both parties to find a resolution.
Researchers have suggested that smart contracts could be used to improve upon the scientific credibility of findings in clinical trials. Introducing automated transparency into scientific research has the potential to solve a serious pain point within the research community, and increase confidence in the data surrounding potentially life-saving trials. In this way we can be protected from manipulated data, and retain an immutable record of research history.
The biggest threat in smart contracts, is the potential for bugs in the code. When this code is meant to protect and secure our assets, the possibility of a bug exposing their users to the risk of losing funds. In 2016, the DAO (Decentralized Autonomous Organization) raised 150 Million in an ICO that was hacked when someone found a vulnerability in its code. There are frequent news stories of various crypto projects getting hacked because of vulnerabilities in their code. This all is made worse by the fact that once a smart contract is submitted to the Ethereum blockchain, it’s instructions cannot be changed. As a result of the risks involved there is a growing culture around peer review, security audits checking code for known vulnerabilities, formal verification, and other measures to protect against broken smart contracts.
The potential for smart contracts is nearly limitless. Automated transparent financial services grant all parties assurance surrounding the results of transactions. This innovation will go on to change the entire world of commerce, eliminating costly intermediaries from many of the places they currently reside.
Since Bitcoin and Ethereum have proven the use of blockchain for securing transactions within a decentralized network across the globe there is a race to create scalable decentralized applications. Moreover, private businesses are striving to catch up since these incredible technologies have arisen from grass-roots efforts and have the potential to disrupt traditional business models.
WE OFFER A RANGE OF BLOCKCHAIN DEVELOPMENT SERVICES!
Smart Contract Glossary - Szabo, 1995
Nick Szabo’s Web Archive pre '05
unenumerated.blogspot.com - Nick Szabo’s blog since 2005
Smart Contracts: 12 Use Cases for Business & Beyond (Foreword by Nick Szabo)