JP7231909B2 - Information processing device and program - Google Patents

Information processing device and program Download PDF

Info

Publication number
JP7231909B2
JP7231909B2 JP2020179480A JP2020179480A JP7231909B2 JP 7231909 B2 JP7231909 B2 JP 7231909B2 JP 2020179480 A JP2020179480 A JP 2020179480A JP 2020179480 A JP2020179480 A JP 2020179480A JP 7231909 B2 JP7231909 B2 JP 7231909B2
Authority
JP
Japan
Prior art keywords
role
information processing
transaction
information
node
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
JP2020179480A
Other languages
Japanese (ja)
Other versions
JP2021077366A (en
Inventor
浩貴 山本
Original Assignee
株式会社アーリーワークス
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 株式会社アーリーワークス filed Critical 株式会社アーリーワークス
Publication of JP2021077366A publication Critical patent/JP2021077366A/en
Priority to JP2022174839A priority Critical patent/JP2023014079A/en
Application granted granted Critical
Publication of JP7231909B2 publication Critical patent/JP7231909B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

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

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

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

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

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

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

本発明によれば、セキュリティに係る分散情報処理システムにおける処理時間を短縮し、かつ実行すべき処理の大幅な増加にも耐え得る技術を提供することができる。 ADVANTAGE OF THE INVENTION According to this invention, the technique which shortens the processing time in the distributed information processing system regarding security, and can withstand a large increase in the processing which should be performed can be provided.

本発明の一実施形態の情報処理装置を含む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; FIG. GLSシステムにおけるSNの機能の一例を説明するための図である。FIG. 2 is a diagram for explaining an example of SN functions in the GLS system; GLSシステムにかかる環状型ネットワーク構造の一例を示す図である。1 illustrates an example of a ring-type network structure for the GLS system; FIG. GLSシステムにおけるトランザクションの生成から各種処理の終了までの一連の処理の流れの一例を示す図である。FIG. 3 is a diagram showing an example of a series of processing flows from generation of a transaction to completion of various types of processing in the GLS system; GLSシステムにおけるシグナルノードの機能の一例を説明するための図である。FIG. 3 is a diagram for explaining an example of functions of a signal node in the GLS system; FIG. GLSシステムにおけるシグナルノードの機能の一例を説明するための図であり、図5の例とは異なる例を示す図である。FIG. 6 is a diagram for explaining an example of the functions of a signal node in the GLS system, and is a diagram showing an example different from the example of FIG. 5; GLSシステムの構成の一例を示す図である。It is a figure which shows an example of a structure of a GLS system. 図7のGLSシステムのうちRTNのハードウェア構成の一例を示すブロック図である。8 is a block diagram showing an example of the hardware configuration of RTN in the GLS system of FIG. 7; FIG. 図7のGLSシステムのうち、NN、SN、MNおよびRNの機能的構成の一例を示す機能ブロック図である。8 is a functional block diagram showing an example of functional configurations of NN, SN, MN and RN in the GLS system of FIG. 7; FIG. GLSシステムにおけるトランザクション処理の流れの一例を示すアローチャートである。4 is an arrow chart showing an example of the flow of transaction processing in the GLS system; GLSシステムにおけるノードのネットワークへの参加処理の流れの一例を示すアローチャートである。FIG. 11 is an arrow chart showing an example of the flow of network participation processing of a node in the GLS system; FIG. GLSシステムにコンシステントハッシング法を適用する方法の一例を説明する図である。It is a figure explaining an example of the method of applying a consistent hashing method to a GLS system.

以下、本発明の実施形態について、図面を用いて説明する。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to the drawings.

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

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

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

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

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

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

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

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

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

すなわち、GLSシステムの目的の一つは、例えば、上述の分散型台帳技術が有する情報システムによる耐改ざん性及び所定の当事者に要求される信頼及び責任を軽減する特性に加えて、併せて、消費電力問題を解消し、トランザクションの確定までに要する時間を短縮化し、確定すべきトランザクションの大幅な増加にも適応する処理能力を保持する技術を提供することと言い換えることができる。
そして、このような目的を達成すべくGLSシステムでは、例えば「階層型ネットワーク構造」、「環状型ネットワーク構造」をはじめとする、様々な構造や機能を採用する。
In other words, one of the objectives of the GLS system is, for example, in addition to the tamper resistance of the information system possessed by the above-mentioned distributed ledger technology and the characteristics of reducing the trust and responsibility required of a given party, as well as the consumption In other words, it provides a technology that solves the power problem, shortens the time required to confirm transactions, and retains processing power that can accommodate a large increase in the number of transactions to be confirmed.
In order to achieve this purpose, the GLS system employs various structures and functions such as a "hierarchical network structure" and a "circular 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 the GLS system.
In the GLS system, four types of roles are set for each of the nodes constituting the network, and each node is assigned to each layer, thereby optimizing various types of processing related to transactions.
Here, the node to which the role is set includes, for example, “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 details of the role played by each node will be described.

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

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

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

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

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

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 the NN, which has the role of issuing transactions, and the MN, which has the role of approving transactions, so as to act as an intermediary, thereby alleviating the load concentrated on each MN due to an increase in communication traffic. It is to assist the information processing of each MN. A specific description will be given below.
Although the details will be described later, the NN has a role of generating transactions, and the transactions generated by the NN are transmitted to other NNs and SNs to which the NN is connected. Then, the NN that received the transaction confirms the consistency of the digital signature, etc., stores the transaction information in its own database, etc., and transfers it to the connected NN and SN. By repeating such exchanges by each node in the same way, the transaction spreads throughout the network.
In this regard, in a conventional general distributed ledger network or the like, the latest transaction held by each is sent and received through a process of confirming the presence or absence of the latest transaction held by each. This minimizes the number of times transactions are sent and received between nodes, thereby preventing the flood of unnecessary and excessive identical transactions.
On the other hand, in the GLS system, each node (SN or NN), if the same information as the transaction received by itself is already stored in its own database or the like, does not transfer the transaction. can be discarded. As a result, the GLS system can prevent the network from being flooded with unnecessary and excessive identical transactions. In addition, since it transmits and receives without checking whether there is the latest transaction, it has the role of transmitting the transaction to the MN in the shortest possible time. The role of SN will be briefly described with reference to FIG.

図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 SNs in the GLS system.
The example of FIG. 2 shows an example in which a transaction is transmitted to x NNs existing in the network, that is, an example in which x identical transactions are transmitted to one SN. It is
In this example, each NN is connected to y SNs, so a simple calculation would result in x×y identical transactions being sent to each of a plurality of SNs. If there were no SNs on the network of the GLS system, a large number of identical transactions would be sent to the MN, causing a heavy load on their processing and causing delays in the MN's approval process.
On the other hand, when SN acquires x identical transactions, SN discards x−1 identical transactions and sends only one remaining transaction to MN, so MN receives Only a minimal number of transactions will be involved, allowing the MN to focus solely on its own role, and can be expected to increase 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, it is possible to protect the connection from the NN, which can be an attacker, to the MN like a reverse proxy, thereby enabling high-speed access to a specific MN. It is possible to avoid load attacks and attacks such as encircling specific nodes and blocking information. This allows the GLS system to further reduce security risks and achieve transaction processing.
Specifically, for example, an NN can maliciously send a large amount of unauthorized transactions to a node to which it is connected, and the MN receives all of these unauthorized transactions. As a result, CPU resources may be used to verify the integrity of unauthorized transactions, and the MN's transaction approval processing speed may drop. , this can be circumvented.

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

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

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

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

ステップSS2において、SNは、ステップSS1でNNから送信されたトランザクションを取得して、そのトランザクションの整合性を検証する。
ステップSS2において、SNは、トランザクションの整合性に問題がなければ、そのトランザクションを、他の複数のSNおよび複数のMNの夫々へ送信する。ここでトランザクションを受信した他の複数のSNは夫々ステップSS2の処理を同様に実行する。
At step SS2, SN obtains the transaction sent from NN at step SS1 and verifies the integrity of the transaction.
At step SS2, the SN sends the transaction to each of the other SNs and the MNs if there is no problem with the integrity of the transaction. A plurality of other SNs that have received the transaction here similarly execute the processing of step SS2.

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

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

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

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

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

ここで重要な点は、この環状型ネットワーク構造を採用した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 circular network structure, the order of MN, SN, and NN does not change from the center to the end, and information transmission to each node is always completed with a fixed number of transfers. It is a point to do. In addition, by minimizing the difference in the timing of receiving information due to the positional relationship, unfairness of information for each node can be eliminated, and processing time can be shortened and optimized.
Specifically, in the example of FIG. 3, transaction A created by a given NN is sent in the order of SN and MN. When the MN becomes the RN, it approves the received transaction A and sends it in the order of MN, SN, NN, and all NNs can receive the approved transaction.
In summary, each node assigned a role by the hierarchical network structure can realize a circular self-similar structure of each node of each role by the ring structure.
Note that the ring structure referred to here means a structure in which the nodes are arranged on the network with equal network distances. Specifically, for example, a circular structure is composed of one or more multiple layers, or there is a server or the like that has information about the nodes that make up the entire network. It is sufficient to have a structure for returning information.
By realizing such a structure, the positional relationship of each node becomes even, so it is possible to prevent synchronization timing errors and information disparities due to distance problems, resulting in transaction transmission, approval, and reception. latency to is minimized. In addition, by realizing a ring-shaped network structure, it becomes easy for multiple MNs participating in the network to simultaneously execute approval processing in parallel, speeding up the transaction approval processing and ensuring scalability. .

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

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

<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 explained.
A header is information having a data structure in which a list of RN candidates is recorded. Then, the addition to the header is performed in all RN candidates operating at that time each time the MN joins or leaves as a new RN candidate. In other words, all nodes participating in the network of the GLS system can confirm the list of MNs currently performing approval work by receiving this header information. In addition, all nodes participating in the network can verify the consistency of transactions by checking the history of past participation of all MNs in RN candidates and comparing them with predetermined approved transactions, Reliability can be guaranteed.
Furthermore, in the GLS system, a distributed ledger for managing RN candidates is prepared separately from transactions, and in the form of headers, newly entering MNs are managed. In the management of RN candidates, vulnerabilities can be further eliminated by strictly reviewing the approval of MNs that are scheduled to enter the market over time in light of the participation conditions.

<システム内時間を管理するシグナル>
次に、システム内時間の管理に利用されるシグナルについて説明する。
シグナルとは、GLSシステムにおけるネットワーク内部のシステム内時間を記録しているデータ構造であり、後述するシグナルノードにより送信が行われる。
ここで、分散型台帳に限らず、従来の分散コンピューティングと呼ばれる領域においては、ネットワーク上に存在する各ノードにおけるクロック値の誤差、また通信によるタイムラグが存在し、絶対的な時間の共有は極めて困難であった。
そこで、GLSシステムにおいては、予めシステム内時間を決定し、そのシステム内時間の情報を含むシグナルを、送信するシグナルノード(以下、「SGN(Signal Node)」と呼ぶ)をネットワーク上に配置して、配置されたSGNが任意の単位時間毎にシグナルを送信することで、絶対的な時間情報の共有を実現する。
これにより、GLSシステムでは、従来の中央集権型のデータベースと同様に時間軸でのデータ制御が可能となり、ファイナリティを付与することが可能となる。
なお、このシグナルは、システム内時間の情報が付与された後、所定のSGNによって電子署名が付与され、任意に定められた単位時間ごとにネットワークに送信される。悪意を持って意図的に不正な時刻を生成してトランザクションに付与される場合、シグナルに付与される電子署名を検証することによって、検知することができる。検証方法の一例として、各ノードは、正式なシグナルの公開鍵の一覧を保有し、シグナルに付与されている公開鍵と比較することで、正しいシグナルの検証が行われてもよい。
<Signals that manage the time in the system>
Next, the signals used for managing the time in the system will be explained.
A signal is a data structure that records the intra-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 the distributed ledger, but in the area called conventional distributed computing, there is an error in the clock value at each node on the network, and there is a time lag due to communication, and absolute time sharing is extremely difficult. It was difficult.
Therefore, in the GLS system, a signal node (hereinafter referred to as "SGN (Signal Node)") that transmits a signal containing information on the system internal time is determined in advance and arranged on the network. , and the SGNs that are arranged transmit signals at arbitrary unit time intervals, thereby realizing sharing of absolute time information.
As a result, in the GLS system, data can be controlled on the time axis in the same manner as a conventional centralized database, and finality can be imparted.
This signal is given an electronic signature by a predetermined SGN after being given information on the time in the system, and is transmitted to the network every arbitrarily set unit time. If an incorrect time is intentionally generated and attached to a transaction with malicious intent, it can be detected by verifying the electronic signature attached to the signal. As an example of the verification method, each node may have a list of public keys of official signals, and verify the correct signals by comparing them with the public keys assigned to the signals.

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

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

GLSシステムでは、このような特徴を、適宜、採用することができるため、これまでのブロックチェーン等と同等以上のセキュリティを担保しつつも、超高速での処理を実現することが期待できる。
以上のことから、ヘッダーによりRN候補に参加するMNを事前に審査することで、悪意を持った承認者の参加を防ぐことができ、高いセキュリティを実現することができる。
また、従来、分散型台帳技術では、トランザクションの承認毎に信頼できるノードを決定するために合意処理が必要であったが、GLSシステムにおいては、予めMNが承認ノードとして選出することにより、トランザクションの承認毎に選出する必要性がないため、高速な承認が可能となる。
In the GLS system, such features can be appropriately adopted, so it can be expected to realize ultra-high-speed processing while ensuring security equal to or higher than that of conventional blockchains.
As described above, by screening MNs participating in RN candidates in advance using headers, participation by malicious approvers can be prevented, and high security can be achieved.
Conventionally, with distributed ledger technology, consensus processing was required to determine a reliable node for each transaction approval. Since there is no need to select for each approval, high-speed approval is possible.

さらに、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.
And by introducing signals, we give finality to the approval. In other words, by providing a plurality of judgment criteria including a time axis for transactions, double approval or the like can be prevented. With these features, the GLS system can process transactions at high speed and function as a highly scalable system while taking advantage of blockchain's advantages such as "tamper resistance, zero downtime, transparency and fairness". can be expected.
Here, tamper resistance means the difficulty of maliciously rewriting a transaction that has been confirmed once, and zero downtime means that the time during which various systems and services related to the GLS system stop functioning is infinitely zero. means that In addition, in the GLS system, past history can be referred to by all nodes participating in the network and always verified to ensure transparency and fairness. This is one of the features realized by allowing any participant to become a MN that can have transaction approval authority.
However, a GLS system need not always have all these features. That is, it is not particularly limited whether all of the various features described above are adopted or only some of them are adopted, and may be arbitrarily determined by the GLS system provider or the like.

<他の役割を持つノード>
ここで、上述の役割が設定されたノードと異なる他のノードについて説明する。
(1)トポロジーサーバ(以下、「ルーターノード」または「RTN」と呼ぶ)
RTNとは、上述の各種ノード(例えば、RN、MN、SN、NN)のようにトランザクションの作成や承認には、一切関与せず、ネットワーク全体のノード接続先を管理するサーバとして動作するノードである。つまり、MN,SN、NNの台数比率に応じたMNとSNの台数調整をし、GLSシステムにおけるネットワーク全体を円滑に制御する。
通常の分散型台帳技術に採用されるP2P(Peer to Peer)ネットワーク等の場合は、柔軟なネットワーク管理を行えないため、ネットワークの規模を調整することが極めて困難である。そのため、例えばネットワーク内でのノード台数の増減によるトラフィックの過剰な転送回数の増加が引きおこることがある。換言すれば、ネットワーク全体において不必要なリソースの消費が発生し、電力消費の増加やTPSの低下を生じる恐れがある。これに対して、GLSシステムでは、このような仕組みを採用することにより、ネットワーク全体のトラフィック調整と最適化を実現することができる。
<Nodes with other roles>
Here, other nodes different from the nodes to which the above roles are set will be described.
(1) Topology server (hereinafter referred to as "router node" or "RTN")
An RTN is a node that operates as a server that manages the node connection destinations of the entire network without being involved in the creation or approval of transactions like the above-mentioned various nodes (for example, RN, MN, SN, NN). be. That is, the number of MNs and SNs is adjusted according to the ratio of the number of MNs, SNs, and NNs, and the entire network in the GLS system is smoothly controlled.
In the case of a P2P (Peer-to-Peer) network or the like that is adopted in ordinary distributed ledger technology, it is extremely difficult to adjust the scale of the network because flexible network management cannot be performed. Therefore, an excessive increase in the number of traffic transfers may occur due to, for example, an increase or decrease in the number of nodes in the network. In other words, unnecessary resource consumption may occur in the entire network, resulting in increased power consumption and decreased TPS. On the other hand, in the GLS system, by adopting such a mechanism, it is possible to realize 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システムの提供者等は、例えば必要に応じて全ネットワークを停止し、運営・管理上必要な作業を実行することができる。
Note that conventional centralized servers have problems such as increased latency due to DoS attacks and the like. On the other hand, even if a direct attack on the RTN, which has a centralized server element in the GLS system, causes an increase in the server load, all the core processing of the information processing system, such as transaction approval, Since the MN executes, an increase in the server load on the RTN does not actually cause a drop in latency, and the data can be processed stably.
As for the operation method of the RTN, as described above, in the GLS system, nodes of high importance (for example, RN, MN, etc.) are, in principle, distributed. RTN is an exception to this rule.
That is, the RTN is operated by the provider of the GLS system as a starting point for the entire network when performing (1) operational maintenance of the GLS system, (2) network recovery, and (3) rollback execution. can be done. As a result, the provider of the GLS system can, for example, stop the entire network as necessary and perform work necessary for operation and management.

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

図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 the arrangement of SGNs in a network.
The example of FIG. 6 shows an example in which 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) will transmit a signal to another node. 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 the signals transmitted from SGN(A) to SGN(C) contain errors in the clock values themselves, the respective nodes cannot receive the signals. The signal with the most recent time information is adopted as the latest one. In addition, the synchronization error may be reduced by taking the standard deviation of the signals received within an arbitrary period of time immediately after receiving the signals.

