A computer implemented method for maintaining a record of an order of transactions each appearing on any one of a plurality of blockchains , the method comprising: identifying a plurality of transactions, wherein at least one of the transactions in the plurality of transactions is included on a first blockchain of the plurality of blockchains and at least one other of the transactions in the plurality of transactions is included on a second blockchain of the plurality of blockchains, wherein the first blockchain operates according to a first blockchain protocol and the second blockchain operates according to a second blockchain protocol that is different to the first blockchain protocol; and storing a record of the plurality of transactions in a data store, wherein the record is indicative of the relative order of the plurality of transactions, wherein the record of the plurality of transactions comprises a plurality of consecutive verification sets , and wherein at least some of the plurality of consecutive verification sets comprise one or more transaction identifiers corresponding to a respective one or more of the plurality of transactions; storing, on at least one of the plurality of blockchains, a record of the most recent verification set of the plurality of consecutive verification sets, wherein the record of the most recent verification set comprises a verification set identifier that is determined based at least in part on the contents of the most recent verification set and is for maintaining the data integrity of the most recent verification set; checking that each of the transactions identified in the most recent verification set is present on the at least one of the plurality of blockchains, and if one or more of the transactions identified in the most recent verification set are not present on their corresponding blockchain of the plurality of blockchains: replaying the one or more transactions onto their corresponding blockchain. identifying a plurality of transactions, wherein at least one of the transactions in the plurality of transactions is included on a first blockchain of the plurality of blockchains and at least one other of the transactions in the plurality of transactions is included on a second blockchain of the plurality of blockchains, wherein the first blockchain operates according to a first blockchain protocol and the second blockchain operates according to a second blockchain protocol that is different to the first blockchain protocol; and storing a record of the plurality of transactions in a data store, wherein the record is indicative of the relative order of the plurality of transactions, wherein the record of the plurality of transactions comprises a plurality of consecutive verification sets , and wherein at least some of the plurality of consecutive verification sets comprise one or more transaction identifiers corresponding to a respective one or more of the plurality of transactions; storing, on at least one of the plurality of blockchains, a record of the most recent verification set of the plurality of consecutive verification sets, wherein the record of the most recent verification set comprises a verification set identifier that is determined based at least in part on the contents of the most recent verification set and is for maintaining the data integrity of the most recent verification set; checking that each of the transactions identified in the most recent verification set is present on the at least one of the plurality of blockchains, and if one or more of the transactions identified in the most recent verification set are not present on their corresponding blockchain of the plurality of blockchains: replaying the one or more transactions onto their corresponding blockchain. <EOS>