WO2022195643A1 - ブロックチェーンシステム、記憶装置及び管理装置 - Google Patents

ブロックチェーンシステム、記憶装置及び管理装置 Download PDF

Info

Publication number
WO2022195643A1
WO2022195643A1 PCT/JP2021/010259 JP2021010259W WO2022195643A1 WO 2022195643 A1 WO2022195643 A1 WO 2022195643A1 JP 2021010259 W JP2021010259 W JP 2021010259W WO 2022195643 A1 WO2022195643 A1 WO 2022195643A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
storage device
blocks
stored
user
Prior art date
Application number
PCT/JP2021/010259
Other languages
English (en)
French (fr)
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 株式会社クエスト
Priority to PCT/JP2021/010259 priority Critical patent/WO2022195643A1/ja
Publication of WO2022195643A1 publication Critical patent/WO2022195643A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems

Definitions

  • the present invention relates to blockchain systems, storage devices and management devices.
  • Non-Patent Document 1 A blockchain system is known (see Non-Patent Document 1).
  • An object of one embodiment of the present invention is to provide a blockchain system in which a user device itself generates a block containing public data, and a storage device and management device used in this blockchain system.
  • An embodiment of the present invention has the following configuration.
  • a blockchain system in which multiple user devices and multiple storage devices are connected via a network, the user device generates a block containing public data and transmits the generated block to the storage device;
  • the storage device stores a plurality of blocks arranged in a line, inputs a block positioned at the end of the plurality of blocks to a predetermined function, and adds an output value to the block received from the user device. and the block to which the value is added is added to the end of the plurality of blocks and stored.
  • the storage device provided in a blockchain system in which a plurality of user devices and a plurality of storage devices are connected via a network, receiving a block containing public data from a user device; storing a plurality of blocks arranged in a row, inputting a block positioned at the end of the plurality of blocks to a predetermined function, adding an output value to the block received from the user device, and A storage device that stores the added block by adding it to the end of the plurality of blocks.
  • a management device connected via a network to a user device included in the above-described blockchain system, the management device storing private data related to the user of the user device in association with a user ID.
  • users can be proactively involved in the operation of the blockchain system.
  • FIG. 1 is a diagram illustrating a configuration example of a blockchain system according to an embodiment
  • FIG. FIG. 3 is a diagram illustrating an example of a method for generating a block containing public data by a user device and adding it to a blockchain
  • 1 is a flowchart illustrating an example method for generating a block containing public data and adding it to a blockchain by a user device
  • FIG. 4 is a diagram illustrating a configuration example of a block containing public data
  • FIG. 2 is a diagram illustrating an example of a method for synchronizing blockchains between multiple storage devices
  • FIG. FIG. 2 is a diagram illustrating an example of a method for synchronizing blockchains between multiple storage devices
  • FIG. 1 is a flowchart illustrating an example method for synchronizing a blockchain across multiple storage devices; It is a figure explaining an example of the method of giving a reward to a memory
  • Fig. 10 is a flow chart illustrating an example of a method of providing a reward to a storage device; It is a figure explaining the structural example of the block containing remuneration data.
  • FIG. 4 is a diagram illustrating an example of a method for generating a block containing evaluation data by a user device and adding this to a blockchain;
  • FIG. 4 is a flow chart illustrating an example of a method for generating a block containing reputation data by a user device and adding it to a blockchain;
  • FIG. 10 is a diagram illustrating a storage example of private data
  • FIG. 1 is a diagram illustrating a configuration example of a blockchain system according to an embodiment.
  • the blockchain system comprises multiple storage devices.
  • a blockchain is stored in each of a plurality of storage devices.
  • a plurality of user devices are connected to the plurality of storage devices via a network.
  • a plurality of user devices may be connected to a management device via a network.
  • Network configuration Multiple user devices can access at least one of the multiple storage devices via the network.
  • One storage device included in the plurality of storage devices can access, via the network, at least one other storage device included in the plurality of storage devices.
  • User devices may or may not be connected to each other via a network.
  • the management device is accessible from all user devices via the network. Examples of networks include the Internet, local networks such as LANs, and dedicated lines.
  • a user is a user of the blockchain system.
  • a user device is a device operated by a user. Examples of user devices include laptop computers, smart phones, smart watches, or the like.
  • a plurality of user devices shall consist of a user device A operated by a user A and a user device B operated by a user B.
  • the number of user devices is not limited to two as long as it is two or more.
  • a storage device is a device that stores a blockchain.
  • the operator of the storage device is not particularly limited.
  • the user can also be the operator of the storage device. It is also possible that the user device has the functionality of a storage device. Examples of storage devices include laptop computers and smart phones, as well as server computers and cloud systems.
  • a storage device can also be called a storer.
  • a plurality of storage devices shall consist of a storage device A and a storage device B. However, this is just an example, and the number of storage devices is not limited to two as long as it is two or more.
  • Block chains are stored in storage devices.
  • Blockchain refers to a plurality of blocks arranged in a row, and the blocks arranged in front and behind are connected to each other by a chain. Being connected to each other in a chain means, for example, that the n+1th block (n is an integer equal to or greater than 0) included in a plurality of blocks arranged in a row inputs the nth block to a predetermined function and outputs it. contains the value to be specified.
  • An example of the predetermined function includes a one-way function such as a hash function.
  • An example of a value output by inputting the n-th block to a predetermined function includes a value output from a unidirectional function such as a hash value of the n-th block.
  • a blockchain can be synchronized across multiple storage devices.
  • a hash value is a value calculated using a hash function.
  • a hash function is a function that always outputs the same value if the input values are the same.
  • a hash function produces a completely different output value if the input value is even slightly different.
  • Such properties of hash functions and hash values are sometimes called one-way.
  • a hash function is an example of a predetermined function, and a hash value is an example of a value that is input to and output from the predetermined function.
  • a value calculated by another function can be used instead of the hash value or together with the hash value.
  • Such other functions and other values are preferably unidirectional, similar to hash functions and hash values, in order to make the blockchain more tamper-resistant.
  • a hash function and a hash value are used as the predetermined function and the value calculated by this function, but the predetermined function and the value calculated by this function are not limited to these.
  • a block is a collection of data containing multiple pieces of data.
  • FIG. 2 is a diagram illustrating an example of how a user device generates a block containing public data and adds it to a blockchain.
  • blocks 1 and 2 are pre-stored in storage device A
  • block 3 containing public data generated by user device A is stored in the blockchain stored in storage device A.
  • Block 3 can include, for example, public data as well as block ID, user ID, hash value of public data, location information of user device A, and other information.
  • a block ID is information that identifies a block.
  • An example of the block ID includes information that can uniquely determine the order in which blocks are arranged, such as a serial number or a regular character string. In this way, the order of arrangement of each block can be identified by the block ID.
  • a user ID is information that identifies a user. It is possible to identify whether the user is user A or user B by the user ID. (public data)
  • Public data includes, for example, at least one of text data, image data, video data, and audio data.
  • Examples of public data include data posted to social networking services (SNSs), music data posted to music sharing services, video data posted to video sharing services, recipe information posted to recipe sites, and restaurants. This includes information posted on information sites that evaluate restaurants, and data posted on sites that evaluate hotels and private lodgings.
  • Examples of public data include data related to employment history used in resume management systems and data related to salaries used in payroll accounting systems.
  • Public data may or may not be encrypted.
  • the secret key used for encryption can be held by, for example, user A himself or by user A's family or friends.
  • the private key can be stored in a user device operated by these persons, a digital signature device connected to the user device, or the like.
  • location information examples include location data (latitude and longitude) calculated using GPS (Global Positioning System) and location data delivered from a base station (e.g. Tokyo, Japan, or Asia, or combined data).
  • GPS Global Positioning System
  • base station e.g. Tokyo, Japan, or Asia, or combined data.
  • Step S102 User device A then sends block 3 to storage device A.
  • FIG. User device A can determine whether to transmit block 3 to storage device A or storage device B using the location information of each storage device and the location information of user device A. FIG. If user device A transmits block 3 to the closest storage device, the data processing efficiency and processing speed of the entire blockchain system can be increased. In the embodiment, it is assumed that storage device A is located closer to user device A than storage device B, and user device A transmits block 3 to storage device A.
  • Each storage device preferably broadcasts its location information to all user devices, for example, so that the location information of the storage device is available at the user devices.
  • Step S103 Storage device A then adds the hash value of block 2 to block 3 .
  • block 2 and block 3 are connected in a chain.
  • Step S104 storage device A adds block 3 to which the hash value of block 2 is added to the end of the block chain and stores it.
  • FIG. 4 illustrates a configuration example of a block containing public data.
  • block 3 in addition to block ID, user ID, public data, hash value of public data, location information of user device, and other information, hash value of previous block is stored. include.
  • Anyone who attempts to tamper with the public data contained in block 3 must recalculate the hash value of the public data contained in block 3. Since tampering will be discovered unless all "hash values of previous blocks" are recalculated, it is practically difficult to tamper with the blockchain of the embodiment.
  • the blockchain system is a blockchain system including a plurality of user devices (user device A and user device B) and a plurality of storage devices (storage device A and storage device B). Then, the user device (user device A) generates a block (block 3) containing public data, transmits this generated block (block 3) to the storage device (storage device A), and stores the storage device (storage device A).
  • the user device A itself generates a block 3 containing public data
  • the storage device A adds the block 3 received from the user device A to the blockchain stored in the storage device A. do.
  • the user can be proactively involved in the operation of the blockchain system by generating the block 3 containing public data by the user device A itself. It can also increase user engagement with the blockchain.
  • FIGS. 5A and 5B are diagrams illustrating an example of a method for synchronizing blockchains between multiple storage devices.
  • storage device A stores blocks 1, 2, and 3
  • storage device B stores block 1.
  • FIG. It can also be said that the block chain stored in the storage device A is composed of blocks 1, 2, and 3, and the block chain stored in the storage device B is composed of block 1.
  • synchronization means that a block stored in one storage device but not stored in another storage device is transferred to a block stored in another storage device, as described above. means to add. A detailed description will be given below with reference to FIG.
  • Step S201 storage device B checks the length of the blockchain stored in storage device A.
  • the length of the blockchain can be confirmed by the number of blocks that make up the blockchain and the data size of the blockchain.
  • Data size refers to the amount of data expressed in units such as bits and bytes.
  • An example of verification includes reading the length of the blockchain.
  • Step S202 Storage device B then determines whether the blockchain stored on storage device A is longer than the blockchain stored on storage device B. Whether or not it is longer can be determined by comparing the lengths of the blockchains confirmed in step S201.
  • Step S203 If determined to be long in step S202, storage device B calculates a hash value (X) of the block chain stored in storage device A; In the embodiment, since the block chain of the storage device A is composed of blocks 1, 2, and 3, the hash shall calculate the value.
  • Steps S205, S206 storage device B determines whether hash value X calculated in step S203 and hash value Y calculated in step S204 match. to add. If not, storage device B does not add blocks 2 and 3 to block 1 .
  • the storage device (storage device B) has a longer block chain stored in another storage device (storage device A) than the block chain stored in its own device.
  • the value output by inputting the block chain stored in another storage device (storage device A) into a predetermined function and the value that is not stored in the own device stored in the other storage device (storage device A) Blocks (blocks 2 and 3) and a block (block 1) stored in the device are input to a predetermined function, and it is determined whether or not the output values match. blocks (blocks 2 and 3) not stored in the device are added to the block (block 1) stored in the own device.
  • the storage device B before actually adding blocks 2 and 3 to block 1, the storage device B performs blockchain synchronization using hash values to compare the blockchains. It is possible to detect tampering with the blockchain in time. In addition, it is possible to prevent the tampered blockchain from being synchronized and spread among multiple storage devices.
  • Step S302 Storage device B then determines reward data for storage device A based on the information received from storage device A.
  • the reward data includes at least the reward amount and the storage device ID of the storage device to which the reward is awarded.
  • Step S303 Storage device B then generates block 4 containing reward data.
  • the block 4 can include, for example, the block ID, the storage device ID, the hash value of the reward data, the location information of the storage device B, and other information in addition to the reward data.
  • a storage device ID is information that identifies a storage device. It is possible to identify whether it is the storage device A or the storage device B by the storage device ID.
  • Step S304 the storage device B adds the hash value of the block 3 to the block 4, and converts the block 4 to which the hash value is added to the plurality of blocks (blocks 1, 2, and 3) stored in the storage device B. It is added to the end and memorized. Block 3 and block 4 are thus connected by a chain.
  • FIG. 9 is a diagram explaining a configuration example of a block containing remuneration data.
  • block 4 contains the hash value of block 3, which precedes it. Therefore, in the blockchain of the embodiment, it is practically difficult to falsify the data contained in the block.
  • the storage device receives information on the other storage device (information on the storage device A) from the other storage device (storage device A). , determines reward data based on the received information, generates a block (block 4) containing the determined reward data, and generates a block (block 3) is input to a predetermined function, the output value (hash value of block 3) is added to the generated block (block 4), and the block to which this value is added (hash value of block 3 is added Block 4) is added to the end of a plurality of blocks (blocks 1, 2, 3) and stored.
  • a reward given to a certain storage device is determined by another storage device, and the determined reward data is stored as part of the blocks that make up the blockchain. be.
  • FIG. 10 is a diagram illustrating an example of a method for generating a block containing evaluation data by a user device and adding this to a blockchain.
  • a block 5 including evaluation data generated by the user device B is added to the blockchain stored by the storage device B will be described as an example. A detailed description will be given below with reference to FIG.
  • Block 5 can include, for example, block ID, user ID, hash value of public data, location information of user device B, and other information in addition to rating data.
  • Evaluation data is data for evaluating public data.
  • the evaluation data includes at least information indicating evaluation and a user ID. Examples of the information indicating the evaluation include scores such as "60 points" and "80 points” in addition to "GOOD" and "BAD".
  • the user ID included in the evaluation data is the user ID of the user whose block includes the public data to be evaluated (that is, the user ID included in the same block as the public data).
  • Step S402 User device B then sends block 5 to storage device B;
  • the fact that user device B can determine the storage device to which block 5 is to be transmitted using the location information of the storage device is the same as the above-described case where user device A transmits block 3, so the description is omitted.
  • Step S403 Storage device B then adds the hash value of block 4 to block 5 .
  • block 5 and block 4 are connected by a chain.
  • Step S404 storage device B adds block 5 to which the hash value of block 4 is added to the end of the block chain and stores it.
  • the user device (user device B) generates a block (block 5) including evaluation data, and stores the generated block (block 5) in a storage device (storage device).
  • device B the storage device (storage device B) inputs a block (block 4) located at the end of a plurality of blocks (blocks 1, 2, 3, and 4) to a predetermined function and outputs it.
  • (hash value of block 4) is added to the block (block 5) received from the user device (user device B), and the block to which this value is added (block 5 to which the hash value of block 4 is added) is added to the end of a plurality of blocks (blocks 1, 2, 3, 4) and stored.
  • a block containing evaluation data is generated by the user device and added as part of the blockchain by the storage device. Therefore, users can be proactively involved in the operation of the blockchain system.
  • FIG. 13 is a diagram illustrating an example of a method of giving rewards to users.
  • storage device B determines reward data to be given to user A, generates a block 6 containing the determined reward data, and adds it to the blockchain of storage device B.
  • a case will be described as an example. A detailed description will be given below with reference to FIG.
  • Step S501 the storage device B determines reward data to be given to the user A based on the evaluation data included in the blockchain of the storage device B.
  • This remuneration data includes at least a remuneration amount and a user ID.
  • a reward amount is determined based on the evaluation data.
  • Blocks containing evaluation data may be all blocks contained in the blockchain, or predetermined blocks (for example, blocks added within a predetermined period of time or blocks containing predetermined location information). good.
  • the user ID included in the remuneration data is the user ID of the user to whom the remuneration is given, and is the user ID of user A in the embodiment.
  • Step S502 Storage device B then generates block 6 containing reward data to be awarded to user A.
  • FIG. The block 6 can include, for example, the reward data as well as the block ID, the storage device ID, the hash value of the reward data, the location information of the storage device B, and other information.
  • Step S503 Storage device B then adds the hash value of block 5 to block 6 . In this way, by adding the hash value of block 5, which is the block immediately before block 6, to block 6, block 5 and block 6 are connected in a chain.
  • Step S504 storage device B adds block 6 to which the hash value of block 5 is added to the end of the block chain and stores it.
  • FIG. 15 illustrates a configuration example of block 6 containing remuneration data for users.
  • block 6 contains the hash value of previous block 5 so that falsification of the block chain is difficult.
  • the storage device determines reward data based on evaluation data, and generates a block (block 6) containing the determined reward data.
  • the amount of reward given to a certain user is determined by the storage device, and the reward data including the determined amount of reward is stored as part of the blocks that make up the blockchain. remembered.
  • FIG. 16 is a diagram illustrating an example of a method for storing user's private data in the management device.
  • a case in which user A of user device A stores private data in the management device will be described as an example. Description will be made below with reference to FIG.
  • Step S601 the user device A transmits private data to the management device.
  • private data include User A's name, nickname, address, phone number, and other information.
  • Step S602 the management device stores the public data received from user device A in association with user A's user ID.
  • the management device can store private data in a table format in association with user IDs.
  • the management device stores private data related to the user of the user device in association with the user ID.
  • the user's public data can be published on the blockchain while ensuring the user's privacy.
  • the user's private data is not stored on the blockchain, it is possible to obtain statistical data by analyzing public data on the blockchain while ensuring user privacy.
  • the blockchain system it is possible to publish user-published data on the network without going through a third party or a management device.
  • the user can evaluate data published by other users and publish this evaluation on the network without going through a third party or a management device. Therefore, according to the blockchain system according to the embodiment, the user can be proactively involved in the operation of the blockchain system. What kind of public data to publish and how to evaluate public data by other users are democratically determined by a plurality of users, not by a third party or a management device.
  • the decision-making power to publish or evaluate public data rests with a plurality of users, not a third party or a management device.
  • rewards can be given to users and storage devices without involving a third party or a management device.
  • Blockchain system security can be enhanced by not involving a third party or a management device in granting rewards.
  • an example of remuneration includes coins.
  • one example of the reward amount includes the number of coins.
  • an example of a method of determining the order of arrangement of blocks includes a method of using block IDs, as well as a method of using other information such as memory addresses of storage means in which blocks are stored.
  • the user ID may be generated by the user device, for example, or may be generated by the management device, for example.
  • the user device receives or is notified of the user ID from the management device, for example.
  • the blockchain system, storage device, and management device can be used in various services, particularly SNS, music sharing service, video sharing service, recipe site, restaurant information site, It is also suitable for use in services in which multiple users proactively share information (public data) on a network, such as evaluation sites for hotels and vacation rentals. If the blockchain system according to the embodiment is used for such a service, public data can be managed on the blockchain, while the name of the user can be managed as private data by the management device, thereby protecting personal information. In this state, for example, a third party or a management device analyzes the public data, and it becomes possible to provide useful information and services to users and the like.
  • the blockchain system, storage device, and management device are also suitable for use in, for example, a resume management system, a payroll system, and the like. If the blockchain system according to the embodiment is used for such a service, employment history and salary can be managed as public data on the blockchain, while user names and the like can be managed as private data by the management device. For example, it is possible to share and analyze work histories, salaries, etc. within the company while maintaining the protection of personal information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ユーザ装置自らが公開データを含むブロックを生成するブロックチェーンシステム等を提供する。 【解決手段】複数のユーザ装置と複数の記憶装置がネットワークを介して接続されるブロックチェーンシステムであって、前記ユーザ装置は、公開データを含むブロックを生成し、前記生成したブロックを前記記憶装置に送信し、前記記憶装置は、一列に配列される複数のブロックを記憶し、前記複数のブロックの最後尾に位置するブロックを所定の関数に入力して出力される値を前記ユーザ装置から受信したブロックに追加し、前記値が追加されたブロックを前記複数のブロックの最後尾に追加して記憶するブロックチェーンシステム。