続いて、図7を参照しつつGLSシステムの構成の一例について説明する。図7は、本発明の一実施形態の情報処理装置を含むGLSシステムの構成の一例を示すブロック図である。 Next, an example of the configuration of the GLS system will be described with reference to FIG. FIG. 7 is a block diagram showing an example configuration of a GLS system including an information processing apparatus according to an 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 includes an RN1, n MNs 2-1 to 2-n (n is an arbitrary integer value of 1 or more), and p SNs 3-1 to 3-p (p is 1 or more). an arbitrary integer value), q NNs 4-1 to 4-q (q is an arbitrary integer value of 1 or more) (hereinafter referred to as a “GLS network”), and an RTN (server) 5 is an information processing system. The GLS network and the RTN 5 are configured to be mutually connected via a predetermined network (NW) such as the Internet. Also, each node included in the GLS network is connected by a predetermined method such as P2P. Then, hereinafter, when there is no particular need to distinguish between MN2-1 to 2-n, SN3-1 to 3-p, and NN4-1 to 4-q, they are collectively referred to as "RN1". , “MN2”, “SN3” and “NN4”.
In the example of FIG. 7, each node connected to the GLS network applies to the RTN 5 in advance for participation in the GLS network, and the role to be played by each node is determined and the connection destination is specified. and a GLS network has been constructed.
That is, the RTN 5 acquires information on nodes that wish to participate in the GLS network before constructing the GLS network. The RTN 5 determines each role and connection destination of each node based on the contents. The RTN 5 then transmits information on its own role and connection destination to each node. This builds the GLS network described above.
The GLS network may include not only RN1, MN2, SN3, and NN4, but also nodes having other roles, such as 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 the hardware configuration of 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 RTN 5 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, and an output unit. 16 , an input unit 17 , a storage unit 18 , a communication unit 19 and a drive 20 .

