Some Limits on Smart Contracts
Amid the excitement about the promise of smart contracts comes a wet towel over their use. Milos Dunjic argues that the Capabilities of Smart Contracts are Overblown because most people misunderstand the fundamental properties of smart contracts and propose ideas that are not implementable on a practical level. Dunjic addresses the scalability and privacy issues presented by smart contracts.
As for scalability, smart contract code must produce the identical outcome in every node that executes it. Dunjic questions whether a large number of distributed nodes all hitting a “funds transfer” API at the same time might look like a self-inflicted DDOS attack on the API. Would each call to the API receive exactly the same response from the API? Reliability must be absolute in a smart contract.
As for privacy, replicating and storing data on each blockchain participant’s computer does not look like the best way to prevent data breaches. The reality of decentralized networks is that they expand the opportunities for breach. Not surprising, Dunjic’s conclusion is that smart contracts should be used mainly for management of transactions with one database and that interaction with external environments and services should be avoided. For another viewpoint on the privacy problem with suggestions for partial solutions, see Privacy on Blockchain. We’ll watch how the smart programmers address these issues.