WO2021100831A1 - 制御方法、装置、及び、プログラム - Google Patents

制御方法、装置、及び、プログラム Download PDF

Info

Publication number
WO2021100831A1
WO2021100831A1 PCT/JP2020/043283 JP2020043283W WO2021100831A1 WO 2021100831 A1 WO2021100831 A1 WO 2021100831A1 JP 2020043283 W JP2020043283 W JP 2020043283W WO 2021100831 A1 WO2021100831 A1 WO 2021100831A1
Authority
WO
WIPO (PCT)
Prior art keywords
transaction data
transaction
pros
cons
report
Prior art date
Application number
PCT/JP2020/043283
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 CN202080079762.9A priority Critical patent/CN114730436A/zh
Priority to JP2021558459A priority patent/JPWO2021100831A1/ja
Publication of WO2021100831A1 publication Critical patent/WO2021100831A1/ja
Priority to US17/738,419 priority patent/US20220270102A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions

Definitions

  • This disclosure relates to control methods, devices, and programs.
  • Patent Document 1 analyzes transaction data, compares the analyzed transaction data with the fraudulent trader data stored in the fraudulent trader database, and warns when the same data is partially detected.
  • the fraudulent transaction detection system is disclosed.
  • Patent Document 1 requires a certain level of accuracy or higher in the fraudulent trader database for detecting fraudulent transactions, so that there is a problem that it is difficult to properly detect fraudulent transactions.
  • the present disclosure has been made in view of the above circumstances, and an object of the present disclosure is to provide a control method, a server, and a program capable of appropriately detecting fraudulent transactions.
  • the control method is a control method executed by one of the plurality of devices in a fraudulent transaction reporting system in electronic transactions including a plurality of devices having a distributed ledger.
  • the report transaction data including the report information indicating the report of suspicion that the transaction is fraudulent is acquired, the acquired report transaction data is transferred to a plurality of other devices among the plurality of devices, and the report transaction is performed.
  • the data is stored in the distributed ledger of the one device, the pros and cons transaction data including the pros and cons information for the report is acquired, the acquired pros and cons transaction data is transferred to the plurality of other devices, and the pros and cons transaction data. Is stored in the distributed ledger of the one device, and it is determined whether or not the notification is correct based on the pros and cons information included in the pros and cons transaction data.
  • FIG. 1 is a diagram showing an example of the configuration of the management system according to the first embodiment.
  • FIG. 2 is a diagram showing an example of the configuration of the transaction server according to the first embodiment.
  • FIG. 3 is a diagram showing an example of the configuration of the terminal according to the first embodiment.
  • FIG. 4 is a sequence diagram showing a first example of fraudulent transaction detection processing of the management system according to the first embodiment.
  • FIG. 5 is a sequence diagram showing a first example of fraudulent transaction detection processing of the management system according to the first embodiment.
  • FIG. 6 is a sequence diagram showing a second example of fraudulent transaction detection processing of the management system according to the first embodiment.
  • FIG. 7 is a sequence diagram showing a second example of fraudulent transaction detection processing of the management system according to the first embodiment.
  • FIG. 1 is a diagram showing an example of the configuration of the management system according to the first embodiment.
  • FIG. 2 is a diagram showing an example of the configuration of the transaction server according to the first embodiment.
  • FIG. 3 is a diagram showing an example
  • FIG. 8 is a flowchart showing an example of the aggregation process according to the first embodiment.
  • FIG. 9 is a sequence diagram showing a third example of fraudulent transaction detection processing of the management system according to the first embodiment.
  • FIG. 10 is a diagram showing an example of the configuration of the management system according to the second embodiment.
  • FIG. 11 is a diagram showing an example of the configuration of the terminal according to the second embodiment.
  • FIG. 12 is a sequence diagram showing a first example of fraudulent transaction detection processing of the management system according to the second embodiment.
  • FIG. 13 is a sequence diagram showing a first example of fraudulent transaction detection processing of the management system according to the second embodiment.
  • FIG. 14 is a sequence diagram showing a second example of fraudulent transaction detection processing of the management system according to the second embodiment.
  • FIG. 15 is a sequence diagram showing a second example of fraudulent transaction detection processing of the management system according to the second embodiment.
  • FIG. 16 is a sequence diagram showing a third example of fraudulent transaction detection processing of the management system according to the second embodiment.
  • the control method is a control method executed by one of the plurality of devices in a fraudulent transaction reporting system in electronic transactions including a plurality of devices having a distributed ledger.
  • the report transaction data including the report information indicating the report of suspicion that the transaction is fraudulent is acquired, the acquired report transaction data is transferred to a plurality of other devices among the plurality of devices, and the report transaction is performed.
  • the data is stored in the distributed ledger of the one device, the pros and cons transaction data including the pros and cons information for the report is acquired, the acquired pros and cons transaction data is transferred to the plurality of other devices, and the pros and cons transaction data. Is stored in the distributed ledger of the one device, and it is determined whether or not the notification is correct based on the pros and cons information included in the pros and cons transaction data.
  • a plurality of pros and cons transaction data are acquired from a plurality of terminals owned by the plurality of users, and in the determination, based on the plurality of pros and cons information included in the plurality of pros and cons transaction data.
  • the number of approval / disapproval information indicating approval is larger than the predetermined threshold value among the plurality of approval / disapproval information, it is determined that the notification is correct, and when the number of approval / disapproval information indicating approval is less than the predetermined threshold value. It may be determined that the report is incorrect.
  • first token transaction data including the amount of the first token given to each of the plurality of users who have transmitted the plurality of pros and cons transaction data is transmitted to the plurality of other devices, and the first is said.
  • One token transaction data may be stored in the distributed ledger of the one device.
  • the first reliability is updated so that the first reliability of each of the plurality of users who have transmitted the plurality of pros and cons transaction data becomes large, and the first trust including the updated first reliability is added.
  • the transaction data is transferred to the plurality of other devices, and the first reliability transaction data is stored in the distributed ledger of the one device.
  • the number of approvals is set to the first reliability. It may be calculated using the weight based on it.
  • the transaction may be canceled.
  • the second token transaction data including the amount of the second token given to the whistleblower who is the user who transmitted the notification transaction data is added to the plurality of other data.
  • the second token transaction data may be transmitted to the device and stored in the distributed ledger of the one device.
  • the plurality of third token transaction data including the amount of the third token to be charged to the whistleblower who is the user who transmitted the notification transaction data.
  • the third token transaction data may be transmitted to another device and stored in the distributed ledger of the one device.
  • the reliability is updated so that the reliability of the whistleblower who is the user who transmitted the notification transaction data is increased, and the updated reliability is determined.
  • the reliability transaction data including is transferred to the plurality of other devices, and the reliability transaction data is stored in the distributed ledger of the one device. In the determination, the distributed ledger stored in the distributed ledger is used.
  • the predetermined threshold value set to a smaller value as the updated reliability of the whistleblower is larger may be used.
  • the application information including the amount of the fourth token for the transaction is acquired from the terminal operated by the applicant for the transaction and the notification for the transaction is not made, or the notification is made. If it is determined that the information is not correct, the same amount of tokens as the amount of the fourth token is returned to the applicant, and if there is the notification for the transaction and the notification is determined to be correct, the above. It is not necessary to return the same amount of tokens as the amount of the fourth token to the applicant.
  • the amount of the fourth token may be set to an amount according to the reliability determined by the applicant.
  • each of the plurality of distributed ledgers held by the plurality of devices executes the determination based on the execution transaction data.
  • the determination when the execution transaction data is acquired, the determination may be executed by executing the contract code included in the distribution ledger of the one device.
  • the pros and cons information included in the pros and cons transaction data is encrypted, and a request for requesting a decryption key for decrypting the encrypted pros and cons information from the device or terminal that has transmitted the pros and cons transaction data.
  • the decryption key is acquired from the device or the terminal, the encrypted pros and cons information is decrypted by the decryption key, and whether the notification is correct based on the decrypted pros and cons information. It may be determined whether or not.
  • the request transaction data including the request information is transmitted to the plurality of other devices, and the request transaction data is stored in the distributed ledger of the one device, and the decryption key is used.
  • the decryption key transaction data including the decryption key may be acquired from the plurality of other devices, and the decryption key transaction data may be stored in the distributed ledger of the one device.
  • the device is one of the plurality of devices in a fraudulent transaction reporting system in electronic transactions including a plurality of devices having a distributed ledger, and includes a processor and a memory.
  • the processor uses the memory to acquire notification transaction data including notification information indicating a notification of suspicion that the transaction is fraudulent, and the acquired notification transaction data is used in a plurality of the plurality of devices.
  • the report transaction data is transferred to another device, the report transaction data is stored in the distributed ledger of the one device, the pros and cons transaction data including the pros and cons information for the report is acquired, and the acquired pros and cons transaction data is stored in the plurality of pros and cons transaction data. It is transferred to another device, the pros and cons transaction data is stored in the distributed ledger of the one device, and it is determined whether or not the notification is correct based on the pros and cons information included in the pros and cons transaction data.
  • a control method executed by one of the plurality of devices is executed on a computer. It is a program for causing the user to acquire report transaction data including report information indicating a report of suspicion that the transaction is fraudulent, and transfer the acquired report transaction data to a plurality of other devices among the plurality of devices.
  • the report transaction data is stored in the distributed ledger of the one device, the pros and cons transaction data including the pros and cons information for the report is acquired, and the acquired pros and cons transaction data is transferred to the plurality of other devices.
  • the pros and cons transaction data is stored in the distributed ledger of the one device, and the computer is made to determine whether or not the notification is correct based on the pros and cons information included in the pros and cons transaction data. It is a program of.
  • the management system according to the present disclosure is equipped with three or more terminals used by each user and one or more authentication servers, audits the contract, that is, the contract contents of the newly concluded contract, and receives the audit result. Store the activated contract in the ledger.
  • FIG. 1 is a diagram showing an example of the configuration of the management system according to the first embodiment.
  • the management system includes, for example, a transaction server 10 and terminals 20a to 20x. These are connected by network N.
  • the network N is, for example, the Internet, a carrier network of a mobile phone, or the like, but may be composed of any communication line or network.
  • each of the terminals 20a to 20x is also referred to as a terminal 20, but the terminals 20a to 20x may be referred to as terminals A to X.
  • the transaction server 10 is an example of one of a plurality of devices having a distributed ledger.
  • the trading server 10 is a server managed by a trading business operator.
  • a trading business operator is, for example, a business operator that provides an electronic commerce service to a plurality of users.
  • the electronic commerce service may include, for example, a service for a transaction between a business operator and an individual, or may include a service for a transaction between an individual and an individual. That is, the electronic commerce service may include a service for transactions between a plurality of users.
  • the transaction by the electronic commerce service may be a transaction for exchanging goods for tokens or a transaction for exchanging services for tokens between users.
  • FIG. 2 is a diagram showing an example of the configuration of the transaction server 10 according to the first embodiment.
  • the transaction server 10 includes a communication unit 101, a determination unit 102, an information generation unit 103, a transaction data generation unit 104, a transaction data verification unit 105, a recording unit 106, and a distributed ledger 107. And.
  • the trading server 10 can be realized by the processor executing a predetermined program using the memory.
  • each component will be described.
  • the communication unit 101 receives the report transaction data including the report information from the terminal 20.
  • the communication unit 101 acquires the report information by receiving the report transaction data from the terminal 20.
  • the report information is information indicating a report of suspicion that the transaction is fraudulent.
  • the notification information includes, for example, transaction identification information and fraudulent information indicating that the transaction indicated by the transaction identification information is suspected of being fraudulent.
  • the report information may further include user identification information that identifies the user who made the report.
  • the user identification information may be the electronic signature of the user who made the report.
  • the fraudulent information not only indicates that the target transaction is suspected of being fraudulent, but may also indicate the content of the fraudulent information.
  • the content of fraud is, for example, that the substance of the goods or services to be traded is different from the name of the trade, and the price set for the goods or services to be traded is standard. For example, it deviates from the price.
  • the deviation from the standard price means that, for example, the difference between the set price and the standard price is larger than the price of a predetermined ratio of the standard price.
  • the standard price may be calculated based on the track record of past transactions of the same, similar or equivalent goods or services as the goods or services.
  • Transaction identification information is information that identifies the transaction handled in the transaction service.
  • the transaction identification information may be, for example, a transaction ID, or may be a combination of a user ID of a user who provides the goods or services to be traded and a serial number of the goods or services handled by the user. Good.
  • the communication unit 101 may directly receive the report information from the terminal 20.
  • the communication unit 101 receives the pros and cons transaction data including the pros and cons information from the terminal 20.
  • the communication unit 101 receives a plurality of pros and cons transaction data from the plurality of terminals 20. That is, the communication unit 101 acquires a plurality of pros and cons transaction data by receiving the pros and cons transaction data from each terminal 20.
  • the pros and cons information is information indicating the pros and cons of the report, that is, information indicating whether the report is for or against.
  • the pros and cons information includes information indicating the pros and cons of the report by the user of the terminal 20.
  • the pros and cons information includes, for example, report identification information that identifies the report information indicating the report to be approved or disapproved, and information indicating the pros and cons of the report.
  • the pros and cons information may further include user identification information that identifies the user who has made the pros and cons determination.
  • the user identification information may be the electronic signature of the user who has determined the approval or disapproval. Pros and cons information may indicate unclear as well as for and against.
  • the pros and cons information may be encrypted.
  • the pros and cons information may be encrypted by, for example, a private key held by the terminal 20 that has transmitted the pros and cons transaction data including the pros and cons information.
  • the communication unit 101 may directly receive the pros and cons information from the plurality of terminals 20.
  • the communication unit 101 transmits the request transaction data including the request information to the plurality of terminals 20.
  • the request information is information for requesting a decryption key for decrypting the encrypted pros and cons information from a plurality of terminals 20 that have transmitted pros and cons transaction data including the pros and cons information.
  • the decryption key to be requested may be, for example, a public key that is paired with the private key held by each terminal 20.
  • the communication unit 101 may directly transmit the request information to each terminal 20.
  • the communication unit 101 receives the decryption key transaction data including the decryption key. Specifically, the communication unit 101 acquires the decryption key from the plurality of terminals 20 by transmitting the request transaction data including the request information to the plurality of terminals 20. The communication unit 101 may directly receive the decryption key from the plurality of terminals 20.
  • the communication unit 101 transmits the first token transaction data including the amount of the first token to the plurality of terminals 20.
  • the amount of the first token indicates the amount of tokens given to a plurality of voters who are a plurality of users who have transmitted a plurality of pros and cons transaction data.
  • the amount of the first token indicates the amount of tokens to pass to multiple voters.
  • the amount of the first token indicates the amount of tokens given to one voter when there is one user who has transmitted the pros and cons transaction data.
  • the communication unit 101 transmits the second token transaction data including the amount of the second token to the plurality of terminals 20.
  • the amount of the second token indicates the amount of tokens given to the whistleblower who is the user who transmitted the whistleblower transaction data. In other words, the amount of the second token indicates the amount of tokens to give to the whistleblower.
  • the communication unit 101 transmits the third token transaction data including the amount of the third token to the plurality of terminals 20.
  • the third token amount indicates the amount of tokens to be collected from the whistleblower who is the user who transmitted the whistleblower transaction data. In other words, the amount of the third token indicates the amount of tokens received from the whistleblower.
  • the communication unit 101 exchanges each transaction data with a plurality of terminals 20. Specifically, the communication unit 101 transfers each transaction data to a plurality of terminals 20 and receives each transaction data transferred from the plurality of terminals 20.
  • Each transaction data includes one of reporting transaction data, pros and cons transaction data, request transaction data, decryption key transaction data, first token transaction data, second token transaction data, and third token transaction data.
  • the communication unit 101 communicates with the plurality of terminals 20 via the network N.
  • This communication may be performed by TLS (Transport Layer Security), and the encryption key for TLS communication may be held by the communication unit 101.
  • TLS Transport Layer Security
  • the determination unit 102 determines whether or not the report indicated by the report information included in the report transaction data acquired by the communication unit 101 is correct or not, based on the pros and cons information included in the pros and cons transaction data acquired by the communication unit 101. To do. Specifically, the determination unit 102 determines the number of pros and cons information indicating approval among the plurality of pros and cons information based on the plurality of pros and cons information included in the plurality of pros and cons transaction data acquired by the communication unit 101. If the number is greater than the threshold value of, the report is determined to be correct, and if the number of approval / disapproval information indicating approval is less than the predetermined threshold value, the report is determined to be incorrect.
  • the transaction server 10 collects a plurality of approval / disapproval information from a plurality of terminals 20, and a plurality of users accept votes for approval / disapproval of the report, and the report is correct when the number of approval votes exceeds a predetermined threshold value in the voting result. If the number of votes in favor is less than the predetermined threshold value, it is determined that the report is incorrect. If the approval vote is equal to the predetermined threshold value, it may be determined that the report is correct, the report may be determined to be incorrect, or it may be determined that the report is unknown.
  • the predetermined threshold value may be, for example, the number of pros and cons transaction data acquired by the communication unit 101, or a majority calculated based on the number of pros and cons information, the number of pros and cons transaction data, or the pros and cons information. It may be a number calculated by multiplying the number of.
  • the predetermined ratio may be, for example, a fixed value of 40% to 60%, or a variable value of 40% to 60% that fluctuates according to a predetermined condition.
  • the information generation unit 103 generates, for example, request information. Further, the information generation unit 103 generates, for example, the amount of the first token. In addition, the information generation unit 103 generates, for example, the amount of the second token. Further, the information generation unit 103 generates, for example, the amount of the third token. The detailed description of the request information, the amount of the first token, the amount of the second token, and the amount of the third token will be omitted because they have been described above.
  • Transaction data generator 104 generates request transaction data.
  • the transaction data generation unit 104 generates request transaction data including the request information generated by the information generation unit 103.
  • the transaction data generation unit 104 generates the first token transaction data.
  • the transaction data generation unit 104 generates first token transaction data including the amount of the first token generated by the information generation unit 103.
  • the first token transaction data may include user identification information that identifies a user who is a voter, in addition to the amount of the first token.
  • the transaction data generation unit 104 generates the second token transaction data.
  • the transaction data generation unit 104 generates the second token transaction data including the amount of the second token generated by the information generation unit 103.
  • the second token transaction data may include user identification information that identifies the user who is the whistleblower, in addition to the amount of the second token.
  • the transaction data generation unit 104 generates the third token transaction data.
  • the transaction data generation unit 104 generates third token transaction data including the amount of the third token generated by the information generation unit 103.
  • the third token transaction data may include user identification information that identifies the user who is the whistleblower, in addition to the amount of the third token.
  • the transaction data generation unit 104 transmits the generated request transaction data to the plurality of terminals 20 via the communication unit 101. Further, the transaction data generation unit 104 transmits the generated first token transaction data to the plurality of terminals 20 via the communication unit 101. Further, the transaction data generation unit 104 transmits the generated second token transaction data to the plurality of terminals 20 via the communication unit 101. Further, the transaction data generation unit 104 transmits the generated third token transaction data to the plurality of terminals 20 via the communication unit 101.
  • Transaction data verification unit 105 When the communication unit 101 receives the transaction data, the transaction data verification unit 105 verifies the validity of the transaction data. For example, the transaction data verification unit 105 verifies whether the transaction data received by the communication unit 101 is given an electronic signature generated by a correct method. Note that this verification may be skipped.
  • the transaction data received by the communication unit 101 is any one of reporting transaction data, pros and cons transaction data, request transaction data, decryption key transaction data, first token transaction data, second token transaction data, and third token transaction data. Is.
  • the transaction data verification unit 105 executes a consensus algorithm for agreeing on the validity of the transaction data together with the plurality of terminals 20.
  • PBFT Practical Byzantine Fault Tolerance
  • Known consensus algorithms include, for example, PoW (Proof of Work) or PoS (Proof of Stake).
  • PoW Proof of Work
  • PoS Proof of Stake
  • the transaction data verification unit 105 receives a report indicating whether or not the transaction data verification is successful from each of the plurality of terminals 20, and whether the number of such reports exceeds a predetermined number. Judge whether or not. Then, when the number of the reports exceeds a predetermined number, the transaction data verification unit 105 may determine that the validity of the transaction data has been verified by the consensus algorithm.
  • the transaction data verification unit 105 When the transaction data verification unit 105 confirms the validity of the transaction data, the transaction data verification unit 105 causes the recording unit 106 to record the transaction data.
  • the transaction data verification unit 105 receives the notification transaction data, the pros and cons transaction data, the request transaction data, the decryption key transaction data, the first token transaction data, the second token transaction data, and the third communication unit 101. Verify the validity of token transaction data.
  • the recording unit 106 records transaction data by including the transaction data whose validation has been verified by the transaction data verification unit 105 in a block and storing it in the distributed ledger 107.
  • the recording unit 106 may have a distributed ledger 107 internally.
  • the distributed ledger 107 includes report transaction data including transaction information and report information, pros and cons transaction data including report information and pros and cons information, request transaction data including request information, decryption key transaction data including decryption key, and amount of first token. Contains first token transaction data including, second token transaction data including the amount of the second token, and third token transaction data including the amount of the third token.
  • terminals 20a to 20x will be described. Since the configurations of the terminals 20a to 20x are common, they will be referred to as terminals 20.
  • the terminal 20 is an example of a terminal used by a user.
  • the terminal 20 may be, for example, a personal computer or a mobile terminal such as a smartphone or tablet.
  • the plurality of terminals 20 are terminals used by a plurality of users who are using the electronic commerce service provided by the transaction server 10.
  • the plurality of users include, for example, a first user who provides goods or services to be traded, and a second user who trades with goods or services provided by the first user.
  • the first user is, for example, a seller of goods or services
  • the second user is, for example, a purchaser of goods or services.
  • FIG. 3 is a diagram showing an example of the configuration of the terminal 20 according to the first embodiment.
  • the terminal 20 includes a communication unit 201, an input unit 202, a display unit 203, an information generation unit 204, a transaction data generation unit 205, a transaction data verification unit 206, a recording unit 207, and the like. It includes a distributed ledger 208 and a storage unit 209.
  • the communication unit 201 transmits information to the transaction server 10 or another terminal 20 via the network N, and receives or is notified of information from the transaction server 10 or another terminal 20.
  • the information to be exchanged includes various transaction data.
  • the communication unit 201 communicates with the transaction server 10 or another terminal 20 via the network N.
  • This communication may be performed by TLS (Transport Layer Security), and the encryption key for TLS communication may be held by the communication unit 201.
  • TLS Transport Layer Security
  • the input unit 202 accepts information input by the user's operation.
  • the input unit 202 displays the received information input on the display unit 203, transmits it to the information generation unit 204, and transmits it to the communication unit 201.
  • the input unit 202 may accept an input indicating that the transaction provided by the transaction server 10 is suspected of being fraudulent as a report.
  • the input unit 202 may accept the user's electronic signature together with the notification in the display (UI: User Interface) indicating the transaction.
  • the input unit 202 transmits the received report and the user's electronic signature to the information generation unit 204.
  • the input unit 202 accepts the input to the display (UI) for confirming the approval or disapproval of the notification indicated by the notification information to the user of the terminal 20 as the result of the approval or disapproval by the user.
  • This display (UI) is displayed on the display unit 203.
  • the input unit 202 may accept the user's electronic signature.
  • the input unit 202 transmits the received approval / disapproval result and the user's electronic signature to the information generation unit 204.
  • the display unit 203 displays the information input received by the input unit 202.
  • the display unit 203 displays the information transmitted from the transaction server 10.
  • the display unit 203 may display a display (UI: User Interface) indicating a transaction. Further, for example, the display unit 203 displays a display (UI) for confirming with the user of the terminal 20 the approval or disapproval of the report indicated by the report information.
  • UI User Interface
  • the information generation unit 204 generates, for example, report information.
  • the information generation unit 204 generates, for example, pros and cons information.
  • the information generation unit 204 may encrypt the pros and cons information.
  • the information generation unit 204 may encrypt the pros and cons information using, for example, the private key of the terminal 20 stored in the storage unit 209. The detailed description of the report information and the pros and cons information will be omitted because they have been described above.
  • the transaction data generation unit 205 generates report transaction data.
  • the transaction data generation unit 205 generates notification transaction data including the notification information generated by the information generation unit 204.
  • the transaction data generation unit 205 generates pros and cons transaction data.
  • the transaction data generation unit 205 generates the pros and cons transaction data including the pros and cons information generated by the information generation unit 204.
  • the transaction data generation unit 205 generates the decryption key transaction data.
  • the transaction data generation unit 205 generates the decryption key transaction data including the decryption key of the terminal 20 stored in the storage unit 209.
  • the decryption key transaction data may include user identification information that identifies the user of the terminal 20 in addition to the decryption key.
  • the user identification information may be the electronic signature of the user of the terminal 20.
  • the decryption key is, for example, a public key that is paired with the private key stored in the terminal 20.
  • the transaction data generation unit 205 transmits the generated report transaction data to the transaction server 10 via the communication unit 201. Further, the transaction data generation unit 205 transmits the generated pros and cons transaction data to the transaction server 10 via the communication unit 201.
  • Transaction data verification unit 206 When the communication unit 201 receives the transaction data, the transaction data verification unit 206 verifies the validity of the transaction data. Note that this verification may be skipped.
  • the transaction data verification unit 206 executes a consensus algorithm for agreeing on the validity of the transaction data together with the other terminal 20 and the transaction server 10.
  • the transaction data verification unit 206 confirms the validity of the transaction data
  • the transaction data verification unit 206 causes the recording unit 207 to record the transaction data.
  • the transaction data verification unit 206 includes the report transaction data, the pros and cons transaction data, the request transaction data, the decryption key transaction data, the first token transaction data, the second token transaction data, and the third token transaction data received by the communication unit 201. Verify the validity of token transaction data.
  • the transaction data verification unit 206 executes a consensus algorithm for agreeing on the validity of each transaction data. Then, when the transaction data verification unit 206 confirms the validity of each transaction data, the transaction data verification unit 206 causes the recording unit 207 to record each transaction data.
  • the recording unit 207 records the transaction data by including the transaction data whose validation has been verified by the transaction data verification unit 206 in a block and storing the transaction data in the distribution ledger 208.
  • the recording unit 207 may have a distributed ledger 208 internally configured.
  • the distributed ledger 208 contains report transaction data including transaction information and report information, pros and cons transaction data including report information and pros and cons information, request transaction data including request information, decryption key transaction data including decryption key, and amount of first token. Contains first token transaction data including, second token transaction data including the amount of the second token, and third token transaction data including the amount of the third token.
  • the storage unit 209 stores an encryption key for encrypting the terminal 20 and a decryption key for decrypting the data encrypted with the encryption key.
  • the encryption key and the decryption key are in a paired relationship.
  • the encryption key is, for example, a private key
  • the decryption key is, for example, a public key.
  • FIG. 4 and 5 are sequence diagrams showing a first example of fraudulent transaction detection processing of the management system according to the first embodiment.
  • FIG. 5 shows a continuation of the process of FIG.
  • Terminal A, terminal B, and terminal C shown in FIGS. 4 and 5 are terminals 20 operated by user A, user B, and user C, respectively. That is, the terminal A, the terminal B, and the terminal C are included in the plurality of terminals 20.
  • the terminal A is a terminal that is authenticated by using the user ID of the user A to the electronic commerce service provided by the transaction server 10.
  • the terminal B is a terminal that is authenticated by using the user ID of the user B to the electronic commerce service provided by the transaction server 10.
  • the terminal C is a terminal that is authenticated by using the user ID of the user C to the electronic commerce service provided by the transaction server 10.
  • the user C of the terminal C uses the terminal C to input indicating that one of the plurality of transactions handled by the electronic commerce service is suspected of being fraudulent. That is, the user C is a whistleblower who makes a report.
  • user A and user B are voters who vote for or against.
  • the terminal C transmits the report transaction data including the report information generated based on the input to the transaction server 10 (S101).
  • the transaction server 10 transfers the report transaction data received from the terminal C to a plurality of terminals 20 including the terminal C (S102).
  • the transaction server 10 and the plurality of terminals 20 execute the consensus algorithm, generate a block containing the report transaction data, and store it in the distributed ledgers 107 and 208 (S103).
  • each of the terminal A and the terminal B generates the pros and cons transaction data, and transmits the pros and cons transaction data to the transaction server 10 (S104, S105).
  • the terminal A displays a display (UI) for confirming the approval or disapproval of the notification indicated by the notification information included in the notification transaction data, so that the user A can see the approval or disapproval of the notification. Prompt for input.
  • the terminal A receives the input of the pros and cons from the user A to generate the pros and cons information, and generates the pros and cons transaction data including the generated pros and cons information.
  • the pros and cons transaction data is generated by performing the same processing on the terminal B as well.
  • the transaction server 10 transfers the pros and cons transaction data received from the terminal A and the pros and cons transaction data received from the terminal B to a plurality of terminals 20 including the terminal A and the terminal B (S106).
  • the transaction server 10 and the plurality of terminals 20 execute a consensus algorithm, generate a block containing the pros and cons transaction data, and store it in the distributed ledgers 107 and 208 (S107).
  • the pros and cons transaction data received from the terminal A and the pros and cons transaction data received from the terminal B may be processed together or individually.
  • the transaction server 10 determines whether or not the voting end condition is satisfied (S108).
  • the voting end condition is that the voting deadline after the date and time set based on the date and time when the notification was made has passed. Specifically, the voting deadline is set to a date and time after a predetermined period from the date and time when the report was made. The voting deadline may be indicated by a predetermined period, or may be indicated by a date and time after the predetermined period. The date and time when the report was made may be, for example, the date and time when the report information was generated, or the date and time when the transaction server 10 received the report transaction data. Further, the voting end condition is that the number of reported transaction data received by the transaction server 10 reaches a predetermined number. The predetermined number may be a predetermined ratio of the number of users other than the whistleblower.
  • the transaction server 10 executes the process of the next step S109, and when it is determined that the voting end condition is not satisfied (No in S108), the terminal A And the reception of the pros and cons transaction data from the terminal B, the transfer, and the execution of the consensus algorithm are awaited.
  • step S109 the transaction server 10 generates request transaction data and transmits the request transaction data to a plurality of terminals 20 (S109).
  • the transaction server 10 and the plurality of terminals 20 execute the consensus algorithm, generate a block containing the request transaction data, and store it in the distributed ledgers 107 and 208 (S110).
  • each of the terminal A and the terminal B generates the decryption key transaction data and transmits the decryption key transaction data to the transaction server 10 (S111, S112).
  • the terminal A generates decryption key transaction data including the decryption key stored in the storage unit 209 according to the request information included in the request transaction data.
  • the decryption key transaction data is generated by performing the same processing on the terminal B as well.
  • the transaction server 10 transfers the decryption key transaction data received from the terminal A and the decryption key transaction data received from the terminal B to a plurality of terminals 20 including the terminal A and the terminal B (S113).
  • the transaction server 10 and the plurality of terminals 20 execute a consensus algorithm, generate a block containing the decryption key transaction data, and store it in the distributed ledgers 107 and 208 (S114).
  • the transaction server 10 aggregates the voting results using the pros and cons transaction data and the decryption key transaction data acquired from each of the terminal A and the terminal B (S115). Specifically, the transaction server 10 uses the decryption key included in the decryption key transaction data acquired from each terminal 20 to decrypt the encrypted pros and cons information included in the pros and cons transaction data acquired from the terminal 20. .. The transaction server 10 adds 1 to the approval count value, for example, when the decrypted approval / disapproval information indicates approval. Further, the transaction server 10 may add 1 to the opposite count value, for example, when the decrypted pros and cons information indicates the opposite.
  • the transaction server 10 counts the number of approvals (or the opposite number) by repeating the above processing for each of the plurality of received approval / disapproval transaction data.
  • the number of approvals is the number of approval / disapproval information indicating approval among the plurality of approval / disapproval information included in the plurality of approval / disapproval transaction data received by the transaction server 10.
  • the trading server 10 aggregates the voting results by counting the number of approvals (or the number of disagreements).
  • the transaction server 10 determines whether or not the report was successful (S116). Specifically, the transaction server 10 determines that the report is successful when the number of approvals (that is, the number of approval / disapproval information indicating approval) is larger than the predetermined threshold value, and the number of approvals is smaller than the predetermined threshold value. In some cases, it is determined that the report has failed. Successful reporting can be rephrased as correct reporting, and unsuccessful reporting can be rephrased as incorrect reporting.
  • the transaction server 10 determines that the report is successful (Yes in S116)
  • the transaction server 10 cancels the reported transaction (S117). Specifically, the transaction server 10 turns on the flag indicating whether or not the reported transaction has been canceled, that is, indicates that the value of the flag has been canceled from the value indicating that the transaction is in progress. You may cancel the transaction by switching to the value.
  • the transaction server 10 may display in the electronic commerce service indicating that the transaction has been canceled, or change the state so that the input from the user for the transaction is not accepted. May be good.
  • the transaction server 10 generates the first token transaction data and the second token transaction data (S118).
  • the transaction server 10 transmits the generated first token transaction data and the second token transaction data to the plurality of terminals 20 (S119).
  • the transaction server 10 and the plurality of terminals 20 execute a consensus algorithm to generate a block containing the first token transaction data and a block containing the second token transaction data, and these blocks are distributed in the distributed ledger 107. , 208 (S120).
  • the transaction server 10 executes a process in which the voter is given a token in the amount of the first token, and the whistleblower is executed in a process in which the token in the amount of the second token is given. ..
  • the transaction server 10 may notify the terminal 20 of each voter that the voter has been granted tokens in the amount of the first token.
  • the transaction server 10 may notify the whistleblower's terminal 20 that the whistleblower has been granted tokens in the amount of the second token.
  • the transaction server 10 may generate token transaction data including the amount of the first token and the amount of the second token in step S118.
  • the transaction server 10 may transmit the generated token transaction data to a plurality of terminals 20 in step S119.
  • the transaction server 10 and the plurality of terminals 20 may execute the consensus algorithm in step S120 to generate a block containing the token transaction data and store it in the distributed ledgers 107 and 208.
  • the transaction server 10 determines that the report has failed (No in S116)
  • the transaction server 10 generates the third token transaction data (S121).
  • the transaction server 10 transmits the generated third token transaction data to the plurality of terminals 20 (S122).
  • the transaction server 10 and the plurality of terminals 20 execute a consensus algorithm, generate a block containing the third token transaction data, and store it in the distributed ledgers 107 and 208 (S123).
  • the transaction server 10 executes a process of collecting tokens in the amount of the third token from the whistleblower.
  • the transaction server 10 may notify the whistleblower's terminal 20 that the whistleblower has collected tokens in the amount of the third token.
  • the transaction server 10 may further generate the first token transaction data in step S121.
  • the transaction server 10 transmits the first token transaction data further generated in step S122 to the plurality of terminals 20.
  • the transaction server 10 and the plurality of terminals 20 may further execute a consensus algorithm to generate a block containing the first token transaction data and store it in the distributed ledgers 107 and 208.
  • the trading server 10 executes a process in which the voter is given tokens in the amount of the first token.
  • the transaction server 10 may notify the terminal 20 of each voter that the voter has been granted tokens in the amount of the first token.
  • FIG. 6 and 7 are sequence diagrams showing a second example of fraudulent transaction detection processing of the management system according to the first embodiment.
  • FIG. 7 shows a continuation of the process of FIG.
  • the second example is an example in which each process performed in the first example is executed by a smart contract. That is, in the second example, the distributed ledgers 107 and 208 store the contract code that executes each process performed in the first example.
  • Each process is a process of accepting approval / disapproval information (that is, a process of voting), a process of determining a voting end condition, a process of decoding the approval / disapproval information, a process of totaling voting results, and a process of determining whether or not the report is correct.
  • 6 and 7 describe an example in which all of these processes are executed by a smart contract, but the present invention is not limited to this. For example, a part of these processes may be executed by the smart contract, and the remaining part may be executed by one of the transaction server 10 and the plurality of terminals 20 without being executed by the smart contract.
  • Terminals A, B and C shown in FIGS. 6 and 7 are the same as in the first example. Further, the user A, the user B, and the user C are the same as those in the first example.
  • the transaction server 10 and the plurality of terminals 20 execute the voting function by the smart contract when the consensus algorithm is executed for the pros and cons transaction data (S131 to S134).
  • the pros and cons transaction data includes a smart contract address, a voting function as an execution function, pros and cons information as arguments, and a user ID of each user.
  • the user ID of each user is the user ID of the user who owns the terminal 20 that generated the pros and cons transaction data.
  • the voting function is a function for executing a process of voting for or against.
  • Each process of steps S131 to S134 is performed for the number of pros and cons transaction data. That is, each process of steps S131 to S134 is performed by the number of votes.
  • each of the terminal A and the terminal B generates confirmation transaction data and transmits the confirmation transaction data to the transaction server 10 (S135, S136).
  • the terminal A After step S131, the terminal A generates confirmation transaction data including a confirmation function for executing confirmation as to whether or not voting is completed, and transfers the generated confirmation transaction data to the transaction server 10.
  • the confirmation transaction data includes a smart contract address, an end confirmation function as an execution function, a current time as an argument, and a user ID of each user.
  • the user ID of each user is the user ID of the user who owns the terminal 20 that generated the confirmation transaction data. That is, the user ID is the user ID of the user A when the terminal 20 is the terminal A.
  • the terminal A periodically generates confirmation transaction data after step S131, and transmits the generated confirmation transaction data to the transaction server 10. By performing the same processing on the terminal B, confirmation transaction data is generated, and the generated confirmation transaction data is transmitted to the transaction server 10.
  • the transaction server 10 transfers the confirmation transaction data received from the terminal A and the confirmation transaction data received from the terminal B to a plurality of terminals 20 including the terminal A and the terminal B (S137).
  • the transaction server 10 and the plurality of terminals 20 execute a consensus algorithm, generate a block containing confirmation transaction data, and store it in the distributed ledgers 107 and 208 (S138).
  • each of the transaction server 10 and the plurality of terminals 20 executes the end confirmation function by the smart contract when the consensus algorithm is executed for the confirmation transaction data (S139 to S146).
  • the end confirmation function is a function for determining the voting end condition. Specifically, each of the transaction server 10 and the plurality of terminals 20 determines whether or not the voting end condition is satisfied by executing the end confirmation function (S139 to S142). Since this process is the same as step S108 of the first example, detailed description thereof will be omitted.
  • the trading server 10 and the plurality of terminals 20 turn on the voting completion flag, that is, the value of the flag is set from the value indicating that the voting is incomplete.
  • the terminal A and the terminal B confirm that the voting completion flag is ON (S147, S148).
  • the terminal A and the terminal B generate the decryption key transaction data and transmit the decryption key transaction data to the transaction server 10 (S149, S150). Specifically, after step S147, the terminal A generates the decryption key transaction data and transmits the generated decryption key transaction data to the transaction server 10.
  • the decryption key transaction data includes a smart contract address, a decryption function as an execution function, a decryption key as an argument, and a user ID of each user.
  • the user ID of each user is the user ID of the user who holds the terminal 20 that generated the decryption key transaction data. That is, the user ID is the user ID of the user A when the terminal 20 is the terminal A.
  • the transaction server 10 transfers the decryption key transaction data received from the terminal A and the decryption key transaction data received from the terminal B to a plurality of terminals 20 including the terminal A and the terminal B (S151).
  • the transaction server 10 and the plurality of terminals 20 execute a consensus algorithm, generate a block containing confirmation transaction data, and store it in the distributed ledgers 107 and 208 (S152).
  • the decryption function is a function for decrypting the encrypted pros and cons information using the decryption key.
  • each of the transaction server 10 and the plurality of terminals 20 uses the decryption key included in the decryption key transaction data acquired from each terminal 20, and the encryption included in the pros and cons transaction data acquired from the terminal 20. Decrypt the pros and cons information.
  • the decryption result is stored in, for example, a storage unit included in each of the transaction server 10 and the plurality of terminals 20.
  • the decoding result may be temporarily stored in the storage unit.
  • Each process of steps S153 to S156 is performed for the number of decryption key transaction data. That is, each process of steps S153 to S156 is performed for the number of decryption keys.
  • each of the terminal A and the terminal B generates aggregated transaction data and transmits the aggregated transaction data to the transaction server 10 (S157, S158).
  • the terminal A After step S153, the terminal A generates aggregated transaction data including an aggregated function for aggregating the voting results, and transmits the generated aggregated transaction data to the transaction server 10.
  • Aggregate transaction data includes a smart contract address, an aggregate function as an execution function, a current time as an argument, and a user ID of each user.
  • the user ID of each user is the user ID of the user who owns the terminal 20 that generated the aggregated transaction data. That is, the user ID is the user ID of the user A when the terminal 20 is the terminal A.
  • the terminal A periodically generates aggregated transaction data after step S153, and transmits the generated aggregated transaction data to the transaction server 10. By performing the same processing on the terminal B, the aggregated transaction data is generated, and the generated aggregated transaction data is transmitted to the transaction server 10.
  • the transaction server 10 transfers the aggregated transaction data received from the terminal A and the aggregated transaction data received from the terminal B to a plurality of terminals 20 including the terminal A and the terminal B (S159).
  • the transaction server 10 and the plurality of terminals 20 execute a consensus algorithm, generate a block containing aggregated transaction data, and store it in the distributed ledgers 107 and 208 (S160).
  • each of the transaction server 10 and the plurality of terminals 20 executes the aggregate function by the smart contract (S161 to S168). Specifically, each of the transaction server 10 and the plurality of terminals 20 determines whether or not the voting end condition is satisfied (S161 to S164). When it is determined that the voting end condition is satisfied (Yes in S161 to S164), each of the transaction server 10 and the plurality of terminals 20 executes an aggregate function (S165 to S168).
  • the aggregate function is a function for aggregating voting results.
  • the transaction server 10 and the plurality of terminals 20 perform an aggregation process by executing an aggregation function.
  • the process returns to the processes of steps S161 to S164.
  • FIG. 8 is a flowchart showing an example of the aggregation process in the first embodiment.
  • each of the transaction server 10 and the plurality of terminals 20 aggregates the voting results (S171). Specifically, each of the transaction server 10 and the plurality of terminals 20 adds 1 to the approval count value when, for example, the decrypted approval / disapproval information indicates approval. Further, the transaction server 10 and the plurality of terminals 20 may add 1 to the opposite count value, for example, when the decoded pros and cons information indicates the opposite. The transaction server 10 and the plurality of terminals 20 count the number of approvals (or the opposite number) by repeating the above processing for each of the plurality of received approval / disapproval transaction data.
  • the number of approvals is the number of approval / disapproval information indicating approval among the plurality of approval / disapproval information included in the plurality of approval / disapproval transaction data received by the transaction server 10.
  • each of the transaction server 10 and the plurality of terminals 20 counts the number of approvals (or the number of disagreements) to aggregate the voting results.
  • each of the transaction server 10 and the plurality of terminals 20 determines whether or not the report is successful (S172). Since this determination is the same as step S116 of the first example, detailed description thereof will be omitted.
  • each of the transaction server 10 and the plurality of terminals 20 executes a process of granting tokens in the amount of the second token to the whistleblower (S174).
  • each of the transaction server 10 and the plurality of terminals 20 may execute a process of granting tokens in the amount of the first token to the voter.
  • each of the transaction server 10 and the plurality of terminals 20 executes a process of collecting tokens in the amount of the third token from the whistleblower when it is determined that the report has failed (No in S172). S175).
  • each of the transaction server 10 and the plurality of terminals 20 may execute a process of granting tokens in the amount of the first token to the voter.
  • FIG. 9 is a sequence diagram showing a third example of fraudulent transaction detection processing of the management system according to the first embodiment.
  • the processing of the first half portion is common to the second example, the processing different from the second example will be mainly described.
  • the third example has the same processing described with reference to FIG. 6 of the second example.
  • FIG. 9 shows a continuation of the process of FIG.
  • the decoding process and the aggregation process are performed separately, but in the third example, the decoding process and the aggregation process are performed together.
  • Step S147 is the same as the second example.
  • the terminal A and the terminal B generate the stored transaction data and transmit the stored transaction data to the transaction server 10 (S181, S182). Specifically, the terminal A generates the stored transaction data after step S147, and transmits the generated stored transaction data to the transaction server 10.
  • the stored transaction data includes a smart contract address, a storage function as an execution function, a decryption key as an argument, and a user ID of each user.
  • the user ID of each user is the user ID of the user who owns the terminal 20 that generated the stored transaction data. That is, the user ID is the user ID of the user A when the terminal 20 is the terminal A.
  • the transaction server 10 transfers the stored transaction data received from the terminal A and the stored transaction data received from the terminal B to a plurality of terminals 20 including the terminal A and the terminal B (S183).
  • the transaction server 10 and the plurality of terminals 20 execute a consensus algorithm, generate a block containing the stored transaction data, and store it in the distributed ledgers 107 and 208 (S184).
  • the transaction server 10 and the plurality of terminals 20 execute the storage function by the smart contract when the consensus algorithm is executed for the stored transaction data (S185 to S188).
  • the storage function is a function for storing the decryption key in each storage unit.
  • the transaction server 10 and the plurality of terminals 20 store the decryption key included in the stored transaction data acquired from each terminal 20 in the storage unit provided in each of the transaction server 10 and the plurality of terminals 20.
  • Each process of steps S185 to S188 is performed for the number of stored transaction data. That is, each process of steps S185 to S188 is performed for the number of decryption keys.
  • the transaction server 10 and the plurality of terminals 20 execute the aggregate function by the smart contract (S161 to S168, S189 to S192). Specifically, the transaction server 10 and the plurality of terminals 20 determine whether or not the voting end condition is satisfied (S161 to S164). When it is determined that the voting end condition is satisfied (Yes in S161 to S164), each of the transaction server 10 and the plurality of terminals 20 decodes the pros and cons information (S189 to S192). Then, each of the transaction server 10 and the plurality of terminals 20 executes an aggregate function (S165 to S168).
  • the aggregate function is a function for aggregating voting results.
  • the transaction server 10 and the plurality of terminals 20 perform an aggregation process by executing an aggregation function.
  • the transaction server 10 and the plurality of terminals 20 determine that the voting end condition is not satisfied (No in S161 to S164), the process returns to the processes of steps S161 to S164. Since the aggregation process is the same as that of the second example, detailed description thereof will be omitted.
  • a plurality of approval / disapproval information is used to determine that the report is correct when the number of approvals is greater than the predetermined threshold value, and to report when the number is less than the predetermined threshold value. Is not correct, so fraudulent transactions can be detected more appropriately.
  • the management system or the like since the token is given to the voter, an incentive to encourage the voter to vote can be given. Therefore, the number of voters can be increased, it is possible to suppress the biased judgment of the report, and it is possible to detect fraudulent transactions more appropriately.
  • the transaction is stopped, so that it is possible to suppress the continuation of fraudulent transactions.
  • FIG. 10 is a diagram showing an example of the configuration of the management system according to the second embodiment.
  • the management system according to the second embodiment includes a plurality of transaction servers 10a to 10c and the configurations of the terminals 21a to 21x as compared with the management system according to the first embodiment. different.
  • each of the transaction server 10a to the transaction server 10c is also referred to as the transaction server 10, but the transaction server 10a to the transaction server 10c may be referred to as the transaction server A to the transaction server C.
  • each of the terminals 21a to 21x is also referred to as a terminal 21, the terminals 21a to 21x may be referred to as terminals A to X.
  • FIG. 11 is a diagram showing an example of the configuration of the terminal 21 according to the second embodiment.
  • the same elements as those in FIG. 3 are designated by the same reference numerals, and detailed description thereof will be omitted.
  • the terminal 21 shown in FIG. 11 is different in configuration from the terminal 20 according to the first embodiment in that it does not include the transaction data verification unit 206, the recording unit 207, the distribution ledger 208, and the storage unit 209.
  • the terminal 21 may have the same configuration as the terminal 20.
  • FIG. 12 and 13 are sequence diagrams showing a first example of fraudulent transaction detection processing of the management system according to the second embodiment.
  • FIG. 13 shows a process following the process shown in FIG.
  • Terminal A, terminal B, and terminal C shown in FIGS. 12 and 13 are terminals 21 operated by user A, user B, and user C, respectively. That is, the terminal A, the terminal B, and the terminal C are included in the plurality of terminals 21.
  • the terminal A is a terminal that is authenticated by using the user ID of the user A to the electronic commerce service provided by the transaction servers 10a to 10c.
  • the terminal B is a terminal that is authenticated by using the user ID of the user B to the electronic commerce service provided by the transaction servers 10a to 10c.
  • the terminal C is a terminal that is authenticated by using the user ID of the user C to the electronic commerce service provided by the transaction servers 10a to 10c.
  • the user C of the terminal C uses the terminal C to input indicating that one of the plurality of transactions handled by the electronic commerce service is suspected of being fraudulent. That is, the user C is a whistleblower who makes a report.
  • user A and user B are voters who vote for or against.
  • the terminal C transmits the report transaction data including the report information generated based on the input to the transaction server 10a (S201).
  • the transaction server 10a transfers the report transaction data received from the terminal C to the other transaction server 10b and the transaction server 10c (S202).
  • the transaction servers 10a to 10c execute the consensus algorithm, generate a block containing the report transaction data, and store it in the distributed ledger 107 (S203).
  • the transaction server 10a notifies the terminal A and the terminal B of the report information included in the report transaction data (S204).
  • the transaction server 10a may select all users other than the whistleblower as voters, all users including the whistleblower as voters, and some users from a plurality of users other than the whistleblower. You may choose at random.
  • the transaction server 10a transmits the report information to the terminal 21 owned by the user selected as the voter.
  • each of the terminal A and the terminal B generates the pros and cons transaction data, and transmits the pros and cons transaction data to the transaction server 10a (S205, S206).
  • the terminal A prompts the user A to input the approval or disapproval by displaying a display (UI) for confirming the approval or disapproval of the notification indicated by the notification information.
  • the terminal A receives the input of the pros and cons from the user A to generate the pros and cons information, and generates the pros and cons transaction data including the generated pros and cons information.
  • the pros and cons transaction data is generated by performing the same processing on the terminal B as well.
  • the transaction server 10a transfers the pros and cons transaction data received from the terminal A and the pros and cons transaction data received from the terminal B to the other transaction server 10b and the transaction server 10c (S207).
  • the transaction servers 10a to 10c execute the consensus algorithm, generate a block containing the pros and cons transaction data, and store it in the distributed ledger 107 (S208).
  • the pros and cons transaction data received from the terminal A and the pros and cons transaction data received from the terminal B may be processed together or individually.
  • the transaction server 10a determines whether or not the voting end condition is satisfied (S209).
  • the transaction server 10b and the transaction server 10c may also make the determination in step S209.
  • the determination in step S209 is the same as in step S108.
  • the transaction server 10a executes the process of the next step S210, and when it is determined that the voting end condition is not satisfied (No in S209), the terminal A And the reception of the pros and cons transaction data from the terminal B, the transfer, and the execution of the consensus algorithm are awaited.
  • step S210 the transaction server 10a generates request information and transmits the generated request information to a plurality of terminals 21 (S210).
  • the request information is information for requesting a decryption key for decrypting the encrypted pros and cons information from a plurality of terminals 21 that have transmitted pros and cons transaction data including the pros and cons information.
  • each of the terminal A and the terminal B generates the decryption key transaction data and transmits the decryption key transaction data to the transaction server 10a (S211 and S212).
  • the terminal A generates decryption key transaction data including the decryption key stored in the storage unit 209 according to the request information included in the request transaction data.
  • the decryption key transaction data is generated by performing the same processing on the terminal B as well.
  • the transaction server 10a transfers the decryption key transaction data received from the terminal A and the decryption key transaction data received from the terminal B to the transaction server 10b and the transaction server 10c (S213).
  • the transaction servers 10a to 10c execute the consensus algorithm, generate a block containing the decryption key transaction data, and store it in the distributed ledger 107 (S214).
  • the transaction server 10a aggregates the voting results using the pros and cons transaction data and the decryption key transaction data acquired from each of the terminal A and the terminal B (S215). Specifically, the transaction server 10a decrypts the encrypted pros and cons information included in the pros and cons transaction data acquired from the terminal 21 by using the decryption key included in the decryption key transaction data acquired from each terminal 21. .. The transaction server 10a adds 1 to the approval count value, for example, when the decrypted approval / disapproval information indicates approval. Further, the transaction server 10a may add 1 to the opposite count value, for example, when the decrypted pros and cons information indicates the opposite.
  • the transaction server 10a counts the number of approvals (or the opposite number) by repeating the above processing for each of the plurality of received approval / disapproval transaction data.
  • the number of approvals is the number of approval / disapproval information indicating approval among the plurality of approval / disapproval information included in the plurality of approval / disapproval transaction data received by the transaction server 10a.
  • the trading server 10a aggregates the voting results by counting the number of approvals (or the number of disagreements).
  • the transaction server 10a determines whether or not the report is successful (S216). Specifically, the transaction server 10a determines that the report is successful when the number of approvals (that is, the number of approval / disapproval information indicating approval) is larger than the predetermined threshold value, and the number of approvals is smaller than the predetermined threshold value. In some cases, it is determined that the report has failed. Successful reporting can be rephrased as correct reporting, and unsuccessful reporting can be rephrased as incorrect reporting.
  • the transaction server 10a determines that the report is successful (Yes in S216)
  • the transaction server 10a cancels the reported transaction (S217) Specifically, the transaction server 10a turns on the flag indicating whether or not the reported transaction has been canceled, that is, indicates that the value of the flag has been canceled from the value indicating that the transaction is in progress. You may cancel the transaction by switching to the value.
  • the transaction server 10a may display in the electronic commerce service indicating that the transaction has been canceled, or change the state so that the input from the user for the transaction is not accepted. May be good.
  • the transaction server 10a generates the first token transaction data and the second token transaction data (S218).
  • the transaction server 10a transmits the generated first token transaction data and the second token transaction data to the transaction server 10b and the transaction server 10c (S219).
  • the transaction servers 10a to 10c execute a consensus algorithm to generate a block containing the first token transaction data and a block containing the second token transaction data, and store these blocks in the distributed ledger 107. (S220).
  • a process of granting tokens in the amount of the first token is executed for the voter, and a process of granting tokens in the amount of the second token is executed for the whistleblower. ..
  • the transaction server 10a may notify the terminal 21 of each voter that the voter has been granted tokens in the amount of the first token.
  • the transaction server 10a may notify the whistleblower's terminal 21 that the whistleblower has been granted tokens in the amount of the second token.
  • the transaction server 10a may generate token transaction data including the amount of the first token and the amount of the second token in step S218.
  • the transaction server 10a may transmit the generated token transaction data to the transaction server 10b and the transaction server 10c in step S219.
  • the transaction servers 10a to 10c may execute the consensus algorithm in step S220 to generate a block containing the token transaction data and store it in the distributed ledger 107.
  • the transaction server 10a notifies the plurality of terminals 21 that the token has been granted (S221). Specifically, the transaction server 10a may notify the terminal 21 of each voter that the voter has been granted tokens in the amount of the first token. In addition, the transaction server 10a may notify the whistleblower's terminal 21 that the whistleblower has been granted tokens in the amount of the second token.
  • the transaction server 10a determines that the report has failed (No in S216)
  • the transaction server 10a generates the third token transaction data (S222).
  • the transaction server 10a transmits the generated third token transaction data to the transaction server 10b and the transaction server 10c (S223).
  • the transaction server 10a executes a consensus algorithm, generates a block containing the third token transaction data, and stores it in the distributed ledger 107 (S224). As a result, the transaction server 10a executes a process of collecting tokens in the amount of the third token from the whistleblower.
  • the transaction server 10a may further generate the first token transaction data in step S222.
  • the transaction server 10a transmits the first token transaction data further generated in step S223 to the transaction server 10b and the transaction server 10c.
  • the transaction servers 10a to 10c may further execute a consensus algorithm in step S224 to generate a block containing the first token transaction data and store it in the distributed ledger 107.
  • the transaction server 10a executes a process in which the voter is given tokens in the amount of the first token.
  • the transaction server 10a notifies the terminal 21 of each voter that the token has been granted or collected (S225). Specifically, the transaction server 10a may notify the terminal 21 of each voter that the voter has been granted tokens in the amount of the first token. The transaction server 10a may notify the whistleblower's terminal 21 that the whistleblower has collected tokens in the amount of the third token.
  • the process that the transaction server 10a is supposed to perform independently in the process according to the second embodiment may be performed by each of the transaction servers 10a to 10c.
  • FIG. 14 and 15 are sequence diagrams showing a second example of fraudulent transaction detection processing of the management system according to the second embodiment.
  • FIG. 15 shows a continuation of the process of FIG.
  • the second example is an example in which each process performed in the first example is executed by a smart contract. That is, in the second example, the distributed ledger 107 stores the contract code that executes each process performed in the first example.
  • Each process is a process of accepting approval / disapproval information (that is, a process of voting), a process of determining a voting end condition, a process of decoding the approval / disapproval information, a process of totaling voting results, and a process of determining whether or not the report is correct.
  • 14 and 15 describe an example in which all of these processes are executed by a smart contract, but the present invention is not limited to this. For example, a part of these processes may be executed by the smart contract, and the remaining part may be executed by one of the transaction servers 10a to 10c without being executed by the smart contract.
  • Terminals A, B and C shown in FIGS. 14 and 15 are the same as in the first example. Further, the user A, the user B, and the user C are the same as those in the first example.
  • each of the transaction servers 10a to 10c executes a voting function by a smart contract when the consensus algorithm is executed for the pros and cons transaction data (S231).
  • FIG. 14 is shown so that only the transaction server 10a executes step S231, the transaction server 10b and the transaction server 10c also execute the process of step S231 in the same manner.
  • the pros and cons transaction data is the same as the pros and cons transaction data described in the second example in the first embodiment.
  • the processing of step S231 is performed for the number of pros and cons transaction data. That is, each process of step S231 is performed by the number of votes.
  • each of the terminal A and the terminal B generates confirmation transaction data and transmits the confirmation transaction data to the transaction server 10a (S232, S233).
  • the terminal A After step S205, the terminal A generates confirmation transaction data including a confirmation function for executing confirmation as to whether or not voting is completed, and transfers the generated confirmation transaction data to the transaction server 10a. Send.
  • the confirmation transaction data is the same as the confirmation transaction data described in the first embodiment.
  • the terminal A periodically generates confirmation transaction data after step S205, and transmits the generated confirmation transaction data to the transaction server 10a. By performing the same processing on the terminal B, confirmation transaction data is generated, and the generated confirmation transaction data is transmitted to the transaction server 10a.
  • the transaction server 10a transfers the confirmation transaction data received from the terminal A and the confirmation transaction data received from the terminal B to the transaction server 10b and the transaction server 10c (S234).
  • the transaction servers 10a to 10c execute the consensus algorithm, generate a block containing the confirmation transaction data, and store it in the distributed ledger 107 (S235).
  • each of the transaction servers 10a to 10c executes the end confirmation function by the smart contract when the consensus algorithm is executed for the confirmation transaction data (S236).
  • the end confirmation function is a function for determining the voting end condition. Specifically, each of the transaction servers 10a to 10c determines whether or not the voting end condition is satisfied by executing the end confirmation function (S236). Since this process is the same as step S108 of the first example of the first embodiment, detailed description thereof will be omitted.
  • each of the trading servers 10a to 10c turns on the voting completion flag, that is, the voting is completed from the value indicating that the voting is incomplete. It is switched to a value indicating that it has been done (S237).
  • the transaction server 10a confirms that the voting completion flag is ON (S238).
  • the transaction server 10a When the voting completion flag is ON, the transaction server 10a generates request information and transmits the generated request information to a plurality of terminals 21 (S210).
  • each of the transaction servers 10a to 10c executes the decryption function by the smart contract when the consensus algorithm is executed for the decryption key transaction data (S239).
  • the decryption function is a function for decrypting the encrypted pros and cons information using the decryption key.
  • each of the transaction servers 10a to 10c uses the decryption key included in the decryption key transaction data acquired from each terminal 21, and the encrypted pros and cons included in the pros and cons transaction data acquired from the terminal 21. Decrypt the information.
  • the decoding result is stored in, for example, a storage unit included in each of the transaction servers 10a to 10c. The decoding result may be temporarily stored in the storage unit.
  • step S239 is performed for the number of decryption key transaction data. That is, the processing of step S239 is performed for the number of decryption keys.
  • FIG. 15 is shown so that only the transaction server 10a executes step S239, the transaction server 10b and the transaction server 10c also execute the process of step S239 in the same manner.
  • the transaction server 10a generates aggregated transaction data and transmits the aggregated transaction data to the transaction server 10b and the transaction server 10c (S240). Specifically, after step S239, the transaction server 10a generates aggregate transaction data including an aggregate function for aggregating voting results, and transmits the generated aggregate transaction data to the transaction server 10b and the transaction server 10c. ..
  • the aggregated transaction data is the same as the aggregated transaction data described in the first embodiment.
  • the transaction server 10a periodically generates aggregated transaction data after step S239, and transmits the generated aggregated transaction data to the transaction server 10b and the transaction server 10c. By performing the same processing on the transaction server 10b and the transaction server 10c, aggregated transaction data may be generated, and the generated aggregated transaction data may be transmitted to another transaction server 10.
  • the transaction servers 10a to 10c execute the consensus algorithm, generate a block containing the aggregated transaction data, and store it in the distributed ledger 107 (S241).
  • each of the transaction servers 10a to 10c executes the aggregate function by the smart contract (S242, S243). Specifically, each of the transaction servers 10a to 10c determines whether or not the voting end condition is satisfied (S242). When it is determined that the voting end condition is satisfied (Yes in S242), each of the transaction servers 10a to 10c executes an aggregate function (S243).
  • the aggregate function is a function for aggregating voting results.
  • the transaction servers 10a to 10c perform an aggregation process by executing an aggregation function.
  • the transaction servers 10a to 10c return to the process of step S242.
  • FIG. 15 only the transaction server 10a is shown to execute the steps S242 and S243, but the transaction server 10b and the transaction server 10c also execute the processes of steps S242 and S243.
  • FIG. 16 is a sequence diagram showing a third example of fraudulent transaction detection processing of the management system according to the second embodiment.
  • the processing of the first half portion is common to the second example, the processing different from the second example will be mainly described.
  • the third example has the same processing described with reference to FIG. 14 of the second example.
  • FIG. 16 shows a continuation of the process of FIG.
  • the decoding process and the aggregation process are performed separately, but in the third example, the decoding process and the aggregation process are performed together.
  • Step S238 is the same as the second example.
  • the transaction server 10a When the voting completion flag is ON, the transaction server 10a generates request information and transmits the generated request information to a plurality of terminals 21 (S251).
  • the request information is information for requesting stored transaction data including a decryption key for decrypting encrypted pros and cons information from a plurality of terminals 21 that have transmitted pros and cons transaction data including the pros and cons information.
  • each of the terminal A and the terminal B generates the stored transaction data and transmits the stored transaction data to the transaction server 10a (S252, S253).
  • the stored transaction data is the same as the stored transaction data described in the first embodiment.
  • the terminal A generates stored transaction data including the decryption key stored in the storage unit 209 according to the request information.
  • the stored transaction data is generated by performing the same processing on the terminal B as well.
  • the transaction server 10a transfers the stored transaction data received from the terminal A and the stored transaction data received from the terminal B to the transaction server 10b and the transaction server 10c (S254).
  • the transaction servers 10a to 10c execute the consensus algorithm, generate a block containing the stored transaction data, and store it in the distributed ledger 107 (S255).
  • the transaction servers 10a to 10c execute the storage function by the smart contract when the consensus algorithm is executed for the stored transaction data (S256).
  • the storage function is a function for storing the decryption key in each storage unit.
  • the transaction servers 10a to 10c store the decryption key included in the stored transaction data acquired from each terminal 21 in the storage unit included in each of the transaction servers 10a to 10c.
  • the processing of step S256 is performed for the number of stored transaction data. That is, the processing of step S256 is performed for the number of decryption keys.
  • step S240 and step S241 in the second example is performed.
  • each of the transaction servers 10a to 10c executes the aggregate function by the smart contract (S242, S243, S254). Specifically, each of the transaction servers 10a to 10c determines whether or not the voting end condition is satisfied (S242). When it is determined that the voting end condition is satisfied (Yes in S242), each of the transaction servers 10a to 10c decodes the pros and cons information (S254). Then, each of the transaction servers 10a to 10c executes an aggregate function (S243).
  • the aggregate function is a function for aggregating voting results.
  • Each of the transaction servers 10a to 10c performs an aggregation process by executing an aggregation function.
  • the transaction servers 10a to 10c determine that the voting end condition is not satisfied (No in S242), the transaction servers 10a to 10c return to the process of step S242. Since the aggregation process is the same as that of the second example, detailed description thereof will be omitted.
  • the transaction server 10 executes a consensus algorithm on the transaction data to generate a block containing the transaction data, and the generated block is stored in the distributed ledger 107 provided in each transaction server 10. I tried to store it, but it is not limited to this.
  • a plurality of devices that do not include the transaction server 10 may generate a block containing transaction data, and the generated block may be stored in the distributed ledger provided by each of the plurality of devices.
  • the transaction server 10 refers to the data stored in the distributed ledger of the plurality of devices by accessing the plurality of devices, or transmits a request for information necessary for processing to the plurality of devices. The necessary information may be obtained.
  • the transaction server 10 generates a block including a transaction among the processes described to be executed by the transaction server 10 in the management system according to the first and second embodiments, and stores the generated block in the distributed ledger. You may execute the process except for.
  • the transaction server 10 grants or collects tokens to the whistleblower depending on whether or not the whistleblower is successful. It may be increased or decreased. For example, when the transaction server 10 determines that the report is successful, the transaction server 10 may update the reliability so that the reliability of the whistleblower is increased, that is, the reliability of the whistleblower is increased. Further, when the transaction server 10 determines that the report has failed, the transaction server 10 may update the reliability so that the reliability of the reporter is reduced.
  • the reliability is an index indicating whether or not the user can be trusted. For example, the larger the numerical value indicated by the reliability, the more reliable the user is.
  • the transaction server 10 generates transaction data including the updated reliability, executes a consensus algorithm for the transaction data together with another device, generates a block containing the transaction data, and uses the generated block as the transaction server 10. It may be stored in the distributed ledger 107 provided in.
  • the transaction server 10 may change a predetermined threshold value used for determining whether or not the report is successful according to the reliability of the user. For example, the transaction server 10 may set a predetermined threshold value so that the higher the reliability, the smaller the value. This makes it difficult for a report made by a user with low reliability to succeed. For example, it becomes difficult for a user who makes a series of reports even though there is no suspicion of fraud to succeed, and the reliability can be reduced by updating the reliability. Therefore, it is possible to prevent the transaction from being erroneously determined as fraudulent even though there is no suspicion of fraud. On the contrary, a report made by a highly reliable user is more likely to succeed.
  • the fraudulent transaction can be detected even if the number of approvals does not meet the majority. For example, fraudulent transactions can be detected even when the number of votes in favor of an organization vote that maliciously opposes fraudulent transactions does not meet the majority.
  • the number of items that can be exhibited at the same time for the first user who provides the goods or services may be changed according to the reliability.
  • the number of items that can be listed at the same time may be set to decrease as the user's reliability decreases.
  • the upper limit of the purchase amount for purchasing one article or service may be changed according to the reliability for the second user who purchases the article or service.
  • the upper limit of the purchase amount may be set so that the lower the user's reliability is, the smaller the purchase amount is.
  • the weight of the count of one vote of the voter's approval / disapproval information may be changed according to the reliability of the voter.
  • the weight of the count of one vote may be set to be smaller as the reliability of the user is smaller.
  • one vote of a highly reliable user may be counted as 1.5 votes with a weight set to 1.5.
  • One vote of a user with low reliability may be counted as 0.8 votes with a weight set to 0.8.
  • the number of approvals is calculated using weights based on reliability.
  • a token as a deposit for conducting the transaction is given in advance to the first user who provides the goods or services. It may be collected.
  • the first user is an applicant who provides goods or services.
  • the management system may return the token collected as a deposit to the applicant when there is no notification for the transaction or when it is determined that the notification is not correct.
  • the management system does not have to return the token collected as a deposit to the applicant when there is a report for the transaction and the report is determined to be correct. Tokens that are determined not to be returned may be rewarded to the whistleblower who made the call. As a result, it is possible to prevent the applicant from providing fraudulent transactions.
  • a token as a deposit for making a report may be collected in advance to the whistleblower. Then, the management system may return the token collected as a deposit to the whistleblower when it is determined that the whistleblower's report is correct. In addition, the management system does not have to return the token collected as a deposit to the whistleblower when it is determined that the whistleblower's report is incorrect. Tokens that are determined not to be returned may be given to the applicant offering the transaction, to the voter, to the servicer of the e-commerce service, or to the servicer of the electronic commerce service. It may be discarded. As a result, it is possible to prevent the whistleblower from making a report to a transaction that is not suspected of being fraudulent or a transaction that is less suspected of being fraudulent.
  • the amount of deposit set here may be changed according to the reliability described in the modification 2.
  • the amount of deposit may be set to increase as the reliability of the user decreases.
  • the method for encrypting the pros and cons information used in the management system according to the first and second embodiments may be homomorphic encryption, fully homomorphic encryption, or a secret sharing method.
  • Data encrypted by homomorphic encryption, fully homomorphic encryption, or secret sharing method can be subjected to addition processing without decrypting the data. For example, by setting the data indicating approval to +1 and the data indicating disagreement to -1, the number of votes for and against can be counted while being encrypted. That is, in the aggregation process, aggregation may be performed using the pros and cons information as it is encrypted. After that, the encrypted pros and cons information may be decrypted. In this case, the aggregation process may be performed by the transaction server 10 or by a device different from the transaction server 10.
  • a plurality of voters vote for or against the report by inputting the approval or disapproval of the report using a plurality of terminals, but the present invention is not limited to this.
  • An information processing device different from the voter may determine whether the report is correct or not.
  • the information processing device in this case may, for example, use a model obtained by machine learning to determine whether or not the report is correct, or use a predetermined algorithm to determine whether or not the report is correct. May be determined.
  • the information processing device performs machine learning by using a report on a past transaction, the content of the transaction (content of goods or services and its price), and a judgment result of whether or not the report is correct. You may generate a model.
  • the predetermined algorithm may be generated based on the content of the injustice.
  • the content of fraud is, for example, that the substance of the goods or services to be traded is different from the name of the trade, and the price set for the goods or services to be traded is standard. For example, it deviates from the price.
  • the deviation from the standard price means that, for example, the difference between the set price and the standard price is larger than the price of a predetermined ratio of the standard price.
  • the standard price may be calculated based on the track record of past transactions of the same, similar or equivalent goods or services as the goods or services.
  • the information processing device may transmit the determination result of whether or not the report is correct to the transaction server 10 as pros and cons information. Then, the transaction server 10 may determine whether or not the report is correct based only on the pros and cons information transmitted from the information processing device. If the information processing device determines that the report is correct, the information processing device transmits the pros and cons information indicating approval to the transaction server 10. On the contrary, when the information processing device determines that the report is incorrect, the information processing device transmits the pros and cons information indicating the opposite to the transaction server 10. The pros and cons information transmitted at this time may be transmitted as information included in the pros and cons transaction data. That is, the information processing device may transmit the pros and cons transaction data to the transaction server 10.
  • the electronic commerce service is provided by the transaction server 10, but the provided transaction service is not limited to the electronic commerce service.
  • a service may be provided that acquires terminal operation logs and / or detection logs from terminals owned by a plurality of users, analyzes these logs, and notifies each user of the analysis result.
  • the transaction in this case is a log transaction including an operation log and / or a detection log. In the report, it may be reported that the log is suspected of being fraudulent, or that the user is suspected of being a fraudulent user.
  • the transaction cancellation process may be performed by using the blockchain mechanism.
  • the transaction server 10 generates a transaction cancellation transaction in the transaction cancellation process, executes a consensus algorithm with a plurality of other devices using the generated transaction cancellation transaction, and blocks a block containing the transaction cancellation transaction data.
  • the generated block may be stored in the distributed ledger 107 provided in the transaction server 10 and the distributed ledger provided in the plurality of other devices.
  • the transaction cancellation transaction data includes a smart contract address, a transaction cancellation function as an execution function, and a report ID as an argument. Then, each of the transaction server 10 and the plurality of other devices executes the transaction cancellation function to perform the transaction cancellation process.
  • the transaction server 10 has been described with an example of selecting all users other than the whistleblower as voters, but the present invention is not limited to this.
  • the transaction server 10 may randomly select some users from a plurality of users other than the whistleblower, or may select all users including the whistleblower as voters.
  • the transaction server 10 transmits the pros and cons transaction data to the terminal 20 owned by the user selected as the voter.
  • the pros and cons transaction data may include a hash value of the decryption key or a hash value of the pros and cons information in plain text. Thereby, it can be determined whether or not the terminal A and the terminal B have sent the correct decryption key and whether or not the correct pros and cons information has been sent.
  • granting a token to a user may be replaced with increasing the trustworthiness of the user, or granting a token to the user and further increasing the trustworthiness of the user. Good. Further, collecting the user's token may be replaced with reducing the user's reliability, or the user's token may be collected and the user's reliability may be further reduced.
  • Each device in the above embodiment is specifically a computer system composed of a microprocessor, a ROM, a RAM, a hard disk unit, a display unit, a keyboard, a mouse, and the like.
  • a computer program is recorded in the RAM or the hard disk unit.
  • the microprocessor operates according to the computer program, each device achieves its function.
  • a computer program is configured by combining a plurality of instruction codes indicating commands to a computer in order to achieve a predetermined function.
  • Each device in the above embodiment may be composed of a part or all of the constituent elements of one system LSI (Large Scale Integration).
  • a system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of components on a single chip, and specifically, is a computer system including a microprocessor, a ROM, a RAM, and the like. ..
  • a computer program is recorded in the RAM. When the microprocessor operates according to the computer program, the system LSI achieves its function.
  • each part of the component components constituting each of the above devices may be individually integrated into one chip, or may be integrated into one chip so as to include a part or all of them.
  • system LSI Although it is referred to as a system LSI here, it may be referred to as an IC, an LSI, a super LSI, or an ultra LSI due to the difference in the degree of integration. Further, the method of making an integrated circuit is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. An FPGA (Field Programmable Gate Array) that can be programmed after the LSI is manufactured, or a reconfigurable processor that can reconfigure the connection and settings of the circuit cells inside the LSI may be used.
  • FPGA Field Programmable Gate Array
  • each of the above devices may be composed of an IC card or a single module that can be attached to and detached from each device.
  • the IC card or the module is a computer system composed of a microprocessor, a ROM, a RAM, and the like.
  • the IC card or the module may include the above-mentioned super multifunctional LSI.
  • the microprocessor operates according to a computer program, the IC card or the module achieves its function. This IC card or this module may have tamper resistance.
  • the present disclosure may be the method shown above. Further, it may be a computer program that realizes these methods by a computer, or it may be a digital signal composed of the computer program.
  • the present disclosure discloses a recording medium in which the computer program or the digital signal can be read by a computer, for example, a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, or a BD (Blue-ray). (Registered trademark) Disc), may be recorded in a semiconductor memory or the like. Further, it may be the digital signal recorded on these recording media.
  • a computer for example, a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, or a BD (Blue-ray). (Registered trademark) Disc), may be recorded in a semiconductor memory or the like. Further, it may be the digital signal recorded on these recording media.
  • the computer program or the digital signal may be transmitted via a telecommunication line, a wireless or wired communication line, a network typified by the Internet, data broadcasting, or the like.
  • the present disclosure is a computer system including a microprocessor and a memory, in which the memory records the computer program, and the microprocessor may operate according to the computer program.
  • the present disclosure can be used for control methods, servers, and programs, for example, control methods, servers, and programs that can appropriately detect fraudulent transactions in transactions.

