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
JP7574990B2 - Information processing device and program - Google Patents
[go: Go Back, main page]

JP7574990B2 - Information processing device and program - Google Patents

Information processing device and program Download PDF

Info

Publication number
JP7574990B2
JP7574990B2 JP2022174839A JP2022174839A JP7574990B2 JP 7574990 B2 JP7574990 B2 JP 7574990B2 JP 2022174839 A JP2022174839 A JP 2022174839A JP 2022174839 A JP2022174839 A JP 2022174839A JP 7574990 B2 JP7574990 B2 JP 7574990B2
Authority
JP
Japan
Prior art keywords
role
transaction
information processing
information
connection destination
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
JP2022174839A
Other languages
Japanese (ja)
Other versions
JP2023014079A5 (en
JP2023014079A (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.)
Earlyworks Co Ltd
Original Assignee
Earlyworks Co Ltd
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 Earlyworks Co Ltd filed Critical Earlyworks Co Ltd
Publication of JP2023014079A publication Critical patent/JP2023014079A/en
Publication of JP2023014079A5 publication Critical patent/JP2023014079A5/ja
Application granted granted Critical
Publication of JP7574990B2 publication Critical patent/JP7574990B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報処理装置及びプログラムに関する。 The present invention relates to an information processing device and a program.

近年、分散型台帳技術をはじめとする分散情報システムが、暗号通貨や各種情報の記録、資産の流通等において利用され始めている。
ここで、分散型台帳技術とは、電子署名とハッシュポインタを使用し改ざん検出が容易なデータ構造を持ち、且つ、当該データをネットワーク上に分散する多数のノードに保持させることで、高可用性及びデータ同一性等を実現する技術である。
そして、参加者が保有する記録を電子的に管理する帳簿を分散型台帳と呼ぶ。
このような分散情報システムの一例として、例えば、暗号通貨送金システムのような分散情報システム(非特許文献1を参照)が提案されている。非特許文献1には、分散型台帳技術によって金融機関などの中央管理機関を介することなく、P2Pネットワーク上で、二重支払の危険性を排除し、安全に個人間での通貨の送金を実行する技術が提案されている。
また、データの信憑性を担保するために分散情報システムを用いており、例えば、権利の変動などのデータを管理するための技術が提案されている(特許文献1を参照)。
In recent years, distributed information systems, including distributed ledger technology, have begun to be used for cryptocurrencies, recording various types of information, and distributing assets.
Here, distributed ledger technology is a technology that has a data structure that uses digital signatures and hash pointers to make it easy to detect tampering, and achieves high availability and data integrity by storing the data in a large number of nodes distributed across a network.
A ledger that electronically manages the records held by participants is called a distributed ledger.
As an example of such a distributed information system, for example, a distributed information system such as a cryptocurrency remittance system (see Non-Patent Document 1) has been proposed. Non-Patent Document 1 proposes a technology that uses distributed ledger technology to eliminate the risk of double spending on a P2P network without the intervention of a central management institution such as a financial institution, and to safely transfer currency between individuals.
Also, a distributed information system is used to ensure the authenticity of the data, and a technique for managing data such as changes in rights has been proposed (see Patent Document 1).

特開2018-55203号公報JP 2018-55203 A

Satoshi Nakamoto. Bitcoin: A peer-to-peer electronic cash system, 2008.Satoshi Nakamoto. Bitcoin: A peer-to-peer electronic cash system, 2008.

ここで、一般的に分散型台帳技術等で行われるトランザクション(取引記録)の承認は、ネットワークの維持に参加する全ての参加者によって実施されるのではなく、ネットワークの維持に参加する参加者のうち、所定の条件を満たす参加者(以下、「承認者」と呼ぶ)のみが実行する。
しかしながら、上述の文献に記載された技術を含む従来技術では、承認者を選出する上で多くの時間や消費電力を必要とする、セキュリティ上のリスクが多く存在する等の問題があった。
Generally, approval of transactions (transaction records) performed using distributed ledger technology, etc. is not carried out by all participants participating in maintaining the network, but only by participants who meet certain conditions (hereinafter referred to as "approvers") among those participating in maintaining the network.
However, conventional techniques including the technique described in the above-mentioned documents have problems such as requiring a lot of time and power consumption to select an approver and posing many security risks.

本発明は、このような状況に鑑みてなされたものであり、セキュリティに係る分散情報処理システムにおける処理時間を短縮し、かつ実行すべき処理の大幅な増加にも耐え得る技術を提供することを目的とする。 The present invention was made in light of these circumstances, and aims to provide technology that shortens processing time in a distributed information processing system related to security and can withstand a significant increase in the amount of processing that needs to be performed.

上記目的を達成するため、本発明の一態様の情報処理装置は、
n(nは1以上の任意の整数値)台の他情報処理装置により構成されるネットワークの管理に用いられる情報処理装置であって、
前記n台の他情報処理装置の夫々に対して役割を設定する役割設定手段と、
設定された前記役割に基づいて、前記n台の他情報処理装置の夫々の接続先を決定する接続先決定手段と、
を備える。
In order to achieve the above object, an information processing device according to one aspect of the present invention comprises:
An information processing device used for managing a network configured with n other information processing devices (n is an arbitrary integer value equal to or greater than 1),
a role setting means for setting a role for each of the n other information processing devices;
a connection destination determination means for determining a connection destination of each of the n other information processing devices based on the set role;
Equipped with.

本発明の一態様の情報処理装置に対応するプログラムも、本発明の一態様の情報処理方法として提供される。 A program corresponding to an information processing device according to one embodiment of the present invention is also provided as an information processing method according to one embodiment of the present invention.

本発明によれば、セキュリティに係る分散情報処理システムにおける処理時間を短縮し、かつ実行すべき処理の大幅な増加にも耐え得る技術を提供することができる。 The present invention provides technology that can reduce processing time in a distributed information processing system related to security and can withstand a significant increase in the amount of processing that needs to be performed.

本発明の一実施形態の情報処理装置を含むGLSシステムに係る階層型ネットワーク構造の概念を示す図である。1 is a diagram showing the concept of a hierarchical network structure related to a GLS system including an information processing device according to an embodiment of the present invention. GLSシステムにおけるSNの機能の一例を説明するための図である。FIG. 2 is a diagram for explaining an example of the function of an SN in a GLS system. GLSシステムにかかる環状型ネットワーク構造の一例を示す図である。FIG. 1 is a diagram showing an example of a ring-type network structure in a GLS system. GLSシステムにおけるトランザクションの生成から各種処理の終了までの一連の処理の流れの一例を示す図である。FIG. 2 is a diagram showing an example of a series of processing steps from the generation of a transaction to the completion of various processes in a GLS system. GLSシステムにおけるシグナルノードの機能の一例を説明するための図である。FIG. 2 is a diagram for explaining an example of the function of a signal node in a GLS system. GLSシステムにおけるシグナルノードの機能の一例を説明するための図であり、図5の例とは異なる例を示す図である。FIG. 6 is a diagram for explaining an example of the function of a signal node in a GLS system, and is a diagram showing an example different from the example of FIG. 5 . GLSシステムの構成の一例を示す図である。FIG. 1 is a diagram illustrating an example of a configuration of a GLS system. 図7のGLSシステムのうちRTNのハードウェア構成の一例を示すブロック図である。8 is a block diagram showing an example of a hardware configuration of an RTN in the GLS system of FIG. 7. 図7のGLSシステムのうち、NN、SN、MNおよびRNの機能的構成の一例を示す機能ブロック図である。FIG. 8 is a functional block diagram showing an example of the functional configuration of an NN, an SN, an MN, and an RN in the GLS system of FIG. 7. GLSシステムにおけるトランザクション処理の流れの一例を示すアローチャートである。1 is an arrow chart showing an example of a flow of transaction processing in a GLS system. GLSシステムにおけるノードのネットワークへの参加処理の流れの一例を示すアローチャートである。1 is an arrow chart showing an example of a flow of a process for a node to join a network in a GLS system. GLSシステムにコンシステントハッシング法を適用する方法の一例を説明する図である。FIG. 1 is a diagram illustrating an example of a method for applying a consistent hashing method to a GLS system.

以下、本発明の実施形態について、図面を用いて説明する。 The following describes an embodiment of the present invention with reference to the drawings.

ここで、図1の説明をするに先立ち、本発明の一実施形態に係る情報処理装置にかかる各種技術や用語などについて説明する。 Before explaining FIG. 1, we will explain various technologies and terminology related to an information processing device according to one embodiment of the present invention.

従来より、多くの分散型台帳に関するシステムにおいて利用されている技術の一つにブロックチェーンと呼ばれる技術が存在する。この技術は、新規の情報を新たに記録する場合に、データの単位を構成するブロックが直前のブロックと紐づけられたハッシュを引き継ぎながら、鎖(チェーン)のように連結し、各種情報を保管することができる。
具体的には、ブロックチェーンは、各ブロックがハッシュポインタを用いて一方向に連結している、各ブロックには電子署名が付与されている、トランザクションが多数含まれており、トランザクション同士もインデックスなどのポインタで連結されているなどの要素を含み得ることが知られている。
すなわち、ブロックチェーンとは、電子署名やハッシュポインタなどを利用し改ざん検出が容易なデータ構造を保持し、かつ当該データをネットワーク上に分散して保持させることで、データの高可用性および同一性などを実現する技術である。
ブロックチェーンは、通常、P2P(Peer to Peer)などの分散型のネットワークにより管理され、後続のすべてのブロックを変更しない限り遡及的に変更することができない。すなわち、ブロックチェーンとして記憶された情報の改ざんは、不可能ではないものの、現実的には極めて困難であると考えられている。このような理由から、ブロックチェーンは、ビットコインなどの仮想通貨を始め、様々な資産や取引の管理に利用されている。
しかしながら、従来の分散情報システムにおいて、トランザクションの承認者を選出する際の時間や消費電力、そしてセキュリティ上のリスクについて、問題点が指摘されていた。
また、ビットコイン等で採用されるプルーフオブワークという手法においては、承認者に関する情報を各サーバが送受信するための時間を要したり、いわゆる51%攻撃と呼ばれる確定したトランザクションが悪意の攻撃者により覆されるような、悪意を持った第三者により不正なトランザクションが承認されてしまうというセキュリティ上の危険性が指摘されていた。さらに、トランザクションの承認時にトランザクションの承認と同時に覆らない情報として確定した状態(以下、「ファイナリティ」とも呼ぶ)を付与できないという問題もあった。
さらに言えばこれらの分散型台帳に関するシステムにおいては、中央集権的にデータを一元管理する者が存在しない中で、多くの参加者がネットワークに接続したコンピュータを稼働させ、情報(例えば、ブロックチェーン)を共有し、多くの演算を行うことで各取引を承認し、情報の偽造等を防ぐ。そのため、結果的に膨大な演算が行われるため、消費される電力も膨大となるという問題も存在する。
One of the technologies that has been used in many distributed ledger systems is called blockchain. When new information is recorded, this technology links blocks that make up a unit of data like a chain, inheriting the hash associated with the previous block, and can store various types of information.
Specifically, it is known that a blockchain can include elements such as each block being linked in one direction using a hash pointer, each block being assigned a digital signature, and containing a large number of transactions that are also linked to each other using pointers such as indexes.
In other words, blockchain is a technology that uses electronic signatures and hash pointers to maintain a data structure that makes it easy to detect tampering, and distributes and stores the data across a network, thereby achieving high availability and integrity of data.
Blockchains are usually managed by a distributed network such as P2P (Peer to Peer), and cannot be retroactively changed unless all subsequent blocks are changed. In other words, although it is not impossible to tamper with information stored as a blockchain, it is considered to be extremely difficult in reality. For this reason, blockchains are used to manage various assets and transactions, including virtual currencies such as Bitcoin.
However, problems have been pointed out in conventional distributed information systems regarding the time and power consumption required to select a transaction approver, as well as security risks.
In addition, in the method called Proof of Work adopted by Bitcoin etc., security risks have been pointed out, such as the time required for each server to send and receive information about approvers, and the so-called 51% attack, in which a confirmed transaction can be overturned by a malicious attacker, allowing a malicious third party to approve an illegal transaction. Furthermore, there is also a problem in that it is not possible to give a confirmed state (hereinafter also referred to as "finality") as irreversible information at the same time as the transaction is approved.
Furthermore, in these distributed ledger systems, there is no centralized data manager, and many participants operate computers connected to the network, share information (e.g., blockchain), and perform many calculations to approve each transaction and prevent information falsification, etc. As a result, a huge number of calculations are performed, which also poses the problem of huge amounts of electricity consumption.

ここで、トランザクションとは、例えば、取引の内容や各種処理の結果などを記録した所定単位の情報に電子署名が付与されたデータである。電子署名とは、トランザクション作成者の秘密鍵によって、上述の情報の所定単位の情報を署名したデータと、秘密鍵と対となる公開鍵の情報が付与されたデータのことである。
すなわち、トランザクションとは、例えば、いつ、誰から、誰に、いくら、送金したなどの取引の内容や各種処理の結果に電子署名が付与された情報である。
また、トランザクションは、所定の規則に従って承認されることで、承認と同時、あるいは将来、そのトランザクションは改ざんの検出が容易な情報として確定する。
Here, a transaction is data to which an electronic signature has been added to a predetermined unit of information that records, for example, the contents of a transaction, the results of various processes, etc. An electronic signature is data in which the predetermined unit of information described above is signed with the private key of the transaction creator, and to which information on the public key that pairs with the private key has been added.
That is, a transaction is information to which an electronic signature is affixed to the details of a transaction, such as when, from whom, to whom, how much, and the results of various processes.
In addition, when a transaction is approved according to certain rules, the transaction is established as information whose tampering can be easily detected at the same time as it is approved, or in the future.

つまり、分散型台帳に関するシステムにおけるネットワーク(以下、「分散型台帳ネットワーク」、または単に「ネットワーク」と呼ぶ)に参加する参加者(各ノード)が、分散型台帳ネットワークにより生成された各トランザクションを検証し、承認を行った後、複数のトランザクションを単体あるいはブロック単位等で連結することで「ブロックチェーン」を構成する。
なお、ノードとは、ネットワークを構成する情報処理装置の夫々である。
すなわち、ブロックチェーンを構成する承認済みのトランザクションは、トランザクションが格納されたブロックがハッシュ値などにより連結されることで、改ざんの検出が容易なものとなり、また、過去から現在に至るまでのトランザクションの履歴を追跡することができる。
In other words, participants (each node) in the network in a distributed ledger system (hereinafter referred to as the "distributed ledger network" or simply "network") verify and approve each transaction generated by the distributed ledger network, and then link multiple transactions individually or in blocks, etc. to form a "blockchain."
A node is each of the information processing devices that make up the network.
In other words, approved transactions that make up a blockchain are linked to the blocks in which the transactions are stored using hash values or other methods, making it easier to detect tampering and allowing the history of transactions from the past to the present to be tracked.

この点、本発明の一実施形態の情報処理装置を含む情報処理システム(以下、「GLSシステム」と呼ぶ)は、このような分散情報システムやブロックチェーンなどの各種技術を利用した、ネットワークを介した資産の管理等に利用される情報処理ステムである。
GLSシステムでは、後述する各種構造(例えば、階層型ネットワーク構造)を採用し、各階層に存在するノードの役割(例えば、トランザクションの承認等)が予め決定されている。そして、承認の実行対象であるトランザクションには、後述するシグナル(システム内時間を付与されたデータ)により、信頼できるシステム内時間を付与することができる。このような正確なシステム内時間を参照して承認が行われることで、GLSシステムは、承認するノードの優先順位などを容易に決定することができる。なお、システム内時間とは、GLSシステムにおいて、各ノードが参照する時間情報である。
以上をまとめると、GLSシステムは、各種構造(例えば、階層型ネットワーク構造)に沿って、承認に関する各種役割を設定する。そして、GLSシステムは、夫々に設定された役割に対して、正確に付与されたシステム内時間を利用することで、序列や順番を一意に確定する。これにより、GLSシステムでは、トランザクションの承認処理において、夫々のノードに対して序列や順番などを含めた明確な役割を与え、従前の分散型台帳に関するシステムで問題となっている二重承認などのリスクを大幅に低減することができる。
In this regard, an information processing system (hereinafter referred to as the "GLS system") including an information processing device of one embodiment of the present invention is an information processing system used for managing assets via a network, utilizing various technologies such as distributed information systems and blockchains.
The GLS system employs various structures (e.g., hierarchical network structures) described below, and the role of nodes present in each layer (e.g., approving transactions, etc.) is determined in advance. A reliable system time can be assigned to a transaction that is the subject of approval by a signal (data to which system time is assigned) described below. By performing approval with reference to such accurate system time, the GLS system can easily determine the priority order of approving nodes. Note that system time is time information that each node refers to in the GLS system.
In summary, the GLS system sets various roles related to approval according to various structures (e.g., hierarchical network structures). The GLS system then uniquely determines the hierarchy and order by using the system time that is accurately assigned to each role. As a result, the GLS system assigns clear roles, including hierarchy and order, to each node in the transaction approval process, and can significantly reduce the risk of double approval, which has been a problem in conventional distributed ledger systems.

ここで、本実施形態におけるトランザクションの承認は、各ノード(特に後述するRN)による整合性の検証の結果に基づいて実行される。この整合性の検証とは、具体的に例えば、以下のような観点で行うことができる。
(1)電子署名の作成者がトランザクションの作成者と一致すること。すなわち、トランザクションに付与されている電子署名が作成者によるものであり、かつ不正ではないこと。
(2)トランザクションデータの改ざんが行われていないこと(電子署名による確認)。
(3)対象のトランザクションが、検証するノードにおいて未処理であること。
(4)トランザクションに含まれる資産(データ)が未使用であり、正しく保有されていること。
(5)トランザクションの内容が不正ではないこと。例えば、金融資産の送金の場合保有する資産以上の金額が送金されていないこと。
すなわち、GLSシステムでは、各ノード(特に後述するRN)がトランザクションに対して、上記のような観点における整合性の検証を行うことで、トランザクションの承認を実現する。
In this embodiment, approval of a transaction is performed based on the results of verification of consistency by each node (particularly RN, which will be described later). Specifically, the verification of consistency can be performed, for example, from the following perspectives:
(1) The creator of the electronic signature is the same as the creator of the transaction, i.e., the electronic signature affixed to the transaction is genuine and not fraudulent.
(2) The transaction data has not been tampered with (confirmed by electronic signature).
(3) The target transaction is pending at the verifying node.
(4) The assets (data) included in the transaction are unused and properly held.
(5) The content of the transaction is not fraudulent. For example, in the case of a transfer of financial assets, the amount transferred must not exceed the amount of the assets held.
That is, in the GLS system, each node (particularly the RN described below) verifies the consistency of a transaction from the above-mentioned perspectives, thereby realizing approval of the transaction.

続いて、GLSシステムの目的について、さらに詳細に説明する。
まず、分散型台帳ネットワークにおけるトランザクションの生成には、所定の条件が設けられることがある。
例えば、プルーフオブワークにおいて、参加者は分散型台帳ネットワークに参加するサーバによる演算処理競争を行い、定められた条件を満たす解データ(以下、「ナンス」と呼ぶ)を探す。そして、条件を満たすナンスを探索できた参加者のみが、見つけたナンスをもとに承認済みのトランザクションを生成し、他の参加者にそれを送信するとともに、自身の分散型台帳に承認済みのトランザクションを記録する。さらに、承認済みのトランザクションを受け取った参加者の夫々が承認済みのトランザクションに格納されているトランザクションの検証や生成条件の検証等を行うことで、不正がないことを確認して、自身が持つ分散型台帳に記録することになる。
なお、トランザクションの偽造及び改ざんの防止を目的とする分散型台帳を用いた技術の一例としては、例えば、ビットコイン(例えば、非特許文献1を参照)やイーサリアムがある。これらの手法で利用されている各種技術(例えば、プルーフオブワーク)は本発明において、応用することもできる。
Next, the purpose of the GLS system will be explained in more detail.
First, certain conditions may be placed on the creation of transactions in a distributed ledger network.
For example, in proof of work, participants compete in computational processing by servers participating in the distributed ledger network to search for solution data (hereinafter referred to as "nonce") that meets the specified conditions. Only the participants who can find a nonce that meets the conditions generate an approved transaction based on the found nonce and send it to other participants while recording the approved transaction in their own distributed ledger. Furthermore, each participant who receives the approved transaction verifies the transaction stored in the approved transaction and the generation conditions, etc., to confirm that there is no fraud, and records it in their own distributed ledger.
Examples of technologies using a distributed ledger aimed at preventing transaction forgery and tampering include Bitcoin (see, for example, Non-Patent Document 1) and Ethereum. Various technologies (for example, proof of work) used in these methods can also be applied to the present invention.

これに対して、GLSシステムでは、「トランザクションの承認時間が一定時間必要であり、最終的な決済処理が遅いこと」、「ビジネスユースにおいて求められる1秒間当たりのトランザクション処理数(以下、「TPS(Transaction Per Second)」と呼ぶ)を実現できないこと」、「ネットワークの拡張に耐え得るスケーラビリティを欠くこと」等の課題に対して、その解決を実現することを目的の一つとしている。 In response to this, one of the goals of the GLS system is to provide solutions to issues such as "the fixed amount of time required for transaction approval, resulting in slow final settlement processing," "the inability to achieve the number of transactions processed per second (TPS) required for business use," and "the lack of scalability to withstand network expansion."

GLSシステムでは、「権力の非集中化」、「管理の中央集権化」、「追及された利便
性」という3つの観点でアプローチを行うことで、上述の中央集権による課題および分散による課題の双方の解決を目指すものである。以下、具体的に説明する。
権力の非集中化とは、情報が一極集中化することによって問題となった、中央管理者による悪意をもったデータの作成、或いは改ざんによるユーザの不利益を解消し、公平かつ安心なシステムを実現することを指す。
GLSシステムにおいては、ユーザが参加者として、全データの整合性を常に検証することによって、悪意を持ったデータの有無、或いは改ざんなどを常に監視することができる。
管理の中央集権化とは、従来の分散型台帳の課題である「参加者の自己責任性」及び「資産やデータ管理における危険性」を低減したシステムを実現することを指す。具体的には一例として、従来、ユーザは資産を管理する上で必須となる秘密鍵などの紛失による資産全凍結の危険性がある。ユーザの秘密鍵を中央管理者によってバックアップとして保有することができ、秘密鍵の管理の責任を中央管理者でも負うことができる。
追及された利便性とは、GLSシステムが実社会に要求される「速い処理速度」、「高いスケーラビリティ」を実現することによって、中央集権システムと同等のユーザビリティを実現することを指す。
The GLS system aims to solve both the problems caused by centralization and the problems caused by decentralization by taking an approach from three perspectives: "decentralization of power,""centralization of management," and "pursuit of convenience." The specifics are explained below.
Decentralization of power refers to realizing a fair and secure system by eliminating the problems that have arisen from the centralization of information, such as the malicious creation or tampering of data by central administrators, causing inconvenience to users.
In the GLS system, users, as participants, can constantly verify the consistency of all data, thereby constantly monitoring for the presence or absence of malicious data or tampering.
Centralization of management refers to the realization of a system that reduces the issues of "self-responsibility of participants" and "risks in asset and data management" that were problems with conventional distributed ledgers. As a specific example, in the past, users were at risk of having their assets frozen due to loss of private keys, which are essential for managing assets. Users' private keys can be held as backups by the central administrator, and the central administrator can also take responsibility for managing the private keys.
The convenience sought means that the GLS system will achieve the "fast processing speed" and "high scalability" required in the real world, thereby achieving usability equivalent to that of a centralized system.

すなわち、GLSシステムの目的の一つは、例えば、上述の分散型台帳技術が有する情報システムによる耐改ざん性及び所定の当事者に要求される信頼及び責任を軽減する特性に加えて、併せて、消費電力問題を解消し、トランザクションの確定までに要する時間を短縮化し、確定すべきトランザクションの大幅な増加にも適応する処理能力を保持する技術を提供することと言い換えることができる。
そして、このような目的を達成すべくGLSシステムでは、例えば「階層型ネットワーク構造」、「環状型ネットワーク構造」をはじめとする、様々な構造や機能を採用する。
In other words, one of the objectives of the GLS system can be rephrased as providing a technology that not only provides the tamper-resistance of the information system and the characteristics of the above-mentioned distributed ledger technology that reduce the trust and responsibility required of a given party, but also resolves power consumption issues, shortens the time required for a transaction to be confirmed, and has the processing power to accommodate a significant increase in the number of transactions to be confirmed.
In order to achieve this objective, the GLS system employs various structures and functions, including, for example, a "hierarchical network structure" and a "ring-type network structure."

まず、GLSシステムの特徴の一つである「階層型ネットワーク構造」について説明する。
図1は、GLSシステムおける階層型ネットワーク構造の概念を説明するための図である。
GLSシステムでは、ネットワークを構成するノードの夫々に4種の役割を設定し、各ノードをレイヤー毎に振り分けることで、トランザクションに関する各種処理を最適化する。
ここで、役割が設定されたノードとは、例えば、「ルートノード(以下、「RN」と呼ぶ)」、「マスターノード(以下、「MN」と呼ぶ)」、「スーパーノード(以下、「SN」と呼ぶ)」、「ノーマルノード(以下、「NN」と呼ぶ)」の4種である。続いて、各ノードが果たす役割の詳細について、説明する。
First, the "hierarchical network structure," which is one of the features of the GLS system, will be described.
FIG. 1 is a diagram for explaining the concept of a hierarchical network structure in a GLS system.
In the GLS system, four types of roles are assigned to each of the nodes that make up the network, and various transaction-related processes are optimized by assigning each node to a layer.
Here, the nodes to which roles are assigned are, for example, four types: "root node (hereinafter referred to as "RN"),""master node (hereinafter referred to as "MN"),""super node (hereinafter referred to as "SN")," and "normal node (hereinafter referred to as "NN")." Next, the roles played by each node will be described in detail.

RNの役割は、GLSシステムにおけるトランザクションの承認プロセスにおいて最終的な承認を行うことである。このRNは、後述するMNのうちから1のノードが選出される。なお、RNに選出される対象となるMNの集合をルートノード候補(以下、「RN候補」と呼ぶ)と呼ぶ。
これにより、GLSシステムは、承認するノードの数を限定することでトランザクションの承認プロセスを全体として高速化することができる。また、1のRNのみを選出することになるため、複数台が同一のトランザクションを承認するといった事態を防止することができる。ただし、設計によっては同時に複数台のRNが夫々同時に互いに異なるトランザクションの承認処理を実行してもよい。
The role of the RN is to perform the final approval in the approval process of transactions in the GLS system. One node is selected as this RN from among the MNs described below. The set of MNs to be selected as RNs is called root node candidates (hereinafter referred to as "RN candidates").
This allows the GLS system to speed up the overall transaction approval process by limiting the number of nodes that approve. Also, because only one RN is selected, it is possible to prevent multiple RNs from approving the same transaction. However, depending on the design, multiple RNs may simultaneously execute approval processes for different transactions.

ここで、RN選出のルールは特に規定はなく任意であるが、例えば、順列によるRNの選出方式があげられる。
以下、順列によるRNの選出方法について簡単に説明する。RNは候補である各MNから例えば、以下のような方法により選出される。
例えば、RN候補である各MNは、各RN候補のMNの公開鍵と対応する承認を担当する期間を含む情報(以下、「トークン」と呼ぶ)を、一定期間毎に他のMNへ送信する。各MNは、トークンを受信して、自身の公開鍵とトークンを照らし合わせて、自身が承認を担当する期間内である場合には、RNとなり承認を実行する。
このようにMNがRNの選出候補となる利点の一つは、例えばトランザクションを承認するに際して、事前に信頼できるノード(RN)が選出されていることにより、所定のプロトコルに従った高速な承認処理を実現できる点にある。換言すれば、従来の分散型台帳技術で使われるナンスに基づいたハッシュ値の算出を省略することができ、RNが一時的に中央サーバのように振舞うことで高速にトランザクションを承認できると考えることができる。
Here, the rules for selecting an RN are not particularly specified and are arbitrary, but an example of the method is a method for selecting an RN by permutation.
A method for selecting an RN by permutation will be briefly described below. An RN is selected from each candidate MN, for example, by the following method.
For example, each MN that is a RN candidate transmits information (hereinafter referred to as a "token") including the public key of the MN and the period during which it is responsible for approval to other MNs at regular intervals. Each MN receives the token, compares its own public key with the token, and becomes an RN and performs approval if it is within the period during which it is responsible for approval.
One of the advantages of MN being a candidate for RN selection is that, for example, when approving a transaction, a reliable node (RN) has been selected in advance, which allows for high-speed approval processing according to a specified protocol. In other words, it is possible to omit the calculation of a hash value based on a nonce used in conventional distributed ledger technology, and it can be thought of as being able to approve transactions quickly by RN temporarily acting as a central server.

また、RNの選出に用いられるMNの優先順位付けは、上述のとおり改ざん不可能である過去のトランザクションからのみ行うことで、不正なRNの選出を困難とし、透明性のある公平なRN選出として機能する。
さらに言えば、GLSシステムは、例えば、各ノードによるトランザクションの整合性の徹底的な検証、MNによる相互監視によって不正なトランザクションの承認を防止するシステム制御、MNの厳しい設置条件などを、RN選出のルールに追加して採用することもでき、これにより、さらに効率よく悪意の改ざん等を排除し、セキュリティを担保しつつ高い処理速度を実現することができる。
In addition, the prioritization of MNs used in selecting RNs is performed only based on past transactions that cannot be tampered with, as described above, making it difficult to select an unauthorized RN and functioning as a transparent and fair RN selection system.
Furthermore, the GLS system can also adopt additional rules for RN selection, such as thorough verification of transaction integrity by each node, system control that prevents the approval of fraudulent transactions through mutual monitoring by MNs, and strict installation conditions for MNs, thereby making it possible to more efficiently eliminate malicious tampering and achieve high processing speeds while ensuring security.

MNの役割は、RNに選出される候補となること、SNや他のMNへのトランザクションの送信、MNやRNの監視等である。以下、詳細に説明する。
また、MNのうちRNに選出されなかったMNは、RNの承認行動の監視を行う役割を担っている。換言すれば、RNにより承認されたトランザクションの整合性は、トランザクションを受け取った各ノードによって必ず確認され、不整合なトランザクションが検知された場合は、そのトランザクションは破棄される。そのため、不整合なトランザクションが送信された場合であっても、それはネットワーク全体へは波及しないため、整合性がとれたトランザクションのみがチェーンとして繋がり、その結果、信憑性があるデータのみが分散型台帳に保存される。
その上で、例えば、悪意を持って不正なトランザクションを承認し、送信しようとするRNは、MNが管理するブラックリストに登録され、RNの候補から排除される仕組みが、GLSシステムに採用されてもよい。
The role of the MN is to be a candidate to be selected as an RN, to send transactions to SNs and other MNs, to monitor MNs and RNs, etc. This will be explained in detail below.
In addition, MNs that are not selected as RNs among MNs are responsible for monitoring the approval behavior of RNs. In other words, the consistency of a transaction approved by RN is always confirmed by each node that receives the transaction, and if an inconsistent transaction is detected, the transaction is discarded. Therefore, even if an inconsistent transaction is sent, it does not spread to the entire network, so only consistent transactions are connected as a chain, and as a result, only reliable data is stored in the distributed ledger.
In addition, the GLS system may adopt a mechanism in which, for example, RNs that maliciously approve and attempt to send fraudulent transactions are registered on a blacklist managed by the MN and excluded from being candidate RNs.

また例えば、GLSシステムは、例えば、一定時間ごとに選出するRNを切り替える制御を実行してもよい。これにより、RNやMNへの各種攻撃等によって、ノードがダウンした場合にも、他のRN候補が各ノードのダウンを検知し、RNとしてトランザクションの承認とRNの選出を続けることで、攻撃によりGLSシステム全体が停止するような事態を避けることができる。そのため、それまでサーバの弱点であった単一障害点を分散型台帳技術の使用により解消することで、GLSシステムにおけるシステム負荷の分散やシステムのゼロダウンタイムの実現が期待できる。 For example, the GLS system may also execute control to switch the RN selected at regular intervals. As a result, even if a node goes down due to various attacks on RNs or MNs, other RN candidates will detect the node's downtime and continue approving transactions and selecting RNs as RNs, thereby preventing the entire GLS system from being stopped by an attack. Therefore, by using distributed ledger technology to eliminate the single point of failure that was previously a weakness of servers, it is expected that the system load in the GLS system will be distributed and zero system downtime will be achieved.

SNの役割は、トランザクション発行の役割を持つNNと、トランザクションを承認する役割を持つMNとの間をとり持つように接続することで、通信量の増大により各MNへ集中する負荷を緩和し、各MNの情報処理を補助することである。以下、具体的に説明する。
詳細は後述するが、NNはトランザクションを生成する役割を有し、NNが生成したトランザクションは、当該NNが接続している他のNN及びSNに送信される。そして、トランザクションを受け取ったNNは、デジタル署名の整合性等を確認した後、そのトランザクションの情報を自身のデータベース等に格納し、接続しているNN及びSNにも転送される。このようなやり取りが各ノードによって同様に繰り返されることで、ネットワーク全体にトランザクションが波及されていく。
この点、従来の一般的な分散型台帳ネットワークなどでは、各々が保有している最新のトランザクションの有無を確認する工程を経て、各々が保有する最新のトランザクションを送受信する。これにより、ノード間でトランザクションを送受信する回数が最低限になるため、不必要で過剰な同一のトランザクションが、氾濫することを防いでいる。
これに対して、GLSシステムにおいて、各ノード(SNやNN)は、自身が受け取ったトランザクションと同一の内容の情報が既に自身のデータベース等に格納されていた場合、転送を行わずに、当該トランザクションを破棄することができる。これにより、GLSシステムでは、ネットワークにおいて不必要で過剰な同一のトランザクションが氾濫することを防ぐことできる。加えて、最新のトランザクションの有無を確認せずに送受信するため、可能な限り少ない時間で、MNまでトランザクションを送信する役割を担っている。図2を参照しつつ、SNの役割について、簡単に説明する。
The role of the SN is to connect between the NN, which has the role of issuing transactions, and the MN, which has the role of approving transactions, thereby easing the load concentrated on each MN due to an increase in communication volume and assisting the information processing of each MN. A specific explanation will be given below.
As will be described in more detail later, the NN has the role of generating transactions, which are then transmitted to other NNs and SNs to which the NN is connected. The NN that receives the transaction then checks the integrity of the digital signature, etc., and stores the transaction information in its own database, etc., and forwards it to the NNs and SNs that it is connected to. This process is repeated by each node in the same way, causing the transaction to spread throughout the entire network.
In this regard, in conventional distributed ledger networks, each node first checks whether it has the latest transaction in its possession, and then transmits and receives the latest transaction it holds. This minimizes the number of times transactions are transmitted between nodes, preventing unnecessary and excessive flooding of the same transactions.
In contrast, in the GLS system, if a node (SN or NN) finds that the same information as the transaction it received is already stored in its own database, it can discard the transaction without transferring it. This makes it possible for the GLS system to prevent unnecessary and excessive flooding of the network with the same transactions. In addition, since it transmits and receives without checking whether the latest transaction exists, it plays a role in transmitting the transaction to the MN in the shortest possible time. The role of the SN will be briefly explained with reference to FIG. 2.

図2は、GLSシステムにおけるSNの役割の詳細を説明するための図である。
図2の例では、ネットワークに存在するx個のNNに対して、トランザクションが送信される場合の例、すなわち、1のSNに対してx個の同一のトランザクションが送信される場合の例が示されている。
この例では、NNの夫々はyのSNに接続しているので、単純計算でx×yの同一のトランザクションが複数のSNの夫々に送信されることになる。仮に、GLSシステムのネットワーク上にSNが存在しないとすれば、大量の同一のトランザクションがMNへ送信され、それらの処理には大きな負荷が生じ、MNの承認作業の遅延が引き起こされることになる。
これに対して、SNは、自身がx個の同一のトランザクションを取得した段階で、x-1個の同一のトランザクションを破棄し、残存した1のトランザクションのみをMNに送信するため、MNが受け取ることになるトランザクションは最低限のもののみとなり、MNは自身の役割にのみ注力することができ、単一時間当たりのトランザクションの処理数を向上することが期待できる。
FIG. 2 is a diagram for explaining the details of the role of the SN in the GLS system.
In the example of FIG. 2, an example is shown in which a transaction is sent to x NNs present in the network, that is, an example is shown in which x identical transactions are sent to one SN.
In this example, since each NN is connected to y SN, simple calculations show that the same x x y transaction is sent to each of the multiple SNs. If SNs were not present on the GLS system network, a large number of identical transactions would be sent to the MN, causing a large load in processing them and causing delays in the approval process of the MN.
In contrast, when the SN acquires x number of identical transactions, it discards x-1 number of identical transactions and sends only the one remaining transaction to the MN. This means that the MN receives only the bare minimum of transactions, allowing the MN to focus solely on its own role, and is expected to improve the number of transactions processed per unit time.

また、上述のように、SNをNNとMNの間に配置することにより、NNという攻撃者となり得るノードからのMNへの接続をリバースプロキシのように防御することで、特定のMNへの高負荷攻撃や、特定のノードを取り囲み情報を遮断する等の攻撃を回避することができる。これにより、GLSシステムは、さらにセキュリティ上のリスクを低減し、トランザクションの処理を実現することができる。
具体的に例えば、NNは悪意を持って接続先のノードに大量の不正なトランザクションを送信することができ、この不正なトランザクションをMNがすべて受信してしまうことが挙げられる。これによって不正なトランザクションの整合性の検証処理を実行することにCPUのリソースが充てられ、MNのトランザクションの承認処理速度が低下するという事態が起こる場合があるが、上述のSNを採用することによって、これを回避することができる。
In addition, as described above, by placing the SN between the NN and the MN, the SN can be used like a reverse proxy to protect the connection from the NN, a node that can be an attacker, to the MN, thereby making it possible to avoid high-load attacks on a specific MN, attacks that surround a specific node and block information, etc. This allows the GLS system to further reduce security risks and realize transaction processing.
Specifically, for example, a NN may maliciously send a large number of fraudulent transactions to a connected node, and the MN may receive all of these fraudulent transactions. This may result in a situation in which CPU resources are allocated to verifying the integrity of the fraudulent transactions, slowing down the approval processing speed of the MN's transactions, but this can be avoided by adopting the above-mentioned SN.

続いて、NNの役割を説明する。NNの役割は、GLSシステムにおけるトランザクションの生成と、自身と接続しているNNとSNに対してトランザクションを波及させる役割を担っている。
なお、GLSシステムにおけるNN及びSNは、任意に設計した複数の同位(同種)ノード及び複数の上位ノードと接続されていてもよい。そのため、例えば、特定のノードが正常に機能しなくなった場合であっても、一度NNからネットワークに転送されたトランザクションは、他のノードを迂回経路とすることができるため、結果としてMNまで到達することができる。
Next, the role of the NN will be explained. The NN is responsible for generating transactions in the GLS system and propagating the transactions to the NNs and SNs connected to the NN.
In addition, the NN and SN in the GLS system may be connected to multiple peer (same type) nodes and multiple higher level nodes of any design. Therefore, even if a specific node does not function properly, a transaction once transferred from the NN to the network can be detoured through other nodes, and as a result, it can reach the MN.

続いて、図3及び図4を参照しつつ、GLSシステムの特徴の一つである「環状型ネットワーク構造」について説明する。
図3は、GLSシステムにかかる環状型ネットワーク構造の一例を示す図である。
図3の例では、中心にMN及びRNが配置され、その外側に円を描くようにSNが配置され、さらにその外側にNNが配置されている。このような環状型ネットワーク構造は、中心から末端までの(ネットワーク的な)距離が均一であることにより、情報交換を迅速に、広範囲かつ効率的に行うことが期待できる。
Next, the "ring-type network structure," which is one of the features of the GLS system, will be described with reference to FIGS.
FIG. 3 is a diagram showing an example of a ring-type network structure in a GLS system.
In the example of Fig. 3, MN and RN are placed at the center, SN is placed on the outside of them in a circle, and NN is placed on the outside of that. In such a ring-type network structure, the (network-like) distance from the center to the edge is uniform, so it is expected that information exchange will be performed quickly, widely, and efficiently.

ここで、各ノードは、GLSシステムへの参加を希望する場合、図示せぬ記憶部に保存されている公開鍵と秘密鍵とを用いて生成する電子署名を付与した参加申請を、後述するRTN(ルーターノード)へ送信する。RTNは、任意の規則に基づいて、送信元であるノードの役割、及び役割に基づいて決定された接続先ノードを決定し、送信元の各ノードに、決定された各種情報を送信する。
なお、例えば、RTNは、MN乃至SNとして機能する役割を有する公開鍵の一覧を保有しており、各参加要求元であるノードの電子署名に付与されている公開鍵と照合する。夫々の役割として登録されている公開鍵と合致した場合には所定の役割を、そうでない場合はNNの役割を決定することにより、各ノードの役割等を決定してもよい。ただし、RTNが各ノードの役割を決定する方法や役割の詳細、また、接続先を決定する基準や方法は、任意であり、限定されない。
When each node wishes to participate in the GLS system, it sends a participation application with an electronic signature generated using a public key and a private key stored in a storage unit (not shown) to an RTN (router node) (described later). The RTN determines the role of the sending node and the destination node determined based on the role based on an arbitrary rule, and transmits the determined various information to each sending node.
For example, the RTN has a list of public keys that have roles to function as MN to SN, and compares them with the public keys attached to the electronic signatures of the nodes that have requested participation. If the public keys match those registered as the respective roles, the RTN may determine a specific role, or if not, the RTN may determine the role of the NN, thereby determining the role of each node. However, the method by which the RTN determines the role of each node, the details of the role, and the criteria and method for determining the connection destination are arbitrary and not limited.

続いて、図4を参照しながら、NNにおけるトランザクションの生成から各種処理の終了までの流れについて簡単に説明する。図4は、GLSシステムにおけるトランザクションの生成から各種処理の終了までの流れの一例を示す図である。
ステップSS1において、NNは、実施された取引の内容に応じたトランザクションを生成し、そのトランザクションを、他の複数のNN及び複数のSNの夫々へ送信する。ここでトランザクションを受信した他の複数のNNはステップSS1の処理を同様に実行する。
Next, a brief description will be given of the flow from the generation of a transaction in the NN to the completion of various processes with reference to Fig. 4. Fig. 4 is a diagram showing an example of the flow from the generation of a transaction in the GLS system to the completion of various processes.
In step SS1, the NN generates a transaction according to the content of the executed trade and transmits the transaction to each of the other NNs and SNs. The other NNs receiving the transaction then execute the same process as in step SS1.

ステップSS2において、SNは、ステップSS1でNNから送信されたトランザクションを取得して、そのトランザクションの整合性を検証する。
ステップSS2において、SNは、トランザクションの整合性に問題がなければ、そのトランザクションを、他の複数のSNおよび複数のMNの夫々へ送信する。ここでトランザクションを受信した他の複数のSNは夫々ステップSS2の処理を同様に実行する。
In step SS2, SN receives the transaction sent from NN in step SS1 and verifies the integrity of the transaction.
In step SS2, if there is no problem with the consistency of the transaction, the SN transmits the transaction to each of the other SNs and MNs. Each of the other SNs that receive the transaction then executes the same process of step SS2.

ステップSS3において、MNは、ステップSS2でSNから送信されたトランザクションを取得して、そのトランザクションの整合性を検証する。ステップSS3において、MNは、トランザクションの整合性に問題がなければ、そのトランザクションを他の複数のMNおよびRNの夫々へ送信する。ここでトランザクションを受信した他の複数のMNは夫々ステップSS3の処理を同様に実行する。 In step SS3, the MN obtains the transaction sent from the SN in step SS2 and verifies the integrity of the transaction. In step SS3, if there is no problem with the integrity of the transaction, the MN sends the transaction to each of the other multiple MNs and RNs. Each of the other multiple MNs that receive the transaction then similarly executes the process of step SS3.

ステップSS4において、RNは、ステップSS3で取得したトランザクションの整合性を検証する。ステップSS4において、RNは、トランザクションの整合性に問題がなければ、そのトランザクションを承認し、承認済みトランザクションを生成する。
ステップSS5において、RNは、ステップSS4で生成した承認済みトランザクションを、MNの夫々へ送信する。
In step SS4, RN verifies the integrity of the transaction acquired in step SS3. If there is no problem with the integrity of the transaction, RN approves the transaction and generates an approved transaction.
In step SS5, the RN sends the approved transaction generated in step SS4 to each of the MNs.

ステップSS6において、MNは、ステップSS5で送信された承認済みトランザクションを取得して、承認済みトランザクションの整合性を検証する。ステップSS6において、MNは、承認済みトランザクションの整合性に問題がなければ、当該承認済みトランザクションをSNへ送信する。ここでトランザクションを受信した他の複数のMNは夫々ステップSS6の処理を同様に実行する。 In step SS6, the MN obtains the approved transaction sent in step SS5 and verifies the integrity of the approved transaction. In step SS6, if there is no problem with the integrity of the approved transaction, the MN sends the approved transaction to the SN. Each of the other MNs that received the transaction then similarly executes the process of step SS6.

ステップSS7において、SNは、ステップSS6でMNから送信された承認済みトランザクションを取得して、承認済みトランザクションの整合性を検証する。ステップSS7において、SNは、承認済みトランザクションの整合性に問題がなければ、その承認済みトランザクションをNNに送信する。 In step SS7, the SN obtains the approved transaction sent from the MN in step SS6 and verifies the integrity of the approved transaction. In step SS7, if there is no problem with the integrity of the approved transaction, the SN sends the approved transaction to the NN.

ステップSS8において、NNは、ステップSS7でSNから送信されてきた承認済みのトランザクションを取得する。これにより、トランザクションの生成から各種処理の終了までの流れは終了する。なお、各ノードによる処理の詳細については、図10および図11等を参照しつつ、後述する。 In step SS8, NN obtains the approved transaction sent from SN in step SS7. This completes the flow from transaction generation to the end of various processes. Details of the processing by each node will be described later with reference to Figures 10 and 11, etc.

ここで重要な点は、この環状型ネットワーク構造を採用したGLSシステムでは、MN、SN、NNの順という中心から末端まで並びは変わらず、常に一定の転送回数で各ノードへの情報伝達が完了する点である。また、情報を受信するタイミングの位置関係による格差が最小限となることでノード毎の情報に対する不公平さが排除され、かつ処理時間を短縮・適正化することが期待できる点である。
具体的には、図3の例では、所定のNNによって作成されたトランザクションAは、SN、MNの順に送信される。MNがRNになった時、受信したトランザクションAを承認し、MN、SN、NNの順に送信され、全NNは承認されたトランザクションを受け取ることができる。
つまり、これらをまとめると、階層型ネットワーク構造により各役割が割り当てられた各ノードの夫々は、環状構造により各役割の各ノードの円形の自己相似的な構造を実現することができる。
なお、ここで言う環状構造とは、各ノードのネットワーク的な距離を均等にしてネットワーク上に配置する構造を意味する。具体的に例えば、環状構造は、1以上の複数階層によって構成され、またはネットワーク全体を構成するノードに関する情報を有するサーバなどが存在し、接続要求元のノードのリクエストに対して接続先のノードの情報を返却する構造などを備えていれば足りる。
このような構造を実現することで各ノードの位置関係が均等となるため距離の問題による同期のタイミングの誤差や情報の格差を防ぐことができ、結果としてトランザクションの送信、承認、そして受信に至るまでのレイテンシが最小化されることになる。また、環状型ネットワーク構造を実現することで、ネットワークに参加する複数台のMNが並列的に同時に承認処理を実行することが容易となり、トランザクションの承認処理を高速化し、スケーラビリティを確保することができる。
The important point here is that in the GLS system that adopts this ring-type network structure, the order of MN, SN, NN does not change from the center to the edge, and information transmission to each node is always completed with a fixed number of transfers. In addition, by minimizing the difference in timing of receiving information due to the positional relationship, it is expected that unfairness of information for each node will be eliminated and processing time will be shortened and optimized.
Specifically, in the example of Figure 3, transaction A created by a given NN is sent in the order SN, then MN. When the MN becomes an RN, it approves the received transaction A, which is then sent in the order MN, SN, and NN, so that all NNs can receive the approved transaction.
In other words, to summarise, each node to which a role is assigned in the hierarchical network structure can realise a circular self-similar structure of each node with each role in the ring structure.
The term "ring structure" as used herein means a structure in which the nodes are arranged on the network with equal network distances between them. Specifically, for example, the ring structure may be configured with one or more layers, or may have a server or the like that has information about the nodes that make up the entire network, and may have a structure that returns information about the connection destination node in response to a request from the connection request source node.
By realizing such a structure, the relative positions of each node are equalized, which prevents errors in synchronization timing and information gaps caused by distance issues, and as a result, minimizes the latency from transaction transmission, approval, and reception. Also, by realizing a ring-type network structure, it becomes easy for multiple MNs participating in the network to simultaneously execute approval processing in parallel, which speeds up transaction approval processing and ensures scalability.

また、この環状型ネットワーク構造を採用したGLSシステムでは、ネットワークに流れる情報の量に応じてMNやSNの台数を増減させてもよい。例えば、ネットワークに流れるトランザクションの量に対してMNが過剰な場合、余剰と見なされるMN群が自動でスリープし、ネットワーク内の転送やトラフィックを最適化してもよい。一方、トランザクションに対してMNの供給が不足している場合、スリープ状態のMNを起動させることで、トランザクションの処理に充当することもできる。なお、SNについても同様である。このような仕組みは、ネットワークの規模を調整し、ノード同士で交換されるトランザクションの転送回数を削減し処理速度の向上やTPSの向上、ネットワーク全体の消費電力の適正化等の利点が存在する。 In addition, in a GLS system that employs this ring-type network structure, the number of MNs and SNs may be increased or decreased depending on the amount of information flowing through the network. For example, if there are an excess of MNs compared to the amount of transactions flowing through the network, the MNs considered to be surplus may go to sleep automatically, optimizing transfers and traffic within the network. On the other hand, if there is an insufficient supply of MNs for transactions, sleeping MNs can be woken up to process the transactions. The same applies to SNs. This type of mechanism has the advantages of adjusting the scale of the network, reducing the number of transfers of transactions exchanged between nodes, improving processing speed, improving TPS, and optimizing power consumption throughout the network.

さらに、GLSシステムにおいて採用され得る特徴的なデータ構造の詳細について説明する。具体的に例えば、(1)MNの管理を行うヘッダー、(2)システム内時間を管理するシグナル、(3)取引の記録として機能するDAG(Directed-Acyclic-Graph)を採用したトランザクションについて説明する。 Furthermore, we will explain the details of the characteristic data structures that can be adopted in the GLS system. Specifically, we will explain (1) a header that manages MNs, (2) a signal that manages time within the system, and (3) a transaction that employs a Directed-Acyclic-Graph (DAG) that functions as a transaction record.

<MNの管理を行うヘッダー>
まず、MNの管理を行うヘッダーについて説明する。
ヘッダーとは、RNの候補の一覧が記録されているデータ構造を持つ情報である。そして、ヘッダーへの追記は、新たにRN候補としてMNの参加若しくは脱退毎に、その時に稼働している全RN候補で行われる。つまり、GLSシステムのネットワークに参加する全ノードの夫々は、このヘッダーの情報を受け取ることで、現状承認作業を行っているMNの一覧を確認することができる。また、ネットワークに参加する全ノードの夫々は、過去の各MNのRN候補への全参加履歴を確認し、かつ所定の承認済トランザクションと照合することで、トランザクションの整合性の検証が可能となり、信頼性を担保することができる。
さらに言えば、GLSシステムでは、RN候補を管理する分散型台帳をトランザクションとは別で用意し、ヘッダーという形で、新規参入するMNを管理している。RN候補の管理においては、時間をかけて新規参入する予定のMNを参加条件と照らして、厳格に承認の審査をすることでより脆弱性を排除できる。
<Header for managing MN>
First, the header for managing the MN will be described.
The header is information having a data structure in which a list of RN candidates is recorded. The header is appended to by all RN candidates operating at the time each time a MN joins or leaves as a new RN candidate. In other words, each of all nodes participating in the GLS system network can confirm the list of MNs currently performing approval work by receiving this header information. In addition, each of all nodes participating in the network can verify the integrity of transactions by checking the history of all past participation of each MN in RN candidates and comparing it with predetermined approved transactions, thereby ensuring reliability.
Furthermore, in the GLS system, a distributed ledger that manages RN candidates is prepared separately from transactions, and newly joining MNs are managed in the form of a header. In the management of RN candidates, MNs that are scheduled to join can be rigorously screened over time against the participation conditions, which can further eliminate vulnerabilities.

<システム内時間を管理するシグナル>
次に、システム内時間の管理に利用されるシグナルについて説明する。
シグナルとは、GLSシステムにおけるネットワーク内部のシステム内時間を記録しているデータ構造であり、後述するシグナルノードにより送信が行われる。
ここで、分散型台帳に限らず、従来の分散コンピューティングと呼ばれる領域においては、ネットワーク上に存在する各ノードにおけるクロック値の誤差、また通信によるタイムラグが存在し、絶対的な時間の共有は極めて困難であった。
そこで、GLSシステムにおいては、予めシステム内時間を決定し、そのシステム内時間の情報を含むシグナルを、送信するシグナルノード(以下、「SGN(Signal Node)」と呼ぶ)をネットワーク上に配置して、配置されたSGNが任意の単位時間毎にシグナルを送信することで、絶対的な時間情報の共有を実現する。
これにより、GLSシステムでは、従来の中央集権型のデータベースと同様に時間軸でのデータ制御が可能となり、ファイナリティを付与することが可能となる。
なお、このシグナルは、システム内時間の情報が付与された後、所定のSGNによって電子署名が付与され、任意に定められた単位時間ごとにネットワークに送信される。悪意を持って意図的に不正な時刻を生成してトランザクションに付与される場合、シグナルに付与される電子署名を検証することによって、検知することができる。検証方法の一例として、各ノードは、正式なシグナルの公開鍵の一覧を保有し、シグナルに付与されている公開鍵と比較することで、正しいシグナルの検証が行われてもよい。
<Signals that manage time within the system>
Next, signals used for managing the time within the system will be described.
A signal is a data structure that records the system time within the network in the GLS system, and is transmitted by a signal node, which will be described later.
Here, not only in distributed ledgers but also in the field of conventional distributed computing, there are clock value errors at each node on the network and time lags due to communication, making it extremely difficult to share absolute time.
Therefore, in the GLS system, the system time is determined in advance, and signal nodes (hereinafter referred to as "SGNs (Signal Nodes)") that transmit signals containing information about that system time are placed on the network, and the placed SGNs transmit signals at any unit time, thereby realizing the sharing of absolute time information.
This makes it possible for the GLS system to control data on a time axis in the same way as conventional centralized databases, and to provide finality.
After the signal is assigned with information about the time in the system, it is given a digital signature by a specific SGN and is transmitted to the network at an arbitrarily determined unit time. If an incorrect time is generated maliciously and assigned to a transaction, this can be detected by verifying the digital signature assigned to the signal. As an example of a verification method, each node may hold a list of public keys of official signals and verify the correctness of the signal by comparing the public key assigned to the signal.

図5を参照しつつ、さらに詳細に説明する。図5は、シグナルを軸とした承認担当領域の違いを示した模式図である。
図5の例では、N1は、MN-AからMN-Bへの承認権限が切り替わる任意のタイミングを示している。このように、GLSシステムにおいては、例えばN1という任意のタイミングにおいてMNの担当時間とトランザクションの状況を時間軸に沿って区分することができるため、スムーズで高速な担当の交代とトランザクションの承認作業を実行することができる。このシグナルは、既存の分散型台帳に関するサービス等では使用されていない。そのため、トランザクションの承認をどの承認者(ノード)が担当するのか等に明確な基準がなく、複数の承認者による多重承認やいわゆるフォークが発生するリスクが残存していた。この点、本発明に係るGLSシステムでは、シグナルという時間軸を採用して、ネットワークを制御することにより、各トランザクションの承認を担当するMNが一義的に決定される。そのため、例えば、時間軸において先に承認されたトランザクションを優先し、残りのトランザクションを破棄するといった判断が可能となる。さらに、結果として、上述の二重承認のような事態を防止し、トランザクションにおけるファイナリティを得ることができる。
ただし、図5に示すトランザクションの承認権限に関する方法は、必ずしも採用される必要はない。さらに言えば、図5に示すトランザクションの承認権限に関する方法はあくまでも例示であり、限定されない。
A more detailed explanation will be given with reference to Fig. 5. Fig. 5 is a schematic diagram showing the difference in approval responsibility areas with signals as the axis.
In the example of FIG. 5, N1 indicates an arbitrary timing at which approval authority is switched from MN-A to MN-B. In this way, in the GLS system, since the time of the MN's role and the status of the transaction can be divided along the time axis at an arbitrary timing, for example, N1, it is possible to perform smooth and high-speed role change and transaction approval work. This signal is not used in existing distributed ledger services, etc. Therefore, there is no clear standard for which approver (node) is responsible for approving the transaction, and there remains a risk of multiple approval by multiple approvers or so-called fork occurring. In this regard, the GLS system according to the present invention adopts a time axis called a signal to control the network, and the MN responsible for approving each transaction is uniquely determined. Therefore, for example, it is possible to make a decision such as giving priority to a transaction that has been approved earlier on the time axis and discarding the remaining transactions. Furthermore, as a result, it is possible to prevent the above-mentioned double approval situation and obtain finality in the transaction.
However, it is not necessary to adopt the method relating to the approval authority of a transaction shown in Fig. 5. Moreover, the method relating to the approval authority of a transaction shown in Fig. 5 is merely an example and is not limiting.

<取引の記録として機能するDAG>
続いて、トランザクションの管理に利用されるDAG(Directed Acyclic Graph)について説明する。DAGとは、例えば、グラフ理論における閉路のない有向グラフであり、データベースなどの分野において応用し得る技術の一つである。GLSシステムにおいても、例えば、DAGを採用し、トランザクション間をハッシュなどで連結することによりトランザクションの承認の順番待ちによる待機時間を軽減できる可能性がある。
<DAG functions as a transaction record>
Next, we will explain DAG (Directed Acyclic Graph) used for managing transactions. DAG is, for example, a directed graph without a closed loop in graph theory, and is one of the technologies that can be applied in fields such as databases. In the GLS system, for example, by adopting DAG and linking transactions using hashing, it is possible to reduce waiting time due to waiting in line for transaction approval.

GLSシステムでは、このような特徴を、適宜、採用することができるため、これまでのブロックチェーン等と同等以上のセキュリティを担保しつつも、超高速での処理を実現することが期待できる。
以上のことから、ヘッダーによりRN候補に参加するMNを事前に審査することで、悪意を持った承認者の参加を防ぐことができ、高いセキュリティを実現することができる。
また、従来、分散型台帳技術では、トランザクションの承認毎に信頼できるノードを決定するために合意処理が必要であったが、GLSシステムにおいては、予めMNが承認ノードとして選出することにより、トランザクションの承認毎に選出する必要性がないため、高速な承認が可能となる。
The GLS system can adopt these features as appropriate, so it is expected to achieve ultra-high speed processing while ensuring security equal to or greater than that of existing blockchains.
From the above, by screening MNs participating as RN candidates in advance using the header, it is possible to prevent malicious approvers from participating, thereby achieving high security.
In addition, conventional distributed ledger technology required a consensus process to determine a trustworthy node for each transaction approval. However, in the GLS system, the MN selects an approval node in advance, eliminating the need to select one for each transaction approval, enabling faster approval.

さらに、GLSシステムでは、トランザクションの管理にDAGを応用することで、トランザクションの承認処理を並列で行い、これによりスケーラビリティの確保を実現する。
そして、シグナルを導入することで、承認にファイナリティを与える。つまり、トランザクションに対し、時間軸を含めた複数の判断基準を設けることにより、二重承認等を防止する。これらの特徴を有するGLSシステムでは、「改ざん耐性・ゼロダウンタイム・透明性や公平性の確保」といったブロックチェーンの利点を生かしつつ、高速にトランザクションを処理し、かつスケーラビリティのあるシステムとして機能することが期待できる。
ここで、改ざん耐性とは一度確定したトランザクションを、悪意を持って書き換えることに対する困難性を意味し、ゼロダウンタイムとはGLSシステムに関する各種システムやサービスが機能停止に陥る時間が限りなくゼロであることを意味する。また、透明性や公平性の確保は、GLSシステムにおいて、過去履歴をネットワークに参加する全ノードが参照し、常に検証することができる。これにより、どの参加者もトランザクションの承認権限を有し得るMNになり得ることで実現される特徴の一つである。
ただし、GLSシステムは、これら全ての特徴を常に備えている必要はない。即ち、上述の各種特徴のうち全てを採用するのか、一部のみを採用するのかは特に限定されず、GLSシステムの提供者等により任意で決定されてもよい。
Furthermore, in the GLS system, by applying DAG to transaction management, transaction approval processing is performed in parallel, thereby ensuring scalability.
The introduction of signals gives finality to approvals. In other words, by setting multiple criteria for transactions, including a time axis, it prevents duplicate approvals. With these characteristics, the GLS system is expected to function as a scalable system that processes transactions at high speed while taking advantage of the benefits of blockchain, such as resistance to tampering, zero downtime, and ensuring transparency and fairness.
Here, tamper resistance means the difficulty of maliciously rewriting a transaction that has already been confirmed, and zero downtime means that the time that various systems and services related to the GLS system are out of function is close to zero. In addition, in the GLS system, transparency and fairness can be ensured by allowing all nodes participating in the network to refer to and constantly verify past history. This is one of the features realized by the fact that any participant can become a MN that has the authority to approve transactions.
However, the GLS system does not always need to have all of these features. In other words, there is no particular limit as to whether to adopt all or only some of the above-mentioned various features, and this may be decided arbitrarily by the provider of the GLS system, etc.

<他の役割を持つノード>
ここで、上述の役割が設定されたノードと異なる他のノードについて説明する。
(1)トポロジーサーバ(以下、「ルーターノード」または「RTN」と呼ぶ)
RTNとは、上述の各種ノード(例えば、RN、MN、SN、NN)のようにトランザクションの作成や承認には、一切関与せず、ネットワーク全体のノード接続先を管理するサーバとして動作するノードである。つまり、MN,SN、NNの台数比率に応じたMNとSNの台数調整をし、GLSシステムにおけるネットワーク全体を円滑に制御する。
通常の分散型台帳技術に採用されるP2P(Peer to Peer)ネットワーク等の場合は、柔軟なネットワーク管理を行えないため、ネットワークの規模を調整することが極めて困難である。そのため、例えばネットワーク内でのノード台数の増減によるトラフィックの過剰な転送回数の増加が引きおこることがある。換言すれば、ネットワーク全体において不必要なリソースの消費が発生し、電力消費の増加やTPSの低下を生じる恐れがある。これに対して、GLSシステムでは、このような仕組みを採用することにより、ネットワーク全体のトラフィック調整と最適化を実現することができる。
<Nodes with other roles>
Here, a description will be given of nodes other than the nodes to which the above-mentioned roles are assigned.
(1) Topology Server (hereinafter referred to as "Router Node" or "RTN")
Unlike the various nodes mentioned above (e.g., RN, MN, SN, NN), the RTN is not involved in creating or approving transactions, but acts as a server that manages the node connections of the entire network. In other words, it adjusts the number of MNs and SNs according to the ratio of the numbers of MNs, SNs, and NNs, and smoothly controls the entire network in the GLS system.
In the case of a P2P (Peer to Peer) network or the like used in a typical distributed ledger technology, it is extremely difficult to adjust the scale of the network because flexible network management cannot be performed. For this reason, for example, an increase or decrease in the number of nodes in the network may cause an excessive increase in the number of traffic transfers. In other words, unnecessary resource consumption may occur in the entire network, which may result in increased power consumption and a decrease in TPS. In contrast, the GLS system employs such a mechanism to achieve traffic adjustment and optimization of the entire network.

なお、従来の中央集権型のサーバでは、DoS攻撃などによってレイテンシが増加するなどの問題がある。これに対して、GLSシステムにおいて中央集権型のサーバの要素を有するRTNへの直接攻撃によって、サーバの負荷増加を引き起こされる場合も、トランザクションの承認などの情報処理システムの中核となる処理は、全てMNが実行するため、RTNへのサーバの負荷の増加は実質のところ、レイテンシの低下を引き起こさず、安定してデータの処理を実行できる。
また、RTNの運用方法について、上述の通りGLSシステムでは、重要度の高いノード(例えば、RNやMN等)は、原則分散化されている。RTNは、この原則の例外に該当する。
すなわち、RTNは、(1)GLSシステムの運営上のメンテナンス、(2)ネットワークのリカバリー、(3)ロールバックの実行等を行う場合のネットワーク全体の起点としてGLSシステムの提供者等が操作することができる。これにより、GLSシステムの提供者等は、例えば必要に応じて全ネットワークを停止し、運営・管理上必要な作業を実行することができる。
Incidentally, conventional centralized servers have problems such as increased latency due to DoS attacks, etc. In contrast, even if a direct attack on the RTN, which has elements of a centralized server in the GLS system, causes an increase in the server load, the core processing of the information processing system, such as transaction approval, is all executed by the MN, so that the increase in the server load on the RTN does not actually cause a decrease in latency, and data processing can be executed stably.
As for the operation method of RTN, as described above, in the GLS system, nodes with high importance (such as RNs and MNs) are generally decentralized. RTN is an exception to this rule.
That is, the RTN can be operated by the provider of the GLS system as the starting point of the entire network when performing (1) operational maintenance of the GLS system, (2) network recovery, (3) execution of rollback, etc. This allows the provider of the GLS system to, for example, stop the entire network as necessary and perform operations required for operation and management.

(2)シグナルノード(SGN)
SGNとは、上述の通り、GLSシステムにおけるシステム内時間が付与されたシグナルを発行するノードである。従来の中央集権的なネットワークの場合、このような時間軸は、サーバを元に決定される。しかしながら、分散型台帳等の分散コンピューティングと呼ばれる領域においては、ネットワーク上に存在する各ノードにおけるクロックの値の誤差や通信によるタイムラグ等が存在するため、絶対的な意味での時間の共有は極めて困難である。GLSシステムでは、このような問題を解決するために、SGNをネットワーク上に動作させて、シグナルによりネットワーク全体の制御を行うこととしている。
なお、ネットワークに存在するSGNが一つであった場合、ネットワークの肥大化に合わせてシグナルの伝達に遅延が生じ、ネットワークの同期に問題が生じる可能性がある。そのため、GLSシステムでは、複数のSGNをネットワークに配置して、並列的にシグナルを発行することができる。以下、図6を参照しつつ、ネットワークにおけるSGNの配置の一例を具体的に説明する。
(2) Signal Node (SGN)
As described above, an SGN is a node that issues a signal to which the system time in the GLS system is assigned. In the case of a conventional centralized network, such a time axis is determined based on a server. However, in an area called distributed computing such as a distributed ledger, it is extremely difficult to share time in an absolute sense because of the existence of clock value errors and communication time lags in each node on the network. In order to solve such problems, in the GLS system, an SGN is operated on the network and the entire network is controlled by signals.
If there is only one SGN in a network, delays in signal transmission may occur as the network grows, which may cause problems with network synchronization. For this reason, in the GLS system, multiple SGNs are placed in the network to issue signals in parallel. An example of the placement of SGNs in a network will be specifically described below with reference to FIG. 6.

図6は、ネットワークにおけるSGNの配置の一例を示す図である。
図6の例では、GLSシステムのネットワーク内にSGN(A)乃至SGN(C)の複数のSGNが配置された場合の例が示されている。即ち、SGN(A)乃至SGN(C)の夫々のノードが他のノードに対してシグナルを送信することになる。これにより、SGNの位置関係によるネットワーク全体の同期誤差が軽減される。しかしながら、図6の例において、SGN(A)乃至SGN(C)から送信されたシグナルに含まれるクロック値自体に誤差が生じている状態でシグナルが送信されたとしても、夫々のノードは、受信したシグナルのうち、時間情報がもっとも新しいシグナルを最新のものとして採用する。加えて、シグナルを受信した直後から任意の時間内に受信したシグナルの標準偏差を取ることで、同期誤差を軽減してもよい。
FIG. 6 is a diagram showing an example of an arrangement of SGNs in a network.
In the example of Fig. 6, a plurality of SGNs, SGN(A) to SGN(C), are arranged in the network of the GLS system. That is, each node of SGN(A) to SGN(C) transmits a signal to the other nodes. This reduces the synchronization error of the entire network due to the positional relationship of the SGNs. However, in the example of Fig. 6, even if a signal is transmitted in a state in which an error occurs in the clock value itself contained in the signal transmitted from SGN(A) to SGN(C), each node adopts the signal with the latest time information among the received signals as the latest. In addition, the synchronization error may be reduced by taking the standard deviation of the signals received within an arbitrary time period immediately after receiving the signal.

続いて、図7を参照しつつGLSシステムの構成の一例について説明する。図7は、本発明の一実施形態の情報処理装置を含むGLSシステムの構成の一例を示すブロック図である。 Next, an example of the configuration of a GLS system will be described with reference to FIG. 7. FIG. 7 is a block diagram showing an example of the configuration of a GLS system including an information processing device according to one embodiment of the present invention.

本発明の情報処理システムは、RN1と、n台のMN2-1乃至2-n(nは1以上の任意の整数値)と、p台のSN3-1乃至3-p(pは1以上の任意の整数値)と、q台のNN4-1乃至4-q(qは1以上の任意の整数値)を含み構成されるネットワーク(以下、「GLSネットワーク」と呼ぶ)と、RTN(サーバ)5とを含む情報処理システムである。GLSネットワークと、RTN5とは、インターネット等の所定のネットワーク(NW)を介して相互に接続されることで構成されている。また、GLSネットワークに含まれる各ノードの夫々は、例えば、P2P等の所定の方法により接続されている。 そして、以下、MN2-1乃至2-nと、SN3-1乃至3-pと、NN4-1乃至4-qと、を特に区別する必要がない場合、これらをまとめて、夫々を「RN1」、「MN2」、「SN3」、「NN4」と呼ぶ。
なお、図7の例においては、GLSネットワークに接続する各ノードの夫々は、RTN5へ事前にGLSネットワークへの参加を申請しており、各ノードの夫々において果たすべき役割の決定及び接続先が指定され、GLSネットワークが構築されているものとする。
即ち、RTN5は、GLSネットワークを構築する事前において、GLSネットワークに参加を希望するノードに関する情報を取得する。RTN5は、その内容に基づいて、各ノードの夫々の役割及び接続先を決定する。そして、RTN5は、各ノードの夫々に対して、自身の役割及び接続先に関する情報を送信する。これにより、上述のGLSネットワークが構築される。
なお、GLSネットワークには、RN1、MN2、SN3、NN4だけでなく、例えば、図示せぬSGN等を含む、その他の役割を有するノードが、適宜、含まれていてもよい。
The information processing system of the present invention is an information processing system including a network (hereinafter referred to as a "GLS network") including RN1, n MNs 2-1 through 2-n (n is any integer value equal to or greater than 1), p SNs 3-1 through 3-p (p is any integer value equal to or greater than 1), and q NNs 4-1 through 4-q (q is any integer value equal to or greater than 1), and an RTN (server) 5. The GLS network and the RTN 5 are configured by being connected to each other via a predetermined network (NW) such as the Internet. Furthermore, each of the nodes included in the GLS network is connected by a predetermined method such as P2P. Hereinafter, when there is no particular need to distinguish between MNs 2-1 through 2-n, SNs 3-1 through 3-p, and NNs 4-1 through 4-q, they will be collectively referred to as "RN1", "MN2", "SN3", and "NN4", respectively.
In the example of Figure 7, each node connected to the GLS network has applied to RTN5 in advance to participate in the GLS network, and the role to be played by each node has been determined and the connection destination has been specified, and the GLS network has been constructed.
That is, before constructing the GLS network, the RTN 5 obtains information about nodes that wish to participate in the GLS network. Based on the information, the RTN 5 determines the role and connection destination of each node. Then, the RTN 5 transmits information about its own role and connection destination to each node. In this way, the above-mentioned GLS network is constructed.
In addition, the GLS network may include not only RN1, MN2, SN3, and NN4, but also nodes having other roles, including, for example, an SGN (not shown), as appropriate.

続いて、図8を参照しつつGLSネットワークに含まれる各ノードの夫々のハードウェア構成の一例について説明する。
図8は、図7に示す情報処理システムのうちRTNのハードウェア構成の一例を示すブロック図である。
Next, an example of the hardware configuration of each node included in the GLS network will be described with reference to FIG.
FIG. 8 is a block diagram showing an example of a hardware configuration of the RTN in the information processing system shown in FIG.

RTN5は、例えば、コンピュータ等で構成され、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、バス14と、入出力インターフェース15と、出力部16と、入力部17と、記憶部18と、通信部19と、ドライブ20とを備えている。 The RTN5 is composed of, for example, a computer, and includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a bus 14, an input/output interface 15, an output unit 16, an input unit 17, a memory unit 18, a communication unit 19, and a drive 20.

CPU11は、ROM12に記録されているプログラム、又は、記憶部18からRAM13にロードされたプログラムに従って各種の処理を実行する。
RAM13には、CPU11が各種の処理を実行する上において必要なデータ等も適宜記憶される。
The CPU 11 executes various processes according to a program recorded in the ROM 12 or a program loaded from the storage unit 18 to the RAM 13 .
The RAM 13 also stores data and the like necessary for the CPU 11 to execute various processes.

CPU11、ROM12及びRAM13は、バス14を介して相互に接続されている。このバス14にはまた、入出力インターフェース15も接続されている。入出力インターフェース15には、出力部16、入力部17、記憶部18、通信部19及びドライブ20が接続されている。 The CPU 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input/output interface 15 is also connected to this bus 14. An output unit 16, an input unit 17, a memory unit 18, a communication unit 19, and a drive 20 are connected to the input/output interface 15.

出力部16は、例えば、液晶等のディスプレイやスピーカ等により構成され、各種情報を画像や音声として出力する。
入力部17は、例えば、キーボード等により構成され、使用者の指示操作に応じて、各種情報を入力する。
記憶部18は、ハードディスクやDRAM(Dynamic Random Access Memory)等で構成され、各種情報を記憶する。
通信部19は、インターネットを含むGLSネットワークを介して他の装置(例えば、RN1、MN2、SN3、NN4等)との間で通信を制御する。
The output unit 16 is configured with, for example, a display such as a liquid crystal display, a speaker, and the like, and outputs various information as images and sounds.
The input unit 17 is configured with, for example, a keyboard, and inputs various information in response to user instructions.
The storage unit 18 is composed of a hard disk, a DRAM (Dynamic Random Access Memory), etc., and stores various information.
The communication unit 19 controls communication with other devices (for example, RN1, MN2, SN3, NN4, etc.) via a GLS network including the Internet.

ドライブ20は、必要に応じて設けられる。ドライブ20には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなる、リムーバブルメディア31が適宜装着される。ドライブ20によってリムーバブルメディア31から読み出されたプログラムは、必要に応じて記憶部18にインストールされる。
また、リムーバブルメディア31は、記憶部18に記憶されている各種データも、記憶部18と同様に記憶することができる。
The drive 20 is provided as necessary. Removable media 31, such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, is appropriately loaded into the drive 20. The program read from the removable media 31 by the drive 20 is installed in the storage unit 18 as necessary.
Further, the removable media 31 can store various data stored in the storage unit 18 in the same manner as the storage unit 18 .

なお、RN1、MN2、SN3およびNN4等のハードウェア構成は、サーバRTN5のハードウェア構成の一例と、同様とすることができるので、ここでは説明を省略する。 Note that the hardware configuration of RN1, MN2, SN3, NN4, etc. can be similar to an example of the hardware configuration of server RTN5, so a description will be omitted here.

図9は、図7のGLSシステムのうち、NN、SN、MNおよびRNの機能的構成の一例を示す機能ブロック図である。まずは、NN4の機能的構成の一例を説明する。
図9に示すように、NN4のCPU60は、各種プログラム等を実行することにより、トランザクション生成部80と、未承認トランザクション管理部81と、承認済トランザクション管理部82と、整合性検証部83と、シグナル管理部84として機能する。
トランザクション生成部80は、実施された取引の内容に応じたトランザクションを生成する。
Fig. 9 is a functional block diagram showing an example of the functional configuration of the NN, SN, MN and RN in the GLS system shown in Fig. 7. First, an example of the functional configuration of the NN 4 will be described.
As shown in FIG. 9, the CPU 60 of the NN4 functions as a transaction generation unit 80, an unapproved transaction management unit 81, an approved transaction management unit 82, a consistency verification unit 83, and a signal management unit 84 by executing various programs, etc.
The transaction generating unit 80 generates a transaction according to the content of the executed trade.

未承認トランザクション管理部81は、トランザクション生成部80で生成したトランザクションを、他の複数のNN4および複数のSN3の夫々へ送信する。 The unapproved transaction management unit 81 transmits the transaction generated by the transaction generation unit 80 to each of the other multiple NNs 4 and multiple SNs 3.

承認済トランザクション管理部82は、後述するSN3から送信されてくる承認済みトランザクションを、取得する。 The approved transaction management unit 82 acquires approved transactions sent from SN3, which will be described later.

整合性検証部83は、承認済トランザクション管理部82で取得された承認済みトランザクションの整合性を検証する。 The consistency verification unit 83 verifies the consistency of the approved transactions obtained by the approved transaction management unit 82.

シグナル管理部84は、図示せぬSGNから送信されてきたシグナルを取得し、これを管理する。すなわち、シグナル管理部84は、NN4の夫々のシステム内時間を管理する。 The signal management unit 84 acquires signals sent from an SGN (not shown) and manages them. In other words, the signal management unit 84 manages the system time of each of the NNs 4.

続いて、SN3の機能的構成の一例を説明する。
図9に示すように、SN3のCPU100は、各種プログラム等を実行することにより、未承認トランザクション管理部120と、承認済トランザクション管理部121と、整合性検証部122と、シグナル管理部123として機能する。
未承認トランザクション管理部120は、NN4から送信されてきたトランザクションを取得する。また、未承認トランザクション管理部120は、取得したトランザクションについて、整合性の検証に問題がないと判断された場合、そのトランザクションを、他の複数のSN3および複数のMN2の夫々へ送信する。
Next, an example of the functional configuration of SN3 will be described.
As shown in FIG. 9, the CPU 100 of SN3 executes various programs and the like to function as an unapproved transaction manager 120, an approved transaction manager 121, a consistency verification unit 122, and a signal manager 123.
The unconfirmed transaction manager 120 acquires the transaction sent from the NN 4. If the unconfirmed transaction manager 120 determines that there is no problem with the integrity of the acquired transaction, it transmits the transaction to each of the other multiple SNs 3 and multiple MNs 2.

承認済トランザクション管理部121は、後述するMN2から送信されてくる承認済みトランザクションを、取得する。 The approved transaction management unit 121 acquires the approved transactions sent from MN2, which will be described later.

整合性検証部122は、未承認トランザクション管理部120で取得されたトランザクションおよび承認済トランザクション管理部121で取得された承認済みトランザクションの整合性を検証する。 The consistency verification unit 122 verifies the consistency of the transactions obtained by the unapproved transaction management unit 120 and the approved transactions obtained by the approved transaction management unit 121.

シグナル管理部123は、図示せぬSGNから送信されてきたシグナルを取得し、これを管理する。すなわち、シグナル管理部123は、SN3の夫々のシステム内時間を管理する。 The signal management unit 123 acquires signals sent from SGNs (not shown) and manages them. In other words, the signal management unit 123 manages the system time of each of the SNs 3.

続いて、MN2の機能的構成の一例を説明する。
図9に示すように、MN2のCPU140は、各種プログラム等を実行することにより、未承認トランザクション管理部160と、承認済トランザクション管理部161と、整合性検証部162と、シグナル管理部163と、RN処理部164として機能する。
未承認トランザクション管理部160は、SN3から送信されてきたトランザクションを取得する。また、未承認トランザクション管理部160は、取得したトランザクションについて、整合性の検証に問題がないと判断された場合、そのトランザクションを、他の複数のMN2およびRN1の夫々へ送信する。
Next, an example of the functional configuration of the MN 2 will be described.
As shown in FIG. 9, the CPU 140 of the MN 2 functions as an unapproved transaction management unit 160, an approved transaction management unit 161, a consistency verification unit 162, a signal management unit 163, and an RN processing unit 164 by executing various programs, etc.
The unconfirmed transaction manager 160 acquires the transaction sent from SN 3. If the unconfirmed transaction manager 160 determines that there is no problem with the integrity of the acquired transaction, it transmits the transaction to each of the other multiple MNs 2 and RNs 1.

承認済トランザクション管理部161は、後述するRN1から送信されてくる承認済みトランザクションを、取得する。 The approved transaction management unit 161 acquires the approved transactions sent from RN1, which will be described later.

整合性検証部162は、未承認トランザクション管理部160で取得されたトランザクションおよび承認済トランザクション管理部161で取得された承認済みトランザクションの整合性を検証する。
すなわち、整合性検証部162は、RNの承認行動の監視を実行する。
なお、RNの承認行動の監視とは、具体的に例えば、作成されたブロック番号は一致しているか、作成されたブロックに埋め込まれた公開鍵は正しいRNのものか、ブロックにシグナルが埋め込まれている場合に1つ前のブロックより過去の時刻を示していないか、後述するシャードが存在する場合シャード番号と承認したRNの所属するシャードは同一か、ブロック作成者のデジタル署名は本人を示しているか、ブロックに格納されているトランザクションの整合性に問題はないかなどである。
The integrity verification unit 162 verifies the integrity of the transactions acquired by the unapproved transaction manager unit 160 and the approved transactions acquired by the approved transaction manager unit 161 .
That is, the consistency verification unit 162 monitors the approval behavior of the RN.
Monitoring the approval behavior of an RN specifically includes, for example, checking whether the created block number matches, whether the public key embedded in the created block belongs to the correct RN, whether a signal is embedded in the block and if it indicates a time earlier than the previous block, whether the shard number and the shard to which the approving RN belongs are the same if shards (described below) exist, whether the digital signature of the block creator represents the creator, and whether there are any problems with the integrity of the transactions stored in the block.

シグナル管理部163は、図示せぬSGNから送信されてきたシグナルを取得し、これを管理する。すなわち、シグナル管理部163は、MN2の夫々のシステム内時間を管理する。 The signal management unit 163 acquires signals sent from an SGN (not shown) and manages them. In other words, the signal management unit 163 manages the system time of each MN2.

RN処理部164は、RN5の選出に関する各種処理を実行する。 The RN processing unit 164 performs various processes related to the selection of RN5.

最後に、RN1の機能的構成の一例を説明する。
図9に示すように、RN1のCPU180は、各種プログラム等を実行することにより、未承認トランザクション取得部200と、承認済トランザクション生成部201と、承認済トランザクション管理部202として機能する。
未承認トランザクション取得部200は、MN2から送信されてきたトランザクションを取得する。
Finally, an example of the functional configuration of RN1 will be described.
As shown in FIG. 9, the CPU 180 of RN1 executes various programs and the like to function as an unapproved transaction acquisition unit 200, an approved transaction generation unit 201, and an approved transaction management unit 202.
The unapproved transaction acquisition unit 200 acquires the transaction sent from the MN 2.

承認済トランザクション生成部201は、未承認トランザクション取得部200で取得されたトランザクションについて整合性を検証する。整合性の検証に問題がないと判断された場合、承認済みトランザクション生成部201は、そのトランザクションを承認し、承認済みトランザクションを生成する。 The approved transaction generation unit 201 verifies the consistency of the transaction acquired by the unapproved transaction acquisition unit 200. If it is determined that there is no problem with the consistency verification, the approved transaction generation unit 201 approves the transaction and generates an approved transaction.

承認済トランザクション管理部202は、承認済トランザクション生成部201で生成された承認済みトランザクションを、複数のMN2の夫々へ送信する。 The approved transaction management unit 202 transmits the approved transaction generated by the approved transaction generation unit 201 to each of the multiple MNs 2.

シグナル管理部203は、図示せぬSGNから送信されてきたシグナルを取得し、これを管理する。すなわち、シグナル管理部203は、RN1の夫々のシステム内時間を管理する。 The signal management unit 203 acquires signals transmitted from an SGN (not shown) and manages them. In other words, the signal management unit 203 manages the system time of each RN1.

続いて、図10を参照しつつ、NN4、SN3及びMN2において実行されるトランザクション処理の流れの一例について説明する。図10は、NN、SN及びMNに係るトランザクション処理の流れの一例を示すアローチャート図である。
なお、図10の例では、NN4、SN3及びMN2においてトランザクションに関連して実行される一連の処理を合わせてトランザクション処理と呼ぶこととし、NN、SN、MN、RNの夫々で行われるトランザクションに関連して実行される各種処理を、夫々、NN側トランザクション処理、SN側トランザクション処理、MN側トランザクション処理、RN側トランザクション処理と呼ぶこととする。
Next, an example of the flow of transaction processing executed in the NN 4, SN 3, and MN 2 will be described with reference to Fig. 10. Fig. 10 is an arrow chart showing an example of the flow of transaction processing related to the NN, SN, and MN.
In the example of Figure 10, the series of processes executed in relation to a transaction in NN4, SN3, and MN2 will be collectively referred to as transaction processing, and the various processes executed in relation to a transaction performed in each of the NN, SN, MN, and RN will be referred to as NN-side transaction processing, SN-side transaction processing, MN-side transaction processing, and RN-side transaction processing, respectively.

ステップS1において、NN4のトランザクション生成部80は、実施された取引の内容に応じたトランザクションの生成を行う。
ここで、NN4は、過去の承認済みトランザクションの情報に基づいて、新しくデータを作成し、これに電子署名を付与することによって、未承認のトランザクションを生成してもよい。また、ここで言う未承認のトランザクションとは、RN1によって承認される前のトランザクションを指す。
In step S1, the transaction generation unit 80 of the NN 4 generates a transaction according to the contents of the executed trade.
Here, NN4 may generate an unapproved transaction by creating new data based on information of past approved transactions and attaching a digital signature to the data. The unapproved transaction here refers to a transaction that has not yet been approved by RN1.

ステップS2において、NN4の未承認トランザクション管理部81は、ステップS1で生成されたトランザクションを他の複数のNN4および複数のSN3の夫々へ送信する。 In step S2, the unconfirmed transaction management unit 81 of NN4 transmits the transaction generated in step S1 to each of the other multiple NN4s and multiple SN3s.

ステップS21において、SN3の未承認トランザクション管理部120は、ステップS2でNN4から送信されたトランザクションを取得する。 In step S21, the unconfirmed transaction management unit 120 of SN3 acquires the transaction sent from NN4 in step S2.

ステップS22において、SN3の整合性検証部122は、ステップS21で取得されたトランザクションの整合性を検証する。なお、整合性の検証に問題がある場合、そのトランザクションは、破棄される。 In step S22, the consistency verification unit 122 of SN3 verifies the consistency of the transaction obtained in step S21. If there is a problem with the consistency verification, the transaction is discarded.

ステップS23において、SN3の未承認トランザクション管理部120は、ステップS22で整合性が認められたトランザクションを、他の複数のSN3および複数のMN2の夫々へ送信する。 In step S23, the unconfirmed transaction management unit 120 of SN3 transmits the transaction whose consistency was confirmed in step S22 to each of the other SN3s and MN2s.

ステップS41において、MN2の未承認トランザクション管理部160は、ステップS23でSN3から送信された未承認のトランザクションを取得する。 In step S41, the unapproved transaction management unit 160 of MN2 acquires the unapproved transaction sent from SN3 in step S23.

ステップS42において、MN2の整合性検証部162は、ステップS41で取得されたトランザクションの整合性を検証する。なお、整合性の検証に問題がある場合、そのトランザクションは、破棄される。 In step S42, the consistency verification unit 162 of MN2 verifies the consistency of the transaction acquired in step S41. If there is a problem with the consistency verification, the transaction is discarded.

ステップS43において、MN2の未承認トランザクション管理部160は、ステップS42で整合性の検証に問題がないと判断されたトランザクションを、他の複数のMN2およびRN1の夫々へ送信する。 In step S43, the unconfirmed transaction management unit 160 of MN2 transmits the transaction that was determined to have no problems in the integrity verification in step S42 to each of the other multiple MN2s and RN1s.

ステップS61において、RN1の未承認トランザクション取得部200は、ステップS43でMN2から送信されたトランザクションを取得する。 In step S61, the unapproved transaction acquisition unit 200 of RN1 acquires the transaction sent from MN2 in step S43.

ステップS62において、RN1の承認済トランザクション生成部201は、ステップS61で取得されたトランザクションの整合性を検証する。なお、整合性の検証に問題がある場合、そのトランザクションは、破棄される。 In step S62, the approved transaction generation unit 201 of RN1 verifies the integrity of the transaction obtained in step S61. If there is a problem with the integrity verification, the transaction is discarded.

ステップS63において、RN1の承認済トランザクション生成部201は、ステップS62でトランザクションの整合性の検証に問題がないと判断された場合、そのトランザクションを承認し、承認済みトランザクションを生成する。 In step S63, if it is determined in step S62 that there is no problem with the verification of the transaction's integrity, the approved transaction generation unit 201 of RN1 approves the transaction and generates an approved transaction.

ステップS64において、RN1の承認済トランザクション管理部202は、ステップS63で生成された承認済みトランザクションを、複数のMN2の夫々へ送信する。
またステップS65において、RN1の承認済トランザクション管理部202は、生成した承認済みトランザクションを、図示せぬデータベース等に保存する。
In step S64, the approved transaction manager 202 of RN1 transmits the approved transaction generated in step S63 to each of the multiple MNs 2.
Furthermore, in step S65, the approved transaction manager 202 of RN1 stores the generated approved transaction in a database or the like (not shown).

ステップS44において、MN2の承認済トランザクション管理部161は、ステップS64でRN1から送信された承認済みトランザクションを取得する。 In step S44, the approved transaction management unit 161 of MN2 obtains the approved transaction sent from RN1 in step S64.

ステップS45において、MN2の整合性検証部162は、ステップS44で取得された承認済みトランザクションの整合性を検証する。なお、整合性の検証に問題がある場合、そのトランザクションは、破棄される。 In step S45, the integrity verification unit 162 of MN2 verifies the integrity of the approved transaction acquired in step S44. If there is a problem with the integrity verification, the transaction is discarded.

ステップS46において、MN2の承認済トランザクション管理部161は、ステップS45で整合性が認められた承認済みトランザクションを、他の複数のMN2および複数のSN3の夫々へ送信する。
またステップS47において、MN2の承認済トランザクション管理部161は、整合性が認められた承認済みトランザクションを、図示せぬデータベース等に保存する。
In step S46, the approved transaction manager 161 of the MN 2 transmits the approved transaction whose consistency has been confirmed in step S45 to each of the other multiple MNs 2 and multiple SNs 3.
Furthermore, in step S47, the approved transaction manager 161 of MN2 stores the approved transaction, the consistency of which has been confirmed, in a database (not shown) or the like.

ステップS24において、SN3の承認済トランザクション管理部121は、ステップS46でMN2から送信された承認済みトランザクションを取得する。 In step S24, the approved transaction management unit 121 of SN3 obtains the approved transaction sent from MN2 in step S46.

ステップS25において、SN3の整合性検証部122は、ステップS24で取得された承認済みトランザクションの整合性を検証する。なお、整合性の検証に問題がある場合、そのトランザクションは、破棄される。 In step S25, the integrity verification unit 122 of SN3 verifies the integrity of the approved transaction obtained in step S24. If there is a problem with the integrity verification, the transaction is discarded.

ステップS26において、SN3の承認済トランザクション管理部121は、ステップS25で整合性が認められた承認済みトランザクションを、他の複数のSN3および複数のNNの夫々へ送信する。
ここで、承認済みトランザクション管理部121は、例えば、任意の基準に基づいて送信先のノードを決定してもよい。すなわち、例えば、承認済みトランザクション管理部121は、特に優先順位などを決定せず各ノードに承認済みトランザクションを送信してもよいし、例えば、任意の基準により優先的に送信すべきノードがあれば優先的に承認済みトランザクションを送信してもよい。
またステップS27において、SN3の承認済トランザクション管理部121は、整合性の検証で問題がないと判断された承認済みトランザクションを、図示せぬデータベース等に保存する。
In step S26, the approved transaction manager 121 of SN3 transmits the approved transaction whose consistency was confirmed in step S25 to each of the other multiple SNs 3 and multiple NNs.
Here, the approved transaction manager 121 may determine the destination node based on, for example, any criterion. That is, for example, the approved transaction manager 121 may transmit the approved transaction to each node without determining a particular priority, or, for example, if there is a node to which the approved transaction should be preferentially transmitted based on any criterion, the approved transaction may be transmitted preferentially to that node.
In step S27, the approved-transaction manager 121 of SN3 stores the approved transactions that have been determined to have no problems in the consistency verification in a database (not shown) or the like.

ステップS3において、NN4の承認済トランザクション管理部82は、ステップS26でSN3から送信された承認済みトランザクションを取得する。 In step S3, the approved transaction management unit 82 of NN4 obtains the approved transaction sent from SN3 in step S26.

ステップS4において、NN4の整合性検証部83は、ステップS3で取得された承認済みトランザクションの整合性を検証する。なお、整合性の検証に問題がある場合、そのトランザクションは、破棄される。 In step S4, the integrity verification unit 83 of the NN4 verifies the integrity of the approved transaction obtained in step S3. If there is a problem with the integrity verification, the transaction is discarded.

ステップS5において、NN4の承認済トランザクション管理部82は、ステップS4で整合性の検証で問題がないと判断された承認済みトランザクションを、他のNN4の夫々へ送信する。
また、ステップS6において、NN4の承認済トランザクション管理部82は、整合性の検証で問題がないと判断された承認済みトランザクションを、図示せぬデータベース等に保存する。これによりトランザクション処理は終了する。
In step S5, the approved transaction manager 82 of the NN 4 transmits the approved transactions that have been determined to have no problems in the consistency verification in step S4 to each of the other NNs 4.
In step S6, the approved transaction manager 82 of the NN 4 stores the approved transactions that have been determined to have no problems in the consistency verification in a database (not shown) or the like, whereby the transaction processing ends.

以上、本発明の一実施形態について説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものとみなす。 Although one embodiment of the present invention has been described above, the present invention is not limited to the above-mentioned embodiment, and modifications, improvements, etc. that can achieve the object of the present invention are considered to be included in the present invention.

ここで、上述の実施形態では説明を省略したが、GLSネットワークは常に固定化されているわけではなく、新たにGLSネットワークに参加を希望するノード(以下、「参加希望ノード」と呼ぶ)が存在する場合もある。そこで、図11を参照しつつ、参加希望ノードが存在する場合の各種処理の詳細について、簡単に説明する。 Although not explained in the above embodiment, the GLS network is not always fixed, and there may be new nodes (hereafter referred to as "joining nodes") that wish to join the GLS network. Therefore, with reference to FIG. 11, we will briefly explain the details of various processes when there is a node that wishes to join.

ステップS81において、RTN5は、現在GLSネットワークを構成する全てのノードの情報を含む、全ノードの登録一覧に関する情報(以下、「全ノード情報」と呼ぶ)を取得する。
なお、RTN5が全ノード情報を取得する方法については、特に限定されないが、例えば、GLSネットワークの全体を管理するRTN5は、現在GLSネットワークに関する情報が常に格納されたDBを有しており、そこから全ノード情報を取得してもよい。
In step S81, the RTN 5 acquires information regarding a registration list of all nodes (hereinafter referred to as "all node information"), including information on all nodes currently constituting the GLS network.
There is no particular limitation on the method by which RTN5 obtains all node information. For example, RTN5, which manages the entire GLS network, may have a DB in which information regarding the GLS network is currently always stored, and may obtain all node information from there.

ここで、ステップS61において、参加希望ノードは、RTN5に対して、自身がGLSネットワークへの参加を希望する旨の情報(以下、「参加希望情報」と呼ぶ)を送信する。
そこで、ステップS82おいて、RTN5は、ステップS61で参加希望ノードから送信されてきた参加希望情報を取得する。
Here, in step S61, the participation wishing node transmits to the RTN 5 information indicating that it wishes to participate in the GLS network (hereinafter referred to as "participation wishing information").
Therefore, in step S82, the RTN 5 acquires the participation request information transmitted from the participation request node in step S61.

ステップS83において、RTN5は、ステップS81で取得した全ノード情報及びステップS82で取得した参加希望情報に基づいて、参加希望ノードの役割を選定する。
さらに、ステップS84において、RTN5は、ステップS81で取得した全ノード情報及びステップS82で取得した参加希望情報に基づいて、参加希望ノードのGLSネットワークにおける具体的な接続先を決定する。
In step S83, the RTN 5 selects a role for the participating node based on the all-node information acquired in step S81 and the participation wish information acquired in step S82.
Furthermore, in step S84, the RTN 5 determines a specific connection destination in the GLS network of the participating node based on the all-node information acquired in step S81 and the participation request information acquired in step S82.

ステップS85において、RTN5は、ステップS83で選定された役割及びステップS84で決定された接続先に関する情報を参加希望ノードに送信する。 In step S85, RTN5 transmits information regarding the role selected in step S83 and the connection destination determined in step S84 to the node wishing to participate.

そこで、ステップS62において、参加希望ノードは、ステップS85で送信された役割及び接続先に関する情報を取得する。さらに、ステップS63において、参加希望ノードは、ステップS62で取得された役割及び接続先に関する情報を参照し、GLSネットワークへの接続を実行する。
そして、ステップS86において、RTN5は、全ノード情報に参加希望ノードに関する情報を追加して、新たな全ノード情報として図示せぬデータベース等に情報を格納する。
Therefore, in step S62, the node wishing to join acquires the information on the role and the connection destination transmitted in step S85. Furthermore, in step S63, the node wishing to join refers to the information on the role and the connection destination acquired in step S62 and executes a connection to the GLS network.
Then, in step S86, the RTN 5 adds information about the node wishing to participate to the all-node information, and stores the information in a database (not shown) or the like as new all-node information.

ここで、上述の実施形態では説明を省略したが、GLSシステムにおけるMNやRNと既存のシステムに言う「マイナー」との相違点について、詳細に説明する。
既存のシステムにおいて広く利用されるマイナーは、特定の条件に合致するハッシュ値などを検索することで、トランザクションの承認におけるマイニングを実行する。なお、マイニングとは、トランザクションの承認を行う一連の処理のうち、特にトランザクションの承認におけるハッシュ値の探索を意味する。
これにより、承認を担当するノードにランダム性を持たせることで、システム全体の公平性や安全性を担保するという思想である。
これに対して、GLSシステムでは、特定のトリガ(例えば、ユーザの操作)によって承認を担当するノード(特にRN)を変動させることが可能となる。
例えば、一つの方法では、GLSシステムは、MN同士またはMNとRNで任意のトークンなどを受け渡していくことにより、ユーザが操作するタイミングにおける承認担当ノード担当をランダムに決定してもよい。これによりGLSシステムは、疑似的に承認担当ノードの決定にランダム性を持たせ、特定のノードのみが承認者となることを避けることができる。
また例えば、一つの方法では、GLSシステムでは、既存のシステムなどと異なり、ユーザの各種操作に基づいて生成されたトランザクションの内容、トランザクションの生成に際して付与された時間情報(シグナル)、そしてネットワーク全体の構成などに応じて、承認担当ノードを決定してもよい。
具体的に例えば、GLSシステムは、ユーザの各種操作に基づいて生成されたトランザクションの内容、生成したタイミングなどに応じて、生成するハッシュ値を変動させ、これらのハッシュ値を組み合わせて参照することで承認担当するノード(例えば、RN)を決定してもよい。また、その時点でのネットワーク全体の構成に応じて、特定のハッシュ値に該当する承認担当するノード(例えば、RN)を決定してもよい。
なお、これらの要素は、トランザクションの生成の事前においては予測と恣意的な操作が困難な要素である。すなわち、GLSシステムは、このようなランダム性を持った異なる要素を掛け合わせることにより、承認担当するノードの決定に高いランダム性を付与することで、公平性と安全性を確保する(情報が改ざんされるリスクを低減する)ことができる。
Although not described in the above embodiment, differences between MNs and RNs in the GLS system and "minors" in existing systems will now be described in detail.
Miners, which are widely used in existing systems, perform mining for transaction approval by searching for hash values that match certain conditions. Note that mining specifically refers to the search for hash values in the series of processes that approve transactions.
The idea behind this is to ensure fairness and security of the entire system by introducing randomness into the nodes responsible for approval.
In contrast, in the GLS system, it is possible to change the node (particularly the RN) responsible for approval in response to a specific trigger (for example, a user operation).
For example, in one method, the GLS system may randomly determine the node in charge of approval at the time of user operation by passing an arbitrary token between MNs or between an MN and an RN. In this way, the GLS system can artificially impart randomness to the determination of the node in charge of approval, and prevent only a specific node from becoming the approver.
As another example, in one method, unlike existing systems, the GLS system may determine the node responsible for approval based on the content of the transaction generated based on various user operations, time information (signals) assigned when the transaction was generated, and the configuration of the entire network.
Specifically, for example, the GLS system may vary the hash values generated depending on the contents of a transaction generated based on various user operations, the timing of generation, etc., and may determine a node (e.g., RN) responsible for approval by combining and referring to these hash values. Also, a node (e.g., RN) responsible for approval corresponding to a specific hash value may be determined depending on the overall network configuration at that time.
These elements are difficult to predict and manipulate before a transaction is generated. In other words, the GLS system combines different random elements to impart a high degree of randomness to the decision of the node responsible for approval, thereby ensuring fairness and security (reducing the risk of information being tampered with).

また、上述の実施形態では説明を省略したが、GLSシステムにおけるシグナル(シグナルノード)の意義について、詳細に補足する。
従来の分散型台帳システムなどでは、任意のノード視点で見た場合に、受け取った情報の順番と、情報が処理された順番が異なる場合がある、受け取った情報に付与されている時間情報(タイムスタンプ)が必ずしも正確とは限らないという問題が指摘されることが多かった。
この点、従来も例えば、情報を処理した際に付与するタイムスタンプを、情報を処理したサーバではなく専用のサーバから情報を受け取ることで正確な時間情報を取得しようという試みがなされていた。また、例えば、ブルーフオブワークスのブロックチェーンでは、タイムスタンプの代わりに「ブロック番号」を用いることで、上述の課題を解決しようという試みもなされていた。しかし例えば、「ブロック番号」を用いる場合などでも、ブロックの生成間隔(合意のとれた時間)よりも細かい時間を算出することは困難であった。
これに対して、GLSシステムにおけるシグナルノードは、以下のような要素を有している。
(1)従来の時間情報の取得が、専用サーバにリクエストを送信するという能動的な方法により行われていたのに対して、シグナルノードは、任意時間毎に時間情報をP2Pにより配信しているため、各ノード(サーバ)は受動的に時間情報を受け取ることができる。
(2)従来の専用サーバを用いる方法では、専用サーバへの攻撃のリスクが存在するのに対して、シグナルノードは、GLSシステム内の任意のノードと兼任することが可能であるため、外部から時間情報を配信しているノード(サーバ)であることの特定を困難にする。
そのため、シグナルノードを採用したGLSシステムでは、例えば、以下のような利点(特徴)が存在する。
(a)専用サーバを設置する場合には設置台数に応じて負荷が増大するのに対して、GLSシステムは、シグナルノードをP2Pで運用することができるため、システムの規模の増加に対してシグナルノードへの負荷が増大することがない。
(b)GLSシステムは、シグナルノードの配置場所を秘匿することが容易である。また、万が一、配置場所が発見されてシステムがダウンした(攻撃を受けた)場合であっても、シグナルノードのIPアドレスやドメインを他のノード(例えばRTN)に接続先として登録するだけで、再設置が完了するため、容易にGLSシステムの復旧を行うことができる。
(c)上述の通りシグナルノードから送信される時間情報は、デジタル署名を付与することが可能であるので、他のノードなどが時間情報を受け取る際に正規の送信元から受信した時間情報か否かを容易に識別することができる。さらに言えば、デジタル署名付きの時間情報はシグナルノードのみで発行することができるという性質上、例えば、未来の日付で情報を送信するなどの攻撃を防ぐこともできる。
このような方法により、GLSシステムでは、従来の分散型台帳システムでは、応用することが困難であった「時間情報を送信するサーバの設置」を実現し、ブロック生成間隔よりも小さい間隔であっても、正確な時間情報を取得することが可能となる。
このような利点を具体的に説明すると、例えば、従来の分散型台帳システムでは、任意のサーバ視点で見た場合に、正確な時間情報を取得できないことから、情報の処理の有無などの確認が困難なことから同じ内容の処理を行わなければならないような場合があった。しかし、GLSシステムでは、正確な時間情報を前提として処理すべきノードを任意の時間毎に割り当てるといった手法を採用することができる。そのため、同一の内容を処理するような処理の重複を大幅に削減することができ、システム全体のスケーラビリティを大幅に向上させることができる。
ここで、時刻を取得する上で「ブロック番号」を採用した技術の例において、例えば、ブロックの生成間隔を短くするという解決策が考えられる。
しかし、プルーフオブワークにおけるブロックチェーンの承認者はランダムに決定され、かつ、同一のトランザクションを複数の承認者が処理することがある。そのため、夫々のノードは、同一の内容のトランザクションを含んだ複数ブロックの検証に注力する必要がある。また、検証を終えたブロックのみを他のノードに配信するという特性と相まって、結果的にシステム全体でのブロックの伸長もしくは同一のブロックの共有に偏りが出てしまうという問題が生じる。
これにより、夫々のノードが受信する時間情報にも偏りが出てしまい、ブロックの同期および共有を前提としたプルーフオブワークでは、システム全体の処理祖速度が低下する。なお、このような問題はGLSシステムにおいても残存するものの、上述の「シグナル」を採用することで処理速度の向上を図っている。
具体的に例えば、シグナルの情報量は、ブロックやトランザクションと比較して少なく、また含まれる情報の種別も少ない。そのため、各ノードが、複数のシグナルを受信したとしても、少ない負荷で円滑に検証や配信を行うことができる。加えて、GLSシステムでは、円環状のネットワーク構成により一方向にのみ流れるようにすることで、意図しない情報の共有などを減らすこともできる。そのため、ネットワーク内における時刻の共有の偏りが解消される。また、GLSシステムは、承認者と時間情報配信者を分離し、かつ、各情報の検証工程および配信ルートを分離することによりさらなる効率化を図っている。
一方で、ブロックもしくはトランザクションの処理速度の向上のために、例えば、送金元と送金先のように、トランザクション(またはブロック)の送信を優先的に行うことが望ましいようなノードが存在する場合、それらのノードに優先的にトランザクションが配信される仕組みを採用することもできる。
Although not described in the above embodiment, the significance of signals (signal nodes) in the GLS system will be supplemented in detail below.
In conventional distributed ledger systems, problems have often been pointed out, such as the fact that when viewed from the perspective of an arbitrary node, the order in which information is received may differ from the order in which the information is processed, and that the time information (timestamp) assigned to received information is not necessarily accurate.
In this regard, there have been attempts to obtain accurate time information by receiving the timestamp added when processing information from a dedicated server, rather than from the server that processed the information. For example, in the blockchain of Blueprint of Works, there have been attempts to solve the above-mentioned problem by using "block numbers" instead of timestamps. However, even when using "block numbers", it was difficult to calculate a time that was more precise than the block generation interval (the agreed-upon time).
In contrast, a signal node in the GLS system has the following elements:
(1) In the past, time information was obtained actively by sending a request to a dedicated server. However, signal nodes distribute time information via P2P at any arbitrary time, so that each node (server) can passively receive the time information.
(2) In the conventional method using a dedicated server, there is a risk of attacks on the dedicated server, whereas a signal node can serve as any node within the GLS system, making it difficult to identify the node (server) distributing time information from outside.
Therefore, a GLS system that employs signal nodes has the following advantages (features), for example:
(a) When installing dedicated servers, the load increases in proportion to the number of servers installed. However, the GLS system allows signal nodes to be operated in a P2P manner, so the load on signal nodes does not increase as the scale of the system increases.
(b) In the GLS system, it is easy to conceal the location of a signal node. Even if the location is discovered and the system goes down (is attacked), the signal node can be reinstalled simply by registering the IP address or domain of the signal node as a connection destination in another node (e.g. RTN), so the GLS system can be easily restored.
(c) As described above, time information transmitted from a signal node can be digitally signed, so that other nodes can easily identify whether the time information received is from a legitimate source when receiving the time information. Furthermore, because digitally signed time information can only be issued by the signal node, it can also prevent attacks such as transmitting information with a future date.
Using this method, the GLS system can realize the "installation of a server that transmits time information," which was difficult to apply in conventional distributed ledger systems, and it becomes possible to obtain accurate time information even at intervals shorter than the block generation interval.
To explain these advantages in more detail, for example, in a conventional distributed ledger system, when viewed from the viewpoint of an arbitrary server, accurate time information cannot be obtained, making it difficult to confirm whether information has been processed or not, and therefore there are cases where the same content must be processed. However, in the GLS system, a method can be adopted in which a node to be processed is assigned at any time, assuming accurate time information. Therefore, duplication of processing of the same content can be significantly reduced, and the scalability of the entire system can be significantly improved.
Here, in the example of the technology that employs a "block number" to obtain the time, for example, a possible solution would be to shorten the interval at which blocks are generated.
However, in Proof of Work, the approvers of the blockchain are randomly determined, and multiple approvers may process the same transaction. Therefore, each node must focus on verifying multiple blocks that contain transactions with the same content. In addition, combined with the characteristic that only blocks that have been verified are distributed to other nodes, this results in a problem of uneven block extension or sharing of the same blocks throughout the system.
This causes a bias in the time information received by each node, and in a proof-of-work system that requires synchronization and sharing of blocks, the overall processing speed of the system decreases. Although such problems remain in the GLS system, the processing speed is improved by adopting the above-mentioned "signal."
Specifically, for example, the amount of information in a signal is smaller than that in a block or transaction, and the types of information included are also smaller. Therefore, even if each node receives multiple signals, it can smoothly verify and distribute them with a small load. In addition, the GLS system can reduce unintended information sharing by allowing information to flow in only one direction using a circular network configuration. Therefore, bias in time sharing within the network is eliminated. Furthermore, the GLS system aims to further improve efficiency by separating the approver and the time information distributor, and by separating the verification process and distribution route of each piece of information.
On the other hand, in order to improve the processing speed of blocks or transactions, if there are nodes, such as the sender and receiver, for which it is desirable to give priority to the transmission of transactions (or blocks), a mechanism can be adopted in which transactions are distributed preferentially to those nodes.

また例えば、上述の実施形態ではトランザクションの内容が確定するタイミングは、RNによる承認がなされた時点で行われるものとして説明したが特にこれに限定されない。
例えば、複数のノードの整合性の検証を持って確定とした場合、システムとしての冗長性を向上できるが処理性能は低下する。他方、1台のノードの承認を持って確定とした場合、システムとしての冗長性は損なわれるが、処理性能は向上するため、確定するタイミングは提供者の任意である。
すなわち、GLSシステムは、対象となる全てのノードで整合性が検証された(問題ないと判断された)時点で確定してもよいし、例えば、トランザクションが各ブロックに格納された時点またはトランザクションが一つ前のトランザクションに連結された時点で確定してもよい。
Also, for example, in the above embodiment, the timing at which the contents of the transaction are finalized is described as being the point at which approval is given by the RN, but this is not particularly limited.
For example, if confirmation is made after verification of the consistency of multiple nodes, the redundancy of the system can be improved but the processing performance will decrease.On the other hand, if confirmation is made after approval of one node, the redundancy of the system will be lost but the processing performance will be improved, so the timing of confirmation is at the discretion of the provider.
In other words, the GLS system may determine the consistency when all relevant nodes have verified the consistency (determined that there is no problem), or it may determine the consistency when, for example, the transaction is stored in each block or when the transaction is linked to the previous transaction.

また例えば、上述の実施形態では説明を省略したが、GLSシステムにおいて採用され得るノードは、接続先である同位の(同じ役割を有する)ノードにもトランザクションを送信してもよい。さらに、この場合、接続先である同位の各ノードは同様に受信したのち、上記のステップに従いトランザクション処理の流れを実行してもよい。 For example, although not described in the above embodiment, a node that may be employed in a GLS system may also transmit transactions to nodes of the same rank (having the same role) to which it is connected. Furthermore, in this case, each of the nodes of the same rank to which it is connected may receive the transaction in the same manner and then execute the transaction processing flow according to the above steps.

また例えば、上述の実施形態において、ブロックチェーンという用語は、ブロックにより構成されたデータベースの構造を指すものとして説明したが、特にこれに限定されない。例えば、各種分散情報システムや、P2Pネットワーク、トランザクションの承認の仕組みなど、より広義な意味として「ブロックチェーン」という用語を使用してもよい。 For example, in the above embodiment, the term blockchain has been described as referring to a database structure composed of blocks, but is not limited to this. For example, the term "blockchain" may be used in a broader sense to refer to various distributed information systems, P2P networks, transaction approval mechanisms, etc.

また例えば、上述の実施形態では説明を省略したが、GLSシステムは、新たなMNがネットワークに参加を希望する際に、RN候補であるMNにより参加の可否を決める投票を行い、その結果として参加可能となったMNのみがRN候補になるような仕組みを採用してもよい。
既存のパブリック型の分散型台帳では、匿名の第三者による承認作業が許可されていたため、いわゆる51%攻撃に効果的な対策をとることが困難であったが、GLSシステムでは、上述のようなMNという承認権限を持ったノードに設置条件を付加することで、MNの所有について有責性のある主体(例えば、GLSシステムの提供者等)が常時正常なMNを50%以上保有することで、いわゆる51%攻撃に効果的な対策をとることができる。
Also, for example, although not described in the above embodiment, the GLS system may adopt a mechanism in which, when a new MN wishes to join the network, a vote is held among MNs that are RN candidates to determine whether or not they may join, and as a result, only MNs that are able to participate become RN candidates.
In existing public distributed ledgers, approval by anonymous third parties was permitted, making it difficult to take effective measures against so-called 51% attacks. However, in the GLS system, by adding installation conditions to the MNs, which are nodes with approval authority as described above, an entity responsible for the ownership of MNs (e.g., the provider of the GLS system) can hold more than 50% of normal MNs at all times, making it possible to take effective measures against so-called 51% attacks.

また例えば、上述の実施形態において、GLSネットワークを構成する各ノードの夫々は、P2P等の方式により接続されているものとして説明したが、さらに補足する。
すなわち、上述の通り、上述の実施形態におけるGLSネットワークの接続は、例えば、いわゆるハイブリッドP2Pの技術を採用することができる。これにより、ネットワーク構造の自由な制御が可能となり、中央から末端までのトランザクションの通信経路の制御を容易にすることができる。
他方、既存のブロックチェーン技術に関するサービスでは、一般的なP2Pが採用されるため、トランザクションの通信経路がランダムになり、任意のノードから特定のノードへの通信経路の制御が困難である。そのため、一般的に最適に近い経路を選択し通信を行うが、トランザクションの高速な承認が実現した場合でも、レイテンシの平均値の改善には限界がある。
これに対して、上述の実施形態におけるGLSシステムでは、経路選択が容易なハイブリッドP2Pを採用することにより、最適な通信経路を選択できるため、一般的なP2Pよりもレイテンシの平均値を低減することが可能となる。
また、ネットワーク規模の拡大により、レイテンシの増加は避けられないが、GLSシステムにおいては、例えば、GLSネットワークが複数の国家間をまたぐような場合に、ノード間のレイテンシが少ないノード同士を優先させる接続や、ネットワークのシャーディング等の実装で上述のレイテンシの増加速度が低減可能なこと、加えて、5G等の外的なインフラ変更への対応も構造上容易となる。このようなシステム自体の柔軟性は、ブロックチェーン等を利用した既存のサービスには見られない固有な特徴と言える。
Further, for example, in the above embodiment, each node constituting the GLS network has been described as being connected by a method such as P2P, but the following will be further supplemented.
That is, as described above, the GLS network connection in the above embodiment can adopt, for example, the so-called hybrid P2P technology, which allows free control of the network structure and facilitates control of the communication path of transactions from the center to the edge.
On the other hand, existing services related to blockchain technology use general P2P, so the communication route of transactions is random, and it is difficult to control the communication route from an arbitrary node to a specific node. Therefore, a route close to the optimum is generally selected for communication, but even if high-speed transaction approval is achieved, there is a limit to the improvement of the average latency.
In contrast, the GLS system in the above-described embodiment employs hybrid P2P, which makes route selection easy, and therefore allows the selection of the optimal communication route, making it possible to reduce the average latency more than with general P2P.
In addition, although an increase in latency is inevitable as the network scale expands, in the GLS system, for example, when the GLS network spans multiple countries, the rate at which the latency increases can be reduced by implementing a connection that prioritizes nodes with low latency between nodes and network sharding, and the structure also makes it easy to respond to external infrastructure changes such as 5G. Such flexibility of the system itself can be said to be a unique feature not seen in existing services that use blockchain, etc.

ここで、上述の実施形態におけるGLSシステムの「階層型ネットワーク構造」及び「環状型ネットワーク構造」の利点と相乗効果について、簡単に補足する。
GLSシステムでは、階層型ネットワーク構造により各ノードの役割の設定に加えて、ノード間の接続を役割毎に円形のネットワーク構造として構築することで、階層ごとのネットワークを自己相似的に接続することができる。
すなわち、GLSシステムの実施形態によるノードの台数の多寡に関わらず、効率的にトランザクションを波及する構造を有するネットワークの構築が容易となる。そのため、GLSシステムでは、MN間における情報の伝達が効率化され、承認時に参照するべき承認済みトランザクションが高速に同期される。これにより、GLSシステムでは、さらにトランザクションの承認にかかる処理速度の向上が期待できる。
さらに言えば、GLSシステムは、未承認のトランザクションの生成から承認、また、同期処理の速度等の向上等も可能である。また、ネットワーク構造の自由な制御が可能であるため、中央から末端までのトランザクションの通信経路の制御を容易にすることができ、レイテンシの平均値を低減することができる。
GLSシステムでは、「階層型ネットワーク構造」及び「環状型ネットワーク構造」の夫々の利点、およびこれらの相乗効果を組み合わせて享受することにより、極めて高速かつ効率的なトランザクションの処理が実現する。
Here, the advantages and synergistic effects of the "hierarchical network structure" and "ring-type network structure" of the GLS system in the above-mentioned embodiment will be briefly supplemented.
In the GLS system, in addition to setting the role of each node in a hierarchical network structure, the connections between nodes are constructed as a circular network structure for each role, making it possible to connect networks for each hierarchy in a self-similar manner.
In other words, regardless of the number of nodes in the GLS system, it is easy to build a network with a structure that efficiently propagates transactions. Therefore, in the GLS system, the transmission of information between MNs is made more efficient, and approved transactions that should be referenced at the time of approval are synchronized at high speed. As a result, the GLS system is expected to further improve the processing speed for transaction approval.
Furthermore, the GLS system can improve the speed of unapproved transactions, from generation to approval, and synchronization processing, etc. In addition, since the network structure can be freely controlled, it is easy to control the communication path of transactions from the center to the edge, and the average latency can be reduced.
In the GLS system, extremely high-speed and efficient transaction processing is realized by combining the respective advantages of the "hierarchical network structure" and the "ring-type network structure" and by utilizing the synergistic effects of these two.

ここで、上述の実施形態におけるシグナルおよびシグナルノード(SGN)について、さらに補足する。
上述の通り、GLSシステムにおいて、シグナルは、トランザクションの改ざんを防止する重要な機能である。つまり、GLSシステムにおけるトランザクションには常にシグナルが埋め込まれており、各ノードは、これを参照することによってトランザクションの作成承認された時刻等を把握することができる。
そこで、GLSシステムは、シグナルの精度を高めるべく、例えば、以下のような方法を合わせて採用してもよい。
(1)トランザクション等にシグナルが埋め込まれた時刻が、最後に受信したシグナルよりも古い場合には、古いシグナルを破棄することができる。これにより、各トランザクションは、常に最新のシグナルを保有することができてもよい。
(2)シグナルノードを複数台設置して、各シグナルノードにシグナルを配信させる。これにより、効率的にシグナルを付与することができてもよい。
(3)各シグナルが埋め込まれた時刻を統計的に処理し(例えば、標準偏差を計算し)、それを基準にシステム内時間を決定することができてもよい。
(4)各ノードは、トランザクションに埋め込まれたシグナルが、夫々どのシグナルノードにより生成されたシグナルかを、公開鍵等を検証して、判別することができてもよい。
なお、シグナルノードは、トランザクションが処理の順番に意味を有していない場合、もしくはトランザクションにすでに別のシグナルが付与されている場合は、必ずしもシグナルをトランザクションに付与しなくてもよい。
Here, the signals and signal nodes (SGN) in the above embodiment will be further supplemented.
As mentioned above, in the GLS system, signals are an important function to prevent transaction tampering. In other words, a signal is always embedded in a transaction in the GLS system, and each node can refer to the signal to know the time when the transaction was created and approved.
Therefore, in order to improve the accuracy of the signal, the GLS system may adopt, for example, the following methods in combination.
(1) If the time when a signal was embedded in a transaction is older than the last signal received, the older signal can be discarded. This may allow each transaction to always have the latest signal.
(2) A plurality of signal nodes may be installed and each signal node may distribute a signal, thereby making it possible to efficiently provide a signal.
(3) The time at which each signal is embedded may be statistically processed (for example, by calculating the standard deviation) and the time within the system may be determined based on that.
(4) Each node may be able to determine which signal node generated each signal embedded in a transaction by verifying a public key, etc.
Note that a signal node does not necessarily have to assign a signal to a transaction if the transaction does not have any significance in terms of the order of processing, or if another signal has already been assigned to the transaction.

また例えば、トランザクションに埋め込まれたシグナルによって、作成・承認されたトランザクションを時系列順に管理することもできるので、各トランザクションに対して時間による優劣を付加することもできる。
具体的に例えば、新たなマスターノード(MN)の選出や脱退を決定する際の各マスターノード(MN)の投票において、シグナルの時刻を参照することで、整合性のある正しい投票かどうかを判別することができる。これにより、より正確にマスターノード(MN)の選出を行うことができるため、システム全体のセキュリティリスクをさらに低減することができる。
具体的には、MNの選出や脱退における、立候補、投票、開票、当選、継続、MN一覧に変化、立候補など、夫々のタイミングにおいてシグナルの時刻を検証することで、整合性のあるプロセスが実現しているか否かを検討することができる。
For example, by using signals embedded in transactions, it is possible to manage transactions that have been created and approved in chronological order, making it possible to assign a time-based ranking to each transaction.
Specifically, for example, when each master node (MN) votes to select a new master node (MN) or decide to withdraw, it is possible to determine whether the vote is consistent and correct by referring to the signal time. This allows for more accurate selection of master nodes (MN), further reducing the security risk of the entire system.
Specifically, by verifying the time of signals at each point in time, such as when an MN is selected or withdrawn, when nominating, voting, vote counting, winning, continuing, changes to the MN list, and nominating, it is possible to determine whether a consistent process has been achieved.

また例えば、上述の実施形態では説明を省略したが、GLSシステムは、コンシステントハッシングと呼ばれる手法等を応用し、さらにネットワークトラフィックを低減することができる。以下、図12を参照してGLSシステムにおける具体的な応用の方法について説明する。
ここで、コンシステントハッシングという手法は、多くのデータを任意のノードに分散して保有させる方法として知られている。GLSシステムにおいても、このコンシステントハッシングの手法を応用した工夫が実装され得る。
すなわち、GLSシステムにおける各種情報(例えば、トランザクションの持ち方や、どのRNがどのトランザクションの承認をするかなど)を、各ノードが分散して保有することで、システム全体の通信量などを低減することができる。
図12の例を見ると、MN-A乃至Cの夫々は、2以上(図12の例では4つ)のブロックのハッシュ値を格納している。この2以上のブロックとは、コンシステントハッシング法の分散保有の思想に基づく、各ノードの担当する情報(以下、「担当シャード」と呼ぶ)の1つ前のブロックと、担当シャードと異なる情報のブロックである。
図12の例では、トランザクションの検証に際して、MN-Aは、ブロックAを生成し、ブロックAのハッシュ値を算出する。そして、算出されたハッシュ値の値に応じて、参照する対象(情報)を選定する。図12の例では、MN-Bである。MN-Bは、自身が検証を担当するトランザクションBの検証を行った上で、トランザクションBを格納したブロックBを生成した後に、ブロックAまたは同一シャード内の前のブロックと連結する。すなわち、図12の例では、単にトランザクションが検証されるだけでなく、関連する次のブロックに連結して初めて、承認され、ファイナリティが付与される。
このように、GLSシステムでは、各MNが分散して保有する担当シャードにまたがって、トランザクションが連結される。そのため、GLSシステムは、複数台のノードにより重複してトランザクションの検証を行うことができるので、単にシステム全体の通信量などを低減することができるだけでなく、任意のノードによる検証が欠損した場合であっても、システム全体を容易に復旧することができる。
なお、未検証のトランザクションが存在せず、ブロックに未確定なトランザクションが存在する場合、MNは、トランザクションを格納しないブロックを生成し、連結することで、未承認のブロックを承認することができる。
また、ブロックAのトランザクションなどの情報は、任意のSNを経由して、MN-Bへ送信される。これによりMN-Bは、トランザクションを検証することができる。
In addition, although not described in the above embodiment, the GLS system can further reduce network traffic by applying a technique called consistent hashing. A specific application method in the GLS system will be described below with reference to FIG. 12.
Here, a technique called consistent hashing is known as a method for distributing and storing a large amount of data among arbitrary nodes. In the GLS system, too, a technique that applies this consistent hashing technique can be implemented.
In other words, by having each node hold various types of information in the GLS system (for example, how to hold transactions, which RN will approve which transactions, etc.), the amount of communication throughout the system can be reduced.
12, each of MN-A to C stores hash values of two or more blocks (four in the example of FIG. 12). These two or more blocks are the block immediately before the information each node is responsible for (hereinafter referred to as the "responsible shard"), based on the idea of distributed ownership of the consistent hashing method, and a block of information different from the responsible shard.
In the example of FIG. 12, when verifying a transaction, MN-A generates block A and calculates the hash value of block A. Then, depending on the calculated hash value, it selects the target (information) to be referenced. In the example of FIG. 12, this is MN-B. MN-B verifies transaction B, which it is responsible for verifying, generates block B in which transaction B is stored, and then links it to block A or the previous block in the same shard. That is, in the example of FIG. 12, the transaction is not only verified, but is approved and given finality only after it is linked to the next related block.
In this way, in the GLS system, transactions are linked across the shards that each MN holds in a distributed manner. Therefore, the GLS system can perform transaction verification in a redundant manner by multiple nodes, which not only reduces the amount of communication in the entire system, but also makes it easy to restore the entire system even if verification by any node is lost.
If there are no unverified transactions but there are unconfirmed transactions in a block, the MN can approve the unconfirmed block by generating and concatenating a block that does not contain any transactions.
Also, information such as the transaction of block A is sent to MN-B via an arbitrary SN, which allows MN-B to verify the transaction.

ここで、例えば、不整合なトランザクションを意図的に承認するなどの攻撃も想定される。そこで、GLSシステムにおいては、MNと連結する他のMNなどにより整合性の検証に異常が認められた場合、例えば、承認直前における連結先候補のブロックに異常なトランザクションが含まれていた場合、それより以前の正常なブロックに連結されてもよい。これにより、異常なトランザクションにはファイナリティが付与されず、上記のような攻撃にも有効に対応することができる。
また例えば、GLSシステムは、任意のMN(例えば、MN-B)が障害により機能を停止した場合、他のMN(例えば、MN-C)が処理を代替し、ブロックの生成などを行ってもよい。
以上まとめると、コンシステントハッシングの手法を応用したGLSシステムにおいては、ノードの夫々は、一般的な分散型台帳ネットワークなどのように全ての情報を保有するのではなく、自身が担当する担当シャードおよび自身が関与する(参照対象である)情報の2つを最低限保有していれば足り、ネットワーク全体の情報量を大きく低減することが可能となる。一方で、悪意のあるトランザクションが検知された場合であっても、異常なトランザクションを含むブロックには一切のブロックが連結されないため、最終的なファイナリティを得ることはできない。これにより、コンシステントハッシングの手法を応用したGLSシステムでは、セキュリティの精度を下げることなく、ネットワーク全体の情報量を低減して各ノードの処理能力を維持しながら処理を実現することができる。
Here, for example, attacks such as intentional approval of inconsistent transactions are also assumed. Therefore, in the GLS system, if an abnormality is found in the verification of consistency by another MN connected to the MN, for example, if an abnormal transaction is included in a block that is a candidate for linking immediately before approval, the MN may be linked to a normal block that precedes the block. This prevents finality from being given to the abnormal transaction, making it possible to effectively deal with attacks such as those described above.
Also, for example, in the GLS system, if any MN (e.g., MN-B) stops functioning due to a failure, another MN (e.g., MN-C) may take over the processing and perform block generation, etc.
In summary, in a GLS system that applies the consistent hashing method, each node does not hold all the information as in a general distributed ledger network, but only needs to hold the minimum of two pieces of information: the shard that it is responsible for and the information that it is involved in (the reference target), which makes it possible to greatly reduce the amount of information in the entire network. On the other hand, even if a malicious transaction is detected, no blocks are linked to the block containing the abnormal transaction, so finality cannot be obtained. As a result, in a GLS system that applies the consistent hashing method, it is possible to reduce the amount of information in the entire network and realize processing while maintaining the processing capacity of each node without reducing the accuracy of security.

ここで、上述の実施形態におけるGLSシステムにおけるDAGの応用について、さらに補足する。
DAGは、指向性を有しているという点でブロックチェーンと同様だが、いわゆるブロックチェーンと異なり並列に承認処理を実行することができる。これは、DAGがトランザクションをブロックに纏めることなく、トランザクション単体で承認作業を実行できるためであり、これによりTPS及びシステム全体のレイテンシの飛躍的な改善が期待できる。
一方で、DAGを単純に利用した場合、例えば、任意のノードから派生したトランザクションを受信するには、自身が保有するトランザクションの一覧を送信する必要がある。換言すれば、派生したトランザクションを同期しようとする度に、都度トランザクションの一覧を送信しなければならない。加えて、トランザクションの一覧を受信したノードは、トランザクション毎に派生したか、確認あるいは検索する必要があり、同期に時間を要する。なお、従来の分散型台帳技術では、ブロック単位で同期することにより、どこまで「同期」したかを識別する。これにより、複数のトランザクションをまとめて確認し、情報の同期速度を向上させている。一方で、GLSシステムでは、シャード毎にブロックチェーンを伸張させることで、情報の同期速度を向上させている。加えて、ブロック毎に他シャードのブロックとのハッシュポインタを追加することで、ブロック単位でのDAGを採用している。さらに、他シャードとブロックを連結する際に検証を実施することで、異なるシャード同士での相互監視が実現できる。これにより、改ざん耐性を維持しつつ、シャーディングによるスケーラビリティを享受できる。
Here, the application of DAG in the GLS system in the above embodiment will be further supplemented.
DAGs are similar to blockchains in that they are directional, but unlike blockchains, they can execute approval processes in parallel. This is because DAGs can execute approval processes for individual transactions without bundling transactions into blocks, which is expected to dramatically improve the latency of TPS and the entire system.
On the other hand, when DAG is simply used, for example, in order to receive a transaction derived from an arbitrary node, it is necessary to send a list of transactions held by the node. In other words, every time a derived transaction is to be synchronized, a list of transactions must be sent. In addition, a node that receives a list of transactions must check or search for each transaction to see if it was derived, and synchronization takes time. In addition, in conventional distributed ledger technology, the extent to which the transactions have been "synchronized" is identified by synchronizing on a block-by-block basis. This allows multiple transactions to be confirmed together, improving the synchronization speed of information. On the other hand, in the GLS system, the blockchain is extended for each shard to improve the synchronization speed of information. In addition, a DAG is adopted on a block-by-block basis by adding a hash pointer with the block of another shard for each block. Furthermore, by performing verification when linking a block with another shard, mutual monitoring between different shards can be realized. This allows the scalability of sharding to be enjoyed while maintaining tamper resistance.

また例えば、上述の実施形態(特に図7のGLSネットワーク)では説明を省略したが、GLSネットワークに含まれ得る図示せぬGWN(Gateway Node)について説明する。
GWNは、GLSシステムのネットワーク及び外部の他のサービス乃至ネットワークと接続を行い、取得する所定のデータに基づいた変換処理を実行する機能を有するノードである。
具体的に例えば、GLSシステムを金融資産取引システムとして利用する場合、金融資産の管理を行い、金融資産などの重要度が高いデータの管理、変換処理を行う際などに利用できる。
これまでの、従来の中央管理システムでは、データを取得する場合に、インターネットを経由してサーバに直接アクセスすることができるため、悪意のある攻撃者によってハッキングされる危険性があった。さらに、悪意のある攻撃者によってデータが改ざんされている危険性があった。
上記問題を解決するために、GWNにおいては、ファイアウォールによりポートを閉じる等の対策を講じることで、GLSネットワークを構成する各ノードからGWNへの一方向的な接続を遮断し、また外部からGWNへのアクセスを禁止する。一方で、GWNからGLSネットワークを構成する各ノードへの一方向の通信は許可されるようにする。
すなわち、GLSシステムは、GWNの配置場所を秘匿することが容易である。また、万が一、配置場所が発見されてシステムがダウンした(攻撃を受けた)場合であっても、GWNのIPアドレスやドメインを他のノード(例えばRTN)に接続先として登録するだけで、再設置が完了するため、容易にGLSシステムの復旧を行うことができる。
ここで、GLSシステムで送受信される各トランザクションは、整合性の検証を通過したもののみが保存されるという特徴から、GWNからGLSネットワークへの一方向の接続による情報の要求によって改ざんされておらず、かつ信ぴょう性が担保されたデータを送受信することができ、正常にデータの同期を実行することができる。
次に、GWNにおける処理について具体的に説明する。まず、GWNが、外部の他のサービス乃至ネットワークから取得する情報に基づいた処理を実行する場合、GWNから一方向的に接続し、データを取得し、読み取った内容に基づいて、GLSシステムにおけるトランザクションを作成する。作成されたトランザクションは、自身乃至MNなどによって承認され、GLSネットワークを構成する各ノードへ一方向的に送信される。これを、受信した各ノードは各接続先に送信することによって、GLSネットワーク全体での同期を実行する。次に、GWNがGLSシステム内のトランザクションを取得し、読み取った内容に基づいて処理を実行する場合、GWNから一方向的にGLSネットワークを構成する各ノードへ接続してトランザクションを取得する。そして、GWNは、取得したトランザクションに基づいて、外部の他のサービス乃至ネットワークに対して所定の処理を実行する。このように、GWNは、取得したトランザクションに基づいて、承認処理を実行し、GLSネットワークを構成する各ノードへ一方向的に接続して、承認済みトランザクションを送信する。
Further, for example, although description has been omitted in the above embodiment (particularly, the GLS network in FIG. 7), a GWN (Gateway Node) (not shown) that may be included in the GLS network will be described.
The GWN is a node that has the function of connecting to the GLS system network and other external services or networks, and executing conversion processing based on specific data that it acquires.
Specifically, for example, when the GLS system is used as a financial asset transaction system, it can be used to manage financial assets and to manage and convert data of high importance such as financial assets.
In the past, conventional central management systems allowed direct access to the server via the Internet to retrieve data, which meant there was a risk of the system being hacked by malicious attackers, and there was also a risk of the data being tampered with by malicious attackers.
To solve the above problem, the GWN takes measures such as closing ports with a firewall to block one-way connections from each node in the GLS network to the GWN and prohibit access to the GWN from outside, while allowing one-way communication from the GWN to each node in the GLS network.
That is, the GLS system can easily conceal the location of the GWN. Even if the location is discovered and the system goes down (is attacked), the GLS system can be easily restored by simply registering the IP address or domain of the GWN as a connection destination in another node (e.g., RTN).
Here, because each transaction sent and received in the GLS system has the characteristic that only those that pass integrity verification are stored, data that has not been tampered with by information requests made via a one-way connection from the GWN to the GLS network and whose authenticity is guaranteed can be sent and received, and data synchronization can be performed normally.
Next, the processing in the GWN will be specifically described. First, when the GWN executes processing based on information acquired from other external services or networks, it connects unidirectionally from the GWN, acquires data, and creates a transaction in the GLS system based on the read content. The created transaction is approved by itself or MN, etc., and is sent unidirectionally to each node constituting the GLS network. Each node that receives this transmits it to each connection destination, thereby executing synchronization in the entire GLS network. Next, when the GWN acquires a transaction in the GLS system and executes processing based on the read content, it connects unidirectionally from the GWN to each node constituting the GLS network and acquires the transaction. Then, the GWN executes a predetermined processing for other external services or networks based on the acquired transaction. In this way, the GWN executes an approval process based on the acquired transaction, connects unidirectionally to each node constituting the GLS network, and transmits the approved transaction.

また例えば、上述の実施形態では簡易的な説明にのみ留めたが、GLSシステムにおけるトランザクションの構造について、さらに詳細に説明する。GLSシステムにおけるトランザクションの構造は、取り扱いデータの異なるプロダクト毎に自由に設計されてもよいが、例えば、トランザクションの構造の一例について詳細に説明する。
GLSシステムにおけるトランザクションモデルは、UTXO(Unspent Transaction Output)ベースとアカウントベースのいずれでも開発が可能であるが、例えば、UTXOベースのアカウントモデルとしては、例えば、既存のビットコインに関するサービスにおけるトランザクション構造を採用することができる。したがって、UTXOの所有者を特定し、Txin(Transaction Input)と元となったTxOut(Transaction Output)の存在を確認した上で、金額等の整合性の検証を行う。
また例えば、トランザクションの承認作業は、例えば、以下のような手順に従いRNのデジタル署名を付与することで行われてもよい。即ち、RNは、新規の承認対象トランザクション(X)と、(X)の直前のトランザクションを比較し、双方のデータのUTXOの整合性を確認する。これによりトランザクションの整合性が検証される。
In addition, for example, although only a simple explanation has been given in the above embodiment, the structure of a transaction in the GLS system will be described in more detail. The structure of a transaction in the GLS system may be freely designed for each product that handles different data, but for example, an example of the transaction structure will be described in detail.
The transaction model in the GLS system can be developed based on either UTXO (Unspent Transaction Output) or account, but for example, a transaction structure in an existing Bitcoin service can be adopted as a UTXO-based account model. Therefore, the owner of the UTXO is identified, and the existence of Txin (Transaction Input) and the original TxOut (Transaction Output) is confirmed, and then the consistency of the amount, etc. is verified.
Also, for example, the transaction approval process may be performed by adding the RN's digital signature according to the following procedure: That is, the RN compares the new transaction (X) to be approved with the transaction immediately preceding (X) and checks the consistency of the UTXOs of both data. This verifies the consistency of the transaction.

また例えば、上述の実施形態では説明を省略したが、GLSシステムを暗号資産交換所等のシステムに応用する場合、GLSシステムにおいて複数の種類の異なるトランザクションを採用してもよい。
具体的に例えば、GLSシステムは、オーダートランザクション及びトレードトランザクションの2種類のトランザクションを採用してもよい。
例えば、オーダートランザクションは、NNによって自身の所有するTxIn(通貨ID、金額、デジタル署名、作成者の公開鍵等)が埋め込まれ、資産売買の申請書としてGLSネットワーク等に送信される。これに対して、例えば、RNは、送信されてきたオーダートランザクションを取得し、条件に合った複数のオーダートランザクションに基づき、承認という形でトレードトランザクションを生成し、NNへ送信する。NNは、送信されてきたトレードトランザクションを取得し、取得したトレードトランザクションのTxOut(送金先アドレス、通貨ID、金額等)から、再びオーダートランザクションを生成する。このフローが繰り返され、かつトランザクション同士をハッシュ値等で繋げることで、資産取引の履歴を記載した分散型台帳としてチェーンが伸長されることになる。
Furthermore, for example, although not described in the above embodiment, when the GLS system is applied to a system such as a cryptocurrency exchange, a plurality of different types of transactions may be adopted in the GLS system.
Specifically, for example, the GLS system may employ two types of transactions: order transactions and trade transactions.
For example, the NN embeds its own TxIn (currency ID, amount, digital signature, creator's public key, etc.) in the order transaction and transmits it to the GLS network or the like as an application for buying and selling assets. In response, for example, the RN acquires the transmitted order transaction, generates a trade transaction in the form of approval based on multiple order transactions that meet the conditions, and transmits it to the NN. The NN acquires the transmitted trade transaction, and again generates an order transaction from the TxOut (remittance address, currency ID, amount, etc.) of the acquired trade transaction. This flow is repeated, and by linking transactions with hash values, etc., the chain is extended as a distributed ledger that describes the history of asset transactions.

また例えば、上述の実施形態では説明を省略したが、GLSシステムに関連する全て、または一部の手法(各ノードに設定される役割、特にRNの承認方式など)は、いわゆるプライベート型やコンソーシアム型の分散型台帳だけでなく、パブリック型の分散型台帳においても応用可能である。 Also, for example, although not described in the above embodiment, all or some of the methods related to the GLS system (such as the roles set for each node, and in particular the RN approval method) can be applied not only to so-called private or consortium-type distributed ledgers, but also to public-type distributed ledgers.

また例えば、図7に示すシステム構成、図8に示すサーバ5のハードウェア構成は、本発明の目的を達成するための例示に過ぎず、特に限定されない。
即ち例えば、本発明の一実施形態に係る情報処理システムの各サーバの夫々は、一つのハードウェア上に構成されてもよいし、その機能や処理数に応じて複数のハードウェア上に構成されてもよい、また、既存の情報処理装置上に実現されてもよい。
Furthermore, for example, the system configuration shown in FIG. 7 and the hardware configuration of the server 5 shown in FIG. 8 are merely examples for achieving the object of the present invention, and are not particularly limited.
That is, for example, each server of an information processing system according to one embodiment of the present invention may be configured on a single piece of hardware, or may be configured on multiple pieces of hardware depending on its functions and number of processes, or may be realized on an existing information processing device.

また例えば、機能を有するノードも図1等の例に限定されず任意でよい。
即ち例えば、所定の機能について、RNが備える構成となっているが、これは例示に過ぎない。例えば、RNが備える機能の少なくとも一部を他の情報処理装置(例えば、MNやSN等)が備える構成としてもよい。
さらに換言すれば、上述した一連の処理を全体として実行できる機能が情報処理システムに備えられていれば足り、この機能を実現するためにどのような機能を用いるのかは、特に図1の例に限定されない。
Also, for example, the nodes having the functions are not limited to the example shown in FIG. 1 and may be any.
That is, for example, a configuration is shown in which a certain function is provided in the RN, but this is merely an example. For example, at least a part of the function provided in the RN may be provided in another information processing device (for example, the MN or the SN).
In other words, it is sufficient that the information processing system is provided with the functionality to execute the above-described series of processes as a whole, and the functionality used to realize this functionality is not limited to the example of FIG. 1 .

また例えば、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
また、1つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
Furthermore, for example, the above-described series of processes can be executed by hardware or software.
Furthermore, one functional block may be configured as a single piece of hardware, a single piece of software, or a combination of both.

一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータ等は、専用のハードウェアに組み込まれているコンピュータであってもよい。
また、コンピュータ等は、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えばサーバの他汎用のスマートフォンやパーソナルコンピュータであってもよい。
When the series of processes is executed by software, the program constituting the software is installed into a computer or the like from a network or a recording medium.
The computer etc. may be a computer built into dedicated hardware.
Furthermore, the computer etc. may be a computer capable of executing various functions by installing various programs, such as a server, a general-purpose smartphone, or a personal computer.

このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図示せぬリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成されてもよい。 The recording medium containing such a program may be configured not only as a removable medium (not shown) that is distributed separately from the device body in order to provide the program to the user, but also as a recording medium that is provided to the user in a state where it is already installed in the device body.

なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 In this specification, the steps of writing a program to be recorded on a recording medium include not only processes that are performed chronologically according to the order, but also processes that are not necessarily performed chronologically but are executed in parallel or individually.

さらに言えば、上述の実施形態(特に図4および図10)に示すステップの内容は例示であり、特に限定されない。
具体的に例えば、図4のステップSS1において、NNは、生成したトランザクションを、他の複数のNN及び複数のSNの夫々へ送信するものとしたが、他の複数のNNに送信せずSNのみにトランザクションを送信するものとしてもよい。
また例えば、図4のステップSS2において、SNは、整合性の検証を行ったトランザクションを他の複数のSNおよび複数のMNの夫々へ送信せず、例えば、RNに直接送信してもよい。なお、このようなステップが採用された場合、図4のステップの一部のステップは、適宜、変更もしくは省略されてもよい。
Furthermore, the contents of the steps shown in the above-described embodiment (particularly, FIG. 4 and FIG. 10) are merely examples and are not particularly limited.
Specifically, for example, in step SS1 of FIG. 4, the NN transmits the generated transaction to each of the other multiple NNs and multiple SNs, but it may also be configured to transmit the transaction only to the SN without transmitting it to the other multiple NNs.
Also, for example, in step SS2 in Fig. 4, the SN may transmit the transaction for which the integrity has been verified directly to the RN, rather than transmitting it to each of the other SNs and MNs. Note that, if such a step is adopted, some of the steps in Fig. 4 may be modified or omitted as appropriate.

また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。 In addition, in this specification, the term "system" refers to an overall device that is composed of multiple devices, multiple means, etc.

以上を換言すると、本発明が適用される情報処理装置は、次のような構成を有していれば足り、各種各様な実施の形態を取ることができる。
即ち、本発明が適用される情報処理装置は、
n(nは1以上の任意の整数値)台の他情報処理装置により構成されるネットワークの管理に用いられる情報処理装置であって、
前記n台の他情報処理装置の夫々に対して役割を設定する役割設定手段と、
設定された前記役割に基づいて、前記n台の他情報処理装置の夫々の接続先を決定する接続先決定手段と、
を備える。
これにより、セキュリティに係る分散情報処理システムにおける処理時間を短縮し、かつ実行すべき処理の大幅な増加にも耐え得る技術を提供することができる。
In other words, it is sufficient for an information processing device to which the present invention is applied to have the following configuration, and various embodiments can be adopted.
That is, the information processing device to which the present invention is applied is
An information processing device used for managing a network configured with n other information processing devices (n is an arbitrary integer value equal to or greater than 1),
a role setting means for setting a role for each of the n other information processing devices;
a connection destination determination means for determining a connection destination of each of the n other information processing devices based on the set role;
Equipped with.
This makes it possible to provide a technique that can shorten the processing time in a distributed information processing system related to security and can withstand a significant increase in the amount of processing to be executed.

また、前記n台の他情報処理装置は、所定の単位情報を単位として、前記役割設定手段により設定された前記役割に従った処理を夫々実行し、
前記役割設定手段は、前記n台の他情報処理装置の夫々に対して、
前記所定の単位情報の承認に関する役割を少なくとも含む第1の役割と、
当該所定の単位情報の生成に関する役割を少なくとも含む第2の役割と、
前記第1の役割が割り当てられた前記他情報処理装置と前記第2の役割が割り当てられた前記他情報処理装置との間でやり取りする役割を含む第3の役割と、
のうち少なくとも1つを設定することができる。
Moreover, the n other information processing devices each execute a process according to the role set by the role setting means for a predetermined unit of information;
The role setting means sets, for each of the n other information processing devices,
A first role including at least a role related to approval of the predetermined unit information;
A second role including at least a role related to the generation of the predetermined unit information;
a third role including a role of communicating between the other information processing device to which the first role is assigned and the other information processing device to which the second role is assigned; and
At least one of the following can be set.

また、前記ネットワークを構成する前記n台の他情報処理装置の夫々を、前記役割設定手段により設定された前記役割に応じた階層構造を決定する階層構造決定手段をさらに備え、
前記接続先決定手段は、前記階層構造決定手段により決定された前記階層構造を含み、前記接続先を決定することができる。
The network further includes a hierarchical structure determination unit that determines a hierarchical structure of each of the n other information processing devices constituting the network according to the role set by the role setting unit,
The connection destination determination means includes the hierarchical structure determined by the hierarchical structure determination means and is capable of determining the connection destination.

また、前記第1の役割における承認を行う他の情報処理装置の選択および順序は、当該他の情報処理装置毎に付与された時間情報に基づいて決定することができる。 In addition, the selection and order of other information processing devices that perform approval in the first role can be determined based on time information assigned to each of the other information processing devices.

また、前記接続先決定手段は、前記n台の情報処理装置の夫々を環状型に配置して、前記接続先を決定することができる。 The connection destination determination means can also determine the connection destination by arranging each of the n information processing devices in a ring shape.

1・・・ルートノード(RN)
180・・・CPU
200・・・未承認トランザクション取得部
201・・・承認済トランザクション生成部
202・・・承認済トランザクション管理部
203・・・シグナル管理部
2・・・マスターノード(MN)
140・・・CPU
160・・・未承認トランザクション管理部
161・・・承認済トランザクション管理部
162・・・整合性検証部
163・・・シグナル管理部
164・・・RN処理部
3・・・スーパーノード(SN)
100・・・CPU
120・・・未承認トランザクション管理部
121・・・承認済トランザクション管理部
122・・・整合性検証部
123・・・シグナル管理部
4・・・ノーマルノード(NM)
60・・・CPU
80・・・トランザクション生成部
81・・・未承認トランザクション管理部
82・・・承認済トランザクション管理部
83・・・整合性検証部
84・・・シグナル管理部
5・・・トポロジーサーバ(RTN)
1...Root node (RN)
180...CPU
200: Unapproved transaction acquisition unit 201: Approved transaction generation unit 202: Approved transaction management unit 203: Signal management unit 2: Master node (MN)
140...CPU
160: Unconfirmed transaction management unit 161: Acknowledged transaction management unit 162: Integrity verification unit 163: Signal management unit 164: RN processing unit 3: Supernode (SN)
100...CPU
120: Unconfirmed transaction management unit 121: Acknowledged transaction management unit 122: Integrity verification unit 123: Signal management unit 4: Normal node (NM)
60...CPU
80: Transaction generation unit 81: Unconfirmed transaction management unit 82: Acknowledged transaction management unit 83: Integrity verification unit 84: Signal management unit 5: Topology server (RTN)

Claims (7)

n台の他情報処理装置により構成されるネットワークの管理に用いられる情報処理装置であって、
前記n台の他情報処理装置の夫々に対して役割を設定する役割設定手段と、
設定された前記役割に基づいて、前記n台の他情報処理装置の夫々の接続先を決定する接続先決定手段と、
を備え、
前記n台の他情報処理装置は、所定の単位情報を単位として、前記役割設定手段により設定された前記役割に従った処理を夫々実行し、
前記役割設定手段は、前記n台の他情報処理装置の夫々に対して、
記単位情報の承認以前における検証処理を実行する役割を少なくとも含む第1の役割と、
記単位情報の承認時において優先的に承認処理を実行する役割を少なくとも含む第2の役割と、
所定の優先順位に従い前記第2の役割を有する前記接続先として選出される候補となる役割を少なくとも含む第3の役割と、
のうち少なくともつの役割を設定
前記第2の役割を有する前記接続先として選出されなかった前記第3の役割を有する前記接続先は、前記第2の役割を有する前記接続先の承認処理の監視を実行する、
情報処理装置。
An information processing device used for managing a network configured with n other information processing devices,
a role setting means for setting a role for each of the n other information processing devices;
a connection destination determination means for determining a connection destination of each of the n other information processing devices based on the set role;
Equipped with
each of the n other information processing devices executes a process according to the role set by the role setting means for each unit of predetermined information;
The role setting means sets, for each of the n other information processing devices,
A first role including at least a role of performing a verification process before approval of the unit information;
A second role including at least a role of preferentially executing approval processing when approving the unit information;
a third role including at least a role that is a candidate to be selected as the connection destination having the second role in accordance with a predetermined priority order ;
Set at least one role among
the connection destination having the third role that has not been selected as the connection destination having the second role monitors the approval process of the connection destination having the second role.
Information processing device.
前記第1の役割における承認を行う他の情報処理装置の選択および順序は、当該他の情報処理装置毎に付与された時間情報に基づいて決定する、
請求項1に記載の情報処理装置。
The selection and order of the other information processing devices that perform the approval in the first role are determined based on time information assigned to each of the other information processing devices.
The information processing device according to claim 1 .
前記ネットワークを構成する前記n台の他情報処理装置の夫々を、前記役割設定手段により設定された前記役割に応じた階層構造を決定する階層構造決定手段をさらに備え、
前記接続先決定手段は、前記階層構造決定手段により決定された前記階層構造を含み、前記接続先を決定する
請求項1又は2に記載の情報処理装置。
a hierarchical structure determination unit that determines a hierarchical structure of each of the n other information processing devices constituting the network in accordance with the role set by the role setting unit,
The information processing apparatus according to claim 1 , wherein the connection destination determination means determines the connection destination based on the hierarchical structure determined by the hierarchical structure determination means.
前記接続先決定手段は、前記n台の情報処理装置の夫々を環状型に配置して、前記接続先を決定する、
請求項1乃至3のうちいずれか1項に記載の情報処理装置。
the connection destination determination means arranges each of the n information processing devices in a ring shape and determines the connection destination;
The information processing device according to claim 1 .
前記役割設定手段は、前記n台の他情報処理装置の夫々に対して、前記時間情報の配信にかかる第4の役割を、さらに設定する、
請求項に記載の情報処理装置。
the role setting means further sets a fourth role relating to the delivery of the time information to each of the n other information processing devices.
The information processing device according to claim 2 .
n台の他情報処理装置により構成されるネットワークの管理に用いられる情報処理装置にかかる情報処理方法であって、
前記n台の他情報処理装置の夫々に対して役割を設定する役割設定ステップと、
設定された前記役割に基づいて、前記n台の他情報処理装置の夫々の接続先を決定する接続先決定ステップと、
を含み、
前記n台の他情報処理装置は、所定の単位情報を単位として、前記役割設定ステップにより設定された前記役割に従った処理を夫々実行し、
前記役割設定ステップは、前記n台の他情報処理装置の夫々に対して、
記単位情報の承認以前における検証処理を実行する役割を少なくとも含む第1の役割と、
記単位情報の承認時において優先的に承認処理を実行する役割を少なくとも含む第2の役割と、
所定の優先順位に従い前記第2の役割を有する前記接続先として選出される候補となる役割を少なくとも含む第3の役割と、
のうち少なくとも1つの役割を設定
前記第2の役割を有する前記接続先として選出されなかった前記第3の役割を有する前記接続先は、前記第2の役割を有する前記接続先の承認処理の監視を実行する、
情報処理方法。
An information processing method for an information processing device used to manage a network configured with n other information processing devices, comprising:
a role setting step of setting a role for each of the n other information processing devices;
a connection destination determination step of determining a connection destination of each of the n other information processing devices based on the set roles;
Including,
each of the n other information processing devices executes a process according to the role set in the role setting step, for each unit of predetermined information;
The role setting step performs the following for each of the n other information processing devices:
A first role including at least a role of performing a verification process before approval of the unit information;
A second role including at least a role of preferentially executing approval processing when approving the unit information;
a third role including at least a role that is a candidate to be selected as the connection destination having the second role in accordance with a predetermined priority order ;
Set at least one role among
the connection destination having the third role that has not been selected as the connection destination having the second role monitors the approval process of the connection destination having the second role.
Information processing methods.
n台の他情報処理装置により構成されるネットワークの管理に用いられる情報処理装置により実行されるプログラムであって、
前記n台の他情報処理装置の夫々に対して役割を設定する役割設定ステップと、
設定された前記役割に基づいて、前記n台の他情報処理装置の夫々の接続先を決定する接続先決定ステップと、
を含み、
前記n台の他情報処理装置は、所定の単位情報を単位として、前記役割設定ステップにより設定された前記役割に従った処理を夫々実行し、
前記役割設定ステップは、前記n台の他情報処理装置の夫々に対して、
記単位情報の承認以前における検証処理を実行する役割を少なくとも含む第1の役割と、
記単位情報の承認時において優先的に承認処理を実行する役割を少なくとも含む第2の役割と、
所定の優先順位に従い前記第2の役割を有する前記接続先として選出される候補となる役割を少なくとも含む第3の役割と、
のうち少なくとも1つの役割を設定
前記第2の役割を有する前記接続先として選出されなかった前記第3の役割を有する前記接続先は、前記第2の役割を有する前記接続先の承認処理の監視を実行する、
プログラム。
A program executed by an information processing device used to manage a network configured by n other information processing devices,
a role setting step of setting a role for each of the n other information processing devices;
a connection destination determination step of determining a connection destination of each of the n other information processing devices based on the set roles;
Including,
each of the n other information processing devices executes a process according to the role set in the role setting step, for each unit of predetermined information;
The role setting step performs the following for each of the n other information processing devices:
A first role including at least a role of performing a verification process before approval of the unit information;
A second role including at least a role of preferentially executing approval processing when approving the unit information;
a third role including at least a role that is a candidate to be selected as the connection destination having the second role in accordance with a predetermined priority order ;
Set at least one role among
the connection destination having the third role that has not been selected as the connection destination having the second role monitors the approval process of the connection destination having the second role.
program.
JP2022174839A 2019-11-12 2022-10-31 Information processing device and program Active JP7574990B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019204717 2019-11-12
JP2019204717 2019-11-12
JP2020179480A JP7231909B2 (en) 2019-11-12 2020-10-27 Information processing device and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020179480A Division JP7231909B2 (en) 2019-11-12 2020-10-27 Information processing device and program

Publications (3)

Publication Number Publication Date
JP2023014079A JP2023014079A (en) 2023-01-26
JP2023014079A5 JP2023014079A5 (en) 2023-09-27
JP7574990B2 true JP7574990B2 (en) 2024-10-29

Family

ID=75898109

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020179480A Active JP7231909B2 (en) 2019-11-12 2020-10-27 Information processing device and program
JP2022174839A Active JP7574990B2 (en) 2019-11-12 2022-10-31 Information processing device and program

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020179480A Active JP7231909B2 (en) 2019-11-12 2020-10-27 Information processing device and program

Country Status (1)

Country Link
JP (2) JP7231909B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025115416A1 (en) * 2023-11-29 2025-06-05 富士フイルム株式会社 Information processing device, method, and program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018183055A1 (en) 2017-03-28 2018-10-04 Alibaba Group Holding Limited Method and apparatus for processing transaction requests
US20190297101A1 (en) 2018-03-21 2019-09-26 Honeywell International Inc. Blockchain for securing distributed iiot or edge device data at rest

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015216570A (en) * 2014-05-13 2015-12-03 日本電気株式会社 Service delivery device, communication system, role determination method and program
JP6239697B2 (en) * 2016-06-22 2017-11-29 株式会社Murakumo How to manage the database
US10411910B2 (en) * 2016-11-23 2019-09-10 DeGirum Corporation Distributed control synchronized ring network architecture
JP2017200196A (en) * 2017-06-01 2017-11-02 株式会社bitFlyer Private node, processing method in private node, and program therefor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018183055A1 (en) 2017-03-28 2018-10-04 Alibaba Group Holding Limited Method and apparatus for processing transaction requests
US20190297101A1 (en) 2018-03-21 2019-09-26 Honeywell International Inc. Blockchain for securing distributed iiot or edge device data at rest

Also Published As

Publication number Publication date
JP7231909B2 (en) 2023-03-02
JP2021077366A (en) 2021-05-20
JP2023014079A (en) 2023-01-26

Similar Documents

Publication Publication Date Title
TWI740423B (en) System and method for providing privacy and security protection in blockchain-based private transactions
Ren et al. HCNCT: A cross-chain interaction scheme for the blockchain-based metaverse
JP6370016B2 (en) Hierarchical network system, node and program used therefor
US11669811B2 (en) Blockchain-based digital token utilization
JP7194127B2 (en) Systems and methods for addressing security-related vulnerabilities arising on off-blockchain channels during network failures
EP3631722B1 (en) Sharded permissioned distributed ledgers
CN109219940B (en) Private node and processing method in private node
CN109314643B (en) Transaction processing device and transaction processing method
JP7319961B2 (en) Computer-implemented systems and methods related to binary blockchains forming a pair of coupled blockchains
Avarikioti et al. Brick: Asynchronous payment channels
KR102349014B1 (en) Method and system for building fast synchronizable decentralized distributed database
KR20230098755A (en) Blockchain system for providing anonymity of privacy information and method for providing anonymity of privacy information in a blockchain
KR102627868B1 (en) Method and system for authenticating data generated in blockchain
US11775553B2 (en) Data integrity of replicated databases
WO2019142884A1 (en) Block verification device, block verification method and program
Ali Trust-to-trust design of a new Internet
CN115136560A (en) Hierarchical network
CN113992526A (en) Credibility calculation-based alliance chain cross-chain data fusion method
JP2023513951A (en) Adapting connections in hierarchical networks
JP7574990B2 (en) Information processing device and program
Liu et al. SharHSC: A sharding-based hybrid state channel to realize blockchain scalability and security
KR102572834B1 (en) Method and system for authenticating data generated in a blockchain using a signable contract
Ali et al. Blockstack technical whitepaper
CN111159286B (en) Method and apparatus for generating multi-layer block chain structure
Harishankar et al. Plasma go: A scalable sidechain protocol for flexible payment mechanisms in blockchain-based marketplaces

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230919

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240827

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20241002

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20241007

R150 Certificate of patent or registration of utility model

Ref document number: 7574990

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D01