Blockchain maintenance method

The blockchain maintenance method addresses the issue of increasing memory and maintenance costs by removing expired blocks from the blockchain, updating the genesis block, and storing copies off-chain, thereby reducing unnecessary data storage and costs while maintaining blockchain integrity.

WO2025120235A1PCT designated stage expired Publication Date: 2025-06-12LUXEMBOURG INSTITUTE OF SCIENCE AND TECHNOLOGY (LIST)
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2024/085336
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-08
Filing Date
2024-12-09
Publication Date
2025-06-12

AI Technical Summary

Technical Problem

Blockchain networks face increasing memory occupancy and maintenance costs due to the permanent storage of all data, even when transactions become obsolete and no longer useful for the intended application.

Method used

A blockchain maintenance method that involves removing blocks from the blockchain if all transactions within those blocks have expired, by updating the genesis block to include a digital fingerprint of the new first block, and storing a copy of the removed block off-chain for auditing purposes.

Benefits of technology

This approach reduces the memory footprint and maintenance costs of the blockchain by eliminating obsolete data, while maintaining the integrity and consistency of the blockchain through distributed consensus and digital fingerprints.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024085336_12062025_PF_FP_ABST
    Figure EP2024085336_12062025_PF_FP_ABST
Patent Text Reader

Abstract

The invention proposes a blockchain maintenance method that allows to reduce the memory footprint and the overall maintenance cost of a blockchain. Each block contains transaction data with an associated expiration date, and the proposed method only removes a block if all transactions of that block have an expired expiration date at a given time.
Need to check novelty before this filing date? Find Prior Art

Description

BLOCKCHAIN MAINTENANCE METHOD

[0001] The present invention lies in the field of distributed ledger technology, or blockchain networks.Background of the invention

[0002] In a blockchain network, a decentralized distributed database is hosted on a plurality of computing peer nodes in a communication network. The nodes are connected by data communication channels, such as the public Internet. A blockchain network enables storing digital data originating at different computing devices or computing peer nodes in the network. Generally, nodes in a blockchain network operate in a peer-to-peer mode of communication: the nodes rely on each other, instead of relying on a central authority to manage the distributed database they keep. A distributed consensus algorithm is generally used to validate a set of data or transactions grouped in blocks. Once validated, the block is appended to the blockchain and all nodes receive a copy of the new block. In known blockchains, all blocks in the blockchain are cryptographically linked together by following an ordering rule according to which each new block contains a hash address of previous blocks. A hash is a short cryptographical digest of a potentially large amount of data, which has the property of being unique: changing any portion of the initial data changes the hash value in an unpredictable way. Several reliable cryptographically secure hash functions are known and well documented in the state of the art. Through this known mechanism, data in a block of a blockchain cannot be manipulated without changing all remaining blocks of the blockchain at the same time. This distributed ledger technology provides a secure distributed storage and transaction registry. The blockchain provides a verifiable history of all successful state changes and unsuccessful attempts to change its state, occurring during operation of the system. By always adding new transaction blocks, the memory occupied by a blockchain is ever increasing, and so are its maintenance costs.

[0003] Blockchain technology, or equivalently, distributed ledger technology, has been proposed for a host of applications ranging from cryptocurrency transactions to tracing of logistic data, products or food from a producer to a consumer. While in financial applications it is necessary to keep a complete ledger of all transactions, this is not necessary for other applications, in which the object of a transaction itself becomes obsolete after a certain time. For example, if food or a good that is traced on a blockchain has been consumed, there may be no further need to keep track of its origin. Depending on the application in which a blockchain is put to use, the data stored in the blockchain may therefore become obsolete and useless for all intended purposes, but using known protocols, all data remains on the blockchain forever and keeps on generating memory occupancy and costs.Technical problem to be solved

[0004] It is an objective to present method and device, which overcome at least some of the disadvantages of the prior art.Summary of the invention

[0005] In accordance with a first aspect of the invention, a blockchain maintenance method is provided, comprising the steps of:

[0006] i) providing a blockchain on a plurality of peer nodes forming a blockchain network,

[0007] wherein the blockchain comprises an initial genesis block followed by a sequence of blocks each storing transactions having respective expiration dates,

[0008] wherein each block comprises a link to the immediately preceding block and a digital fingerprint of a preceding block,

[0009] wherein the current first block following the genesis block either comprises the digital fingerprint of the genesis block, or a digital fingerprint of a different block, corresponding to a digital fingerprint previously stored in a data store that is associated with the genesis block;

