Over the next few decades, smart contracts will revolutionize how information is shared on the web. Even the rules of the web itself will likely be rewritten by these same contracts. For creators and entrepreneurs, understanding why the status quo is broken is key to understanding how and why the web will change in the future.
This blog post on smart contracts is part of the Elix Blog, a series focused on blockchain, crowdfunding, and trends in technology. Check out more articles on our blog here.
Join ELIX here to create and support campaigns around the world. Signing up and creating a product or campaign takes less than two minutes.
You can think of a smart contract as a computer program, the code of which can never be changed. That program maintains a set of state variables, receives inputs from other programs or outside inputs (people) and updates its state whenever asked. Although no one can alter the code of a smart contract after it is written, the contract can contain directives about how it should react to a given set of inputs.
The code of each smart contract is embedded in a “block.” You can think of this as a piece of a blockchain. In most blockchains, each block contains a list of transactions (actions) taken by people while using the blockchain. The immutability of a blockchain is one of the key features that separates it from traditional currencies. Blockchain was originally created as electronic currency that solved the double spending problem and removed centralization. Nowadays, numerous blockchains like Bitcoin, Ethereum and NEO have been developed to store more complex information by incorporating scripting languages.
Probably the best way to learn what the code of a smart contracts look like is to dive right in. For example, here is an example smart contract for the Elixir token, and here is one for Quantstamp. Elix is a blockchain crowdfunding company, and Quantstamp is a smart contract security company.
It’s common practice as a developer to follow certain standards when developing smart contracts. For example, the scripting language Solidity is vulnerable to integer underflow and overflow — therefore it’s smart to use a libraries that prevent bugs like this. It’s also common practice in Solidity to follow a token standard to make your token easily usable and tradable. For example, most fungible Ethereum tokens are currently compatible with the ERC-20 token standard. For non fungible tokens, alternatives like ERC-721 have been developed. Think of fungible versions as tokens that are non-unique like frequent flyer miles, while non-fungible contracts manage unique collectibles like kittens on the blockchain.
The code of smart contracts is immutable, and all the code of a verified contract is publicly visible. For marketplaces, sites and social networks, increased transparency means that people will have more reliable information about other actors on every network. It’s won’t be possible for a site to lie to a customer about the number of impressions, click through rates, or bids on products. For the consumer, this is empowering. Privacy and transparency are at the forefront of consumer concerns, especially in the aftermath of events like the Snowden leaks and the Cambridge Analytica scandal at Facebook.
Financial services, data collection, and supply chain economics are just a few examples of industries ripe for disruption. Smart contracts provide decentralized ways of exchanging information and value. For example, providing ways for people all over the world to access and use information is a way to prevent censorship and manipulation. It’s still too early on to know exactly how much of the web will be replaced or changed by smart contracts, but the first attempts are well underway. For example, the Ethereum Name Service (ENS) claims to provide a decentralized alternative to domain names.
While it remains to be seen exactly which ideas will stick, people around the world are busy building the next generation of online technologies to make the online world more efficient, transparent and accessible.