Systems and methods for blockchain rule synchronization
AssigneeChicago Mercantile Exchange Inc.
InventorsRyan Pierce, Ajay Madhavan, Stanislav Liberman, Mansoor Ahmed
Life of this patent
Estimating the term…
Abstract
The disclosed embodiments relate to implementation of a syntax for altering one or more rules by which a blockchain may be modified wherein the software implementing each client of a blockchain network are programmed to be responsive to requests or directives to alter one or more rules by which blocks may be added to a blockchain responsive to transactions received for storage therein, the requests/directives being processed by the client as a transaction and added to the block in accordance with the current state of the operating rules, thereby adding a new rule or modifying an existing rule for subsequent operation of the client.
Claims25
A method for synchronizing rule changes in a system which implements a blockchain for transactions, the method comprising:
- receiving, by a processor, a data message comprising a change to operation of the system with respect to how transactions are validated for addition to the blockchain;
- determining, by the processor, if the data message is valid according to one or more rules stored in a data structure of the blockchain;
- wherein, if the data message is determined to be valid, generating a transaction in a new block comprising at least the data indicative of the change to the operation of the system to the blockchain;
- and
- communicating, by the processor, data indicative of the new block to other systems implementing the blockchain;
- and
- wherein validity of transactions received subsequent to the new block are subject to the one or more rules stored in the data structure of the blockchain including the added change to the operation of the system.
A method for validating transactions in a system that implements a blockchain, the method comprising:
- receiving, by a processor, a data message comprising a transaction to be implemented by the blockchain;
- identifying, by the processor, one or more rules for validation of the transaction in data stored in a plurality of blocks of the blockchain;
- determining, by the processor, if the transaction is valid according to the one or more rules;
- generating, by the processor, a new block of the blockchain including the transaction;
- and
- communicating, by the processor, data indicative of the new block to other systems implementing the blockchain.
A method for synchronizing rule changes in a system that implements a blockchain for transactions, the method comprising:
- storing data indicative of one or more rules for validation of a transaction implemented in a data structure in the blockchain;
- receiving, by a processor, a data message including a new block of the blockchain;
- verifying, by the processor, the new block is valid based the one or more rules stored in the data structure in the blockchain;
- identifying, by the processor, in the new block, one or more rule changes;
- and
- updating, by the processor, the one or more rules with the one or more rule changes;
- wherein a validity of transactions received subsequent to the new block is subject to the one or more updated rules stored in the blockchain.
A method for synchronizing rule changes in a system which implements a blockchain for transactions, the method comprising:
- generating, by a processor, a transaction comprising a rule change to how future transactions are to be validated;
- signing, by the processor, the transaction with a signature authorized to make rule changes for the blockchain;
- communicating, by the processor, the transaction to other systems implementing the blockchain;
- receiving, by the processor, a new block that contains the transaction;
- verifying, by the processor, the new block follows the rule change;
- and
- adding, by the processor, the new block to the blockchain.
A method for validating transactions in a system that implements a blockchain, the method comprising:
- receiving, by a processor, data indicative of a first signed transaction including a first rule change to the blockchain;
- validating, by the processor, the first rule change using one or more rules stored in a data structure of the blockchain;
- generating, by the processor, a new block including the first rule change;
- communicating, by the processor, the new block to other nodes implementing the blockchain;
- receiving, by the processor, data indicative of a second signed transaction;
- validating, by the processor, the second signed transaction using one or more rules stored in a data structure of the blockchain including the first rule change;
- if the second signed transaction is valid, including the second signed transaction in a second new block;
- and
- discarding, by the processor, the second signed transaction if the second signed transaction is invalid.
A system for facilitating interaction with a shared data structure, stored in a memory, by a plurality of participants, the system comprising:
- a transaction receiver, coupled with a network interface, operative to receive a data transaction message from a first participant of the plurality of participants, the data transaction message comprising one or more rule changes to the operation of the system;
- a validation processor, coupled to the transaction receiver, operative to determine based on a set of validation rules stored in the memory and the one or more rules changes if the received data transaction message is a valid transaction;
- a data structure generator, coupled to the transaction receiver, operative to generate a new data structure of the shared data structure containing at least the data transaction for the shared data structure;
- and
- a transmitter, coupled to the data structure generator, operative to transmit the new data structure to the plurality of participants of the shared data structure.
A computer system configured to synchronize rule changes in a blockchain for transactions stored in a memory of the computer system, the computer system comprising:
- means for receiving a data message comprising a change to operation of the system with respect to how transactions are validated for addition to the blockchain;
- means for determining if the data message is valid according to one or more rules stored in the blockchain;
- wherein, if the data message is determined to be valid, generating a transaction in a new block comprising at least the data indicative of the change to the operation of the system to the blockchain;
- and
- means for communicating data indicative of the new block to other computer systems implementing the blockchain;
- and
- wherein validity of transactions received subsequent to the new block are subject to the one or more rules stored in the blockchain including the added change to the operation of the computer system.
Dependencies are inferred from the claim text.