A new protocol for assuring smart contract behaviour
Smart contracts are immutable pieces of code on a blockchain which often handle large sums of money. Pre-deployment, many contracts undergo security audits and are subjected to static analysis in order to find errors and issues. However, there are no options for ensuring correctness of a contract once it has been deployed. This talk describes a novel decentralized protocol that provides a layer of economic assurance for the correctness of a deployed smart contract. The protocol deems a smart contract to be correct if does not perform some user-defined behaviour. The protocol periodically rewards participants who place a collateral stake on the behaviour of a smart contract; participants lose this stake in the event that the contract misbehaves. The protocol enables economic assurance for arbitrary stakeholders of a contract, allowing these stakeholders to recover staked funds if a contract misbehaves. Stakeholders are not limited to the contract writers or owners, and anyone can stake collateral.