Method and system for verifying blockchain data stored in a storage format different from the blockchain

A data verification method and system allow access and verification of blockchain data in a non-blockchain format by comparing block information, ensuring data integrity and accessibility.

JP7607583B2Active Publication Date: 2024-12-27LINE PLUS
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2021560366
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2019-04-18
Publication Date
2024-12-27
Estimated Expiration
2039-04-18

AI Technical Summary

Technical Problem

Existing systems do not allow anyone to access and verify blockchain data stored in a format different from the blockchain without a separate system, particularly for private blockchains.

Method used

A data verification method and system that involves querying first block information from a blockchain and comparing it with second block information stored in a different structure to verify the validity of the blockchain data.

Benefits of technology

Enables anyone to view and verify the content of blockchain data stored in a format different from the blockchain, ensuring data integrity and accessibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007607583000001
    Figure 0007607583000001
  • Figure 0007607583000002
    Figure 0007607583000002
  • Figure 0007607583000003
    Figure 0007607583000003
Patent Text Reader

Abstract

A method and system for validating blockchain data stored in a storage format different from the blockchain is provided. [Solution] In one embodiment of the present invention, a data verification method executed by a computer device includes a step of querying first block information of a block to be verified from a blockchain, a step of querying second block information of the block to be verified from a storage that stores block information of the blockchain in a different structure, and a step of verifying the validity of the second block information stored in the storage for the block to be verified by the at least one processor by comparing the first block information with the second block information.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The following description relates to a method and system for validating blockchain data that is stored in a different form of storage than the blockchain. [Background technology]

[0002] A blockchain is an electronic ledger that is realized by a computer-based, decentralized, peer-to-peer (P2P) system composed of blocks for transactions. Each transaction (Tx) is a data structure that encodes the control transmission of digital assets to participants in the blockchain system and includes at least one input and at least one output. Each block contains a hash of the previous block, and the blocks are linked together to create a permanent, unalterable record of all transactions recorded in the blockchain from the beginning. For example, Korean Patent Publication No. 10-2018-0113143 discloses a blockchain-based user-defined currency transaction system and its operating method. However, a separate system is required to make the blockchain data stored in the blockchain available to anyone. For example, in the case of blockchain data stored in a private blockchain, no one can access the blockchain data unless the separate system provides the blockchain data. Summary of the Invention [Problem to be solved by the invention]

[0003] To provide a data verification method and system capable of verifying blockchain data stored in a storage format different from that of the blockchain so that anyone can view the contents generated in the blockchain. [Means for solving the problem]

[0004] Provided is a data verification method executed by a computer device, the data verification method including a step of at least one processor included in the computer device querying first block information of a block to be verified of blockchain data from a blockchain, a step of the at least one processor querying second block information of the block to be verified from a storage that stores the blockchain data of the blockchain in a different structure, and a step of the at least one processor verifying validity of the block to be verified stored in the storage as the blockchain data by comparing the first block information and the second block information.

[0012] A computer program is provided, recorded on a computer-readable recording medium, for coupling with a computer device to cause the computer device to execute the method.

[0013] The present invention provides a computer-readable recording medium having a computer program recorded thereon for causing a computer device to execute the method.

[0014] A computer device is provided, the computer device including at least one processor implemented to execute instructions readable by the computer device, wherein the at least one processor queries first block information of a block to be verified of blockchain data from a blockchain, queries second block information of the block to be verified from a storage that stores the blockchain data of the blockchain in a different structure, and verifies validity of the block to be verified stored in the storage as the blockchain data by comparing the first block information and the second block information. Effect of the Invention

[0016] Just as anyone can view what has been created on the blockchain, blockchain data can be verified by storing it in a different form of storage than the blockchain. [Brief description of the drawings]