CPU11は、ROM12に記録されているプログラム、又は、記憶部18からRAM13にロードされたプログラムに従って各種の処理を実行する。
RAM13には、CPU11が各種の処理を実行する上において必要なデータ等も適宜記憶される。
The CPU 11 executes various processes according to programs recorded in the ROM 12 or programs loaded from the storage unit 18 to the RAM 13 .
The RAM 13 also stores data 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 storage 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 includes, 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 composed of, for example, a keyboard or the like, and inputs various kinds of information according to user's instruction operations.
The storage unit 18 is configured by a hard disk, a DRAM (Dynamic Random Access Memory), or the like, 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と同様に記憶することができる。
A drive 20 is provided as required. A removable medium 31 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is mounted in the drive 20 as appropriate. A program read from the removable medium 31 by the drive 20 is installed in the storage unit 18 as necessary.
The removable medium 31 can also 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 the same as an example of the hardware configuration of server RTN5, so the description is 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 functional configurations of NN, SN, MN and RN in the GLS system of FIG. First, an example of the functional configuration of NN4 will be described.
As shown in FIG. 9, the CPU 60 of the NN 4 executes various programs to create a transaction generation unit 80, an unapproved transaction management unit 81, an approved transaction management unit 82, a consistency verification unit 83, It functions as a signal manager 84 .
The transaction generator 80 generates a transaction according to the details of the executed transaction.

未承認トランザクション管理部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 NN4 and multiple SN3.

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

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

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

続いて、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 functions as an unapproved transaction management unit 120, an approved transaction management unit 121, a consistency verification unit 122, and a signal management unit 123 by executing various programs. do.
Unapproved transaction manager 120 acquires the transaction sent from NN4. In addition, when the unapproved transaction management unit 120 determines that there is no problem in verifying the consistency of the acquired transaction, the unapproved transaction management unit 120 transmits the transaction to each of the other plurality of SN3s and the plurality of MN2s.

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

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

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

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

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

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

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

RN処理部164は、RN5の選出に関する各種処理を実行する。 The RN processing unit 164 executes 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 explained.
As shown in FIG. 9, the CPU 180 of RN1 functions as an unapproved transaction acquisition unit 200, an approved transaction generation unit 201, and an approved transaction management unit 202 by executing various programs.
The unapproved transaction acquisition unit 200 acquires the transaction sent from MN2.

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

シグナル管理部203は、図示せぬSGNから送信されてきたシグナルを取得し、これを管理する。すなわち、シグナル管理部203は、RN1の夫々のシステム内時間を管理する。 A signal management unit 203 acquires a signal transmitted from an SGN (not shown) and manages it. That is, the signal management unit 203 manages the intra-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 NN4, SN3 and MN2 will be described with reference to FIG. FIG. 10 is an arrow chart showing an example of the flow of transaction processing relating to NN, SN and MN.
In the example of FIG. 10, a series of processes executed in relation to transactions in NN4, SN3 and MN2 are collectively referred to as transaction processing. NN side transaction processing, SN side transaction processing, MN side transaction processing, and RN side transaction processing.

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

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

ステップS21において、SN3の未承認トランザクション管理部120は、ステップS2でNN4から送信されたトランザクションを取得する。 At step S21, the unapproved transaction manager 120 of SN3 acquires the transaction sent from NN4 at 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. Note that if there is a problem with consistency verification, the transaction is discarded.

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

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

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

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

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

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

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

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

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

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

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

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