Description

ブロックチェーンシステム、記憶装置及び管理装置
 本発明は、ブロックチェーンシステム、記憶装置及び管理装置に関する。
 ブロックチェーンシステムが知られている(非特許文献1参照)。
Wikipedia、Blockchain、[2021年2月22日検索]、インターネット<URL: https://en.wikipedia.org/wiki/Blockchain>
 本発明の一実施形態は、ユーザ装置自らが公開データを含むブロックを生成するブロックチェーンシステム、及びこのブロックチェーンシステムで用いられる記憶装置及び管理装置を提供することを目的とする。
 本発明の一実施形態は次の構成を有する。
 複数のユーザ装置と複数の記憶装置がネットワークを介して接続されるブロックチェーンシステムであって、
 前記ユーザ装置は、公開データを含むブロックを生成し、前記生成したブロックを前記記憶装置に送信し、
 前記記憶装置は、一列に配列される複数のブロックを記憶し、前記複数のブロックの最後尾に位置するブロックを所定の関数に入力して出力される値を前記ユーザ装置から受信したブロックに追加し、前記値が追加されたブロックを前記複数のブロックの最後尾に追加して記憶するブロックチェーンシステム。
 複数のユーザ装置と複数の記憶装置がネットワークを介して接続されるブロックチェーンシステムが備える前記記憶装置であって、
 ユーザ装置から、公開データを含むブロックを受信し、
 一列に配列される複数のブロックを記憶し、前記複数のブロックの最後尾に位置するブロックを所定の関数に入力して出力される値を前記ユーザ装置から受信したブロックに追加し、前記値が追加されたブロックを前記複数のブロックの最後尾に追加して記憶する記憶装置。
 上記のブロックチェーンシステムが備えるユーザ装置にネットワークを介して接続される管理装置であって、ユーザIDに対応付けて、前記ユーザ装置のユーザに関する非公開データを記憶する管理装置。
 本発明の一実施形態によれば、ユーザがブロックチェーンシステムの運営に主体的に関与することができる。
