WO2019141984A1 - Interaction between blockchains - Google Patents

Interaction between blockchains Download PDF

Info

Publication number
WO2019141984A1
WO2019141984A1 PCT/GB2019/050117 GB2019050117W WO2019141984A1 WO 2019141984 A1 WO2019141984 A1 WO 2019141984A1 GB 2019050117 W GB2019050117 W GB 2019050117W WO 2019141984 A1 WO2019141984 A1 WO 2019141984A1
Authority
WO
WIPO (PCT)
Prior art keywords
blockchain
transaction
ledger
block
asset
Prior art date
Application number
PCT/GB2019/050117
Other languages
French (fr)
Inventor
Nicholas PENNINGTON
Original Assignee
SETL Development Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SETL Development Limited filed Critical SETL Development Limited
Publication of WO2019141984A1 publication Critical patent/WO2019141984A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography

Definitions

  • the present invention relates to methods and apparatus for enabling and facilitating interaction between blockchains.
  • the present invention enables a verifiable transfer of assets to take place remotely from a ledger of record.
  • a blockchain is a continuously growing list of records, called blocks, which are linked and secured using cryptographic processes. Each block contains a link to a previous block and data, such as transaction data - it may also contain other data such as a timestamp.
  • a key advantage of blockchain design is that blockchains are inherently resistant to modification of the data, rendering blockchains particularly suitable for making records public while providing a basis for trust that the record data is accurate.
  • a blockchain can for example serve as an open, distributed ledger that can record transactions between parties efficiently and in a verifiable and permanent way.
  • a blockchain is typically managed by a peer-to-peer network collectively adhering to a protocol for validating new blocks. Once recorded, the data in any given block cannot be altered retroactively without the alteration of all subsequent blocks, which needs a collusion of the network majority - this is achieved by mechanisms such as the inclusion of a signed hash of one block in the block that follows it.
  • the Cosmos Network has developed an Inter-blockchain Communication protocol— Cosmos IBC for short - to support communication and crypto-asset transfers across a network of siloed blockchains (discussed
  • the invention provides a method implemented on a computing system of enabling an asset held on a ledger recorded on a first blockchain to be transacted on a ledger recorded on a second blockchain, the method comprising: preparing an interledger transaction to transfer the asset from the first blockchain to the second blockchain; preparing a transaction list of transactions linking the first blockchain to other blockchains, the transaction list comprising the
  • interledger transaction and signing the transaction list; writing the interledger transaction and the transaction list to a block of the first blockchain; and obtaining from the block of the first blockchain a second ledger transaction to record the asset on the second blockchain using the interledger transaction and the transaction list.
  • the method further comprises writing a transaction to the second blockchain comprising parameters of the first blockchain.
  • parameters may comprise signatory parties for the first blockchain, or block height for the first blockchain, or both.
  • the transaction list is signed by signatory parties validating the block of the first blockchain.
  • obtaining from the block of the first blockchain a second ledger transaction may comprise a witness node inspecting the block of the first blockchain and preparing a cross-chain transaction package for writing to a block of the second blockchain.
  • This cross-chain transaction package may be prepared for writing to blocks of any blockchain identified in the cross-chain transaction package other than the first blockchain.
  • the invention provides a computer implemented method of transacting in an asset with respect to a secondary ledger comprising a second blockchain away from a ledger of record comprising a first blockchain, comprising: transferring the asset from the ledger of record to the secondary ledger using the method as described above; transacting the asset in a second blockchain transaction; and reconciling the second blockchain transaction with the first blockchain.
  • the second blockchain transaction may transfer the asset to a third blockchain, in which case reconciling the second blockchain transaction with the first blockchain may comprise the third blockchain interacting with the first blockchain to novate management of the asset from the second blockchain to the third blockchain.
  • Figure 1 shows a physical architecture for a computing apparatus for supporting a blockchain architecture in which embodiments of the invention are employed
  • FIG. 2 shows schematically a blockchain architecture in which embodiments of the invention are employed
  • Figure 3 shows an approach to establishing a link between blockchains according to an embodiment of the invention
  • Figure 4 shows a blockchain consensus process adapted in accordance with embodiments of the invention
  • Figure 5 describes derivation of a cross-chain package in accordance with embodiments of the invention.
  • Figure 7 illustrates a ledger according to an embodiment of the invention
  • Figure 8 illustrates inter ledger holdings for ledgers of the type shown in Figure 6;
  • Figure 9 illustrates a transaction between two private ledgers relating to an asset shown on a ledger of record of the type shown in Figure 7;
  • Figure 10 illustrates a novation transaction to record the transaction of Figure 9 on the ledger of record.
  • FIG. 1 illustrates a physical computing architecture suitable for implementing embodiments of the invention.
  • a first computing system 10 comprises a processing capability 101 and memory 102 - while represented as a single unit here and may be implemented as a single server, it may also be implemented as a collection of networked servers and storage apparatus.
  • the first computing system 10 has the capability to perform cryptographic operations and to maintain associated secrets securely - this is represented here by a cryptographic processing capability 103, though in embodiments this functionality may be implemented by the main processing capability 101 and memory 102.
  • the main computing system 10 is adapted to maintain a ledger of record implemented using blockchain technology - as discussed below, in embodiments this may involve maintenance of a plurality of blockchains.
  • a plurality of other computing systems 20, 30 are shown interacting with main computing 10 over a computing network 40, which may be a private network, a public network such as the public internet, or may be implemented as a combination of the two.
  • Each such computing system has its own processing capability 201 , 301 and memory 202, 302, and may also require cryptographic capability 201.
  • a second type of computing system 20 forms an active part of the blockchain ecosystem - such a system may for example play a role in a blockchain voting mechanism, or may itself maintain blockchains. Where only certain nodes are allowed to perform certain actions, this is termed a
  • the first computing system 10 and the second computing systems 20 may operate as peers, each maintaining copies of a ledger.
  • a third type of computing system 30 interacts with the main computing system 10 - for example, by submitting transactions for entry on to the ledger, or by inspecting the ledger - but does not itself play an active role in any mechanism that develops the blockchain.
  • Figure 2 illustrates a logical architecture for providing a ledger of record for recording asset holdings and asset transfers and adapted to implement embodiments of the invention.
  • the (or each) ledger holder 1 maintains a ledger of record using, in this case, a plurality of blockchains 21 - the ledger holder 1 receives transaction details 25 from another party 4 for entry on to a blockchain 21. Determination of a block of a blockchain requires multiple signatories who vote to accept a new block and then sign it - signatory parties 3 are also in communication with the ledger holder 1.
  • a signature list 23 for a blockchain 21 in respect of transactions that relate to other blockchains.
  • witness nodes 5 are also involved.
  • the second blockchain 22 is maintained by another party 2 and the witness nodes 5 are separate entities - however, in other embodiments, the second blockchain 22 and the witness nodes 5 may all be located part of a common computer system with the ledger holder 1.
  • System elements described here are those relevant to the ledger of record held by the ledger holder 1 and comprising blockchains 21 - a different set of witness nodes 5 may be used, say, for transactions between blockchain 22 and other blockchains, and a different set of signatory parties 3 may also be used for establishing blocks in blockchain 22.
  • a blockchain comprises a plurality of blocks. Each block contains a number of records - in the embodiments discussed below, individual records are
  • Embodiments of the present invention allow one blockchain to have knowledge of the consensus process of another blockchain so that it can accept the results of this consensus process. This is used to establish a link between blockchains.
  • the consensus process is extended to the new blockchain by use of additional signatures.
  • additional signatures In addition to creating signature sets as normal during consensus to establish a new block, a further set of signatures is created designed expressly for consumption by linked chains. This set of signatures is bound to the proposed block.
  • These second signatures are used to confirm those transactions which the consensus agree are to be passed off-chain, so that when the second chain is presented with a set of transactions and these signatures it can confirm that the transactions that it has been given are individually valid and have been verified by the consensus process of the first chain.
  • Each blockchain maintains an independent record of the signing power on linked chains and is thus able to verify by itself that consensus has been reached without reference to any additional trusted party.
  • a trust relationship Prior to establishment of a connection between two blockchains, a trust relationship should be established between them, unless this already exists because of the way that the blockchains have been created (for example, if they use a common protocol and transactions are verified by the same set of nodes). Establishment of such a trust relationship may involve, for example, a setup phase where policies and credentials are authenticated between the blockchains through appropriate nodes.
  • the first step in the process of actual cross-chain interaction is the establishment of a link between two blockchains. This is illustrated in Figure 3.
  • a transaction (Add_xChain’ )TX 31 is established to give knowledge of a first chain (Chain A)
  • Chain B a second chain 22.
  • the transaction provides Chain B with a snapshot of the block height and the signing powers (as can be seen in the details of the Add xChain transaction 31 ) of Chain A. This forms part of a set of cross-chain data that will be maintained and kept current as part of an overall cross-chain management process.
  • the new consensus process 40 comprises signing of a proposed block 41 as would be done conventionally, with a signed block hash 41 , but there is also an analysis of the block 41 to determine if there are cross-chain transactions.
  • a list of cross-chain transactions is compiled and this list is separately signed 43 in the process of establishing the block.
  • the signed cross- chain transaction list 43 is thus comprised in a confirmed block 41 in addition to the normal consensus signatures 42.
  • witness nodes 5 are agents that do not themselves participate in the consensus process of any chain, but which monitor activity in the blockchain network (or environment).
  • a witness node 5 identifies that a new block has been established in its area of responsibility, it takes that block and derives a package of cross-chain transactions which it then submits as a transaction to other linked blockchains.
  • a newly confirmed block 51 of Chain A (Height 100 block) is analysed by the witness node which derives a cross-chain package 52 using the signed cross-chain transaction list associated with that block. This is submitted to other linked blockchains - in this case, to the second chain (Chain B) 53 for processing as a transaction in respect of that blockchain.
  • the cross-chain package 52 is treated as a normal part of the blockchain consensus process. Even though it is a specialised type of transaction, it is verified and released to the transaction pool for that blockchain for inclusion in the next block.
  • the cross-chain package transaction is not signed by a single address, but instead relies on the cross-chain signature set created by the originating chain and forwarded by the witness node as a part of the transaction.
  • the verification process comprises three separate elements, as shown in Figure 6.
  • One aspect - indicated (1 ) - is to establish that the cross- chain package does not relate to a block height already processed. In the Figure 6 case, this is correct - the cross-chain package relates to block height 100, wherein the“known blockchain” data relates to block height 99, indicating that this is a new block for consideration.
  • a second aspect - indicated (2) - is to establish that all required transactions are included - this can be done by matching transaction data against the signed cross-chain transaction list.
  • a third aspect - indicated (3) is to ensure that the signatory parties are as expected, which can be done by matching the signatories for the signed cross-chain list against those identified in the“known blockchain” data to establish that the list has been signed by a valid majority on Chain A. Individual signatures will also be checked for validity.
  • Figures 7 to 10 illustrate how an off-chain transaction can be performed and reconciled using this approach.
  • Figure 7 shows a ledger of record (SETL
  • the asset in which an asset holding is recorded - in this case, the asset is a quantity of 1000 of Asset 1 (this may be 1000 shares, a value of 1000 of a currency unit, or any other commodity - for convenience of reference,“shares” will be used for the remainder of the specification as an example).
  • this represents 1000 shares issued by the Issuer, with 400 shares held by Holder 1 and 600 shares held by Holder 2 - the Issuer, Holder 1 and Holder 2 are all represented by a different address.
  • Figure 8 shows how this asset holding is transferred to a private ledger.
  • Ledger 2 this is not the ledger of record, and in this case is a private ledger maintained by a commercial bank.
  • an inter ledger address is established for each ledger in respect of the other ledger.
  • Ledger 1 an interledger address for Ledger 2 is established with a balance of 1000 shares representing the shares transferred to Ledger 2, so Ledger 1 now balances.
  • Ledger 2 an interledger address for Ledger 1 is established with a negative balance of 1000 shares (mirroring the original position of the Issuer on Ledger 1 ). The holdings of Holder 1 and Holder 2 are unaffected.
  • Figure 9 shows the transfer of the holding of Holder 2 from Ledger 2 to another ledger, Ledger 3 - in this case, a further commercial ledger. This is therefore an off-chain transaction in respect of the ledger of record, Ledger 1.
  • Such a novation process is illustrated in Figure 10.
  • Ledger 1 and Ledger 2 the respective holdings associated with the interledger addresses are adjusted from 1000 shares to 400 shares as the 600 share holding of Holder 2 is no longer managed on Ledger 2.
  • interledger addresses are established in respect of the 600 share holding of Holder 2, with the interledger address of Ledger 1 in respect of Ledger 3 taking an equivalent role to the Issuer on Ledger 3 in respect of the Holder 2 holding.
  • Ledger 1 as the ledger of record now correctly reflects that the holding of Holder 1 is managed through Ledger 2 and the holding of Holder 2 is managed through Ledger 3. Any further transfer can be processed in the same manner.

Abstract

A method implemented on a computing system enables an asset held on a ledger recorded on a first blockchain to be transacted on a ledger recorded on a second blockchain. An interledger transaction to transfer the asset from the first blockchain to the second blockchain is prepared. A transaction list of transactions linking the first blockchain to other blockchains is also prepared. This transaction list comprises the interledger transaction. The transaction list is then signed, and the interledger transaction and the transaction list are written to a block of the first blockchain. A second ledger transaction is obtained from the block of the first blockchain to record the asset on the second blockchain using the interledger transaction and the transaction list. A computer implemented method of transacting in an asset with respect to a secondary ledger comprising a second blockchain away from a ledger of record comprising a first blockchain using this method is also described.

Description

Interaction Between Blockchains
Field of Invention
The present invention relates to methods and apparatus for enabling and facilitating interaction between blockchains. In embodiments, the present invention enables a verifiable transfer of assets to take place remotely from a ledger of record.
Background of Invention
A blockchain is a continuously growing list of records, called blocks, which are linked and secured using cryptographic processes. Each block contains a link to a previous block and data, such as transaction data - it may also contain other data such as a timestamp. A key advantage of blockchain design is that blockchains are inherently resistant to modification of the data, rendering blockchains particularly suitable for making records public while providing a basis for trust that the record data is accurate. A blockchain can for example serve as an open, distributed ledger that can record transactions between parties efficiently and in a verifiable and permanent way. For such use, a blockchain is typically managed by a peer-to-peer network collectively adhering to a protocol for validating new blocks. Once recorded, the data in any given block cannot be altered retroactively without the alteration of all subsequent blocks, which needs a collusion of the network majority - this is achieved by mechanisms such as the inclusion of a signed hash of one block in the block that follows it.
If blockchains become large, related processes such as creation and validation of new blocks can become slow. Under such circumstances, it may be desirable for multiple blockchains to exist and grow in parallel. It may also be desirable for blockchains managed by different parties to interact. Existing blockchain technology lacks effective mechanisms to support
development of parallel, interacting blockchains, though blockchain interaction has been considered in some systems. The Cosmos Network has developed an Inter-blockchain Communication protocol— Cosmos IBC for short - to support communication and crypto-asset transfers across a network of siloed blockchains (discussed
Figure imgf000004_0001
5855aaf183fe). Plasma (described
Figure imgf000004_0002
technique for conducting off-chain transactions while relying on the underlying Ethereum blockchain to ground its security. There are nonetheless challenges in providing a simple and effective solution.
Summary of Invention
In a first aspect, the invention provides a method implemented on a computing system of enabling an asset held on a ledger recorded on a first blockchain to be transacted on a ledger recorded on a second blockchain, the method comprising: preparing an interledger transaction to transfer the asset from the first blockchain to the second blockchain; preparing a transaction list of transactions linking the first blockchain to other blockchains, the transaction list comprising the
interledger transaction, and signing the transaction list; writing the interledger transaction and the transaction list to a block of the first blockchain; and obtaining from the block of the first blockchain a second ledger transaction to record the asset on the second blockchain using the interledger transaction and the transaction list.
Preferably, the method further comprises writing a transaction to the second blockchain comprising parameters of the first blockchain. These parameters may comprise signatory parties for the first blockchain, or block height for the first blockchain, or both.
Advantageously, the transaction list is signed by signatory parties validating the block of the first blockchain. In embodiments, obtaining from the block of the first blockchain a second ledger transaction may comprise a witness node inspecting the block of the first blockchain and preparing a cross-chain transaction package for writing to a block of the second blockchain. This cross-chain transaction package may be prepared for writing to blocks of any blockchain identified in the cross-chain transaction package other than the first blockchain.
In embodiments, the second blockchain may verify the second ledger transaction before writing the second ledger transaction to a block of the second blockchain. Verifying the second ledger transaction may comprise determining that the second ledger transaction does not relate to an already processed block of the first blockchain, may also comprise determining that the second ledger transaction comprises all required transactions, and may also comprise determining that the signatory parties are as expected.
In a second aspect, the invention provides a computer implemented method of transacting in an asset with respect to a secondary ledger comprising a second blockchain away from a ledger of record comprising a first blockchain, comprising: transferring the asset from the ledger of record to the secondary ledger using the method as described above; transacting the asset in a second blockchain transaction; and reconciling the second blockchain transaction with the first blockchain.
The second blockchain transaction may transfer the asset to a third blockchain, in which case reconciling the second blockchain transaction with the first blockchain may comprise the third blockchain interacting with the first blockchain to novate management of the asset from the second blockchain to the third blockchain.
Brief Description of Figures
Embodiments of the invention will now be described, by way of example, with reference to the accompanying Figures, of which:
Figure 1 shows a physical architecture for a computing apparatus for supporting a blockchain architecture in which embodiments of the invention are employed;
Figure 2 shows schematically a blockchain architecture in which embodiments of the invention are employed;
Figure 3 shows an approach to establishing a link between blockchains according to an embodiment of the invention;
Figure 4 shows a blockchain consensus process adapted in accordance with embodiments of the invention;
Figure 5 describes derivation of a cross-chain package in accordance with embodiments of the invention;
Figure 6 processing of the cross-chain package of Figure 5 by a blockchain in accordance with embodiments of the invention;
Figure 7 illustrates a ledger according to an embodiment of the invention;
Figure 8 illustrates inter ledger holdings for ledgers of the type shown in Figure 6;
Figure 9 illustrates a transaction between two private ledgers relating to an asset shown on a ledger of record of the type shown in Figure 7; and
Figure 10 illustrates a novation transaction to record the transaction of Figure 9 on the ledger of record.
Description of Specific Embodiments
Figure 1 illustrates a physical computing architecture suitable for implementing embodiments of the invention. A first computing system 10 comprises a processing capability 101 and memory 102 - while represented as a single unit here and may be implemented as a single server, it may also be implemented as a collection of networked servers and storage apparatus. The first computing system 10 has the capability to perform cryptographic operations and to maintain associated secrets securely - this is represented here by a cryptographic processing capability 103, though in embodiments this functionality may be implemented by the main processing capability 101 and memory 102. The main computing system 10 is adapted to maintain a ledger of record implemented using blockchain technology - as discussed below, in embodiments this may involve maintenance of a plurality of blockchains.
A plurality of other computing systems 20, 30 are shown interacting with main computing 10 over a computing network 40, which may be a private network, a public network such as the public internet, or may be implemented as a combination of the two. Each such computing system has its own processing capability 201 , 301 and memory 202, 302, and may also require cryptographic capability 201. A second type of computing system 20 forms an active part of the blockchain ecosystem - such a system may for example play a role in a blockchain voting mechanism, or may itself maintain blockchains. Where only certain nodes are allowed to perform certain actions, this is termed a
permissioned blockchain (as opposed to a public blockchain in which any node can perform a full node role). In embodiments of the invention, the first computing system 10 and the second computing systems 20 may operate as peers, each maintaining copies of a ledger. A third type of computing system 30 interacts with the main computing system 10 - for example, by submitting transactions for entry on to the ledger, or by inspecting the ledger - but does not itself play an active role in any mechanism that develops the blockchain.
Figure 2 illustrates a logical architecture for providing a ledger of record for recording asset holdings and asset transfers and adapted to implement embodiments of the invention. The (or each) ledger holder 1 maintains a ledger of record using, in this case, a plurality of blockchains 21 - the ledger holder 1 receives transaction details 25 from another party 4 for entry on to a blockchain 21. Determination of a block of a blockchain requires multiple signatories who vote to accept a new block and then sign it - signatory parties 3 are also in communication with the ledger holder 1. As shown, in embodiments of the invention there is provided a signature list 23 for a blockchain 21 in respect of transactions that relate to other blockchains. As will be described below, for transfer of an asset - or management of an asset - to another blockchain 22, witness nodes 5 are also involved. In the arrangement shown, the second blockchain 22 is maintained by another party 2 and the witness nodes 5 are separate entities - however, in other embodiments, the second blockchain 22 and the witness nodes 5 may all be located part of a common computer system with the ledger holder 1. System elements described here are those relevant to the ledger of record held by the ledger holder 1 and comprising blockchains 21 - a different set of witness nodes 5 may be used, say, for transactions between blockchain 22 and other blockchains, and a different set of signatory parties 3 may also be used for establishing blocks in blockchain 22.
Transactions between a first and a second blockchain to allow management of an asset to be moved“off-chain” according to embodiments of the present invention will now be described with reference to Figures 3 to 6. This set of transactions allows an asset represented in a ledger recorded on the first blockchain to be transacted with respect to a ledger recorded on the second blockchain. A worked example to show how this mechanism is used to support an off-chain transaction is then illustrated with reference to Figures 7 to 10. The worked example shows how this transaction is then reconciled with the ledger of record.
A blockchain comprises a plurality of blocks. Each block contains a number of records - in the embodiments discussed below, individual records are
transactions. Individual records will contain sufficient information to constitute a proof of a particular transaction and may involve, for example, digital signatures from parties to the transaction or from parties trusted by them. Transactions may be provided by any party involved in the process to a transaction pool, from which they are then included in a block if they meet requirements for inclusion. When a block is complete, parties with voting privileges in respect of the blockchain vote to determine whether the block can be included. If the block can be included, the block is completed by the normal steps required in a blockchain (such as inclusion of a hash of the preceding block) and signed by the voting parties.
Embodiments of the present invention allow one blockchain to have knowledge of the consensus process of another blockchain so that it can accept the results of this consensus process. This is used to establish a link between blockchains.
The consensus process is extended to the new blockchain by use of additional signatures. In addition to creating signature sets as normal during consensus to establish a new block, a further set of signatures is created designed expressly for consumption by linked chains. This set of signatures is bound to the proposed block.
These second signatures are used to confirm those transactions which the consensus agree are to be passed off-chain, so that when the second chain is presented with a set of transactions and these signatures it can confirm that the transactions that it has been given are individually valid and have been verified by the consensus process of the first chain.
Each blockchain maintains an independent record of the signing power on linked chains and is thus able to verify by itself that consensus has been reached without reference to any additional trusted party.
Prior to establishment of a connection between two blockchains, a trust relationship should be established between them, unless this already exists because of the way that the blockchains have been created (for example, if they use a common protocol and transactions are verified by the same set of nodes). Establishment of such a trust relationship may involve, for example, a setup phase where policies and credentials are authenticated between the blockchains through appropriate nodes.
The first step in the process of actual cross-chain interaction is the establishment of a link between two blockchains. This is illustrated in Figure 3. A transaction (Add_xChain’ )TX 31 is established to give knowledge of a first chain (Chain A)
21 to a second chain (Chain B) 22. The transaction provides Chain B with a snapshot of the block height and the signing powers (as can be seen in the details of the Add xChain transaction 31 ) of Chain A. This forms part of a set of cross-chain data that will be maintained and kept current as part of an overall cross-chain management process.
The application of this to block completion is shown in Figure 4. Should there be cross-chain links defined on any given blockchain in the manner shown in Figure 3, the normal consensus algorithm is supplemented to produce an additional signature set. The new consensus process 40 comprises signing of a proposed block 41 as would be done conventionally, with a signed block hash 41 , but there is also an analysis of the block 41 to determine if there are cross-chain transactions. A list of cross-chain transactions is compiled and this list is separately signed 43 in the process of establishing the block. The signed cross- chain transaction list 43 is thus comprised in a confirmed block 41 in addition to the normal consensus signatures 42.
At this point the original blockchain has been augmented with a new confirmed block but other linked chains have not been augmented with the cross-chain transactions. This process is carried out by the witness nodes 5 that sit between linked block chains. Witness nodes 5 are agents that do not themselves participate in the consensus process of any chain, but which monitor activity in the blockchain network (or environment). When a witness node 5 identifies that a new block has been established in its area of responsibility, it takes that block and derives a package of cross-chain transactions which it then submits as a transaction to other linked blockchains. In this case, a newly confirmed block 51 of Chain A (Height 100 block) is analysed by the witness node which derives a cross-chain package 52 using the signed cross-chain transaction list associated with that block. This is submitted to other linked blockchains - in this case, to the second chain (Chain B) 53 for processing as a transaction in respect of that blockchain.
For inclusion in a block of a further blockchain, the cross-chain package 52 is treated as a normal part of the blockchain consensus process. Even though it is a specialised type of transaction, it is verified and released to the transaction pool for that blockchain for inclusion in the next block.
There is however a difference in the verification process to that used for a conventional transaction. In this case, the cross-chain package transaction is not signed by a single address, but instead relies on the cross-chain signature set created by the originating chain and forwarded by the witness node as a part of the transaction. The verification process comprises three separate elements, as shown in Figure 6. One aspect - indicated (1 ) - is to establish that the cross- chain package does not relate to a block height already processed. In the Figure 6 case, this is correct - the cross-chain package relates to block height 100, wherein the“known blockchain” data relates to block height 99, indicating that this is a new block for consideration. A second aspect - indicated (2) - is to establish that all required transactions are included - this can be done by matching transaction data against the signed cross-chain transaction list. A third aspect - indicated (3) is to ensure that the signatory parties are as expected, which can be done by matching the signatories for the signed cross-chain list against those identified in the“known blockchain” data to establish that the list has been signed by a valid majority on Chain A. Individual signatures will also be checked for validity.
Figures 7 to 10 illustrate how an off-chain transaction can be performed and reconciled using this approach. Figure 7 shows a ledger of record (SETL
Ledger) in which an asset holding is recorded - in this case, the asset is a quantity of 1000 of Asset 1 (this may be 1000 shares, a value of 1000 of a currency unit, or any other commodity - for convenience of reference,“shares” will be used for the remainder of the specification as an example). Here, this represents 1000 shares issued by the Issuer, with 400 shares held by Holder 1 and 600 shares held by Holder 2 - the Issuer, Holder 1 and Holder 2 are all represented by a different address.
Figure 8 shows how this asset holding is transferred to a private ledger. Using the processes described above with reference to Figures 4 to 7, the asset holding is transferred for management on a second ledger, Ledger 2 - this is not the ledger of record, and in this case is a private ledger maintained by a commercial bank. In this process, an inter ledger address is established for each ledger in respect of the other ledger. On Ledger 1 , an interledger address for Ledger 2 is established with a balance of 1000 shares representing the shares transferred to Ledger 2, so Ledger 1 now balances. On Ledger 2, an interledger address for Ledger 1 is established with a negative balance of 1000 shares (mirroring the original position of the Issuer on Ledger 1 ). The holdings of Holder 1 and Holder 2 are unaffected.
Figure 9 shows the transfer of the holding of Holder 2 from Ledger 2 to another ledger, Ledger 3 - in this case, a further commercial ledger. This is therefore an off-chain transaction in respect of the ledger of record, Ledger 1. The
mechanism is the same as previously described, and two new interledger addresses are established - an interledger address for Ledger 3 credited on Ledger 2, and an interledger address for Ledger 2 debited on Ledger 3. The asset balance here is 600 shares, representing only the holding for Holder 2, as only this holding has been transferred to Ledger 3.
At this point, although there are provable records of the transaction, this is not explicitly present on the ledger of record. It is desirable for this to be done so that the ledger of record provides a full record of the asset holding, and this can be done by a novation transaction. This has the further benefit that interledger exposure can be removed.
Such a novation process is illustrated in Figure 10. There are three separate elements to this process, each involving an interaction between two of the three ledgers involved in the process. In respect of Ledger 1 and Ledger 2, the respective holdings associated with the interledger addresses are adjusted from 1000 shares to 400 shares as the 600 share holding of Holder 2 is no longer managed on Ledger 2. In respect of Ledger 1 and Ledger 3, interledger addresses are established in respect of the 600 share holding of Holder 2, with the interledger address of Ledger 1 in respect of Ledger 3 taking an equivalent role to the Issuer on Ledger 3 in respect of the Holder 2 holding. These actions expunge the relationship between Ledger 2 and Ledger 3 in respect of this holding, so the interledger addresses between Ledger 2 and Ledger 3 are no longer required and can be deleted.
After this process, Ledger 1 as the ledger of record now correctly reflects that the holding of Holder 1 is managed through Ledger 2 and the holding of Holder 2 is managed through Ledger 3. Any further transfer can be processed in the same manner.
The skilled person will appreciate that the embodiments described here are exemplary, and that modifications may be made and alternative embodiments provided that fall within the scope of the claims.

Claims

1. A method implemented on a computing system of enabling an asset held on a ledger recorded on a first blockchain to be transacted on a ledger recorded on a second blockchain, the method comprising: preparing an interledger transaction to transfer the asset from the first blockchain to the second blockchain; preparing a transaction list of transactions linking the first blockchain to other blockchains, the transaction list comprising the interledger transaction, and signing the transaction list; writing the interledger transaction and the transaction list to a block of the first blockchain; and obtaining from the block of the first blockchain a second ledger transaction to record the asset on the second blockchain using the interledger transaction and the transaction list.
2. The method of claim 1 , further comprising writing a transaction to the second blockchain comprising parameters of the first blockchain.
3. The method of claim 2, wherein the parameters comprise signatory parties for the first blockchain.
4. The method of claim 2 or claim 3, wherein the parameters comprise block height for the first blockchain.
5. The method of any preceding claim, wherein the transaction list is signed by signatory parties validating the block of the first blockchain.
6. The method of any preceding claim, wherein obtaining from the block of the first blockchain a second ledger transaction comprises a witness node inspecting the block of the first blockchain and preparing a cross-chain transaction package for writing to a block of the second blockchain.
7. The method of claim 6, wherein the cross-chain transaction package is prepared for writing to blocks of any blockchain identified in the cross-chain transaction package other than the first blockchain.
8. The method of any preceding claim, further comprising the second blockchain verifying the second ledger transaction before writing the second ledger transaction to a block of the second blockchain.
9. The method of claim 8, wherein verifying the second ledger transaction comprises determining that the second ledger transaction does not relate to an already processed block of the first blockchain.
10. The method of claim 8 or claim 9, wherein verifying the second ledger transaction comprises determining that the second ledger transaction comprises all required transactions.
11. The method of any of claims 8 to 10, wherein verifying the second ledger transaction comprises determining that the signatory parties are as expected.
12. A computer implemented method of transacting in an asset with respect to a secondary ledger comprising a second blockchain away from a ledger of record comprising a first blockchain, comprising: transferring the asset from the ledger of record to the secondary ledger using the method of any of claims 1 to 1 1 ; transacting the asset in a second blockchain transaction; and reconciling the second blockchain transaction with the first blockchain.
13. The method of claim 12, wherein the second blockchain transaction transfers the asset to a third blockchain, and wherein reconciling the second blockchain transaction with the first blockchain comprises the third blockchain interacting with the first blockchain to novate management of the asset from the second blockchain to the third blockchain.
PCT/GB2019/050117 2018-01-17 2019-01-16 Interaction between blockchains WO2019141984A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1800761.7 2018-01-17
GB1800761.7A GB2570301A (en) 2018-01-17 2018-01-17 Interaction between blockchains

Publications (1)

Publication Number Publication Date
WO2019141984A1 true WO2019141984A1 (en) 2019-07-25

Family

ID=61256168

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2019/050117 WO2019141984A1 (en) 2018-01-17 2019-01-16 Interaction between blockchains

Country Status (2)

Country Link
GB (1) GB2570301A (en)
WO (1) WO2019141984A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112184245A (en) * 2020-09-30 2021-01-05 深圳前海微众银行股份有限公司 Cross-block-chain transaction identity confirmation method and device
WO2021136251A1 (en) * 2019-12-30 2021-07-08 北京金山云网络技术有限公司 Cross-blockchain communication method and apparatus, cross-chain service system and cross-chain transaction system
WO2021190740A1 (en) * 2020-03-25 2021-09-30 NEC Laboratories Europe GmbH Bootstrapping root of trust for federated blockchains
CN113781228A (en) * 2021-09-18 2021-12-10 北京俩撇科技有限公司 Cross-chain asset transfer method, device, equipment and storage medium
CN114567643A (en) * 2020-11-27 2022-05-31 腾讯科技(深圳)有限公司 Cross-block-chain data transfer method, device and related equipment
US20230039066A1 (en) * 2019-12-10 2023-02-09 Jingdong Technology Information Technology Co., Ltd. Method, apparatus, adapter and system for cross-chain data access of blockchain
WO2023082883A1 (en) * 2021-11-15 2023-05-19 腾讯科技(深圳)有限公司 Cross-blockchain transaction processing method and apparatus, and computer device, computer storage medium and computer program product

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110298657A (en) * 2018-03-21 2019-10-01 中思博安科技(北京)有限公司 A kind of block chain common recognition method, relevant apparatus and system
EP3605944B1 (en) * 2018-07-31 2023-08-30 Siemens Healthcare GmbH Documenting timestamps within a blockchain
WO2021018048A1 (en) * 2019-07-26 2021-02-04 华为技术有限公司 Cross-chain transaction method and apparatus
CN111400756A (en) * 2020-03-13 2020-07-10 杭州复杂美科技有限公司 Private data uplink method, device and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106960388A (en) * 2017-03-01 2017-07-18 中钞信用卡产业发展有限公司北京智能卡技术研究院 The method and apparatus of the digital asset circulation of transregional piece of chain
GB2548802A (en) * 2016-03-22 2017-10-04 Bitcred Ltd Methods for creating and verifying an electronic user identity
CN107248076A (en) * 2017-06-24 2017-10-13 北京天德科技有限公司 A kind of core algorithm of the double-chain block chain the Internet model merchandised across chain
US20170331896A1 (en) * 2016-05-13 2017-11-16 De La Rue International Limited Methods and systems for processing assets
CN107392608A (en) * 2017-07-11 2017-11-24 北京博晨技术有限公司 Digital asset method of commerce and block catenary system based on block catenary system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2548802A (en) * 2016-03-22 2017-10-04 Bitcred Ltd Methods for creating and verifying an electronic user identity
US20170331896A1 (en) * 2016-05-13 2017-11-16 De La Rue International Limited Methods and systems for processing assets
CN106960388A (en) * 2017-03-01 2017-07-18 中钞信用卡产业发展有限公司北京智能卡技术研究院 The method and apparatus of the digital asset circulation of transregional piece of chain
CN107248076A (en) * 2017-06-24 2017-10-13 北京天德科技有限公司 A kind of core algorithm of the double-chain block chain the Internet model merchandised across chain
WO2018232493A1 (en) * 2017-06-24 2018-12-27 Zeu Crypto Networks Inc. A network of doubly-chained blockchains capable of cross-chain transactions
CN107392608A (en) * 2017-07-11 2017-11-24 北京博晨技术有限公司 Digital asset method of commerce and block catenary system based on block catenary system

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230039066A1 (en) * 2019-12-10 2023-02-09 Jingdong Technology Information Technology Co., Ltd. Method, apparatus, adapter and system for cross-chain data access of blockchain
WO2021136251A1 (en) * 2019-12-30 2021-07-08 北京金山云网络技术有限公司 Cross-blockchain communication method and apparatus, cross-chain service system and cross-chain transaction system
WO2021190740A1 (en) * 2020-03-25 2021-09-30 NEC Laboratories Europe GmbH Bootstrapping root of trust for federated blockchains
CN112184245A (en) * 2020-09-30 2021-01-05 深圳前海微众银行股份有限公司 Cross-block-chain transaction identity confirmation method and device
CN114567643A (en) * 2020-11-27 2022-05-31 腾讯科技(深圳)有限公司 Cross-block-chain data transfer method, device and related equipment
CN114567643B (en) * 2020-11-27 2023-05-23 腾讯科技(深圳)有限公司 Cross-blockchain data transfer method, device and related equipment
CN113781228A (en) * 2021-09-18 2021-12-10 北京俩撇科技有限公司 Cross-chain asset transfer method, device, equipment and storage medium
WO2023082883A1 (en) * 2021-11-15 2023-05-19 腾讯科技(深圳)有限公司 Cross-blockchain transaction processing method and apparatus, and computer device, computer storage medium and computer program product

Also Published As

Publication number Publication date
GB2570301A (en) 2019-07-24
GB201800761D0 (en) 2018-02-28

Similar Documents

Publication Publication Date Title
WO2019141984A1 (en) Interaction between blockchains
US10846416B2 (en) Method for managing document on basis of blockchain by using UTXO-based protocol, and document management server using same
US11250518B2 (en) Method for secure ledger distribution and computer system using secure distributed ledger technology
AU2022204758B2 (en) Network topology
US11669811B2 (en) Blockchain-based digital token utilization
CN110268691B (en) Federated blockchain networks with verified blockchain and consensus protocols
CN109242675B (en) Asset publishing method and device based on block chain and electronic equipment
CN102170440B (en) Method suitable for safely migrating data between storage clouds
US11334882B1 (en) Data access management on a distributed ledger system
CN110546636A (en) Confidentiality in federated blockchain networks
CN110730963B (en) System and method for information protection
CN112513906A (en) Managing transactions over blockchain networks
CN113723962B (en) Block chain authority management method and block chain system
US11494345B2 (en) System and method for blockchain based decentralized storage with dynamic data operations
CN114154969B (en) Large-scale trading and settlement method based on block chain
JP2023106055A (en) Evidence management method, evidence management system, and node
JP7319461B2 (en) METHOD AND APPARATUS FOR HOLDING PRIVATE DATA USING CONSORTIUM BLOCKCHAIN
CN114930372A (en) Method and apparatus for facilitating split-note financing
CN111506435A (en) Method, apparatus, device and medium for detecting deadlock in real-time full settlement system
CN111580981B (en) Method, apparatus, device and medium for detecting deadlock in real-time full-settlement system
US11677728B2 (en) Secure authorization and transmission of data between trustless actors
Androulaki et al. A Framework for Resilient, Transparent, High-throughput, Privacy-Enabled Central Bank Digital Currencies
CN111580983A (en) Method, apparatus, device and medium for detecting deadlock in real-time full settlement system
CN115953241A (en) Block chain-based fund management method and device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19707051

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19707051

Country of ref document: EP

Kind code of ref document: A1