[0017] [Figure 1] FIG. 1 illustrates an example of a network environment in accordance with an embodiment of the present invention. [Diagram 2] FIG. 2 is a block diagram illustrating an example of a computing device in accordance with an embodiment of the present invention. [Diagram 3] FIG. 1 illustrates an example of a blockchain data verification system in accordance with one embodiment of the present invention. [Figure 4] 1 is a flow chart illustrating an example method for verifying data in accordance with an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0018] Hereinafter, the embodiments will be described in detail with reference to the accompanying drawings.

[0019] The data verification system according to the embodiment of the present invention may be realized by at least one computer device. In the computer device, a computer program according to an embodiment of the present invention may be installed and executed, and the computer device may execute the data verification method according to an embodiment of the present invention according to the control of the executed computer program. The above-mentioned computer program may be recorded in a computer-readable recording medium in order to cause the computer device to execute the data verification method in combination with the computer device. The computer program described here may be in the form of an independent program package, or may be in the form of an independent program package pre-installed in the computer device and linked with an operating system or other program packages. The blockchain data may be stored in a storage of a different type from the blockchain so that anyone can view the contents (blockchain data) generated in the blockchain. In this case, the data verification system according to the embodiment of the present invention may check the validity of the blockchain data stored in the different type of storage.

[0020] Fig. 1 is a diagram showing an example of a network environment in one embodiment of the present invention. The network environment in Fig. 1 shows an example including a plurality of electronic devices 110, 120, 130, 140, a plurality of servers 150, 160, and a network 170. Such Fig. 1 is merely an example for explaining the invention, and the number of electronic devices and the number of servers are not limited to those shown in Fig. 1. Furthermore, the network environment in Fig. 1 is merely an example of an environment applicable to this embodiment, and the environment applicable to this embodiment is not limited to the network environment in Fig. 1.

[0021] The electronic devices 110, 120, 130, 140 may be fixed terminals or mobile terminals realized by computer devices. Examples of the electronic devices 110, 120, 130, 140 include smartphones, mobile phones, navigation systems, personal computers (PCs), notebook PCs, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), tablets, etc. As an example, FIG. 1 shows a smartphone as an example of the electronic device 1 (110), but in the embodiment of the present invention, the electronic device 1 (110) may mean one of various physical computer devices that can communicate with other electronic devices 120, 130, 140 and / or servers 150, 160 via a network 170 using a substantially wireless or wired communication method.

[0022] The communication method is not limited, and may include not only a communication method using a communication network (for example, a mobile communication network, a wired Internet, a wireless Internet, a broadcasting network) that the network 170 can include, but also short-range wireless communication between devices. For example, the network 170 may include any one or more of a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), a broadband network (BBN), the Internet, and the like. Furthermore, the network 170 may include any one or more of a network topology including, but not limited to, a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree or hierarchical network, and the like.

[0023] Each of the servers 150, 160 may be implemented by one or more computing devices that communicate with the multiple electronic devices 110, 120, 130, 140 via the network 170 to provide instructions, code, files, content, services, etc. For example, the server 150 may be a system that provides services (such as, for example, a video calling service, a financial service, a payment service, a social networking service, a messaging service, a search service, an email service, a content provision service, and / or a question and answer service) to the multiple electronic devices 110, 120, 130, 140 connected via the network 170.

[0024] Fig. 2 is a block diagram showing an example of a computer device according to an embodiment of the present invention. Each of the above-mentioned electronic devices 110, 120, 130, and 140 and each of the servers 150 and 160 may be realized by a computer device 200 shown in Fig. 2, and a method according to an embodiment of the present invention may be realized by such a computer device 200.