実施形態に係るブロックチェーンシステムの構成例を説明する図である。 ユーザ装置により公開データを含むブロックを生成してこれをブロックチェーンに追加する方法の一例を説明する図である。 ユーザ装置により公開データを含むブロックを生成してこれをブロックチェーンに追加する方法の一例を説明するフローチャートである。 公開データを含むブロックの構成例を説明する図である。 複数の記憶装置の間でブロックチェーンを同期する方法の一例を説明する図である。 複数の記憶装置の間でブロックチェーンを同期する方法の一例を説明する図である。 複数の記憶装置の間でブロックチェーンを同期する方法の一例を説明するフローチャートである。 記憶装置に報酬を付与する方法の一例を説明する図である。 記憶装置に報酬を付与する方法の一例を説明するフローチャートである。 報酬データを含むブロックの構成例を説明する図である。 ユーザ装置により評価データを含むブロックを生成してこれをブロックチェーンに追加する方法の一例を説明する図である。 ユーザ装置により評価データを含むブロックを生成してこれをブロックチェーンに追加する方法の一例を説明するフローチャートである。 評価データを含むブロックの構成例を説明する図である。 ユーザに報酬を付与する方法の一例を説明する図である。 ユーザに報酬を付与する方法の一例を説明するフローチャートである。 報酬データを含むブロックの構成例を説明する図である。 ユーザの非公開データを管理装置に記憶する方法の一例を説明するフローチャートである。 非公開データの記憶例を説明する図である。
[実施形態に係るブロックチェーンシステムの構成例]
 図1は、実施形態に係るブロックチェーンシステムの構成例を説明する図である。図1に示すように、ブロックチェーンシステムは、複数の記憶装置を備えている。ブロックチェーンは、複数の記憶装置それぞれに記憶される。複数の記憶装置にはネットワークを介して複数のユーザ装置が接続されている。複数のユーザ装置には、ネットワーウを介して管理装置が接続されていてもよい。
