Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7607583B2 - Method and system for verifying blockchain data stored in a storage format different from the blockchain - Google Patents
[go: Go Back, main page]

JP7607583B2 - Method and system for verifying blockchain data stored in a storage format different from the blockchain - Google Patents

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

Info

Publication number
JP7607583B2
JP7607583B2 JP2021560366A JP2021560366A JP7607583B2 JP 7607583 B2 JP7607583 B2 JP 7607583B2 JP 2021560366 A JP2021560366 A JP 2021560366A JP 2021560366 A JP2021560366 A JP 2021560366A JP 7607583 B2 JP7607583 B2 JP 7607583B2
Authority
JP
Japan
Prior art keywords
block
blockchain
block information
storage
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021560366A
Other languages
Japanese (ja)
Other versions
JP2022539283A (en
Inventor
チホン イ
ユンスン イ
ヘジン イ
利将 那須
史季 高橋
虎男 鷹見
ホジン チャン
ユンソギ キム
ホンキュ イ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Line Plus Corp
Original Assignee
Line Plus Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Line Plus Corp filed Critical Line Plus Corp
Publication of JP2022539283A publication Critical patent/JP2022539283A/en
Application granted granted Critical
Publication of JP7607583B2 publication Critical patent/JP7607583B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

以下の説明は、ブロックチェーンとは異なる形式のストレージに格納されるブロックチェーンデータを検証する方法およびシステムに関する。 The following description relates to a method and system for verifying blockchain data stored in a form of storage other than the blockchain.

ブロックチェーン(block-chain)とは、電子台帳(electronic ledger)であって、トランザクションのためのブロックで構成されたコンピュータベースの分散型、P2P(peer-to-peer)のシステムによって実現される。各トランザクション(Transaction:Tx)は、ブロックチェーンシステム内の参加者にデジタル資産の制御送信をエンコードするデータ構造であり、少なくとも1つの入力と少なくとも1つの出力を含む。各ブロックは1つ前のブロックのハッシュを含み、該当のブロックは連結しており、最初からブロックチェーンに記録されたすべてのトランザクションの永久的な、変えることのできない(unalterable)記録を生成する。例えば、韓国公開特許第10-2018-0113143号公報は、ブロックチェーンベースのユーザ定義の貨幣取引システムおよびその動作方法について開示している。しかし、ブロックチェーンに格納されたブロックチェーンデータを誰でも閲覧できるようにするためには、個別のシステムが必要となる。例えば、プライベートブロックチェーンに格納されたブロックチェーンデータの場合、個別のシステムがブロックチェーンデータを提供しない以上、誰もブロックチェーンデータにアクセスすることができない。 A blockchain is an electronic ledger that is implemented 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 includes 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, in order to allow anyone to view the blockchain data stored in the blockchain, a separate system is required. 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.

ブロックチェーンに生成された内容を誰でも閲覧できるように、ブロックチェーンとは異なる形式のストレージに格納されるブロックチェーンデータを検証することができる、データ検証方法およびシステムを提供する。 To provide a data verification method and system that can verify blockchain data stored in a storage format different from the blockchain so that anyone can view the content generated in the blockchain.

コンピュータ装置が実行するデータ検証方法であって、前記コンピュータ装置が含む少なくとも1つのプロセッサが、ブロックチェーンからブロックチェーンデータの検証対象ブロックの第1ブロック情報を照会する段階、前記少なくとも1つのプロセッサが、前記ブロックチェーンの前記ブロックチェーンデータを異なる構造で格納するストレージから前記検証対象ブロックの第2ブロック情報を照会する段階、および前記少なくとも1つのプロセッサが、前記第1ブロック情報と前記第2ブロック情報とを比較することで、前記ストレージに格納された前記検証対象ブロックの前記ブロックチェーンデータとしての有効性を検証する段階を含む、データ検証方法を提供する。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.

コンピュータ装置と結合して前記方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に記録された、コンピュータプログラムを提供する。 A computer program is provided that is recorded on a computer-readable recording medium and that is coupled with a computer device to cause the computer device to execute the method.

前記方法をコンピュータ装置に実行させるためのコンピュータプログラムが記録されていることを特徴とする、コンピュータ読み取り可能な記録媒体を提供する。 A computer-readable recording medium is provided, characterized in that a computer program for causing a computer device to execute the method is recorded thereon.

コンピュータ装置であって、前記コンピュータ装置で読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、ブロックチェーンからブロックチェーンデータの検証対象ブロックの第1ブロック情報を照会し、前記ブロックチェーンの前記ブロックチェーンデータを異なる構造で格納するストレージから前記検証対象ブロックの第2ブロック情報を照会し、前記第1ブロック情報と前記第2ブロック情報とを比較することで、前記ストレージに格納された前記検証対象ブロックの前記ブロックチェーンデータとしての有効性を検証することを特徴とする、コンピュータ装置を提供する。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 the 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.

ブロックチェーンに生成された内容を誰でも閲覧できるように、ブロックチェーンとは異なる形式のストレージに格納されるブロックチェーンデータを検証することができる。 Just as anyone can view what is generated on the blockchain, blockchain data stored in a different form of storage than the blockchain can be verified.

本発明の一実施形態における、ネットワーク環境の例を示した図である。FIG. 1 illustrates an example of a network environment in accordance with an embodiment of the present invention. 本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。FIG. 2 is a block diagram illustrating an example of a computing device in accordance with an embodiment of the present invention. 本発明の一実施形態における、ブロックチェーンデータ検証システムの例を示した図である。FIG. 1 illustrates an example of a blockchain data verification system in one embodiment of the present invention. 本発明の一実施形態における、データ検証方法の例を示したフローチャートである。1 is a flow chart illustrating an example method for verifying data in accordance with an embodiment of the present invention.

以下、実施形態について、添付の図面を参照しながら詳しく説明する。 The following describes the embodiments in detail with reference to the attached drawings.

本発明の実施形態に係るデータ検証システムは、少なくとも1つのコンピュータ装置によって実現されてよい。コンピュータ装置においては、本発明の一実施形態に係るコンピュータプログラムがインストールされて実行されてよく、コンピュータ装置は、実行されたコンピュータプログラムの制御にしたがって本発明の一実施形態に係るデータ検証方法を実行してよい。上述したコンピュータプログラムは、コンピュータ装置と結合してデータ検証方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に記録されてよい。ここで説明したコンピュータプログラムは、独立する1つのプログラムパッケージの形態であってもよいし、独立する1つのプログラムパッケージの形態がコンピュータ装置に予めインストールされてオペレーティングシステムや他のプログラムパッケージと連係する形態であってもよい。ブロックチェーンに生成された内容(ブロックチェーンデータ)を誰でも閲覧できるように、ブロックチェーンデータは、ブロックチェーンとは異なる形式のストレージに格納されてよい。このとき、本発明の実施形態に係るデータ検証システムは、異なる形式のストレージに格納されるブロックチェーンデータの有効性を検査してよい。 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.

図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図1のように限定されることはない。また、図1のネットワーク環境は、本実施形態に適用可能な環境のうちの一例を説明したものに過ぎず、本実施形態に適用可能な環境が図1のネットワーク環境に限定されることはない。 Figure 1 is a diagram showing an example of a network environment in one embodiment of the present invention. The network environment in Figure 1 shows an example including multiple electronic devices 110, 120, 130, 140, multiple servers 150, 160, and a network 170. Figure 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 Figure 1. Furthermore, the network environment in Figure 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 Figure 1.

複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、PC(personal computer)、ノート型PC、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレットなどがある。一例として、図1では、電子機器1(110)の例としてスマートフォンを示しているが、本発明の実施形態において、電子機器1(110)は、実質的に無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信することのできる多様な物理的なコンピュータ装置のうちの1つを意味してよい。 The electronic devices 110, 120, 130, and 140 may be fixed terminals or mobile terminals realized by computer devices. Examples of the electronic devices 110, 120, 130, and 140 include smartphones, mobile phones, navigation systems, personal computers (PCs), notebook PCs, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), and tablets. As an example, FIG. 1 shows a smartphone as an example of the electronic device 1 (110), but in an embodiment of the present invention, the electronic device 1 (110) may refer to one of various physical computer devices that can communicate with other electronic devices 120, 130, and 140 and/or servers 150 and 160 via a network 170 using a substantially wireless or wired communication method.