[0025] In this case, as shown in FIG. 2, the computer device 200 may include a memory 210, a processor 220, a communication interface 230, and an input / output interface 240. The memory 210 is a computer-readable recording medium and may include a random access memory (RAM), a read only memory (ROM), and a permanent mass storage device such as a disk drive. Here, the permanent mass storage device such as a ROM or a disk drive may be included in the computer device 200 as a separate permanent storage device separate from the memory 210. In addition, the memory 210 may store an operating system and at least one program code. Such software components may be loaded into the memory 210 from a computer-readable recording medium separate from the memory 210. Such separate computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, a memory card, etc. In another embodiment, the software components may be loaded into the memory 210 through the communication interface 230, which is not a computer-readable recording medium. For example, the software components may be loaded into the memory 210 of the computing device 200 based on a computer program installed by a file received over the network 170 .

[0026] The processor 220 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations. The instructions may be provided to the processor 220 by the memory 210 or the communication interface 230. For example, the processor 220 may be configured to execute instructions received according to program code stored in a storage device such as the memory 210.

[0027] The communication module 230 may provide a function for the computer device 200 to communicate with other electronic devices (for example, the above-mentioned storage device) via the network 170. For example, requests, instructions, data, files, etc. generated by the processor 220 of the computer device 200 according to program codes recorded in a storage device such as the memory 210 may be transmitted to other devices via the network 170 under the control of the communication interface 230. Conversely, signals, instructions, data, files, etc. from other devices may be received by the computer device 200 via the communication interface 230 of the computer device 200 via the network 170. The signals, instructions, data, etc. received via the communication interface 230 may be transmitted to the processor 220 or the memory 210, and the files, etc. may be recorded in a storage medium (the above-mentioned permanent storage device) that the computer device 200 may further include.

[0028] The input / output interface 240 may be a means for interfacing with the input / output device 250. For example, the input device may include a device such as a microphone, a keyboard, a camera, or a mouse, and the output device may include a device such as a display or a speaker. As another example, the input / output interface 240 may be a means for interfacing with a device in which functions for input and output are integrated into one, such as a touch screen. The input / output device 250 may be configured as one device together with the computer device 200.

[0029] Also, in other embodiments, the computing device 200 may include fewer or more components than those of Figure 2. However, most of the prior art components need not be explicitly shown in the figures. For example, the computing device 200 may be implemented to include at least some of the input / output devices 250 described above, and may further include other components such as a transceiver, a database, etc.

[0030] FIG. 3 is a diagram illustrating an example of a blockchain data verification system in one embodiment of the present invention. The blockchain network 310 is composed of multiple nodes implemented by computer devices 200 and is a trusted infrastructure that generates and stores blockchain data through a blockchain.

[0031] In order to allow anyone to view the blockchain data generated in the blockchain network 310, the blockchain data may be stored in a storage 320 in a format different from the blockchain. The storage 320 may be a body that stores the blockchain data in a structure suitable for a service to provide the blockchain data. As an example, FIG. 3 shows an example in which the blockchain data is stored in each of NoSql 321, which is a non-transitory storage, and Memory Storage 322, which is a temporary storage. The Memory Storage 322 may be selectively utilized to quickly provide the blockchain data, and the NoSql 321 may be an example of a non-relational database management system for storing and processing the blockchain data.

[0032] A relayer 330 may be used to store blockchain data in the storage 320. The relayer 330 may query blockchain data to be stored by using an API (Application Program Interface) provided by the blockchain, and may sequentially stack the queried blockchain data in a queue 340. At this time, a consumer (Consumer [1, . . . , K]) 350 may be configured to store the blockchain data sequentially stacked in the queue 340 in the storage 320. The blockchain data may be stored in the storage 320 based on a block height, and the relayer 330 may store the block height at which relaying has been completed. Depending on the embodiment, the queue 340 and the consumer 350 may be omitted, and the relayer 330 may sequentially store the queried blockchain data in the storage 320. Here, the block height may be a block identifier different from the block hash, which corresponds to the order of blocks in the blockchain. For example, a block height of 15000 in the blockchain A may mean an identifier indicating the 15000th block of the blockchain A. In addition, when multiple blockchains exist, the block heights corresponding to the order of blocks may overlap in each blockchain. Therefore, the block height may exist for each blockchain identifier (for example, chainID). For example, assuming that the blockchain identifier of blockchain A is chainA, the value of the block height of 15000 of blockchain A may be associated with the identifier of blockchain A, chainA. More specifically, when the relayer 330 links with multiple blockchains, the blockchain data relayed by the relayer 330 may include a blockchain identifier to indicate which blockchain the corresponding data belongs to. In this case, the relayer 330 may store the blockchain identifier included in such blockchain data and the block height of the corresponding blockchain data in association with each other.