(ネットワーク構成)
 複数のユーザ装置は、ネットワークを介して、複数の記憶装置の少なくとも一つにアクセスすることができる。複数の記憶装置に含まれる一の記憶装置は、ネットワークを介して、複数の記憶装置に含まれる少なくとも他の一つの記憶装置にネットワークを介してアクセスすることができる。ユーザ装置同士は、ネットワークを介して互いに接続されていてもよいし、接続されていなくてもよい。管理装置は、ネットワークを介してすべてのユーザ装置からアクセスすることが可能である。ネットワークの一例にはインターネットのほか、LANなどのローカルネットワークや専用回線が含まれる。
(ユーザ、ユーザ装置)
 ユーザは、ブロックチェーンシステムの利用者である。ユーザ装置は、ユーザにより操作される装置である。ユーザ装置の一例には、ラップトップコンピュータ、スマートフォン、またはスマートウォッチなどが含まれる。実施形態に係るブロックチェーンシステムでは、一例として、複数のユーザ装置が、ユーザAにより操作されるユーザ装置Aと、ユーザBにより操作されるユーザ装置Bからなるものとする。ただし、これは一例であり、ユーザ装置の数は2台以上であればよく、2台に限定されない。
(記憶装置)
 記憶装置は、ブロックチェーンを記憶する装置である。記憶装置の操作者は特に限定されない。ユーザも記憶装置の操作者になることができる。また、ユーザ装置が記憶装置の機能を有することも可能である。記憶装置の一例には、サーバコンピュータやクラウドシステムなどのほか、ラップトップコンピュータやスマートフォンが含まれる。記憶装置は、ストアラー(Storer)と呼ぶこともできる。実施形態に係るブロックチェーンシステムでは、一例として、複数の記憶装置が、記憶装置Aと、記憶装置Bからなるものとする。ただし、これは一例であり、記憶装置の数は2台以上であればよく、2台に限定されない。
(ブロックチェーン)
 記憶装置にはブロックチェーンが記憶されている。ブロックチェーンとは、一列に配列された複数のブロックであって、前後に配列されているブロックがチェーンで互いに接続されているものをいう。チェーンで互いに接続されているとは、例えば、一列に配列された複数のブロックに含まれるn+1番目(nは0以上の整数)のブロックが、n番目のブロックを所定の関数に入力して出力される値を含んでいることをいう。所定の関数の一例には、ハッシュ関数などの一方向性を有する関数が含まれる。また、n番目のブロックを所定の関数に入力して出力される値の一例には、n番目のブロックのハッシュ値などの、一方向性を有する関数から出力される値が含まれる。ブロックチェーンは複数の記憶装置の間で同期することが可能である。
(ハッシュ値、ハッシュ関数)
 ハッシュ値はハッシュ関数を用いて算出される値である。ハッシュ関数は、入力の値が同じであれば、必ず同じ値を出力する関数である。ハッシュ関数では、入力される値が少しでも異なればまったく異なる値が出力される。このようなハッシュ関数やハッシュ値の性質は一方向性と呼ばれることがある。ハッシュ関数は所定の関数の一例であり、ハッシュ値は所定の関数に入力して出力される値の一例である。本発明では、ハッシュ値に代えて、あるいはハッシュ値とともに、他の関数で算出された値を用いることもできる。ただし、ブロックチェーンの耐改ざん性を高めるため、そのような他の関数及び他の値は、ハッシュ関数やハッシュ値と同様の一方向性を有していることが好ましい。以下の説明では、所定の関数とこの関数で算出された値としてハッシュ関数とハッシュ値を用いることとするが、所定の関数とこの関数で算出された値はこれらに限定されるものではない。
(ブロック)
 ブロックとは、複数のデータを含むデータの集合体である。
[公開データを含むブロック]
 図2は、ユーザ装置により公開データを含むブロックを生成してこれをブロックチェーンに追加する方法の一例を説明する図である。図2に示すように、実施形態では、記憶装置Aにブロック1、2があらかじめ記憶されており、ユーザ装置Aにより生成された公開データを含むブロック3が、記憶装置Aが記憶するブロックチェーンに追加されるケースを一例として説明する。以下、図3を参照しつつ、詳細に説明する。
(ステップS101)
 まず、ユーザ装置Aは、公開データを含むブロック3を生成する。ブロック3には、例えば、公開データのほか、ブロックID、ユーザID、公開データのハッシュ値、ユーザ装置Aの位置情報、及びその他の情報を含めることができる。
(ブロックID)
 ブロックIDは、ブロックを特定する情報である。ブロックIDの一例には、連番や規則的な文字列などのようにブロックの配列の順番を一意に定めることができる情報が含まれる。このようにすれば、ブロックIDにより各ブロックの配列の順番を特定できる。
(ユーザID)
 ユーザIDは、ユーザを特定する情報である。ユーザIDにより、ユーザAであるのかユーザBであるのかを識別することができる。
(公開データ)
 公開データには、例えば、テキストデータ、画像データ、動画データ、及びオーディオデータの少なくとも1つが含まれている。公開データの一例には、SNS(ソーシャルネットワーキングサービス)に投稿されるデータ、音楽共有サービスに投稿される音楽データ、動画共有サービスに投稿される動画データ、レシピサイトに投稿されるレシピ情報、飲食店情報サイトに投稿される飲食店を評価する情報、ホテルや民泊の評価サイトに投稿されるデータが含まれる。また、公開データの一例には、履歴書の管理システムで用いられる職歴に関するデータや、給与計算システムで用いられる給与に関するデータが含まれる。
 公開データは、暗号化されていてもよいし、暗号化されていなくてもよい。暗号化に用いた秘密鍵は、例えば、ユーザA自身のほか、ユーザAの家族や友人などが保有することができる。秘密鍵は、これらの者が操作するユーザ装置や、ユーザ装置に接続されるデジタル署名装置などに記憶しておくことができる。
(位置情報)
 本明細書における位置情報の一例には、GPS(Global Positioning System)を用いて算出される位置データ(緯度・経度)や基地局から配信される位置データ(例:Tokyo、Japan、またはAsia、あるいはこれらを組み合わせたデータ)が含まれる。