通信方式が限定されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を利用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリーまたは階層的ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。 The communication method is not limited, and may include not only a communication method using a communication network that the network 170 can include (for example, a mobile communication network, a wired Internet, a wireless Internet, or a broadcasting network), 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 a hierarchical network, and the like.

サーバ150、160のそれぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供する1つ以上のコンピュータ装置によって実現されてよい。例えば、サーバ150は、ネットワーク170を介して接続した複数の電子機器110、120、130、140にサービス(一例として、ビデオ通話サービス、金融サービス、決済サービス、ソーシャルネットワークサービス、メッセージングサービス、検索サービス、メールサービス、コンテンツ提供サービス、および/または質疑応答サービスなど)を提供するシステムであってよい。 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, and the like. For example, the server 150 may be a system that provides services (such as, for example, video calling services, financial services, payment services, social networking services, messaging services, search services, email services, content provision services, and/or question and answer services) to the multiple electronic devices 110, 120, 130, 140 connected via the network 170.

図2は、本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。上述した複数の電子機器110、120、130、140のそれぞれやサーバ150、160のそれぞれは、図2に示したコンピュータ装置200によって実現されてよく、本発明の実施形態に係る方法は、このようなコンピュータ装置200によって実現されてよい。 FIG. 2 is a block diagram showing an example of a computer device in one embodiment of the present invention. Each of the multiple electronic devices 110, 120, 130, and 140 and each of the servers 150 and 160 described above 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.

このとき、図2に示すように、コンピュータ装置200は、メモリ210、プロセッサ220、通信インタフェース230、および入力/出力インタフェース240を含んでよい。メモリ210は、コンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、ディスクドライブのような永続的大容量記録装置を含んでよい。ここで、ROMやディスクドライブのような永続的大容量記録装置は、メモリ210とは区分される別の永続的記録装置としてコンピュータ装置200に含まれてもよい。また、メモリ210には、オペレーティングシステムと、少なくとも1つのプログラムコードが記録されてよい。このようなソフトウェア構成要素は、メモリ210とは別のコンピュータ読み取り可能な記録媒体からメモリ210にロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信インタフェース230を通じてメモリ210にロードされてもよい。例えば、ソフトウェア構成要素は、ネットワーク170を介して受信されるファイルによってインストールされるコンピュータプログラムに基づいてコンピュータ装置200のメモリ210にロードされてよい。 At this time, 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 persistent large-capacity recording device such as a random access memory (RAM), a read only memory (ROM), or a disk drive. Here, a persistent large-capacity recording device such as a ROM or a disk drive may be included in the computer device 200 as a persistent recording device separate from the memory 210. In addition, the memory 210 may record 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 a 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, or a memory card. In other embodiments, the software components may be loaded into the memory 210 through a communication interface 230 that is not a computer-readable recording medium. For example, the software components may be loaded into the memory 210 of the computer device 200 based on a computer program that is installed by a file received via the network 170.