[0010] ii) at a peer node of the blockchain network, storing a digital fingerprint of the current first block in said data store that is associated with the genesis block and removing the current first block from the blockchain, if all transactions of the current first block have expired at the current date, wherein the link of the block subsequent to the current first block is changed to link to the genesis block, so that it becomes the first block of the blockchain.

[0011] Step ii may preferably comprise updating the genesis block to include a digital fingerprint of the new first block of the blockchain. This update may preferably correspond to forward linking the genesis block to the new first block of the blockchain, after a first block has been removed.

[0012] Preferably, each block may be linked to the immediately preceding block. Preferably, at step ii) the link of the block subsequent to the current first block may be changed so that said block becomes linked to the genesis block.

[0013] Preferably, a transaction may involve a transmitter address and a receiver address, and the expiration date of the transaction is the latest expiration date of either the receiver or the transmitter address on the blockchain.

[0014] Preferably, the link of a block may comprise the digital fingerprint of the immediately previous block, unless the immediately previous block has been removed by the method.

[0015] The transaction may preferably be initiated by a smart contract executed on the blockchain, and the expiration date of the transaction may preferably be defined by said smart contract.

[0016] The method may preferably comprise the preliminary step of receiving, at the blockchain network, a request for adding a transaction to the blockchain the transaction having a requested expiration date from a requesting node. The request may preferably be generated by a smart contract deployed on the blockchain.

[0017] Preferably, the transaction may be added to a block only if a proof of payment is provided by the requesting node, wherein the payment amount is a function of the transaction’s requested expiration date.

[0018] The payment amount may preferably comprise an amount of spent energy.

[0019] Preferably, the payment amount may be higher when the transaction’s requested expiration date is further in the future.

[0020] Prior to removing the current first block, a copy thereof may preferably be stored on a data store that is independent of the peer nodes.

[0021] Preferably, the digital fingerprint may comprise a hash value obtained by a hashing function using input data.

[0022] In accordance with a further aspect of the invention, a blockchain network peer node is provided. The blockchain network peer node comprises a memory element, data reception and data transmission means and data processing means. The memory element comprises blockchain data,

[0023] wherein the blockchain data comprises an initial genesis block followed by a sequence of linked blocks each storing transactions having respective expiration dates, wherein each block comprises a link to the immediately preceding block and a digital fingerprint of a preceding block, wherein the current first block following the genesis block either comprises the digital fingerprint of the genesis block, or a digital fingerprint of a different block, corresponding to a digital fingerprint previously stored in a data store that is associated with the genesis block. The data processing means are configured to store a digital fingerprint of the current first block in said data store that is associated with the genesis block and removing the current first block from the blockchain, if all transactions of the current first block have expired at the current date, wherein the link of the block subsequent to the current first block is changed to be linked to the genesis block, so that it becomes the first block of the blockchain.

[0024] The data processing means may preferably be further configured to perform the method in accordance with aspects of the invention.

[0025] In accordance with another aspect of the invention, a computer program comprising computer readable code means is provided, which, when run on a computer, causes the computer to carry out the method in accordance with aspects of the invention.

[0026] In accordance with yet another aspect of the invention, a computer program product is provided, comprising a computer-readable medium, on which the computer program according to an aspect of the invention is stored.

[0027] In accordance with a final aspect of the invention, a blockchain network comprising blockchain network peer nodes is provided, wherein each blockchain network peer node is in accordance with an aspect of the invention and wherein the blockchain data is kept consistent among blockchain network peer nodes by means of a distributed consensus method.

[0028] By using the proposed invention, it becomes possible to remove a block from a blockchain, if all data stored in the block has become obsolete, and is now longer useful for the application that uses the blockchain. This allows to reduce the memory footprint and the overall maintenance cost of the blockchain. Each block contains transaction data with an associated expiration date, and the proposed methods only removes a block if all transactions of that block have an expired expiration date at a given time. To keep consistency, a hash value of the removed block is stored in the genesis block of the blockchain, or in a separate memory element or data file that is associated with the genesis block. The removed block including expired transactions may also be stored off the chain, for example in a single storage node, for auditing purposes. This removes the need for every peer node in the blockchain network to keep a copy thereof. As the costs and memory footprint of the blockchain increases if transactions have expiration dates that are further in the future, such transactions may be subject to a higher transaction cost.Brief description of the drawings

[0029] Several embodiments of the present invention are illustrated by way of figures, which do not limit the scope of the invention, wherein:

[0030] -provides a basic workflow diagram, illustrating the main steps of a method according to a preferred embodiment of the invention;