ステップS25において、SN3の整合性検証部122は、ステップS24で取得された承認済みトランザクションの整合性を検証する。なお、整合性の検証に問題がある場合、そのトランザクションは、破棄される。 In step S25, the consistency verification unit 122 of SN3 verifies the consistency of the approved transaction acquired in step S24. Note that if there is a problem with consistency 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 is recognized in step S25 to each of the other multiple SN3s and multiple NNs.
Here, the approved transaction management unit 121 may determine the destination node based on arbitrary criteria, for example. That is, for example, the approved transaction management unit 121 may transmit approved transactions to each node without determining the order of priority. Priority may be given to sending approved transactions.
Also, in step S27, the approved transaction manager 121 of SN3 saves the approved transaction, which has been judged to have no problem in the consistency verification, in a database or the like (not shown).

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

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

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

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

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

ステップS81において、RTN5は、現在GLSネットワークを構成する全てのノードの情報を含む、全ノードの登録一覧に関する情報(以下、「全ノード情報」と呼ぶ)を取得する。
なお、RTN5が全ノード情報を取得する方法については、特に限定されないが、例えば、GLSネットワークの全体を管理するRTN5は、現在GLSネットワークに関する情報が常に格納されたDBを有しており、そこから全ノード情報を取得してもよい。
In step S81, the RTN 5 acquires information on a registration list of all nodes (hereinafter referred to as "all node information") including information on all nodes that currently configure the GLS network.
The method by which the RTN 5 acquires all node information is not particularly limited. All node information may be acquired.

ここで、ステップS61において、参加希望ノードは、RTN5に対して、自身がGLSネットワークへの参加を希望する旨の情報(以下、「参加希望情報」と呼ぶ)を送信する。
そこで、ステップS82おいて、RTN5は、ステップS61で参加希望ノードから送信されてきた参加希望情報を取得する。
Here, in step S61, the node desiring to join transmits information to the effect that it desires to join the GLS network (hereinafter referred to as "desire to join information") to the RTN5.
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 the role of the node desiring to join based on the information of all nodes acquired in step S81 and the information desiring to join acquired in step S82.
Further, in step S84, the RTN 5 determines a specific connection destination of the node desiring to join in the GLS network based on the all node information acquired in step S81 and the information desiring to join acquired in step S82.

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

