METHOD AND DEVICE FOR CONDUCTING A TRANSACTION BETWEEN A PLURALITY OF PARTITIONS OF A BLOCKCHAIN
20220122067 ยท 2022-04-21
Inventors
Cpc classification
G06Q20/389
PHYSICS
G06Q20/3678
PHYSICS
International classification
Abstract
A method for conducting a transaction between a plurality of partitions of a blockchain. In the method: on the partitions, smart contracts are provided, through the contracts, state channels are anchored in the partitions, and the transaction between the partitions is carried out on the state channels.
Claims
1. A method for conducting a transaction between a plurality of partitions of a blockchain, comprising the following steps: providing, on the partitions, smart contracts; anchoring state channels in the partitions through the contracts; and carrying out the transaction between the partitions on the state channels.
2. The method as recited in claim 1, wherein the providing step takes place through an intermediary active on a multitude of the partitions.
3. The method as recited in claim 2, wherein the intermediary is a node networked with further intermediaries in the blockchain.
4. The method as recited in claim 3, wherein the intermediaries are connected indirectly via a number of partitions.
5. The method as recited in claim 1, wherein the partitions are operated by a system distributed in the blockchain, and the providing step takes place through the system.
6. The method as recited in claim 5, wherein the providing step takes place when the system sets up further partitions of the blockchain.
7. The method as recited in claim 1, wherein the providing step takes place in the form of a functionality that is capable of being used in common by all the partitions.
8. A non-transitory machine-readable storage medium on which is stored a computer program for conducting a transaction between a plurality of partitions of a blockchain, the computer program, when executed by a computer, causing the computer to perform the following steps: providing, on the partitions, smart contracts; anchoring state channels in the partitions through the contracts; and carrying out the transaction between the partitions on the state channels.
9. A device configured to conduct a transaction between a plurality of partitions of a blockchain, the computer configured to: provide, on the partitions, smart contracts; anchor state channels in the partitions through the contracts; and carry out the transaction between the partitions on the state channels.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Exemplary embodiments of the present invention are shown in the figures and are explained in more detail in the following description.
[0017]
[0018]
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
[0019]
[0020] For this purpose, a decentralized transaction system is assumed having users U.sub.1 through U.sub.N, active on N different shards, i.e., having addresses and assets assigned thereto on a respective one of the shards. Further assumed is that U.sub.i wishes to transmit a state value to another user U.sub.j, thus involving a cross-shard transaction.
[0021] We now make use of the insight that, as is standard in trust-free channels, channel networks, network nodes, etc., transactions in the chain (on chain) can be avoided through the use of a plurality of auxiliary contracts that enable a secure anchoring of the transactions carried out outside the chain, for example while making accessible owner and decision functions of the chain.
[0022] In a first approach, these contracts are provided for each shard (process 11).
[0023] This presupposes an intermediary, Ingrid, active on two or more shards, in particular on all the shards. This intermediary can anchor a state channel to U.sub.i in shard i and to U.sub.j in shard j (process 12). Applying the standard state channel approaches, a transfer from U.sub.i to U.sub.j via Ingrid can now be carried out through a cooperation of the three involved parties off the chain (process 13), as long as no dispute resolution is required.
[0024] Summarizing, U.sub.i communicates the value to Ingrid on shard i under the condition that Ingrid will transmit the same amount to U.sub.j on shard j. This can be achieved in various conventional ways from the related art.
[0025] In this way, no on-chain interaction, and in particular no cross-shard transaction, is required, as long as all involved parties agree and an arbitration proceeding is not required.
[0026] Within the convention possibilities for multiple nested, stacked (virtual) channels, flexible and powerful networks can be built for an efficient transfer across the shards, as is standard in a shard-based system. For example, nodes can be provided on many, or even all, shards, and indirect connections (multi-hop) can be provided over a plurality of medium-large nodes up to simple multi-hop connections between nodes of equal rank (peer to peer).
[0027] The initial outlay for the provision (11) of the auxiliary contracts required for the anchoring (12), and for the application of the on-chain channels to the shards, is rapidly amortized by the drastically reduced costs for the carrying out (13) of cross-shard transactions.
[0028] In order to illustrate the difference from conventional solutions, it is to be noted that according to the related art all users and intermediaries, or hubs, would have to be active on the same shard. This would enable at best a reduction in the on-chain costs for transactions within this shard.
[0029] In contrast, the present approach permits the efficient bridging of shards on the basis of safe constructs, such as are used in trust-free channels.
[0030] In a second approach in accordance with the present invention, the distributed system, which operates the shards and automatically adds further shards if necessary for the runtime, could provide the auxiliary contracts for the anchoring of the state channel in the context of the setting up of a new shard (11), so that the on-chain channels can be opened and used to carry out (13) the off-chain transactions for new shards as well without having to actively provide the auxiliary contracts.
[0031] According to a third approach in accordance with the present invention, the auxiliary contracts for anchoring (12) the state channels are not provided individually for each shard, but rather are provided (11) together for all shards, in the form of a generally usable functionality.
[0032] This in turn makes it possible to apply on-chain channels for anchoring (12), and to carry out (13) the off-chain transactions for new shards as well without having to actively provide the auxiliary contracts.
[0033] As described above, the intermediary or node function can be taken on by any user that is active on more than one shard. In addition, the distributed system could itself offer corresponding possibilities.
[0034] This method (10) can be implemented for example in software or hardware, or in a mixed form of software and hardware, for example in a control device (20), as is shown by the schematic representation in