On April 11, 2018, the European Patent Office will publish the mention of grant of a European Patent to NChain relating to an Automated Management Method for Blockchain-Enforced Smart Contracts.
The invention relates generally to computer protocols and, more particularly, to the verification, enforcement and/or performance of condition controlled processes such as, for example, those relating to contracts. The invention is particularly suited for use with a blockchain network, and may be used to advantage with a smart contract.
Smart contracts can provide benefits such as enhanced security and reduced transactions costs. As mentioned in the patent, while there are known technical solutions which aim to ensure that these contracts cannot be modified once stored, there is no generally accepted public registry to check the validity of the contract i.e. whether it is still open or has been terminated.
Thus, it is desirable to provide a computer-implemented mechanism which can control public visibility of the existence of a contract, and facilitate the ability of relevant parties to manage, enforce and maintain performance-based processes such as contracts in an automated manner.
The contract may be a document, file or other mechanism which defines a set of behaviour(s) that can be triggered under specified conditions. The control condition may be publically fulfilled. According to the patent, the invention should not be regarded as being limited to use within legal or commercially-oriented contexts, and the term ‘contract’ may for example be a ticket for a train or airline, or for a concert venue, and on which is printed an access code such as a machine readable barcode for providing unlocking a barrier.
More specifically, there is provided a computer-implemented method and system for controlling the visibility and/or performance of a contract. The method comprises the steps:
(a) storing a contract on or in a computer-based repository;
(b) broadcasting a transaction to a blockchain, the transaction comprising: i) at least one unspent output (UTXO); and
ii) metadata comprising an identifier indicative of the location where the contract is stored;
(c) interpreting the contract as open or valid until the unspent UTXO is spent on the blockchain; and
(d) renewing or rolling the contract on by:
generating a new key using data relating to a previous key associated with the contract;
generating a script comprising the new key, the location of the contract and a hash of the contract; and
paying an amount of currency to the script.
The patent states that this provides the advantage that because the new key is related to the previous key, authorised parties can view the source contract by means of its connection with the renewed or rolled on contract, thereby enabling verification of the rolled on contract, without any loss of certainty or privacy. A further advantage concerns the fact that memory and processing capacity can be reduced by storing the contract in a computer-based off-chain repository (i.e. not forming part of the blockchain), without loss of certainty or privacy, since the key associated with the renewed or rolled on contract is associated with the key of the source contract.
In the ‘rollover’ situation, the UTXO may be spent sending it to the ‘new’ rolled-on contract. However, it may be possible to cancel the existing contract by spending the output before the lock time and thus cancelling the whole contract. The patented invention also handles sub-contracts derived from the contract.