ABSTRACT
Abstract
Some embodiments are directed to a blockchain verification method for a secondary blockchain, the blockchain verification method including sending an activation transaction to a primary blockchain management device which is configured to manage the primary blockchain. The primary blockchain management device is configured to execute a smart contract based on input in the activation transaction generating a result, and publish the result on the primary blockchain.
Description
RELATED APPLICATION
This application claims priority under 35 U.S.C. § 119 or 365 to European Application No.: 17207913.9, filed Dec. 18, 2017. The entire teachings of the above application are incorporated herein by reference.
TECHNICAL FIELD
The invention relates to a blockchain verification method, a secondary blockchain management method, a secondary blockchain initiation device, a secondary blockchain management device, a smart contract, and a computer readable medium.
BACKGROUND
Blockchains are a novel technology that allows distributed management of transactions while at the same time maintaining trust in those transactions. The latter may also be done in a distributed manner. A blockchain is a list of records, which are called blocks, which are linked. Each block contains a pointer as a link to a previous block. Multiple parties can record transactions in the blockchain or verify previous transactions of others. The blockchain is sometimes referred to as a ledger.
An example of a known blockchain system is given in US Patent Application 20170031676, âBlockchain Computer Data Distributionâ (included herein by reference). The known system discloses various uses of such blockchains. For example, blockchains are used in cryptocurrency systems. For example, cryptocurrency transactions for a period may be stored in a block that is then added to the tail of the blockchain, thereby extending the blockchain. The history of the cryptocurrency can be accessed by moving along the blocks of the blockchain. The blockchain could be held privately, e.g., in a centralized manner, or held publicly in a less centralized manner. The latter is usual for cryptocurrencies.
Another example given in the known system, is the distribution of patches to IoT devices through a blockchain environment. In the blockchain environment, blocks, which can hold data, are chained together by storing information in a block which indicates the preceding block. A block can further comprise timestamp information and validation information.
Recently a lot of new blockchain related implementations are created. These implementations provide all kinds of new ways of making transactions between multiple parties, e.g., based on bitcoin or bitcoin type blockchains. Other implementations make use of the immutability characteristic of the blockchain technologies, for example to enable a secure and tamper-proof notary system. From the perspective of the user the blockchain world is changing from clear to cluttered. This imposes new problems, e.g., where multiple blockchains exist in parallel, a verification mechanism is missing to verify the integrity of the data.
SUMMARY
As the blockchain technology evolves, the number of blockchains grows fast. Not only public blockchains, but also private blockchains. Furthermore, the number of applications to which blockchains may be applied is steadily increasing. The user may thus be confronted with various blockchains for various applications. Not all of these blockchain may be particularly well-known, used by many users, or see a lot of traffic. As a result, the user is in need of an additional way to verify the reliability or trustworthiness of a particular blockchain. Apart from verifying the data that is present on a blockchain, a user may also need a reliable way to verify that a blockchain is still being maintained.
A blockchain verification method as defined in the claims addresses these concerns. The blockchain verification method may comprise sending one or more smart contract creation transactions to a primary blockchain management device which may be configured to manage a primary blockchain. The smart contract creation transaction may comprise a smart contract for performing verification of an action on a secondary blockchain. The primary blockchain management device may be configured to publish the smart contract in a block of the primary blockchain. The method may comprise performing the action on the secondary blockchain, e.g., by a blockchain management device or blockchain initiation device.
The method may comprise generating an activation transaction comprising, e.g., a blockchain identifier of the secondary blockchain, information relating to the action, and an identifier of the smart contract on the primary blockchain, etc. The method may comprise sending the activation transaction to a primary blockchain management device which may be configured to manage the primary blockchain. The primary blockchain management device may be configured to execute the smart contract based on input in the activation transaction and may generate a result, and may publish the result on the primary blockchain.
Examples of the actions that can be performed on the secondary blockchain include: the creation of the secondary blockchain, the creation of a new block on the secondary blockchain, the creation of a blockchain address for a user, the cancelation of the secondary blockchain.
In an embodiment, a secondary blockchain is maintained by performing actions on it. For example, the secondary blockchain may be created, used, cancelled, and so on. Information related to these actions cause the activation of a smart contract on the primary blockchain. The smart contract verifies the action and records the result of the verification on the primary blockchain.
For example, if the action is the creation of new blocks on the secondary blockchain, then this may be recorded on a different blockchain: the primary blockchain. The primary blockchain may be maintained by a different device, or devices, and in fact by an entirely different organization. Thus, the user, who may know little of the organization supporting the secondary blockchain, can verify the creation of blocks on the secondary blockchain by inspecting the primary blockchain. Moreover, if the user is unsure if the secondary blockchain is still being maintained, he can verify by inspecting the primary blockchain if blocks are still being created, even if, for some reason, new blocks of the secondary blockchain do not reach him. Knowing if a blockchain is still operational may, for example, be problematic for a permissioned consortium blockchain. Note that the overhead of posting an identification in the primary blockchain is much smaller than, e.g., reposting the entire new block of the secondary blockchain in the new block.
An aspect of the invention concerns a secondary blockchain management method as defined in the claims. The secondary blockchain management device creates a new block for inclusion on the secondary blockchain, but also activates a smart contract on the primary blockchain, so that the secondary blockchain may be verified on the primary blockchain. An aspect of the invention concerns a secondary blockchain initiation device, and a secondary blockchain management device.
The primary and secondary blockchain management devices and secondary blockchain initiation device are electronic devices. The blockchain management, verification and use devices may, e.g., be a set-top box, a computer, etc. A blockchain use device may be a mobile electronic device, in particular the blockchain use device may be a mobile phone.
The methods for blockchains described herein may be applied in a wide range of practical applications. Such practical applications include: crypto currencies, transfer systems such as digital notaries implemented on a blockchain, domain management using blockchains, e.g., as an alternative or in addition to certificates such as TLS or SSL certificates, etc. The invention may also be applied in situations in which no transfer is done. For example, in data recording applications, e.g., for recording sensor values and the like.
A method according to the invention may be implemented on a computer as a computer implemented method, or in dedicated hardware, or in a combination of both. Executable code for a method according to the invention may be stored on a computer program product. Examples of computer program products include memory devices, optical storage devices, integrated circuits, servers, online software, etc. Preferably, the computer program product comprises non-transitory program code stored on a computer readable medium for performing a method according to the invention when said program product is executed on a computer.
In a preferred embodiment, the computer program comprises computer program code adapted to perform all the steps of a method according to the invention when the computer program is run on a computer. Preferably, the computer program is embodied on a computer readable medium.
Another aspect of the invention provides a method of making the computer program available for downloading. This aspect is used when the computer program is uploaded into, e.g., Apple's App Store, Google's Play Store, or Microsoft's Windows Store, and when the computer program is available for downloading from such a store.
BRIEF DESCRIPTION OF THE DRAWINGS
Further details, aspects, and embodiments of the invention will be described, by way of example only, with reference to the drawings. Elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. In the Figures, elements which correspond to elements already described may have the same reference numerals. In the drawings,
FIG. 1 a schematically shows an example of an embodiment of a blockchain system,
FIG. 1 b schematically shows an example of an embodiment of a blockchain system including a blockchain management device,
FIG. 2 a schematically shows an example of an embodiment of a blockchain,
FIG. 2 b schematically shows an example of an embodiment of a block,
FIG. 2 c schematically shows an example of an embodiment of a block,
FIG. 2 d schematically shows an example of an embodiment of a blockchain,
FIG. 2 e schematically shows an example of an embodiment of a blockchain,
FIG. 2 f schematically shows an example of an embodiment of a blockchain,
FIG. 3 schematically shows an example of an embodiment of a blockchain system,
FIG. 4 schematically shows an example of an embodiment of a blockchain verification device
FIG. 5 schematically shows an example of an embodiment of a blockchain use device
FIG. 6 a schematically shows an example of a flowchart for an embodiment of a blockchain verification method,
FIG. 6 b schematically shows an example of a flowchart for an embodiment of a secondary blockchain management method,
FIG. 6 c schematically shows an example of a flowchart for an embodiment of a smart contract for managing a secondary blockchain,
FIG. 7 a schematically shows a computer readable medium having a writable part comprising a computer program according to an embodiment,
FIG. 7 b schematically shows a representation of a processor system according to an embodiment,
FIG. 8 schematically shows an example of an embodiment of a blockchain system and a website.
LIST OF REFERENCE NUMERALS IN FIGS. 1 a - 5 , 7 a - 7 b, 8 :
100 a secondary blockchain management device
101 a secondary blockchain management device
105 multiple secondary blockchain management devices
110 a communication interface
120 block constructor
125 primary blockchain transaction unit
130 consensus prover
140 a hash unit
150 a computer network
151 , 152 blockchain use device
160 a secondary blockchain initiation device
161 a communication interface
162 a smart contract creation unit
164 a blockchain management unit
165 a smart contract activation unit
170 a blockchain verification device
180 a blockchain system
190 a primary blockchain management device
191 a primary blockchain management device
195 multiple primary blockchain management devices
200 a blockchain system
210 a primary blockchain
250 a secondary blockchain
211 - 215 a block
251 - 253 a block
220 a block
230 a block
221 , 231 a reference to a preceding block
222 , 232 multiple transactions
223 , 233 a consensus proof
224 , 234 a block id
235 an activation transaction
300 a blockchain system
301 a first level
302 a second level
303 a third level
310 - 370 a blockchain
400 a blockchain use device
410 a communication interface
420 first block obtainer
422 second block obtainer
430 transaction verifier
500 a blockchain verification device
510 a communication interface
520 a verification unit
570 a blockchain storage
800 a website
801 - 804 a website input interface
1000 a computer readable medium
1010 a writable part
1020 a computer program
1110 integrated circuit(s)
1120 a processing unit
1122 a memory
RELATED APPLICATION
This application claims priority under 35 U.S.C. § 119 or 365 to European Application No.: 17207913.9, filed Dec. 18, 2017. The entire teachings of the above application are incorporated herein by reference.
TECHNICAL FIELD
The invention relates to a blockchain verification method, a secondary blockchain management method, a secondary blockchain initiation device, a secondary blockchain management device, a smart contract, and a computer readable medium.
BACKGROUND
Blockchains are a novel technology that allows distributed management of transactions while at the same time maintaining trust in those transactions. The latter may also be done in a distributed manner. A blockchain is a list of records, which are called blocks, which are linked. Each block contains a pointer as a link to a previous block. Multiple parties can record transactions in the blockchain or verify previous transactions of others. The blockchain is sometimes referred to as a ledger.
An example of a known blockchain system is given in US Patent Application 20170031676, âBlockchain Computer Data Distributionâ (included herein by reference). The known system discloses various uses of such blockchains. For example, blockchains are used in cryptocurrency systems. For example, cryptocurrency transactions for a period may be stored in a block that is then added to the tail of the blockchain, thereby extending the blockchain. The history of the cryptocurrency can be accessed by moving along the blocks of the blockchain. The blockchain could be held privately, e.g., in a centralized manner, or held publicly in a less centralized manner. The latter is usual for cryptocurrencies.
Another example given in the known system, is the distribution of patches to IoT devices through a blockchain environment. In the blockchain environment, blocks, which can hold data, are chained together by storing information in a block which indicates the preceding block. A block can further comprise timestamp information and validation information.
Recently a lot of new blockchain related implementations are created. These implementations provide all kinds of new ways of making transactions between multiple parties, e.g., based on bitcoin or bitcoin type blockchains. Other implementations make use of the immutability characteristic of the blockchain technologies, for example to enable a secure and tamper-proof notary system. From the perspective of the user the blockchain world is changing from clear to cluttered. This imposes new problems, e.g., where multiple blockchains exist in parallel, a verification mechanism is missing to verify the integrity of the data.
SUMMARY
As the blockchain technology evolves, the number of blockchains grows fast. Not only public blockchains, but also private blockchains. Furthermore, the number of applications to which blockchains may be applied is steadily increasing. The user may thus be confronted with various blockchains for various applications. Not all of these blockchain may be particularly well-known, used by many users, or see a lot of traffic. As a result, the user is in need of an additional way to verify the reliability or trustworthiness of a particular blockchain. Apart from verifying the data that is present on a blockchain, a user may also need a reliable way to verify that a blockchain is still being maintained.
A blockchain verification method as defined in the claims addresses these concerns. The blockchain verification method may comprise sending one or more smart contract creation transactions to a primary blockchain management device which may be configured to manage a primary blockchain. The smart contract creation transaction may comprise a smart contract for performing verification of an action on a secondary blockchain. The primary blockchain management device may be configured to publish the smart contract in a block of the primary blockchain. The method may comprise performing the action on the secondary blockchain, e.g., by a blockchain management device or blockchain initiation device.
The method may comprise generating an activation transaction comprising, e.g., a blockchain identifier of the secondary blockchain, information relating to the action, and an identifier of the smart contract on the primary blockchain, etc. The method may comprise sending the activation transaction to a primary blockchain management device which may be configured to manage the primary blockchain. The primary blockchain management device may be configured to execute the smart contract based on input in the activation transaction and may generate a result, and may publish the result on the primary blockchain.
Examples of the actions that can be performed on the secondary blockchain include: the creation of the secondary blockchain, the creation of a new block on the secondary blockchain, the creation of a blockchain address for a user, the cancelation of the secondary blockchain.
In an embodiment, a secondary blockchain is maintained by performing actions on it. For example, the secondary blockchain may be created, used, cancelled, and so on. Information related to these actions cause the activation of a smart contract on the primary blockchain. The smart contract verifies the action and records the result of the verification on the primary blockchain.
For example, if the action is the creation of new blocks on the secondary blockchain, then this may be recorded on a different blockchain: the primary blockchain. The primary blockchain may be maintained by a different device, or devices, and in fact by an entirely different organization. Thus, the user, who may know little of the organization supporting the secondary blockchain, can verify the creation of blocks on the secondary blockchain by inspecting the primary blockchain. Moreover, if the user is unsure if the secondary blockchain is still being maintained, he can verify by inspecting the primary blockchain if blocks are still being created, even if, for some reason, new blocks of the secondary blockchain do not reach him. Knowing if a blockchain is still operational may, for example, be problematic for a permissioned consortium blockchain. Note that the overhead of posting an identification in the primary blockchain is much smaller than, e.g., reposting the entire new block of the secondary blockchain in the new block.
An aspect of the invention concerns a secondary blockchain management method as defined in the claims. The secondary blockchain management device creates a new block for inclusion on the secondary blockchain, but also activates a smart contract on the primary blockchain, so that the secondary blockchain may be verified on the primary blockchain. An aspect of the invention concerns a secondary blockchain initiation device, and a secondary blockchain management device.
The primary and secondary blockchain management devices and secondary blockchain initiation device are electronic devices. The blockchain management, verification and use devices may, e.g., be a set-top box, a computer, etc. A blockchain use device may be a mobile electronic device, in particular the blockchain use device may be a mobile phone.
The methods for blockchains described herein may be applied in a wide range of practical applications. Such practical applications include: crypto currencies, transfer systems such as digital notaries implemented on a blockchain, domain management using blockchains, e.g., as an alternative or in addition to certificates such as TLS or SSL certificates, etc. The invention may also be applied in situations in which no transfer is done. For example, in data recording applications, e.g., for recording sensor values and the like.
A method according to the invention may be implemented on a computer as a computer implemented method, or in dedicated hardware, or in a combination of both. Executable code for a method according to the invention may be stored on a computer program product. Examples of computer program products include memory devices, optical storage devices, integrated circuits, servers, online software, etc. Preferably, the computer program product comprises non-transitory program code stored on a computer readable medium for performing a method according to the invention when said program product is executed on a computer.
In a preferred embodiment, the computer program comprises computer program code adapted to perform all the steps of a method according to the invention when the computer program is run on a computer. Preferably, the computer program is embodied on a computer readable medium.
Another aspect of the invention provides a method of making the computer program available for downloading. This aspect is used when the computer program is uploaded into, e.g., Apple's App Store, Google's Play Store, or Microsoft's Windows Store, and when the computer program is available for downloading from such a store.
BRIEF DESCRIPTION OF THE DRAWINGS
Further details, aspects, and embodiments of the invention will be described, by way of example only, with reference to the drawings. Elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. In the Figures, elements which correspond to elements already described may have the same reference numerals. In the drawings,
FIG. 1 a schematically shows an example of an embodiment of a blockchain system,
FIG. 1 b schematically shows an example of an embodiment of a blockchain system including a blockchain management device,
FIG. 2 a schematically shows an example of an embodiment of a blockchain,
FIG. 2 b schematically shows an example of an embodiment of a block,
FIG. 2 c schematically shows an example of an embodiment of a block,
FIG. 2 d schematically shows an example of an embodiment of a blockchain,
FIG. 2 e schematically shows an example of an embodiment of a blockchain,
FIG. 2 f schematically shows an example of an embodiment of a blockchain,
FIG. 3 schematically shows an example of an embodiment of a blockchain system,
FIG. 4 schematically shows an example of an embodiment of a blockchain verification device
FIG. 5 schematically shows an example of an embodiment of a blockchain use device
FIG. 6 a schematically shows an example of a flowchart for an embodiment of a blockchain verification method,
FIG. 6 b schematically shows an example of a flowchart for an embodiment of a secondary blockchain management method,
FIG. 6 c schematically shows an example of a flowchart for an embodiment of a smart contract for managing a secondary blockchain,
FIG. 7 a schematically shows a computer readable medium having a writable part comprising a computer program according to an embodiment,
FIG. 7 b schematically shows a representation of a processor system according to an embodiment,
FIG. 8 schematically shows an example of an embodiment of a blockchain system and a website.
LIST OF REFERENCE NUMERALS IN FIGS. 1 a - 5 , 7 a - 7 b, 8 :
100 a secondary blockchain management device
101 a secondary blockchain management device
105 multiple secondary blockchain management devices
110 a communication interface
120 block constructor
125 primary blockchain transaction unit
130 consensus prover
140 a hash unit
150 a computer network
151 , 152 blockchain use device
160 a secondary blockchain initiation device
161 a communication interface
162 a smart contract creation unit
164 a blockchain management unit
165 a smart contract activation unit
170 a blockchain verification device
180 a blockchain system
190 a primary blockchain management device
191 a primary blockchain management device
195 multiple primary blockchain management devices
200 a blockchain system
210 a primary blockchain
250 a secondary blockchain
211 - 215 a block
251 - 253 a block
220 a block
230 a block
221 , 231 a reference to a preceding block
222 , 232 multiple transactions
223 , 233 a consensus proof
224 , 234 a block id
235 an activation transaction
300 a blockchain system
301 a first level
302 a second level
303 a third level
310 - 370 a blockchain
400 a blockchain use device
410 a communication interface
420 first block obtainer
422 second block obtainer
430 transaction verifier
500 a blockchain verification device
510 a communication interface
520 a verification unit
570 a blockchain storage
800 a website
801 - 804 a website input interface
1000 a computer readable medium
1010 a writable part
1020 a computer program
1110 integrated circuit(s)
1120 a processing unit
1122 a memory
1124 a dedicated integrated circuit
1126 a communication element
1130 an interconnect
1140 a processor system
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
While this invention is susceptible of embodiment in many different forms, there are shown in the drawings and will herein be described in detail one or more specific embodiments, with the understanding that the present disclosure is to be considered as exemplary of the principles of the invention and not intended to limit the invention to the specific embodiments shown and described. In the following, for the sake of understanding, elements of embodiments are described in operation. However, it will be apparent that the respective elements are arranged to perform the functions being described as performed by them. Further, the invention is not limited to the embodiments, and the invention lies in each and every novel feature or combination of features described herein or recited in mutually different dependent claims.
FIG. 1 a schematically shows an example of an embodiment of a blockchain system 180 . FIG. 1 a comprises a secondary blockchain initiation device 160 , which may initiate and/or cancel a secondary blockchain, etc. FIG. 1 b schematically shows an example of an embodiment of a blockchain system 180 after it has been created, e.g., by secondary blockchain initiation device 160 . In some embodiments, after blockchain system 180 has been created it can run without the secondary blockchain initiation device 160 . FIG. 1 b shows such a situation, from the perspective of a secondary blockchain management device 100 .
Returning to FIG. 1 a . Shown are multiple primary blockchain management devices 195 , of which are shown primary blockchain management devices
190 and 191 . The primary blockchain management devices are configured to maintain a primary blockchain 210 . Two blocks, 211 and 212 of the primary blockchain 210 are shown in FIG. 1 a . Also shown in FIG. 1 a are multiple secondary blockchain management devices 105 , of which are shown secondary blockchain management devices
100 and 101 .
The secondary blockchain management devices are arranged to add one or more blocks to the secondary blockchain. System 180 uses at least two blockchains, referred to as the primary blockchain and secondary blockchain. Transactions are recorded on the secondary blockchain. Some events on the secondary blockchains are recorded on the primary blockchain. For example, adding a new block to the secondary blockchain may be recorded on the primary blockchain. This feature allows increased verification of the secondary blockchain. In recent years the number of different blockchains has increased rapidly. It has become increasingly harder to verify the trustworthiness of a particular secondary blockchain. However, by recording some features of the secondary blockchain on a primary blockchain, at least these aspects may be verified. For example, a user may have a high trust in the immutability of some particular primary blockchain, e.g., the primary blockchain may be a well-known blockchain such as the bitcoin blockchain, the Ethereum blockchain, etc. Other advantages and applications are discussed further below. There may be multiple blockchains organized hierarchically, wherein a blockchain at a lower hierarchical level records events in a blockchain on a higher hierarchical level, e.g., on the immediately higher level. The highest level blockchain may be referred to as the root blockchain. The primary blockchain may be the root blockchain.
For example, a lower level blockchain, say the secondary blockchain, may be a private blockchain, e.g., for a particular application, a particular company, community or the like, whereas the primary blockchain may be a public blockchain, e.g., the Ethereum blockchain, etc.
The primary blockchain management devices, e.g., devices
190 and 191 are configured to add blocks to a primary blockchain. There may be more than one or two blockchain management devices. For example, there may be more blockchain management devices responsible for the primary or secondary blockchain. There may be devices which are configured both for the primary and secondary blockchain; in other embodiments though a blockchain management device either manages the primary or secondary blockchain but not both. When necessary we will refer to a blockchain management device that adds blocks to a secondary blockchain as a secondary blockchain management device, and a blockchain management device that adds blocks to a primary blockchain as a primary blockchain management device.
Interestingly, the primary blockchain is arranged for so-called smart contracts. The primary blockchain management devices are arranged to execute smart contracts. Smart contracts may be used to manage the second blockchain in various ways. System 180 uses smart contracts to make creating, maintaining and/or verifying the secondary blockchains easier. A smart contract comprises programming instructions which are executed at a blockchain management device. A smart contract can be recorded or posted to a block chain by sending a suitable transaction, e.g., a smart contract creation transaction, to the blockchain management device. An effect of sending a smart contract creation transaction to a blockchain management device is that the smart contract becomes visible in a block of the blockchain.
Execution of a smart contract can be triggered by various events, which may be defined in the smart contract. Typically, a smart contract is triggered by off-chain devices, also known as oracles. In particular, a smart contract may be activated by an activation transaction. For example, the activation transaction may identify the smart contract which is to be executed, and may also provide inputs for the smart contract.
For example, an oracle, in the context of blockchains and smart contracts, may be an agent that finds and verifies real-world occurrences and submits this information to a blockchain to be used by smart contracts. Smart contracts are only executed if certain pre-defined conditions are met. When the condition is met, the smart contract changes its state and executes the programmatically predefined algorithms, automatically triggering an event on the blockchain. Oracles provide these values to the smart contract in a secure and trusted manner.
An oracle may be a data feed, e.g., provided by third party service, designed for use in smart contracts on the blockchain. Oracles provide external data and trigger smart contract executions when pre-defined conditions are met. Such condition could be the creation of a new block on a secondary blockchain, the request for the creation or cancellation of a blockchain, the request for a new address, etc. For example, a particular, or all secondary blockchain management devices, and/or the secondary blockchain initiation device may act as an oracle.
For example, the oracle may send the activation transaction to a blockchain management device, the blockchain management device will execute the smart contract. Generally, speaking the oracle may provide the activation transaction in a different manner, e.g., by providing a publicly accessibly data feed. For example, the oracle may send the activation transaction to a blockchain management device which is configured to execute the smart contract.
The result and/or the activation transaction are recorded in a block of the blockchain. Typically, an activation transaction will be received by more than one blockchain management device, and may thus be executed multiple times. However, only one smart contract result is recorded in the blockchain, namely the result in the block of the blockchain management device that gets incorporated in the blockchain.
In general, smart contracts may be used as follows. During a set-up phase, one or more smart contract creation transactions are sent to a primary blockchain management device, such as primary blockchain management devices
190 or 191 . The primary blockchain management devices are arranged to manage primary blockchain 210 . The primary blockchain management devices are arranged to receive transactions, and create new blocks for inclusion in primary blockchain 210 . The primary blockchain management devices are also arranged for smart contracts. This means that they are arranged to receive smart contract creation transactions. A smart contract creation transaction defines a smart contract. A smart contract may be written in a programming language. This may be a special purpose language. Or a general-purpose language.
For example, a smart contract for the Ethereum blockchain may be written in the language Solidity, see, e.g., âSolidity Documentationâ, Release 0.4.19, Ethereum, Nov. 27, 2017. There are however limitations in the Solidity language. This may be resolved by off-chain devices, e.g., by a secondary blockchain initiation device or a secondary blockchain management device. For example, these devices may perform the actions on the secondary blockchain themselves. For instance, the transaction in which the identification of a further blockchain is written in the root blockchain will be triggered by an off-chain software program. Smart contracts may also be written in other languages however. For example, other blockchain implementations such as NEO or Stratis, support languages such as C # and Java. Using such more general-purpose language, even a blockchain management device, in particular a secondary blockchain management device, can be implemented as a smart contract. It turns out that this has many advantages, and is further discussed below.
Note that a smart contract may run on each primary blockchain management device, although only one primary blockchain management device will actually be able to effectuate the outcome on the primary blockchain using mining/minting process, e.g., as is done for normal transactions. Further details are given at FIG. 6 c . Nevertheless, management device functions such as user login, KYC (âknown you customerâ), GUI, will still be implemented outside of blockchain smart contract. For example, a portal, e.g., running on device 160 may interact with a smart contract instead of being a smart contract itself.
The smart contract that may be defined by the smart contract creation transaction, e.g., comprised in a smart contract, configured to verify an action on a secondary blockchain. There are various actions that may be performed on the secondary blockchain, examples of which are given herein. The primary blockchain management device is configured to publish the smart contract in a block of the primary blockchain. Typically, the smart contract creation transaction is distributed to multiple primary blockchain management devices, e.g., through a peer-to-peer network. All the primary blockchain management devices then try to create a block with the smart contract in it. One of the primary blockchain management devices will succeed to get his new block with the smart contract to be part of the primary blockchain 210 .
Sending the smart contracts creation transactions may be done by secondary blockchain initiation device 160 , but it may also be done by a dedicated smart contract device which is used only during the set-up phase. Sending the smart contract creation transactions may also be done by a secondary blockchain management device, which has additional functionality for setting up the smart contracts in the primary blockchain.
After the set-up phase, say during an execution phase, the action on the secondary blockchain is performed. There may be overlap between the set-up phase and the execution phase. In some embodiments, the action is performed by a device, such as the secondary blockchain initiation device 160 or a secondary blockchain management device. The action could also be performed by a dedicated device which is independent from the secondary blockchain initiation device 160 and the secondary blockchain management device, e.g., a verification device. The verification device could perform checks on the secondary blockchain or on particular transactions.
The action could also be performed by a smart contract itself. The latter contract may be the same smart contract referred to above, or it may be a different one. Thus, in the latter case an executing and verifying smart contract are two contracts each of which is published during the set-up phase.
The smart contracts that are recorded in the primary blockchain 210 may be executed by sending an activation transaction to a primary blockchain management device. For example, the activation transaction may be generated at a device, such as secondary blockchain initiation device 160 or a secondary blockchain management device 100 . The activation transaction may comprise, e.g., a blockchain identifier of the secondary blockchain, information relating to the action, and an identifier of the smart contract on the primary blockchain. The activation transaction is then sent to a primary blockchain management device, e.g., device
190 or 191 . The primary blockchain management device is configured to execute the smart contract based on inputs in the activation transaction and to generate a result. The result is published on the primary blockchain. As can be seen above, there are various devices that can create or execute the smart contracts for various actions. However, after a smart contract has been created and executed on the primary blockchain, anyone can see the execution of the smart contract and its results, e.g., by inspecting the primary blockchain. The trust in the primary blockchain, not only in its cryptographic integrity but also in its production values, such as reliability or availability, may be larger than in the secondary blockchain. This makes it attractive to create a secondary blockchain for relative smaller scale projects. Even though such a secondary blockchain may never achieve the large scale of the primary blockchain, it can use the primary blockchain to increase its own reliability.
Below a particular example of using smart contracts to maintain a secondary blockchain 250 is described. As pointed out above however, many of the operations may be performed at different devices. This makes it possible to create a geographically distributed system.
The exemplifying embodiment described with reference to FIG. 1 a comprises a secondary blockchain initiation device 160 . Secondary blockchain initiation device 160 may comprise a communication interface 161 , similar to the communication interfaces that may be comprised in the other devices of system 180 , e.g., such as the blockchain management or use devices. For example, the communication interface may be a computer network interface, e.g., a wired or wireless computer network interface, etc. Secondary blockchain initiation device 160 may comprise a smart contract creation unit 162 . Smart contract creation unit 162 is configured to send one or more smart contract creation transactions to a primary blockchain management device. For example, smart contract creation unit 162 may comprise a smart contract repository, e.g., a storage comprising the smart contracts programming code. The smart contract creation unit 162 may generate a smart contract creation transaction which causes the smart contract to be recorded on the primary blockchain 210 .
Secondary blockchain initiation device 160 may comprise a blockchain management unit 164 . The blockchain management unit 164 is configured to perform an action on the secondary blockchain. For example, blockchain management unit 164 may be configured to generate a genesis block for the secondary blockchain 250 . Actions on the secondary blockchain may also, or in fact only, be performed by other entities, e.g., by the secondary blockchain management devices.
Secondary blockchain initiation device 160 may comprise a smart contract activation unit 165 . The smart contract activation unit 165 is configured to generate an activation transaction and to send the activation transaction to a primary blockchain management device. Activation unit 165 may for example use the communication interface 161 to send the activation message to the primary blockchain management device, e.g., over a computer network, e.g., over a peer to peer network. The activation message may identify the secondary blockchain, the action that is performed and the smart contract which is to be executed. The smart contract may verify some or all of the action, so that when the smart contract result appears on the primary blockchain, users of the secondary blockchain know that the action has been verified by a reputable source, but also that the secondary blockchain is active. The primary blockchain management devices 195 are configured to execute the smart contract based on input in the activation transaction and to generate a result, and publish the result on the primary blockchain.
The secondary blockchain initiation device 160 may be used in the following exemplifying embodiment of system 180 . For example, during the setup phase, the secondary blockchain initiation device, e.g., smart contract creation unit 162 , may create one or more smart contracts (SC) on a primary blockchain that supports smart contracts, e.g., Ethereum. For example, a first smart contract SC 1 may create a new blockchain; a second smart contract SC 2 may validate a block; a third smart contract SC 3 closes a blockchain, etc. In an embodiment, a pool of blockchain management devices are provided that are enabled to maintain a new blockchain for the secondary blockchain initiation device. For example, the multiple blockchain management devices 105 may create new blocks, e.g., mine or mint the new blocks. In an alternative embodiment, the multiple blockchain management devices are itself created as a smart contract, e.g., as in FIG. 6 c.
There are various options on how to create the smart contracts. For example, in embodiments, the smart contract is configured for multiple actions on the secondary blockchain. The activation message may specify which action is taken. Another option is to create more but smaller smart contracts that are each configured for a different action on the secondary blockchain. For example, the smart contracts SC 1 , SC 2 , SC 3 , etc., may be separate contracts or they may be combined into a single larger contract which incorporates two or more, or each of SC 1 , SC 2 , SC 3 , and/or any other contracts.
For example, secondary blockchain initiation device may operate a portal where a new blockchain can be requested, etc. For example, secondary blockchain initiation device may operate application programming interfaces (APIs) where a new blockchain can be requested, etc.
The secondary blockchain initiation device may perform additional services, such as authenticating the requesting party. For example, the portal may be operated on the internet, e.g., as a website. A user, or an automated process may request at the portal the creation of a new blockchain. This makes it very easy to create a new custom blockchain for various purposes or applications.
I: In an embodiment, the secondary blockchain initiation device 160 might use smart contracts to create a blockchain as follows.
A new genesis block is created; this may be done, e.g., by device
160 or 100 or by a smart contract possibly different from SC 1 . The genesis block contains at least a blockchain ID to identify the new blockchain. The genesis block can also contain a timestamp or an initial transaction. For example, the initial transaction may comprise the identifying information of the user, device, or organization that initiated the new blockchain. For example, the initial transaction may make use of services providing identification, such as, e.g., MobileConnect, or identification systems or services such as the Dutch eHerkenning, Digid, or other eID info or electronic identification systems or services which may be provided by an organization, that preferably provides a trusted identification service in a secure system. These organizations may vary from local to international organizations, such as government institutions, public organizations, banks or telecom or internet service providers, etc.
The genesis block is sent to the secondary blockchain management devices 105 , e.g., through a peer to peer protocol. The secondary blockchain management devices start a new blockchain with the genesis block. The genesis block can be provided with a consensus proof, e.g., by one of the secondary blockchain management devices. In that case, the first block of the secondary blockchain may be the genesis block and the consensus proof.
The secondary blockchain management device also sends an activation transaction to the SC 1 on the primary blockchain. The transaction may contain information about the genesis block. All primary blockchain management devices of the primary blockchain execute SC 1 . For example, SC 1 may performs the following program (in pseudo code):
IF (activation transaction verifies) THEN SC 1 _result:=all ok.
Thus, in an embodiment, the creation of the secondary blockchain, in this case by the secondary blockchain initiation device 160 may be verified. For example, the smart contract SC 1 may be configured to authenticate the activation transaction and to publish an indication of said authentication thus indicating the valid creation of the secondary blockchain.
For example, secondary blockchain initiation device 160 may be configured to receive a request to create the secondary blockchain. For example, the request may be received through a website, e.g., a portal. The request may also be received from another device, e.g., in an automated fashion. The request may also be received by interacting with device 160 , e.g., through an input device, such as a keyboard. The secondary blockchain initiation device 160 may be configured to obtain the blockchain identifier. For example, the blockchain may be generated, e.g., randomly. For example, the blockchain identifier may be received together with the request. For example, the blockchain identifier may be obtained partly from the request and partly generated, e.g., randomly. The blockchain identifier may comprise a timestamp. Secondary blockchain initiation device 160 may be configured to generate an initiation message comprising the blockchain identifier for the secondary blockchain and sending the initiation message to the multiple secondary blockchain management devices 105 for starting management of the secondary blockchain. For example, both the multiple secondary blockchain management devices 105 and the secondary blockchain initiation device 160 may be arranged by the same entity to facilitate the easy generation of a secondary blockchain. A user who desires a new secondary blockchain does not need to arrange for multiple secondary blockchain management devices, instead he can simply request the generation at the secondary blockchain initiation device 160 ; as a result, the blockchain is created and multiple secondary blockchain management devices 105 start to manage it, e.g., by receiving transactions and creating new blocks, etc. Anyone can verify that a new secondary blockchain has actually been created by viewing the result of the executing of the first smart contract on the primary block chain. If desirable, one can prevent anyone from executing a smart contract by authentication of the activation transaction, e.g., by verifying a signature. For example, one may restrict execution of the SC 1 to only secondary blockchain initiation device 160 .
In general, verifying an activation transaction by a smart contract, e.g., the first smart contract, may comprise verifying that the activation transaction originated from the correct device, e.g., from device 160 . This may be done by verifying that the transaction has a signature of the correct private key. The verification may also verify that the transaction is syntactically correct, etc.
The primary blockchain management devices may put the activation transaction and the SC 1 _result in a new block. The winner of the new block gets his block in the blockchain. Thus anyone can verify that SC 1 was correctly executed, and anyone can see that the new blockchain, i.e., the secondary blockchain, was created since its blockchain ID is on the primary blockchain, e.g., as part of SC 1 's input or the activation transaction.
II: To add transactions to the secondary blockchain, a node, e.g., a blockchain use device, may send a transaction to a secondary
CLAIMS
Claims ( 10 )
The invention claimed is:
1. A blockchain verification method, the blockchain verification method comprising:
by a blockchain initiation device:
receiving a request to create a secondary blockchain;
obtaining a blockchain identifier of the secondary blockchain;
sending one or more smart contract creation transactions to a primary blockchain management device which is configured to manage a primary blockchain, the primary blockchain being a public blockchain, the smart contract creation transaction comprising a smart contract for performing verification of an action on the secondary blockchain, the secondary blockchain being a private blockchain different from the primary blockchain, the primary blockchain management device being configured to publish the smart contract in a block of the primary blockchain;
performing the action on the secondary blockchain, wherein the action performed on the secondary blockchain is the creation of the secondary blockchain;
generating an activation transaction comprising at least the blockchain identifier of the secondary blockchain, information relating to the action, and an identifier of the smart contract on the primary blockchain;
sending the activation transaction to the primary blockchain management device which is configured to manage the primary blockchain, the primary blockchain management device being configured to execute the smart contract based on input in the activation transaction generating a result, and publish the result on the primary blockchain, wherein the smart contract is configured to authenticate the activation transaction and to publish an indication of said authentication thus indicating valid creation of the secondary blockchain;
generating an initiation message comprising at least the blockchain identifier for the secondary blockchain and sending the initiation message to multiple secondary blockchain management devices for starting management of the secondary blockchain.
2. A blockchain verification method as in claim 1 , wherein the a further action performed is the creation of a new block on the secondary blockchain, the smart contract being configured to verify the new block of the secondary blockchain, the method further comprising:
collecting transactions for recording on the secondary blockchain, and generating the new block for the secondary blockchain comprising a set of collected transactions, the activation transaction comprising information relating to the generated new block.
3. A blockchain verification method as in claim 1 , wherein a further action performed is the creation of a blockchain address for a user, the smart contract being configured to authenticate the activation transaction, to compute the blockchain address from a public key, and to publish an indication of the association between the blockchain address and the user, the activation transaction comprising the public key and an identifier of the user.
4. A blockchain verification method as in claim 1 , wherein a further action performed is the cancelation of the secondary blockchain, the smart contract being configured to authenticate the activation transaction and to publish an indication of said authentication thus indicating the cancelation of the secondary blockchain.
5. A blockchain verification method as in claim 1 , wherein:
the smart contract is configured for multiple actions on the secondary blockchain, or
multiple different smart contracts are configured for multiple different actions on the secondary blockchain.
6. A blockchain verification method as in claim 1 , wherein the smart contract is configured to authenticate the activation transaction so that it is verified that the activation transaction originated from one of one or more predetermined trusted parties.
7. A blockchain verification method as in claim 1 , wherein the secondary blockchain management devices are configured to obtain a consensus proof for a set of transactions included in a new block of the secondary blockchain.
8. A blockchain verification method as in claim 1 , wherein a secondary blockchain verification device is configured to send the one or more smart contract creation transactions, and to perform at least one of the actions of creating or cancelling the secondary blockchain.
9. A secondary blockchain initiation device comprising:
a communication interface arranged to communicate at least with a primary blockchain management device;
a processor circuit configured to:
receive a request to create a secondary blockchain;
obtain a blockchain identifier of the secondary blockchain;
send one or more smart contract creation transactions to a primary blockchain management device which is configured to manage a primary blockchain, the primary blockchain being a public blockchain, the smart contract creation transaction comprising a smart contract for performing verification of an action on the secondary blockchain, the secondary blockchain being a private blockchain different from the primary blockchain, the primary blockchain management device being configured to publish the smart contract in a block of the primary blockchain;
perform the action on the secondary blockchain, wherein the action performed on the secondary blockchain is the creation of the secondary blockchain;
generate an activation transaction comprising at least the blockchain identifier of the secondary blockchain, information relating to the action, and an identifier of the smart contract on the primary blockchain;
send the activation transaction to a primary blockchain management device which is configured to manage the primary blockchain, the primary blockchain management device being configured to execute the smart contract based on input in the activation transaction generating a result, and publish the result on the primary blockchain, wherein the smart contract is configured to authenticate the activation transaction and to publish an indication of said authentication thus indicating valid creation of the secondary blockchain;
generate an initiation message comprising at least the blockchain identifier for the secondary blockchain and sending the initiation message to multiple secondary blockchain management devices for starting management of the secondary blockchain.
10. A non-transitory computer readable medium comprising non-transitory data representing instructions to cause a processor system to perform:
receiving a request to create a secondary blockchain;
obtaining a blockchain identifier of the secondary blockchain;
sending one or more smart contract creation transactions to a primary blockchain management device which is configured to manage a primary blockchain, the primary blockchain being a public blockchain, the smart contract creation transaction comprising a smart contract for performing verification of an action on the secondary blockchain, the secondary blockchain being a private blockchain different from the primary blockchain, the primary blockchain management device being configured to publish the smart contract in a block of the primary blockchain;
performing the action on the secondary blockchain, wherein the action performed on the secondary blockchain is the creation of the secondary blockchain;
generating an activation transaction comprising at least the blockchain identifier of the secondary blockchain, information relating to the action, and an identifier of the smart contract on the primary blockchain;
sending the activation transaction to the primary blockchain management device which is configured to manage the primary blockchain, the primary blockchain management device being configured to execute the smart contract based on input in the activation transaction generating a result, and publish the result on the primary blockchain, wherein the smart contract is configured to authenticate the activation transaction and to publish an indication of said authentication thus indicating valid creation of the secondary blockchain;
generating an initiation message comprising at least the blockchain identifier for the secondary blockchain and sending the initiation message to multiple secondary blockchain management devices for starting management of the secondary blockchain.
US16/216,707
2017-12-18
2018-12-11
Primary and secondary blockchain device
Active
2039-06-09
US11139979B2
( en )
Applications Claiming Priority (3)
Application Number
Priority Date
Filing Date
Title
EP17207913
2017-12-18
EP17207913.9
2017-12-18
EP17207913
2017-12-18
Publications (2)
Publication Number
Publication Date
US20190190719A1
US20190190719A1 ( en )
2019-06-20
US11139979B2
true
US11139979B2 ( en )
2021-10-05
Family
ID=60781630
Family Applications (1)
Application Number
Title
Priority Date
Filing Date
US16/216,707
Active
2039-06-09
US11139979B2
( en )
2017-12-18
2018-12-11
Primary and secondary blockchain device
Country Status (2)
Country
Link
US
( 1 )
US11139979B2
( en )
EP
( 1 )
EP3499789B1
( en )
Cited By (6)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US11316659B2
( en )
2017-10-20
2022-04-26
Koninklijke Kpn N.V.
Primary and secondary blockchain device
US11455643B2
( en )
2017-10-09
2022-09-27
Koninklijke Kpn N.V.
Blockchain with transaction cancellation
US11580075B2
( en )
2017-09-08
2023-02-14
ULedger, Inc.
Systems and methods of providing immutable records
US11687942B2
( en )
*
2018-07-18
2023-06-27
Baidu Online Network Technology (Beijing) Co., Ltd.
Method and apparatus for processing account of blockchain network, and storage medium
US12184784B2
( en )
2018-07-03
2024-12-31
ULedger, Inc.
Detection of anomalies in a computer system
US12256017B2
( en )
2022-11-18
2025-03-18
T-Mobile Usa, Inc.
Techniques for correcting anomalous activity caused by smart contracts
Families Citing this family (51)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
CN111971700B
( en )
2017-04-07
2024-09-13
Bxbæ°ç ç§äººæéå ¬å¸
System and method for tracking promotions
US10832208B2
( en )
2017-05-02
2020-11-10
BXB Digital Pty Limited
Systems and methods for facility matching and localization
WO2018204499A1
( en )
2017-05-02
2018-11-08
BXB Digital Pty Limited
Systems and methods for pallet identification
US10878366B2
( en )
2017-05-05
2020-12-29
BXB Digital Pty Limited
Placement of tracking devices on pallets
CN107402824B
( en )
2017-05-31
2020-06-02
åæ°å è¿ææ¯æéå ¬å¸
Data processing method and device
CA3073606A1
( en )
2017-08-21
2019-02-28
BXB Digital Pty Limited
Systems and methods for pallet tracking using hub and spoke architecture
US10956854B2
( en )
2017-10-20
2021-03-23
BXB Digital Pty Limited
Systems and methods for tracking goods carriers
US10839345B2
( en )
*
2017-10-27
2020-11-17
BXB Digital Pty Limited
Systems and methods for executing smart contracts using a block chain
US11139979B2
( en )
2017-12-18
2021-10-05
Koninklijke Kpn N.V.
Primary and secondary blockchain device
US11249982B2
( en )
*
2018-01-19
2022-02-15
Acronis International Gmbh
Blockchain-based verification of machine learning
WO2019143475A1
( en )
*
2018-01-22
2019-07-25
GrainChain, Inc.
System and method for distributed, secure computing system
US10630463B2
( en )
*
2018-02-26
2020-04-21
Ca, Inc.
Meta block chain
CN108537525B
( en )
2018-03-09
2020-06-09
é¿éå·´å·´é墿§è¡æéå ¬å¸
A consensus verification method, device and equipment
US11615070B2
( en )
*
2018-05-25
2023-03-28
Intertrust Technologies Corporation
Digital content integrity verification systems and methods
US10691648B2
( en )
*
2018-07-03
2020-06-23
International Business Machines Corporation
Controlling volatility via blockchain
US11245576B2
( en )
*
2018-09-07
2022-02-08
Dell Products L.P.
Blockchain-based configuration profile provisioning system
US10938578B2
( en )
*
2018-10-18
2021-03-02
Keir Finlow-Bates
System and method for maintaining an integrity of a blockchain using digital certificates
US10816637B2
( en )
2018-12-27
2020-10-27
Chep Technology Pty Limited
Site matching for asset tracking
US11025431B2
( en )
*
2018-12-31
2021-06-01
Mastercard International Incorporated
Method and system for two factor authentication for blockchain transactions
US11195180B2
( en )
*
2019-01-25
2021-12-07
International Business Machines Corporation
Virtual blockchain
CN113424237B
( en )
2019-02-25
2023-07-25
Bxbæ°ç ç§äººæéå ¬å¸
Smart Physical Closures in the Supply Chain
AU2019203865B2
( en )
*
2019-03-18
2021-01-21
Advanced New Technologies Co., Ltd.
Consensus system downtime recovery
US10924280B1
( en )
*
2019-04-15
2021-02-16
Sprint Communications Company L.P.
Digital notary use in distributed ledger technology (DLT) for block construction and verification
US11115188B2
( en )
*
2019-04-29
2021-09-07
Advanced New Technologies Co., Ltd.
Blockchain-based data processing method, apparatus, and blockchain node
US11257025B2
( en )
*
2019-05-03
2022-02-22
Accenture Global Solutions Limited
High performance blockchain architecture for logistics services
CN111095865B
( en )
*
2019-07-02
2023-08-04
åæ°å è¿ææ¯æéå ¬å¸
System and method for issuing verifiable claims
US11645398B2
( en )
*
2019-08-02
2023-05-09
EMC IP Holding Company LLC
System and method for data registration and access
US11797564B2
( en )
*
2019-08-02
2023-10-24
EMC IP Holding Company LLC
System and method for data registration
FR3100351B1
( en )
*
2019-09-02
2021-07-30
Worldline
data blockchain connection
EP4005151A2
( en )
*
2019-09-10
2022-06-01
Currency Com Limited
Distributed blockchain-type implementations configured to manage tokenized digital assets and improved electronic wallets, and methods of use thereof
CN110688677B
( en )
*
2019-09-24
2020-12-22
å京海çåå±ä¿¡æ¯ç§ææéå ¬å¸
Method and apparatus for executing smart contracts
US12099997B1
( en )
2020-01-31
2024-09-24
Steven Mark Hoffberg
Tokenized fungible liabilities
CN111523895A
( en )
*
2020-05-06
2020-08-11
æå·å¤æç¾ç§ææéå ¬å¸
Data delay publishing method, device and storage medium
CN111401902B
( en )
*
2020-05-29
2020-08-25
æ¯ä»å®(æå·)ä¿¡æ¯ææ¯æéå ¬å¸
Service processing method, device and equipment based on block chain
US20210374696A1
( en )
*
2020-05-31
2021-12-02
AT&T Global Network Services Hong Kong LTD
Public-Private Pegged Blockchains for Regulatory-Zone Restricted Whitebox Programmable Cellular Devices
CN111737352B
( en )
*
2020-06-23
2021-12-21
åå·é¿è¹çµå¨è¡ä»½æéå ¬å¸
Supply chain information collaborative management method based on block chain
US20220066746A1
( en )
*
2020-08-31
2022-03-03
Jpmorgan Chase Bank, N.A.
Systems and methods for graphical programming and deployment of distributed ledger applications
GB2599735A
( en )
*
2020-10-12
2022-04-13
Cambridge Cryptographic Ltd
Blockchain
DE102020215135A1
( en )
*
2020-12-01
2022-06-02
Robert Bosch Gesellschaft mit beschränkter Haftung
Intelligent measurement counter and method for the reliable provision of measurement data in a decentralized transaction database
US11531649B1
( en )
*
2021-01-04
2022-12-20
Sprint Communications Company Lp
Method of building and searching a multi-dimensional cross-linked distributed ledger
GB2611325A
( en )
*
2021-09-30
2023-04-05
Nchain Licensing Ag
Propagating locking scripts
CN114629956B
( en )
*
2021-11-26
2024-04-16
ä¸å½é¶èè¡ä»½æéå ¬å¸
Method and blockchain network for enabling edge computing network acceleration
US12355892B2
( en )
2021-12-08
2025-07-08
T-Mobile Innovations Llc
Wireless communication network service using an application programming interface (API) and distributed ledger
EP4202724B1
( en )
*
2021-12-23
2025-10-01
Siemens Aktiengesellschaft
System and method for writing and retrieval of data in a distributed ledger
US20230308283A1
( en )
*
2022-03-22
2023-09-28
Hewlett-Packard Development Company, L.P.
Blockchain program verifications
CN114782181A
( en )
*
2022-04-06
2022-07-22
广ä¸éèä¿¡æ¯ç§ææéå ¬å¸
Block chain-based block mutual aid method
CN115174589B
( en )
*
2022-05-20
2023-11-03
ç½æï¼æå·ï¼ç½ç»æéå ¬å¸
Selection method and device of blockchain virtual machine, electronic equipment and storage medium
CN115098594B
( en )
*
2022-06-29
2026-04-17
èèåºåé¾ç§æ(䏿µ·)æéå ¬å¸
Methods for executing transactions in a blockchain system, blockchain systems, and nodes.
CN118694797B
( en )
*
2023-03-24
2025-09-19
é岿µ·ä¿¡åç¨æ¾ç¤ºè¡ä»½æéå ¬å¸
Client activation control method, system and storage medium
WO2025040794A1
( en )
*
2023-08-24
2025-02-27
Northguard Holding Aps
A hybrid-decentralized network based on a blockchain data structure
US12561655B2
( en )
2024-03-05
2026-02-24
Bank Of America Corporation
Active meta data based transaction amalgamation offset in blocks to increase carbon efficiency
Citations (18)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US20160028552A1
( en )
*
2014-07-25
2016-01-28
Blockchain Technologies Corporation
System and method for creating a multi-branched blockchain with configurable protocol rules
US20160330034A1
( en )
*
2015-05-07
2016-11-10
Blockstream Corporation
Transferring ledger assets between blockchains via pegged sidechains
US20170005804A1
( en )
*
2015-07-02
2017-01-05
Nasdaq, Inc.
Systems and methods of secure provenance for distributed transaction databases
US20170031676A1
( en )
2015-07-27
2017-02-02
Deja Vu Security, Llc
Blockchain computer data distribution
US20170230189A1
( en )
*
2016-02-04
2017-08-10
Nasdaq Technology Ab
Systems and methods for storing and sharing transactional data using a distributed computing systems
US9774578B1
( en )
2016-05-23
2017-09-26
Accenture Global Solutions Limited
Distributed key secret for rewritable blockchain
US20170323294A1
( en )
*
2016-05-06
2017-11-09
Mastercard International Incorporated
Method and system for instantaneous payment using recorded guarantees
US20170331896A1
( en )
2016-05-13
2017-11-16
De La Rue International Limited
Methods and systems for processing assets
US20170344988A1
( en )
*
2016-05-24
2017-11-30
Ubs Ag
System and method for facilitating blockchain-based validation
US20190026821A1
( en )
*
2017-07-21
2019-01-24
International Business Machines Corporation
Intermediate blockchain system for managing transactions
US20190058719A1
( en )
*
2017-08-21
2019-02-21
Cognizant Technology Solutions India Pvt. Ltd.
System and a method for detecting anomalous activities in a blockchain network
WO2019072670A1
( en )
2017-10-09
2019-04-18
Koninklijke Kpn N.V.
Blockchain with transaction cancellation
WO2019077126A1
( en )
2017-10-20
2019-04-25
Koninklijke Kpn N.V.
Primary and secondary blockchain device
US20190130387A1
( en )
*
2017-10-26
2019-05-02
Mastercard International Incorporated
Method and system for prevention of fraudulent gift cards via blockchain
US10305833B1
( en )
*
2017-07-23
2019-05-28
Turing Technology, Inc.
Blockchain based email procedures
EP3499789A1
( en )
2017-12-18
2019-06-19
Koninklijke KPN N.V.
Primary and secondary blockchain device
US10554649B1
( en )
*
2017-05-22
2020-02-04
State Farm Mutual Automobile Insurance Company
Systems and methods for blockchain validation of user identity and authority
US20200389294A1
( en )
*
2017-10-20
2020-12-10
Hewlett Packard Enterprise Development Lp
Transmitting or receiving blockchain information
2018
2018-12-11
US
US16/216,707
patent/US11139979B2/en
active
Active
2018-12-17
EP
EP18212902.3A
patent/EP3499789B1/en
active
Active
Patent Citations (19)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US20160028552A1
( en )
*
2014-07-25
2016-01-28
Blockchain Technologies Corporation
System and method for creating a multi-branched blockchain with configurable protocol rules
US20160330034A1
( en )
*
2015-05-07
2016-11-10
Blockstream Corporation
Transferring ledger assets between blockchains via pegged sidechains
US20170005804A1
( en )
*
2015-07-02
2017-01-05
Nasdaq, Inc.
Systems and methods of secure provenance for distributed transaction databases
US20170031676A1
( en )
2015-07-27
2017-02-02
Deja Vu Security, Llc
Blockchain computer data distribution
US20170230189A1
( en )
*
2016-02-04
2017-08-10
Nasdaq Technology Ab
Systems and methods for storing and sharing transactional data using a distributed computing systems
US20170323294A1
( en )
*
2016-05-06
2017-11-09
Mastercard International Incorporated
Method and system for instantaneous payment using recorded guarantees
US20170331896A1
( en )
2016-05-13
2017-11-16
De La Rue International Limited
Methods and systems for processing assets
US9774578B1
( en )
2016-05-23
2017-09-26
Accenture Global Solutions Limited
Distributed key secret for rewritable blockchain
US20170344988A1
( en )
*
2016-05-24
2017-11-30
Ubs Ag
System and method for facilitating blockchain-based validation
US10554649B1
( en )
*
2017-05-22
2020-02-04
State Farm Mutual Automobile Insurance Company
Systems and methods for blockchain validation of user identity and authority
US20190026821A1
( en )
*
2017-07-21
2019-01-24
International Business Machines Corporation
Intermediate blockchain system for managing transactions
US10305833B1
( en )
*
2017-07-23
2019-05-28
Turing Technology, Inc.
Blockchain based email procedures
US20190058719A1
( en )
*
2017-08-21
2019-02-21
Cognizant Technology Solutions India Pvt. Ltd.
System and a method for detecting anomalous activities in a blockchain network
WO2019072670A1
( en )
2017-10-09
2019-04-18
Koninklijke Kpn N.V.
Blockchain with transaction cancellation
US20200258085A1
( en )
2017-10-09
2020-08-13
Koninklijke Kpn N.V.
Blockchain With Transaction Cancellation
WO2019077126A1
( en )
2017-10-20
2019-04-25
Koninklijke Kpn N.V.
Primary and secondary blockchain device
US20200389294A1
( en )
*
2017-10-20
2020-12-10
Hewlett Packard Enterprise Development Lp
Transmitting or receiving blockchain information
US20190130387A1
( en )
*
2017-10-26
2019-05-02
Mastercard International Incorporated
Method and system for prevention of fraudulent gift cards via blockchain
EP3499789A1
( en )
2017-12-18
2019-06-19
Koninklijke KPN N.V.
Primary and secondary blockchain device
Non-Patent Citations (8)
* Cited by examiner, â Cited by third party
Title
Adam Back et al. Enabling Blockchain innovations with Pegged Sidechains Oct. 22, 2014 (Year: 2014).
*
Adam Back, et al., " Enabling Blockchain Innovations with Pegged Sidechains, " (Oct. 22, 2014).
Ateniese, G. et al., " Redactable BlockchainâorâRewriting History in Bitcoin and Friends, " 2017 IEEE European Symposium on Security and Privacy, IEEE, pp. 111-126 (Apr. 26, 2017).
Communication Pursuant to Article 94(3) EPC, Examination Report issued for European Application No. 18212902, entitled " Primary and Secondary Blockchain Device, " dated May 15, 2020.
European Search Report for EP 17 207 913.9, dated Jun. 11, 2018.
Extended European Search Report issued for European Application No. 18212902, entitled " Primary and Secondary Blockchain Device, " dated Apr. 17, 2019.
Solidity Documentation Release 0.4.19, Ethereum (Dec. 2017).
Tschorsch, F., et al., " Bitcoin and Beyond: A Technical Survey on Decentralized Digital Currencies, " International Association for Cryptologic Research, vol. 20150517:090557, May 15, 2015.
Cited By (7)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US11580075B2
( en )
2017-09-08
2023-02-14
ULedger, Inc.
Systems and methods of providing immutable records
US12072847B2
( en )
2017-09-08
2024-08-27
ULedger, Inc.
Systems and methods of providing immutable records
US11455643B2
( en )
2017-10-09
2022-09-27
Koninklijke Kpn N.V.
Blockchain with transaction cancellation
US11316659B2
( en )
2017-10-20
2022-04-26
Koninklijke Kpn N.V.
Primary and secondary blockchain device
US12184784B2
( en )
2018-07-03
2024-12-31
ULedger, Inc.
Detection of anomalies in a computer system
US11687942B2
( en )
*
2018-07-18
2023-06-27
Baidu Online Network Technology (Beijing) Co., Ltd.
Method and apparatus for processing account of blockchain network, and storage medium
US12256017B2
( en )
2022-11-18
2025-03-18
T-Mobile Usa, Inc.
Techniques for correcting anomalous activity caused by smart contracts
Also Published As
Publication number
Publication date
US20190190719A1
( en )
2019-06-20
EP3499789B1
( en )
2021-06-30
EP3499789A1
( en )
2019-06-19
Similar Documents
Publication
Publication Date
Title
EP3499789B1
( en )
2021-06-30
Primary and secondary blockchain device
US11316659B2
( en )
2022-04-26
Primary and secondary blockchain device
US12375259B2
( en )
2025-07-29
Advanced non-fungible token blockchain architecture
US11477032B2
( en )
2022-10-18
System and method for decentralized-identifier creation
US11899817B2
( en )
2024-02-13
Systems, methods, and apparatuses for storing PII information via a metadata driven blockchain using distributed and decentralized storage for sensitive user information
US10708060B2
( en )
2020-07-07
System and method for blockchain-based notification
US12321471B1
( en )
2025-06-03
Systems and processes for providing secure client controlled and managed exchange of data between parties
US20250328903A1
( en )
2025-10-23
Blockchain-based data processing method and apparatus, device, and medium
CN116975901A
( en )
2023-10-31
Blockchain-based identity verification methods, devices, equipment, media and products
KR20230073274A
( en )
2023-05-25
Blockchain-Based Systems and Methods for Disclosure of Operating Systems
JP2023087665A
( en )
2023-06-23
System, Method and Computer Program Product (Multi-Issuer Anonymous Credentials for Permissioned Blockchain)
HK40028814B
( en )
2023-10-06
System and method for creating decentralized identifiers
HK40029520B
( en )
2024-01-19
System and method for verifying verifiable claims
Legal Events
Date
Code
Title
Description
2018-12-11
FEPP
Fee payment procedure
Free format text : ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY