Background to Smart contracts
The idea of Smart contracts was first developed by Nick Szabo in 1996. Szabo’s concept was to create protocols to transfer data using complex mathematical algorithms. These algorithms would automatically process transactions if certain conditions were met. The process would be a fully automated one. In 1996 the technology did not exist for the concept to be put into practice.
In 2008 Bitcoin cryptocurrency came into existence and with it came blockchain technology which was a decentralized and distributed and decentralized database. The blockchain could be used to create a distributed ledger. This platform could be used for the Smart contracts to be created and developed in. A few years later the Ethereum platform appeared and this would make it possible for Smart contracts to be developed and used. Smart contracts were designed to be stored on the blockchain, be fully automated and could either replace or substitute traditional contracts. Program languages like C++, Python and Java amongst others can be used to design Smart contracts. The same rules that apply to any legal contract also applies to Smart contracts i.e. the same legal obligations, penalties and rules. Smart contracts also provide additional security, reduces considerable costs and streamlines the process associated with traditional contracts.
How Smart contracts work
A traditional ledger in any organization would be used to record transactions, trace assets, investments, and inventory. This would mean that several ledgers would need to be maintained across the organization and this would cause duplication of effort. Because theses ledgers would be stored on a central system it would also be susceptible to cyber-attacks, fraud and infrastructure downtime
Smart contracts are coded programs that run on top of Blockchain technology and allows all the members to share and interact with each other using a distributed ledger. These are done through transactions or agreements. Smart contracts are shared between members that execute the code independently and which is automatically cross-checked. The blockchain ledger is a database that ensures that all the inputs are identical when the program is executed. When the members execute the program they should come to the same conclusion which is then recorded on the distributed ledger. Smart contracts operate by following a simple rule IFTTT “if this then that statements”, if this happens then execute the next sequence of events coded into the Smart contract on the Blockchain. Because the blockchain is secure and reliable it ensures that the transactions that happen cannot be changed, modified or edited.