(ステップS102)
 次に、ユーザ装置Aが、記憶装置Aにブロック3を送信する。ユーザ装置Aは、ブロック3を記憶装置Aに送信するか記憶装置Bに送信するかを、各記憶装置の位置情報とユーザ装置Aの位置情報を用いて判断することができる。ユーザ装置Aが、最も近い位置に配置されている記憶装置にブロック3を送信するものとすれば、ブロックチェーンシステム全体のデータ処理効率・処理速度を高めることができる。実施形態では、記憶装置Aが、記憶装置Bよりもユーザ装置Aに近い位置に配置されているものとし、ユーザ装置Aが記憶装置Aにブロック3を送信するものとする。各記憶装置は、例えば、ユーザ装置において記憶装置の位置情報が利用可能となるよう、自装置の位置情報をすべてのユーザ装置にブロードキャストすることが好ましい。
(ステップS103)
 次に、記憶装置Aが、ブロック2のハッシュ値をブロック3に追加する。このように、ブロック3の一つ前のブロックであるブロック2のハッシュ値がブロック3に追加されることにより、ブロック2とブロック3がチェーンで繋がれることになる。
(ステップS104)
 次に、記憶装置Aが、ブロック2のハッシュ値が追加されたブロック3をブロックチェーンの最後尾に追加して記憶する。
 図4は、公開データを含むブロックの構成例を説明する。図4に示すように、ブロック3には、ブロックID、ユーザID、公開データ、公開データのハッシュ値、ユーザ装置の位置情報、及びその他の情報に加えて、1つ前のブロックのハッシュ値が含まれている。ブロック3に含まれる公開データを改ざんしようとする者は、ブロック3に含まれる公開データのハッシュ値を再計算しなければならないことに加えて、ブロック3以降に追加されるブロックに含まれる「1つ前のブロックのハッシュ値」をすべて再計算しなければ改ざんが発見されてしまうため、実施形態のブロックチェーンでは、事実上、改ざんを行うことが困難である。
 以上説明したように、実施形態に係るブロックチェーンシステムでは、複数のユーザ装置(ユーザ装置A及びユーザ装置B)と複数の記憶装置(記憶装置A及び記憶装置B)を備えたブロックチェーンシステムであって、ユーザ装置(ユーザ装置A)は、公開データを含むブロック(ブロック3)を生成し、この生成したブロック(ブロック3)を記憶装置(記憶装置A)に送信し、記憶装置(記憶装置A)は、一列に配列される複数のブロック(ブロック1、2)を記憶し、複数のブロックの最後尾に位置するブロックを所定の関数に入力して出力される値(ブロック2のハッシュ値)を、ユーザ装置から受信したブロック(ブロック3)に追加し、この値が追加されたブロック(ブロック2のハッシュ値が追加されたブロック3)を複数のブロック(ブロック1、2)の最後尾に追加して記憶するブロックチェーンシステムである。
 実施形態に係るブロックチェーンシステムによれば、ユーザ装置A自らが公開データを含むブロック3を生成し、記憶装置Aがユーザ装置Aから受信したブロック3を記憶装置Aに記憶されるブロックチェーンに追加する。このように、ユーザ装置A自らが公開データを含むブロック3を生成することにより、ユーザがブロックチェーンシステムの運営に主体的に関与することができる。また、ブロックチェーンに対するユーザの関与を高めることができる。
[ブロックチェーンの同期]
 図5A、図5Bは、複数の記憶装置の間でブロックチェーンを同期する方法の一例を説明する図である。図5A、図5Bに示すように、実施形態では、記憶装置Aにブロック1、2、3が記憶されており、記憶装置Bにブロック1が記憶されているものとする。記憶装置Aに記憶されているブロックチェーンは、ブロック1、2、3から構成されており、記憶装置Bに記憶されているブロックチェーンはブロック1から構成されているということもできる。実施形態では、記憶装置Bが、記憶装置Aに記憶されるブロック2、3を記憶装置Bのブロックチェーンに追加するケースを一例として説明する。なお、本明細書において、同期とは、上記のように、一の記憶装置には記憶されているが他の記憶装置には記憶されていないブロックを他の記憶装置に記憶されているブロックに追加することをいう。以下、図6を参照しつつ、詳細に説明する。
(ステップS201)
 まず、記憶装置Bは、記憶装置Aに記憶されているブロックチェーンの長さを確認する。ブロックチェーンの長さは、ブロックチェーンを構成するブロックの数や、ブロックチェーンのデータサイズで確認することができる。データサイズとはビットやバイトなどの単位で表されるデータの容量のことをいう。確認の一例には、ブロックチェーンの長さを読み出すことが含まれる。
(ステップS202)
 次に、記憶装置Bは、記憶装置Aに記憶されているブロックチェーンが記憶装置Bに記憶されるブロックチェーンよりも長いかどうかを判断する。長いかどうかは、ステップS201で確認したブロックチェーンの長さを比較することにより判断することができる。
(ステップS203)
 ステップS202で長いと判断される場合、記憶装置Bは、記憶装置Aに記憶されるブロックチェーンのハッシュ値(X)を計算する。実施形態では、記憶装置Aのブロックチェーンがブロック1、2、3で構成されているので、記憶装置Aに記憶されるブロック1、2、3の全体をハッシュ関数に入力して出力されるハッシュ値を計算するものとする。
(ステップS204)
 次に、記憶装置Bは、記憶装置Bに記憶されているブロック1と記憶装置Aに記憶されているブロック2、3とをハッシュ関数に入力して出力されるハッシュ値(Y)を計算する。つまり、記憶装置Bは、実際にブロック1にブロック2、3を追加する前に、ブロック1にブロック2、3を追加したと仮定した場合に構成されるブロックチェーンのハッシュ値(Y)を計算する。
(ステップS205、S206)
 次に、記憶装置Bは、ステップS203で計算したハッシュ値XとステップS204で計算したハッシュ値Yが一致するかどうかを判断し、一致する場合には、実際にブロック1にブロック2、3を追加する。一致しない場合、記憶装置Bは、ブロック1にブロック2、3を追加しない。
 以上説明したように、実施形態に係るブロックチェーンでは、記憶装置(記憶装置B)は、他の記憶装置(記憶装置A)に記憶されるブロックチェーンが自装置に記憶されるブロックチェーンよりも長い場合、他の記憶装置(記憶装置A)に記憶されるブロックチェーンを所定の関数に入力して出力される値と、他の記憶装置(記憶装置A)が記憶する自装置に記憶されていないブロック(ブロック2、3)と自装置に記憶されているブロック(ブロック1)を所定の関数に入力して出力される値が、一致するかどうかを判断し、一致する場合に限り、自装置に記憶されていないブロック(ブロック2、3)を自装置に記憶されているブロック(ブロック1)に追加する。
 実施形態に係るブロックチェーンシステムによれば、記憶装置Bは、実際にブロック1にブロック2、3を追加する前に、ハッシュ値を用いてブロックチェーンの比較を行うため、ブロックチェーンの同期を行うタイミングで、ブロックチェーンの改ざんを発見することが可能である。また、改ざんされたブロックチェーンが複数の記憶装置間で同期されて広がってしまうことを防止することができる。
[報酬データを含むブロック]
 図7は、記憶装置Aに報酬を付与する方法の一例を説明する図である。図7に示すように、実施形態に係るブロックチェーンでは、記憶装置Bが、記憶装置Aから受信した記憶装置Aの情報に基づいて報酬データを決定し、この決定した報酬データを含むブロック4を生成してこれを記憶装置Bのブロックチェーンに追加するケースを一例として説明する。以下、図8を参照しつつ、詳細に説明する。