[0033] Also, a blockchain explorer 360 may be configured to allow anyone to view the blockchain data stored in the storage 320. As an example, the blockchain explorer 360 may include a blockchain explorer API server (Blockchain explorer API Server [1, . . . , L]) 361 for extracting requested specific blockchain data from the storage 320, and a blockchain explorer view server (Blockchain explorer View Server [1, . . . , M]) 362 for viewing the extracted blockchain data, as shown in FIG.

[0034] Meanwhile, it is necessary to verify whether the blockchain data is correctly stored in the storage 320. For this purpose, a blockchain sync validator 370 may be included. The blockchain sync validator 370 may verify the validity of the blockchain data stored in the storage 320 by comparing the blockchain data stored in the blockchain network 310 with the blockchain data stored in the storage 320. For example, the blockchain sync validator 370 may set a value obtained by subtracting N from the last block height of the blockchain network 310 as a maximum block height, and then check the validity of the blockchain data N items at a time, aiming for the maximum block height. Here, the reason for setting the value obtained by subtracting N from the last block height as the maximum block height may be to take into account the delay until the blockchain data is transmitted from the blockchain network 310 to the storage 320. In addition, if the blockchain network 300 includes multiple blockchains rather than a single blockchain, the last block height may differ for each blockchain, so a maximum block height may be set for each blockchain. At this time, to check the validity, the blockchain synchronization verifier 370 may compare the blockchain data obtained from the blockchain network 310 with the blockchain data obtained from the blockchain explorer API server 361 based on the block hash, and check whether the block corresponding to the block hash is stored in both the blockchain network 310 and the storage 320. In addition, the blockchain synchronization verifier 370 may check whether the transaction hash included in the block is stored in both the blockchain network 310 and the storage 320.

[0035] At this time, the blockchain synchronization verifier 370 may inquire about blockchain data from the blockchain network 310 using an API provided by the blockchain network 310. Similarly, the blockchain synchronization verifier 370 may inquire about blockchain data stored in the storage 320 from the blockchain explorer API server 361 using an API provided by the blockchain explorer API server 361. To call each API, the block hash and / or block height of a specific block may be used as a parameter. In this case, the blockchain network 310 or the blockchain explorer API server 361 may extract the blockchain data of the block corresponding to the block hash and / or block height provided as a parameter from the blockchain or storage 320 and provide it to the blockchain synchronization verifier 370.

[0036] As a more specific example, the blockchain synchronization verifier 370 may query and check the validity of blockchain data as in the examples A, B, and C below. A. The blockchain synchronization verifier 370 may receive input of N specific block heights and check the validity of the N blocks corresponding to the input N specific block heights by querying the block information of the N blocks. B. The blockchain synchronization verifier 370 may randomly select one block height based on the last block height of the blockchain without receiving any input, and check the validity by checking the block information of the block corresponding to the selected block height. When multiple blockchains exist, the blockchain synchronization verifier 370 may randomly select one block height based on the last block height of the selected blockchain, and check the validity by checking the block information of the block corresponding to the selected block height. In addition, taking into account the relay delay from the blockchain to the storage 320, the maximum block height obtained by subtracting N from the last block height may be set, and then the block height may be randomly selected based on the set maximum block height. C. The blockchain synchronization verifier 370 may select one of the blockchains in the blockchain network 310, receive input of a desired block hash and / or block height, and check the block information of the block corresponding to the input block hash and / or block height to check its validity.

