JP6438615B1 - Correct / error judgment and result sharing system on blockchain - Google Patents

Correct / error judgment and result sharing system on blockchain Download PDF

Info

Publication number
JP6438615B1
JP6438615B1 JP2018065807A JP2018065807A JP6438615B1 JP 6438615 B1 JP6438615 B1 JP 6438615B1 JP 2018065807 A JP2018065807 A JP 2018065807A JP 2018065807 A JP2018065807 A JP 2018065807A JP 6438615 B1 JP6438615 B1 JP 6438615B1
Authority
JP
Japan
Prior art keywords
transaction data
data
user
hash value
answer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018065807A
Other languages
Japanese (ja)
Other versions
JP2019176432A (en
Inventor
智行 木村
智行 木村
田中 俊太郎
俊太郎 田中
Original Assignee
株式会社三井住友銀行
株式会社日本総合研究所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社三井住友銀行, 株式会社日本総合研究所 filed Critical 株式会社三井住友銀行
Priority to JP2018065807A priority Critical patent/JP6438615B1/en
Application granted granted Critical
Publication of JP6438615B1 publication Critical patent/JP6438615B1/en
Publication of JP2019176432A publication Critical patent/JP2019176432A/en
Active legal-status Critical Current

Links

Images

Abstract

A distributed ledger verification system is provided.
A method performed by a first computing device for recording in a distributed ledger, the method generating a first hash value based on a correct answer to a question from a first user; Generating first transaction data including a hash value of 1, wherein the first transaction data is associated with past transaction data; broadcasting the first transaction data; Is provided. The first transaction data is recorded in the distributed ledger by comparing with the second transaction data broadcast by the second computing device, and the second transaction data is in response to the question from the second user. A second hash value generated based on the second hash value is included.
[Selection] Figure 3

Description

  The present invention relates to a correct / incorrect determination / result sharing system (distributed ledger verification system) on a block chain, and in particular, distributed ledger verification that prevents falsification of a ledger without performing verification by a conventional proof of work (poW). About the system.

  In recent years, a distributed ledger system called a “block chain” is being used. In the block chain, a ledger is created by concatenating data called blocks in a peer-to-peer network in which communication is performed between a plurality of computer devices (nodes). The ledger generated in the block chain is disclosed to all nodes, and each node verifies the legitimacy of the ledger, thereby preventing the ledger from being falsified.

  Each node performs a calculation called Proof of Work, and the node that first solved the calculation can generate the next block (a new block is approved). In this proof of work, the calculation is solved by increasing a random variable called a nonce. This calculation requires a certain amount of resources (such as time and physical resources of computer device equipment) (that is, a high load is required for the calculation). This high load in proof-of-work calculations is that if the ledger is tampered with, it is necessary to recalculate the previous block in order to approve the block. This is because the speed required for the recalculation speed does not catch up with the approval. That is, in the block chain, in order to prevent falsification of the ledger, it is required to solve a calculation with a high load (see Non-Patent Document 1).

Satoshi Nakamoto, "Bitcoin: A Peer-to-Peer Electronic Cash System," [online], 2008, February 15, 2018 search, Internet <URL: https://bitcoin.org/bitcoin.pdf>)

  As described above, in order to prevent falsification of the ledger in the block chain, the node is requested to solve a calculation with a high load. This calculation is, for example, a simple calculation such as obtaining a number less than 100 (f (x) <100), and the node calculates by increasing the nonce brute force. This calculation is intended only to increase the load, and does not make sense for the calculation itself.

  The blockchain realizes mutual management of the ledger by giving a reward to the node that first solved the calculation while requiring the node to solve the calculation with a high load. However, when the above-described load is taken into consideration, there is also an aspect that is wasteful from the viewpoint of resources required for calculation.

  ADVANTAGE OF THE INVENTION According to this invention, the distributed ledger verification system which prevents the tampering of a ledger without performing verification by the conventional proof of work is provided. In particular, according to the present invention, it is possible to widely share the verification result and judgment logic of the answer while verifying the answer without a trusted institution while keeping the information exchanged between the users and the information about the answer itself secret. A distributed ledger verification system is provided.

  A method executed by a first computer device for recording in a distributed ledger according to an embodiment of the present invention is a method executed by a first computer device for recording in a distributed ledger, A step of generating a first hash value based on a correct answer to a question from a first user, and a step of generating first transaction data including the first hash value, wherein the first transaction data Associated with past transaction data, and broadcasting the first transaction data, wherein the first transaction data is broadcast by a second computing device. Before by comparing with transaction data Is recorded in the distributed register, the second transaction data, characterized in that it comprises a second hash value generated based on the response from the second user with respect to the question.

  According to the distributed ledger verification system according to an embodiment of the present invention, it is possible to waste computer resources and the like by performing transaction verification by a significant method while ensuring tamper resistance of the ledger in the conventional distributed ledger verification system. Can be reduced.

It is a block diagram which shows the example of the whole structure of the distributed ledger verification system which concerns on one Embodiment of this invention. It is a block diagram which shows the example of the detailed component of the device which comprises the distributed ledger verification system which concerns on one Embodiment of this invention. It is a flowchart which shows the process which the distributed ledger verification system which concerns on 1st Embodiment performs. It is a flowchart which shows the process which the distributed ledger verification system which concerns on 1st Embodiment performs. It is a flowchart which shows the process which the distributed ledger verification system which concerns on 1st Embodiment performs. It is a flowchart which shows the process which the distributed ledger verification system which concerns on 2nd Embodiment performs. It is a flowchart which shows the process which the distributed ledger verification system which concerns on 2nd Embodiment performs. It is a flowchart which shows the process which the distributed ledger verification system which concerns on 3rd Embodiment performs. It is a flowchart which shows the process which the distributed ledger verification system which concerns on 3rd Embodiment performs.

  Hereinafter, a distributed ledger verification system according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings. The distributed ledger verification system according to an embodiment of the present invention creates a distributed ledger by connecting only legitimate data in a peer-to-peer network (that is, preventing data tampering). This ledger ensures the legitimacy of the ledger by each user verifying each other.

  FIG. 1 shows an example of the overall configuration of a distributed ledger verification system according to an embodiment of the present invention. The distributed ledger verification system according to an embodiment of the present invention is configured by interconnecting a plurality of computer devices 1 and certification authority devices 2 via a network 3. Each of the plurality of computer devices 1 includes, but is not limited to, a mobile phone such as a smartphone and a portable information terminal such as a tablet terminal, a desktop personal computer, a notebook personal computer, and a data center installed computer.

  Each of the plurality of computer devices 1 constitutes a node of the distributed ledger verification system (that is, a computer device used by a participant (user) in the distributed ledger verification system). In addition, any one of the plurality of computer devices 1 serves as a certification authority. A certification authority may serve only as a certification authority, or may act as both a certification authority and a participant.

  In FIG. 1, computer devices constituting the node are represented as computer devices 1 a to 1 c (hereinafter “computer device 1”), and a computer device constituting the certification authority is represented as a certification authority device 2. Note that the type of the computer device on which the node and the certification authority are mounted is not particularly limited, and may be any computer device having a calculation and communication function. The network 3 is a public network such as the Internet.

  The computer device 1 is a computer device used by a user who participates in the distributed ledger verification system according to an embodiment of the present invention. A user who uses the computer device 1 has a private key / public key pair in the public key cryptosystem and a user ID generated from the public key. The user ID is an ID (address) for identifying a user in the distributed ledger verification system according to an embodiment of the present invention, and transaction data described below is broadcast with all user IDs as destinations. The user writes data to the ledger using the computer device 1. When writing this ledger, the validity of the data is verified by another node.

  The certification authority device 2 plays a role of issuing a private key / public key pair used when the user writes data in the ledger. As described above, the certification authority device 2 may be one of the nodes in the distributed ledger verification system, or may serve only as a certification authority, but at least in the distributed ledger system, Act as a possible third party (with special authority).

  Next, an example of detailed components of the computer device 1 and the certification authority device 2 constituting the distributed ledger verification system according to an embodiment of the present invention will be described with reference to FIG. The computer device 1 and the certification authority device 2 may have the same configuration or different configurations. In the present embodiment, description will be made assuming that both have the same configuration. Therefore, in FIG. 2, the computer device 1 and the certification authority device 2 are collectively described, and components included in the computer device 1 will be described.

  The computer device 1 includes a control device 11, a memory 12, a storage device 13, a communication device 14, and a display device 15. Although not shown in FIG. 2, the certification authority device 2 also has similar components, and in the following description, has a control device 21, a memory 22, a storage device 23, a communication device 24, and a display device 25, respectively. Shall.

  The control device 11 is also referred to as a processor, and controls each of the above components and calculates data. In addition, the control device 11 reads a program stored in the storage device 13 for executing various processes according to an embodiment of the present invention into the memory 12 and executes the program. Here, the above-mentioned program is a program for executing the distributed ledger verification system according to an embodiment of the present invention (hereinafter, “distributed ledger verification program”), and each computer device 1 and certificate authority device. 2 storage device 13. The certificate authority device 2 has special authority different from that of the computer device 1, but the authority may be controlled by a distributed ledger verification program (for example, only the certificate authority device 2 issues a private key and a public key). Controlled to have the right to). Alternatively, only the certification authority device 2 may be controlled by executing a program that is different from the program executed by the computer device 1 (only the computer device that executed this program may issue a private key and a public key). it can).

  The memory 12 is a volatile data storage device that stores data broadcast from other computer devices 1 and the certification authority device 2, computer-executable instructions, data after arithmetic processing by the instructions, and the like. The memory 12 may be implemented by a RAM (Random Access Memory) (for example, SRAM (Static RAM) and DRAM (Dynamic RAM)).

  The storage device 13 is a nonvolatile data storage device that stores a ledger generated through the above-described distributed ledger verification program and the distributed ledger verification system according to an embodiment of the present invention. The storage device 13 may be implemented by a nonvolatile semiconductor memory such as a ROM (Read Only Memory), a magnetic storage device (such as a hard disk drive), and an optical disk. Further, the storage device 13 stores a private key / public key pair and a user ID generated by the certification authority device 2.

  The communication device 14 is a network interface that transmits and receives data and control information to and from other computer devices 1 and certificate authority devices 2 connected via the network 3. This network interface is implemented by, for example, a network card (for example, a LAN card) conforming to a protocol such as TCP / IP.

  The display device 15 displays an input / output interface for the user to input and display information by the control device 11 executing the distributed ledger verification program. The display device 1 is implemented by a display device (for example, a touch panel display) integrated with the computer device 1 or a display device (for example, a display board) connected separately.

