What are smart contracts?
A Smart Contract is a piece of code or software that can be executed in a deterministic way. In other words, it will execute an action, if certain conditions are met. Smart Contracts can receive, store and send funds or information, and can execute new contracts. We here at Laracle are a smart contract development company that specialises in this emerging technology.
This automated code also has the benefit of running on a blockchain. A blockchain is an encrypted data storage method, with a different structure to a traditional database. As the name suggests, data is stored in encrypted blocks. When a block is full, the data is chained onto the previous one and encrypted. The information in each block is irrefutable, and cannot be changed by a single party as it is stored across multiple servers. The Blocks are chained together in chronological order, giving a permanent record of events, as they happened, that can act as a ‘ledger’ for transactions and legal contracts.
Blockchain is a decentralised technology, meaning it is deployed on servers across a network, as opposed to being stored on a single server. For this reason, the two technologies combined can act as an automated, transparent, and secure intermediary.
To use this technology, a smart contract development company like Laracle builds custom software called decentralised apps, hosted on a network of servers, which use the logic of smart contracts as their back-end and blockchain as their data storage.
History of Blockchain and Smart Contracts
The first mention of Smart Contracts was by the computer scientist, lawyer and cryptographer Nick Szabo in 1994. He described them as “a set of promises, specified in digital form”.
Vending machines are often seen as the first widespread, basic use of an automated third party. The user inserts an amount of money to cover the value of the item they request. The vending machine then checks if the condition for sale has been met (the cash is equal to or greater than the value of the item), vends the item and dispenses any change if required, acting as a third party between the buyer and the vendor. All the checking and execution of sales is performed by the computer chip within the vending machine.
What can smart contracts be used for?
The technology has come on a alot since vending machines, so let us consider some possible use cases for smart contracts.
Currently, the best known use for blockchain is in cryptocurrency exchange software, such as Bitcoin or Ethereum.
There are many possible uses though for the automation, transparency and security offered by blockchain smart contracts. For example, they have growing use in keeping food and agricultural supply chain records. They can store and report data, accurate to the second, on information such as the produce’s organic status, sustainability, harvest time, and transport conditions.
As the technology grows and becomes more widely adopted, any process involving the allocation of resources, money or other goods, has the potential to be automated in this way. Property sale, ride-sharing, crowdfunding, and anything else requiring intermediaries or transfer of services and funds could take advantage of the automated accountability it offers.
This technology is accessed through custom decentralised applications, a form of software development using smart contracts as the backend and a custom front-end UI. These are developed by companies like us here at Laracle, users of the application provide the processing power for it to run as the app is not hosted on a single server.
What are dApps?
A decentralised app, or dApp is an application hosted across a network of servers. A dApp is developed by a specialised smart contract development company and needs to attract users to power itself. This is done usually with an initial coin offering. Similar to the way crowdfunding works, this method of raising money attracts essential users by guaranteeing them a certain amount of the tokens the app will use.
There are a number of benefits to application development on a distributed network.
On the network, the hosting of the dApp being decentralised, significantly increases reliability. If a server hosting a traditional app goes down, it will take the app offline until the problem is resolved. In a decentralised app, one of the nodes the app uses can go offline and performance will remain unaffected. Similarly, as more users use the app, performance scales with the increase in available nodes.
Blockchain development also tends to be more secure, both resistant to DDoS attacks and to direct attacks for information, as there is no single server at which to direct any attack.
To understand the various potential uses of dApps, we will look at some popular specific uses.
The first is Augur, a no limit betting platform based on the Ethereum blockchain. It allows its users to place bets on market events. The less likely the outcome of the event, the higher the reward. The decentralised nature of the app with no intermediary guarantees user payouts as there is no possibility for one party to interfere with any bet placed. Versus a regular betting firm it has the benefit of no caps being placed on successful accounts and has much lower fees for its users, with no third-party to pay.
Another possibility built on blockchain technology is the sharing of computer resources, as utilised by the company Filecoin. Filecoin works as cloud storage but in a decentralised manner, leaving it free from censorship and corporate control and almost invulnerable to data breaches. Instead of users' data being stored on a single server, it is stored on an encrypted blockchain network. This allows its users to make money from their excess storage space, from a small individual user to large scale servers. Under its system, storage miners earn “filecoin” which is in itself a cryptocurrency.
The use of dApps and blockchain can also be for recreation and leisure too. The most popular game at the time of writing is Splinterland, which is a digital collectable card game. It aims to remove problems associated with the move from traditional physical card collection to online digital collection. In traditional digital games, assets are tied to a person, or account and because of technological and trust limitations, it was almost impossible to freely trade assets between users. Splinterland uses smart contracts to securely record transactions, allowing users to collect, trade and sell digital goods as if they were physical.
These are just three examples of possible uses for blockchain smart contract technology but they demonstrate that there are many different ways it can add greater trust and transparency to different forms of business, leisure and trade.
The state of smart contracts in 2021 and what they are used for
At the time of writing there are 3,549 dApps with around 150,000 active daily users. While this number is comparatively small when viewed against traditional internet use, the technology has seen huge growth since June 2017 when there were only 500 or so dApps (source: www.stateofthedapps.com). Blockchain app development is expected to continue to grow at a rapid pace as it becomes more widely adopted. The boom in decentralised finance technology is proof of interest in the technology and a number of large, international corporations have begun to accept various forms of cryptocurrency as payment.
This steady, continued growth in the industry and the generally more secure nature of decentralised hosting has exciting potential for the future as the technology develops.
What the future holds for smart contracts and their use cases
As we have seen with the example of storage sharing above, there is the possibility for almost any spare or excess resource sharing to be monetised using dApps. Going forwards, it could well become standard practice for businesses to use the excess processing capacity of personal computers around the world if they need extra power for a short period of time. The owners of the computers would of course earn money in exchange for their sharing of resources.
Similarly, in time, almost any excess resource which is owned could be monetised using smart contracts on a blockchain. Spare automobile capacity could be shared whilst not in use by the owner and the same could be true with excess accommodation space. Currently, there is the monetisation of excess property either through short term holiday lets or long-term rentals, but both of these avenues can be time-consuming, risky or expensive for the parties involved. A smart contract solution could negate these adverse factors with automation taking the place of the intermediaries.
Blockchains that support smart contracts (Ethereum, Binance Smart Chain, etc.)
There are a number of different platforms that a smart contract development company can deploy their custom software on. The most widely used of these is Ethereum, with Hive and EOS as other popular blockchains.
Blockchain technology is constantly in development, meaning even existing technologies are evolving. Popular blockchain Binance Chain had some limitations in terms of its programmability and its developers have introduced Binance Smart Chain as a way of increasing programmability of that particular blockchain.
A number of different cryptocurrencies use their own blockchain technology. Dogecoin, Litecoin, Bitcoin, and Monero are just a few examples. Different blockchains use different programming languages.
Laracle: A Smart Contract Development Company Based In The UK
The result of this exponential growth is that some software development companies have decided to specialise in being smart contract development companies. This is exactly what we here at Laracle have done.
We are looking towards the future, which we believe to be in blockchain app development and are specialising in putting this decentralised technology to use in our development services. With almost limitless possibilities for the future of blockchain and smart contracts, Laracle is ready to develop new ideas in dApps.