プロセッサ220は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ210または通信インタフェース230によって、プロセッサ220に提供されてよい。例えば、プロセッサ220は、メモリ210のような記録装置に記録されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。 The processor 220 may be configured to process computer program instructions 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 recorded in a recording device such as the memory 210.

通信モジュール230は、ネットワーク170を介してコンピュータ装置200が他の電子機器(一例として、上述した記録装置)と互いに通信するための機能を提供してよい。一例として、コンピュータ装置200のプロセッサ220がメモリ210のような記録装置に記録されたプログラムコードにしたがって生成した要求や命令、データ、ファイルなどが、通信インタフェース230の制御にしたがってネットワーク170を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データ、ファイルなどが、ネットワーク170を経てコンピュータ装置200の通信インタフェース230を通じてコンピュータ装置200に受信されてよい。通信インタフェース230を通じて受信された信号や命令、データなどは、プロセッサ220やメモリ210に伝達されてよく、ファイルなどは、コンピュータ装置200がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。 The communication module 230 may provide a function for the computer device 200 to communicate with other electronic devices (for example, the above-mentioned recording device) via the network 170. As an example, requests, commands, data, files, etc. generated by the processor 220 of the computer device 200 according to program code recorded in a recording 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, commands, 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, commands, 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 on a recording medium (the above-mentioned permanent recording device) that the computer device 200 may further include.

入力/出力インタフェース240は、入力/出力装置250とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、カメラ、またはマウスなどの装置を、出力装置は、ディスプレイ、スピーカのような装置を含んでよい。他の例として、入力/出力インタフェース240は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置250は、コンピュータ装置200と1つの装置で構成されてもよい。 The input/output interface 240 may be a means for interfacing with the input/output device 250. For example, the input device may include devices such as a microphone, keyboard, camera, or mouse, and the output device may include devices such as a display and a speaker. As another example, the input/output interface 240 may be a means for interfacing with a device that integrates functions for input and output into one, such as a touch screen. The input/output device 250 may be configured as a single device together with the computer device 200.

また、他の実施形態において、コンピュータ装置200は、図2の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータ装置200は、上述した入力/出力装置250のうちの少なくとも一部を含むように実現されてもよいし、トランシーバやデータベースなどのような他の構成要素をさらに含んでもよい。 Also, in other embodiments, the computing device 200 may include fewer or more components than those of FIG. 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.

図3は、本発明の一実施形態における、ブロックチェーンデータ検証システムの例を示した図である。
ブロックチェーンネットワーク(Blockchain network)310は、コンピュータ装置200によって実現される複数のノードで構成され、ブロックチェーンを通じてブロックチェーンデータを生成したり格納したりする、信頼性のあるインフラである。
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 the computer device 200, and is a reliable infrastructure that generates and stores blockchain data through a blockchain.

このようなブロックチェーンネットワーク310に生成されるブロックチェーンデータを誰でも閲覧できるようにするために、ブロックチェーンデータは、ブロックチェーンとは異なる形式のストレージ320に格納されてよい。ストレージ320は、ブロックチェーンデータを提供しようとするサービスに適した構造で格納する主体であってよい。一例として、図3では、非一時的な(non-transitory)ストレージであるNoSql321と一時的なストレージであるメモリストレージ(Memory Storage)322のそれぞれにブロックチェーンデータを格納する例を示している。メモリストレージ322は、ブロックチェーンデータを迅速に提供するために選択的に活用されてよく、NoSql321は、ブロックチェーンデータを格納したり処理したりするための非リレーショナル(non-relational)データベース管理システムの例であってよい。 In order to allow anyone to view the blockchain data generated in such a 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 the service to be provided. As an example, FIG. 3 shows an example in which 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 used to quickly provide the blockchain data, and NoSQL 321 may be an example of a non-relational database management system for storing and processing the blockchain data.

ストレージ320にブロックチェーンデータを格納するために、リレイヤ(Relayer)330が活用されてよい。リレイヤ330は、ブロックチェーンで提供するAPI(Applcation Program Interface)を利用することで格納するためのブロックチェーンデータを照会してよく、照会されたブロックチェーンデータをキュー(Queue)340に順に積み上げてよい。このとき、キュー340に順に積み上げられたブロックチェーンデータをストレージ320に格納するために、コンシューマ(Consumer[1、・・・、K])350が構成されてよい。ストレージ320には、ブロック高さ(block height)を基準にブロックチェーンデータが格納されてよく、リレイヤ330は、中継が完了したブロック高さを格納してもよい。実施形態によって、キュー340やコンシューマ350は省略されてよく、照会されるブロックチェーンデータをリレイヤ330が順にストレージ320に格納してもよい。ここで、ブロック高さとは、ブロックチェーンでのブロックの順序に対応する、ブロックハッシュとは異なるブロックの識別子であってよい。例えば、ブロックチェーンAのブロック高さ15000は、ブロックチェーンAの15000番目のブロックを示す識別子を意味してよい。また、複数のブロックチェーンが存在するときには、ブロックの順序に対応するブロック高さが各ブロックチェーンで重複する可能性がある。したがって、ブロック高さは、ブロックチェーンの識別子(一例として、chainID)ごとに存在してよい。例えば、ブロックチェーンAのブロックチェーン識別子をchainAと仮定するとき、ブロックチェーンAのブロック高さ15000の値は、ブロックチェーンAの識別子chainAと関連付けてよい。より具体的に、リレイヤ330が複数のブロックチェーンと連係するとき、リレイヤ330が中継するブロックチェーンデータには、該当のデータがどのブロックチェーンのブロックチェーンデータであるかを示すためにブロックチェーン識別子が含まれてよい。この場合、リレイヤ330は、このようなブロックチェーンデータに含まれるブロックチェーン識別子と該当のブロックチェーンデータのブロック高さを互いに関連付けて格納してよい。 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 the queue 340. In this case, 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 storage 320 may store the blockchain data based on the block height, and the relayer 330 may store the block height at which relaying is 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, corresponding to the order of blocks in the blockchain. For example, the block height 15000 of the blockchain A may mean an identifier indicating the 15000th block of the blockchain A. In addition, when multiple blockchains exist, the block height 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 the blockchain A is chainA, the value of the block height 15000 of the blockchain A may be associated with the identifier chainA of the blockchain A. 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 is. 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.