<First Embodiment>
Next, an example of processing executed by the distributed ledger verification system according to the first embodiment of the present invention will be described with reference to FIGS. 3 to 5. A distributed ledger verification system according to an embodiment of the present invention relates to a system for managing a ledger in which data is recorded by mutual verification between users. The act of recording data in the ledger corresponds to, for example, a transaction act such as fund settlement, but the act is not particularly limited. In the following, the action recorded by the user in the ledger is referred to as “transaction”, and the data recorded in the ledger at that time is referred to as “transaction data”. In the first embodiment, an example of performing user identity verification will be described, and both a user who verifies identity verification (a user to be confirmed) and a user who verifies identity verification (confirmation user) cause a transaction.

  As a premise for explaining the first embodiment, the transaction data generated by the user through the computer device 1 is broadcast to all the computer devices 1 participating in the distributed ledger verification system according to an embodiment of the present invention. The transaction data includes at least a hash value generated from previous transaction data generated by the same user.

  When the transaction data is broadcast, other users verify the validity of the transaction data. Then, the transaction data corresponding to the transaction judged to be valid is linked to the previous transaction data and recorded in the ledger. Each transaction data includes a hash value of the previous transaction data, and when trying to falsify the corresponding transaction data, it is necessary to change the hash values of all past data connected to the transaction data. The distributed ledger according to an embodiment of the present invention increases the tamper resistance of the ledger by such a history structure.

  In the example shown in FIGS. 3 to 5, when user A (not shown) makes a payment with a user B (not shown), the identity of user A is confirmed by user B in the transaction. Shall be. The identity verification of the user A is performed by comparing the identity verification certification data (including name and address, for example) possessed by the user A with the identity verification verification data of the user A possessed by the user B. The computer device 1 used by the user A is a computer device 1A, and the computer device 1 used by the user B is a computer device 1B. The transaction data generated by the computer device 1A is verified by a third party other than the user A and the user B. The verification is performed by the user C, and the computer device 1 used by the user C is the computer device 1C. To do. Each operation described below is implemented by each of the computer devices 1A to 1C and the certification authority device 2 executing a distributed ledger verification program.

  In the description of FIGS. 3 to 5, transaction data 1 referred to below is generated and verified, but it is assumed that transaction a has occurred before the corresponding transaction 1. Transaction a is verified by another user, and corresponding transaction data a is recorded in the ledger. Therefore, it is assumed that the transaction data 1 includes a hash value generated from the transaction data a. Similarly, it is assumed that transaction b occurs before transaction 2 corresponding to transaction data 2 mentioned below. The transaction data 2 includes a hash value generated from the transaction data b corresponding to the transaction b.

  FIG. 3 is a flowchart for explaining processing from when user A generates personal authentication data for personal authentication and broadcasts transaction data 1 generated based on the personal authentication data.

  First, the user A performs a predetermined operation for confirming the identity through an input / output interface (not shown) displayed on the display device 15 (hereinafter, display device 15A) of the computer device 1A. This operation serves as a trigger for transaction 1 in which user A records personal identification certification data for personal identification in the ledger, and corresponding transaction data 1 is generated. When transaction 1 is verified, user A's identity is confirmed, and transaction data 1 is recorded in the ledger. In response to the above operation, the communication device 14 of the computer device 1A (hereinafter, communication device 14A) transmits a secret key issue request to the certification authority device 2 (step S301).

  When the communication device 24 of the certification authority device 2 receives the private key issue request, the control device 21 generates a private key / public key pair (step S302). The generated secret key is transmitted to the computer device 1A together with the format data (step S303), and the generated public key is broadcast to all the computer devices 1 (step S304). Here, the format data is data having a format common to both the identity verification certificate data generated by the computer device 1A and the identity verification data generated by the certification authority device 2 in order to verify the identity of the user A. .

  The format data is defined in advance by one of the user A, the user B, or the certification authority, and at least the format data is stored in the storage device 23. The format data may be transmitted to the certification authority device 2 by the computer device 1B when the identity verification is performed, or may be stored in the storage device 23 in advance. When the control device 2 generates the public key described above, the control device 2 encrypts the format data using the generated public key. By this encryption, as will be described below, the update of the format data is controlled so that only the user having the secret key issued by the certification authority can be updated.

  When the communication device 14A receives the secret key and the format data transmitted in step S303, the control device 11 of the computer device 1A (hereinafter referred to as the control device 11A) generates personal identification certification data based on the format data (step). S305). The identity verification data is data into which information (for example, name and address) used to prove the identity of user A according to the format data is inserted. The information described above may be input by the user A via the input / output interface described above when performing identity verification, or may be stored in advance in the storage device 13 (hereinafter referred to as storage device 13A) of the computer device 1A. .

  The identity verification certificate data is hashed together with the identity verification data described later. The verifier verifies whether both data match by confirming whether the hash values match. Therefore, the personal identification certification data and the personal identification verification data need not only have the same information but also have the same data structure. The format data is data that defines a unified data structure between the two data.

  Generating the above-described identity confirmation proof data means updating the format data using the identity confirmation information of the user A. User A and user B who perform identity verification have a secret key issued by the certification authority. That is, only the user A and the user B can update the format data.

  When the personal verification certificate data is generated, the control device 11A generates a hash value from the personal verification certificate data, and generates a signature using the secret key transmitted in step S303. Further, a hash value is generated from the transaction data a described above. Then, the control device 11A generates transaction data 1 including the hash value generated from the personal identification certification data, the generated signature, and the hash value generated from the transaction data a (step S306). When the transaction data 1 is generated, the communication device 14A broadcasts the transaction data 1 to all the computer devices 1 (step S307).

  FIG. 4 is a flowchart for explaining processing until user B generates personal verification data for user A's personal verification and broadcasts transaction data 2 generated based on the personal verification data.

  The user B verification information (for example, the user B used for verifying the user A's identity verification via an input / output interface (not shown) displayed on the display device 15 (hereinafter referred to as the display device 15B) of the computer device 1B. Enter your name and address. This operation serves as a trigger for transaction 2 in which user B records user identification verification data for user A's identity verification in the ledger, and corresponding transaction data 2 is generated. This information is information relating to user A possessed by user B, and is stored in advance in storage device 13 (hereinafter referred to as storage device 13B) of computer device 1B instead of being input from the input / output interface described above. Also good. Note that attributes such as the name and address of the user A included in the personal verification data are not particularly limited, but it is necessary to include the same attributes as those in the personal verification data described above.

  In response to the above operation, the communication device 14 (hereinafter, communication device 14B) of the computer device 1B transmits the identity verification information to the certification authority device 2 (step S401). When the communication device 24 receives the identity verification information, the control device 21 inserts the identity verification information into the same format data transmitted to the computer device 1A in step S303 in FIG. Generate (step S402).

  When the personal verification data is generated, the control device 21 generates a hash value from the personal verification data, and generates a signature using the secret key generated in step S302 of FIG. Further, a hash value is generated from the transaction data b described above. Then, the control device 21 generates transaction data 2 including the hash value generated from the personal identification verification data, the generated signature, and the hash value generated from the transaction data b (step S403). When the transaction data 2 is generated, the communication device 24 broadcasts the transaction data 2 to all the computer devices 1 (step S404).

  The identity verification certification data generated by the user A and the identity verification data generated by the user B are information on the user A that both have. As will be described below, since these pieces of information are hashed according to the same format, as long as both pieces of information match, the hash values match. The verifier (user C) who verifies the transaction data performs identity verification by confirming whether or not the two generated hash values are the same, thereby verifying the validity of the transaction.

  Through the processing described above, transaction data 1 and transaction data 2 are broadcast to all computer devices 1. In subsequent processing, a third party other than the user A and the user B verifies the transaction data 1 and the transaction data 2. As described above, it is assumed that the third party who performs this verification is the user C who uses the computer device 1C.

  In the present embodiment, the transaction data 2 is generated by the certificate authority device 2, but may be generated by the computer device 1B instead of the certificate authority device 2. In this case, the personal identification verification information is not transmitted to the certification authority device 2 in step S401, but a secret key issue request is transmitted. In response to this, the certification authority device 2 transmits the secret key and the format data to the computer device 1B, and the computer device 1B inserts the identity verification information into the format data to generate the identity verification data. Thereafter, transaction data 2 is generated and broadcast in the same manner as the processing described in step S403 and step S404 described above.

  FIG. 5 is a flowchart illustrating a process in which the user C verifies the consistency of the transaction data 1 and the transaction data 2 broadcasted in FIGS. 3 and 4.

  The communication device 14 (hereinafter, communication device 14C) of the computer device 1C receives the transaction data 1 and the transaction data 2 (step S501). Then, the control device 11 (hereinafter, control device 11C) of the computer device 1C decrypts the transaction data 1 and the transaction data 2 using the public key broadcast in step S304 in FIG. 3 (step S502). When decrypted, the hash value generated from the personal identification verification data and the hash value generated from the personal identification verification data are displayed on the display device 15 (hereinafter, display device 15C) of the computer device 1C. Then, the user C verifies the transaction 1 and the transaction 2 by confirming whether or not the two hash values match (step S503).

  In the above verification, when the two hash values match, the transaction 1 and the transaction 2 are approved as having been verified. If they do not match, transaction 1 and transaction 2 are not approved, assuming that the identity has not been verified. When the transaction is approved, the corresponding transaction data 1 and transaction data 2 are recorded in the ledger, and are linked to transaction data a and transaction data b, respectively.

  Approval of the transaction 1 and the transaction 2 is performed when the user C performs a predetermined operation via an input / output interface (not shown) displayed on the display device 15C. That is, in response to the above operation being performed, the communication device 14C broadcasts an approval message for each of the transaction 1 and the transaction 2 to all the computer devices 1 (step S504). If the identity is not confirmed, at least transaction 1 may not be approved, and transaction data 1 may be discarded.

  In the present embodiment, the user C is described as the user who performs the verification. However, since the transaction data 1 and the transaction data 2 are broadcast to all the computer devices 1, the user who performed the above-mentioned verification earliest is verified. Become a person. That is, transaction 1 and transaction 2 are linked to the node corresponding to the user who has verified the earliest to form a distributed ledger. Therefore, the verifier may become a certification body. For example, if there is no reward used for Bitcoin, etc., the certification body functions as a verifier, avoiding the situation where no one performs verification. can do.

  The order of the process executed by the computer device 1A (the process described in FIG. 3) and the process executed by the computer device 1B (the process described in FIG. 4) may be reversed. That is, contrary to the description of FIGS. 3 and 4, the identity verification data may be generated and broadcast after the identity verification data is generated and broadcast.

  As described above, the distributed ledger verification system according to the first embodiment has been described. In the first embodiment, when verifying a transaction, the verifier is requested to check whether or not the data used for identity verification is consistent. As described above, the proof-of-work applied in the conventional distributed ledger system is only for the purpose of applying a load, and does not make sense for the calculation itself. In the distributed ledger verification system according to the first embodiment, checking the consistency of data used for identity verification corresponds to the calculation in the conventional proof of work. In other words, confirming the consistency of data for identity verification also verifies the transaction. With such a configuration, it is possible to confirm the validity of the transaction at the same time as the identity verification, and as a result, waste of computer resources and the like can be reduced as compared with the conventional distributed ledger system.

  In addition, transaction data is encrypted with a secret key issued by the certification authority, and subsequent transaction data includes a hash value of the previous transaction data. The transaction data includes only the hash value generated from the information used for identity verification and does not include the information itself used for identity verification, thus preventing personal information from leaking to third parties. be able to. In other words, according to the distributed ledger verification system according to the first embodiment, questions exchanged between users and information about the answers themselves are kept secret, and verification results and judgment logic of the answers are widely shared between users. And can verify the answer without a trusted body.

  The format data described above may be configured to have information regarding the expiration date and the number of times of writing. When it has an expiration date, it is controlled so that writing cannot be performed after a predetermined period of time has passed since the format data was transmitted from the certification authority. In the case where the number of times of writing is provided, control is performed so that writing cannot be performed when writing is performed a predetermined number of times after the format data is transmitted from the certification authority. By this control, it is possible to prevent, for example, the transfer of the identity verification certificate data generated by the user to a third party, thereby further ensuring the integrity of the ledger. This control is similarly applied to the following second and third embodiments.

<Second Embodiment>
Next, an example of processing executed by the distributed ledger verification system according to the second embodiment of the present invention will be described with reference to FIGS. In the second embodiment, an example in which a user to be confirmed (borrower) receives a loan from a confirmation user (lender) will be described. Therefore, the user A described in the first embodiment is a borrower, and the user B is a lender. The certification authority is, for example, a financial institution that manages an account in which the user A has deposited assets. The verifier becomes the user C. Similarly to the description in the first embodiment, it is assumed that the users A to C use the computer devices 1A to 1C, respectively, and the certification authority uses the certification authority device 2. Therefore, the components (the control device 11A and the like) of the computer devices 1A to 1C and the certification authority device 2 are the same as those described in the first embodiment.

  The certification authority device 2 may be implemented by, for example, an existing accounting computer system provided by a financial institution, or the certification authority device 2 and the accounting system may be linked. In the following embodiment, it is assumed that the certification authority device 2 has a billing system function. It is assumed that the certification authority device 2 has account information and asset information about the user A, and can specify the information based on the user ID.

  FIG. 6 is a flowchart for explaining processing until user B receives a loan application from user A, generates loan verification data, and broadcasts transaction data 1 generated based on the loan verification data. It is.

  First, the user B inputs information related to the user ID of the user A and loan conditions via an input / output interface (not shown) displayed on the display device 15B. This operation serves as a trigger for the transaction 1 for recording the loan certification data for confirming whether the user A satisfies the loan condition in the ledger, and the corresponding transaction data 1 is generated.

  When these pieces of information are input, the control device 11B generates loan condition data (step S601). The loan condition data includes at least the user ID of user A and the loan condition (for example, a question such as “has assets of 10 million yen or more” and a reply such as “Yes” for the question) including. When the loan condition data is generated, the communication device 14B transmits the loan condition data to the certification authority device 2 (step S602).

  When the communication device 24 receives the loan condition data, the control device 21 generates a private key / public key pair (step S603). Moreover, the control apparatus 21 acquires asset information including the asset amount of the user A based on the user ID (user ID of the user A) included in the loan condition data transmitted in step S602 (for example, the certification authority device) 2 includes an asset information database stored and managed for each user, and obtains information from the database) (step S604).

  Next, the control device 21 generates loan verification data based on the format data (step S605). The loan verification data is data in which the loan condition data transmitted in step S602 is inserted. As with the format data described in the first embodiment, the format data includes the loan verification data generated by the certification authority device 2 and the loan proof generated by the computer device 1A in order to check whether the user A satisfies the loan condition. Data having a format common to both data.

  Here, in step S604, the control device 21 acquires the asset information of the user A. However, loan verification data may be generated by adding new loan conditions based on the asset information. The new loan condition is, for example, when the asset of the user A is 15 million yen or more in step S604, a question that “has 15 million yen or more of the asset”, and “Yes” for the question. And so on. This asset information may be concealed using, for example, zero knowledge proof technology.

  Next, the control device 21 generates a hash value from the loan verification data, and generates a signature using the secret key generated in step S603. Further, a hash value is generated from the transaction data b described above. And the control apparatus 21 produces | generates the transaction data 1 containing the hash value produced | generated from the loan verification data, the produced | generated signature, and the hash value produced | generated from transaction data b (step S606). When the transaction data 1 is generated, the communication device 14B broadcasts the transaction data 1 to all the computer devices 1 (step S607).

  Similarly, in the second embodiment, the transaction data 1 generated from the confirmation user (user B) is generated by the certification authority device 2, but may be generated by the computer device 1B instead of the certification authority device 2. . In this case, in step S605, only the loan conditions (based on the asset information of the user A) set by the certification authority device 2 are inserted into the format data, and the format data and secret key are transmitted to the computer device 1B. Then, the computer device 1B inserts the loan conditions set by the user B into this format data, and generates identity verification data. Thereafter, the transaction data 1 is generated and broadcast in the same manner as the processing described in step S606 and step S607 described above.

  FIG. 7 is a flowchart for explaining processing until the user A generates loan proof data for proving whether the loan condition is satisfied and broadcasts the transaction data 2 generated based on the loan proof data.

  The user A performs a predetermined operation for proving whether or not the loan condition is satisfied via an input / output interface (not shown) displayed on the display device 15A. This operation serves as a trigger for the transaction 2 for recording the loan certification data for proving whether the user A satisfies the loan condition in the ledger, and the corresponding transaction data 2 is generated. In response to the above operation, the communication device 14B transmits a secret key issue request to the certification authority device 2 (step S701). When the communication device 24 receives the secret key issue request, it transmits the private key generated in step S603 of FIG. 6 and the loan verification data encrypted with the public key (step S702). The communication device 24 broadcasts the generated public key to all the computer devices 1 (step S703).

  When communication device 14A receives the private key and loan verification data transmitted in step S702, control device 11A generates loan certification data based on the loan verification data (step S704). The loan proof data is data in which information answered by the user A according to the loan verification data is inserted (for example, “Yes” for the question “Do you have 10 million yen?”). As described above, the loan verification data is encrypted by the public key generated by the certification authority device 2, but the user A has the secret key issued from the certification authority device 2, so that The contents of the loan verification data can be referred to using the secret key. That is, the user A can answer whether or not the loan condition is satisfied based on the loan condition included in the loan verification data.

  Since the information included in the loan proof data generated by the user A and the loan verification data generated by the user B are hashed according to the same format, the hash values match as long as both pieces of information match. The verifier (user C) who verifies the transaction data verifies the answer of the user A by confirming whether or not the two generated hash values are the same, and thus verifies the validity of the transaction. .

  When the loan proof data is generated, the control device 11A generates a hash value from the loan proof data, and generates a signature using the secret key transmitted in step S702. Further, a hash value is generated from the transaction data a described above. Then, the control device 11A generates transaction data 2 including the hash value generated from the answer verification data, the generated signature, and the hash value generated from the transaction data a (step S705). When the transaction data 2 is generated, the communication device 14B broadcasts the transaction data 2 to all the computer devices 1 (step S706).

  Through the processing described above, transaction data 1 and transaction data 2 are broadcast to all computer devices 1. Thereafter, the user C verifies whether the hash values included in both the transaction data 1 and the transaction data 2 match. That is, it is verified whether the answer of the user A matches the question of the user B (whether the loan condition is satisfied). Since the specific verification process is the same as the process described in FIG. 5 in the first embodiment, the description thereof is omitted.

  As described above, the distributed ledger verification system according to the second embodiment has been described. In the second embodiment, when the transaction is verified, the verifier asks the verifier whether or not the question regarding the asset status to be confirmed by the lender and the borrower is consistent with the answer to the question. As a result, in the same way as described in the first embodiment, it is possible to reduce waste of computer resources and the like as compared with the conventional distributed ledger system.

  In addition, since the information that the borrower should answer to the question from the lender (loan verification data) and the information that the borrower actually answers (loan certification data) are hashed according to the same format, the asset content of the user A, etc. The verifier can verify whether or not the loan condition is satisfied.

  Furthermore, as a certification body, the bank where the borrower deposits the asset plays a role, so that it is possible to confirm whether or not the loan condition that more accurately reflects the borrower's asset condition is satisfied. That is, a question from the lender (user B) (first question) and a question from the certification authority (second question) can be included in the transaction data. This second question is information that at least the lender cannot know, and is received from the certification authority device 2 by the computer device 1B via the loan condition data. On the other hand, by using techniques such as zero asset certification, information about the borrower's assets is not known to third parties.