そこで、ステップS62において、参加希望ノードは、ステップS85で送信された役割及び接続先に関する情報を取得する。さらに、ステップS63において、参加希望ノードは、ステップS62で取得された役割及び接続先に関する情報を参照し、GLSネットワークへの接続を実行する。
そして、ステップS86において、RTN5は、全ノード情報に参加希望ノードに関する情報を追加して、新たな全ノード情報として図示せぬデータベース等に情報を格納する。
Therefore, in step S62, the node desiring to join acquires the information on the role and connection destination transmitted in step S85. Further, in step S63, the node desiring to join refers to the information on the role and connection destination acquired in step S62, and connects to the GLS network.
Then, in step S86, the RTN 5 adds the information about the node desiring to participate to the all-node information, and stores the information in a database or the like (not shown) 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 embodiments, the differences between the MN and RN in the GLS system and the "minor" in the existing system will be described in detail.
Miners, which are widely used in existing systems, perform mining in transaction approval by searching for hash values that match specific conditions. Note that mining particularly means searching for hash values in transaction approval among a series of processes for transaction approval.
The idea is to ensure the fairness and safety of the entire system by giving randomness to the node responsible for approval.
On the other hand, in the GLS system, it is possible to change the node (especially RN) in charge of approval by a specific trigger (for example, user's operation).
For example, in one method, the GLS system may randomly determine who is in charge of the approval node at the timing of the user's operation by passing arbitrary tokens between MNs or between MN and RN. As a result, the GLS system quasi-randomizes the determination of the node in charge of approval, thereby avoiding that only a specific node becomes the approver.
Also, for example, in one method, the GLS system differs from existing systems in that the contents of transactions generated based on various user operations, time information (signals) given when generating transactions, and the overall network Depending on the configuration, etc., the node responsible for approval may be determined.
Specifically, for example, the GLS system changes hash values to be generated according to the contents of transactions generated based on various user operations, the timing of generation, etc., and combines and refers to these hash values. A node (eg, RN) responsible for approval may be determined. Also, a node (for example, RN) in charge of approval corresponding to a specific hash value may be determined according to the configuration of the entire network at that time.
It should be noted that these elements are elements that are difficult to predict and manipulate arbitrarily in advance of transaction generation. In other words, the GLS system ensures fairness and security by giving a high degree of randomness to the decision of the node in charge of approval by multiplying different elements with such randomness. reduce the risk of being

また、上述の実施形態では説明を省略したが、GLSシステムにおけるシグナル(シグナルノード)の意義について、詳細に補足する。
従来の分散型台帳システムなどでは、任意のノード視点で見た場合に、受け取った情報の順番と、情報が処理された順番が異なる場合がある、受け取った情報に付与されている時間情報(タイムスタンプ)が必ずしも正確とは限らないという問題が指摘されることが多かった。
この点、従来も例えば、情報を処理した際に付与するタイムスタンプを、情報を処理したサーバではなく専用のサーバから情報を受け取ることで正確な時間情報を取得しようという試みがなされていた。また、例えば、ブルーフオブワークスのブロックチェーンでは、タイムスタンプの代わりに「ブロック番号」を用いることで、上述の課題を解決しようという試みもなされていた。しかし例えば、「ブロック番号」を用いる場合などでも、ブロックの生成間隔(合意のとれた時間)よりも細かい時間を算出することは困難であった。
これに対して、GLSシステムにおけるシグナルノードは、以下のような要素を有している。
(1)従来の時間情報の取得が、専用サーバにリクエストを送信するという能動的な方法により行われていたのに対して、シグナルノードは、任意時間毎に時間情報をP2Pにより配信しているため、各ノード(サーバ)は受動的に時間情報を受け取ることができる。
(2)従来の専用サーバを用いる方法では、専用サーバへの攻撃のリスクが存在するのに対して、シグナルノードは、GLSシステム内の任意のノードと兼任することが可能であるため、外部から時間情報を配信しているノード(サーバ)であることの特定を困難にする。
そのため、シグナルノードを採用したGLSシステムでは、例えば、以下のような利点(特徴)が存在する。
(a)専用サーバを設置する場合には設置台数に応じて負荷が増大するのに対して、GLSシステムは、シグナルノードをP2Pで運用することができるため、システムの規模の増加に対してシグナルノードへの負荷が増大することがない。
(b)GLSシステムは、シグナルノードの配置場所を秘匿することが容易である。また、万が一、配置場所が発見されてシステムがダウンした(攻撃を受けた)場合であっても、シグナルノードのIPアドレスやドメインを他のノード(例えばRTN)に接続先として登録するだけで、再設置が完了するため、容易にGLSシステムの復旧を行うことができる。
(c)上述の通りシグナルノードから送信される時間情報は、デジタル署名を付与することが可能であるので、他のノードなどが時間情報を受け取る際に正規の送信元から受信した時間情報か否かを容易に識別することができる。さらに言えば、デジタル署名付きの時間情報はシグナルノードのみで発行することができるという性質上、例えば、未来の日付で情報を送信するなどの攻撃を防ぐこともできる。
このような方法により、GLSシステムでは、従来の分散型台帳システムでは、応用することが困難であった「時間情報を送信するサーバの設置」を実現し、ブロック生成間隔よりも小さい間隔であっても、正確な時間情報を取得することが可能となる。
このような利点を具体的に説明すると、例えば、従来の分散型台帳システムでは、任意のサーバ視点で見た場合に、正確な時間情報を取得できないことから、情報の処理の有無などの確認が困難なことから同じ内容の処理を行わなければならないような場合があった。しかし、GLSシステムでは、正確な時間情報を前提として処理すべきノードを任意の時間毎に割り当てるといった手法を採用することができる。そのため、同一の内容を処理するような処理の重複を大幅に削減することができ、システム全体のスケーラビリティを大幅に向上させることができる。
ここで、時刻を取得する上で「ブロック番号」を採用した技術の例において、例えば、ブロックの生成間隔を短くするという解決策が考えられる。
しかし、プルーフオブワークにおけるブロックチェーンの承認者はランダムに決定され、かつ、同一のトランザクションを複数の承認者が処理することがある。そのため、夫々のノードは、同一の内容のトランザクションを含んだ複数ブロックの検証に注力する必要がある。また、検証を終えたブロックのみを他のノードに配信するという特性と相まって、結果的にシステム全体でのブロックの伸長もしくは同一のブロックの共有に偏りが出てしまうという問題が生じる。
これにより、夫々のノードが受信する時間情報にも偏りが出てしまい、ブロックの同期および共有を前提としたプルーフオブワークでは、システム全体の処理祖速度が低下する。なお、このような問題はGLSシステムにおいても残存するものの、上述の「シグナル」を採用することで処理速度の向上を図っている。
具体的に例えば、シグナルの情報量は、ブロックやトランザクションと比較して少なく、また含まれる情報の種別も少ない。そのため、各ノードが、複数のシグナルを受信したとしても、少ない負荷で円滑に検証や配信を行うことができる。加えて、GLSシステムでは、円環状のネットワーク構成により一方向にのみ流れるようにすることで、意図しない情報の共有などを減らすこともできる。そのため、ネットワーク内における時刻の共有の偏りが解消される。また、GLSシステムは、承認者と時間情報配信者を分離し、かつ、各情報の検証工程および配信ルートを分離することによりさらなる効率化を図っている。
一方で、ブロックもしくはトランザクションの処理速度の向上のために、例えば、送金元と送金先のように、トランザクション(またはブロック)の送信を優先的に行うことが望ましいようなノードが存在する場合、それらのノードに優先的にトランザクションが配信される仕組みを採用することもできる。
Also, although the description is omitted in the above embodiment, the significance of the signal (signal node) in the GLS system will be supplemented in detail.
In conventional distributed ledger systems, the order of information received and the order in which the information was processed may differ when viewed from the perspective of any node. It was often pointed out that stamps were not always accurate.
In this respect, conventionally, for example, attempts have been made to obtain accurate time information by receiving information from a dedicated server instead of the server that processed the information, for example, the time stamp added when information was processed. Also, for example, in the Bluef of Works blockchain, an attempt was made to solve the above-mentioned problem by using "block numbers" instead of timestamps. However, for example, even when using a "block number", it is difficult to calculate a time finer than the block generation interval (agreed time).
On the other hand, a signal node in the GLS system has the following elements.
(1) Conventional acquisition of time information was performed by an active method of sending a request to a dedicated server, whereas signal nodes distribute time information by P2P every arbitrary time. Therefore, each node (server) can passively receive time information.
(2) In the conventional method using a dedicated server, there is a risk of attack on the dedicated server. To make it difficult to identify a node (server) distributing time information.
Therefore, the GLS system employing the signal node has the following advantages (features), for example.
(a) When installing dedicated servers, the load increases according to the number of installed servers. No increase in load on nodes.
(b) The GLS system makes it easy to keep the locations of signal nodes secret. Also, even in the unlikely event that the location is discovered and the system goes down (attacked), simply registering the IP address and domain of the signal node as a connection destination to another node (eg RTN) Since the re-installation is completed, the GLS system can be easily restored.
(c) As described above, the time information transmitted from the signal node can be given a digital signature. can be easily identified. Furthermore, since time information with a digital signature can be issued only by a signal node, it is possible to prevent attacks such as sending information with a future date, for example.
With this method, the GLS system realizes "installation of a server that transmits time information", which was difficult to apply in the conventional distributed ledger system, and the interval is smaller than the block generation interval. can also obtain accurate time information.
To explain these advantages in detail, for example, in conventional distributed ledger systems, when viewed from the viewpoint of any server, accurate time information cannot be obtained, so it is difficult to check whether information is being processed. Due to the difficulty, there were cases where the same content had to be processed. However, in the GLS system, it is possible to adopt a method of allocating nodes to be processed at arbitrary time intervals on the premise of accurate time information. Therefore, it is possible to greatly reduce duplication of processing that processes the same content, and to greatly improve the scalability of the entire system.
Here, in the example of the technology that employs the "block number" to acquire the time, for example, a solution of shortening the block generation interval is conceivable.
However, blockchain approvers in proof of work are randomly determined, and the same transaction may be processed by multiple approvers. Therefore, each node should focus on verifying multiple blocks containing transactions with the same content. In addition, coupled with the characteristic of distributing only blocks that have been verified to other nodes, there arises a problem that, as a result, there is a bias in expanding blocks or sharing the same blocks in the entire system.
As a result, the time information received by each node is also biased, and the processing speed of the entire system decreases in proof-of-work that assumes synchronization and sharing of blocks. Although such a problem remains in the GLS system, the above-mentioned "signal" is used to improve the processing speed.
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, verification and distribution can be performed smoothly with a small load. In addition, in the GLS system, unintended sharing of information can be reduced by allowing information to flow only in one direction through a ring-shaped network configuration. Therefore, the imbalance in time sharing within the network is eliminated. In addition, the GLS system separates the approver from the time information distributor, and separates the verification process and distribution route of each information to achieve further efficiency.
On the other hand, in order to improve the processing speed of blocks or transactions, if there are nodes where it is desirable to preferentially transmit transactions (or blocks), such as the source and destination of the remittance, they It is also possible to adopt a mechanism in which transactions are preferentially distributed to nodes of

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

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

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

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

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

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

ここで、上述の実施形態におけるシグナルおよびシグナルノード(SGN)について、さらに補足する。
上述の通り、GLSシステムにおいて、シグナルは、トランザクションの改ざんを防止する重要な機能である。つまり、GLSシステムにおけるトランザクションには常にシグナルが埋め込まれており、各ノードは、これを参照することによってトランザクションの作成承認された時刻等を把握することができる。
そこで、GLSシステムは、シグナルの精度を高めるべく、例えば、以下のような方法を合わせて採用してもよい。
(1)トランザクション等にシグナルが埋め込まれた時刻が、最後に受信したシグナルよりも古い場合には、古いシグナルを破棄することができる。これにより、各トランザクションは、常に最新のシグナルを保有することができてもよい。
(2)シグナルノードを複数台設置して、各シグナルノードにシグナルを配信させる。これにより、効率的にシグナルを付与することができてもよい。
(3)各シグナルが埋め込まれた時刻を統計的に処理し(例えば、標準偏差を計算し)、それを基準にシステム内時間を決定することができてもよい。
(4)各ノードは、トランザクションに埋め込まれたシグナルが、夫々どのシグナルノードにより生成されたシグナルかを、公開鍵等を検証して、判別することができてもよい。
なお、シグナルノードは、トランザクションが処理の順番に意味を有していない場合、もしくはトランザクションにすでに別のシグナルが付与されている場合は、必ずしもシグナルをトランザクションに付与しなくてもよい。
Here, the signal and signal node (SGN) in the above-described embodiments are 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 by referring to this signal, each node can grasp the time when the creation of the transaction was approved, and the like.
Therefore, the GLS system may adopt, for example, the following methods together in order to improve signal accuracy.
(1) If the time at which a signal is embedded in a transaction or the like is older than the last received signal, the old signal can be discarded. This may allow each transaction to always have the latest signal.
(2) Install a plurality of signal nodes and distribute signals to each signal node. This may allow efficient signal transfer.
(3) It may be possible to statistically process the time when each signal is embedded (for example, calculate the standard deviation) and determine the intra-system time based on that.
(4) Each node may be able to determine which signal node generated the signal embedded in the transaction by verifying the public key or the like.
It should be noted that the signal node does not necessarily have to assign a signal to a transaction if the order in which the transactions are processed has no meaning, or if another signal has already been assigned to the transaction.

また例えば、トランザクションに埋め込まれたシグナルによって、作成・承認されたトランザクションを時系列順に管理することもできるので、各トランザクションに対して時間による優劣を付加することもできる。
具体的に例えば、新たなマスターノード(MN)の選出や脱退を決定する際の各マスターノード(MN)の投票において、シグナルの時刻を参照することで、整合性のある正しい投票かどうかを判別することができる。これにより、より正確にマスターノード(MN)の選出を行うことができるため、システム全体のセキュリティリスクをさらに低減することができる。
具体的には、MNの選出や脱退における、立候補、投票、開票、当選、継続、MN一覧に変化、立候補など、夫々のタイミングにおいてシグナルの時刻を検証することで、整合性のあるプロセスが実現しているか否かを検討することができる。
In addition, for example, it is possible to manage created and approved transactions in chronological order by signals embedded in transactions, so it is possible to add time-based superiority or inferiority to each transaction.
Specifically, for example, in the voting of each masternode (MN) when deciding to elect or withdraw from a new masternode (MN), by referring to the time of the signal, it is possible to determine whether it is a consistent and correct vote. can do. As a result, the master node (MN) can be elected more accurately, thereby further reducing the security risk of the entire system.
Specifically, a consistent process is realized by verifying the signal time at each timing, such as candidacy, voting, vote counting, election, continuation, change in MN list, candidacy, etc. in election and withdrawal of MN. It is possible to consider whether or not

また例えば、上述の実施形態では説明を省略したが、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は、トランザクションを検証することができる。
Also, for example, although not described in the above embodiments, the GLS system can apply a technique called consistent hashing or the like to further reduce network traffic. A specific application method in the GLS system will be described below with reference to FIG.
Here, a technique called consistent hashing is known as a method of distributing and holding a large amount of data in arbitrary nodes. Even in the GLS system, a device that applies this consistent hashing method can be implemented.
In other words, each node distributes and holds various information in the GLS system (for example, how to hold a transaction, which RN approves which transaction, etc.), thereby reducing the communication traffic of the entire system. be able to.
Looking at the example of FIG. 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 based on the idea of distributed possession of the consistent hashing method, and the block immediately before the information in charge of each node (hereinafter referred to as the "responsible shard") and the information different from the responsible shard. is a block.
In the example of FIG. 12, MN-A creates block A and calculates a hash value of block A when verifying a transaction. Then, an object (information) to be referred to is selected according to the calculated hash value. In the example of FIG. 12, it is MN-B. MN-B verifies transaction B for which it is responsible for verification, generates block B storing transaction B, and then connects 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 approved and given finality only when it is linked to the next related block.
In this way, in the GLS system, transactions are linked across the responsible shards distributed and held by each MN. Therefore, in the GLS system, transactions can be verified redundantly by multiple nodes. Even if there is, the entire system can be easily restored.
If there is no unverified transaction and there is an unconfirmed transaction in the block, the MN can approve the unapproved block by creating and concatenating a block that does not store the transaction.
Also, information such as transactions of block A is sent to MN-B via an arbitrary SN. This 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, when an abnormality is recognized in the verification of consistency by another MN connected to the MN, for example, when an abnormal transaction is included in the block of the connection destination candidate immediately before approval, May be concatenated to earlier normal blocks. As a result, finality is not assigned to abnormal transactions, and attacks such as those described above can be effectively dealt with.
Also, for example, in the GLS system, if any MN (for example, MN-B) stops functioning due to a failure, another MN (for example, MN-C) takes over processing and generates blocks. good.
In summary, in the GLS system that applies the method of consistent hashing, each node does not hold all information like a general distributed ledger network, but each node is responsible for its own shard and It suffices to have at least two pieces of information related (referenced) by itself, and it is possible to greatly reduce the amount of information in the entire network. On the other hand, even if malicious transactions are detected, final finality cannot be obtained because no blocks are linked to blocks containing abnormal transactions. As a result, in the GLS system to which the consistent hashing technique is applied, 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 lowering security accuracy.

ここで、上述の実施形態におけるGLSシステムにおけるDAGの応用について、さらに補足する。
DAGは、指向性を有しているという点でブロックチェーンと同様だが、いわゆるブロックチェーンと異なり並列に承認処理を実行することができる。これは、DAGがトランザクションをブロックに纏めることなく、トランザクション単体で承認作業を実行できるためであり、これによりTPS及びシステム全体のレイテンシの飛躍的な改善が期待できる。
一方で、DAGを単純に利用した場合、例えば、任意のノードから派生したトランザクションを受信するには、自身が保有するトランザクションの一覧を送信する必要がある。換言すれば、派生したトランザクションを同期しようとする度に、都度トランザクションの一覧を送信しなければならない。加えて、トランザクションの一覧を受信したノードは、トランザクション毎に派生したか、確認あるいは検索する必要があり、同期に時間を要する。なお、従来の分散型台帳技術では、ブロック単位で同期することにより、どこまで「同期」したかを識別する。これにより、複数のトランザクションをまとめて確認し、情報の同期速度を向上させている。一方で、GLSシステムでは、シャード毎にブロックチェーンを伸張させることで、情報の同期速度を向上させている。加えて、ブロック毎に他シャードのブロックとのハッシュポインタを追加することで、ブロック単位でのDAGを採用している。さらに、他シャードとブロックを連結する際に検証を実施することで、異なるシャード同士での相互監視が実現できる。これにより、改ざん耐性を維持しつつ、シャーディングによるスケーラビリティを享受できる。
Here, the application of DAG in the GLS system in the above-described embodiment will be further supplemented.
DAGs are similar to blockchains in that they are directional, but unlike so-called blockchains, DAGs can execute approval processes in parallel. This is because the DAG can perform the approval work for each transaction without grouping transactions into blocks, which can be expected to dramatically improve the latency of the TPS and the entire system.
On the other hand, if a DAG is simply used, for example, to receive transactions derived from an arbitrary node, it is necessary to send a list of transactions it owns. In other words, each time you try to synchronize derived transactions, you have to send the list of transactions. In addition, a node that receives a list of transactions must derive, check, or retrieve each transaction, which takes time for synchronization. In the conventional distributed ledger technology, by synchronizing on a block-by-block basis, it is possible to identify to what extent "synchronization" has occurred. This allows multiple transactions to be confirmed together, improving the speed of information synchronization. On the other hand, the GLS system improves the synchronization speed of information by expanding the blockchain for each shard. In addition, by adding hash pointers to blocks in other shards for each block, a block-based DAG is adopted. Furthermore, mutual monitoring between different shards can be realized by performing verification when connecting blocks with other shards. This allows you to enjoy the scalability of sharding 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ネットワークを構成する各ノードへ一方向的に接続して、承認済みトランザクションを送信する。
Also, for example, a not-illustrated GWN (Gateway Node) that can be included in the GLS network will be described, although the description has been omitted in the above-described embodiment (especially the GLS network in FIG. 7).
The GWN is a node that has a function of connecting to the network of the GLS system and other external services or networks, and executing conversion processing based on the acquired predetermined data.
Specifically, for example, when the GLS system is used as a financial asset transaction system, it can be used to manage financial assets, manage data of high importance such as financial assets, and perform conversion processing.
In the past, when acquiring data, conventional central management systems were at risk of being hacked by malicious attackers because the servers could be directly accessed via the Internet. In addition, there is a risk that data may be tampered with by malicious attackers.
In order to solve the above problem, the GWN takes measures such as closing ports with firewalls to block unidirectional connections from each node that constitutes the GLS network to the GWN, and also prohibit access to On the other hand, one-way communication from the GWN to each node constituting the GLS network is permitted.
That is, the GLS system can easily keep the location of the GWN secret. In addition, even if the installation location is discovered and the system goes down (attacked), simply registering the GWN's IP address or domain as a connection destination to another node (for example, RTN) will restore the system. Since the installation is completed, the GLS system can be restored easily.
Here, since each transaction sent and received in the GLS system is saved only after passing the integrity verification, it has not been tampered with by requesting information through a one-way connection from the GWN to the GLS network. Also, data with guaranteed reliability can be transmitted and received, and data synchronization can be performed normally.
Next, processing in the GWN will be specifically described. First, when the GWN performs processing based on information acquired from other external services or networks, it connects unidirectionally from the GWN, acquires data, and based on the read contents, transactions in the GLS system to create The created transaction is approved by itself, MN, etc., and is unidirectionally transmitted to each node constituting the GLS network. Each node that receives this transmits it to each connection destination, thereby synchronizing the entire GLS network. Next, when the GWN acquires a transaction in the GLS system and executes processing based on the read contents, the GWN unidirectionally connects to each node constituting the GLS network and acquires the transaction. The GWN then executes predetermined processing for other external services or networks based on the acquired transaction. In this way, the GWN performs approval processing based on the acquired transaction, unidirectionally connects 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の整合性を確認する。これによりトランザクションの整合性が検証される。
Also, for example, although only a brief explanation was given in the above-described embodiment, the structure of transactions in the GLS system will be explained in more detail. The transaction structure 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 on either a UTXO (Unspent Transaction Output) basis or an account basis. can do. Therefore, after identifying the owner of the UTXO and confirming the existence of the Txin (Transaction Input) and the original TxOut (Transaction Output), the consistency of the amount and the like is verified.
Also, for example, the transaction approval work may be performed by adding the RN's digital signature according to the following procedure. That is, the RN compares the new approval target transaction (X) with the transaction immediately preceding (X), and confirms the UTXO consistency of both data. This verifies transaction integrity.

また例えば、上述の実施形態では説明を省略したが、GLSシステムを暗号資産交換所等のシステムに応用する場合、GLSシステムにおいて複数の種類の異なるトランザクションを採用してもよい。
具体的に例えば、GLSシステムは、オーダートランザクション及びトレードトランザクションの2種類のトランザクションを採用してもよい。
例えば、オーダートランザクションは、NNによって自身の所有するTxIn(通貨ID、金額、デジタル署名、作成者の公開鍵等)が埋め込まれ、資産売買の申請書としてGLSネットワーク等に送信される。これに対して、例えば、RNは、送信されてきたオーダートランザクションを取得し、条件に合った複数のオーダートランザクションに基づき、承認という形でトレードトランザクションを生成し、NNへ送信する。NNは、送信されてきたトレードトランザクションを取得し、取得したトレードトランザクションのTxOut(送金先アドレス、通貨ID、金額等)から、再びオーダートランザクションを生成する。このフローが繰り返され、かつトランザクション同士をハッシュ値等で繋げることで、資産取引の履歴を記載した分散型台帳としてチェーンが伸長されることになる。
Also, for example, although the description is omitted in the above embodiment, when the GLS system is applied to a system such as a crypto asset 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, an order transaction is embedded with its own TxIn (currency ID, amount, digital signature, creator's public key, etc.) by the NN and sent to the GLS network or the like as an asset trading application form. On the other hand, for example, the RN acquires the transmitted order transactions, generates a trade transaction in the form of approval based on a plurality of order transactions that meet the conditions, and transmits it to the NN. The NN acquires the transmitted trade transaction, and generates an order transaction again from TxOut (remittance destination address, currency ID, amount, etc.) of the acquired trade transaction. By repeating this flow and connecting 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 embodiments, all or part of the methods related to the GLS system (roles set for each node, especially the RN approval method, etc.) are so-called private type or consortium type. It can be applied not only to the distributed ledger of the public type, but also to the public distributed ledger.

また例えば、図7に示すシステム構成、図8に示すサーバ5のハードウェア構成は、本発明の目的を達成するための例示に過ぎず、特に限定されない。
即ち例えば、本発明の一実施形態に係る情報処理システムの各サーバの夫々は、一つのハードウェア上に構成されてもよいし、その機能や処理数に応じて複数のハードウェア上に構成されてもよい、また、既存の情報処理装置上に実現されてもよい。
Also, 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 the 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 a plurality of pieces of hardware according to its functions and the number of processes. Alternatively, it may be implemented on an existing information processing device.

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

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

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

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

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

さらに言えば、上述の実施形態(特に図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 embodiments (particularly FIG. 4 and FIG. 10) are examples and are not particularly limited.
Specifically, for example, in step SS1 in FIG. 4, the NN is supposed to transmit the generated transaction to each of the other multiple NNs and the multiple SNs. may send transactions to
Also, for example, in step SS2 of FIG. 4, the SN may not send the consistency-verified transaction to each of the other SNs and MNs, but directly to the RN, for example. It should be noted that when such steps are employed, some of the steps in FIG. 4 may be changed or omitted as appropriate.

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

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

また、前記n台の他情報処理装置は、所定の単位情報を単位として、前記役割設定手段により設定された前記役割に従った処理を夫々実行し、
前記役割設定手段は、前記n台の他情報処理装置の夫々に対して、
前記所定の単位情報の承認に関する役割を少なくとも含む第1の役割と、
当該所定の単位情報の生成に関する役割を少なくとも含む第2の役割と、
前記第1の役割が割り当てられた前記他情報処理装置と前記第2の役割が割り当てられた前記他情報処理装置との間でやり取りする役割を含む第3の役割と、
のうち少なくとも1つを設定することができる。
Further, each of the n other information processing devices executes a process according to the role set by the role setting means in units of predetermined unit information,
The role setting means, 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 exchanging between the other information processing apparatus to which the first role is assigned and the other information processing apparatus to which the second role is assigned;
can be set at least one of

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

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

また、前記接続先決定手段は、前記n台の情報処理装置の夫々を環状型に配置して、前記接続先を決定することができる。 Further, the connection destination determining means can determine the connection destination by arranging each of the n information processing apparatuses 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... Unapproved transaction manager 161... Approved transaction manager 162... Consistency verification unit 163... Signal manager 164... RN processor 3... Super node (SN)
100 CPU
120... Unapproved transaction manager 121... Approved transaction manager 122... Consistency verification unit 123... Signal manager 4... Normal node (NM)
60 CPU
80 Transaction generation unit 81 Unapproved transaction management unit 82 Approved transaction management unit 83 Consistency verification unit 84 Signal management unit 5 Topology server (RTN)

Claims (7)

n(nは1以上の任意の整数値)台の他情報処理装置により構成されるネットワークの管理に用いられる情報処理装置であって、
前記n台の他情報処理装置の夫々に対して役割を設定する役割設定手段と、
設定された前記役割に基づいて、前記n台の他情報処理装置の夫々の接続先を決定する接続先決定手段と、
を備え
前記n台の他情報処理装置は、所定の単位情報を単位として、前記役割設定手段により設定された前記役割に従った処理を夫々実行し、
前記役割設定手段は、前記n台の他情報処理装置の夫々に対して、
前記所定の単位情報の承認に関する役割を少なくとも含む第1の役割と、
当該所定の単位情報の生成に関する役割を少なくとも含む第2の役割と、
前記第1の役割が割り当てられた他情報処理装置と前記第2の役割が割り当てられた他情報処理装置との間でやり取りする役割を含む第3の役割と、
のうち少なくとも1つを設定し、
前記第1の役割の承認にかかる他情報処理装置の選択および順序は、他情報処理装置毎に付与された時間情報に基づいて決定される、
情報処理装置。
An information processing device used for managing a network composed of n (n is an arbitrary integer value of 1 or more) other information processing devices,
role setting means for setting a role for each of the n other information processing devices;
connection destination determining means for determining a connection destination of each of the n other information processing apparatuses based on the set role;
with
each of the n other information processing devices executes a process according to the role set by the role setting means in units of predetermined unit information;
The role setting means, 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 exchanging between the other information processing apparatus to which the first role is assigned and the other information processing apparatus to which the second role is assigned;
set at least one of
The selection and order of other information processing devices for approval of the first role are determined based on time information given to each of the other information processing devices,
Information processing equipment.
前記ネットワークを構成する前記n台の他情報処理装置の夫々を、前記役割設定手段により設定された前記役割に応じた階層構造を決定する階層構造決定手段をさらに備え、
前記接続先決定手段は、前記階層構造決定手段により決定された前記階層構造を含み、前記接続先を決定する
請求項1に記載の情報処理装置。
further comprising hierarchical structure determination means for determining a hierarchical structure for each of the n other information processing devices constituting the network according to the role set by the role setting means;
2. The information processing apparatus according to claim 1 , wherein said connection destination determination means determines said connection destination including said hierarchical structure determined by said hierarchical structure determination means.
前記接続先決定手段は、前記n台の情報処理装置の夫々を環状型に配置して、前記接続先を決定する、
請求項1又は2に記載の情報処理装置。
The connection destination determining means determines the connection destination by arranging each of the n information processing devices in a ring shape.
The information processing apparatus according to claim 1 or 2 .
前記役割設定手段は、前記n台の他情報処理装置の夫々に対して、前記時間情報の配信にかかる第4の役割を、さらに設定する、 The role setting means further sets a fourth role related to distribution of the time information to each of the n other information processing devices.
請求項1乃至3のうちいずれか1項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 3.
前記時間情報は、デジタル署名を付与されて配信される、 the time information is distributed with a digital signature;
請求項1乃至4のうちいずれか1項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 4.
n(nは1以上の任意の整数値)台の他情報処理装置により構成されるネットワークの管理に用いられる情報処理装置にかかる情報処理方法であって、
前記n台の他情報処理装置の夫々に対して役割を設定する役割設定ステップと、
設定された前記役割に基づいて、前記n台の他情報処理装置の夫々の接続先を決定する接続先決定ステップと、
を備え
前記n台の他情報処理装置は、所定の単位情報を単位として、前記役割設定ステップにより設定された前記役割に従った処理を夫々実行し、
前記役割設定ステップは、前記n台の他情報処理装置の夫々に対して、
前記所定の単位情報の承認に関する役割を少なくとも含む第1の役割と、
当該所定の単位情報の生成に関する役割を少なくとも含む第2の役割と、
前記第1の役割が割り当てられた他情報処理装置と前記第2の役割が割り当てられた他情報処理装置との間でやり取りする役割を含む第3の役割と、
のうち少なくとも1つを設定し、
前記第1の役割の承認にかかる他情報処理装置の選択および順序は、他情報処理装置毎に付与された時間情報に基づいて決定される、
情報処理方法。
An information processing method for an information processing device used for managing a network composed of n (n is an arbitrary integer value equal to or greater than 1) 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 apparatuses based on the set roles;
with
each of the n other information processing devices executes a process according to the role set by the role setting step in units of predetermined unit information;
In the role setting step, 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 exchanging between the other information processing apparatus to which the first role is assigned and the other information processing apparatus to which the second role is assigned;
set at least one of
The selection and order of other information processing devices for approval of the first role are determined based on time information given to each of the other information processing devices,
Information processing methods.
n(nは1以上の任意の整数値)台の他情報処理装置により構成されるネットワークの管理に用いられる情報処理装置により実行されるプログラムであって、
前記n台の他情報処理装置の夫々に対して役割を設定する役割設定ステップと、
設定された前記役割に基づいて、前記n台の他情報処理装置の夫々の接続先を決定する接続先決定ステップと、
を含む制御処理を実行し、
前記n台の他情報処理装置は、所定の単位情報を単位として、前記役割設定ステップにより設定された前記役割に従った処理を夫々実行し、
前記役割設定ステップは、前記n台の他の情報処理装置の夫々に対して、
前記所定の単位情報の承認に関する役割を少なくとも含む第1の役割と、
当該所定の単位情報の生成に関する役割を少なくとも含む第2の役割と、
前記第1の役割が割り当てられた他情報処理装置と前記第2の役割が割り当てられた他情報処理装置との間でやり取りする役割を含む第3の役割と、
のうち少なくとも1つを設定し、
前記第1の役割の承認にかかる他情報処理装置の選択および順序は、他情報処理装置毎に付与された時間情報に基づいて決定される、
プログラム。
A program executed by an information processing device used for managing a network composed of n (n is an arbitrary integer value of 1 or more) 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 apparatuses based on the set roles;
Execute control processing including
each of the n other information processing devices executes a process according to the role set by the role setting step in units of predetermined unit information;
In the role setting step, 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 exchanging between the other information processing apparatus to which the first role is assigned and the other information processing apparatus to which the second role is assigned;
set at least one of
The selection and order of other information processing devices for approval of the first role are determined based on time information given to each of the other information processing devices,
program.
JP2020179480A 2019-11-12 2020-10-27 Information processing device and program Active JP7231909B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022174839A JP2023014079A (en) 2019-11-12 2022-10-31 Information processing device and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019204717 2019-11-12
JP2019204717 2019-11-12

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022174839A Division JP2023014079A (en) 2019-11-12 2022-10-31 Information processing device and program

Publications (2)

Publication Number Publication Date
JP2021077366A JP2021077366A (en) 2021-05-20
JP7231909B2 true JP7231909B2 (en) 2023-03-02

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 Pending JP2023014079A (en) 2019-11-12 2022-10-31 Information processing device and program

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022174839A Pending JP2023014079A (en) 2019-11-12 2022-10-31 Information processing device and program

Country Status (1)

Country Link
JP (2) JP7231909B2 (en)

Citations (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
JP2016184432A (en) 2016-06-22 2016-10-20 株式会社Murakumo Database management method
JP2017200196A (en) 2017-06-01 2017-11-02 株式会社bitFlyer Private node, processing method in private node, and program therefor
WO2018098084A3 (en) 2016-11-23 2019-12-05 DeGirum Corporation Distributed control synchronized ring network architecture

Patent Citations (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
JP2016184432A (en) 2016-06-22 2016-10-20 株式会社Murakumo Database management method
WO2018098084A3 (en) 2016-11-23 2019-12-05 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

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6370016B2 (en) Hierarchical network system, node and program used therefor
JP7194127B2 (en) Systems and methods for addressing security-related vulnerabilities arising on off-blockchain channels during network failures
US11538003B2 (en) Sharded permissioned distributed ledgers
TWI740423B (en) System and method for providing privacy and security protection in blockchain-based private transactions
CN109040271B (en) Network equipment integrity protection method under distributed environment
Alizadeh et al. A survey of secure internet of things in relation to blockchain
CN112418860A (en) Block chain efficient management framework based on cross-chain technology and working method
Liang et al. Exploring the attack surfaces in blockchain enabled smart cities
Wang et al. DAG blockchain-based lightweight authentication and authorization scheme for IoT devices
TW202119210A (en) Data security of shared blockchain data storage based on error correction code
KR102627868B1 (en) Method and system for authenticating data generated in blockchain
TW202111627A (en) Managing blockchain-based centralized ledger systems
WO2019142884A1 (en) Block verification device, block verification method and program
KR20230098755A (en) Blockchain system for providing anonymity of privacy information and method for providing anonymity of privacy information in a blockchain
CN115606150A (en) Multi-layer communication network
Mao et al. A survey on cross-chain technology: Challenges, development, and prospect
Liu et al. A blockchain-based cross-domain authentication management system for IoT devices
KR20190086301A (en) System and method for distributed database using block chain
Zhai et al. BPKI: A secure and scalable blockchain-based public key infrastructure system for web services
KR20210100865A (en) Method and system for building fast synchronizable decentralized distributed database
JP7231909B2 (en) Information processing device and program
Yang et al. Blockchain consensus algorithm design based on consistent hash algorithm
Hafeez et al. Blockchain based competent consensus algorithm for secure authentication in vehicular networks
CN111506667A (en) Calculation capacity transaction information data storage method based on partition authentication technology
Panduro-Ramirez et al. Blockchain Approach for Implementing Access Control in IOT

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211012

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221031

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: 20230130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230209

R150 Certificate of patent or registration of utility model

Ref document number: 7231909

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150