WO2022149239A1 - 情報処理装置、隣接ノード選択方法及びプログラム - Google Patents

情報処理装置、隣接ノード選択方法及びプログラム Download PDF

Info

Publication number
WO2022149239A1
WO2022149239A1 PCT/JP2021/000357 JP2021000357W WO2022149239A1 WO 2022149239 A1 WO2022149239 A1 WO 2022149239A1 JP 2021000357 W JP2021000357 W JP 2021000357W WO 2022149239 A1 WO2022149239 A1 WO 2022149239A1
Authority
WO
WIPO (PCT)
Prior art keywords
nodes
node
information processing
outbound
adjacent
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.)
Ceased
Application number
PCT/JP2021/000357
Other languages
English (en)
French (fr)
Inventor
洋 松浦
良則 後藤
英博 佐尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to US18/271,040 priority Critical patent/US12536158B2/en
Priority to PCT/JP2021/000357 priority patent/WO2022149239A1/ja
Priority to JP2022573859A priority patent/JP7420287B2/ja
Publication of WO2022149239A1 publication Critical patent/WO2022149239A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23—Updating
    • G06F16/2379—Updates performed during online database operations; commit processing
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23—Updating
    • G06F16/2365—Ensuring data consistency and integrity
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60—Protecting data
    • G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Definitions

  • the present invention relates to an information processing device, an adjacent node selection method and a program.
  • a blockchain is a database that stores data by generating a unit of encrypted data called a block and connecting the blocks like a chain.
  • Blockchain technology is widely used as a virtual currency platform represented by Bitcoin.
  • Each node belonging to the blockchain network becomes a minor (miner) and creates a new block that satisfies the hash function condition. Nodes that generate approved blocks from a certain number of nodes can be rewarded. However, if multiple different miners generate blocks that satisfy the hash function conditions at about the same time, the multiple blocks may be approved at the same time, and the blockchain may branch (fork). In this case, the blocks belonging to the branch destination chain other than the chain with the longest number of blocks must be discarded later as orphan blocks. One of the causes of this fork is the block propagation speed. If the blocks are fast enough to spread throughout the network, the blocks generated later will not be approved.
  • each node of the blockchain network holds 8 adjacent nodes as Outbound adjacent nodes, and directly transmits the blocks generated by its own node or the blocks transferred from other nodes to the Outbound adjacent nodes.
  • each node holds an Inbound adjacency node separately from the Outbound adjacency node.
  • An Inbound adjacency node of a node is an adjacency node to which the node can directly receive a block.
  • Each node can hold the Outbound and Inbound together up to 125 adjacent nodes.
  • Each node has two tables, from which the Outbound adjacent node is selected.
  • the first table is a new table, in which the nodes that the node has never held an adjacency relationship with are listed, and the information initially obtained from DNS (Domain Name System) is stored in the new table. Stored.
  • the second table is a tried table, in which nodes that have had an adjacency relationship with the node are listed.
  • the 8 Outbound neighboring nodes are set first by default, but the neighboring nodes can be changed periodically according to the addition of new nodes, the down of neighboring nodes, etc.
  • the source code of the bitcoin node which is a typical blockchain network, can be downloaded from the URL of "bitcoin / bitcoin: https://github.com/bitcoin/bitcoin", but as described in Non-Patent Document 1. (12th row from the top of the left column on P378), each node randomly selects eight Outbound adjacent nodes from the new table and the tried table held by the node in the default setting (conventional method 1).
  • Non-Patent Document 1 in order to solve the problem that the conventional method selects a node having a small transmission band as an adjacent node, each node measures the block propagation time from the adjacent node, and the adjacent node having a slow propagation speed. Is included in the Outbound adjacent node, the adjacent node is periodically (for example, every 5 blocks received) replaced with the adjacent node randomly selected from the new table or the tried table (conventional method 2). ..
  • the following equation (1) is an estimated band from the target node (N) calculated by each node (A).
  • BD (N) block size / 1 hop propagation time (NA) (1)
  • the "1 hop propagation time (NA)" indicates the block propagation time of 1 hop from the node N to the node A.
  • equation (1) can be considered as the inverse of the block propagation time of one hop from node N to node A, and the block propagation time from node N is the node. It can be obtained by measuring from the reception time of the INVITE message (Non-Patent Document 1) from N to the time of receiving the block.
  • the table update cycle is T block
  • the lower limit of the estimated band (Equation (1)) deleted from the adjacent node list is B
  • FIG. 1 is a diagram for explaining the conventional method 2.
  • the node first puts a list of domain names and IP addresses of neighboring node candidates mainly acquired from DNS in the new table, and randomly stores eight Outbound neighboring nodes in the Outbound neighboring node list.
  • that node is stored in the Inbound adjacent node list within a range in which the total number of adjacent nodes does not exceed 125.
  • a node that has become an adjacent node is stored in the tried table.
  • the adjacent node is deleted from the Outbound adjacent node list and the Inbound adjacent node list.
  • the adjacent nodes having an estimated band smaller than the lower limit B are E, G, J, and M, but the adjacent nodes E and G having the smallest estimated band are deleted. The node will no longer receive blocks from nodes deleted from the Inbound adjacency node list and will no longer send blocks to nodes deleted from the Outbound adjacency node list.
  • the conventional method 2 has the following problems.
  • the first issue is the possibility of unfairness among minors.
  • a node with a slow block propagation speed cannot maintain an adjacency with other nodes, so that it becomes difficult for the block to propagate.
  • the second issue is that the load on each node will increase.
  • Each node must constantly record the block transfer time from the adjacent node as a process other than mining and block transfer.
  • the third issue is that it is vulnerable to Eclipse attacks when such adjacent node settings other than random selection are performed.
  • a malicious attacker can send a block to the adjacent node of the attack target at a high propagation speed, impersonate the adjacent node of that node, and create an environment where it is easy to send incorrect information to the target node. ..
  • the fourth problem is that it is necessary to replace the adjacent nodes in the adjacent node list until the block propagation on the network is accelerated to some extent, which is optimal. It takes 20-25 blocks of mining to reach a high propagation speed, which is time consuming.
  • the embodiment of the conventional method 1 can be implemented assuming that the latest band table is excluded in FIG.
  • eight Outbound neighboring nodes are initially set randomly from the new table, and when the neighboring nodes do not respond to communication or when a new node joins the network, the new table or the tried table is randomly set at any time. Update the eight Outbound adjacency node tables from.
  • the node load is lightened, and it is difficult to receive an Eclipse attack by random selection, but there is a possibility that the number of nodes in the area where the propagation delay is large will be more than necessary. Is high, and there is a high possibility that block propagation delay will occur.
  • the present invention has been made in view of the above points, and an object of the present invention is to efficiently improve fairness between nodes of a blockchain network.
  • the information processing device is an information processing device as one of a plurality of nodes constituting a blockchain network straddling a plurality of regions, and each of the plurality of nodes is used.
  • the area determination unit that determines the area to which the node belongs based on the information registered for each of the plurality of nodes, and the Outbound adjacent node of the node related to the information processing apparatus, the other area with respect to the area to which the node belongs. It has a selection unit for selecting the Outbound adjacent node so that the number of nodes belonging to the Outbound node is a fixed number.
  • FIG. 2 is a diagram showing a hardware configuration example of the information processing apparatus 10 according to the first embodiment.
  • the information processing device 10 of FIG. 2 has a drive device 100, an auxiliary storage device 102, a memory device 103, a processor 104, an interface device 105, and the like, which are connected to each other by a bus B, respectively.
  • the program that realizes the processing in the information processing apparatus 10 is provided by a recording medium 101 such as a CD-ROM.
  • a recording medium 101 such as a CD-ROM.
  • the program is installed in the auxiliary storage device 102 from the recording medium 101 via the drive device 100.
  • the program does not necessarily have to be installed from the recording medium 101, and may be downloaded from another computer via the network.
  • the auxiliary storage device 102 stores the installed program and also stores necessary files, data, and the like.
  • the memory device 103 reads the program from the auxiliary storage device 102 and stores it when there is an instruction to start the program.
  • the processor 104 is a CPU or GPU (Graphics Processing Unit), or a CPU and GPU, and executes a function related to the information processing device 10 according to a program stored in the memory device 103.
  • the interface device 105 is used as an interface for connecting to a network.
  • FIG. 3 is a diagram showing a functional configuration example of the information processing apparatus 10 according to the first embodiment.
  • the information processing apparatus 10 has a region determination unit 11, an Outbound adjacent node selection unit 12, and an Inbound adjacent node selection unit 13. Each of these parts is realized by a process of causing the processor 104 to execute one or more programs installed in the information processing apparatus 10.
  • the information processing apparatus 10 also uses storage units such as a new table 14, a tried table 15, an Outbound adjacent node list 16, and an Inbound adjacent node list 17.
  • Each of these storage units can be realized by using, for example, a storage device that can be connected to the memory device 103, the auxiliary storage device 102, or the information processing device 10 via a network.
  • the new table 14 a list of information including the domain name and IP address of the node to which the information processing apparatus 10 has never maintained an adjacency relationship is registered.
  • the information obtained from DNS is registered in the new table 14.
  • the tried table 15 a list of information including a domain name, an IP address, and the like of a node that has an adjacent relationship with the information processing apparatus 10 is registered.
  • the adjacency relationship means a relationship in which direct exchange (transmission / reception) of blocks is allowed.
  • the area determination unit 11 determines that each adjacent node candidate is a node in its own area based on the information (domain name or IP address) of each adjacent node candidate whose domain name or the like is registered in the new table 14 or the tried table 15. Determine if it is a node in another area.
  • the node in the own area means a node located in the same area as the area to which the node related to the information processing apparatus 10 belongs.
  • the node in another area means a node arranged in an area different from the area to which the node related to the information processing apparatus 10 belongs.
  • a region is a partial range obtained by dividing a geographical range across a blockchain network into a plurality of areas.
  • a group of one country or a plurality of countries corresponds to a region.
  • the area may be divided into any unit as long as it is a unit that can be distinguished based on the information registered in the new table 14.
  • IP addresses are managed by ICANN (Internet Corporation Assigned Names and Numbers, a global organization (“ICANN's role: https://www.icann.org/resources/pages/what-2012-02-25-” ja ").
  • the area determination unit 11 may use the public information to determine whether the node with the IP address registered in HTTPS is in its own area or in another area.
  • the Outbound adjacent node selection unit 12 selects an Outbound adjacent node from the adjacent node candidates registered in the new table 14 or the tried table 15. When selecting an Outbound adjacent node, the Outbound adjacent node selection unit 12 randomly selects ⁇ portion of the total number of Outbound adjacent nodes (for example, 8) from the nodes in other regions, and the rest is a node in its own region. Randomly select from. It should be noted that ⁇ may be a value common to all regions (that is, a constant (common) value for all nodes) or a value different for each region, and may be determined in advance or calculated based on a predetermined formula. Will be done. The Outbound adjacent node selection unit 12 records the selection result in the Outbound adjacent node list 16.
  • the number of nodes in other regions is maintained at ⁇ .
  • the number of Outbound adjacent nodes belonging to other regions with generally large propagation delays between adjacent nodes is kept constant to reduce unfairness among miners (fairness). Can be improved).
  • the Inbound adjacent node selection unit 13 basically sets the other node in the Inbound adjacent node list 17 based on the Outbound adjacent node setting notification from the other node.
  • the method of selecting the Inbound adjacent node by the Inbound adjacent node selection unit 13 may be any other method.
  • the Outbound adjacent node candidates belonging to other regions can be determined from the IP address / domain name of the DNS node, so that each can be determined as in the conventional method 2. It is not necessary to record all the propagation times of blocks sent by a node to its own node. Therefore, the load on each node can be reduced.
  • the second embodiment will explain the differences from the first embodiment.
  • the points not particularly mentioned in the second embodiment may be the same as those in the first embodiment.
  • ⁇ is set to a smaller value (1 or 2, etc. in the case of 8 Outbound adjacent nodes) as compared with the case where the Outbound adjacent nodes are randomly selected regardless of the region to which they belong. It becomes a constant (common) value (constant number) for all nodes.
  • FIG. 4 is a diagram showing an example of the Outbound adjacent node list 16 for explaining the second embodiment.
  • the symbols A to H indicate the identifier of the node.
  • a and B are nodes in other regions
  • ⁇ when an Outbound adjacent node is randomly selected regardless of the area to which it belongs, ⁇ may be set to a value smaller than the average value of the number of selected Outbound adjacent nodes belonging to another area.
  • the value is set to a smaller value than when the Outbound adjacent node is randomly selected regardless of the region to which the node belongs, so that the block propagation delay is suppressed to a small value. Will be possible.
  • the third embodiment will explain the differences from the first embodiment.
  • the points not particularly mentioned in the third embodiment may be the same as those in the first embodiment.
  • the number of Outbound adjacent nodes belonging to other regions of each node is made smaller than the average value when randomly selected, but the number of nodes in the own region is reduced. If the number is small, the number of Outbound adjacent nodes belonging to other areas is increased in inverse proportion to the number of nodes in the own area. Therefore, in the third embodiment, the value of ⁇ may vary from region to region.
  • the number of Outbound adjacent nodes belonging to other regions is X
  • the total number of Outbound adjacent nodes is Y
  • the positive parameter value is Z
  • the ceil (A) indicates the smallest integer greater than or equal to A.
  • the value of X may be calculated by the Outbound adjacent node selection unit 12 or may be set in advance.
  • the number of Outbound adjacent nodes belonging to other areas may be set to 1 (hereinafter, the process of setting the value of X to 1 is referred to as “correction process”).
  • the third embodiment it is possible to increase the number of adjacent nodes belonging to other areas in an area where the number of adjacent nodes in the own area is small, so that the minor depends on the area.
  • the injustice that occurs in between can be reduced.
  • each node can hold at least one Outbound adjacent node belonging to another region.
  • the third embodiment is particularly effective when there is an area where the number of nodes participating in the blockchain network is small. In such an area, it is assumed that the total number of Outbound adjacent node candidates in the area is 5 or less. In that case, it is possible to increase the number of Outbound adjacent nodes in other areas. As a result, each node can always secure eight Outbound adjacent nodes, and minor inequity by region can be reduced.
  • FIG. 5 is a diagram showing an example of setting the blockchain node arrangement and the adjacency relationship between the nodes in SimBlock.
  • FIG. 5 is based on the SimBlock simulator explanatory slide: http://www.shudo.net/publications/20190729-IEEE-Tokyo-blockchain/shudo-IEEE-Tokyo-blockchain.pdf.
  • SimBlock can randomly arrange nodes in each region of the world as shown in FIG. 5 and set an adjacency relationship between the nodes.
  • FIG. 6 shows a matrix of propagation delay (milliseconds) in 1-bit transfer inside and outside the region in the SimBlock setting. This matrix is also based on the 2019 Bitcoin Network statistics.
  • FIG. 7 and 8 are diagrams showing the superiority of this embodiment over the conventional method 1 in terms of block propagation time.
  • FIG. 7 corresponds to the case where the number of nodes randomly arranged in the whole world is 500
  • FIG. 8 corresponds to the case where the number of nodes randomly arranged in the whole world is 1000.
  • the "conventional method 1" is a method in which eight Outbound adjacent nodes are randomly selected.
  • the average propagation time indicates the average time until each node having 500 or 1000 receives each block generated by the miner. Since the block height of the main chain is set to 200, the average block propagation time until 201 blocks of the main chain spread over the entire network is shown.
  • the block propagation time of this embodiment is smaller than that of the conventional method 1 in any of the networks.
  • the propagation time is shorter than when the number is fixed at 3.
  • the reason for this is that in the conventional method 1, Outbound adjacent nodes are randomly selected, so that the selection probability of the adjacent nodes outside the region is 50% or more, and the number of adjacent nodes outside the region becomes larger than necessary, and the matrix shown in FIG. 6 This is because, as is clear from the above, the block propagation time becomes long. Even when the adjacent node outside the region is fixed to 3, it is considered that the propagation delay becomes large for this reason.
  • FIG. 9 and 10 are diagrams showing the standard deviation of the block propagation time until each block of the main chain of 201 reaches each node on the network.
  • FIG. 9 corresponds to the case where the number of nodes randomly arranged in the whole world is 500
  • FIG. 10 corresponds to the case where the number of nodes randomly arranged in the whole world is 1000.
  • a large standard deviation indicates that there is a large difference in the time it takes for the block to reach each node, and that there is a large amount of unfairness among the miners. It can be seen that the conventional method 1 clearly has a larger standard deviation than the proposed methods. The reason is that in this embodiment, since the number of Outbound adjacent nodes in other regions of each node is equal or almost equal, the block propagation condition of the node is fairer than that of the conventional method 1 in which the Outbound adjacent nodes are randomly selected. ..
  • 11 and 12 are diagrams showing the evaluation results of the present embodiment with respect to the conventional method 1 regarding the effect of reducing the orphan block rate.
  • both blocks may be generated by forking under the same parent block with a specified number of approvals ( "Wikipedia: Blockchain: https://ja.wikipedia.org/wiki/%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%83%81%E3 % 82% A7% E3% 83% BC% E3% 83% B3 "(hereinafter referred to as" reference ").
  • the block that could not become the main chain after forking is discarded as an orphan block (reference), and the transaction performed on this orphan block is also discarded, so it is better not to generate an orphan block as much as possible.
  • block propagation delay One factor in the generation of orphan blocks is block propagation delay. This is because if a block spreads throughout the network at high speed, when another block generation notification arrives at a certain node, the block has already arrived at that node, and the block that arrives later is not approved. ..
  • the total number of nodes was 500, and the number of blocks in the main chain was 20001 blocks in FIG. 11 and 40001 blocks in FIG. 12 until many blocks were created. The reason for this is that orphan blocks occur accidentally, so there is no clear difference in the number of blocks of about 200 blocks.
  • each of the 20001,40001 block evaluations was run 5 times, and the average value of the number of orphan blocks was measured. As shown in each figure, it can be seen that the present embodiment can significantly reduce the number of orphan blocks of the conventional method 1.
  • the Outbound adjacent node selection unit 12 is an example of the selection unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

情報処理装置は、複数の地域に跨がるブロックチェーンネットワークを構成する複数のノードのうちのいずれかのノードとしての情報処理装置であって、前記複数のノードそれぞれが属する地域を、前記複数のノードそれぞれについて登録されている情報に基づいて判定する地域判定部と、当該情報処理装置に係るノードのOutbound隣接ノードのうち、当該ノードが属する地域に対して他地域に属するノードの数が一定数となるように、前記Outbound隣接ノードを選択する選択部と、を有することで、ブロックチェーンネットワークのノード間の公平性を効率的に向上させる。

Description

情報処理装置、隣接ノード選択方法及びプログラム
 本発明は、情報処理装置、隣接ノード選択方法及びプログラムに関する。
 ブロックチェーンは、ブロックと呼ばれる暗号化されたデータの単位を生成し、ブロックを鎖(チェーン)のように連結していくことによりデータを保管するデータベースである。ビットコインに代表される仮想通貨のプラットフォームとしてブロックチェーン技術は広く使われている。
 ブロックチェーンネットワークに所属する各ノードはマイナー(採掘者)となり、ハッシュ関数条件を満たす新たなブロックを生成する。一定数のノードから承認されたブロックを生成したノードは報酬を得ることができる。ただし、ほぼ同時期に異なる複数のマイナーがハッシュ関数条件を満たすブロックを生成した場合、複数ブロックが同時に承認されてしまい、ブロックチェーンが分岐(フォーク)してしまう場合がある。この場合、ブロック数が最長のチェーン以外の分岐先のチェーンに所属するブロックは後に孤児ブロックとして廃棄されなければならない。このフォークの原因の一つとしてブロック伝搬速度が挙げられる。仮に、ブロックがネットワーク全体に行き渡る速度が十分であれば、後に生成されたブロックは承認されないからである。
 ブロックチェーンネットワークの各ノードは、デフォルトで8隣接ノードをOutbound隣接ノードとして保持し、自ノードで生成したブロック、又は他ノードから転送されてきたブロックをOutbound隣接ノードに直接送信する。また、各ノードは、Outbound隣接ノードとは別にInbound隣接ノードを保持する。或るノードのInbound隣接ノードとは、当該或るノードがブロックを直接受け取ることができる隣接ノードのことである。各ノードは、Outbound及びInboundをあわせて最大125隣接ノードまで保持することが可能である。
 各ノードは、2つのテーブルを持ち、その中からOutbound隣接ノードを選択する。一つ目のテーブルは、newテーブルであり、このテーブルには当該ノードが隣接関係を保持したことのないノードがリストアップされ、当初はDNS(Domain Name System)から得られた情報がnewテーブルに格納される。二つ目のテーブルは、triedテーブルであり、このテーブルには、当該ノードと隣接関係を持ったことのあるノードがリストアップされる。
K. Wang and H. S. Kim, "FastChain: Scaling blockchain system with informed neighbor selection", IEEE International Conference on Blockchain, 2019.
 ブロックチェーンネットワークの各ノードにおいてデフォルトで8台有るOutbound隣接ノードは最初に設定されるが、新規ノードの追加、隣接ノードのダウン等に応じて隣接ノードを定期的に変更することもできる。「bitcoin/bitcoin: https://github.com/bitcoin/bitcoin」のURLから代表的なブロックチェーンネットワークであるビットコインノードのソースコードをダウンロードできるが、非特許文献1に記されているように(P378左コラムの上から12行目)、各ノードは、デフォルト設定において、当該ノードが保持するnewテーブルとtriedテーブルからランダムに8台のOutbound隣接ノードを選択する(従来方式1)。
 非特許文献1では、従来方式が伝送帯域の小さいノードを隣接ノードとして選択してしまうといった問題点を解消するため、各ノードが隣接ノードからのブロック伝搬時間を測定し、伝搬速度の遅い隣接ノードがOutbound隣接ノードに含まれていた場合は、定期的(例えば、5ブロック受信毎)にその隣接ノードを、newテーブル又はtriedテーブルからランダムに選択した隣接ノードと入れ替える方式をとる(従来方式2)。
 以下の式(1)は、各ノード(A)が計算する対象ノード(N)からの推定帯域である。
BD(N)=ブロックサイズ/1ホップ伝搬時間(N-A)   (1)
 なお、「1ホップ伝搬時間(N-A)」は、ノードNからノードAまでの1ホップのブロック伝搬時間を示す。
 ブロックサイズは、1つのブロックチェーンネットワークでは変わらないので、式(1)は、ノードNからノードAまでの1ホップのブロック伝搬時間の逆数と考えてよく、ノードNからのブロック伝搬時間は、ノードNからのINVITEメッセージ(非特許文献1)の受信時間からブロックを受け取る時間までを測定することにより求めることができる。非特許文献1では、テーブル更新周期をTブロック、隣接ノードリストから削除される推定帯域(式(1))の下限をB、1度の更新で削除されるOutbound隣接ノード数の上限をKとした場合、T=5,K=2で適用性が高いとしている。
 図1は、従来方式2を説明するための図である。この例では、削除する隣接ノード数上限K=2、許容される帯域の下限値B=1.5MBと設定している。ノードは、最初に主にDNSから取得した隣接ノード候補のドメイン名とIPアドレスのリストをnewテーブルに入れておき、その中からランダムに8台のOutbound隣接ノードをOutbound隣接ノードリストに格納する。また、他ノードからコネクション要求があった場合は、そのノードをInbound隣接ノードリストに隣接ノード数の合計が125を超えない範囲で格納していく。triedテーブルには、一度隣接ノードになったノードを格納しておく。従来方式2に特有の直近帯域テーブルには、各Inbound隣接ノードからの直近の式(1)に基づくブロック伝搬帯域を更新しておき、T=5ブロック間隔で最も推定帯域(式)の小さい2つの隣接ノートが下限値Bよりも小さい場合は、当該隣接ノードをOutbound隣接ノードリスト、Inbound隣接ノードリストから削除する。図1においては、下限値Bより小さい推定帯域の隣接ノードはE,G,J,Mであるが、その中で最も推定帯域の小さい隣接ノードEとGが削除されることになる。ノードは、Inbound隣接ノードリストから削除されたノードからのブロックは受け取らなくなり、Outbound隣接ノードリストから削除されたノードへはブロックを送信しなくなる。このように、Outbound/Inbound隣接ノードリストにはブロック伝搬帯域の大きい隣接ノードが残ることになる。ノードは、削除されたOutbound隣接ノードが有る場合は、その削除された隣接ノードの代わりに2つのテーブルからランダムにOutbound隣接ノードを選択してOutbound隣接ノード数=8を維持する。
 しかしながら、従来方式2には以下の課題がある。
 1つ目の課題は、マイナー間に不公平が発生する可能性である。ブロック伝搬速度が遅いノードは、他ノードとの隣接関係を維持できないため、ブロックが伝搬されづらい状態になる。
 2つ目の課題は、各ノードの負荷が大きくなることである。各ノードはマイニング、ブロック転送以外の処理として隣接ノードからのブロック転送時間を常時記録しなくてはいけない。
 3つ目の課題は、このような、ランダム選択以外の隣接ノード設定を行った場合にEclipse攻撃を受けやすいことである。悪意を持った攻撃者は、攻撃対象の隣接ノードに対して高い伝搬速度でブロックを送信して、そのノードの隣接ノードになりすまし、間違った情報を対象ノードに送信しやすい環境を作ることができる。
 4つ目の課題は、非特許文献1に記されているように、ネットワーク上のブロック伝搬の高速化が或る程度進むまでは、隣接ノードリスト内の隣接ノードの入れ替えが必要であり、最適な伝搬速度になるまで20-25ブロックのマイニングが必要であり、時間がかかることである。
 従来方式1の実施例は、図1において直近帯域テーブルを除いたものとして実装できる。従来方式1は、当初はnewテーブルからランダムに8つのOutbound隣接ノードを設定し、隣接ノードが通信に応じない場合、又は新しいノードがネットワークに参加した際等に、随時ランダムにnewテーブル又はtriedテーブルから8つのOutbound隣接ノードテーブルを更新する。従来方式1は、隣接ノードの帯域を管理する必要がないのでノード負荷が軽くなり、ランダム選択によりEclipse攻撃を受けづらいが、伝搬遅延の大きい地域のノードを必要数以上に隣接ノードにする可能性が高く、ブロック伝搬遅延が生じる可能性が高い。
 本発明は、上記の点に鑑みてなされたものであって、ブロックチェーンネットワークのノード間の公平性を効率的に向上させることを目的とする。
 そこで上記課題を解決するため、情報処理装置は、複数の地域に跨がるブロックチェーンネットワークを構成する複数のノードのうちのいずれかのノードとしての情報処理装置であって、前記複数のノードそれぞれが属する地域を、前記複数のノードそれぞれについて登録されている情報に基づいて判定する地域判定部と、当該情報処理装置に係るノードのOutbound隣接ノードのうち、当該ノードが属する地域に対して他地域に属するノードの数が一定数となるように、前記Outbound隣接ノードを選択する選択部と、を有する。
 ブロックチェーンネットワークのノード間の公平性を効率的に向上させることができる。
従来方式2を説明するための図である。 第1の実施の形態における情報処理装置10のハードウェア構成例を示す図である。 第1の実施の形態における情報処理装置10の機能構成例を示す図である。 第2の実施の形態を説明するためのOutbound隣接ノードリスト16の一例を示す図である。 SimBlockでのブロックチェーンノード配置とノード間の隣接関係の設定例を示す図である。 SimBlock設定における地域内外への1ビット転送における伝搬遅延(ミリ秒)のマトリクスを示す図である。 ブロック伝搬時間について従来方式1に対する本実施の形態の優位性を示す図である。 ブロック伝搬時間について従来方式1に対する本実施の形態の優位性を示す図である。 201のメインチェーンの各ブロックがネットワーク上の各ノードに到達するまでのブロック伝搬時間の標準偏差を示す図である。 201のメインチェーンの各ブロックがネットワーク上の各ノードに到達するまでのブロック伝搬時間の標準偏差を示す図である。 孤児ブロック率の減少効果についての従来方式1に対する本実施の形態の評価結果を示す図である。 孤児ブロック率の減少効果についての従来方式1に対する本実施の形態の評価結果を示す図である。
 以下、図面に基づいて第1の実施の形態を説明する。本実施の形態では、ブロックチェーンネットワークのノードとして機能する一つのコンピュータ(以下、「情報処理装置10」という。)について説明するが、ブロックチェーンノードを構成する各ノードが同様の構成を有する。
 図2は、第1の実施の形態における情報処理装置10のハードウェア構成例を示す図である。図2の情報処理装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、プロセッサ104、及びインタフェース装置105等を有する。
 情報処理装置10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
 メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。プロセッサ104は、CPU若しくはGPU(Graphics Processing Unit)、又はCPU及びGPUであり、メモリ装置103に格納されたプログラムに従って情報処理装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
 図3は、第1の実施の形態における情報処理装置10の機能構成例を示す図である。図3において、情報処理装置10は、地域判定部11、Outbound隣接ノード選択部12及びInbound隣接ノード選択部13を有する。これら各部は、情報処理装置10にインストールされた1以上のプログラムが、プロセッサ104に実行させる処理により実現される。情報処理装置10は、また、newテーブル14、triedテーブル15、Outbound隣接ノードリスト16及びInbound隣接ノードリスト17等の記憶部を利用する。これら各記憶部は、例えば、メモリ装置103、補助記憶装置102、又は情報処理装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
 newテーブル14には、情報処理装置10が隣接関係を保持したことのないノードのドメイン名及びIPアドレス等を含む情報のリストが登録される。当初は、DNS(Domain Name System)から得られた情報がnewテーブル14に登録される。triedテーブル15には、情報処理装置10と隣接関係を持ったことのあるノードのドメイン名及びIPアドレス等を含む情報のリストが登録される。なお、隣接関係とは、ブロックの直接的なやりとり(送受信)が許容される関係をいう。
 地域判定部11は、newテーブル14又はtriedテーブル15にドメイン名等が登録されている、各隣接ノード候補の情報(ドメイン名又はIPアドレス)に基づいて、各隣接ノード候補が自地域のノードであるか、他地域のノードであるかを判定する。ここで、自地域のノードとは、情報処理装置10に係るノードが属する地域と同じ地域に配置されているノードをいう。他地域のノードとは、情報処理装置10に係るノードが属する地域と異なる地域に配置されているノードをいう。また、地域とは、ブロックチェーンネットワークが跨がる地理的範囲を複数に分割することによって得られる部分範囲である。例えば、世界に跨がるブロックチェーンネットワークであれば、一つの国又は複数の国の集合等が地域に該当する。但し、地域は、newテーブル14に登録されている情報に基づいて区別可能な単位であれば、どのような単位で区切られてもよい。
 例えば、IPアドレスは、ICANN(Internet Corporation Assigned Names and Numbersという世界組織が管理している(「ICANNの役割:https://www.icann.org/resources/pages/what-2012-02-25-ja」)。地域判定部11は、その公開情報を使って、DNSに登録されているIPアドレスのノードが自地域であるか他地域であるかを判定してもよい。
 Outbound隣接ノード選択部12は、newテーブル14又はtriedテーブル15に登録されている隣接ノード候補の中から、Outbound隣接ノードを選択する。Outbound隣接ノード選択部12は、Outbound隣接ノードの選択に際し、Outbound隣接ノードの総数(例えば、8)のうちのα分を、他地域のノードの中からランダムに選択し、残りを自地域のノードの中からランダムに選択する。なお、αは、全地域に渡って共通の値(すなわち、全ノードについて一定(共通)の値)でもよいし、地域ごとに異なる値でもよく、予め決められるか所定の計算式に基づいて計算される。Outbound隣接ノード選択部12は、選択結果をOutbound隣接ノードリスト16に記録する。したがって、Outbound隣接ノードリスト16において、他地域のノード数がαに維持される。その結果、隣接ノードのランダムな選択を維持しつつ、隣接ノード間との伝搬遅延が概して大きい他地域に所属するOutbound隣接ノード数を一定にすることによりマイナー間の不公平を低減する(公平性を向上させる)ことができる。
 Inbound隣接ノード選択部13は、基本的には他ノードからのOutbound隣接ノード設定通知に基づいて、当該他ノードをInbound隣接ノードリスト17に設定する。ただし、Inbound隣接ノード選択部13によるInbound隣接ノードの選択方法は、他の任意の方法でよい。
 上述したように、第1の実施の形態によれば、他地域に所属するOutbound隣接ノード候補は、DNSのノードのIPアドレス/ドメイン名から判別することができるので、従来方式2のように各ノードが自ノードに送ってこられるブロックの伝搬時間をすべて記録する必要がない。そのため各ノードの負荷を軽減することができる。
 また、自地域及び他地域の双方からランダムに隣接ノードが選択されるので、Eclipse攻撃を受ける可能性を減少させることができるとともに、伝送帯域が小さい地域のノードがブロックを受け取れないという問題の発生を低減することができる。
 また、当初からOutbound隣接ノード数はノード間で一定かほぼ同等数になるので、ノード間でブロックを送受信する際の伝搬時間の差が起きづらくなり、マイナー間の公平性を高めることができる。
 したがって、ブロックチェーンネットワークのノード間の公平性を効率的に向上させることができる。
 次に、第2の実施の形態について説明する。第2の実施の形態では第1の実施の形態と異なる点について説明する。第2の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
 第2の実施の形態では、αについて第1の実施の形態よりも限定した例について説明する。第2の実施の形態において、αは、所属地域に関わらずにOutbound隣接ノードがランダムに選択された場合に比較して小さい値(8台のOutbound隣接ノードの場合、1又は2等)に設定され、全ノードについて一定(共通)の値(一定数)となる。
 図4は、第2の実施の形態を説明するためのOutbound隣接ノードリスト16の一例を示す図である。図3のOutbound隣接ノードリスト16において、A~Hの記号は、ノードの識別子を示す。このうち、A及びBは、他地域のノードであり、C,D,E,F,G及びHは、自地域のノードである。すなわち、図4では、α=2である例を示す。
 例えば、所属地域に関わらずにランダムにOutbound隣接ノードを選択した場合に他地域に所属するOutbound隣接ノードが選択される数の平均値よりも小さい値にαが設定されてもよい。ここで、ランダムにOutbound隣接ノードを選択した場合の他地域に所属するOutbound隣接ノードが選択される数の平均値は、全地域数から類推することができる。例えば、全地域数が6の場合は、平均的には6分の5(=6-1)の割合で他地域に所属するOutbound隣接ノードが選択されると類推される。したがって、この場合、8×5/6=40/6未満の正数である6以下の値がαとして設定されればよい。
 上述したように、第2の実施の形態によれば、所属地域に関わらずにOutbound隣接ノードがランダムに選択された場合に比較して小さい値に設定されるので、ブロック伝搬遅延を小さく抑えることが可能になる。
 次に、第3の実施の形態について説明する。第3の実施の形態では第1の実施の形態と異なる点について説明する。第3の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
 第3の実施の形態では、第2の実施の形態と同様に、各ノードの他地域に所属するOutbound隣接ノード数をランダムに選択した場合の平均値よりは小さくするが、自地域のノード数が少ない場合は、自地域のノード数に反比例させて他地域に所属するOutbound隣接ノード数を増加させる。したがって、第3の実施の形態では、αの値が地域ごとに異なりうる。
 例えば、他地域に所属するOutbound隣接ノード数(すなわち、α)をX、全Outbound隣接ノード数をY、正数パラメータ値をZ、自地域ノード率を全地域のノード数(すなわち、ブロックチェーンネットワークのノード総数)に対する自地域に所属するノード数の割合であると定義した場合、
X=Y-ceil(Y×自地域ノード率)-Z    (2)
とする。なお、ceil(A)は、A以上の最小の整数を示す。Xの値は、Outbound隣接ノード選択部12が計算してもよいし、予め設定されてもよい。また、Xの0以下の場合は他地域に所属するOutbound隣接ノード数(すなわち、Xの値)を1としてもよい(以下、Xの値を1とする処理を「補正処理」という。)。
 例えば、2019年のビットコインネットワークに参加しているノードの割合は、北アメリカ(33.16%)、EU(49.98%)、南アメリカ(0.9%)、アジアパシフィック(11.77%)、日本(2.24%)、オーストラリア(1.95%)であるが、各地域のノードについて、他地域に所属するOutbound隣接ノード数(すなわち、α)をX(北アメリカ)、X(EU)、X(南アメリカ)、X(アジアパシフィック)、X(日本)、X(オーストラリア)と定義する。また、式(2)について、Outbound隣接ノード数Y=8、正数定数Z=4とする。
 この場合、
X(北アメリカ)=8-ceil(8×0.3316)-4=1
X(EU)=8-ceil(8×0.4998)-4=0(補正処理を有効とする場合、X(EU)=1)
X(南アメリカ)=8-ceil(8×0.009)-4=3
X(アジアパシフィック)=8-ceil(8×0.1177)-4=3
X(日本)=8-ceil(8×0.0224)-4=3
X(オーストラリア)=8-ceil(8×0.0195)-4=3
となり、北アメリカとEUでは他地域に所属するOutbound隣接ノード数が1となるが、他の地域では3となる。
 なお、Z=5とすると北アメリカとEUではOutbound隣接ノード数が1となり、他の地域では2となる。なお、正数パラメータZは、Xの値を小さく抑えるために利用される。
 上述したように、第3の実施の形態によれば、自地域の隣接ノード数が少ない地域には、他地域に所属する隣接ノード数を増やすことが可能であるため、地域に依存してマイナー間に生じる不公平を低減することができる。
 また、Xの値が0以下になる場合はX=1とすることによって、各ノードが少なくとも1つの他地域に所属するOutbound隣接ノードを保持することが可能となる。
 なお、第3の実施の形態は、ブロックチェーンネットワークに参加しているノード数が少ない地域がある場合に特に効果が得られる。そのような地域では地域内でのOutbound隣接ノード候補総数が5以下の場合も想定される。その場合は他地域のOutbound隣接ノード数を増やすことが可能となる。これにより、各ノードは常に8台のOutbound隣接ノードを確保することが可能となり、地域によるマイナーの不公平を低減することができる。
 [従来方式と本実施の形態(上記各実施の形態)との比較評価]
 従来方式1と本実施の形態との定量的な比較評価を以下に示す。シミュレータとしては、「東工大ニュース:パブリックブロックチェーンのシミュレータ「SimBlock」を開発・配布開始:https://www.titech.ac.jp/news/2019/044557.html」のSimBlockを利用した。
 図5は、SimBlockでのブロックチェーンノード配置とノード間の隣接関係の設定例を示す図である。図5は、SimBlockシミュレータ説明スライド:http://www.shudo.net/publications/20190729-IEEE-Tokyo-blockchain/shudo-IEEE-Tokyo-blockchain.pdfを元としている。SimBlockは、図5に示されるように世界の各地域にノードをランダム配置して、ノード間に隣接関係を設定することが可能である。本比較評価で利用した評価環境では、2019年におけるビットコインのノード配置割合を利用して、北アメリカ(33.16%)、EU(49.98%)、南アメリカ(0.9%)、アジアパシフィック(11.77%)、日本(2.24%)、オーストラリア(1.95%)の配置可能性でノードを世界の各地域にランダム配置した。なお、SimBlock設定における地域内外への1ビット転送における伝搬遅延(ミリ秒)のマトリクスを図6に示す。このマトリクスも2019年のビットコインネットワークの統計情報に基づいている。
 図7及び図8は、ブロック伝搬時間について従来方式1に対する本実施の形態の優位性を示す図である。図7が、全世界にランダムに配置したノード数が500である場合に対応し、図8が、全世界にランダムに配置したノード数が1000である場合に対応する。
 各図において、「従来方式1」は、ランダムにOutbound隣接ノードを8台選択する方式である。一方、「他地域=a」は、本実施の形態において、他地域のOutbound隣接ノード数(すなわち、α)をaに固定している方式である。また、「Z=b」は、式(2)に基づいて、他地域のOutbound隣接ノード数を定めるが、その場合の定数値Zの値がbである方式である。また、平均伝搬時間は、500又は1000存在する各ノードがマイナーの生成した各ブロックを受け取るまでの平均時間を示す。なお、メインチェーンのブロック高は200に設定されたので、201個のメインチェーンのブロックがネットワーク全体に行き渡るまでの平均ブロック伝搬時間を示している。
 なお、ブロックチェーンのコンセンサスアルゴリズム(「BLOCKCHAIN business community:ブロックチェーンを支える技術「プルーフ・オブ・ワーク(PoW)」とは:https://www.businessblockchain.org/what-is-proof-of-work-for-blockchain/」)としては、PoW(Proof of Work)を用いた。
 図7及び図8に示すように、いずれのネットワークにおいても本実施の形態は従来方式1よりもブロック伝搬時間が小さいことが分かる。特に、本実施の形態で他地域のOutbound隣接ノード数を1又は2に固定した場合は、3に固定した場合よりも伝搬時間が小さい。この理由としては、従来方式1ではランダムにOutbound隣接ノードを選択するので、地域外隣接ノードの選択確率が50%以上となり、地域外隣接ノード数が必要以上に多くなってしまい、図6のマトリクスから明確なように、ブロック伝搬時間が大きくなってしまうからである。地域外隣接ノードを3に固定した場合も、この理由で伝搬遅延が大きくなると考えられる。
 図9及び図10は、201のメインチェーンの各ブロックがネットワーク上の各ノードに到達するまでのブロック伝搬時間の標準偏差を示す図である。図9が、全世界にランダムに配置したノード数が500である場合に対応し、図10が、全世界にランダムに配置したノード数が1000である場合に対応する。
 標準偏差が大きいということは、各ノードまでブロックが到達するまでの時間に差が大きく、マイナー間で不公平性が大きいことを示す。従来方式1は、提案各方式に比較して明確に標準偏差が大きいことが分かる。理由として本実施の形態は各ノードの他地域のOutbound隣接ノード数が等しいかほぼ等しいため、ランダムにOutbound隣接ノードを選択する従来方式1よりもノードのブロック伝搬条件が公平であることが挙げられる。
 図11及び図12は、孤児ブロック率の減少効果についての従来方式1に対する本実施の形態の評価結果を示す図である。
 ブロックチェーンでは、ほぼ同じ時間に異なるブロックが異なるマイナーにより生成された場合に、どちらのブロックも規定数の承認が得られて、同一の親ブロックの下でフォークして生成される場合がある(「ウィキペディア:ブロックチェーン:https://ja.wikipedia.org/wiki/%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3」(以下、「参考文献」という。))。その場合、フォークした後にメインチェーンになれなかったブロックは孤児ブロック(参考文献)として廃棄され、この孤児ブロック上で行われたトランザクションも廃棄されてしまうので孤児ブロックはなるべく生成されない方がよい。孤児ブロックが生成される一つの要因として、ブロック伝搬遅延が挙げられる。もし、ブロックが高速にネットワーク全体に行き渡れば、或るノードに他ブロック生成通知が到着した場合に、当該ノードに既にブロックが到着しているため、後から到着したブロックは承認されないからである。
 図11及び図12では、本実施の形態として「他地域=1」、「他地域=2」、「Z=5」の3つが従来方式1と比較されている。これらの3つの方式はブロック平均伝搬時間、標準偏差ともに優れた結果が得られたからである。全ノード数500とし、メインチェーンのブロック数は図11が20001ブロック、図12が40001ブロックと多くのブロックが作成されるまで走行した。この理由としては、孤児ブロックは偶発的に発生するので200ブロック程度のブロック数では明確な差が出ないためである。また、公平性を期して20001,40001ブロック評価のいずれについても5回ずつ走行し、その孤児ブロック数の平均値を測定した。各図が示すように、本実施の形態は大幅に従来方式1の孤児ブロック数を減少できることが分かる。具体的には、「他地域=1」=6%、「他地域=2」)=8.2%、「Z=5」=10%であり、これらの平均で8%以上の孤児ブロック数を減少できている。この理由としては、各図の関連データに示したように本実施の形態の平均ブロック伝搬時間の減少が挙げられる。
 なお、本実施の形態において、Outbound隣接ノード選択部12は、選択部の一例である。
 以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10     情報処理装置
11     地域判定部
12     Outbound隣接ノード選択部
13     Inbound隣接ノード選択部
14     newテーブル
15     triedテーブル
16     Outbound隣接ノードリスト
17     Inbound隣接ノードリスト
100    ドライブ装置
101    記録媒体
102    補助記憶装置
103    メモリ装置
104    プロセッサ
105    インタフェース装置
B      バス

Claims (8)

  1.  複数の地域に跨がるブロックチェーンネットワークを構成する複数のノードのうちのいずれかのノードとしての情報処理装置であって、
     前記複数のノードそれぞれが属する地域を、前記複数のノードそれぞれについて登録されている情報に基づいて判定する地域判定部と、
     当該情報処理装置に係るノードのOutbound隣接ノードのうち、当該ノードが属する地域に対して他地域に属するノードの数が一定数となるように、前記Outbound隣接ノードを選択する選択部と、
    を有することを特徴とする情報処理装置。
  2.  前記一定数は、ランダムにOutbound隣接ノードを選択した場合に前記他地域に属するノードが選択される数の平均値よりも小さい値である、
    ことを特徴とする請求項1記載の情報処理装置。
  3.  複数の地域に跨がるブロックチェーンネットワークを構成する複数のノードのうちのいずれかのノードとしての情報処理装置であって、
     前記複数のノードそれぞれが属する地域を、前記複数のノードそれぞれについて登録されている情報に基づいて判定する地域判定部と、
     当該情報処理装置に係るノードのOutbound隣接ノードのうち、当該ノードが属する地域に対して他地域に属するノードの数が当該情報処理装置に係るノードが属する地域のノード数に反比例した値となるように、前記Outbound隣接ノードを選択する選択部と、
    を有することを特徴とする情報処理装置。
  4.  前記選択部が選択する前記Outbound隣接ノードの数をX、全Outbound隣接ノード数をY、正数パラメータ値をZ、自地域ノード率を全地域のノード数に対する当該情報処理装置に係るノードが属する地域のノード数の割合であると定義した場合、
    X=Y-ceil(Y×自地域ノード率)-Z
    であることを特徴とする請求項3記載の情報処理装置。
  5.  Xの値が0以下の場合はXの値を1とする、
    ことを特徴とする請求項4記載の情報処理装置。
  6.  複数の地域に跨がるブロックチェーンネットワークを構成する複数のノードのうちのいずれかのノードとしての情報処理装置が、
     前記複数のノードそれぞれが属する地域を、前記複数のノードそれぞれについて登録されている情報に基づいて判定する地域判定手順と、
     当該情報処理装置に係るノードのOutbound隣接ノードのうち、当該ノードが属する地域に対して他地域に属するノードの数が一定数となるように、前記Outbound隣接ノードを選択する選択手順と、
    を実行することを特徴とする隣接ノード選択方法。
  7.  複数の地域に跨がるブロックチェーンネットワークを構成する複数のノードのうちのいずれかのノードとしての情報処理装置が、
     前記複数のノードそれぞれが属する地域を、前記複数のノードそれぞれについて登録されている情報に基づいて判定する地域判定手順と、
     当該情報処理装置に係るノードのOutbound隣接ノードのうち、当該ノードが属する地域に対して他地域に属するノードの数が当該情報処理装置に係るノードが属する地域のノード数に反比例した値となるように、前記Outbound隣接ノードを選択する選択手順と、
    を実行することを特徴とする隣接ノード選択方法。
  8.  請求項1乃至5いずれか一項記載の情報処理装置としてコンピュータを機能させることを特徴とするプログラム。
PCT/JP2021/000357 2021-01-07 2021-01-07 情報処理装置、隣接ノード選択方法及びプログラム Ceased WO2022149239A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US18/271,040 US12536158B2 (en) 2021-01-07 2021-01-07 Information processing apparatus, adjacent node selecting method and program
PCT/JP2021/000357 WO2022149239A1 (ja) 2021-01-07 2021-01-07 情報処理装置、隣接ノード選択方法及びプログラム
JP2022573859A JP7420287B2 (ja) 2021-01-07 2021-01-07 情報処理装置、隣接ノード選択方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/000357 WO2022149239A1 (ja) 2021-01-07 2021-01-07 情報処理装置、隣接ノード選択方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2022149239A1 true WO2022149239A1 (ja) 2022-07-14

Family

ID=82358139

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/000357 Ceased WO2022149239A1 (ja) 2021-01-07 2021-01-07 情報処理装置、隣接ノード選択方法及びプログラム

Country Status (3)

Country Link
US (1) US12536158B2 (ja)
JP (1) JP7420287B2 (ja)
WO (1) WO2022149239A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116562885A (zh) * 2023-07-07 2023-08-08 北京信大融金教育科技有限公司 基于区块链的供应链系统管理方法、装置、设备及介质
WO2024218910A1 (ja) * 2023-04-19 2024-10-24 日本電信電話株式会社 情報処理装置、情報処理方法、及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019102334A1 (en) * 2017-11-27 2019-05-31 nChain Holdings Limited Computer-implemented system and method for propagation and communication of data in a network such as a blockchain network
JP2020088857A (ja) * 2018-11-15 2020-06-04 エヌエイチエヌ コーポレーション 複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおけるサブブロックチェーンの構成方法及びブロックチェーンシステムプログラム
JP2020129794A (ja) * 2019-02-07 2020-08-27 富士ゼロックス株式会社 低電力ワイドエリアネットワークのための方法およびシステム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201717499D0 (en) * 2017-10-24 2017-12-06 Copa Fin Ltd Data storage and verification
TWI675456B (zh) * 2018-05-11 2019-10-21 華邦電子股份有限公司 記憶體裝置的形成方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019102334A1 (en) * 2017-11-27 2019-05-31 nChain Holdings Limited Computer-implemented system and method for propagation and communication of data in a network such as a blockchain network
JP2020088857A (ja) * 2018-11-15 2020-06-04 エヌエイチエヌ コーポレーション 複数のノードの分散ネットワークで構成されたブロックチェーンシステムにおけるサブブロックチェーンの構成方法及びブロックチェーンシステムプログラム
JP2020129794A (ja) * 2019-02-07 2020-08-27 富士ゼロックス株式会社 低電力ワイドエリアネットワークのための方法およびシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024218910A1 (ja) * 2023-04-19 2024-10-24 日本電信電話株式会社 情報処理装置、情報処理方法、及びプログラム
CN116562885A (zh) * 2023-07-07 2023-08-08 北京信大融金教育科技有限公司 基于区块链的供应链系统管理方法、装置、设备及介质
CN116562885B (zh) * 2023-07-07 2023-09-29 北京信大融金教育科技有限公司 基于区块链的供应链系统管理方法、装置、设备及介质

Also Published As

Publication number Publication date
US20240070144A1 (en) 2024-02-29
JPWO2022149239A1 (ja) 2022-07-14
US12536158B2 (en) 2026-01-27
JP7420287B2 (ja) 2024-01-23

Similar Documents

Publication Publication Date Title
US6968393B1 (en) Method and apparatus for an attribute oriented routing update
CN104090825B (zh) 动态迁移计算机网络
US8296434B1 (en) Providing dynamically scaling computing load balancing
US20100132039A1 (en) System and method to select monitors that detect prefix hijacking events
JP5880139B2 (ja) 配置サーバ、情報処理システム、キャッシュ配置方法、キャッシュ配置プログラム
WO2024104284A1 (zh) 一种基于nwdaf对计算资源的管理和决策的方法
JPWO2018220708A1 (ja) 資源割当システム、管理装置、方法およびプログラム
CN112039775A (zh) 一种实现kad网络节点快速路由的方法和系统
JP5526015B2 (ja) ゲートウェイシステム、ゲートウェイ装置、負荷分散方法
US10645008B1 (en) Predictive Anycast traffic shaping
Xie et al. Supporting seamless virtual machine migration via named data networking in cloud data center
JP7420287B2 (ja) 情報処理装置、隣接ノード選択方法及びプログラム
JP2015509232A (ja) クラウドにおけるメッセージングのための方法および装置
KR20220048484A (ko) 분산 서비스를 위한 요청 응답의 정확한 통신 지연 보장을 제공하기 위한 시스템
JP2016111703A (ja) 情報指向ネットワークにおけるコンテンツ配置
WO2022166607A1 (zh) 发送报文的方法、装置、系统及存储介质
US9860171B2 (en) Large scale message routing in a distributed network
EP2920699A1 (en) Predictive caching in a distributed communication system
JP5387535B2 (ja) ファイル管理装置、プログラム並びに方法
CN111935100B (zh) Flowspec规则下发方法、装置、设备及介质
JP7597228B2 (ja) 情報処理装置、ノードの選択方法、及びプログラム
US20240056382A1 (en) Determining a best destination over a best path using multifactor path selection
Urayama et al. Virtual network construction with K‐shortest path algorithm and optimization problems for robust physical networks
Gasparyan et al. IaDRA-SCN: Intra-domain routing architecture for service-centric networking
CN103793386B (zh) 数据处理的方法和系统

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2022573859

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18271040

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21917466

Country of ref document: EP

Kind code of ref document: A1

WWG Wipo information: grant in national office

Ref document number: 18271040

Country of ref document: US