<Third Embodiment>
Next, an example of processing executed by the distributed ledger verification system according to the third embodiment of the present invention will be described with reference to FIGS. 8 and 9. In the third embodiment, an example of answering a problem such as a test will be described. Therefore, the user A described in the first embodiment is an answerer of the examination, and the user B is an examiner such as an examination execution organization. The verifier becomes the user C. Similarly to the description in the first embodiment, it is assumed that the users A to C use the computer devices 1A to 1C, respectively. Therefore, the components (the control device 11A and the like) of the computer device 1A to the computer device 1C together with the certification authority device 2 are the same as those described in the first embodiment.

  In the second embodiment, the relationship between the questioner and the respondent is 1 to M (M is an integer of 1 or more) or N to M (N is an integer of 2 or more). In other words, the questioner questions questions to one or more respondents who applied for the exam. In the following example, only the user A among one or a plurality of respondents will be described as the respondent.

  FIG. 8 is a flowchart for explaining processing until user B generates problem data for giving a question to user A and broadcasts transaction data 1 generated based on the identity verification data.

  First, the user B inputs the respondent's user ID via an input / output interface (not shown) displayed on the display device 15B. When the respondent's ID is input, the control device 11B generates a respondent list (step S801). The respondent list includes at least user IDs of all respondents defined by the user B. The respondent ID included in the respondent list is a user ID corresponding to the user who applied for the test to the user B in advance.

  Also, the user B inputs the question content to be disclosed to the respondent and correct answer information for the question content via the input / output interface described above. When the question content and correct answer information are input, the control device 11B generates question data and correct answer data (step S802). When the respondent list, the question data, and the correct answer data are generated, the communication device 14B transmits at least the answerer list and the correct answer data among them to the certification authority device 2. The problem data may also be transmitted to the certification authority 2, but the transmission is not essential. For example, the problem data may be disclosed to the respondent separately from the distributed ledger verification system according to the embodiment of the present invention (for example, Publish by uploading the issue to the WEB page). When the problem data is also transmitted to the certification authority device 2, the problem data is transmitted to the computer device 1A together with the secret key in the following steps.

  When the communication device 24 receives the respondent list and correct answer data, the control device 21 generates a private key / public key pair for each respondent ID (step S803). Then, the control device 21 generates answer verification data based on the format data (step S804). The answer verification data is data in which the correct answer data generated in step S802 is inserted. Similarly to the format data described in the first embodiment, the format data includes both the response certification data generated by the computer device 1A and the response verification data generated by the certification authority device 2 in order for the user A to answer the problem. Data having a common format.

  When the answer verification data is generated, the control device 21 generates a hash value from the answer verification data, and generates a signature using the secret key generated in step S803. Further, a hash value is generated from the transaction data b described above. Then, the control device 21 generates transaction data 1 including the hash value generated from the answer verification data, the generated signature, and the hash value generated from the transaction data b (step S805). When the transaction data 1 is generated, the communication device 24 broadcasts the transaction data 1 to all the computer devices 1 (step S806).

  FIG. 9 is a flowchart for explaining processing from the time when user A generates answer proof data for answering a question and broadcasts transaction data 2 generated based on the answer proof data.

  The user A performs a predetermined operation for answering the problem via an input / output interface (not shown) displayed on the display device 15A. This operation serves as a trigger for transaction 2 in which answer proof data for answering the problem by user A is recorded in the ledger, and corresponding transaction data 2 is generated. In response to the above operation, the communication device 14B transmits a secret key issue request to the certification authority device 2 (step S901). When the communication device 24 receives the secret key issue request, it transmits the format data encrypted with the secret key and the public key generated in step S803 in FIG. 8 (step S902). The communication device 24 broadcasts the generated public key to all the computer devices 1 (step S903).

  When the communication device 14A receives the secret key and the format data transmitted in step S902, the control device 11A generates answer proof data based on the format data (step S904). The answer proof data is data in which information answered by the respondent according to the format data is inserted. The information described above may be input by the user A through the input / output interface described above when answering the problem, or may be stored in the storage device 13B in advance.

  Since the information included in the answer proof data generated by the user A and the answer verification data generated by the user B are hashed according to the same format, the hash values match as long as both pieces of information match. The verifier (user C) who verifies the transaction data verifies the answer of the user A by confirming whether or not the two generated hash values are the same, and thus verifies the validity of the transaction. .

  When the answer proof data is generated, the control device 11A generates a hash value from the answer verification data, and generates a signature using the secret key transmitted in step S902. Further, a hash value is generated from the transaction data a described above. Then, the control device 11A generates transaction data 2 including the hash value generated from the answer verification data, the generated signature, and the hash value generated from the transaction data a (step S905). When the transaction data 2 is generated, the communication device 14B broadcasts the transaction data 2 to all the computer devices 1 (step S906).

  Through the processing described above, transaction data 1 and transaction data 2 are broadcast to all computer devices 1. Thereafter, the user C verifies whether the hash values included in both the transaction data 1 and the transaction data 2 match. That is, it is verified whether the answer of the user A with respect to the question matches. The specific verification process is the same as the process described with reference to FIG. 5 in the first embodiment, and a description thereof will be omitted.

  Similarly, in the third embodiment, the transaction data 1 generated from the confirmation user (user B) is generated by the certification authority device 2, but may be generated by the computer device 1B instead of the certification authority device 2. . In this case, the correct answer data is not transmitted to the certification authority device 2 in step S802, but a secret key issue request is transmitted. In response to this, the certification authority device 2 transmits the secret key and the format data to the computer device 1B, and the computer device 1B inserts the correct answer data into the format data to generate answer verification data. Thereafter, transaction data 1 is generated and broadcast in the same manner as the processing described in step S905 and step S906 described above.

  As described above, the distributed ledger verification system according to the third embodiment has been described. In the third embodiment, when verifying a transaction, the verifier is requested to determine whether or not the answer and the correct answer in a question such as a test are consistent. As a result, in the same way as described in the first embodiment, it is possible to reduce waste of computer resources and the like as compared with the conventional distributed ledger system.

  Also, neither the examinee nor the respondent can update the format data unless the secret key issued by the certification authority is used. That is, only users who have been authenticated by the certificate authority can answer questions, and only authenticated users can answer. With this configuration, it is possible to control the questioning authority of the questioning person and the answering authority of the respondent.

  Normally, a test period is set for the test. However, as described above, setting an expiration date in the format data makes it impossible to update the format data after the expiration date. This means that the user cannot answer after the expiration date. With this configuration, the test period can be substantially determined.

  In addition, when a problem is composed of a plurality of questions, a transaction may occur for each question, or a transaction may occur for a certain number of questions.

  In each of the transaction verifications described in the first to third embodiments, the correct answer to the question from one user matches the answer to the question from the other user. Is. In either case, the legitimacy of the transaction is verified by a third party confirming the consistency between the two. In other words, the distributed ledger verification system according to an embodiment of the present invention makes a confirmed person's answer unique to a confirmer's question (for example, a selection question, correct answers are unique numbers and characters, etc.) It may be applied to verification consisting of questions and answers.

  Further, as described in the second embodiment, the first correct answer to the first question from one user and the second correct answer to the second question from the certification authority may be included in the transaction data. . In the second embodiment, the example for the loan conditions has been described. However, the present invention is not limited to such an example, and the certification authority may supplement the correct answer to any question that the confirmer cannot know.

  Further, as described above, the data having the same data structure is hashed according to the format data in which the correct answer to the question from one user and the answer to the question of the other user are unified. Therefore, since the hash values of both data are compared, it is necessary that both data completely match. In consideration of this, for example, characters such as hiragana and katakana included in correct answers and / or answers are converted so that the correct answer and / or answer contents are not changed, so that both the forms of the letters and the like are matched. It may be converted. This conversion may be performed by the computer device 1 or the certificate authority device 2 based on a predetermined criterion defined in advance, for example. Further, the conversion standard may be defined in the format data.

  It should be noted that the hardware components described in the above embodiments are merely exemplary, and other configurations are possible. Further, the order of the processes described in the above embodiment is not necessarily executed in the order described, and may be executed in an arbitrary order. Furthermore, additional steps may be added without departing from the basic concept of the invention.

  The distributed ledger verification system according to an embodiment of the present invention is implemented by a program executed by the computer device 1 and / or the certification authority device 2, and the program is stored in a non-temporary storage medium. May be. Examples of non-transitory storage media include read only memory (ROM), random access memory (RAM), registers, cache memory, semiconductor memory devices, magnetic media such as internal hard disks and removable disk devices, magneto-optical media, and Including optical media such as CD-ROM discs and digital versatile discs (DVDs).