Abstract

制御方法は、分散台帳を保有する複数の装置を備える電子取引における不正取引通報システムにおいて、複数の装置のうちの一の装置が実行する制御方法であって、一の取引が不正である疑いの通報を示す通報情報を含む通報トランザクションデータを取得し(S101)、取得した通報トランザクションデータを複数の装置のうちの複数の他の装置に転送し(S102)、かつ、通報トランザクションデータを一の装置の分散台帳(107)に格納し(S103)、通報に対する賛否情報を含む賛否トランザクションデータを取得し(S104、S105)、取得した賛否トランザクションデータを複数の他の装置に転送し(S106)、かつ、賛否トランザクションデータを一の装置の分散台帳(107)に格納し(S107)、賛否トランザクションデータに含まれる賛否情報に基づいて、通報が正しいか否かを判定する。

Description

制御方法、装置、及び、プログラム
 本開示は、制御方法、装置、及び、プログラムに関する。
 従来、電子商取引の普及により、個人間で電子商取引が行われており、その取引の中に不正取引が含まれることが問題となっている。
 例えば、特許文献1には、取引データを分析し、分析済みの取引データと、不正取引者データベースに格納された不正取引者データとを比較し、一部同じデータが検知された場合に警告する不正取引検知システムが開示されている。
特開2006-99913号公報
 しかしながら、特許文献1に開示されている方法では、不正取引を検知するための不正取引者データベースに一定以上の精度が要求されるため、適切に不正取引を検知することが難しいという問題がある。
 本開示は、上述の事情を鑑みてなされたもので、適切に不正取引を検知することができる制御方法、サーバ、及び、プログラムを提供することを目的とする。
 本開示の一態様に係る制御方法は、分散台帳を保有する複数の装置を備える電子取引における不正取引通報システムにおいて、前記複数の装置のうちの一の装置が実行する制御方法であって、一の取引が不正である疑いの通報を示す通報情報を含む通報トランザクションデータを取得し、取得した前記通報トランザクションデータを前記複数の装置のうちの複数の他の装置に転送し、かつ、前記通報トランザクションデータを前記一の装置の分散台帳に格納し、前記通報に対する賛否情報を含む賛否トランザクションデータを取得し、取得した前記賛否トランザクションデータを前記複数の他の装置に転送し、かつ、前記賛否トランザクションデータを前記一の装置の分散台帳に格納し、前記賛否トランザクションデータに含まれる前記賛否情報に基づいて、前記通報が正しいか否かを判定する。
 なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
 本開示によれば、適切に不正取引を検知することができる。