[0037] The validity check logic commonly executed in various examples is as follows (1) to (8). (1) The blockchain synchronization verifier 370 may be randomly selected from the blockchain, may query the blockchain for block information of a block, or may query the blockchain for lock information regarding the block height that is input. (2) The blockchain synchronization verifier 370 may use the block hash and / or block height of a block queried from the blockchain to query block information of the same block from the blockchain explorer API server 361. At this time, the blockchain synchronization verifier 370 may query block information of a specific block using an API provided by the blockchain explorer API server 361 and the block hash and / or block height as parameters. (3) If the blockchain synchronization verifier 370 cannot obtain block information from the blockchain explorer API server 361, it may determine that the corresponding block in the storage 320 is not valid. (4) If the block hash of the block information queried in (1) and the block hash of the block information queried in (2) are not identical to each other, the blockchain synchronization verifier 370 may determine that the corresponding block in the storage 320 is invalid. (5) If the block height of the block information queried in (1) and the block height of the block information queried in (2) are not identical to each other, the blockchain synchronization verifier 370 may determine that the corresponding block in the storage 320 is invalid. (6) If the block information queried in (2) does not include transaction information, the blockchain synchronization verifier 370 may determine that the corresponding block in storage 320 is not valid. (7) If the transaction hash of the block information queried in (1) and the transaction hash of the block information queried in (2) are not identical to each other, the blockchain synchronization verifier 370 may determine that the corresponding block in the storage 320 is invalid. For example, if the transaction hash of the block information queried in (2) is missing at least one transaction hash compared to the transaction hash of the block information queried in (1) or if there is a mismatched transaction hash, the blockchain synchronization verifier 370 may determine that the corresponding block in the storage 320 is invalid. (8) If there are no anomalies in the results of (3) to (7), in other words, if the block in question has not been determined to be invalid in any one of (3) to (7), the blockchain synchronization verifier 370 may determine that the block in question in the storage 320 is valid.

[0038] FIG. 4 is a flowchart showing an example of a data verification method according to an embodiment of the present invention. The data verification method according to this embodiment may be executed by a computer device 200 that realizes the blockchain synchronization verifier 370 described with reference to FIG. 3. For example, the processor 220 of the computer device 200 may be realized to execute control instructions according to the operating system code and at least one program code included in the memory 210. Here, the processor 220 may control the computer device 200 so that the computer device 200 executes steps 410 to 430 included in the method of FIG. 4 according to the control instructions provided by the code recorded in the computer device 200.

[0039] In step 410, the computer device 200 may inquire about the first block information of the block to be verified from the blockchain. In this case, the computer device 200 may inquire about the first block information of the block to be verified using an API provided by the blockchain network of the corresponding blockchain. As an example, the computer device 200 may receive an input of N block heights, select each of the N blocks corresponding to the N block heights as a block to be verified, and inquire about the first block information of each of the blocks to be verified. As another example, the computer device 200 may randomly select a block height based on the last block height of the blockchain, and inquire about the block information of a block corresponding to the selected block height as the first block information of the block to be verified. In this case, the computer device 200 may verify the validity of a random block without separately receiving an input of a block hash or a block height. As another example, the computer device 200 may receive an input of an arbitrary block hash or an arbitrary block height, and inquire about the block information of a block corresponding to the input block hash or block height as the first block information of the block to be verified.

[0040] In step 420, the computer device 200 may query the second block information of the block to be verified from a storage that stores block information of the blockchain in a different structure. Here, the storage is an entity that stores block information in a structure suitable for a particular service in order to provide the particular service, and may correspond to the storage 320 described with reference to FIG. 3. For example, the computer device 200 may query the second block information from the storage using a block hash or a block height corresponding to the queried first block information. More specifically, the computer device 200 may provide a preset service to process the block information stored in the storage, and may query the second block information corresponding to the block hash or the block height corresponding to the queried first block information from the storage using a blockchain explorer provided by the preset service. Here, the blockchain explorer may correspond to the blockchain explorer 360 described with reference to FIG. 3, and the computer device 200 may be able to query block information of a block corresponding to a specific block hash and / or block height using an API provided by the blockchain explorer.