1 Computer device 2 Certification authority device 3 Network

Claims (6)

  1. A method performed by a computer device for recording the distributed register,
    The method comprising: receiving a first transaction data broadcast by the first computer device, the first transaction data, first generated based on the positive answer against the question physicians from the first user A step including a hash value of 1 and associated with past transaction data;
    And receiving a second transaction data broadcast by the second computing device, the second transaction data, first generated based on the answers from the second user to the previous Kitoi doctor the second hash value seen including, associated with past transaction data, the steps,
    Comparing the first hash value included in the first transaction data with the second hash value included in the second transaction data;
    If the comparisons match, recording the first transaction data in the distributed ledger and recording the second transaction data in the distributed ledger;
    Method characterized by comprising a.
  2. A method for recording in a distributed ledger,
    By the first computing device,
    Generating a first hash value based on a correct answer to the question from the first user;
    Generating first transaction data including the first hash value, wherein the first transaction data is associated with past transaction data;
    Broadcasting the first transaction data;
    By the second computing device,
    Generating a second hash value based on an answer from a second user, wherein the answer is an answer to the question; and
    Generating second transaction data including the second hash value, wherein the second transaction data is associated with past transaction data;
    Broadcasting the second transaction data;
    By a third computing device
    Receiving the first transaction data and the second transaction data;
    Comparing the first hash value included in the first transaction data with the second hash value included in the second transaction data;
    Recording the first transaction data in the distributed ledger and recording the second transaction data in the distributed ledger if the comparisons match .
  3. The first computing device is a certificate authority device;
    Generating the first hash value includes applying format data to the correct answer, and generating the first hash value based on the correct answer to which the format data is applied;
    Generating the second hash value includes applying format data to the answer and generating the second hash value based on the answer to which the format data is applied;
    The method according to claim 2.
  4. The first computing device is a certificate authority device;
    The method
    Generating a second correct answer to a second question by the first computing device ;
    The step of generating the first hash value includes the step of generating the first hash value based on the correct answer and the second correct answer.
    The method according to claim 2 or 3, characterized in that
  5. The method
    By the first computing device,
    Generating a private and public key pair;
    Encrypting the format data using the public key;
    Transmitting the secret key and the format data to the second computing device;
    Further comprising
    The step of generating the second hash value applies the format data sent by the first computing device to the answer, and based on the answer to which the format data is applied, the second hash Includes generating values
    The method according to claim 3.
  6. A computer program comprising computer-executable instructions that, when executed by a processor, cause a computer device to perform the method of any one of claims 1-5 .