[0031] -provides an illustration of a blockchain network and a blockchain in accordance with a preferred embodiment of the invention, before a method in accordance with a preferred embodiment of the invention is executed;

[0032] -provides an illustration the state of the blockchain illustrated in, after a method in accordance with a preferred embodiment of the invention has been executed;

[0033] -provide an illustration of the state of an alternative blockchain, after a method in accordance with a preferred embodiment of the invention has been executed.Detailed description of the invention

[0034] This section describes aspects of the invention in further detail based on preferred embodiments and on the figures. The figures do not limit the scope of the invention. Throughout the description, like numerals will be used to describe like concepts in different embodiments. Details that are described in the context of a particular embodiment are applicable to other embodiments, unless otherwise stated.

[0035] Throughout the description, the word “node” is used in the context of a communication system to describe a logical entity implementing a specific function in a blockchain network. A node may be run on any computing device that is equipped with a wired or wireless networking interface. Examples of a device running a node include but are not limited to a Personal Computer, PC, a laptop computer, a smartphone, a tablet computer, and the like. A node runs an operating system and has access to an information storage system, such as a file system or a structured database. A node may further comprise at least one data processor operatively connected to a memory element, such as a Random-Access Memory, RAM, element, a hard disk drive and / or a Solid-State Drive, SSD, and to a structured data repository. Nodes are interconnected via wired or wireless data communication channels, often using multiple intermediary routing nodes.

[0036] A Blockchain network describes a communication network comprised of communication nodes that participate in maintaining a blockchain. A blockchain contains a sequence of linked blocks. The computing nodes of the blockchain network each maintain a hold a copy of the blockchain.

[0037] The term “block”, presents a data structure which is typically composed of several components: a timestamp, which indicates the time at which the block has been created (i.e., appended to the blockchain); a previous hash comprising the hash value from the previous block, e.g. the block n contains the hash from the header of block n-1; and typically transactions between entities, wherein the transactions may be organized in their own data structures.

[0038] Blockchain technology is decentralized and relies on a peer-to-peer mode of communication. It

[0039] does not have any central authority for storing and retrieving data. Each type of blockchain relies on a specific consensus algorithm: the consensus refers the agreement of nodes in sharing content. There are different consensus algorithms implemented by different blockchains: Proof of Work, PoW, Proof of Stake, PoS, Practical Byzantine fault tolerance, PBFT. These are well known in the art. The data stored in the blockchain are cryptographically checked. Blockchain technology uses digital signatures (public key cryptography), for signing and verifying transactions. Once consensus to add data is reached among the node, the data recorded on blockchain are cryptographically checked and distributed over all nodes in the network. For changing any transaction in the blockchain, the user should change all transactions at the same time in all nodes in the network. As blockchain technology does not use any central authority for exchanging messages and validation of transactions, this enables low-cost operation by using the blockchain since there is no need for developing server infrastructures for validation of transactions. Compared to traditional systems, which use central servers for message exchanges and validation, the cost of maintenance is reduced of maintenance. If several nodes fail or are disconnected, the blockchain still remains available on the remaining nodes and works properly. When the “offline” nodes come back on “online” mode, they receive the last state of the distributed ledger.

[0040] A smart contract is a computer program provided in the form of computer code, which is deployed on the peer nodes of a blockchain network for performing specific tasks. Execution of a smart contract is typically triggered when a predetermined event on the blockchain happens. For example, an entity submits a transaction between several parties. A corresponding smart contract for executing this transaction may require digital signatures and / or data input from several other entities in the blockchain network before the transaction can be executed, validated and its result be recorded in the distributed database. The smart contract may therefore be divided into two parts, the first part being the code which contains the functions that reflect the business logic of the contract, and the actual data or state of the blockchain that is required to run the smart contract.