[0041] In step 430, the computer device 200 may verify the validity of the second block information stored in the storage for the block to be verified by comparing the first block information with the second block information. As an example, if the computer device 200 cannot obtain the second block information from the storage, the computer device 200 may determine that the block to be verified in the storage is not valid. As another example, if the block hash included in the first block information and the block hash included in the second block information are not identical to each other, the computer device 200 may determine that the block to be verified in the storage is not valid. As yet another example, if the block height corresponding to the first block information and the block height corresponding to the second block information are not identical to each other, the computer device 200 may determine that the block to be verified in the storage is not valid. As yet another example, if the second block information does not include transaction information, the computer device 200 may determine that the block to be verified in the storage is not valid. If the transaction hash included in the first block information and the transaction hash included in the second block information are not identical to each other, the computer device 200 may determine that the block to be verified in the storage is not valid. On the other hand, the computer device 200 may determine that the block to be verified of the storage is valid if the block to be verified of the storage has not been determined to be invalid in all cases.

[0042] As described above, according to an embodiment of the present invention, it is possible to verify blockchain data stored in a storage format different from the blockchain so that anyone can view the content generated in the blockchain.

[0043] The above-described systems or devices may be realized by hardware components, software components, or a combination of hardware and software components. For example, the devices and components described in the embodiments may be realized using one or more general-purpose or special-purpose computers, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or various devices capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications that run on the OS. The processing device may also respond to the execution of the software to access, record, manipulate, process, and generate data. For convenience of understanding, a single processing device may be described as being used, but those skilled in the art will understand that the processing device may include multiple processing elements and / or multiple types of processing elements. For example, the processing device may include multiple processors or one processor and one controller. Other processing configurations, such as parallel processors, are also possible.

[0044] The software may include computer programs, codes, instructions, or a combination of one or more of these, and may configure or instruct a processing device to perform a desired operation, either individually or collectively. The software and / or data may be embodied in any type of machine, component, physical device, virtual device, computer storage medium, or device to be interpreted by a processing device or to provide instructions or data to a processing device. The software may be distributed and stored or executed in a distributed manner on computer systems connected by a network. The software and data may be stored on one or more computer-readable storage media.

[0045] The method according to the embodiment may be realized in the form of program instructions executable by various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be available to those skilled in the art of computer software. Examples of computer readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program instructions, such as ROMs, RAMs, flash memories, and the like. Such recording media may be various recording or storage means in the form of a single or multiple hardware devices combined, and should not be limited to media directly connected to a certain computer system, but may be distributed over a network. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes executed by a computer using an interpreter or the like.

[0046] Although the embodiments have been described based on the limited embodiments and drawings as above, those skilled in the art will be able to make various modifications and variations from the above description. For example, the described techniques may be performed in an order different from that described, and / or the components of the described systems, structures, devices, circuits, etc. may be combined or combined in a manner different from that described, or may be counterbalanced or replaced by other components or equivalents, and still achieve suitable results. Therefore, different embodiments are within the scope of the appended claims provided they are equivalent to the claims.

Claims

1. 1. A data verification method executed by a computer device, comprising: A step in which at least one processor included in the computer device queries first block information of a block to be verified of the blockchain data from the blockchain; The at least one processor queries second block information of the block to be verified from a storage that stores the blockchain data of the blockchain in a different structure; and The at least one processor verifies the validity of the block to be verified stored in the storage as the block chain data by comparing the first block information with the second block information. A method for validating data.

2. The step of querying the first block information comprises: receiving an input of N block heights; and selecting, as the verification target block, N blocks corresponding to the N block heights, and querying first block information for each of the verification target blocks; The data verification method according to claim 1 , comprising:

3. The step of querying the first block information comprises:

2. The data verification method according to claim 1, further comprising: randomly selecting a block height based on a last block height of the blockchain; and referencing block information of a block corresponding to the selected block height as first block information of the block to be verified.

4. The step of querying the first block information comprises:

2. The data verification method according to claim 1, further comprising: receiving an input of an arbitrary block hash or an arbitrary block height; and referencing block information of a block corresponding to the input block hash or block height as first block information of the block to be verified.

5. The step of querying second block information comprises: The method of claim 1 , further comprising: querying the second block information from the storage using a block hash or a block height corresponding to the retrieved first block information.

6. The step of querying second block information comprises:

2. The data verification method of claim 1, further comprising: providing a preset service to process the block information stored in the storage; and using a blockchain explorer provided by the preset service to query the second block information corresponding to a block hash or a block height corresponding to the queried first block information from the storage.

7. The step of verifying the validity includes:

2. The data verification method according to claim 1, further comprising: determining that the verification target block in the storage is not valid if the second block information cannot be obtained from the storage.

8. The step of verifying the validity includes:

2. The data verification method according to claim 1, further comprising: determining that the block to be verified in the storage is invalid if the block hash included in the first block information and the block hash included in the second block information are not identical to each other.

9. The step of verifying the validity includes:

2. The data verification method according to claim 1, further comprising: determining that the block to be verified in the storage is invalid if the block height corresponding to the first block information and the block height corresponding to the second block information are not identical to each other.

10. The step of verifying the validity includes:

2. The data verification method according to claim 1, further comprising: determining that the verification target block in the storage is not valid if the second block information does not include transaction information.

11. The step of verifying the validity includes:

2. The data verification method according to claim 1, further comprising: determining that the block to be verified in the storage is invalid if the transaction hash included in the first block information and the transaction hash included in the second block information are not identical to each other.

12. The data verification method according to claim 1, wherein the storage includes a non-relational database management system as a non-temporary storage that stores blockchain data of the blockchain in a structure different from the blockchain for the provision of services.

13. A computer program stored on a computer readable recording medium for causing a computer device to carry out the method according to any one of claims 1 to 12 in combination with the computer device.

14. A computer-readable recording medium having a computer program recorded thereon for causing a computer device to execute the method according to any one of claims 1 to 12.

15. 1. A computing device comprising: At least one processor implemented to execute instructions readable by said computer device. Including, The at least one processor Inquire about the first block information of the block to be verified of the blockchain data from the blockchain; Querying second block information of the block to be verified from a storage that stores the block chain data of the block chain in a different structure; By comparing the first block information with the second block information, the validity of the block to be verified stored in the storage as the block chain data is verified. A computer device comprising:

16. The at least one processor Receive N block heights as input, selecting, as the verification target block, each of the N blocks corresponding to the N block heights, and querying first block information for each of the verification target blocks; 16. The computer device of claim 15.

17. The at least one processor Randomly selecting a block height based on the last block height of the blockchain, and referencing block information of a block corresponding to the selected block height as first block information of the block to be verified.

16. The computer device of claim 15.

18. The at least one processor receiving an input of an arbitrary block hash or an arbitrary block height, and querying block information of a block corresponding to the input block hash or block height as first block information of the block to be verified; 16. The computer device of claim 15.

19. The at least one processor Querying the second block information from the storage using a block hash or a block height corresponding to the requested first block information.

16. The computer device of claim 15.

20. The at least one processor Providing a preset service to process block information stored in the storage, and querying the storage for the second block information corresponding to a block hash or a block height corresponding to the queried first block information using a blockchain explorer provided by the preset service.

16. The computer device of claim 15.

Citation Information

Patent Citations

  • Blockchain data processing method and apparatus, computer device and storage medium

    CN108734453A

  • Alteration detection system and alteration detection method

    JP2017207979A