JP2018065807A 2018-03-29 2018-03-29 Correct / error judgment and result sharing system on blockchain Active JP6438615B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018065807A JP6438615B1 (en) 2018-03-29 2018-03-29 Correct / error judgment and result sharing system on blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018065807A JP6438615B1 (en) 2018-03-29 2018-03-29 Correct / error judgment and result sharing system on blockchain

Publications (2)

Publication Number Publication Date
JP6438615B1 true JP6438615B1 (en) 2018-12-19
JP2019176432A JP2019176432A (en) 2019-10-10

Family

ID=64668444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018065807A Active JP6438615B1 (en) 2018-03-29 2018-03-29 Correct / error judgment and result sharing system on blockchain

Country Status (1)

Country Link
JP (1) JP6438615B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017079795A1 (en) * 2015-11-09 2017-05-18 Roger Hanna A distributed user profile identity verification system for e-commerce transaction security
WO2017090329A1 (en) * 2015-11-24 2017-06-01 ソニー株式会社 Information processing device, information processing method, and program
US20170279801A1 (en) * 2016-03-28 2017-09-28 Black Gold Coin, Inc. Systems and methods for providing block chain-based multifactor personal identity verification
US20170317997A1 (en) * 2016-04-30 2017-11-02 Civic Technologies, Inc. Methods and systems of providing verification of the identity of a digital entity using a centralized or distributed ledger
WO2018043599A1 (en) * 2016-08-30 2018-03-08 ソラミツ株式会社 Information sharing system
US20180082256A1 (en) * 2016-09-19 2018-03-22 Sap Se Decentralized credentials verification network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017079795A1 (en) * 2015-11-09 2017-05-18 Roger Hanna A distributed user profile identity verification system for e-commerce transaction security
WO2017090329A1 (en) * 2015-11-24 2017-06-01 ソニー株式会社 Information processing device, information processing method, and program
US20170279801A1 (en) * 2016-03-28 2017-09-28 Black Gold Coin, Inc. Systems and methods for providing block chain-based multifactor personal identity verification
US20170317997A1 (en) * 2016-04-30 2017-11-02 Civic Technologies, Inc. Methods and systems of providing verification of the identity of a digital entity using a centralized or distributed ledger
WO2018043599A1 (en) * 2016-08-30 2018-03-08 ソラミツ株式会社 Information sharing system
US20180082256A1 (en) * 2016-09-19 2018-03-22 Sap Se Decentralized credentials verification network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
小口 直樹 ほか: "研究開発最前線", FUJITSU, vol. Vol.68 No.5, JPN6018034289, 1 September 2017 (2017-09-01), pages pp.85−94 *