[0041] An embodiment of the invention is illustrated inand. At a first step 01, a blockchain 100 is provided on a plurality of peer nodes 210, 220, 230, 240 forming a blockchain network 200. Each blockchain node 210 comprises data processing means 212 such as a processor, a memory element 214 for storing the blockchain and other data required for operating the peer node, as well as data transmission means 216 and data reception means 218, i.e., network interfaces, for communicating with peer nodes. The blockchain 100 comprises an initial block 110 referred to as the genesis block, followed by a sequence of blocks 110, 120, 130, wherein each block stores transaction data 126, 136, of which each transaction has an associated expiration date. In the example shown on, the first block 120 following the genesis block 110 comprises a first transaction T01 having expiration date E02, and a second transaction T02 having expiration date E01, wherein E01 indicates an earlier expiration data then E02. A transaction may for example indicate that a certain good or product was transferred from a first location to a second location at a given time. Alternatively, a transaction may document the transfer of a token from a sender to a destination, which may both have associated expiration dates after which their identities are removed from the blockchain. The expiration date of the transaction may in that case be the latest expiration of date among the expiration dates of the sender and the receiver. The associated expiration date may indicate a moment in time when this data becomes obsolete or irrelevant. Each block further comprises a link 122, 132, 142 to the immediately preceding block in the sequence of blocks, and a digital fingerprint 124, 134 of a preceding block. In, the first block 120 follows the genesis block 110 and the link 122 therefore links the first block 120 back to the genesis block 110. The digital fingerprint 124 of the first block 120 is a hash value H110 of the data comprised in the genesis block. As such, the digital fingerprint 124 implements the link 122 between these two blocks. Similarly, in the example shown, the second block 130 follows the first block 120 and the link 132 links the second block 130 back to the first block 120. The digital fingerprint 134 of the second block 130 is a hash value H120 of the data comprise in the first block. As such, the digital fingerprint 134 implements the link 124 between these two blocks. The second block 130 is linked to a non-illustrated third block through link 142, and so on.

[0042] A second step 02 comes into play if all transactions of the current first block of the blockchain 100 have an expired at the current date. Ifdepicts the situation at time E03, one appreciates that all transactions T01 and T02, having earlier expiration dates E02 and E01 respectively, have expired. At the second step 02 of the method, the following actions are therefore performed at a (each) peer node 210, 220, 230, 240 of the blockchain network. Using the data processing means 212 that are configured by appropriately formulated software code instructions, the digital fingerprint of the current first block, which corresponds to the hash value H120 of block 120 in, is stored in a data store 112 that is associated with the genesis block 110. The data store may for example comprise a data file, such as a configuration or parameter file of the genesis block. Then, the current first block 120 is removed from the blockchain and the link of the block subsequent to the current first block 120 – in the example ofthis link correspond to link 132 - is changed to link that subsequent block 130 to the genesis block 110, so that the previous second block 130 becomes the new first block of the blockchain.

[0043] The resulting maintained or pruned blockchain is shown in. The method may at subsequent instants in time be applied to the maintained blockchain, wherein current first block 130 is linked to the genesis block 110 and comprises the digital fingerprint 134 of the previously removed block 120, H120. The digital fingerprint 134 must correspond to the latest digital fingerprint stored in the data store 112 for the blockchain’s integrity to be validated. The link 132 is preferably implemented as a forward link from the genesis block 110 to the new current first block 130. Preferably, the updated genesis block is approved through consensus among the peer nodes, and it preferably includes a digital fingerprint, or hashed value of the new current first block to implement the forward link.

[0044] shows an alternative embodiment of the blockchain previously shown in Figures 2 and 3, wherein the data store 112 is directly embedded within the genesis block 110. The genesis block therefor keeps all information required for verifying the integrity of the blockchain at any given point in time. In both figures 3 and 4, the block 140 comprises a digital fingerprint 144 and transaction data 144 that will expire at a later moment in time.

[0045] In a preferred embodiment of the method in accordance with the invention, the entire transaction data 126 of the first block, or the entire block data structure 120 is stored in a dedicated memory store before it is removed forever from the blockchain. This allows for auditing of the blockchain throughout time, without losing information, yet keeping the blockchain itself reasonably small. The dedicated off-chain memory element may for example be kept centrally on a single computing device to which an auditor has access.

[0046] Clearly, the further away in the future a single transaction’s expiration date within any given block of the blockchain lies, the longer this block will have to remain integrally stored on the blockchain network, implying continued costs and memory occupation. Therefore, in accordance with another preferred embodiment of the method in accordance with the invention, when a transaction is put into a block, either by a requesting user or through a smart contract that executed on the blockchain, a transaction fee that increases with the required expiration date becomes due. For example, the requester must prove the spending of an amount of energy before the “long-term” transaction is accepted into a new block. A longer stay of a transaction on the blockchain implies a higher transaction cost.

[0047] It should be noted that features described for a specific embodiment described herein may be combined with the features of other embodiments unless the contrary is explicitly mentioned. Based on the description and on the figures that have been provided, a person with ordinary skills in the art will be enabled to develop a computer program for implementing the described methods without undue burden and without requiring additional inventive skill.

[0048] It should be understood that the detailed description of specific preferred embodiments is given by way of illustration only, since various changes and modifications within the scope of the invention will be apparent to the person skilled in the art. The scope of protection is defined by the following set of claims.

Claims