(ステップS301)
 まず、記憶装置Aが、記憶装置Aの情報を記憶装置Bに送信する。記憶装置Aの情報の一例には、記憶装置Aに記憶されているブロックチェーンの長さ、記憶装置Aがユーザ装置からブロックを受信して記憶装置Aのブロックチェーンに追加したブロックの数や当該追加に要した時間の合計値、記憶装置Aの位置情報が含まれる。
(ステップS302)
 次に、記憶装置Bが、記憶装置Aから受信した情報に基づいて、記憶装置Aに関する報酬データを決定する。報酬データには、少なくとも、報酬量と、報酬が付与される記憶装置の記憶装置IDが、含まれる。実施形態では、記憶装置Aの記憶装置IDと、記憶装置Aに付与する報酬量が、少なくとも報酬データに含まれるものとする。
(ステップS303)
 次に、記憶装置Bが、報酬データを含むブロック4を生成する。ブロック4には、例えば、報酬データのほか、ブロックID、記憶装置ID、報酬データのハッシュ値、記憶装置Bの位置情報、及びその他の情報を含めることができる。
(記憶装置ID)
 記憶装置IDは、記憶装置を特定する情報である。記憶装置IDにより、記憶装置Aであるのか記憶装置Bであるのかを識別することができる。
(ステップS304)
 次に、記憶装置Bは、ブロック3のハッシュ値をブロック4に追加し、このハッシュ値が追加されたブロック4を記憶装置Bに記憶されている複数のブロック(ブロック1、2、3)の最後尾に追加して記憶する。これにより、ブロック3とブロック4がチェーンで繋がれる。
 図9は、報酬データを含むブロックの構成例を説明する図である。図9に示すように、ブロック4には、1つ前のブロック3のハッシュ値が含まれる。このため、実施形態のブロックチェーンでは、事実上、ブロックに含まれるデータの改ざんを行うことが困難である。
 以上説明したように、実施形態に係るブロックチェーンシステムでは、記憶装置(記憶装置B)は、他の記憶装置(記憶装置A)から他の記憶装置に関する情報(記憶装置Aに関する情報)を受信し、この受信した情報に基づいて報酬データを決定し、この決定した報酬データを含むブロック(ブロック4)を生成し、複数のブロック(ブロック1、2、3)の最後尾に位置するブロック(ブロック3)を所定の関数に入力して出力される値(ブロック3のハッシュ値)を生成したブロック(ブロック4)に追加し、この値が追加されたブロック(ブロック3のハッシュ値が追加されたブロック4)を複数のブロック(ブロック1、2、3)の最後尾に追加して記憶する。
 実施形態に係るブロックチェーンシステムによれば、ある記憶装置に対して付与する報酬が、他の記憶装置により決定され、この決定された報酬データが、ブロックチェーンを構成するブロックの一部として記憶される。
[評価データを含むブロック]
 図10は、ユーザ装置により評価データを含むブロックを生成してこれをブロックチェーンに追加する方法の一例を説明する図である。図10に示すように、実施形態に係るブロックチェーンシステムでは、ユーザ装置Bにより生成された評価データを含むブロック5が、記憶装置Bが記憶するブロックチェーンに追加されるケースを一例として説明する。以下、図11を参照しつつ、詳細に説明する。
(ステップS401)
 まず、ユーザ装置Bは、評価データを含むブロック5を生成する。ブロック5には、例えば、評価データのほか、ブロックID、ユーザID、公開データのハッシュ値、ユーザ装置Bの位置情報、及びその他の情報を含めることができる。
(評価データ)
 評価データは、公開データを評価するデータである。実施形態では、ユーザ装置Bのユーザが、ブロック3に含まれる公開データをWebブラウザなどで閲覧して、当該公開データを評価するものとする。評価データには、評価を示す情報とユーザIDが少なくとも含まれる。評価を示す情報の一例には、「GOOD」や「BAD」などのほか、「60点」や「80点」等の点数が含まれる。評価データに含まれるユーザIDは、評価の対象となる公開データをブロックに含めたユーザのユーザID(つまり、当該公開データと同じブロックに含まれているユーザID)である。
(ステップS402)
 次に、ユーザ装置Bが、記憶装置Bにブロック5を送信する。ユーザ装置Bが記憶装置の位置情報を用いてブロック5を送信する記憶装置を決定できることは、上記したユーザ装置Aがブロック3を送信する場合と同じであるので、説明を省略する。
(ステップS403)
 次に、記憶装置Bが、ブロック4のハッシュ値をブロック5に追加する。これにより、ブロック5とブロック4がチェーンで繋がれることになる。
(ステップS404)
 次に、記憶装置Bが、ブロック4のハッシュ値が追加されたブロック5をブロックチェーンの最後尾に追加して記憶する。
 図12は、評価データを含むブロックの構成例を説明する図である。図12に示すように、ブロック5には、ブロックID、ユーザID、評価データ、評価データのハッシュ値、ユーザ装置の位置情報、及びその他の情報に加えて、ブロックチェーンの改ざんを行うことが困難となるよう、1つ前のブロック4のハッシュ値が含まれている。
 以上説明したように、実施形態に係るブロックチェーンシステムでは、ユーザ装置(ユーザ装置B)は、評価データを含むブロック(ブロック5)を生成し、この生成したブロック(ブロック5)を記憶装置(記憶装置B)に送信し、記憶装置(記憶装置B)は、複数のブロック(ブロック1、2、3、4)の最後尾に位置するブロック(ブロック4)を所定の関数に入力して出力される値(ブロック4のハッシュ値)を、ユーザ装置(ユーザ装置B)から受信したブロック(ブロック5)に追加し、この値が追加されたブロック(ブロック4のハッシュ値が追加されたブロック5)を複数のブロック(ブロック1、2、3、4)の最後尾に追加して記憶する。
 実施形態に係るブロックチェーンシステムによれば、評価データを含むブロックがユーザ装置により生成され、これが記憶装置によりブロックチェーンの一部として追加される。このため、ユーザがブロックチェーンシステムの運営に主体的に関与することができる。
[ユーザに付与する報酬データを含むブロック]
 図13は、ユーザに報酬を付与する方法の一例を説明する図である。図13に示すように、実施形態では、記憶装置BがユーザAに付与する報酬データを決定し、この決定した報酬データを含むブロック6を生成してこれを記憶装置Bのブロックチェーンに追加するケースを一例として説明する。以下、図14を参照しつつ、詳細に説明する。
(ステップS501)
 まず、記憶装置Bが、記憶装置Bのブロックチェーンに含まれる評価データに基づいて、ユーザAに付与する報酬データを決定する。この報酬データには、報酬量とユーザIDが少なくとも含まれる。報酬量は評価データに基づいて決定される。評価データが含まれるブロックは、ブロックチェーンに含まれるすべてのブロックであってもよいし、所定のブロック(例えば所定の期間内に追加されたブロックや所定の位置情報を含むブロック)であってもよい。報酬データに含まれるユーザIDは、報酬が付与されるユーザのユーザIDであり、実施形態ではユーザAのユーザIDである。
(ステップS502)
 次に、記憶装置Bが、ユーザAに付与する報酬データを含むブロック6を生成する。ブロック6には、例えば、報酬データのほか、ブロックID、記憶装置ID、報酬データのハッシュ値、記憶装置Bの位置情報、及びその他の情報を含めることができる。
(ステップS503)
 次に、記憶装置Bが、ブロック5のハッシュ値をブロック6に追加する。このように、ブロック6の一つ前のブロックであるブロック5のハッシュ値がブロック6に追加されることにより、ブロック5とブロック6がチェーンで繋がれる。