Also Published As

Publication number Publication date
JP2019176432A (en) 2019-10-10

Similar Documents

Publication Publication Date Title
US10237259B2 (en) Systems and methods for distributed identity verification
JP2018537022A (en) System and method for managing digital identities
Turkanović et al. EduCTX: A blockchain-based higher education credit platform
Yu et al. Cloud data integrity checking with an identity-based auditing mechanism from RSA
US20170330179A1 (en) Method for issuing authentication information and blockchain-based server using the same
Ølnes et al. Blockchain in government: Benefits and implications of distributed ledger technology for information sharing
US20180359092A1 (en) Method for managing a trusted identity
Yaga et al. Blockchain technology overview
US20170243193A1 (en) Hybrid blockchain
Cruz et al. RBAC-SC: Role-based access control using smart contract
Grech et al. Blockchain in education
KR20180112027A (en) Copyright management method and system
Krombholz et al. The other side of the coin: User experiences with bitcoin security and privacy
Yli-Huumo et al. Where is current research on blockchain technology?—a systematic review
Niranjanamurthy et al. Analysis of blockchain technology: pros, cons and SWOT
US7788729B2 (en) Method and system for integrating multiple identities, identity mechanisms and identity providers in a single user paradigm
KR101071790B1 (en) Assertion message signatures
WO2017139112A1 (en) Methods and systems for using digital signatures to create trusted digital asset transfers
US20110055585A1 (en) Methods and Systems to Create Big Memorizable Secrets and Their Applications in Information Engineering
Roe Cryptography and evidence
JP2004023796A (en) Selectively disclosable digital certificate
JP2009527984A (en) Account link with private key
EP3396576B1 (en) Client apparatus, server apparatus and access control system for authorized access
US20190244186A1 (en) Electronic bill management method, apparatus, and storage medium
Hasan et al. Combating deepfake videos using blockchain and smart contracts

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180329

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180620

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181018

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181116

R150 Certificate of patent or registration of utility model

Ref document number: 6438615

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150