What Is A Smart Contract And How Does It Work
Lawsuits, judgments, and enforcement of contracts are now handled by attorneys, courts, and the police. Ethereum and other smart contract cryptography systems incorporate contracts into a blockchain to make them self-executing, with no chance of appeal or reversal, and beyond the reach of courts and police. Programmers of smart contracts sometimes use the phrase "code is law" as a mantra.
To make matters worse, the coding language used by smart contract drafters is significantly less widely understood than the legalese employed by attorneys when drafting contracts. Smart contracts are complex, but there are only a few hundred people worldwide who have the technical expertise to fully understand their implications. Even they may miss glaring software bugs.
There will always be an advantage for those who have a command of the programming languages needed to run these contracts, even as more people grow fluent in them. The Decentralized Autonomous Organization, the first smart contract implementation on the Ethereum network, revealed all of this (DAO). More than $150 million invested in one smart contract allowed an attacker to exploit the system and transfer around one third of the DAO's assets to his own account, despite the DAO's best efforts to prevent this from happening.
To characterize this attack as a theft would be misleading since all the depositors had agreed that their money would be controlled by the code and nothing else, and the attacker had done nothing except run the code as the depositors had agreed to. Immediately after the DAO breach, Ethereum engineers changed the software to avoid making the same error again. Consistent with smart contracts' stated goal of making code law, this reintroduction of human subjectivity raises doubts about their very purpose.
All blockchains smaller than Bitcoin's are, in fact, centralized databases in the hands of their operators since they cannot be successfully turned back. Now that we know contracts may overrule what code does, we can see that code is not really law.
However, smart contracts have not replaced courts with code, rather they have replaced courts with software engineers who lack the expertise to arbitrate. Courts and attorneys have not yet been engaged in exploring the implications of such forks, although it is possible that they will.
This implies that wide-scale deployment is still some time away, assuming it ever does happen. Currently, all additional apps are still in prototype form. Such contracts may become increasingly frequent in a future when more people are able to read and write code and where programming is more predictable and dependable. Because such contracts just raise processing power needs while still allowing the blockchain's developers access to alter and overrule them, they are of little use if they are only used to generate buzzwords and publicity.
More likely, smart contracts will live on centralized computers run by trusted third parties with the capacity to overturn them. This formalizes the fact of blockchain smart contracts being editable while minimizing the processing power needed and limiting the attack vectors that might jeopardize this.
Simple contracts that are easy to verify and understand are expected to be in demand for operational blockchains. Such contracts can only be implemented on the Blockchain using the Blockchain's native currency, since all other contracts can be better enforced and monitored without the additional load of a blockchain distributed system.
The only important blockchain contract applications are basic time-programmed payments and multi-signature wallets, all of which are conducted using the currency of the blockchain, mostly on the Bitcoin network.