(ステップS504)
 次に、記憶装置Bが、ブロック5のハッシュ値が追加されたブロック6をブロックチェーンの最後尾に追加して記憶する。
 図15は、ユーザに対する報酬データを含むブロック6の構成例を説明する。図15に示すように、ブロック6には、ブロックチェーンの改ざんが困難となるように、1つ前のブロック5のハッシュ値が含まれる。
 以上説明したように、実施形態に係るブロックチェーンシステムでは、記憶装置(記憶装置B)は、評価データに基づいて報酬データを決定し、この決定した報酬データを含むブロック(ブロック6)を生成し、複数のブロック(ブロック1、2、3、4、5)の最後尾に位置するブロック(ブロック5)を所定の関数に入力して出力される値(ブロック5のハッシュ値)を生成したブロック(ブロック6)に追加し、この値が追加されたブロック(ブロック5のハッシュ値が追加されたブロック6)を複数のブロック(ブロック1、2、3、4、5)の最後尾に追加して記憶する。
 実施形態に係るブロックチェーンシステムによれば、あるユーザに対して付与する報酬量が、記憶装置により決定され、この決定された報酬量を含む報酬データが、ブロックチェーンを構成するブロックの一部として記憶される。
[非公開データの管理]
 図16は、ユーザの非公開データを管理装置に記憶する方法の一例を説明する図である。実施形態では、ユーザ装置AのユーザAが非公開データを管理装置に記憶するケースを一例として説明する。以下、図16を参照しつつ、説明する。
(ステップS601)
 まず、ユーザ装置Aが、非公開データを管理装置に送信する。非公開データの一例には、ユーザAの氏名、ニックネーム、住所、電話番号、及びその他の情報が含まれる。
(ステップS602)
 次に、管理装置は、ユーザ装置Aから受信した公開データをユーザAのユーザIDに対応付けて記憶する。管理装置は、例えば、図17に示すように、テーブル形式で非公開データをユーザIDに対応付けて記憶することができる。
 以上説明したように、実施形態に係るブロックチェーンシステムでは、管理装置であって、ユーザIDに対応付けて、ユーザ装置のユーザに関する非公開データを記憶する。
 実施形態に係るブロックチェーンシステムによれば、ユーザのプライバシーを確保しつつ、ユーザによる公開データをブロックチェーン上で公開することができる。また、ユーザの非公開データはブロックチェーン上には記憶されていないため、ユーザのプライバシーを確保しつつ、ブロックチェーン上の公開データなどを解析して統計的なデータを取得することもできる。
 以上説明した実施形態に係るブロックチェーンシステムによれば、ユーザによる公開データを第三者や管理装置を介さずにネットワーク上に公開することができる。また、ユーザは、第三者や管理装置を介さずに、他のユーザによる公開データを評価し、この評価をネットワーク上に公開することができる。このため、実施形態に係るブロックチェーンシステムによれば、ユーザがブロックチェーンシステムの運営に主体的に関与することができる。どのような公開データを公開し、また他のユーザによる公開データをどのように評価するかは、第三者や管理装置ではなく、複数のユーザにより民主的に決定される。公開データを公開したり評価したりする決定権は、第三者や管理装置ではなく、複数のユーザにある。実施形態に係るブロックチェーンシステムによれば、ユーザや記憶装置に対して、第三者や管理装置を介さずに、報酬を付与することができる。報酬の付与に第三者や管理装置を関与させないことにより、ブロックチェーンシステムのセキュリティを高めることができる。また、公開データやその評価、及び報酬が不正に操作されることを防止することができる。
 本明細書において、報酬の一例には、コインが含まれる。また、報酬量の一例はコインの枚数が含まれる。
 本明細書において、ブロックの配列の順番を決定する方法の一例には、ブロックIDを用いる方法のほか、ブロックが記憶される記憶手段のメモリアドレスなどのその他の情報を用いる方法が含まれる。あるブロックは、このような様々な情報を用いて、記憶装置においてブロックチェーンの最後尾に記憶することができる。例えば、ブロックIDを比較することにより複数のブロックの配列の順番を特定できる場合は、ブロックにブロックIDを含ませることにより、複数のブロックを配列させることができる。例えば、ブロックID=1のブロック1とブロックID=2のブロック2からなるブロックチェーンが存在する場合において、ブロックID=3のブロック3を生成して記憶装置に記憶することにより、当該記憶装置において、ブロック3をブロックチェーンの最後尾に追加して記憶することができる。また、メモリアドレスを比較することにより複数のブロックの配列の順番を特定できる場合は、メモリアドレスを管理などすることにより、当該生成したブロックをブロックチェーンの最後尾に追加して記憶することができる。
 ユーザIDは、例えば、ユーザ装置により生成されてもよいし、例えば管理装置によって生成されてもよい。管理装置によってユーザ装置が生成される場合、ユーザ装置は、例えば、管理装置からユーザIDを受信や通知などされるものとする。
 以上、実施形態について説明したが、これらの説明は一例を示すものであり、これらの説明によって請求の範囲に記載された構成は何ら限定されるものではない。上記の説明と異なる形態であっても、請求の範囲に記載された構成を備える形態であれば、本発明の効果を奏するものであり、本発明に含まれる。
 実施形態に係るブロックチェーンシステム、記憶装置、及び管理装置は、様々なサービスで利用することができるが、特に、SNSなどのほか、音楽共有サービス、動画共有サービス、レシピサイト、飲食店情報サイト、その他ホテルや民泊の評価サイトなどのような、複数のユーザが主体的にネットワーク上に情報(公開データ)を共有するサービスでの利用に適している。このようなサービスに実施形態に係るブロックチェーンシステムを用いれば、公開データをブロックチェーン上で管理する一方で、ユーザの氏名などは非公開データとして管理装置で管理できるので、個人情報が保護された状態で、例えば、公開データを第三者や管理装置が解析などを行い、ユーザ等に対して有益な情報やサービスを提供することが可能となる。
 また、実施形態に係るブロックチェーンシステム、記憶装置、及び管理装置は、例えば、履歴書の管理システムや給与計算システムなどでの利用にも適している。このようなサービスに実施形態に係るブロックチェーンシステムを用いれば、職歴や給与を公開データとしてブロックチェーン上で管理する一方で、ユーザの氏名などは非公開データとして管理装置で管理できるので、個人情報の保護が保たれた状態で、例えば、職歴や給与などを社内で共有したり解析したりなどすることが可能となる。
 

