Why smart contracts aren’t always as smart as you think

There’s a lot of buzz around the concept of smart contracts at the moment – but at the same time, there’s a lot of haziness. People think of them as being the same as a traditional, paper-based contract, except information is stored securely on the blockchain. However, this isn’t the case.  

What is a smart contract?  

The actual term smart contract pre-dates both Bitcoin and Ethereum. It was coined in the 1990s by blockchain frontrunner, Nick Szabo, in reference to a programme that can carry out the terms of a contract. 

Therefore, in its most literal sense, a smart contract is actually just a piece of programme code; nothing else. And like every similar piece of code, it is written in a specific programming language for the blockchain it is built on and has a standard set of commands.  

The digital nature of smart contracts also makes them more flexible, as different actions and transactions can be programmed on the same blockchain, and less biased, as they are being commanded by a neutral system – the blockchain network.  

Is it the best way to do business?  

While smart contracts are undoubtedly a step up from signing paper documentation, they are not the all-singing, all-dancing solution that many companies believe them to be. Like everything in the world, smart contracts come with their own set of drawbacks, including: 

  • Knowledge – companies either need to be able to programme their own smart contract or they have to hire someone who can write one on their behalf. And the person creating these contracts needs to be a highly skilled developer 
     
  • Learning curve – the reason developers need to be experienced is that smart contracts are often programmed in different languages from the standard development language stack. For example, Ethereum’s smart contract language is unique to that particular blockchain. Therefore, they may need to learn new skills from scratch, which take time to perfect
     
  • New concepts – another technical hurdle is that the structure for smart contracts are different to the centralised applications that most developers are producing. They need to become familiar with concepts like decentralisation and transparency of code, and cope with the fact that anyone can call their code on a public blockchain 
     
  • Code quality – like every piece of code, the seniority and skill level of the developer will determine its quality, but with smart contracts the consequences of errors are significant. Rigorous QA testing is needed to ensure programming is bug-free, to avoid smart contracts being exploited by malicious entities
     
  • Security – most companies assume that everything built on the blockchain is automatically secure, but this isn’t the case when it comes to smart contracts. A security audit should be carried out before any type of contract coding goes live – there’s a famous example of a smart contract bug resulting in hackers draining 3.6million Ether in 2016 that serves as a stark security warning to all developers 
  • Immutability  although this is one of the big benefits of blockchain, it does mean that any software being built on it needs to be 100% correct and concise from version 1.0. Any smart contract being deployed needs to be coded perfectly, as no more improvements and bug fixes can occur after it goes live
     
  • Cost – recruiting developers with particular skills can be very expensive, and they are not the only experts you may need to involve. Development teams often need to be supported by security audit houses and lawyers experienced in IT to ensure that smart contracts are fully legal and compliant, in addition to being functional  

Is there a better way to enable secure transactions than smart contracts?  

Given the drawbacks and restrictions surrounding smart contracts, Own has decided to go down a different route to enable digital asset transactions.  

By taking this approach, multiple actions can be made as part of a single transaction, and we can ensure they are executed in a particular order, to ensure the correct, compliant result. Not only that, we operate an ‘all-or-nothing’ approach; if one action fails, it will stop all the actions in the transaction. By using rigorously tested building blocks to create complex business transactions, we can ensure that the process is completed in its entirety or rolled back to its starting state in the case of any error.  

To give you an example of this, imagine the problems caused by a partially executed corporate action, which has left ‘the books’ in an inconsistent state. The way our solutions are built ensure a situation like this cannot happen.  

It’s time to look beyond not-so-smart contracts 

As with any ascending technology, there is always a certain amount of hype, but it’s important that businesses look beyond the buzz surrounding smart contracts and question whether they really are the right way to ensure secure financial transactions.  

They may be right for some, larger companies, but for most organisations they can end up becoming an expensive and rigid way to support digital asset sales and transfers. Tech experts like Own have come up with ways to offer the same benefits as smart contracts, but with less cost and complexity for your business.  

To discover more about the technology behind our digital asset marketplace, read our 5 reasons we built our own blockchain blog post.  

Share this post

Sign up to our newsletter