また、ストレージ320に格納されたブロックチェーンデータを誰でも閲覧できるようにするために、ブロックチェーンエクスプローラ(Blockchain explorer)360が構成されてよい。一例として、ブロックチェーンエクスプローラ360は、図3に示すように、要求された特定のブロックチェーンデータをストレージ320から抽出するためのブロックチェーンエクスプローラAPIサーバ(Blockchain explorer API Server[1、・・・、L])361と、抽出されたブロックチェーンデータをビューするためのブロックチェーンエクスプローラビューサーバ(Blockchain explorer View Server[1、・・・、M])362とを含んでよい。 In addition, a blockchain explorer 360 may be configured to allow anyone to view the blockchain data stored in 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 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. 3.

一方、ストレージ320にブロックチェーンデータが正しく格納されたかを検証する必要がある。このために、ブロックチェーン同期検証子(Blockchain sync validator)370を含んでよい。ブロックチェーン同期検証子370は、ブロックチェーンネットワーク310に格納されたブロックチェーンデータとストレージ320に格納されたブロックチェーンデータとを比較することにより、ストレージ320に格納されたブロックチェーンデータの有効性を検証してよい。例えば、ブロックチェーン同期検証子370は、ブロックチェーンネットワーク310の最後のブロック高さ(last block height)からNを引いた値を最大のブロック高さ(max block height)として設定した後、最大のブロック高さまでを目標として、N件ずつ、ブロックチェーンデータの有効性を検査してよい。ここで、最後のブロック高さからNを引いた値を最大のブロック高さとして設定する理由は、ブロックチェーンデータがブロックチェーンネットワーク310からストレージ320に伝達されるまでの遅延(delay)を勘案するためであってよい。また、ブロックチェーンネットワーク300が単一ブロックチェーンでなく複数のブロックチェーンを含む場合は、最後のブロック高さがブロックチェーンごとに異なることがあるため、各ブロックチェーンで最大のブロック高さが設定されてよい。このとき、有効性の検査のために、ブロックチェーン同期検証子370は、ブロックハッシュ(blockhash)に基づき、ブロックチェーンネットワーク310から得られたブロックチェーンデータとブロックチェーンエクスプローラAPIサーバ361から得られたブロックチェーンデータとを比較し、該当のブロックハッシュに対応するブロックがブロックチェーンネットワーク310とストレージ320の両方に格納されているかを確認してよい。また、ブロックチェーン同期検証子370は、該当のブロックに含まれるトランザクションハッシュ(transaction hash)がブロックチェーンネットワーク310とストレージ320の両方に格納されているかを確認してよい。 On the other hand, 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 the maximum block height, and then check the validity of the blockchain data N 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 maximum block height may be set for each blockchain since the last block height may differ for each blockchain. In this case, 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.

このとき、ブロックチェーン同期検証子370は、ブロックチェーンネットワーク310で提供するAPIを利用してブロックチェーンネットワーク310からブロックチェーンデータを照会してよい。また、これと同じように、ブロックチェーン同期検証子370は、ブロックチェーンエクスプローラAPIサーバ361で提供するAPIを利用してブロックチェーンエクスプローラAPIサーバ361からストレージ320に格納されたブロックチェーンデータを照会してよい。それぞれのAPIを呼び出すために、特定のブロックのブロックハッシュおよび/またはブロック高さをパラメータとして利用してよい。この場合、ブロックチェーンネットワーク310またはブロックチェーンエクスプローラAPIサーバ361は、パラメータとして提供されるブロックハッシュおよび/またはブロック高さに対応するブロックのブロックチェーンデータをブロックチェーンまたはストレージ320から抽出してブロックチェーン同期検証子370に提供してよい。 At this time, the blockchain synchronization verifier 370 may use an API provided by the blockchain network 310 to query blockchain data from the blockchain network 310. Similarly, the blockchain synchronization verifier 370 may use an API provided by the blockchain explorer API server 361 to query blockchain data stored in the storage 320 from 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.

より具体的な例として、ブロックチェーン同期検証子370は、下記のA、B、Cの例のようにブロックチェーンデータを照会して有効性を検査してよい。
A.ブロックチェーン同期検証子370は、N個の特定のブロック高さの入力の受け、入力されたN個の特定のブロック高さに対応するN個のブロックのブロック情報を照会して有効性を検査してよい。
B.ブロックチェーン同期検証子370は、何らの入力も受けず、ブロックチェーンの最後のブロック高さを基準にブロック高さをランダムに1つ選出し、選出されたブロック高さに対応するブロックのブロック情報を照会して有効性を検査してよい。複数のブロックチェーンが存在する場合、ブロックチェーン同期検証子370は、ブロックチェーンをランダムに選択した後、選択されたブロックチェーンの最後のブロック高さを基準にブロック高さをランダムに1つ選出し、選出されたブロック高さに対応するブロックのブロック情報を照会して有効性を検査してよい。また、ブロックチェーンからストレージ320までの中継ディレイを考慮した上で、最後のブロック高さからNを引いた最大のブロック高さを設定した後、設定された最大のブロック高さを基準にブロック高さをランダムに選出してもよい。
C.ブロックチェーン同期検証子370は、ブロックチェーンネットワーク310のブロックチェーンのうちから1つを選択し、所望するブロックハッシュおよび/またはブロック高さの入力を受け、入力されたブロックハッシュおよび/またはブロック高さに対応するブロックのブロック情報を照会して有効性を検査してよい。
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 N specific block heights and check the validity of the N blocks corresponding to the input N specific block heights by checking 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 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.

