US10594477B2ActiveUtilityA1

Blockchain smart contract updates using decentralized decision

90
Assignee: ALIBABA GROUP HOLDING LTDPriority: Nov 30, 2018Filed: Apr 22, 2019Granted: Mar 17, 2020
Est. expiryNov 30, 2038(~12.4 yrs left)· nominal 20-yr term from priority
H04L 9/00G06Q 50/188H04L 9/3297H04L 9/0891H04L 2209/56H04L 9/3239G06Q 10/10G06Q 10/00H04L 9/3247H04L 9/0637H04L 2209/463H04L 2209/38H04L 9/50H04L 9/06G06Q 20/389G06Q 20/382G06Q 20/367G06Q 20/065
90
PatentIndex Score
9
Cited by
15
References
20
Claims

Abstract

Implementations of the present disclosure include receiving, by a contract updates management system, an update request indicating a change to a smart contract, the change being a proposed update to the smart contract, determining, by executing an updates smart contract within the contract updates management system, whether conditions are met for updating the smart contract to incorporate the change, the updates smart contract defining the conditions, and upon determining, by the contract updates management system, that the conditions are met, updating, by the contract updates management system, the smart contract, and recording the change to one or more blocks in a blockchain of a blockchain network.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A computer-implemented method for managing updates to smart contracts executed in blockchain networks, the method comprising:
 receiving, from a user, at a contract updates management system, an update request indicating a change in terms of a first smart contract, the change in terms being a proposed update to the first smart contract; 
 in response to executing a different second smart contract within a blockchain network:
 determining, by the contract updates management system, whether conditions are met for updating the first smart contract to incorporate the change in terms, the second smart contract defining the conditions; and 
 
 upon determining, by the contract updates management system, that the conditions are met, updating, by the contract updates management system, the first smart contract, and recording the change in terms of the first smart contract to one or more blocks in a blockchain of the blockchain network. 
 
     
     
       2. The method of  claim 1 , wherein the update request comprises an identifier assigned to the first smart contract within the blockchain network. 
     
     
       3. The method of  claim 1 , wherein the update request comprises an identifier assigned to the second smart contract within the blockchain network. 
     
     
       4. The method of  claim 1 , wherein the first smart contract comprises:
 a controller contract defined by a dispatcher upon receipt of a request by a contract originator who originates the first smart contract; 
 a service contract that includes logic of the first smart contract; and 
 a data contract that includes terms of the first smart contract. 
 
     
     
       5. The method of  claim 1 , wherein determining whether the conditions are met includes performing a voting process comprising:
 sending a request to one or more nodes in the blockchain network for a vote relative to the change in terms; 
 collecting votes from the one or more nodes; and 
 determining that conditions are met when the collected votes indicate an approval of the change in terms by the one or more nodes. 
 
     
     
       6. The method of  claim 5 , wherein performing the voting process includes weighting votes by weights associated with respective nodes, and wherein approval is based on a function of the collected votes and their associated weights. 
     
     
       7. The method of  claim 5 , wherein performing the voting process includes applying a veto received from a veto-privileged node, wherein the voting process ends when a veto is received for the change in terms during the voting process, the veto causing the change in terms to be rejected. 
     
     
       8. The method of  claim 5 , wherein performing the voting process includes using voting rules specifying when the voting process is to result in approval of the change in terms or rejection of the change in terms. 
     
     
       9. The method of  claim 5 , wherein performing the voting process includes using a voting start time and a voting end time that define a voting period in which the voting process occurs. 
     
     
       10. The method of  claim 5 , wherein performing the voting process ends and the conditions are met when a threshold number of voters have approved the change in terms or when a combination of one or more specific voters have approved the change in terms. 
     
     
       11. A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations for managing updates to smart contracts executed in blockchain networks, the operations comprising:
 receiving, from a user, at a contract updates management system, an update request indicating a change in terms of a first smart contract, the change in terms being a proposed update to the first smart contract; 
 in response to executing a different second smart contract within a blockchain network:
 determining, by the contract updates management system, whether conditions are met for updating the first smart contract to incorporate the change in terms, the second smart contract defining the conditions; and 
 
 upon determining, by the contract updates management system, that the conditions are met, updating, by the contract updates management system, the first smart contract, and recording the change in terms of the first contract to one or more blocks in a blockchain of the blockchain network. 
 
     
     
       12. The computer-readable storage medium of  claim 11 , wherein the update request comprises an identifier assigned to the first smart contract within the blockchain network. 
     
     
       13. The computer-readable storage medium of  claim 11 , wherein the update request comprises an identifier assigned to the second smart contract within the blockchain network. 
     
     
       14. The computer-readable storage medium of  claim 11 , wherein the first smart contract comprises:
 a controller contract defined by a dispatcher upon receipt of a request by a contract originator who originates the first smart contract; 
 a service contract that includes logic of the first smart contract; and 
 a data contract that includes terms of the first smart contract. 
 
     
     
       15. The computer-readable storage medium of  claim 11 , wherein determining whether the conditions are met includes performing a voting process comprising:
 sending a request to one or more nodes in the blockchain network for a vote relative to the change in terms; 
 collecting votes from the one or more nodes; and 
 determining that conditions are met when the collected votes indicate an approval of the change in terms by the one or more nodes. 
 
     
     
       16. The computer-readable storage medium of  claim 15 , wherein performing the voting process includes weighting votes by weights associated with respective nodes, and wherein approval is based on a function of the collected votes and their associated weights. 
     
     
       17. The computer-readable storage medium of  claim 15 , wherein performing the voting process includes applying a veto received from a veto-privileged node, wherein the voting process ends when a veto is received for the change in terms during the voting process, the veto causing the change in terms to be rejected. 
     
     
       18. The computer-readable storage medium of  claim 15 , wherein performing the voting process includes using voting rules specifying when the voting process is to result in approval of the change in terms or rejection of the change in terms. 
     
     
       19. The computer-readable storage medium of  claim 15 , wherein performing the voting process includes using a voting start time and a voting end time that define a voting period in which the voting process occurs. 
     
     
       20. A system, comprising:
 a computing device; and 
 a computer-readable storage device coupled to the computing device and having instructions stored thereon which, when executed by the computing device, cause the computing device to perform operations for managing updates to smart contracts executed in blockchain networks, the operations comprising:
 receiving, from a user, at a contract updates management system, an update request indicating a change in terms of a first smart contract, the change in terms being a proposed update to the first smart contract; 
 
 in response to executing a second smart contract within a blockchain network, wherein the second smart contract is different than the first smart contract:
 determining, by the contract updates management system, whether conditions are met for updating the first smart contract to incorporate the change in terms, the second smart contract defining the conditions; and 
 
 upon determining, by the contract updates management system, that the conditions are met, updating, by the contract updates management system, the first smart contract, and recording the change in terms of the first contract to one or more blocks in a blockchain of the blockchain network.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.