Claims (11)

  1.  複数のユーザ装置と複数の記憶装置がネットワークを介して接続されるブロックチェーンシステムであって、
     前記ユーザ装置は、公開データを含むブロックを生成し、前記生成したブロックを前記記憶装置に送信し、
     前記記憶装置は、一列に配列される複数のブロックを記憶し、前記複数のブロックの最後尾に位置するブロックを所定の関数に入力して出力される値を前記ユーザ装置から受信したブロックに追加し、前記値が追加されたブロックを前記複数のブロックの最後尾に追加して記憶するブロックチェーンシステム。
  2.  前記記憶装置は、他の前記記憶装置に記憶されるブロックチェーンが自装置に記憶されるブロックチェーンよりも長い場合、他の前記記憶装置に記憶されるブロックチェーンを所定の関数に入力して出力される値と、他の前記記憶装置が記憶する自装置に記憶されていないブロックと自装置に記憶されているブロックを所定の関数に入力して出力される値が、一致するかどうかを判断し、一致する場合に限り、前記自装置に記憶されていないブロックを前記自装置に記憶されているブロックに追加する請求項1に記載のブロックチェーンシステム。
  3.  前記記憶装置は、他の前記記憶装置から他の前記記憶装置に関する情報を受信し、前記受信した情報に基づいて報酬データを決定し、前記決定した報酬データを含むブロックを生成し、前記複数のブロックの最後尾に位置するブロックを所定の関数に入力して出力される値を前記生成したブロックに追加し、前記値が追加されたブロックを前記複数のブロックの最後尾に追加して記憶する請求項1または2に記載のブロックチェーンシステム。
  4.  前記ユーザ装置は、評価データを含むブロックを生成し、前記生成したブロックを前記記憶装置に送信し、
     前記記憶装置は、前記複数のブロックの最後尾に位置するブロックを所定の関数に入力して出力される値を前記ユーザ装置から受信したブロックに追加し、前記値が追加されたブロックを前記複数のブロックの最後尾に追加して記憶する請求項1から3のいずれか一項に記載のブロックチェーンシステム。
  5.  前記記憶装置は、前記評価データに基づいて報酬データを決定し、前記決定した報酬データを含むブロックを生成し、前記複数のブロックの最後尾に位置するブロックを所定の関数に入力して出力される値を前記生成したブロックに追加し、前記値が追加されたブロックを前記複数のブロックの最後尾に追加して記憶する請求項4に記載のブロックチェーンシステム。
  6.  複数のユーザ装置と複数の記憶装置がネットワークを介して接続されるブロックチェーンシステムが備える前記記憶装置であって、
     ユーザ装置から、公開データを含むブロックを受信し、
     一列に配列される複数のブロックを記憶し、前記複数のブロックの最後尾に位置するブロックを所定の関数に入力して出力される値を前記ユーザ装置から受信したブロックに追加し、前記値が追加されたブロックを前記複数のブロックの最後尾に追加して記憶する記憶装置。
  7.  他の記憶装置に記憶されるブロックチェーンが自装置に記憶されるブロックチェーンよりも長い場合、他の記憶装置に記憶されるブロックチェーンを所定の関数に入力して出力される値と、他の記憶装置が記憶する自装置に記憶されていないブロックと自装置に記憶されているブロックを所定の関数に入力して出力される値が、一致するかどうかを判断し、一致する場合に限り、自装置に記憶されていないブロックを自装置に記憶されているブロックに追加する請求項6に記載の記憶装置。
  8.  他の前記記憶装置から他の前記記憶装置に関する情報を受信し、他の前記記憶装置から受信した情報に基づいて報酬データを決定し、前記決定した報酬データを含むブロックを生成し、前記複数のブロックの最後尾に位置するブロックを所定の関数に入力して出力される値を前記生成したブロックに追加し、前記値が追加されたブロックを前記複数のブロックの最後尾に追加して記憶する請求項6または7に記載の記憶装置。
  9.  ユーザ装置から、評価データを含むブロックを受信し、
     前記複数のブロックの最後尾に位置するブロックを所定の関数に入力して出力される値を前記ユーザ装置から受信したブロックに追加し、前記値が追加されたブロックを前記複数のブロックの最後尾に追加して記憶する請求項6から7のいずれか一項に記載の記憶装置。
  10.  前記評価データに基づいて報酬データを決定し、前記決定した報酬データを含むブロックを生成し、前記複数のブロックの最後尾に位置するブロックを所定の関数に入力して出力される値を前記生成したブロックに追加し、前記値が追加されたブロックを前記複数のブロックの最後尾に追加して記憶する請求項9に記載の記憶装置。
  11.  請求項1から5のいずれか一項に記載のブロックチェーンシステムが備えるユーザ装置にネットワークを介して接続される管理装置であって、
     ユーザIDに対応付けて、前記ユーザ装置のユーザに関する非公開データを記憶する管理装置。
     
PCT/JP2021/010259 2021-03-13 2021-03-13 ブロックチェーンシステム、記憶装置及び管理装置 WO2022195643A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/010259 WO2022195643A1 (ja) 2021-03-13 2021-03-13 ブロックチェーンシステム、記憶装置及び管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/010259 WO2022195643A1 (ja) 2021-03-13 2021-03-13 ブロックチェーンシステム、記憶装置及び管理装置

Publications (1)

Publication Number Publication Date
WO2022195643A1 true WO2022195643A1 (ja) 2022-09-22

Family

ID=83320029

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/010259 WO2022195643A1 (ja) 2021-03-13 2021-03-13 ブロックチェーンシステム、記憶装置及び管理装置

Country Status (1)

Country Link
WO (1) WO2022195643A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107124444A (zh) * 2017-03-28 2017-09-01 上海瑞麒维网络科技有限公司 一种区块链数据同步的方法和装置
WO2018186391A1 (ja) * 2017-04-03 2018-10-11 株式会社野村総合研究所 検査システム、検査方法、およびコンピュータプログラム
WO2018225428A1 (ja) * 2017-06-05 2018-12-13 Necソリューションイノベータ株式会社 診療記録管理システム、装置、方法およびプログラム
JP2021022279A (ja) * 2019-07-30 2021-02-18 株式会社エヌ・ティ・ティ・データ 情報処理装置、情報処理方法およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107124444A (zh) * 2017-03-28 2017-09-01 上海瑞麒维网络科技有限公司 一种区块链数据同步的方法和装置
WO2018186391A1 (ja) * 2017-04-03 2018-10-11 株式会社野村総合研究所 検査システム、検査方法、およびコンピュータプログラム
WO2018225428A1 (ja) * 2017-06-05 2018-12-13 Necソリューションイノベータ株式会社 診療記録管理システム、装置、方法およびプログラム
JP2021022279A (ja) * 2019-07-30 2021-02-18 株式会社エヌ・ティ・ティ・データ 情報処理装置、情報処理方法およびプログラム

Similar Documents

Publication Publication Date Title
Curran E-Voting on the Blockchain
US10554628B2 (en) Method and system for secure communication of a token and aggregation of the same
EP3598336B1 (en) Information processing device and information processing method
JP6608256B2 (ja) 電子データの存在証明プログラムおよび存在証明サーバ
US20070220611A1 (en) Methods and systems for sharing or presenting member information
US20110213974A1 (en) Identifying relationships between users of a communications domain
JP2012529715A (ja) ソーシャル・ネットワーキング・サービスへの更新の統合
CN105637798A (zh) 用于隐私保护计数的方法和系统
JP6275302B2 (ja) 存在証明装置、存在証明方法、及びそのためのプログラム
KR20130061724A (ko) 소셜 컬렉션 시스템 및 방법
US11677543B2 (en) Key exchange method and key exchange system
CN112804133B (zh) 一种基于区块链技术的加密群聊方法及系统
US7219229B2 (en) Protected communication system
Xu et al. Efficient and lightweight data streaming authentication in industrial control and automation systems
WO2022195643A1 (ja) ブロックチェーンシステム、記憶装置及び管理装置
CN114731293A (zh) 在确定准确的位置事件测量时防止数据操纵和保护用户隐私
Zhou et al. Polynomial‐Based Google Map Graphical Password System against Shoulder‐Surfing Attacks in Cloud Environment
CN106254226B (zh) 一种信息同步方法及装置
Ma et al. A new framework of IND-CCA secure public key encryption with keyword search
CN116561791A (zh) 隐私求交方法、装置及存储介质
KR20120069318A (ko) 그룹 앱 자동 생성 방법
JP4722682B2 (ja) 動的アクセス制御装置
Vasile Securing encrypted communication
Zhao et al. A robust reputation-based location-privacy recommender system using opportunistic networks
Yagublu The signal protocol for non-cryptographers: An explanation of the signal protocol and its security properties

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21931400

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 141223)