多様な例において共通して実行される有効性検査ロジックは、下記の(1)~(8)のとおりとなる。
(1)ブロックチェーン同期検証子370は、ブロックチェーンからランダムに選択されるか、ブロックのブロック情報をブロックチェーンから照会するか、または入力を受けたブロック高さに関するロック情報をブロックチェーンから照会してよい。
(2)ブロックチェーン同期検証子370は、ブロックチェーンから照会されたブロックのブロックハッシュおよび/またはブロック高さを利用してブロックチェーンエクスプローラAPIサーバ361から同一のブロックのブロック情報を照会してよい。このとき、ブロックチェーン同期検証子370は、ブロックチェーンエクスプローラAPIサーバ361で提供するAPIとブロックハッシュおよび/またはブロック高さをパラメータとして利用して特定のブロックのブロック情報を照会してよい。
(3)ブロックチェーン同期検証子370は、ブロックチェーンエクスプローラAPIサーバ361からブロック情報が取得できない場合、ストレージ320の該当のブロックには有効性がないと決定してよい。
(4)ブロックチェーン同期検証子370は、(1)で照会されたブロック情報のブロックハッシュと、(2)で照会されたブロック情報のブロックハッシュが互いに同一でない場合、ストレージ320の該当のブロックには有効性がないと決定してよい。
(5)ブロックチェーン同期検証子370は、(1)で照会されたブロック情報のブロック高さと、(2)で照会されたブロック情報のブロック高さが互いに同一でない場合、ストレージ320の該当のブロックには有効性がないと決定してよい。
(6)ブロックチェーン同期検証子370は、(2)で照会されたブロック情報にトランザクション情報が含まれない場合、ストレージ320の該当のブロックには有効性がないと決定してよい。
(7)ブロックチェーン同期検証子370は、(1)で照会されたブロック情報のトランザクションハッシュと、(2)で照会されたブロック情報のトランザクションハッシュが互いに同一でない場合、ストレージ320の該当のブロックには有効性がないと決定してよい。例えば、(1)で照会されたブロック情報のトランザクションハッシュに比べて(2)で照会されたブロック情報のトランザクションハッシュが1つでも抜けていたり、一致しないトランザクションハッシュが存在したりする場合、ブロックチェーン同期検証子370は、ストレージ320の該当のブロックには有効性がないと決定してよい。
(8)ブロックチェーン同期検証子370は、(3)~(7)の結果に異常がない場合、言い換えれば、(3)~(7)のうちのいずれか1つにおいて該当のブロックには有効性がないと決定されなかった場合、ストレージ320の該当のブロックには有効性が存在すると決定してよい。
The validity checking 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 input block height.
(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. In this case, 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 not valid.
(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 not valid.
(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 the 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 or has a mismatched transaction hash compared to the transaction hash of the block information queried in (1), 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 storage 320 is valid.

図4は、本発明の一実施形態における、データ検証方法の例を示したフローチャートである。本実施形態に係るデータ検証方法は、図3を参照しながら説明したブロックチェーン同期検証子370を実現するコンピュータ装置200によって実行されてよい。例えば、コンピュータ装置200のプロセッサ220は、メモリ210が含むオペレーティングシステムのコードと、少なくとも1つのプログラムのコードとによる制御命令(instruction)を実行するように実現されてよい。ここで、プロセッサ220は、コンピュータ装置200に記録されたコードが提供する制御命令にしたがってコンピュータ装置200が図4の方法に含まれる段階410~430を実行するようにコンピュータ装置200を制御してよい。 Figure 4 is a flowchart showing an example of a data verification method in one 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 Figure 3. For example, the processor 220 of the computer device 200 may be implemented to execute control instructions from the operating system code and at least one program code contained 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 Figure 4 according to the control instructions provided by the code recorded in the computer device 200.

段階410で、コンピュータ装置200は、ブロックチェーンから検証対象ブロックの第1ブロック情報を照会してよい。このとき、コンピュータ装置200は、該当のブロックチェーンのブロックチェーンネットワークで提供するAPIを利用して検証対象ブロックの第1ブロック情報を照会してよい。一例として、コンピュータ装置200は、N個のブロック高さの入力を受け、N個のブロック高さに対応するN個のブロックのそれぞれを検証対象ブロックとして選定し、検証対象ブロックのそれぞれに対して第1ブロック情報を照会してよい。他の例として、コンピュータ装置200は、ブロックチェーンの最後のブロック高さを基準にブロック高さをランダムに選出し、選出されたブロック高さに対応するブロックのブロック情報を検証対象ブロックの第1ブロック情報として照会してよい。この場合、コンピュータ装置200は、ブロックハッシュやブロック高さの入力は別途受けず、ランダムなブロックの有効性を検証してよい。また他の例として、コンピュータ装置200は、任意のブロックハッシュまたは任意のブロック高さの入力を受け、入力されたブロックハッシュまたはブロック高さに対応するブロックのブロック情報を検証対象ブロックの第1ブロック情報として照会してよい。 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 the 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 the block corresponding to the input block hash or block height as the first block information of the block to be verified.

段階420で、コンピュータ装置200は、ブロックチェーンのブロック情報を異なる構造で格納するストレージから検証対象ブロックの第2ブロック情報を照会してよい。ここで、ストレージは、特定のサービスを提供するために該当のサービスに適した構造でブロック情報を格納する主体であって、図3を参照しながら説明したストレージ320に対応してよい。例えば、コンピュータ装置200は、照会された第1ブロック情報に対応するブロックハッシュまたはブロック高さを利用してストレージから第2ブロック情報を照会してよい。より具体的に、コンピュータ装置200は、予め設定されたサービスを提供してストレージに格納されたブロック情報を処理し、予め設定されたサービスが提供するブロックチェーンエクスプローラを利用して、照会された第1ブロック情報に対応するブロックハッシュまたはブロック高さに対応する第2ブロック情報をストレージから照会してよい。ここで、ブロックチェーンエクスプローラは、図3を参照しながら説明したブロックチェーンエクスプローラ360に対応してよく、コンピュータ装置200は、ブロックチェーンエクスプローラが提供するAPIを利用して特定のブロックハッシュおよび/またはブロック高さに対応するブロックのブロック情報を照会できるようにしてよい。 In step 420, the computer device 200 may query the second block information of the block to be verified from a storage that stores the 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 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 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.

段階430で、コンピュータ装置200は、第1ブロック情報と第2ブロック情報とを比較することで、検証対象ブロックに対するストレージに格納された第2ブロック情報の有効性を検証してよい。一例として、コンピュータ装置200は、ストレージから第2ブロック情報が取得できない場合、ストレージの検証対象ブロックには有効性がないと決定してよい。他の例として、コンピュータ装置200は、第1ブロック情報が含むブロックハッシュと第2ブロック情報が含むブロックハッシュが互いに同一でない場合、ストレージの検証対象ブロックには有効性がないと決定してよい。また他の例として、コンピュータ装置200は、第1ブロック情報に対応するブロック高さと第2ブロック情報に対応するブロック高さが互いに同一でない場合、ストレージの検証対象ブロックには有効性がないと決定してよい。さらに他の例として、コンピュータ装置200は、第2ブロック情報にトランザクション情報が含まれていない場合、ストレージの検証対象ブロックには有効性がないと決定してよい。第1ブロック情報が含むトランザクションハッシュと第2ブロック情報が含むトランザクションハッシュが互いに同一でない場合、ストレージの検証対象ブロックには有効性がないと決定してよい。この反面、コンピュータ装置200は、すべての場合において、ストレージの検証対象ブロックには有効性がないと決定されなかった場合、ストレージの検証対象ブロックには有効性があると決定してよい。 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 storage block to be verified is valid if it has not been determined that the storage block to be verified is not valid in all cases.

以上のように、本発明の実施形態によると、ブロックチェーンに生成された内容を誰でも閲覧できるように、ブロックチェーンとは異なる形式のストレージに格納されるブロックチェーンデータを検証することができる。 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.

上述したシステムまたは装置は、ハードウェア構成要素、ソフトウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。 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 and access, record, manipulate, process, and generate data. For convenience of understanding, one processing device may be described as being used, but one skilled in the art will understand that the processing device may include multiple processing elements and/or multiple types of processing elements. For example, a processing unit may include multiple processors or one processor and one controller. Other processing configurations, such as parallel processors, are also possible.

ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、所望の動作を行うように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置によって解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。 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 the processing device or to provide instructions or data to the 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.

実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。コンピュータ読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含んでよい。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであっても、コンピュータソフトウェア当業者に公知な使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROM、DVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれる。このような記録媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されてはならず、ネットワーク上で分散して存在するものであってもよい。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。 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 code, such as that generated by a compiler, but also high-level language code executed by a computer using an interpreter, etc.

以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
Although the embodiments have been described based on the limited embodiments and drawings, those skilled in the art will appreciate that various modifications and variations can be made from the above description. For example, the described techniques may be performed in a different order than described, and/or the components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different manner than 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 (20)

コンピュータ装置が実行するデータ検証方法であって、
前記コンピュータ装置が含む少なくとも1つのプロセッサが、ブロックチェーンからブロックチェーンデータの検証対象ブロックの第1ブロック情報を照会する段階、
前記少なくとも1つのプロセッサが、前記ブロックチェーンの前記ブロックチェーンデータを異なる構造で格納するストレージから前記検証対象ブロックの第2ブロック情報を照会する段階、および
前記少なくとも1つのプロセッサが、前記第1ブロック情報と前記第2ブロック情報とを比較することで、前記ストレージに格納された前記検証対象ブロックの前記ブロックチェーンデータとしての有効性を検証する段階
を含む、データ検証方法。
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;
A data verification method comprising: 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 with the second block information.
前記第1ブロック情報を照会する段階は、
N個のブロック高さの入力を受ける段階、および
前記N個のブロック高さに対応するN個のブロックのそれぞれを前記検証対象ブロックとして選定し、前記検証対象ブロックのそれぞれに対して第1ブロック情報を照会する段階
を含むことを特徴とする、請求項1に記載のデータ検証方法。
The step of querying the first block information comprises:
2. The data verification method of claim 1, further comprising: receiving an input of N block heights; and selecting each of the N blocks corresponding to the N block heights as the verification target block, and querying first block information for each of the verification target blocks.
前記第1ブロック情報を照会する段階は、
前記ブロックチェーンの最後のブロック高さを基準にブロック高さをランダムに選出し、前記選出されたブロック高さに対応するブロックのブロック情報を前記検証対象ブロックの第1ブロック情報として照会することを特徴とする、請求項1に記載のデータ検証方法。
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.
前記第1ブロック情報を照会する段階は、
任意のブロックハッシュまたは任意のブロック高さの入力を受け、入力されたブロックハッシュまたはブロック高さに対応するブロックのブロック情報を前記検証対象ブロックの第1ブロック情報として照会することを特徴とする、請求項1に記載のデータ検証方法。
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.
前記第2ブロック情報を照会する段階は、
前記照会された第1ブロック情報に対応するブロックハッシュまたはブロック高さを利用して前記ストレージから前記第2ブロック情報を照会することを特徴とする、請求項1に記載のデータ検証方法。
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.
前記第2ブロック情報を照会する段階は、
予め設定されたサービスを提供して前記ストレージに格納されたブロック情報を処理し、前記予め設定されたサービスで提供するブロックチェーンエクスプローラを利用して、前記照会された第1ブロック情報に対応するブロックハッシュまたはブロック高さに対応する前記第2ブロック情報を前記ストレージから照会することを特徴とする、請求項1に記載のデータ検証方法。
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.
前記有効性を検証する段階は、
前記ストレージから前記第2ブロック情報が取得できない場合、前記ストレージの前記検証対象ブロックには有効性がないと決定することを特徴とする、請求項1に記載のデータ検証方法。
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.
前記有効性を検証する段階は、
前記第1ブロック情報が含むブロックハッシュと前記第2ブロック情報が含むブロックハッシュが互いに同一でない場合、前記ストレージの前記検証対象ブロックには有効性がないと決定することを特徴とする、請求項1に記載のデータ検証方法。
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.
前記有効性を検証する段階は、
前記第1ブロック情報に対応するブロック高さと前記第2ブロック情報に対応するブロック高さが互いに同一でない場合、前記ストレージの前記検証対象ブロックには有効性がないと決定することを特徴とする、請求項1に記載のデータ検証方法。
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.
前記有効性を検証する段階は、
前記第2ブロック情報にトランザクション情報が含まれていない場合、前記ストレージの前記検証対象ブロックには有効性がないと決定することを特徴とする、請求項1に記載のデータ検証方法。
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.
前記有効性を検証する段階は、
前記第1ブロック情報が含むトランザクションハッシュと前記第2ブロック情報が含むトランザクションハッシュが互いに同一でない場合、前記ストレージの前記検証対象ブロックには有効性がないと決定することを特徴とする、請求項1に記載のデータ検証方法。
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.
前記ストレージは、サービスの提供のために、前記ブロックチェーンのブロックチェーンデータを前記ブロックチェーンとは異なる構造で格納する非一時的なストレージとして、非リレーショナルデータベース管理システムを含むことを特徴とする、請求項1に記載のデータ検証方法。 The data verification method according to claim 1, characterized in that the storage includes a non-relational database management system as a non-transient storage that stores the blockchain data of the blockchain in a structure different from the blockchain for the provision of services. コンピュータ装置と結合して請求項1から請求項12のうちのいずれか一項に記載の方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に格納された、コンピュータプログラム。 A computer program stored on a computer-readable recording medium for causing a computer device to execute the method according to any one of claims 1 to 12 in combination with the computer device. 請求項1から請求項12のうちのいずれか一項に記載の方法をコンピュータ装置に実行させるためのコンピュータプログラムが記録されていることを特徴とする、コンピュータ読み取り可能な記録媒体。 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. コンピュータ装置であって、
前記コンピュータ装置で読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
ブロックチェーンからブロックチェーンデータの検証対象ブロックの第1ブロック情報を照会し、
前記ブロックチェーンの前記ブロックチェーンデータ異なる構造で格納するストレージから前記検証対象ブロックの第2ブロック情報を照会し、
前記第1ブロック情報と前記第2ブロック情報とを比較することで、前記ストレージに格納された前記検証対象ブロックの前記ブロックチェーンデータとしての有効性を検証すること
を特徴とする、コンピュータ装置。
1. A computing device comprising:
at least one processor implemented to execute instructions readable by said computer device;
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;
a computer device that verifies validity of the verification target block stored in the storage as the blockchain data by comparing the first block information with the second block information.
前記少なくとも1つのプロセッサは、
N個のブロック高さの入力を受け、
前記N個のブロック高さに対応するN個のブロックのそれぞれを前記検証対象ブロックとして選定し、前記検証対象ブロックのそれぞれに対して第1ブロック情報を照会すること
を特徴とする、請求項15に記載のコンピュータ装置。
The at least one processor
Receive N block heights as input,
The computer device according to claim 15 , further comprising: selecting each of N blocks corresponding to the N block heights as the verification target block; and querying first block information for each of the verification target blocks.
前記少なくとも1つのプロセッサは、
前記ブロックチェーンの最後のブロック高さを基準にブロック高さをランダムに選出し、前記選出されたブロック高さに対応するブロックのブロック情報を前記検証対象ブロックの第1ブロック情報として照会すること
を特徴とする、請求項15に記載のコンピュータ装置。
The at least one processor
The computer device according to claim 15, characterized in that a block height is randomly selected based on the last block height of the blockchain, and block information of a block corresponding to the selected block height is referenced as the first block information of the block to be verified.
前記少なくとも1つのプロセッサは、
任意のブロックハッシュまたは任意のブロック高さの入力を受け、入力されたブロックハッシュまたはブロック高さに対応するブロックのブロック情報を前記検証対象ブロックの第1ブロック情報として照会すること
を特徴とする、請求項15に記載のコンピュータ装置。
The at least one processor
16. The computer device according to claim 15, 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.
前記少なくとも1つのプロセッサは、
前記照会された第1ブロック情報に対応するブロックハッシュまたはブロック高さを利用して前記ストレージから前記第2ブロック情報を照会すること
を特徴とする、請求項15に記載のコンピュータ装置。
The at least one processor
The computer device of claim 15, further comprising: querying the second block information from the storage using a block hash or a block height corresponding to the queried first block information.
前記少なくとも1つのプロセッサは、
予め設定されたサービスを提供して前記ストレージに格納されたブロック情報を処理し、前記予め設定されたサービスで提供するブロックチェーンエクスプローラを利用して、前記照会された第1ブロック情報に対応するブロックハッシュまたはブロック高さに対応する前記第2ブロック情報を前記ストレージから照会すること
を特徴とする、請求項15に記載のコンピュータ装置。
The at least one processor
The computer device of claim 15, 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.
JP2021560366A 2019-04-18 2019-04-18 Method and system for verifying blockchain data stored in a storage format different from the blockchain Active JP7607583B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2019/004684 WO2020213763A1 (en) 2019-04-18 2019-04-18 Method and system for verifying block-chain data stored in storage having different format from block-chain

Publications (2)

Publication Number Publication Date
JP2022539283A JP2022539283A (en) 2022-09-08
JP7607583B2 true JP7607583B2 (en) 2024-12-27

Family

ID=72838265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021560366A Active JP7607583B2 (en) 2019-04-18 2019-04-18 Method and system for verifying blockchain data stored in a storage format different from the blockchain

Country Status (3)

Country Link
JP (1) JP7607583B2 (en)
KR (1) KR102542631B1 (en)
WO (1) WO2020213763A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12380452B2 (en) * 2019-05-24 2025-08-05 Gwangju Institute Of Science And Technology Transaction verification system for blockchain, and transaction verification method for blockchain
KR102435349B1 (en) * 2021-11-05 2022-08-23 주식회사 스마트엠투엠 Method and system for processing de-identified sensing data in private blockchain
CN113987598A (en) * 2021-11-08 2022-01-28 支付宝(杭州)信息技术有限公司 Block migration method and device
KR102487849B1 (en) * 2021-11-11 2023-01-12 주식회사 미임팩트 Device for preventing forgery of sensitive information based on blockchain and method thereof
KR102508503B1 (en) * 2022-10-20 2023-03-22 주식회사 한강 벤쳐스 Private Blockchain-Based Control System
CN119292850B (en) * 2024-12-05 2025-08-19 鼎道智芯(上海)半导体有限公司 Processor verification system and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017207979A (en) 2016-05-19 2017-11-24 株式会社野村総合研究所 Alteration detection system and alteration detection method
CN108734453A (en) 2018-05-21 2018-11-02 腾讯科技(深圳)有限公司 Block chain data processing method, device, computer equipment and storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107562775B (en) * 2017-07-14 2020-04-24 创新先进技术有限公司 Data processing method and device based on block chain
US11281644B2 (en) * 2017-07-28 2022-03-22 Hitachi, Ltd. Blockchain logging of data from multiple systems
CN108418876B (en) 2018-02-09 2019-04-19 北京众享比特科技有限公司 Storage workload proof method and system, incentive method and system
CN109299336B (en) * 2018-09-30 2022-07-01 腾讯科技(深圳)有限公司 Data backup method and device, storage medium and computing equipment
KR102051231B1 (en) * 2018-11-27 2020-01-08 한국과학기술원 Method and system for tracking transaction of the user personal information based in blockchain
CN109558276A (en) * 2018-11-30 2019-04-02 弗洛格(武汉)信息科技有限公司 Block chain standby system, backup method and block chain verification method, verifying system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017207979A (en) 2016-05-19 2017-11-24 株式会社野村総合研究所 Alteration detection system and alteration detection method
CN108734453A (en) 2018-05-21 2018-11-02 腾讯科技(深圳)有限公司 Block chain data processing method, device, computer equipment and storage medium

Also Published As

Publication number Publication date
WO2020213763A1 (en) 2020-10-22
KR20210102470A (en) 2021-08-19
KR102542631B1 (en) 2023-06-13
JP2022539283A (en) 2022-09-08

Similar Documents

Publication Publication Date Title
JP7607583B2 (en) Method and system for verifying blockchain data stored in a storage format different from the blockchain
US11042876B2 (en) Transaction method and system based on centralized settlement and blockchain deposit certificates
TWI737944B (en) Block chain-based transaction execution method and device, and electronic equipment
KR102738475B1 (en) Extracting data from blockchain networks
US20250062916A1 (en) System and method for off-chain cryptographic transaction verification
JP7030981B2 (en) Asset management methods and equipment, and electronic devices
US12341872B2 (en) Hardware security module management
CN108335206B (en) Asset management method and device, electronic equipment
US20210049608A1 (en) Transaction method and system based on centralized clearing and blockchain record keeping
US20210049595A1 (en) Transaction method and system based on centralized settlement and block chain storage
US10733176B2 (en) Detecting phantom items in distributed replicated database
US20210158442A1 (en) Credit evaluation methods and apparatuses, and electronic devices
US20210099299A1 (en) Expendable cryptographic key access
CN110505223A (en) Block chain multi-chain management method and device
WO2019097322A1 (en) Optimization of high volume transaction performance on a blockchain
US20210312088A1 (en) Method for sharing and verifying blocks and electronic documents between nodes in blockchain
TWI738046B (en) Block chain smart contract execution method and device and electronic equipment
CN111460474B (en) Method, device, memory and computer for implementing decentralization predictor
JP7494205B2 (en) Preventing the accidental transmission of copies of data records to the distributed ledger system
US20200202016A1 (en) Blockchain authorization
WO2023045617A1 (en) Transaction data processing method and apparatus, device and medium
CN111464319B (en) A transaction storage and signature verification method based on a centralized blockchain ledger
US20260012366A1 (en) Decentralized consensus network
JP7460348B2 (en) Transaction processing system and method enabling blockchain expansion
JP7339335B2 (en) A method and system for efficient blockchain processing of high transaction processing volume required by DApps

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220414

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230817

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20231114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20241217

R150 Certificate of patent or registration of utility model

Ref document number: 7607583

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150