図1は、実施の形態1に係る管理システムの構成の一例を示す図である。 図2は、実施の形態1に係る取引サーバの構成の一例を示す図である。 図3は、実施の形態1に係る端末の構成の一例を示す図である。 図4は、実施の形態1に係る管理システムの不正取引検知処理の第1の例を示すシーケンス図である。 図5は、実施の形態1に係る管理システムの不正取引検知処理の第1の例を示すシーケンス図である。 図6は、実施の形態1に係る管理システムの不正取引検知処理の第2の例を示すシーケンス図である。 図7は、実施の形態1に係る管理システムの不正取引検知処理の第2の例を示すシーケンス図である。 図8は、実施の形態1における集計処理の一例を示すフローチャートである。 図9は、実施の形態1に係る管理システムの不正取引検知処理の第3の例を示すシーケンス図である。 図10は、実施の形態2に係る管理システムの構成の一例を示す図である。 図11は、実施の形態2に係る端末の構成の一例を示す図である。 図12は、実施の形態2に係る管理システムの不正取引検知処理の第1の例を示すシーケンス図である。 図13は、実施の形態2に係る管理システムの不正取引検知処理の第1の例を示すシーケンス図である。 図14は、実施の形態2に係る管理システムの不正取引検知処理の第2の例を示すシーケンス図である。 図15は、実施の形態2に係る管理システムの不正取引検知処理の第2の例を示すシーケンス図である。 図16は、実施の形態2に係る管理システムの不正取引検知処理の第3の例を示すシーケンス図である。
 本開示の一態様に係る制御方法は、分散台帳を保有する複数の装置を備える電子取引における不正取引通報システムにおいて、前記複数の装置のうちの一の装置が実行する制御方法であって、一の取引が不正である疑いの通報を示す通報情報を含む通報トランザクションデータを取得し、取得した前記通報トランザクションデータを前記複数の装置のうちの複数の他の装置に転送し、かつ、前記通報トランザクションデータを前記一の装置の分散台帳に格納し、前記通報に対する賛否情報を含む賛否トランザクションデータを取得し、取得した前記賛否トランザクションデータを前記複数の他の装置に転送し、かつ、前記賛否トランザクションデータを前記一の装置の分散台帳に格納し、前記賛否トランザクションデータに含まれる前記賛否情報に基づいて、前記通報が正しいか否かを判定する。
 これによれば、分散台帳に格納されることで改ざんされにくい賛否情報に基づいて通報が正しいか否かを判定できる。このため、適切に不正取引を検知することができる。
 また、前記賛否トランザクションデータの取得では、複数のユーザが所有する複数の端末から複数の賛否トランザクションデータを取得し、前記判定では、前記複数の賛否トランザクションデータに含まれる複数の賛否情報に基づいて、前記複数の賛否情報のうちで賛成を示す賛否情報の数が所定の閾値よりも多い場合に前記通報が正しいと判定し、前記賛成を示す賛否情報の数が前記所定の閾値よりも少ない場合に前記通報が正しくないと判定してもよい。
 これによれば、複数の賛否情報を用いて、賛成の数が所定の閾値より多い場合に通報が正しいと判定し、所定の閾値よりも少ない場合に通報が正しくないと判定するため、より適切に不正取引を検知することができる。
 また、さらに、前記複数の賛否トランザクションデータを送信した前記複数のユーザのそれぞれに付与する第1のトークンの量を含む第1トークントランザクションデータを前記複数の他の装置に送信し、かつ、前記第1トークントランザクションデータを前記一の装置の分散台帳に格納してもよい。
 このため、投票者に投票を促すインセンティブを付与することができる。よって、投票者の数を増やすことができ、通報に対して偏った判定が為されることを抑制することができ、より適切に不正取引を検知することができる。
 また、さらに、前記複数の賛否トランザクションデータを送信した前記複数のユーザのそれぞれの第1信頼度が大きくなるように前記第1信頼度を更新し、更新された第1信頼度を含む第1信頼度トランザクションデータを前記複数の他の装置に転送し、かつ、前記第1信頼度トランザクションデータを前記一の装置の分散台帳に格納し、前記判定では、前記賛成の数を前記第1信頼度に基づく重みを用いて算出してもよい。
 このため、ユーザの信頼性が高いほど大きい重みが設定されるため、不正な投票により不正取引の誤検知をすることを抑制することができる。
 また、さらに、前記判定において前記通報が正しいと判定された場合、前記取引を中止してもよい。
 このため、不正取引が継続されることを抑制することができる。
 また、さらに、前記判定において前記通報が正しいと判定された場合、前記通報トランザクションデータを送信したユーザである通報者に付与する第2のトークンの量を含む第2トークントランザクションデータを前記複数の他の装置に送信し、かつ、前記第2トークントランザクションデータを前記一の装置の分散台帳に格納してもよい。
 このため、通報者に正しい通報を促すインセンティブを付与することができる。よって、より適切に不正取引を検知することができる。
 また、さらに、前記判定において前記通報が正しくないと判定された場合、前記通報トランザクションデータを送信したユーザである通報者に請求する第3のトークンの量を含む第3トークントランザクションデータを前記複数の他の装置に送信し、かつ、前記第3トークントランザクションデータを前記一の装置の分散台帳に格納してもよい。
 このため、通報者が不正な通報を行うことを抑制することができる。よって、より適切に不正取引を検知することができる。
 また、さらに、前記判定において前記通報が正しいと判定された場合、前記通報トランザクションデータを送信したユーザである通報者の信頼度が大きくなるように前記信頼度を更新し、更新された信頼度を含む信頼度トランザクションデータを前記複数の他の装置に転送し、かつ、前記信頼度トランザクションデータを前記一の装置の分散台帳に格納し、前記判定では、前記分散台帳に格納されている前記分散台帳の前記通報者の前記更新された信頼度が大きいほど小さい値に設定した前記所定の閾値を用いてもよい。
 このため、通報者が不正な通報をしても不正な通報が正しいと判定されにくくすることができる。よって、不正取引の誤検知を抑制することができる。
 また、さらに、前記取引のための第4のトークンの量を含む申し込み情報を、前記取引の申込者により操作された端末から取得し、前記取引に対する前記通報がなかった場合、又は、前記通報があっても正しくないと判定された場合、前記第4のトークンの量と同じ量のトークンを前記申込者に返還し、前記取引に対する前記通報があり、当該通報が正しいと判定された場合、前記第4のトークンの量と同じ量のトークンを前記申込者に返還しなくてもよい。
 これにより、通報者により、不正の疑いがない取引や、不正の疑いが薄い取引に対して通報が行われることを抑制することができる。
 また、前記第4のトークンの量は、前記申込者に定められた信頼度に応じた量に設定されてもよい。
 また、さらに、前記判定を実行させるための実行情報を含む実行トランザクションデータを取得し、前記複数の装置が保有する複数の分散台帳のそれぞれは、前記実行トランザクションデータに基づいて前記判定を実行するためのコントラクトコードを含み、前記判定では、前記実行トランザクションデータを取得すると、前記一の装置の分散台帳に含まれる前記コントラクトコードを実行することで前記判定を実行してもよい。
 また、前記賛否トランザクションデータに含まれる前記賛否情報は、暗号化されており、前記賛否トランザクションデータを送信した装置又は端末に、暗号化された前記賛否情報を復号する復号鍵を要求するための要求情報を送信することで、前記装置又は前記端末から前記復号鍵を取得し、暗号化された前記賛否情報を前記復号鍵で復号し、復号された前記賛否情報に基づいて、前記通報が正しいか否かを判定してもよい。
 また、前記要求情報の送信では、前記要求情報を含む要求トランザクションデータを前記複数の他の装置に送信し、かつ、前記要求トランザクションデータを前記一の装置の分散台帳に格納し、前記復号鍵の取得では、前記復号鍵を含む復号鍵トランザクションデータを前記複数の他の装置から取得し、前記復号鍵トランザクションデータを前記一の装置の分散台帳に格納してもよい。
 また、本開示の一態様に係る装置は、分散台帳を保有する複数の装置を備える電子取引における不正取引通報システムにおいて、前記複数の装置のうちの一の装置であって、プロセッサと、メモリと、を備え、前記プロセッサは、前記メモリを用いて、取引が不正である疑いの通報を示す通報情報を含む通報トランザクションデータを取得し、取得した前記通報トランザクションデータを前記複数の装置のうちの複数の他の装置に転送し、かつ、前記通報トランザクションデータを前記一の装置の分散台帳に格納し、前記通報に対する賛否情報を含む賛否トランザクションデータを取得し、取得した前記賛否トランザクションデータを前記複数の他の装置に転送し、かつ、前記賛否トランザクションデータを前記一の装置の分散台帳に格納し、前記賛否トランザクションデータに含まれる前記賛否情報に基づいて、前記通報が正しいか否かを判定する。
 これによれば、分散台帳に格納されることで改ざんされにくい賛否情報に基づいて通報が正しいか否かを判定できる。このため、適切に不正取引を検知することができる。
 また、本開示の一態様に係るプログラムは、分散台帳を保有する複数の装置を備える電子取引における不正取引通報システムにおいて、前記複数の装置のうちの一の装置が実行する制御方法をコンピュータに実行させるためのプログラムであって、取引が不正である疑いの通報を示す通報情報を含む通報トランザクションデータを取得し、取得した前記通報トランザクションデータを前記複数の装置のうちの複数の他の装置に転送し、かつ、前記通報トランザクションデータを前記一の装置の分散台帳に格納し、前記通報に対する賛否情報を含む賛否トランザクションデータを取得し、取得した前記賛否トランザクションデータを前記複数の他の装置に転送し、かつ、前記賛否トランザクションデータを前記一の装置の分散台帳に格納し、前記賛否トランザクションデータに含まれる前記賛否情報に基づいて、前記通報が正しいか否かを判定することをコンピュータに実行させるためのプログラムである。
 これによれば、分散台帳に格納されることで改ざんされにくい賛否情報に基づいて通報が正しいか否かを判定できる。このため、適切に不正取引を検知することができる。
 以下、図面を参照しながら、実施の形態について説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。つまり、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素は、本開示の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。
 (実施の形態1)
 まず、本開示に係るシステム構成について説明する。
 本開示に係る管理システムは、それぞれユーザにより使用される3以上の端末と、1以上の認証サーバとを備え、新たに締結された契約の契約書つまり契約内容を監査させ、監査結果を受けて有効化された契約書を台帳に格納する。以下では、図面を参照しながら、本実施の形態に係る管理システムの構成等の説明を行う。
 [管理システム]
 図1は、実施の形態1に係る管理システムの構成の一例を示す図である。
 本実施の形態に係る管理システムは、図1に示すように、例えば、取引サーバ10と、端末20a~20xとを備える。これらは、ネットワークNで接続されている。ネットワークNは、例えば、インターネット、携帯電話のキャリアネットワークなどであるが、どのような通信回線またはネットワークから構成されてもよい。
 なお、以下では、端末20a~端末20xのそれぞれを端末20とも称するが、端末20a~端末20xを端末A~端末Xと称する場合もある。
 以下、取引サーバ10について説明する。
 [取引サーバ10]
 取引サーバ10は、分散台帳を保有する複数の装置のうちの一の装置の一例である。取引サーバ10は、取引事業者により管理されるサーバである。取引事業者は、例えば、複数のユーザに対して、電子商取引サービスを提供する事業者である。電子商取引サービスは、例えば、事業者と個人との間の取引のためのサービスを含んでいてもよいし、個人と個人との間の取引のためのサービスを含んでいてもよい。つまり、電子商取引サービスは、複数のユーザ間における取引のためのサービスを含んでいてもよい。電子商取引サービスによる取引は、ユーザ間において、物品とトークンとを交換する取引であってもよいし、サービスとトークンとを交換する取引であってもよい。
 図2は、実施の形態1に係る取引サーバ10の構成の一例を示す図である。
 取引サーバ10は、図2に示すように、通信部101と、判定部102と、情報生成部103と、トランザクションデータ生成部104と、トランザクションデータ検証部105と、記録部106と、分散台帳107とを備える。取引サーバ10は、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。以下、各構成要素について説明する。
 <通信部101>
 通信部101は、端末20から、通報情報を含む通報トランザクションデータを受信する。通信部101は、端末20から通報トランザクションデータを受信することで通報情報を取得する。通報情報は、取引が不正である疑いの通報を示す情報である。通報情報は、例えば、取引識別情報と、当該取引識別情報で示される取引に不正の疑いがあることを示す不正情報とを含む。通報情報は、さらに、通報したユーザを識別するユーザ識別情報を含んでいてもよい。ユーザ識別情報は、通報したユーザの電子署名であってもよい。不正情報は、対象の取引に不正の疑いがあることを示すだけでなく、不正の内容が示されていてもよい。不正の内容は、例えば、取引の対象となる物品又はサービスの実体が当該取引の名目とは異なる物品であること、取引の対象となる物品又はサービスに対して設定されている価格が標準的な価格から乖離していることなどである。標準的な価格から乖離しているとは、例えば、設定されている価格と標準的な価格との差が、標準的な価格の所定の割合の価格分より大きいことである。標準的な価格は、当該物品又は当該サービスと、同じ、同種又は同等の物品又はサービスが過去に取引されている実績に基づいて算出されてもよい。
 取引識別情報は、取引サービスにおいて扱われている取引を識別する情報である。取引識別情報は、例えば、取引IDであってもよいし、取引の対象となる物品またはサービスを提供するユーザのユーザIDと、当該ユーザが取り扱う物品またはサービスのシリアル番号との組み合わせであってもよい。通信部101は、端末20から通報情報を直接受信してもよい。
 また、通信部101は、端末20から、賛否情報を含む賛否トランザクションデータを受信する。通信部101は、複数の端末20から複数の賛否トランザクションデータを受信する。つまり、通信部101は、各端末20から賛否トランザクションデータを受信することで、複数の賛否トランザクションデータを取得する。賛否情報は、通報に対する賛否を示す情報、つまり、通報に対して賛成であるか反対であるかを示す情報である。賛否情報は、端末20のユーザによる、通報に対する賛否を示す情報を含む。賛否情報は、例えば、賛否の対象となる通報を示す通報情報を識別する通報識別情報と、当該通報に対する賛否を示す情報とを含む。賛否情報は、さらに、賛否の判定を行ったユーザを識別するユーザ識別情報を含んでいてもよい。ユーザ識別情報は、賛否の判定を行ったユーザの電子署名であってもよい。賛否情報は、賛成および反対の他に不明を示してもよい。
 また、賛否情報は、暗号化されていてもよい。賛否情報は、例えば、当該賛否情報が含まれる賛否トランザクションデータを送信した端末20が保有する秘密鍵により暗号化されていてもよい。通信部101は、複数の端末20から賛否情報を直接受信してもよい。
 また、通信部101は、要求情報を含む要求トランザクションデータを複数の端末20に送信する。要求情報は、暗号化された賛否情報を復号する復号鍵を、当該賛否情報が含まれる賛否トランザクションデータを送信した複数の端末20に要求するための情報である。要求する復号鍵は、例えば、各端末20が保有する秘密鍵と対の関係にある公開鍵であってもよい。通信部101は、各端末20へ要求情報を直接送信してもよい。
 また、通信部101は、復号鍵を含む復号鍵トランザクションデータを受信する。具体的には、通信部101は、要求情報を含む要求トランザクションデータを複数の端末20へ送信することで、復号鍵を複数の端末20から取得する。通信部101は、複数の端末20から復号鍵を直接受信してもよい。
 また、通信部101は、第1のトークンの量を含む第1トークントランザクションデータを複数の端末20に送信する。第1のトークンの量は、複数の賛否トランザクションデータを送信した複数のユーザである複数の投票者に付与するトークンの量を示す。言い換えると、第1のトークンの量は、複数の投票者に渡すトークンの量を示す。なお、第1のトークンの量は、賛否トランザクションデータを送信したユーザが1人である場合、1人の投票者に付与するトークンの量を示す。
 また、通信部101は、第2のトークンの量を含む第2トークントランザクションデータを複数の端末20に送信する。第2のトークンの量は、通報トランザクションデータを送信したユーザである通報者に付与するトークンの量を示す。言い換えると、第2のトークンの量は、通報者に渡すトークンの量を示す。
 また、通信部101は、第3のトークンの量を含む第3トークントランザクションデータを複数の端末20に送信する。第3のトークンの量は、通報トランザクションデータを送信したユーザである通報者から徴収するトークンの量を示す。言い換えると、第3のトークンの量は、通報者から受け取るトークンの量を示す。
 また、通信部101は、複数の端末20との間で各トランザクションデータのやり取りを行う。具体的には、通信部101は、複数の端末20へ各トランザクションデータを転送したり、複数の端末20から転送された各トランザクションデータを受信したりする。なお、各トランザクションデータは、通報トランザクションデータ、賛否トランザクションデータ、要求トランザクションデータ、復号鍵トランザクションデータ、第1トークントランザクションデータ、第2トークントランザクションデータ及び第3トークントランザクションデータのうちの1つを含む。
 このように、通信部101は、ネットワークNを介して複数の端末20との間で通信を行う。なお、この通信は、TLS(Transport Layer Security)によりなされてもよく、TLS通信用の暗号鍵は通信部101で保持してもよい。
 <判定部102>
 判定部102は、通信部101により取得された賛否トランザクションデータに含まれる賛否情報に基づいて、通信部101により取得された通報トランザクションデータに含まれる通報情報で示される通報が正しいか否かを判定する。具体的には、判定部102は、通信部101により取得された複数の賛否トランザクションデータに含まれる複数の賛否情報に基づいて、当該複数の賛否情報のうちで賛成を示す賛否情報の数が所定の閾値よりも多い場合に通報が正しいと判定し、賛成を示す賛否情報の数が所定の閾値よりも少ない場合に通報が正しくないと判定する。つまり、取引サーバ10は、複数の端末20から複数の賛否情報を集めることで、複数のユーザが通報に対する賛否の投票を受け付け、投票結果において賛成票が所定の閾値よりも多い場合に通報が正しいと判定し、賛成票が所定の閾値よりも少ない場合に通報が正しくないと判定する。なお、賛成票が所定の閾値と等しい場合は、通報が正しいと判定してもよいし、通報が正しくないと判定してもよいし、不明と判定してもよい。
 所定の閾値は、例えば、通信部101により取得された賛否トランザクションデータの数、又は、賛否情報の数を基準として算出される過半数であってもよいし、賛否トランザクションデータの数、又は、賛否情報の数に所定の割合を乗じることで算出される数であってもよい。所定の割合は、例えば、40%~60%のうちの固定値であってもよいし、40%~60%のうちで所定の条件に応じて変動する変動値であってもよい。
 <情報生成部103>
 情報生成部103は、例えば、要求情報を生成する。また、情報生成部103は、例えば、第1のトークンの量を生成する。また、情報生成部103は、例えば、第2のトークンの量を生成する。また、情報生成部103は、例えば、第3のトークンの量を生成する。要求情報、第1のトークンの量、第2のトークンの量、及び、第3のトークンの量の詳細の説明は、上述において説明したため、省略する。
 <トランザクションデータ生成部104>
 トランザクションデータ生成部104は、要求トランザクションデータを生成する。本実施の形態では、トランザクションデータ生成部104は、情報生成部103により生成された要求情報を含む要求トランザクションデータを生成する。
 また、トランザクションデータ生成部104は、第1トークントランザクションデータを生成する。本実施の形態では、トランザクションデータ生成部104は、情報生成部103により生成された第1のトークンの量を含む第1トークントランザクションデータを生成する。第1トークントランザクションデータは、第1のトークンの量の他に、投票者であるユーザを識別するユーザ識別情報を含んでいてもよい。
 また、トランザクションデータ生成部104は、第2トークントランザクションデータを生成する。本実施の形態では、トランザクションデータ生成部104は、情報生成部103により生成された第2のトークンの量を含む第2トークントランザクションデータを生成する。第2トークントランザクションデータは、第2のトークンの量の他に、通報者であるユーザを識別するユーザ識別情報を含んでいてもよい。
 また、トランザクションデータ生成部104は、第3トークントランザクションデータを生成する。本実施の形態では、トランザクションデータ生成部104は、情報生成部103により生成された第3のトークンの量を含む第3トークントランザクションデータを生成する。第3トークントランザクションデータは、第3のトークンの量の他に、通報者であるユーザを識別するユーザ識別情報を含んでいてもよい。
 トランザクションデータ生成部104は、通信部101を介して、生成した要求トランザクションデータを複数の端末20に送信する。また、トランザクションデータ生成部104は、通信部101を介して、生成した第1トークントランザクションデータを複数の端末20に送信する。また、トランザクションデータ生成部104は、通信部101を介して、生成した第2トークントランザクションデータを複数の端末20に送信する。また、トランザクションデータ生成部104は、通信部101を介して、生成した第3トークントランザクションデータを複数の端末20に送信する。
 <トランザクションデータ検証部105>
 トランザクションデータ検証部105は、通信部101がトランザクションデータを受信したとき、そのトランザクションデータの正当性を検証する。例えば、トランザクションデータ検証部105は、通信部101が受信したトランザクションデータに、正しい方法で生成された電子署名が付与されているかなどを検証する。なお、この検証はスキップされてもよい。ここで、通信部101が受信するトランザクションデータは、通報トランザクションデータ、賛否トランザクションデータ、要求トランザクションデータ、復号鍵トランザクションデータ、第1トークントランザクションデータ、第2トークントランザクションデータ及び第3トークントランザクションデータのいずれかである。
 また、トランザクションデータ検証部105は、複数の端末20とともに、トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する。
 ここで、コンセンサスアルゴリズムには、PBFT(Practical Byzantine Fault Tolerance)が用いられてもよいし、その他の公知のコンセンサスアルゴリズムが用いられてもよい。公知のコンセンサスアルゴリズムとしては、例えばPoW(Proof of Work)またはPoS(Proof of Stake)などがある。コンセンサスアルゴリズムにPBFTが用いられる場合、トランザクションデータ検証部105は、複数の端末20のそれぞれからトランザクションデータの検証が成功したか否かを示す報告を受け取り、当該報告の数が所定の数を超えたか否かを判定する。そして、トランザクションデータ検証部105は、当該報告の数が所定の数を超えたとき、コンセンサスアルゴリズムによってトランザクションデータの正当性が検証されたと判定すればよい。
 トランザクションデータ検証部105は、トランザクションデータの正当性を確認した場合、記録部106にそのトランザクションデータを記録させる。
 本実施の形態では、トランザクションデータ検証部105は、通信部101が受信した通報トランザクションデータ、賛否トランザクションデータ、要求トランザクションデータ、復号鍵トランザクションデータ、第1トークントランザクションデータ、第2トークントランザクションデータ及び第3トークントランザクションデータの正当性を検証する。
 <記録部106>
 記録部106は、トランザクションデータ検証部105により正当性の検証がなされたトランザクションデータをブロックに含めて分散台帳107に格納することで、トランザクションデータを記録する。
 なお、記録部106は、分散台帳107が内部に構成されていてもよい。
 <分散台帳107>
 分散台帳107は、取引情報及び通報情報を含む通報トランザクションデータ、通報情報及び賛否情報を含む賛否トランザクションデータ、要求情報を含む要求トランザクションデータ、復号鍵を含む復号鍵トランザクションデータ、第1のトークンの量を含む第1トークントランザクションデータ、第2のトークンの量を含む第2トークントランザクションデータ、及び、第3のトークンの量を含む第3トークントランザクションデータを格納している。
 続いて、端末20a~端末20xについて説明する。なお、端末20a~端末20xの構成は共通しているので、端末20と称して説明する。
 [端末20]
 端末20は、ユーザにより使用される端末の一例である。端末20は、例えばパーソナルコンピュータであってもよいし、スマートフォン及びタブレットなどの携帯端末であってもよい。複数の端末20は、取引サーバ10により提供される電子商取引サービスを利用している複数のユーザにより使用される端末である。複数のユーザは、例えば、取引の対象となる物品またはサービスを提供する第1ユーザと、第1ユーザにより提供される物品またはサービスと取引を行う第2ユーザとを含む。第1ユーザは、例えば、物品又はサービスの出品者であり、第2ユーザは、例えば、物品又はサービスの購入者である。
 図3は、実施の形態1に係る端末20の構成の一例を示す図である。
 本実施の形態に係る端末20は、通信部201と、入力部202と、表示部203と、情報生成部204と、トランザクションデータ生成部205と、トランザクションデータ検証部206と、記録部207と、分散台帳208と、記憶部209とを備える。
 <通信部201>
 通信部201は、ネットワークNを介して情報を取引サーバ10又は他の端末20に送信したり、取引サーバ10又は他の端末20から情報を受信したりまたは通知されたりする。やり取りする情報は、各種のトランザクションデータを含む。
 このように、通信部201は、ネットワークNを介して取引サーバ10又は他の端末20との間で通信を行う。なお、この通信は、TLS(Transport Layer Security)によりなされてもよく、TLS通信用の暗号鍵は通信部201で保持してもよい。
 <入力部202>
 入力部202は、ユーザの操作による情報入力を受け付ける。入力部202は、受け付けた情報入力を、表示部203に表示したり、情報生成部204に送信したり、通信部201に送信したりする。
 例えば、入力部202は、取引サーバ10により提供されている取引に不正の疑いがあることを示す入力を通報として受け付けてもよい。入力部202は、当該取引を示す表示(UI:User Interface)において、通報と共にユーザの電子署名を受け付けてもよい。入力部202は、受け付けた通報と、ユーザの電子署名とを、情報生成部204に送信する。
 例えば、入力部202は、通報情報で示される通報に対する賛否を端末20のユーザに確認するための表示(UI)への入力を、当該ユーザによる賛否の結果として受け付ける。この表示(UI)は、表示部203に表示される。入力部202は、ユーザの電子署名を受け付けてもよい。入力部202は、受け付けた賛否の結果と、ユーザの電子署名とを、情報生成部204に送信する。
 <表示部203>
 表示部203は、入力部202が受け付けた情報入力を表示する。表示部203は、取引サーバ10から送信された情報を表示する。
 例えば、表示部203は、取引を示す表示(UI:User Interface)を表示してもよい。また、例えば、表示部203は、通報情報で示される通報に対する賛否を端末20のユーザに確認するための表示(UI)を表示する。
 <情報生成部204>
 情報生成部204は、例えば、通報情報を生成する。また、情報生成部204は、例えば、賛否情報を生成する。情報生成部204は、賛否情報を暗号化してもよい。情報生成部204は、例えば、記憶部209に記憶されている端末20の秘密鍵を用いて賛否情報を暗号化してもよい。なお、通報情報及び賛否情報の詳細の説明は、上述において説明したため、省略する。
 <トランザクションデータ生成部205>
 トランザクションデータ生成部205は、通報トランザクションデータを生成する。本実施の形態では、トランザクションデータ生成部205は、情報生成部204により生成された通報情報を含む通報トランザクションデータを生成する。
 また、トランザクションデータ生成部205は、賛否トランザクションデータを生成する。本実施の形態では、トランザクションデータ生成部205は、情報生成部204により生成された賛否情報を含む賛否トランザクションデータを生成する。
 また、トランザクションデータ生成部205は、復号鍵トランザクションデータを生成する。本実施の形態では、トランザクションデータ生成部205は、記憶部209に記憶されている端末20の復号鍵を含む復号鍵トランザクションデータを生成する。復号鍵トランザクションデータは、復号鍵の他に、端末20のユーザを識別するユーザ識別情報を含んでいてもよい。ユーザ識別情報は、端末20のユーザの電子署名であってもよい。復号鍵は、例えば、端末20に記憶されている秘密鍵と対の関係にある公開鍵である。
 トランザクションデータ生成部205は、通信部201を介して、生成した通報トランザクションデータを取引サーバ10に送信する。また、トランザクションデータ生成部205は、通信部201を介して、生成した賛否トランザクションデータを取引サーバ10に送信する。
 <トランザクションデータ検証部206>
 トランザクションデータ検証部206は、通信部201がトランザクションデータを受信したとき、そのトランザクションデータの正当性を検証する。なお、この検証はスキップされてもよい。
 また、トランザクションデータ検証部206は、他の端末20及び取引サーバ10とともに、トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する。トランザクションデータ検証部206は、トランザクションデータの正当性を確認した場合、記録部207にトランザクションデータを記録させる。
 本実施の形態では、トランザクションデータ検証部206は、通信部201が受信した通報トランザクションデータ、賛否トランザクションデータ、要求トランザクションデータ、復号鍵トランザクションデータ、第1トークントランザクションデータ、第2トークントランザクションデータ及び第3トークントランザクションデータの正当性を検証する。
 さらに、トランザクションデータ検証部206は、各トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する。そして、トランザクションデータ検証部206は、各トランザクションデータの正当性を確認した場合、記録部207に各トランザクションデータを記録させる。
 <記録部207>
 記録部207は、トランザクションデータ検証部206により正当性の検証がなされたトランザクションデータをブロックに含めて分散台帳208に格納することで、そのトランザクションデータを記録する。
 なお、記録部207は、分散台帳208が内部に構成されていてもよい。
 <分散台帳208>
 分散台帳208は、取引情報及び通報情報を含む通報トランザクションデータ、通報情報及び賛否情報を含む賛否トランザクションデータ、要求情報を含む要求トランザクションデータ、復号鍵を含む復号鍵トランザクションデータ、第1のトークンの量を含む第1トークントランザクションデータ、第2のトークンの量を含む第2トークントランザクションデータ、及び、第3のトークンの量を含む第3トークントランザクションデータを格納している。
 <記憶部209>
 記憶部209は、端末20の暗号化を行うための暗号鍵、及び、当該暗号鍵で暗号化されたデータを復号する復号鍵を記憶している。暗号鍵と復号鍵とは、対の関係にある。暗号鍵は、例えば、秘密鍵であり、復号鍵は、例えば、公開鍵である。
 [管理システムの動作等]
 次に、以上のように構成された管理システムの動作について説明する。
 図4及び図5は、実施の形態1に係る管理システムの不正取引検知処理の第1の例を示すシーケンス図である。図5は、図4の続きの処理を示す。
 図4及び図5で示される端末A、端末B及び端末Cは、それぞれ、ユーザA、ユーザB及びユーザCにより操作される端末20である。つまり、端末A、端末B及び端末Cは、複数の端末20に含まれる。端末Aは、取引サーバ10により提供されている電子商取引サービスに、ユーザAのユーザIDを用いて認証された端末である。端末Bは、取引サーバ10により提供されている電子商取引サービスに、ユーザBのユーザIDを用いて認証された端末である。端末Cは、取引サーバ10により提供されている電子商取引サービスに、ユーザCのユーザIDを用いて認証された端末である。
 まず、端末CのユーザCが端末Cを用いて、電子商取引サービスで扱われている複数の取引のうちの一の取引に不正の疑いがあることを示す入力を行ったものとする。つまり、ユーザCは、通報を行う通報者である。また、ユーザA及びユーザBは、賛否について投票する投票者である。
 端末Cは、入力に基づいて生成された通報情報を含む通報トランザクションデータを取引サーバ10へ送信する(S101)。
 次に、取引サーバ10は、端末Cから受信した通報トランザクションデータを、端末Cを含む複数の端末20へ転送する(S102)。
 次に、取引サーバ10及び複数の端末20は、コンセンサスアルゴリズムを実行し、通報トランザクションデータを含むブロックを生成して、分散台帳107、208に格納する(S103)。
 次に、端末A及び端末Bのそれぞれは、賛否トランザクションデータを生成し、賛否トランザクションデータを取引サーバ10へ送信する(S104、S105)。具体的には、端末Aは、ステップS103の後で、通報トランザクションデータに含まれる通報情報で示される通報に対する賛否を確認するための表示(UI)を表示することで、ユーザAに当該賛否の入力を促す。そして、端末Aは、ユーザAから賛否の入力を受け付けることで、賛否情報を生成し、生成された賛否情報を含む賛否トランザクションデータを生成する。なお、端末Bについても同様の処理が行われることで、賛否トランザクションデータが生成される。
 次に、取引サーバ10は、端末Aから受信した賛否トランザクションデータ、及び、端末Bから受信した賛否トランザクションデータを、端末A及び端末Bを含む複数の端末20へ転送する(S106)。
 次に、取引サーバ10及び複数の端末20は、コンセンサスアルゴリズムを実行し、賛否トランザクションデータを含むブロックを生成して、分散台帳107、208に格納する(S107)。なお、ステップS107では、端末Aから受信した賛否トランザクションデータ、及び、端末Bから受信した賛否トランザクションデータをまとめて処理してもよいし、個別に処理してもよい。
 次に、取引サーバ10は、投票終了条件が満たされたか否かを判定する(S108)。投票終了条件は、通報が行われた日時を基準として設定される当該日時よりも後の投票期限を過ぎることである。投票期限は、具体的には、通報が行われた日時から所定期間後の日時に設定される。投票期限は、所定期間で示されてもよいし、所定期間後の日時で示されてもよい。通報が行われた日時は、例えば、通報情報が生成された日時であってもよいし、取引サーバ10が通報トランザクションデータを受信した日時であってもよい。また、投票終了条件は、取引サーバ10が受信した通報トランザクションデータの数が所定の数に達することである。所定の数は、通報者以外のユーザの数の所定の割合の数であってもよい。
 取引サーバ10は、投票終了条件が満たされたと判定した場合(S108でYes)次のステップS109の処理を実行し、投票終了条件が満たされていないと判定した場合(S108でNo)、端末A及び端末Bからの賛否トランザクションデータの受信、転送、及び、コンセンサスアルゴリズムの実行を待機する。
 ステップS109では、取引サーバ10は、要求トランザクションデータを生成し、要求トランザクションデータを複数の端末20へ送信する(S109)。
 次に、取引サーバ10及び複数の端末20は、コンセンサスアルゴリズムを実行し、要求トランザクションデータを含むブロックを生成して、分散台帳107、208に格納する(S110)。
 次に、端末A及び端末Bのそれぞれは、復号鍵トランザクションデータを生成し、復号鍵トランザクションデータを取引サーバ10へ送信する(S111、S112)。具体的には、端末Aは、ステップS110の後で、要求トランザクションデータに含まれる要求情報に応じて、記憶部209に記憶されている復号鍵を含む復号鍵トランザクションデータを生成する。なお、端末Bについても同様の処理が行われることで、復号鍵トランザクションデータが生成される。
 次に、取引サーバ10は、端末Aから受信した復号鍵トランザクションデータ、及び、端末Bから受信した復号鍵トランザクションデータを、端末A及び端末Bを含む複数の端末20へ転送する(S113)。
 次に、取引サーバ10及び複数の端末20は、コンセンサスアルゴリズムを実行し、復号鍵トランザクションデータを含むブロックを生成して、分散台帳107、208に格納する(S114)。
 次に、取引サーバ10は、端末A及び端末Bのそれぞれから取得した賛否トランザクションデータ及び復号鍵トランザクションデータを用いて、投票結果を集計する(S115)。具体的には、取引サーバ10は、各端末20から取得した復号鍵トランザクションデータに含まれる復号鍵を用いて、当該端末20から取得した賛否トランザクションデータに含まれる暗号化された賛否情報を復号する。取引サーバ10は、例えば、復号した賛否情報が賛成を示している場合、賛成のカウント値に1を加える。さらに、取引サーバ10は、例えば、復号した賛否情報が反対を示している場合、反対のカウント値に1を加えてもよい。取引サーバ10は、受信した複数の賛否トランザクションデータのそれぞれについて、上記の処理を繰り返すことで、賛成の数(あるいは反対の数)をカウントする。賛成の数は、言い換えると、取引サーバ10が受信した複数の賛否トランザクションデータに含まれる複数の賛否情報のうちで、賛成を示す賛否情報の数である。このように、取引サーバ10は、賛成の数(あるいは反対の数)をカウントすることで、投票結果を集計する。
 次に、取引サーバ10は、通報が成功したか否かを判定する(S116)。具体的には、取引サーバ10は、賛成の数(つまり賛成を示す賛否情報の数)が所定の閾値よりも多い場合に通報が成功したと判定し、賛成の数が所定の閾値よりも少ない場合に通報が失敗したと判定する。通報が成功したとは、通報が正しいと言い換えることもでき、通報が失敗したとは、通報が正しくないと言い換えることもできる。
 取引サーバ10は、通報が成功したと判定した場合(S116でYes)、通報された取引を中止する(S117)。具体的には、取引サーバ10は、通報された取引が中止されたか否かを示すフラグをONにする、つまり、フラグの値を、取引中であることを示す値から中止されたことを示す値に切り替えることで、取引を中止してもよい。取引サーバ10は、取引が中止されると、電子商取引サービスにおいて、当該取引が中止されていることを示す表示をしてもよいし、当該取引に対するユーザからの入力を受け付けない状態に変更してもよい。
 次に、取引サーバ10は、第1トークントランザクションデータ及び第2トークントランザクションデータを生成する(S118)。
 次に、取引サーバ10は、生成した第1トークントランザクションデータ及び第2トークントランザクションデータを複数の端末20に送信する(S119)。
 次に、取引サーバ10及び複数の端末20は、コンセンサスアルゴリズムを実行し、第1トークントランザクションデータを含むブロック、及び、第2トークントランザクションデータを含むブロックを生成して、これらのブロックを分散台帳107、208に格納する(S120)。これにより、取引サーバ10では、投票者には第1のトークンの量のトークンが付与される処理が実行され、通報者には第2のトークンの量のトークンが付与される処理が実行される。取引サーバ10は、各投票者の端末20に対して、当該投票者に第1のトークンの量のトークンが付与された旨の通知を行ってもよい。また、取引サーバ10は、通報者の端末20に対して、当該通報者に第2のトークンの量のトークンが付与された旨の通知を行ってもよい。
 なお、取引サーバ10は、ステップS118において、第1のトークンの量及び第2のトークンの量を含むトークントランザクションデータを生成してもよい。取引サーバ10は、ステップS119において、生成したトークントランザクションデータを複数の端末20に送信してもよい。そして、取引サーバ10及び複数の端末20は、ステップS120において、コンセンサスアルゴリズムを実行し、トークントランザクションデータを含むブロックを生成して、分散台帳107、208に格納してもよい。
 取引サーバ10は、通報が失敗したと判定した場合(S116でNo)、第3トークントランザクションデータを生成する(S121)。
 次に、取引サーバ10は、生成した第3トークントランザクションデータを複数の端末20に送信する(S122)。
 次に、取引サーバ10及び複数の端末20は、コンセンサスアルゴリズムを実行し、第3トークントランザクションデータを含むブロックを生成して、分散台帳107、208に格納する(S123)。これにより、取引サーバ10では、通報者から第3のトークンの量のトークンを徴収する処理が実行される。取引サーバ10は、通報者の端末20に対して、当該通報者に第3のトークンの量のトークンが徴収された旨の通知を行ってもよい。
 なお、取引サーバ10は、ステップS121において、さらに第1トークントランザクションデータを生成してもよい。この場合、取引サーバ10は、ステップS122において、さらに生成した第1トークントランザクションデータを複数の端末20に送信する。そして、取引サーバ10及び複数の端末20は、ステップS123において、さらに、コンセンサスアルゴリズムを実行し、第1トークントランザクションデータを含むブロックを生成して、分散台帳107、208に格納してもよい。これにより、取引サーバ10では、投票者には第1のトークンの量のトークンが付与される処理が実行される。取引サーバ10は、各投票者の端末20に対して、当該投票者に第1のトークンの量のトークンが付与された旨の通知を行ってもよい。
 図6及び図7は、実施の形態1に係る管理システムの不正取引検知処理の第2の例を示すシーケンス図である。図7は、図6の続きの処理を示す。
 第2の例は、第1の例において行われる各処理をスマートコントラクトで実行する例である。つまり、第2の例では、分散台帳107、208に、第1の例において行われる各処理を実行するコントラクトコードが格納されている。各処理とは、賛否情報を受け付ける処理(つまり、投票する処理)、投票終了条件を判定する処理、賛否情報を復号する処理、投票結果を集計する処理、通報が正しいか否かを判定する処理、取引を中止する処理、及び、トークンを通報者又は投票者に付与又は徴収する処理のいずれかを含む。図6及び図7では、これらの処理の全てがスマートコントラクトで実行される例について説明するが、これに限らない。例えば、これらの処理の一部がスマートコントラクトで実行され、残りの一部がスマートコントラクトで実行されずに取引サーバ10及び複数の端末20のうちの1つの装置により実行されてもよい。
 図6及び図7で示される端末A、端末B及び端末Cは、第1の例と同じである。また、ユーザA、ユーザB及びユーザCも、第1の例と同じである。
 まず、第1の例のステップS101~S107と同じ処理が行われる。
 次に、取引サーバ10及び複数の端末20は、賛否トランザクションデータについてコンセンサスアルゴリズムが実行されると、スマートコントラクトによって投票関数を実行する(S131~S134)。第2の例では、賛否トランザクションデータは、スマートコントラクトアドレスと、実行関数としての投票関数と、引数としての賛否情報と、各ユーザのユーザIDとを含む。各ユーザのユーザIDは、賛否トランザクションデータを生成した端末20を保有するユーザのユーザIDである。投票関数は、賛否を投票する処理を実行するための関数である。ステップS131~S134のそれぞれの処理は、賛否トランザクションデータの数だけ行われる。つまり、ステップS131~S134のそれぞれの処理は、投票の数だけ行われる。
 次に、端末A及び端末Bのそれぞれは、確認トランザクションデータを生成し、確認トランザクションデータを取引サーバ10へ送信する(S135、S136)。具体的には、端末Aは、ステップS131の後で、投票が終了したか否かの確認を実行するための確認関数を含む確認トランザクションデータを生成し、生成した確認トランザクションデータを取引サーバ10へ送信する。確認トランザクションデータは、スマートコントラクトアドレスと、実行関数としての終了確認関数と、引数としての現在時刻と、各ユーザのユーザIDとを含む。各ユーザのユーザIDは、確認トランザクションデータを生成した端末20を保有するユーザのユーザIDである。つまり、ユーザIDは、端末20が端末Aの場合には、ユーザAのユーザIDである。端末Aは、ステップS131の後で定期的に、確認トランザクションデータを生成し、生成した確認トランザクションデータを取引サーバ10へ送信する。なお、端末Bについても同様の処理が行われることで、確認トランザクションデータが生成され、生成された確認トランザクションデータが取引サーバ10へ送信される。
 次に、取引サーバ10は、端末Aから受信した確認トランザクションデータ、及び、端末Bから受信した確認トランザクションデータを、端末A及び端末Bを含む複数の端末20へ転送する(S137)。
 次に、取引サーバ10及び複数の端末20は、コンセンサスアルゴリズムを実行し、確認トランザクションデータを含むブロックを生成して、分散台帳107、208に格納する(S138)。
 次に、取引サーバ10及び複数の端末20のそれぞれは、確認トランザクションデータについてコンセンサスアルゴリズムが実行されると、スマートコントラクトによって終了確認関数を実行する(S139~S146)。終了確認関数は、投票終了条件を判定するための関数である。具体的には、取引サーバ10及び複数の端末20のそれぞれは、終了確認関数を実行することで、投票終了条件が満たされたか否かを判定する(S139~S142)。この処理は、第1の例のステップS108と同様であるので詳細な説明を省略する。投票終了条件が満たされたと判定した場合(S139~S142でYes)、取引サーバ10及び複数の端末20は、投票完了フラグをONにする、つまり、フラグの値を投票が未完了を示す値から投票が完了したことを示す値に切り替える(S143~S146)。取引サーバ10及び複数の端末20のそれぞれは、投票終了条件が満たされていないと判定した場合(S139~S142でNo)、ステップS139~S142の処理に戻る。
 次に、端末A及び端末Bは、投票完了フラグがONであることを確認する(S147、S148)。
 次に、端末A及び端末Bは、投票完了フラグがONである場合、復号鍵トランザクションデータを生成し、復号鍵トランザクションデータを取引サーバ10へ送信する(S149、S150)。具体的には、端末Aは、ステップS147の後で、復号鍵トランザクションデータを生成し、生成した復号鍵トランザクションデータを取引サーバ10へ送信する。第2の例において、復号鍵トランザクションデータは、スマートコントラクトアドレスと、実行関数としての復号関数と、引数としての復号鍵と、各ユーザのユーザIDとを含む。各ユーザのユーザIDは、復号鍵トランザクションデータを生成した端末20を保有するユーザのユーザIDである。つまり、ユーザIDは、端末20が端末Aの場合には、ユーザAのユーザIDである。なお、端末Bについても同様の処理が行われることで、復号鍵トランザクションデータが生成され、生成された復号鍵トランザクションデータが取引サーバ10へ送信される。
 次に、取引サーバ10は、端末Aから受信した復号鍵トランザクションデータ、及び、端末Bから受信した復号鍵トランザクションデータを、端末A及び端末Bを含む複数の端末20へ転送する(S151)。
 次に、取引サーバ10及び複数の端末20は、コンセンサスアルゴリズムを実行し、確認トランザクションデータを含むブロックを生成して、分散台帳107、208に格納する(S152)。
 次に、取引サーバ10及び複数の端末20は、復号鍵トランザクションデータについてコンセンサスアルゴリズムが実行されると、スマートコントラクトによって復号関数を実行する(S153~S156)。復号関数は、暗号化された賛否情報を、復号鍵を用いて復号するための関数である。具体的には、取引サーバ10及び複数の端末20のそれぞれは、各端末20から取得した復号鍵トランザクションデータに含まれる復号鍵を用いて、当該端末20から取得した賛否トランザクションデータに含まれる暗号化された賛否情報を復号する。復号結果は、例えば、取引サーバ10及び複数の端末20のそれぞれが備える記憶部に記憶される。復号結果は、一時的に記憶部に記憶されてもよい。ステップS153~S156のそれぞれの処理は、復号鍵トランザクションデータの数だけ行われる。つまり、ステップS153~S156のそれぞれの処理は、復号鍵の数だけ行われる。
 次に、端末A及び端末Bのそれぞれは、集計トランザクションデータを生成し、集計トランザクションデータを取引サーバ10へ送信する(S157、S158)。具体的には、端末Aは、ステップS153の後で、投票結果を集計するための集計関数を含む集計トランザクションデータを生成し、生成した集計トランザクションデータを取引サーバ10へ送信する。集計トランザクションデータは、スマートコントラクトアドレスと、実行関数としての集計関数と、引数としての現在時刻と、各ユーザのユーザIDとを含む。各ユーザのユーザIDは、集計トランザクションデータを生成した端末20を保有するユーザのユーザIDである。つまり、ユーザIDは、端末20が端末Aの場合には、ユーザAのユーザIDである。端末Aは、ステップS153の後で定期的に、集計トランザクションデータを生成し、生成した集計トランザクションデータを取引サーバ10へ送信する。なお、端末Bについても同様の処理が行われることで、集計トランザクションデータが生成され、生成された集計トランザクションデータが取引サーバ10へ送信される。
 次に、取引サーバ10は、端末Aから受信した集計トランザクションデータ、及び、端末Bから受信した集計トランザクションデータを、端末A及び端末Bを含む複数の端末20へ転送する(S159)。
 次に、取引サーバ10及び複数の端末20は、コンセンサスアルゴリズムを実行し、集計トランザクションデータを含むブロックを生成して、分散台帳107、208に格納する(S160)。
 次に、取引サーバ10及び複数の端末20のそれぞれは、集計トランザクションデータについてコンセンサスアルゴリズムが実行されると、スマートコントラクトによって集計関数を実行する(S161~S168)。具体的には、取引サーバ10及び複数の端末20のそれぞれは、投票終了条件が満たされたか否かを判定する(S161~S164)。投票終了条件が満たされたと判定した場合(S161~S164でYes)、取引サーバ10及び複数の端末20のそれぞれは、集計関数を実行する(S165~S168)。集計関数は、投票結果を集計するための関数である。取引サーバ10及び複数の端末20は、集計関数を実行することで、集計処理を行う。取引サーバ10及び複数の端末20は、投票終了条件が満たされていないと判定した場合(S161~S164でNo)、ステップS161~S164の処理に戻る。
 図8は、実施の形態1における集計処理の一例を示すフローチャートである。
 集計処理が開始されると、取引サーバ10及び複数の端末20のそれぞれは、投票結果を集計する(S171)。具体的には、取引サーバ10及び複数の端末20のそれぞれは、例えば、復号した賛否情報が賛成を示している場合、賛成のカウント値に1を加える。さらに、取引サーバ10及び複数の端末20は、例えば、復号した賛否情報が反対を示している場合、反対のカウント値に1を加えてもよい。取引サーバ10及び複数の端末20は、受信した複数の賛否トランザクションデータのそれぞれについて、上記の処理を繰り返すことで、賛成の数(あるいは反対の数)をカウントする。賛成の数は、言い換えると、取引サーバ10が受信した複数の賛否トランザクションデータに含まれる複数の賛否情報のうちで、賛成を示す賛否情報の数である。このように、取引サーバ10及び複数の端末20のそれぞれは、賛成の数(あるいは反対の数)をカウントすることで、投票結果を集計する。
 次に、取引サーバ10及び複数の端末20のそれぞれは、通報が成功したか否かを判定する(S172)。この判定は、第1の例のステップS116と同じであるので詳細な説明を省略する。
 取引サーバ10及び複数の端末20のそれぞれは、通報が成功したと判定した場合(S172でYes)、通報された取引を中止する(S173)。この処理は、第1の例のステップS117と同じであるので詳細な説明を省略する。
 次に、取引サーバ10及び複数の端末20のそれぞれは、通報者に対して第2のトークンの量のトークンを付与する処理を実行する(S174)。なお、取引サーバ10及び複数の端末20のそれぞれは、投票者に第1のトークンの量のトークンが付与する処理を実行してもよい。
 一方で、取引サーバ10及び複数の端末20のそれぞれは、通報が失敗したと判定した場合(S172でNo)、通報者に対して第3のトークンの量のトークンを徴収する処理を実行する(S175)。なお、取引サーバ10及び複数の端末20のそれぞれは、投票者に第1のトークンの量のトークンが付与する処理を実行してもよい。
 図9は、実施の形態1に係る管理システムの不正取引検知処理の第3の例を示すシーケンス図である。第3の例は、前半部分の処理が第2の例と共通しているため、第2の例と異なる処理について主に説明する。具体的には、第3の例は、第2の例の図6で説明した処理が共通している。図9は、図6の続きの処理を示す。
 第2の例では、復号処理と集計処理とを別々で行うとしたが、第3の例では、復号処理及び集計処理をまとめて行う。
 図6の続きの処理から説明する。
 ステップS147は、第2の例と同じである。
 次に、端末A及び端末Bは、投票完了フラグがONである場合、格納トランザクションデータを生成し、格納トランザクションデータを取引サーバ10へ送信する(S181、S182)。具体的には、端末Aは、ステップS147の後で、格納トランザクションデータを生成し、生成した格納トランザクションデータを取引サーバ10へ送信する。格納トランザクションデータは、スマートコントラクトアドレスと、実行関数としての格納関数と、引数としての復号鍵と、各ユーザのユーザIDとを含む。各ユーザのユーザIDは、格納トランザクションデータを生成した端末20を保有するユーザのユーザIDである。つまり、ユーザIDは、端末20が端末Aの場合には、ユーザAのユーザIDである。なお、端末Bについても同様の処理が行われることで、格納トランザクションデータが生成され、生成された復号鍵トランザクションデータが取引サーバ10へ送信される。
 次に、取引サーバ10は、端末Aから受信した格納トランザクションデータ、及び、端末Bから受信した格納トランザクションデータを、端末A及び端末Bを含む複数の端末20へ転送する(S183)。
 次に、取引サーバ10及び複数の端末20は、コンセンサスアルゴリズムを実行し、格納トランザクションデータを含むブロックを生成して、分散台帳107、208に格納する(S184)。
 次に、取引サーバ10及び複数の端末20は、格納トランザクションデータについてコンセンサスアルゴリズムが実行されると、スマートコントラクトによって格納関数を実行する(S185~S188)。格納関数は、復号鍵を各記憶部に格納するための関数である。具体的には、取引サーバ10及び複数の端末20は、各端末20から取得した格納トランザクションデータに含まれる復号鍵を取引サーバ10及び複数の端末20のそれぞれが備える記憶部に格納する。ステップS185~S188のそれぞれの処理は、格納トランザクションデータの数だけ行われる。つまり、ステップS185~S188のそれぞれの処理は、復号鍵の数だけ行われる。
 次に、第2の例におけるステップS157~S160と同様の処理が行われる。
 次に、取引サーバ10及び複数の端末20は、集計トランザクションデータについてコンセンサスアルゴリズムが実行されると、スマートコントラクトによって集計関数を実行する(S161~S168、S189~S192)。具体的には、取引サーバ10及び複数の端末20は、投票終了条件が満たされたか否かを判定する(S161~S164)。投票終了条件が満たされたと判定した場合(S161~S164でYes)、取引サーバ10及び複数の端末20のそれぞれは、賛否情報を復号する(S189~S192)。そして、取引サーバ10及び複数の端末20のそれぞれは、集計関数を実行する(S165~S168)。集計関数は、投票結果を集計するための関数である。取引サーバ10及び複数の端末20は、集計関数を実行することで、集計処理を行う。取引サーバ10及び複数の端末20は、投票終了条件が満たされていないと判定した場合(S161~S164でNo)、ステップS161~S164の処理に戻る。なお、集計処理は、第2の例と同じであるため詳細な説明を省略する。
 [効果等]
 以上のように、実施の形態1に係る管理システム等によれば、分散台帳に格納されることで改ざんされにくい賛否情報に基づいて通報が正しいか否かを判定できる。このため、適切に不正取引を検知することができる。
 また、実施の形態1に係る管理システム等によれば、複数の賛否情報を用いて、賛成の数が所定の閾値より多い場合に通報が正しいと判定し、所定の閾値よりも少ない場合に通報が正しくないと判定するため、より適切に不正取引を検知することができる。
 また、実施の形態1に係る管理システム等によれば、投票者にトークンを渡すため、投票者に投票を促すインセンティブを付与することができる。よって、投票者の数を増やすことができ、通報に対して偏った判定が為されることを抑制することができ、より適切に不正取引を検知することができる。
 また、実施の形態1に係る管理システム等によれば、通報が正しいと判定された場合、取引を中止するため、不正取引が継続されることを抑制することができる。
 また、実施の形態1に係る管理システム等によれば、正しい通報を行った通報者に対してトークンを付与するため、通報者に正しい通報を促すインセンティブを付与することができる。よって、より適切に不正取引を検知することができる。
 また、実施の形態1に係る管理システム等によれば、不正な通報を行った通報者からトークンを徴収するため、通報者が不正な通報を行うことを抑制することができる。よって、より適切に不正取引を検知することができる。
 (実施の形態2)
 図10は、実施の形態2に係る管理システムの構成の一例を示す図である。
 実施の形態2に係る管理システムは、図10に示すように、実施の形態1に係る管理システムと比較して、複数の取引サーバ10a~10cを含む点、及び、端末21a~21xの構成が異なる。
 なお、以下では、取引サーバ10a~取引サーバ10cのそれぞれを取引サーバ10とも称するが、取引サーバ10a~取引サーバ10cを取引サーバA~取引サーバCと称する場合もある。また、端末21a~端末21xのそれぞれを端末21とも称するが、端末21a~端末21xを端末A~端末Xと称する場合もある。
 取引サーバ10の構成は、実施の形態1と同様であるので詳細な説明を省略する。
 [端末21]
 図11は、実施の形態2に係る端末21の構成の一例を示す図である。図3と同様の要素には同一の符号を付しており、詳細な説明を省略する。
 図11に示す端末21は、実施の形態1に係る端末20からトランザクションデータ検証部206、記録部207、分散台帳208及び記憶部209を備えていない点で構成が異なる。なお、端末21は、端末20と同様の構成を有していてもよい。
 [管理システムの動作等]
 次に、以上のように構成された管理システムの動作について説明する。
 図12及び図13は、実施の形態2に係る管理システムの不正取引検知処理の第1の例を示すシーケンス図である。図13は、図12に示す処理の続きの処理を示す。
 図12及び図13で示される端末A、端末B及び端末Cは、それぞれ、ユーザA、ユーザB及びユーザCにより操作される端末21である。つまり、端末A、端末B及び端末Cは、複数の端末21に含まれる。端末Aは、取引サーバ10a~10cにより提供されている電子商取引サービスに、ユーザAのユーザIDを用いて認証された端末である。端末Bは、取引サーバ10a~10cにより提供されている電子商取引サービスに、ユーザBのユーザIDを用いて認証された端末である。端末Cは、取引サーバ10a~10cにより提供されている電子商取引サービスに、ユーザCのユーザIDを用いて認証された端末である。
 まず、端末CのユーザCが端末Cを用いて、電子商取引サービスで扱われている複数の取引のうちの一の取引に不正の疑いがあることを示す入力を行ったものとする。つまり、ユーザCは、通報を行う通報者である。また、ユーザA及びユーザBは、賛否について投票する投票者である。
 端末Cは、入力に基づいて生成された通報情報を含む通報トランザクションデータを取引サーバ10aへ送信する(S201)。
 次に、取引サーバ10aは、端末Cから受信した通報トランザクションデータを、他の取引サーバ10b及び取引サーバ10cへ転送する(S202)。
 次に、取引サーバ10a~10cは、コンセンサスアルゴリズムを実行し、通報トランザクションデータを含むブロックを生成して、分散台帳107に格納する(S203)。
 次に、取引サーバ10aは、通報トランザクションデータに含まれる通報情報を端末A及び端末Bに通知する(S204)。
 なお、取引サーバ10aは、投票者として通報者以外のユーザ全員を選んでもよいし、投票者として通報者も含むユーザ全員を選んでもよいし、通報者以外の複数のユーザから一部のユーザをランダムに選んでもよい。取引サーバ10aは、投票者として選んだユーザが所有する端末21へ通報情報を送信する。
 次に、端末A及び端末Bのそれぞれは、賛否トランザクションデータを生成し、賛否トランザクションデータを取引サーバ10aへ送信する(S205、S206)。具体的には、端末Aは、ステップS204の後で、通報情報で示される通報に対する賛否を確認するための表示(UI)を表示することで、ユーザAに当該賛否の入力を促す。そして、端末Aは、ユーザAから賛否の入力を受け付けることで、賛否情報を生成し、生成された賛否情報を含む賛否トランザクションデータを生成する。なお、端末Bについても同様の処理が行われることで、賛否トランザクションデータが生成される。
 次に、取引サーバ10aは、端末Aから受信した賛否トランザクションデータ、及び、端末Bから受信した賛否トランザクションデータを、他の取引サーバ10b及び取引サーバ10cへ転送する(S207)。
 次に、取引サーバ10a~10cは、コンセンサスアルゴリズムを実行し、賛否トランザクションデータを含むブロックを生成して、分散台帳107に格納する(S208)。なお、ステップS208では、端末Aから受信した賛否トランザクションデータ、及び、端末Bから受信した賛否トランザクションデータをまとめて処理してもよいし、個別に処理してもよい。
 次に、取引サーバ10aは、投票終了条件が満たされたか否かを判定する(S209)。なお、取引サーバ10b及び取引サーバ10cも、ステップS209の判定を行ってもよい。ステップS209の判定は、ステップS108と同様である。
 取引サーバ10aは、投票終了条件が満たされた判定した場合(S209でYes)次のステップS210の処理を実行し、投票終了条件が満たされていないと判定した場合(S209でNo)、端末A及び端末Bからの賛否トランザクションデータの受信、転送、及び、コンセンサスアルゴリズムの実行を待機する。
 ステップS210では、取引サーバ10aは、要求情報を生成し、生成した要求情報を複数の端末21へ送信する(S210)。要求情報は、暗号化された賛否情報を復号する復号鍵を、当該賛否情報が含まれる賛否トランザクションデータを送信した複数の端末21に要求するための情報である。
 次に、端末A及び端末Bのそれぞれは、復号鍵トランザクションデータを生成し、復号鍵トランザクションデータを取引サーバ10aへ送信する(S211、S212)。具体的には、端末Aは、ステップS210の後で、要求トランザクションデータに含まれる要求情報に応じて、記憶部209に記憶されている復号鍵を含む復号鍵トランザクションデータを生成する。なお、端末Bについても同様の処理が行われることで、復号鍵トランザクションデータが生成される。
 次に、取引サーバ10aは、端末Aから受信した復号鍵トランザクションデータ、及び、端末Bから受信した復号鍵トランザクションデータを、取引サーバ10b及び取引サーバ10cへ転送する(S213)。
 次に、取引サーバ10a~10cは、コンセンサスアルゴリズムを実行し、復号鍵トランザクションデータを含むブロックを生成して、分散台帳107に格納する(S214)。
 次に、取引サーバ10aは、端末A及び端末Bのそれぞれから取得した賛否トランザクションデータ及び復号鍵トランザクションデータを用いて、投票結果を集計する(S215)。具体的には、取引サーバ10aは、各端末21から取得した復号鍵トランザクションデータに含まれる復号鍵を用いて、当該端末21から取得した賛否トランザクションデータに含まれる暗号化された賛否情報を復号する。取引サーバ10aは、例えば、復号した賛否情報が賛成を示している場合、賛成のカウント値に1を加える。さらに、取引サーバ10aは、例えば、復号した賛否情報が反対を示している場合、反対のカウント値に1を加えてもよい。取引サーバ10aは、受信した複数の賛否トランザクションデータのそれぞれについて、上記の処理を繰り返すことで、賛成の数(あるいは反対の数)をカウントする。賛成の数は、言い換えると、取引サーバ10aが受信した複数の賛否トランザクションデータに含まれる複数の賛否情報のうちで、賛成を示す賛否情報の数である。このように、取引サーバ10aは、賛成の数(あるいは反対の数)をカウントすることで、投票結果を集計する。
 次に、取引サーバ10aは、通報が成功したか否かを判定する(S216)。具体的には、取引サーバ10aは、賛成の数(つまり賛成を示す賛否情報の数)が所定の閾値よりも多い場合に通報が成功したと判定し、賛成の数が所定の閾値よりも少ない場合に通報が失敗したと判定する。通報が成功したとは、通報が正しいと言い換えることもでき、通報が失敗したとは、通報が正しくないと言い換えることもできる。
 取引サーバ10aは、通報が成功したと判定した場合(S216でYes)、通報された取引を中止する(S217)。具体的には、取引サーバ10aは、通報された取引が中止されたか否かを示すフラグをONにする、つまり、フラグの値を、取引中であることを示す値から中止されたことを示す値に切り替えることで、取引を中止してもよい。取引サーバ10aは、取引が中止されると、電子商取引サービスにおいて、当該取引が中止されていることを示す表示をしてもよいし、当該取引に対するユーザからの入力を受け付けない状態に変更してもよい。
 次に、取引サーバ10aは、第1トークントランザクションデータ及び第2トークントランザクションデータを生成する(S218)。
 次に、取引サーバ10aは、生成した第1トークントランザクションデータ及び第2トークントランザクションデータを取引サーバ10b及び取引サーバ10cに送信する(S219)。
 次に、取引サーバ10a~10cは、コンセンサスアルゴリズムを実行し、第1トークントランザクションデータを含むブロック、及び、第2トークントランザクションデータを含むブロックを生成して、これらのブロックを分散台帳107に格納する(S220)。これにより、取引サーバ10aでは、投票者には第1のトークンの量のトークンが付与される処理が実行され、通報者には第2のトークンの量のトークンが付与される処理が実行される。取引サーバ10aは、各投票者の端末21に対して、当該投票者に第1のトークンの量のトークンが付与された旨の通知を行ってもよい。また、取引サーバ10aは、通報者の端末21に対して、当該通報者に第2のトークンの量のトークンが付与された旨の通知を行ってもよい。
 なお、取引サーバ10aは、ステップS218において、第1のトークンの量及び第2のトークンの量を含むトークントランザクションデータを生成してもよい。取引サーバ10aは、ステップS219において、生成したトークントランザクションデータを取引サーバ10b及び取引サーバ10cに送信してもよい。そして、取引サーバ10a~10cは、ステップS220において、コンセンサスアルゴリズムを実行し、トークントランザクションデータを含むブロックを生成して、分散台帳107に格納してもよい。
 次に、取引サーバ10aは、複数の端末21に対して、トークンの付与が行われたことを示す通知を行う(S221)。具体的には、取引サーバ10aは、各投票者の端末21に対して、当該投票者に第1のトークンの量のトークンが付与された旨の通知を行ってもよい。また、取引サーバ10aは、通報者の端末21に対して、当該通報者に第2のトークンの量のトークンが付与された旨の通知を行ってもよい。
 取引サーバ10aは、通報が失敗したと判定した場合(S216でNo)、第3トークントランザクションデータを生成する(S222)。
 次に、取引サーバ10aは、生成した第3トークントランザクションデータを取引サーバ10b及び取引サーバ10cに送信する(S223)。
 次に、取引サーバ10aは、コンセンサスアルゴリズムを実行し、第3トークントランザクションデータを含むブロックを生成して、分散台帳107に格納する(S224)。これにより、取引サーバ10aでは、通報者から第3のトークンの量のトークンを徴収する処理が実行される。
 なお、取引サーバ10aは、ステップS222において、さらに第1トークントランザクションデータを生成してもよい。この場合、取引サーバ10aは、ステップS223において、さらに生成した第1トークントランザクションデータを取引サーバ10b及び取引サーバ10cに送信する。そして、取引サーバ10a~10cは、ステップS224において、さらに、コンセンサスアルゴリズムを実行し、第1トークントランザクションデータを含むブロックを生成して、分散台帳107に格納してもよい。これにより、取引サーバ10aでは、投票者には第1のトークンの量のトークンが付与される処理が実行される。
 次に、取引サーバ10aは、各投票者の端末21に対して、トークンの付与または徴収が行われたことを示す通知を行う(S225)。具体的には、取引サーバ10aは、各投票者の端末21に対して、当該投票者に第1のトークンの量のトークンが付与された旨の通知を行ってもよい。取引サーバ10aは、通報者の端末21に対して、当該通報者に第3のトークンの量のトークンが徴収された旨の通知を行ってもよい。
 実施の形態2に係る処理において取引サーバ10aが単独で行うとした処理は、取引サーバ10a~10cのそれぞれにおいて行われてもよい。
 図14及び図15は、実施の形態2に係る管理システムの不正取引検知処理の第2の例を示すシーケンス図である。図15は、図14の続きの処理を示す。
 第2の例は、第1の例において行われる各処理をスマートコントラクトで実行する例である。つまり、第2の例では、分散台帳107に、第1の例において行われる各処理を実行するコントラクトコードが格納されている。各処理とは、賛否情報を受け付ける処理(つまり、投票する処理)、投票終了条件を判定する処理、賛否情報を復号する処理、投票結果を集計する処理、通報が正しいか否かを判定する処理、取引を中止する処理、及び、トークンを通報者又は投票者に付与又は徴収する処理のいずれかを含む。図14及び図15では、これらの処理の全てがスマートコントラクトで実行される例について説明するが、これに限らない。例えば、これらの処理の一部がスマートコントラクトで実行され、残りの一部がスマートコントラクトで実行されずに取引サーバ10a~10cのうちの1つの装置により実行されてもよい。
 図14及び図15で示される端末A、端末B及び端末Cは、第1の例と同じである。また、ユーザA、ユーザB及びユーザCも、第1の例と同じである。
 まず、第1の例のステップS201~S208と同じ処理が行われる。
 次に、取引サーバ10a~10cのぞれぞれは、賛否トランザクションデータについてコンセンサスアルゴリズムが実行されると、スマートコントラクトによって投票関数を実行する(S231)。なお、図14では、取引サーバ10aのみがステップS231を実行するように図示されているが、取引サーバ10b及び取引サーバ10cも同様にステップS231の処理を実行する。賛否トランザクションデータは、実施の形態1における第2の例で説明した賛否トランザクションデータと同じである。ステップS231の処理は、賛否トランザクションデータの数だけ行われる。つまり、ステップS231のそれぞれの処理は、投票の数だけ行われる。
 次に、端末A及び端末Bのそれぞれは、確認トランザクションデータを生成し、確認トランザクションデータを取引サーバ10aへ送信する(S232、S233)。具体的には、端末Aは、ステップS205の後で、投票が終了したか否かの確認を実行するための確認関数を含む確認トランザクションデータを生成し、生成した確認トランザクションデータを取引サーバ10aへ送信する。確認トランザクションデータは、実施の形態1で説明した確認トランザクションデータと同じである。端末Aは、ステップS205の後で定期的に、確認トランザクションデータを生成し、生成した確認トランザクションデータを取引サーバ10aへ送信する。なお、端末Bについても同様の処理が行われることで、確認トランザクションデータが生成され、生成された確認トランザクションデータが取引サーバ10aへ送信される。
 次に、取引サーバ10aは、端末Aから受信した確認トランザクションデータ、及び、端末Bから受信した確認トランザクションデータを、取引サーバ10b及び取引サーバ10cへ転送する(S234)。
 次に、取引サーバ10a~10cは、コンセンサスアルゴリズムを実行し、確認トランザクションデータを含むブロックを生成して、分散台帳107に格納する(S235)。
 次に、取引サーバ10a~10cのそれぞれは、確認トランザクションデータについてコンセンサスアルゴリズムが実行されると、スマートコントラクトによって終了確認関数を実行する(S236)。終了確認関数は、投票終了条件を判定するための関数である。具体的には、取引サーバ10a~10cのそれぞれは、終了確認関数を実行することで、投票終了条件が満たされたか否かを判定する(S236)。この処理は、実施の形態1の第1の例のステップS108と同様であるので詳細な説明を省略する。投票終了条件が満たされたと判定した場合(S236でYes)、取引サーバ10a~10cのそれぞれは、投票完了フラグをONにする、つまり、フラグの値を投票が未完了を示す値から投票が完了したことを示す値に切り替える(S237)。取引サーバ10a~10cのそれぞれは、投票終了条件が満たされていないと判定した場合(S236でNo)、ステップS236の処理に戻る。なお、図14では、取引サーバ10aのみがステップS236及びステップS237を実行するように図示されているが、取引サーバ10b及び取引サーバ10cも同様にステップS236及びステップS237の処理を実行する。
 次に、取引サーバ10aは、投票完了フラグがONであることを確認する(S238)。
 次に、取引サーバ10aは、投票完了フラグがONである場合、要求情報を生成し、生成した要求情報を複数の端末21へ送信する(S210)。
 次に、ステップS211~S214と同様の処理が行われる。
 次に、取引サーバ10a~10cのそれぞれは、復号鍵トランザクションデータについてコンセンサスアルゴリズムが実行されると、スマートコントラクトによって復号関数を実行する(S239)。復号関数は、暗号化された賛否情報を、復号鍵を用いて復号するための関数である。具体的には、取引サーバ10a~10cのそれぞれは、各端末21から取得した復号鍵トランザクションデータに含まれる復号鍵を用いて、当該端末21から取得した賛否トランザクションデータに含まれる暗号化された賛否情報を復号する。復号結果は、例えば、取引サーバ10a~10cのそれぞれが備える記憶部に記憶される。復号結果は、一時的に記憶部に記憶されてもよい。ステップS239の処理は、復号鍵トランザクションデータの数だけ行われる。つまり、ステップS239の処理は、復号鍵の数だけ行われる。なお、図15では、取引サーバ10aのみがステップS239を実行するように図示されているが、取引サーバ10b及び取引サーバ10cも同様にステップS239の処理を実行する。
 次に、取引サーバ10aは、集計トランザクションデータを生成し、集計トランザクションデータを取引サーバ10b及び取引サーバ10cへ送信する(S240)。具体的には、取引サーバ10aは、ステップS239の後で、投票結果を集計するための集計関数を含む集計トランザクションデータを生成し、生成した集計トランザクションデータを取引サーバ10b及び取引サーバ10cへ送信する。集計トランザクションデータは、実施の形態1で説明した集計トランザクションデータと同じである。取引サーバ10aは、ステップS239の後で定期的に、集計トランザクションデータを生成し、生成した集計トランザクションデータを取引サーバ10b及び取引サーバ10cへ送信する。なお、取引サーバ10b及び取引サーバ10cについても同様の処理が行われることで、集計トランザクションデータが生成され、生成された集計トランザクションデータが他の取引サーバ10へ送信されてもよい。
 次に、取引サーバ10a~10cは、コンセンサスアルゴリズムを実行し、集計トランザクションデータを含むブロックを生成して、分散台帳107に格納する(S241)。
 次に、取引サーバ10a~10cのそれぞれは、集計トランザクションデータについてコンセンサスアルゴリズムが実行されると、スマートコントラクトによって集計関数を実行する(S242、S243)。具体的には、取引サーバ10a~10cのそれぞれは、投票終了条件が満たされたか否かを判定する(S242)。投票終了条件が満たされたと判定した場合(S242でYes)、取引サーバ10a~10cのそれぞれは、集計関数を実行する(S243)。集計関数は、投票結果を集計するための関数である。取引サーバ10a~10cは、集計関数を実行することで、集計処理を行う。取引サーバ10a~10cは、投票終了条件が満たされていないと判定した場合(S242でNo)、ステップS242の処理に戻る。なお、図15では、取引サーバ10aのみがステップS242及びステップS243を実行するように図示されているが、取引サーバ10b及び取引サーバ10cも同様にステップS242及びステップS243の処理を実行する。
 集計処理は、実施の形態1において図8を用いて説明した集計処理と同じであるため、詳細な説明を省略する。
 図16は、実施の形態2に係る管理システムの不正取引検知処理の第3の例を示すシーケンス図である。第3の例は、前半部分の処理が第2の例と共通しているため、第2の例と異なる処理について主に説明する。具体的には、第3の例は、第2の例の図14で説明した処理が共通している。図16は、図14の続きの処理を示す。
 第2の例では、復号処理と集計処理とを別々で行うとしたが、第3の例では、復号処理及び集計処理をまとめて行う。
 図14の続きの処理から説明する。
 ステップS238は、第2の例と同じである。
 取引サーバ10aは、投票完了フラグがONである場合、要求情報を生成し、生成した要求情報を複数の端末21へ送信する(S251)。要求情報は、暗号化された賛否情報を復号する復号鍵を含む格納トランザクションデータを、当該賛否情報が含まれる賛否トランザクションデータを送信した複数の端末21に要求するための情報である。
 次に、端末A及び端末Bのそれぞれは、格納トランザクションデータを生成し、格納トランザクションデータを取引サーバ10aへ送信する(S252、S253)。格納トランザクションデータは、実施の形態1で説明した格納トランザクションデータと同じである。具体的には、端末Aは、ステップS251の後で、要求情報に応じて、記憶部209に記憶されている復号鍵を含む格納トランザクションデータを生成する。なお、端末Bについても同様の処理が行われることで、格納トランザクションデータが生成される。
 次に、取引サーバ10aは、端末Aから受信した格納トランザクションデータ、及び、端末Bから受信した格納トランザクションデータを、取引サーバ10b及び取引サーバ10cへ転送する(S254)。
 次に、取引サーバ10a~10cは、コンセンサスアルゴリズムを実行し、格納トランザクションデータを含むブロックを生成して、分散台帳107に格納する(S255)。
 次に、取引サーバ10a~10cは、格納トランザクションデータについてコンセンサスアルゴリズムが実行されると、スマートコントラクトによって格納関数を実行する(S256)。格納関数は、復号鍵を各記憶部に格納するための関数である。具体的には、取引サーバ10a~10cは、各端末21から取得した格納トランザクションデータに含まれる復号鍵を取引サーバ10a~10cのそれぞれが備える記憶部に格納する。ステップS256の処理は、格納トランザクションデータの数だけ行われる。つまり、ステップS256の処理は、復号鍵の数だけ行われる。
 次に、第2の例におけるステップS240及びステップS241と同様の処理が行われる。
 次に、取引サーバ10a~10cのそれぞれは、集計トランザクションデータについてコンセンサスアルゴリズムが実行されると、スマートコントラクトによって集計関数を実行する(S242、S243、S254)。具体的には、取引サーバ10a~10cのそれぞれは、投票終了条件が満たされたか否かを判定する(S242)。投票終了条件が満たされたと判定した場合(S242でYes)、取引サーバ10a~10cのそれぞれは、賛否情報を復号する(S254)。そして、取引サーバ10a~10cのそれぞれは、集計関数を実行する(S243)。集計関数は、投票結果を集計するための関数である。取引サーバ10a~10cのそれぞれは、集計関数を実行することで、集計処理を行う。取引サーバ10a~10cは、投票終了条件が満たされていないと判定した場合(S242でNo)、ステップS242の処理に戻る。なお、集計処理は、第2の例と同じであるため詳細な説明を省略する。
 [効果等]
 以上のように、実施の形態2に係る管理システム等によれば、分散台帳に格納されることで改ざんされにくい賛否情報に基づいて通報が正しいか否かを判定できる。このため、適切に不正取引を検知することができる。
 (変形例1)
 実施の形態1及び2に係る管理システムでは、取引サーバ10がトランザクションデータについてコンセンサスアルゴリズムを実行して、トランザクションデータを含むブロックを生成して、生成したブロックを各取引サーバ10が備える分散台帳107に格納するとしたがこれに限らない。例えば、取引サーバ10を含まない複数の装置がトランザクションデータを含むブロックを生成して、生成したブロックを当該複数の装置のそれぞれが備える分散台帳に格納してもよい。この場合、取引サーバ10は、複数の装置の分散台帳に格納されたデータを、複数の装置にアクセスすることで参照する、または、処理に必要な情報の要求を複数の装置に送信することで当該必要な情報を取得してもよい。これにより、取引サーバ10は、実施の形態1及び2に係る管理システムにおいて取引サーバ10が実行すると説明した処理のうち、トランザクションを含むブロックを生成して、生成したブロックを分散台帳に格納する処理を除く処理を実行してもよい。
 (変形例2)
 上記実施の形態1及び2に係る管理システムでは、取引サーバ10は、通報が成功したか否かに応じて、通報者にトークンを付与したり徴収したりするとしたが、通報者の信頼度を増減させてもよい。例えば、取引サーバ10は、通報が成功したと判定した場合、通報者の信頼度が大きくなるように、つまり、通報者の信頼性が高くなるように当該信頼度を更新してもよい。また、取引サーバ10は、通報が失敗したと判定した場合、通報者の信頼度が小さくなるように当該信頼度を更新してもよい。信頼度は、ユーザが信頼できるか否かを示す指標であり、例えば、信頼度が示す数値が大きいほどユーザがより信頼できることを示す。取引サーバ10は、更新した信頼度を含むトランザクションデータを生成し、当該トランザクションデータに対するコンセンサスアルゴリズムを他の装置と共に実行することで、当該トランザクションデータを含むブロックを生成し、生成したブロックを取引サーバ10が備える分散台帳107に格納してもよい。
 また、取引サーバ10は、通報が成功したか否かの判定に用いる所定の閾値を、ユーザの信頼度に応じて変更してもよい。取引サーバ10は、例えば、所定の閾値を、信頼度が大きいほど小さい値になるように設定してもよい。これにより、信頼度が小さいユーザが行った通報は、成功しにくくなる。例えば、不正の疑いがないのに通報を乱発するユーザの通報が成功しにくくなり、信頼度が更新されることで信頼度を小さくできる。よって、不正の疑いがないのに取引が不正であると誤判定されることを抑制することができる。反対に、信頼度が大きいユーザが行った通報は、成功しやすくなる。信頼度が大きいユーザは、真摯に取引の不正を判定している可能性が高いため、賛成の数が過半数を満たさない場合でも不正取引を検知することができる。例えば、不正取引に対しても悪意を持って反対する組織票で賛成の数が過半数を満たさない場合であっても、不正取引を検知することができる。
 また、取引サーバ10により提供されている電子商取引サービスにおいて、物品又はサービスを提供する第1ユーザに対して、信頼度に応じて同時に出品できる品数が変更されてもよい。例えば、同時に出品できる品数は、ユーザの信頼度が小さいほど、少なくなるように設定されてもよい。また、物品又はサービスを購入する第2ユーザに対して、信頼度に応じて1つの物品又はサービスを購入する購入額の上限が変更されてもよい。例えば、購入額の上限は、ユーザの信頼度が小さいほど、少なくなるように設定されてもよい。
 また、投票者による賛否情報の投票の1票のカウントの重みが、投票者の信頼度に応じて変更されてもよい。例えば、1票のカウントの重みは、ユーザの信頼度が小さいほど、小さくなるように設定されてもよい。例えば、信頼性が高いユーザの1票は、重みが1.5に設定され、1.5票としてカウントされてもよい。信頼性が低いユーザの1票は、重みが0.8に設定され、0.8票としてカウントされてもよい。つまり、通報が正しいか否かの判定では、賛成の数を信頼度に基づく重みを用いて算出する。
 (変形例3)
 実施の形態1及び2に係る管理システムでは、取引サーバ10により提供されている電子商取引サービスにおいて、物品又はサービスを提供する第1ユーザに対して、当該取引を行うためのデポジットとしてのトークンが予め徴収されてもよい。第1ユーザは、物品又はサービスを提供する申込者である。そして、管理システムは、当該取引に対する通報がなかった場合、又は、当該通報があっても正しくないと判定された場合、デポジットとして徴収されているトークンを申込者に返還してもよい。また、管理システムは、当該取引に対する通報があり、当該通報が正しいと判定された場合、デポジットとして徴収されているトークンを申込者に返還しなくてもよい。返還しないと決定されたトークンは、通報を行った通報者に報酬として付与されてもよい。これにより、申込者により、不正の取引が提供されることを抑制することができる。
 また、取引サーバ10により提供されている電子商取引サービスにおいて、通報者に対して、通報を行うためのデポジットとしてのトークンが予め徴収されてもよい。そして、管理システムは、通報者による通報が正しいと判定された場合、デポジットとして徴収されているトークンを通報者に返還してもよい。また、管理システムは、通報者による通報が正しくないと判定された場合、デポジットとして徴収されているトークンを通報者に返還しなくてもよい。返還しないと決定されたトークンは、取引を提供している申込者に付与されてもよいし、投票者に対して付与されてもよいし、電子商取引サービスのサービサに付与されてもよいし、廃棄されてもよい。これにより、通報者により、不正の疑いがない取引や、不正の疑いが薄い取引に対して通報が行われることを抑制することができる。
 ここで設定されるデポジットの量は、変形例2で説明した信頼度に応じて変更されてもよい。例えば、デポジットの量は、ユーザの信頼度が小さいほど、多くなるように設定されてもよい。
 (変形例4)
 実施の形態1及び2に係る管理システムにおいて用いられる、賛否情報を暗号化する方法は、準同型暗号、完全準同型暗号、又は、秘密分散法であってもよい。準同型暗号、完全準同型暗号、又は、秘密分散法により暗号化されたデータは、データを復号することなく加算処理を実行することができる。例えば、賛成を示すデータを+1に、反対を示すデータを-1に設定することで、暗号化されたまま賛成及び反対の票数をカウントすることができる。つまり、集計処理では、暗号化されたままの賛否情報を用いて集計が行われてもよい。その後に、暗号化された賛否情報は、復号されてもよい。この場合に集計処理は、取引サーバ10が行ってもよいし、取引サーバ10とは異なる装置が行ってもよい。
 (変形例5)
 実施の形態1及び2に係る管理システムでは、複数の投票者がそれぞれ複数の端末を用いて通報に対する賛否を示す入力を行うことで、賛否の投票を行うとしたが、これに限らない。投票者とは異なる情報処理装置が、通報が正しいか否かを判定してもよい。この場合の情報処理装置は、例えば、機械学習により得られたモデルを用いて、通報が正しいか否かを判定してもよいし、予め定められたアルゴリズムを用いて、通報が正しいか否かを判定してもよい。例えば、情報処理装置は、過去の取引に対する通報と、当該取引の内容(物品又はサービスの内容及びその価格)と、通報が正しいか否かの判定結果とを用いて、機械学習を行うことでモデルを生成してもよい。また、予め定められたアルゴリズムは、不正の内容に基づいて生成されてもよい。不正の内容は、例えば、取引の対象となる物品又はサービスの実体が当該取引の名目とは異なる物品であること、取引の対象となる物品又はサービスに対して設定されている価格が標準的な価格から乖離していることなどである。標準的な価格から乖離しているとは、例えば、設定されている価格と標準的な価格との差が、標準的な価格の所定の割合の価格分より大きいことである。標準的な価格は、当該物品又は当該サービスと、同じ、同種又は同等の物品又はサービスが過去に取引されている実績に基づいて算出されてもよい。
 この場合、情報処理装置のみが、通報が正しいか否かの判定結果を賛否情報として取引サーバ10に送信してもよい。そして、取引サーバ10は、情報処理装置から送信された賛否情報のみに基づいて通報が正しいか否かの判定を行ってもよい。なお、情報処理装置において通報が正しいと判定された場合、情報処理装置は、賛成を示す賛否情報を取引サーバ10へ送信する。反対に、情報処理装置において通報が正しくないと判定された場合、情報処理装置は、反対を示す賛否情報を取引サーバ10へ送信する。このときに送信される賛否情報は、賛否トランザクションデータに含まれる情報として送信されてもよい。つまり、情報処理装置は、賛否トランザクションデータを取引サーバ10へ送信してもよい。
 (変形例6)
 実施の形態1及び2に係る管理システムでは、取引サーバ10によって電子商取引サービスが提供されるとしたが、提供される取引サービスは電子商取引サービスに限らない。例えば、複数のユーザが所有する端末から、端末の動作ログ及び/又は検知ログを取得し、これらのログを分析して、各ユーザに分析結果を通知するサービスを提供してもよい。この場合の取引は、動作ログ及び/又は検知ログを含むログの取引である。通報では、ログに不正がある疑いがあることが通報されてもよいし、ユーザが不正なユーザである疑いがあることが通報されてもよい。
 (変形例7)
 実施の形態1及び2に係る管理システムでは、取引の中止処理をブロックチェーンの仕組みを用いて行ってもよい。例えば、取引サーバ10は、取引中止処理において、取引中止トランザクションを生成し、生成した取引中止トランザクションを用いて複数の他の装置との間でコンセンサスアルゴリズムを実行し、取引中止トランザクションデータを含むブロックを生成して、生成したブロックを、取引サーバ10が備える分散台帳107及び複数の他の装置が備える分散台帳に格納してもよい。取引中止トランザクションデータは、スマートコントラクトアドレスと、実行関数としての取引中止関数と、引数としての通報IDとを含む。そして、取引サーバ10及び複数の他の装置のそれぞれは、取引中止関数を実行することで、取引中止処理を行う。
 (変形例8)
 実施の形態1及び2に係る管理システムでは、取引サーバ10は、投票者として通報者以外のユーザ全員を選ぶ例で説明したがこれに限らない。取引サーバ10は、通報者以外の複数のユーザから一部のユーザをランダムに選んでもよいし、通報者を含むユーザ全員を投票者として選んでもよい。取引サーバ10は、投票者として選んだユーザが所有する端末20へ賛否トランザクションデータを送信する。
 (変形例9)
 実施の形態1及び2に係る管理システムでは、賛否トランザクションデータは、復号鍵のハッシュ値、又は、平文の賛否情報のハッシュ値を含んでいてもよい。これにより、端末A及び端末Bが、正しい復号鍵を送ったか否か、正しい賛否情報を送ったか否かを判定することができる。
 (変形例10)
 実施の形態1及び2に係る管理システムでは、投票者全員に第1のトークンの量のトークンを付与するとしたが、これに限らない。通報が成功した場合、通報に賛成した投票者に第1のトークンの量のトークンを付与し、通報に反対した投票者から第5のトークンの量のトークンを徴収するとしてもよい。また、通報が失敗した場合、通報に賛成した投票者から第5のトークンの量のトークンを徴収し、通報に反対した投票者に第1のトークンの量のトークンを付与するとしてもよい。
 (変形例11)
 実施の形態1及び2において、ユーザにトークンを付与することを当該ユーザの信頼度を大きくすることに置き換えてもよいし、ユーザにトークンを付与すると共にさらに当該ユーザの信頼度を大きくしてもよい。また、ユーザのトークンを徴収することをユーザの信頼度を小さくすることに置き換えてもよいし、ユーザのトークンを徴収すると共にさらに当該ユーザの信頼度を小さくしてもよい。
 [その他の実施の形態等]
 以上のように、本開示について上記の実施の形態に基づいて説明してきたが、本開示は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
 (1)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
 (2)上記の実施の形態における各装置は、構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
 また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部またはすべてを含むように1チップ化されてもよい。
 また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
 さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
 (3)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
 (4)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
 また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
 また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
 また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
 また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
 (5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
 本開示は、制御方法、サーバ、及び、プログラムに利用でき、例えば取引において不正取引を適切に検知することができる制御方法、サーバ、及び、プログラムなどに利用可能である。
 10、10a~10c  取引サーバ
 20、20a~20x、21、21a~21x  端末
101、201  通信部
102  判定部
103、204  情報生成部
104、205  トランザクションデータ生成部
105、206  トランザクションデータ検証部
106、207  記録部
107、208  分散台帳
202  入力部
203  表示部
209  記憶部

Claims (15)

  1.  分散台帳を保有する複数の装置を備える電子取引における不正取引通報システムにおいて、前記複数の装置のうちの一の装置が実行する制御方法であって、
     一の取引が不正である疑いの通報を示す通報情報を含む通報トランザクションデータを取得し、
     取得した前記通報トランザクションデータを前記複数の装置のうちの複数の他の装置に転送し、かつ、前記通報トランザクションデータを前記一の装置の分散台帳に格納し、
     前記通報に対する賛否情報を含む賛否トランザクションデータを取得し、
     取得した前記賛否トランザクションデータを前記複数の他の装置に転送し、かつ、前記賛否トランザクションデータを前記一の装置の分散台帳に格納し、
     前記賛否トランザクションデータに含まれる前記賛否情報に基づいて、前記通報が正しいか否かを判定する
     制御方法。
  2.  前記賛否トランザクションデータの取得では、複数のユーザが所有する複数の端末から複数の賛否トランザクションデータを取得し、
     前記判定では、前記複数の賛否トランザクションデータに含まれる複数の賛否情報に基づいて、前記複数の賛否情報のうちで賛成を示す賛否情報の数が所定の閾値よりも多い場合に前記通報が正しいと判定し、前記賛成を示す賛否情報の数が前記所定の閾値よりも少ない場合に前記通報が正しくないと判定する
     請求項1に記載の制御方法。
  3.  さらに、
     前記複数の賛否トランザクションデータを送信した前記複数のユーザのそれぞれに付与する第1のトークンの量を含む第1トークントランザクションデータを前記複数の他の装置に送信し、かつ、前記第1トークントランザクションデータを前記一の装置の分散台帳に格納する
     請求項2に記載の制御方法。
  4.  さらに、
     前記複数の賛否トランザクションデータを送信した前記複数のユーザのそれぞれの第1信頼度が大きくなるように前記第1信頼度を更新し、更新された第1信頼度を含む第1信頼度トランザクションデータを前記複数の他の装置に転送し、かつ、前記第1信頼度トランザクションデータを前記一の装置の分散台帳に格納し、
     前記判定では、前記賛成の数を前記第1信頼度に基づく重みを用いて算出する
     請求項2または3に記載の制御方法。
  5.  さらに、
     前記判定において前記通報が正しいと判定された場合、前記取引を中止する
     請求項1から4のいずれか1項に記載の制御方法。
  6.  さらに、
     前記判定において前記通報が正しいと判定された場合、前記通報トランザクションデータを送信したユーザである通報者に付与する第2のトークンの量を含む第2トークントランザクションデータを前記複数の他の装置に送信し、かつ、前記第2トークントランザクションデータを前記一の装置の分散台帳に格納する
     請求項1から5のいずれか1項に記載の制御方法。
  7.  さらに、
     前記判定において前記通報が正しくないと判定された場合、前記通報トランザクションデータを送信したユーザである通報者に請求する第3のトークンの量を含む第3トークントランザクションデータを前記複数の他の装置に送信し、かつ、前記第3トークントランザクションデータを前記一の装置の分散台帳に格納する
     請求項1から6のいずれか1項に記載の制御方法。
  8.  さらに、
     前記判定において前記通報が正しいと判定された場合、前記通報トランザクションデータを送信したユーザである通報者の信頼度が大きくなるように前記信頼度を更新し、更新された信頼度を含む信頼度トランザクションデータを前記複数の他の装置に転送し、かつ、前記信頼度トランザクションデータを前記一の装置の分散台帳に格納し、
     前記判定では、前記分散台帳に格納されている前記分散台帳の前記通報者の前記更新された信頼度が大きいほど小さい値に設定した前記所定の閾値を用いる
     請求項1から7のいずれか1項に記載の制御方法。
  9.  さらに、
     前記取引のための第4のトークンの量を含む申し込み情報を、前記取引の申込者により操作された端末から取得し、
     前記取引に対する前記通報がなかった場合、又は、前記通報があっても正しくないと判定された場合、前記第4のトークンの量と同じ量のトークンを前記申込者に返還し、
     前記取引に対する前記通報があり、当該通報が正しいと判定された場合、前記第4のトークンの量と同じ量のトークンを前記申込者に返還しない
     請求項1から8のいずれか1項に記載の制御方法。
  10.  前記第4のトークンの量は、前記申込者に定められた信頼度に応じた量に設定される
     請求項9に記載の制御方法。
  11.  さらに、
     前記判定を実行させるための実行情報を含む実行トランザクションデータを取得し、
     前記複数の装置が保有する複数の分散台帳のそれぞれは、前記実行トランザクションデータに基づいて前記判定を実行するためのコントラクトコードを含み、
     前記判定では、前記実行トランザクションデータを取得すると、前記一の装置の分散台帳に含まれる前記コントラクトコードを実行することで前記判定を実行する
     請求項1から10のいずれか1項に記載の制御方法。
  12.  前記賛否トランザクションデータに含まれる前記賛否情報は、暗号化されており、
     前記賛否トランザクションデータを送信した装置又は端末に、暗号化された前記賛否情報を復号する復号鍵を要求するための要求情報を送信することで、前記装置又は前記端末から前記復号鍵を取得し、
     暗号化された前記賛否情報を前記復号鍵で復号し、
     復号された前記賛否情報に基づいて、前記通報が正しいか否かを判定する
     請求項1から11のいずれか1項に記載の制御方法。
  13.  前記要求情報の送信では、前記要求情報を含む要求トランザクションデータを前記複数の他の装置に送信し、かつ、前記要求トランザクションデータを前記一の装置の分散台帳に格納し、
     前記復号鍵の取得では、前記復号鍵を含む復号鍵トランザクションデータを前記複数の他の装置から取得し、前記復号鍵トランザクションデータを前記一の装置の分散台帳に格納する
     請求項12に記載の制御方法。
  14.  分散台帳を保有する複数の装置を備える電子取引における不正取引通報システムにおいて、前記複数の装置のうちの一の装置であって、
     プロセッサと、
     メモリと、を備え、
     前記プロセッサは、前記メモリを用いて、
     取引が不正である疑いの通報を示す通報情報を含む通報トランザクションデータを取得し、
     取得した前記通報トランザクションデータを前記複数の装置のうちの複数の他の装置に転送し、かつ、前記通報トランザクションデータを前記一の装置の分散台帳に格納し、
     前記通報に対する賛否情報を含む賛否トランザクションデータを取得し、
     取得した前記賛否トランザクションデータを前記複数の他の装置に転送し、かつ、前記賛否トランザクションデータを前記一の装置の分散台帳に格納し、
     前記賛否トランザクションデータに含まれる前記賛否情報に基づいて、前記通報が正しいか否かを判定する
     装置。
  15.  分散台帳を保有する複数の装置を備える電子取引における不正取引通報システムにおいて、前記複数の装置のうちの一の装置が実行する制御方法をコンピュータに実行させるためのプログラムであって、
     取引が不正である疑いの通報を示す通報情報を含む通報トランザクションデータを取得し、
     取得した前記通報トランザクションデータを前記複数の装置のうちの複数の他の装置に転送し、かつ、前記通報トランザクションデータを前記一の装置の分散台帳に格納し、
     前記通報に対する賛否情報を含む賛否トランザクションデータを取得し、
     取得した前記賛否トランザクションデータを前記複数の他の装置に転送し、かつ、前記賛否トランザクションデータを前記一の装置の分散台帳に格納し、
     前記賛否トランザクションデータに含まれる前記賛否情報に基づいて、前記通報が正しいか否かを判定することを
     コンピュータに実行させるためのプログラム。
PCT/JP2020/043283 2019-11-21 2020-11-19 制御方法、装置、及び、プログラム WO2021100831A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202080079762.9A CN114730436A (zh) 2019-11-21 2020-11-19 控制方法、装置、以及程序
JP2021558459A JPWO2021100831A1 (ja) 2019-11-21 2020-11-19
US17/738,419 US20220270102A1 (en) 2019-11-21 2022-05-06 Controlling method, device, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962938536P 2019-11-21 2019-11-21
US62/938,536 2019-11-21

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/738,419 Continuation US20220270102A1 (en) 2019-11-21 2022-05-06 Controlling method, device, and recording medium

Publications (1)

Publication Number Publication Date
WO2021100831A1 true WO2021100831A1 (ja) 2021-05-27

Family

ID=75981588

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/043283 WO2021100831A1 (ja) 2019-11-21 2020-11-19 制御方法、装置、及び、プログラム

Country Status (4)

Country Link
US (1) US20220270102A1 (ja)
JP (1) JPWO2021100831A1 (ja)
CN (1) CN114730436A (ja)
WO (1) WO2021100831A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022255386A1 (ja) * 2021-06-03 2022-12-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ インセンティブ決定方法、サーバ、及び、プログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115131022B (zh) * 2022-08-26 2022-11-29 中国工业互联网研究院 基于区块链的数字资产交易方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163216A (ja) * 2000-11-27 2002-06-07 Uniden Corp アドレス信用度評価システム及び方法
CN105956847A (zh) * 2016-04-29 2016-09-21 刘昕炜 线上交易中对于已托管的预付款在发生争议时的处置方法
US20180082390A1 (en) * 2016-09-19 2018-03-22 Thomson Reuters Global Resources Unlimited Company Systems and methods for interception of smart contracts
JP2018528555A (ja) * 2015-08-28 2018-09-27 スワールズ,インコーポレイテッド ネットワーク内の分散データベースのための方法及び装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108876332B (zh) * 2018-06-04 2020-09-22 清华大学 一种基于生物特征标记认证的区块链安全交易方法及装置
US20200175514A1 (en) * 2018-12-04 2020-06-04 Palo Alto Research Center Incorporated Using a blockchain to establish a web of trust
US11170376B2 (en) * 2019-05-29 2021-11-09 Vivigle, Inc. Informational and analytical system and method for ensuring the level of trust, control and secure interaction of counterparties when using electronic currencies and contracts

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163216A (ja) * 2000-11-27 2002-06-07 Uniden Corp アドレス信用度評価システム及び方法
JP2018528555A (ja) * 2015-08-28 2018-09-27 スワールズ,インコーポレイテッド ネットワーク内の分散データベースのための方法及び装置
CN105956847A (zh) * 2016-04-29 2016-09-21 刘昕炜 线上交易中对于已托管的预付款在发生争议时的处置方法
US20180082390A1 (en) * 2016-09-19 2018-03-22 Thomson Reuters Global Resources Unlimited Company Systems and methods for interception of smart contracts

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022255386A1 (ja) * 2021-06-03 2022-12-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ インセンティブ決定方法、サーバ、及び、プログラム

Also Published As

Publication number Publication date
JPWO2021100831A1 (ja) 2021-05-27
CN114730436A (zh) 2022-07-08
US20220270102A1 (en) 2022-08-25

Similar Documents

Publication Publication Date Title
US11475403B2 (en) Distributed ledger certification
US20230053709A1 (en) Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems
US11222331B2 (en) Method and system for blockchain-based gemstone ownership, identity, custody, supply-chain transfer, trading, and secure payments
US10915891B1 (en) Autonomous devices
Joshi et al. A survey on security and privacy issues of blockchain technology.
US10339523B2 (en) Point-to-point transaction guidance apparatuses, methods and systems
EP3323080B1 (en) Computationally efficient transfer processing, auditing, and search apparatuses, methods and systems
US20180191503A1 (en) Asynchronous Crypto Asset Transfer and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
Truong et al. Blockchain meets metaverse and digital asset management: A comprehensive survey
Baiod et al. Blockchain technology and its applications across multiple domains: A survey
US20170048234A1 (en) Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US20170046689A1 (en) Crypto Voting and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US20170048209A1 (en) Crypto Key Recovery and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US20170085555A1 (en) Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
US20170091756A1 (en) Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
US20170048235A1 (en) Crypto Captcha and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US20170085545A1 (en) Smart Rules and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US10504179B1 (en) Social aggregated fractional equity transaction partitioned acquisition apparatuses, methods and systems
CN105956923A (zh) 资产交易平台以及资产的数字化认证和交易方法
Carvalho et al. When good blocks go bad: Managing unwanted blockchain data
US20230035321A1 (en) Systems and methods for hyperledger-based payment transactions, alerts, and dispute settlement, using smart contracts
KR20220154116A (ko) 환경 신용 평가를 위한 안전한 방법 및 시스템
CN112132198A (zh) 数据处理方法、装置、系统和服务器
CN109658240A (zh) 一种基于区块链的数据交易方法、装置及终端设备
CN109246175A (zh) 电子投票系统和控制方法

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021558459

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20891059

Country of ref document: EP

Kind code of ref document: A1