A blockchain maintenance method comprising the steps of:i) providing a blockchain (100) on a plurality of peer nodes (210, 220, 230, 240) forming a blockchain network (200),wherein the blockchain comprises an initial genesis block (110) followed by a sequence of blocks (120, 130, 140) each storing transactions (126, 136, 146) having respective expiration dates,wherein each block comprises a link (122, 132, 142) to the immediately preceding block and a digital fingerprint (124, 124, 144) of a preceding block,wherein the current first block (120, 130) following the genesis block (110) either comprises the digital fingerprint (124) of the genesis block (110), or a digital fingerprint (134) of a different block, corresponding to a digital fingerprint previously stored in a data store (112) that is associated with the genesis block;ii) at a peer node (210, 220, 230, 240) of the blockchain network, storing a digital fingerprint (124) of the current first block (120) in said data store (112) that is associated with the genesis block (110) and removing the current first block (120) from the blockchain (100), if all transactions (126) of the current first block have expired at the current date, wherein the link (132) of the block (130) subsequent to the current first block is changed to link to the genesis block, so that it becomes the first block of the blockchain.The blockchain maintenance method according to claim 1, wherein step ii) comprises updating the genesis block to include a digital fingerprint of the new first block of the blockchain (130).The blockchain maintenance method according to any of claims 1 or 2, wherein a transaction involves a transmitter address and a receiver address, and wherein the expiry date of the transaction is the latest expiry date of either the receiver or the transmitter address on the blockchain.The blockchain maintenance method according to any of claims 1 or 2, wherein a transaction is initiated by a smart contract executed on the blockchain (100), and wherein the expiration date of the transaction is defined by said smart contract.The blockchain maintenance method according to any of the preceding claims, comprising the preliminary step of receiving, at the blockchain network (200), a request for adding a transaction to the blockchain (100), the transaction having a requested expiration date, from a requesting node.The blockchain maintenance method according to claim 5, wherein the transaction is added to a block only if a proof of payment is provided by the requesting node, wherein the payment amount is a function of the transaction’s requested expiration date.The blockchain maintenance method according to claim 6, wherein the payment amount comprises an amount of spent energy.The blockchain maintenance method according to any of claims 6 or 7, wherein the payment amount is higher when the transaction’s requested expiration date if further in the future.The blockchain maintenance method according to any of the preceding claims, wherein prior to removing the current first block (120), a copy thereof is stored on a data store that is independent of the peer nodes (210, 220, 230, 240).The blockchain maintenance method according to any of the preceding claims, wherein the digital fingerprint (124, 134, 146) comprises a hash value obtained by a hashing function using input data.A blockchain network peer node (210) comprising a memory element (214), data reception (216) and data transmission (214) means and data processing means (212), wherein the memory element comprises blockchain data (100),wherein the blockchain data comprises an initial genesis block (110) followed by a sequence of linked blocks (120, 130, 140) each storing transactions (126, 136, 146) having respective expiration dates,wherein each block comprises a link (122, 132, 142) to the immediately preceding block and a digital fingerprint (124, 134, 146) of a preceding block,wherein the current first block following the genesis block either comprises the digital fingerprint of the genesis block, or a digital fingerprint of a different block, corresponding to a digital fingerprint previously stored in a data store (112) that is associated with the genesis block;and wherein the data processing means are configured to store a digital fingerprint (124) of the current first block (120) in said data store (112) that is associated with the genesis block and removing the current first block from the blockchain (100), if all transactions of the current first block have expired at the current date, wherein the link of the block subsequent to the current first block is changed to link to the genesis block, so that it becomes the first block of the blockchain.The blockchain network peer node according to claim 11, wherein the data processing means are further configured to perform the method in accordance with any of claims 2 to 10.A computer program comprising computer readable code means, which, when run on a computer, causes the computer to carry out the method in accordance with any of claims 1 to 10.A computer program product comprising a computer-readable medium on which the computer program according to claim 13 is stored.A blockchain network (200) comprising blockchain network peer nodes (210, 220, 230, 240), wherein each blockchain network peer node is in accordance with any of claims 11 or 12 and wherein the blockchain data (100) is kept consistent among blockchain network peer nodes by means of a distributed consensus method.

Citation Information

Patent Citations

  • Deletion of blocks in a blockchain

    US20190155513A1

  • Blockchain compression using summary and padding blocks

    US20200204349A1

  • Blockchain folding

    US20200344234A1

  • Method and system for pruning blocks from blockchains for data retention and storage scalability purposes

    US20230129559A1

  • Computer-implemented system and method for managing a large distributed memory pool in a blockchain network

    US20230334036A1