WO2022224907A1 - 制御方法、端末、及び、プログラム - Google Patents

制御方法、端末、及び、プログラム Download PDF

Info

Publication number
WO2022224907A1
WO2022224907A1 PCT/JP2022/017945 JP2022017945W WO2022224907A1 WO 2022224907 A1 WO2022224907 A1 WO 2022224907A1 JP 2022017945 W JP2022017945 W JP 2022017945W WO 2022224907 A1 WO2022224907 A1 WO 2022224907A1
Authority
WO
WIPO (PCT)
Prior art keywords
smart contract
terminal
transaction data
blockchain
data
Prior art date
Application number
PCT/JP2022/017945
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 JP2023515446A priority Critical patent/JPWO2022224907A1/ja
Priority to CN202280028997.4A priority patent/CN117280369A/zh
Publication of WO2022224907A1 publication Critical patent/WO2022224907A1/ja
Priority to US18/382,154 priority patent/US20240046264A1/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/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/102Bill distribution or payments
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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
    • G06Q2220/00Business processing using cryptography
    • G06Q2220/10Usage protection of distributed data files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Definitions

  • the present disclosure relates to control methods, terminals, and programs.
  • Patent Literature 1 discloses a method of automatically executing trade transaction procedures using smart contract technology.
  • the purpose of this disclosure is to provide a control method and the like that can coordinate and fulfill two types of contracts regarding payment of consideration.
  • a control method is a control method for a first terminal that owns a distributed ledger using a blockchain, and is a purchase transaction including consideration information regarding a consideration paid by a second user to a first user.
  • executing a first smart contract recorded in the first blockchain by obtaining data from a second terminal owned by the second user and recording the purchase transaction data in the first blockchain;
  • execute a second smart contract recorded in a second blockchain different from the first blockchain the second smart contract is executed from the first account of the first user to the first 3
  • a smart contract for transferring at least a portion of said consideration to a third account of user.
  • FIG. 1 is a diagram showing an example of a configuration of a management system according to Embodiment 1;
  • FIG. 2 is a diagram showing an example of a configuration of an aggregator terminal according to Embodiment 1;
  • FIG. 4 is a table showing an example of the configuration of public data information; It is a table
  • 2 is a diagram showing an example of a configuration of a purchaser terminal according to Embodiment 1;
  • FIG. 2 is a diagram showing an example of a configuration of a provider terminal according to Embodiment 1;
  • FIG. 4 is a sequence diagram showing an example of data acquisition processing by the management system according to Embodiment 1;
  • FIG. 5 is a sequence diagram showing an example of processing for storing distributed ledger information in a distributed ledger by the management system according to Embodiment 1;
  • FIG. 4 is a sequence diagram showing an example of processing for storing a smart contract in a distributed ledger by the management system according to Embodiment 1;
  • 4 is a sequence diagram showing an example of data trading processing by the management system according to Embodiment 1;
  • FIG. FIG. 11 is a sequence diagram showing an example of data trading processing by the management system according to Embodiment 2;
  • FIG. 12 is a sequence diagram showing an example of data trading processing by the management system according to Embodiment 3;
  • FIG. 16 is a sequence diagram showing an example of data trading processing by the management system according to the fourth embodiment;
  • a control method is a control method for a first terminal that owns a distributed ledger using a blockchain, and is a purchase transaction including consideration information regarding a consideration paid by a second user to a first user.
  • executing a first smart contract recorded in the first blockchain by obtaining data from a second terminal owned by the second user and recording the purchase transaction data in the first blockchain;
  • execute a second smart contract recorded in a second blockchain different from the first blockchain the second smart contract is executed from the first account of the first user to the first 3
  • a smart contract for transferring at least a portion of said consideration to a third account of user.
  • two smart contracts corresponding to two types of contracts are recorded separately in two different blockchains in order to fulfill two types of contracts related to payment of data.
  • One of the two types of contracts is a payment contract from the second user to the first user for the data, which arises from the purchase of the data by the second user.
  • the other one of the two types of contracts is a contract to pay at least part of the consideration for the data from the first user to the third user resulting from the purchase of the data by the second user.
  • the two types of contracts are the contract between the first user and the second user and the contract between the first user and the third user, and the combination of users who are parties to the contract is different.
  • the second smart contract may be executed.
  • the second smart contract can be executed.
  • executing the first smart contract generating second execution transaction data for executing a third smart contract recorded in a third blockchain different from the first blockchain and the second blockchain. and executing the third smart contract by recording the second execution transaction data in the third blockchain.
  • the third smart contract can be executed.
  • the second smart contract which is a smart contract linked to the first smart contract, is specified, and first execution transaction data for executing the second smart contract is specified.
  • the second smart contract may be executed by generating and recording the first execution transaction data on the second blockchain.
  • the third smart contract can be executed, and by executing the third smart contract, the second smart contract can be executed.
  • the consideration may be transferred from the account of the second user to the account of the first user.
  • the second user can pay the first user by executing the first smart contract.
  • the first smart contract includes an identifier that identifies the second smart contract, and the second smart contract linked to the first smart contract refers to the identifier in executing the first smart contract. may be identified and the first execution transaction data may be generated after the identification.
  • the first smart contract it is determined whether or not the first terminal owns the second blockchain, and it is determined that the first terminal owns the second blockchain. If so, the second smart contract may be executed.
  • the first terminal holding the second blockchain can execute the second smart contract.
  • the consideration is the consideration for data provided by the third user, and the data is published in a state in which the identifier for identifying the third user is associated with the converted identifier after conversion.
  • the identifier may be stored in an undisclosed state in association with the converted identifier.
  • a terminal is a terminal that owns a distributed ledger using blockchain, and the purchase transaction data including consideration information regarding the consideration paid by the second user to the first user is transmitted to the first user.
  • 2 an acquisition unit that acquires from a second terminal owned by a user; and (i) executes a first smart contract recorded in the first blockchain by recording the purchase transaction data in the first blockchain.
  • an execution unit that, based on the first smart contract, executes a second smart contract recorded in a second blockchain different from the first blockchain, wherein the second smart contract is , a smart contract for transferring at least part of said consideration from said first user's first account to a third user's third account.
  • two smart contracts corresponding to two types of contracts are recorded separately in two different blockchains in order to fulfill two types of contracts related to payment of data.
  • One of the two types of contracts is a payment contract from the second user to the first user for the data, which arises from the purchase of the data by the second user.
  • the other one of the two types of contracts is a contract to pay at least part of the consideration for the data from the first user to the third user resulting from the purchase of the data by the second user.
  • the two types of contracts are the contract between the first user and the second user and the contract between the first user and the third user, and the combination of users who are parties to the contract is different.
  • FIG. 1 is a diagram showing an example of the configuration of a management system according to Embodiment 1. As shown in FIG.
  • the management system as shown in FIG.
  • the network N is, for example, the Internet, a mobile phone carrier network, or the like, but may be composed of any communication line or network.
  • an aggregator receives provided data from, for example, a plurality of providers and aggregates the provided data. Also, an aggregator receives a request from a purchaser, for example, and sells the requested provided data to the purchaser.
  • the management system is a system for the aggregator to mediate the trading of the provided data.
  • the aggregator is an example of the first user.
  • a purchaser is an example of a second user.
  • a provider is an example of a third user.
  • the aggregator terminal 10 is an example of a first terminal.
  • the purchaser terminal 20 is an example of a second terminal.
  • the provider terminal 30 is an example of a third terminal.
  • the concentrator terminal 10 will be described below.
  • Aggregator terminal 10 collects data such as operation logs of one or more devices owned by a provider, and uses the collected data or analysis data generated based on the collected data as provided data. It is an example of a device provided to a purchaser.
  • the operation log is, for example, information associated with a detection result detected by a sensor included in the device and the time when the operation state of the device was detected.
  • the one or more devices include, for example, home appliances installed in homes, devices installed in factories, sensors having communication functions, and the like.
  • the aggregator terminal 10 acquires the above provided data via the provider terminal 30 . Note that the aggregator terminal 10 may acquire the provided data from one or more devices that generated the provided data, without going through the provider terminal 30 .
  • the aggregator terminal 10 executes a first payment process for payment of the price of the data from the purchaser to the aggregator.
  • the aggregator terminal 10 may transmit the data purchased by the purchaser to the purchaser terminal 20 of the purchaser when executing the first payment process.
  • the aggregator terminal 10 executes the second payment processing for paying at least part of the consideration for the data from the aggregator to the provider who provided the data.
  • the payment may be the delivery of tokens or electronic money corresponding to consideration.
  • FIG. 2 is a diagram showing an example of the configuration of the aggregator terminal 10 according to the first embodiment.
  • the aggregator terminal 10 includes a communication unit 101, a control unit 102, a conversion unit 103, a recording unit 104, a first distributed ledger 111, a second distributed ledger 112, and a third distributed ledger. It comprises a ledger 113 , a public database 114 and a private database 115 .
  • the aggregator terminal 10 can be realized by a processor executing a predetermined program using a memory.
  • the public database is written as a public DB
  • the private database is written as a private DB.
  • the communication unit 101 exchanges data by communicating with the purchaser terminal 20 or the provider terminal 30 .
  • the communication unit 101 receives provided data provided from the provider terminal 30 .
  • the communication unit 101 receives third ledger transaction data including third ledger information indicating the distributed ledger owned by the provider terminal 30 from the provider terminal 30 .
  • the distributed ledgers owned by the provider terminal 30 are the distributed ledgers stored in the provider terminal 30 and are the first distributed ledger 111 and the third distributed ledger 113 .
  • the communication unit 101 receives second ledger transaction data including second ledger information indicating the distributed ledger owned by the buyer terminal 20 from the buyer terminal 20 .
  • the distributed ledger owned by the purchaser terminal 20 is the distributed ledger stored in the purchaser terminal 20 , which is the second distributed ledger 112 and the third distributed ledger 113 .
  • the communication unit 101 receives the first transaction data including the first payment smart contract from the provider terminal 30 .
  • the first payment smart contract is a smart contract for transferring data consideration from the aggregator's account to the provider's account.
  • the first payment smart contract includes an aggregator account address that identifies the aggregator account, a provider account address that identifies the provider account, an associated smart contract ID that identifies an associated smart contract described later, and data that identifies the provided data. It includes an ID and a first consideration, which is the consideration for the provided data.
  • the first payment smart contract is an example of a second smart contract.
  • the communication unit 101 transmits the second transaction data including the second payment smart contract to the purchaser terminal 20 .
  • the second payment smart contract is a smart contract for transferring data consideration from the buyer's account to the aggregator's account.
  • the second payment smart contract includes an aggregator account address that identifies the aggregator's account, a purchaser account address that identifies the purchaser's account, an associated smart contract ID that identifies an associated smart contract described later, and data that identifies the provided data. It includes an ID and a second consideration, which is the consideration for the provided data.
  • the second payment smart contract is an example of the first smart contract.
  • the first consideration for data paid from the aggregator to the provider is at least part of the second consideration for data paid from the purchaser to the aggregator.
  • the communication unit 101 transmits the third transaction data including the associated smart contract to the purchaser terminal 20 and the provider terminal 30.
  • An association smart contract is a smart contract that links the first payment smart contract and the second payment smart contract. Since the second payment smart contract is generated for each piece of data purchased by the purchaser terminal 20, the association smart contract is similarly generated for each piece of data purchased by the purchaser terminal 20, and the second payment smart contract It is generated corresponding to the smart contract.
  • the association smart contract executes when the second payment smart contract executes and executes the first payment smart contract.
  • the associated smart contract has a first address indicating a storage location in the first payment blockchain where the first payment smart contract is stored and a storage location in the second payment blockchain where the second payment smart contract is stored. and an associated smart contract ID that identifies the associated smart contract.
  • the communication unit 101 also receives purchase transaction data from the purchaser terminal 20, which includes price information related to the second price, which is the price for the provided data, to be paid by the purchaser to the aggregator.
  • Purchase transaction data is transaction data for executing the second payment smart contract.
  • the purchase transaction data includes a data ID for identifying purchase target data, a consideration for the purchase target data, and a purchaser ID for identifying a purchaser.
  • the communication unit 101 receives the third execution transaction data from the purchaser terminal 20 .
  • the third execution transaction data is transaction data for executing the associated smart contract.
  • the communication unit 101 exchanges each transaction data with the purchaser terminal 20 or the provider terminal 30. Specifically, the communication unit 101 transfers each transaction data to the purchaser terminal 20 or the provider terminal 30 or receives each transaction data transferred from the purchaser terminal 20 or the provider terminal 30 .
  • Each transaction data includes first ledger transaction data, second ledger transaction data, third ledger transaction data, purchase transaction data, first transaction data, second transaction data, third transaction data, first execution transaction data, and one of the third execution transaction data.
  • the communication unit 101 communicates with the purchaser terminal 20 or the provider terminal 30 via the network N.
  • this communication may be performed by TLS (Transport Layer Security), and the encryption key for TLS communication may be held in the communication unit 101 .
  • TLS Transport Layer Security
  • the control unit 102 generates first ledger transaction data including first ledger information indicating a distributed ledger owned by the aggregator terminal 10 .
  • the distributed ledgers owned by the aggregator terminal 10 are the distributed ledgers stored in the aggregator terminal 10 , namely the first distributed ledger 111 , the second distributed ledger 112 and the third distributed ledger 113 .
  • the control unit 102 transmits the generated first ledger transaction data to the purchaser terminal 20 and the provider terminal 30 via the communication unit 101 in order to store the generated first ledger transaction data in the third distributed ledger 113 .
  • control unit 102 generates second transaction data including the second payment smart contract.
  • the control unit 102 transmits the generated second transaction data to the purchaser terminal 20 via the communication unit 101 in order to store the generated second transaction data in the second distributed ledger 112 .
  • the control unit 102 stores data in the public database 114, which will be described later, based on the data ID indicating the purchase target data included in the purchase transaction data.
  • the provider ID of the provider who provided the data to be purchased is specified.
  • control unit 102 identifies the account address of the provider terminal 30 based on the data ID and based on public data information and account information managed in a public database 114, which will be described later. Thereby, the control unit 102 identifies the first payment smart contract to be associated with the second payment smart contract.
  • control unit 102 generates third transaction data including information about the associated smart contract.
  • the control unit 102 transmits the generated third transaction data to the purchaser terminal 20 and the provider terminal 30 via the communication unit 101 in order to store the generated third transaction data in the third distributed ledger.
  • control unit 102 may generate an associated smart contract ID that identifies the associated smart contract when generating the second payment smart contract and before generating the associated smart contract. After generating the second payment smart contract, the control unit 102 may generate an associated smart contract using the generated associated smart contract ID.
  • the control unit 102 verifies the validity of the transaction data. For example, the control unit 102 verifies whether the transaction data received by the communication unit 101 has an electronic signature generated by a correct method. Note that this verification may be skipped.
  • the transaction data received by the communication unit 101 include second ledger transaction data, third ledger transaction data, first transaction data, second transaction data, purchase transaction data, first execution transaction data, and third execution transaction data. Any one of transaction data.
  • control unit 102 together with at least one of the purchaser terminal 20 and the provider terminal 30, executes a consensus algorithm for agreeing on the validity of transaction data.
  • 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 control unit 102 receives reports indicating whether or not the verification of the transaction data has succeeded from each of the terminals executing the consensus algorithm together with the aggregator terminal 10, and the number of reports is a predetermined number. It is determined whether or not the number of Then, when the number of reports exceeds a predetermined number, the control unit 102 may determine that the validity of the transaction data has been verified by the consensus algorithm.
  • control unit 102 When the control unit 102 confirms the validity of the transaction data, it causes the recording unit 104 to record the transaction data.
  • control unit 102 receives the second ledger transaction data, the third ledger transaction data, the first transaction data, the second transaction data, the purchase transaction data, the first execution transaction data, and the , verify the correctness of the third execution transaction data.
  • the conversion unit 103 When the communication unit 101 receives the provided data from the provider terminal 30, the conversion unit 103 refers to the conversion table and converts the third identifier (provider ID) for identifying the provider included in the provided data into the third identifier. Convert to a specific identifier. Conversion unit 103 associates the provided data with the third specific identifier and stores them in public database 114 . The conversion unit 103 may convert the third identifier into the third specific identifier using a predetermined hash function. That is, the third specific identifier may be a hash value of the third identifier. Since a different third identifier is assigned to each provider, data provided by different providers are stored in the public database 114 in association with different third specific identifiers.
  • the recording unit 104 includes the transaction data whose validity has been verified by the control unit 102 in a block and stores it in any one of the first distributed ledger 111, the second distributed ledger 112, and the third distributed ledger 113. , to record transaction data.
  • the recording unit 104 may include the first distributed ledger 111, the second distributed ledger 112, and the third distributed ledger 113 inside.
  • the first distributed ledger 111 stores information on contracts between aggregators and providers.
  • the first distributed ledger 111 stores first transaction data including, for example, a first payment smart contract.
  • the first distributed ledger 111 stores a first payment blockchain containing blocks containing first transaction data.
  • the first payment blockchain is an example of a second blockchain.
  • the second distributed ledger 112 stores information about contracts between aggregators and buyers.
  • the second distributed ledger 112 stores second transaction data including, for example, a second payment smart contract.
  • the second distributed ledger 112 stores a second payment blockchain containing blocks containing second transaction data.
  • the second payment blockchain is an example of the first blockchain.
  • the third distributed ledger 113 stores information about aggregators, purchasers, and providers.
  • the third distributed ledger 113 stores third transaction data including, for example, an associated smart contract.
  • the third distributed ledger 113 stores a third blockchain containing blocks containing third transaction data.
  • Information stored in the public database 114 is information that can be viewed by the aggregator terminal 10 , the purchaser terminal 20 , and the provider terminal 30 .
  • the public database 114 stores public data information related to provided data acquired from the provider terminal 30 .
  • FIG. 3 is a table showing an example of the configuration of public data information.
  • the data information for public disclosure includes, for each of a plurality of data, a data number that identifies the data, the data, and the converted identifier of the provider who provided the data. 3 specific identifiers are associated with each other.
  • the public database 114 stores account information in which a specific identifier corresponding to each of the aggregator terminal 10, the purchaser terminal 20, and the provider terminal 30 is associated with the account address.
  • FIG. 4 is a table showing an example of the configuration of account information.
  • the account information is information in which the account address of the terminal identified by the specific identifier is associated with each specific identifier, which is the identifier of each terminal after conversion.
  • the first specific identifier is associated with the account address of the aggregator terminal 10
  • the second specific identifier is associated with the account address of the purchaser terminal 20
  • the third specific identifier is associated with the provider terminal. It is associated with 30 account addresses.
  • the first specific identifier is an identifier obtained by converting the first identifier (aggregator ID) that identifies the aggregator.
  • the first specific identifier is an identifier obtained by transforming the first identifier using a predetermined hash function.
  • the second specific identifier is an identifier obtained by converting the second identifier (purchaser ID) that identifies the purchaser.
  • the second specific identifier is an identifier obtained by converting the second identifier using a predetermined hash function.
  • Information stored in the private database 115 is information that cannot be browsed by the aggregator terminal 10 , the purchaser terminal 20 , and the provider terminal 30 .
  • the information stored in the private database 115 may be information that can be viewed by the aggregator terminal 10 and that cannot be viewed by the purchaser terminal 20 and the provider terminal 30 .
  • the non-public database 115 stores non-public data information related to provided data acquired from the provider terminal 30 .
  • FIG. 5 is a table showing an example of the configuration of non-disclosure data information.
  • the data is associated with a third specific identifier, which is the converted identifier of the provider who provided the data. It is the information that has been obtained.
  • the non-public data information may be further associated with a data number that identifies each piece of data.
  • the purchaser terminal 20 is a terminal for purchasing desired data out of the data aggregated in the aggregator terminal 10 .
  • the purchaser terminal 20 transmits a request for purchasing desired data to the aggregator terminal 10 and receives the desired data by paying the aggregator terminal 10 for the desired data.
  • FIG. 6 is a diagram showing an example of the configuration of the purchaser terminal 20 according to the first embodiment.
  • the purchaser terminal 20 includes a communication unit 201, a control unit 202, a recording unit 203, a second distributed ledger 112, and a third distributed ledger 113, as shown in FIG.
  • the purchaser terminal 20 can be realized by a processor executing a predetermined program using a memory. Each component of the purchaser terminal 20 will be described below.
  • the communication unit 201 exchanges data by communicating with the aggregator terminal 10 .
  • the communication unit 201 transmits second ledger transaction data including second ledger information indicating the distributed ledger owned by the purchaser terminal 20 to the aggregator terminal 10 .
  • the distributed ledger owned by the purchaser terminal 20 is the distributed ledger stored in the purchaser terminal 20 , which is the second distributed ledger 112 and the third distributed ledger 113 .
  • the communication unit 201 receives the third transaction data including the associated smart contract from the aggregator terminal 10 . Further, the communication unit 201 transmits purchase transaction data including price information related to the second price, which is the price paid by the purchaser to the aggregator and is the price for the provided data, to the aggregator terminal 10 . Also, the communication unit 201 transmits the second execution transaction data to the aggregator terminal 10 and the provider terminal 30 .
  • the communication unit 201 exchanges each transaction data with at least one of the aggregator terminal 10 and the provider terminal 30 . Specifically, the communication unit 201 transfers each transaction data to the aggregator terminal 10 or the provider terminal 30 or receives each transaction data transferred from the aggregator terminal 10 or the provider terminal 30 .
  • Each transaction data is the first ledger transaction data, the second ledger transaction data, the third ledger transaction data, the second transaction data, the third transaction data, the first execution transaction data, and the second execution transaction data. including one of
  • the communication unit 201 communicates with the aggregator terminal 10 or the provider terminal 30 via the network N. Note that this communication may be performed by TLS (Transport Layer Security), and the encryption key for TLS communication may be held in the communication unit 201 .
  • TLS Transport Layer Security
  • Control unit 202 The control unit 202 generates second ledger transaction data including second ledger information indicating a distributed ledger owned by the purchaser terminal 20 . Also, the control unit 202 generates second execution transaction data.
  • the control unit 202 verifies the validity of the transaction data. For example, the control unit 202 verifies whether the transaction data received by the communication unit 201 has an electronic signature generated by a correct method. Note that this verification may be skipped.
  • the transaction data received by the communication unit 201 is any one of the first ledger transaction data, the third ledger transaction data, the second transaction data, the third transaction data, the first execution transaction data, and the second execution transaction data. or one.
  • control unit 202 together with at least one of the purchaser terminal 20 and the provider terminal 30, executes a consensus algorithm for agreeing on the validity of transaction data.
  • 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 control unit 202 receives reports indicating whether or not the verification of the transaction data is successful from each of the terminals executing the consensus algorithm together with the purchaser terminal 20, and the number of reports is It is determined whether or not the number of Then, when the number of reports exceeds a predetermined number, the control unit 202 may determine that the validity of the transaction data has been verified by the consensus algorithm.
  • control unit 202 When the control unit 202 confirms the validity of the transaction data, it causes the recording unit 203 to record the transaction data.
  • control unit 202 receives the second ledger transaction data, the third ledger transaction data, the first transaction data, the second transaction data, the purchase transaction data, the first execution transaction data, and , the validity of any one of the second execution transaction data.
  • the recording unit 203 records the transaction data by including the transaction data whose validity has been verified by the control unit 202 in a block and storing it in either one of the second distributed ledger 112 and the third distributed ledger 113. .
  • the recording unit 203 may have the second distributed ledger 112 and the third distributed ledger 113 configured therein.
  • the second distributed ledger 112 and the third distributed ledger 113 are the same as the second distributed ledger 112 and the third distributed ledger 113 provided in the aggregator terminal 10, so description thereof will be omitted.
  • the provider terminal 30 is a terminal for providing data to the aggregator terminal 10 .
  • the provider terminal 30 is a terminal for receiving at least part of the payment for data purchased by the purchaser terminal 20 from the aggregator terminal 10 .
  • FIG. 7 is a diagram showing an example configuration of the provider terminal 30 according to the first embodiment.
  • the provider terminal 30 includes a communication unit 301, a control unit 302, a recording unit 303, a first distributed ledger 111, and a third distributed ledger 113, as shown in FIG.
  • Provider terminal 30 can be realized by a processor executing a predetermined program using memory. Each component provided in the provider terminal 30 will be described below.
  • the communication unit 301 exchanges data by communicating with the aggregator terminal 10 .
  • the communication unit 301 transmits the provided data to the aggregator terminal 10 .
  • the communication unit 301 transmits third ledger transaction data including third ledger information indicating the distributed ledger owned by the provider terminal 30 to the aggregator terminal 10 .
  • the distributed ledgers owned by the provider terminal 30 are the distributed ledgers stored in the provider terminal 30 and are the first distributed ledger 111 and the third distributed ledger 113 .
  • the communication unit 301 transmits the first transaction data including the first payment smart contract to the aggregator terminal 10 . Also, the communication unit 301 receives the third transaction data including the associated smart contract from the aggregator terminal 10 .
  • the communication unit 301 exchanges each transaction data with at least one of the aggregator terminal 10 and the purchaser terminal 20 . Specifically, the communication unit 301 transfers each transaction data to the aggregator terminal 10 or the purchaser terminal 20 or receives each transaction data transferred from the aggregator terminal 10 or the purchaser terminal 20 .
  • Each transaction data is the first ledger transaction data, the second ledger transaction data, the third ledger transaction data, the first transaction data, the third transaction data, the first execution transaction data, and the second execution transaction data. including one of
  • the communication unit 301 communicates with the aggregator terminal 10 or the purchaser terminal 20 via the network N. Note that this communication may be performed by TLS (Transport Layer Security), and the encryption key for TLS communication may be held in the communication unit 301 .
  • TLS Transport Layer Security
  • Control unit 302 generates third ledger transaction data including third ledger information indicating a distributed ledger owned by the provider terminal 30 . Also, the control unit 302 generates first execution transaction data.
  • control unit 302 generates first transaction data including the first payment smart contract.
  • the control unit 302 transmits the generated first transaction data to the aggregator terminal 10 via the communication unit 301 in order to store the generated first transaction data in the first distributed ledger 111 .
  • control unit 302 generates an associated smart contract ID when generating the first payment smart contract and before the associated smart contract is generated, and generates the first payment smart contract including the generated associated smart contract ID. You may generate a contract. Then, the control unit 302 may transmit the generated associated smart contract ID to the aggregator terminal 10 . When the aggregator terminal 10 receives the associated smart contract ID from the provider terminal 30, the aggregator terminal 10 may use the received associated smart contract ID to generate the second payment smart contract and the associated smart contract. Conversely, the control unit 302 may inquire whether the aggregator terminal 10 has already generated an associated smart contract ID when generating the first payment smart contract.
  • the associated smart contract ID may be obtained from the aggregator terminal 10, and a first payment smart contract including the obtained associated smart contract ID may be generated.
  • the control unit 302 does not need to generate an associated smart contract ID.
  • the control unit 302 verifies the validity of the transaction data. For example, the control unit 302 verifies whether the transaction data received by the communication unit 301 has an electronic signature generated by a correct method. Note that this verification may be skipped.
  • the transaction data received by the communication unit 301 is any one of the first ledger transaction data, the second ledger transaction data, the third transaction data, the first execution transaction data, and the second execution transaction data. .
  • control unit 302 together with at least one of the aggregator terminal 10 and the purchaser terminal 20, executes a consensus algorithm for agreeing on the validity of transaction data.
  • 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 control unit 302 receives a report indicating whether or not the verification of the transaction data has succeeded from each of the terminals executing the consensus algorithm together with the provider terminal 30, and the number of reports is a predetermined number. It is determined whether or not the number of Then, when the number of reports exceeds a predetermined number, the control unit 302 may determine that the validity of the transaction data has been verified by the consensus algorithm.
  • control unit 302 When the control unit 302 confirms the validity of the transaction data, it causes the recording unit 303 to record the transaction data.
  • control unit 302 controls any one of the first ledger transaction data, the second ledger transaction data, the third transaction data, the first execution transaction data, and the second execution transaction data received by the communication unit 301. Verify one correctness.
  • the recording unit 303 records the transaction data by including the transaction data whose validity has been verified by the control unit 302 in a block and storing it in one of the first distributed ledger 111 and the third distributed ledger 113. .
  • the recording unit 303 may have the first distributed ledger 111 and the third distributed ledger 113 configured therein.
  • the first distributed ledger 111 and the third distributed ledger 113 are the same as the first distributed ledger 111 and the third distributed ledger 113 provided in the aggregator terminal 10, so the description is omitted.
  • FIG. 8 is a sequence diagram showing an example of data acquisition processing by the management system according to the first embodiment.
  • the data acquisition process is a process performed by the aggregator terminal 10 when the aggregator terminal 10 acquires provided data from the provider terminal 30 .
  • the provider terminal 30 transmits the provided data to the aggregator terminal 10 (S101).
  • the provider terminal 30 may periodically transmit the provided data to the aggregator terminal 10 .
  • the provided data includes a third identifier that identifies the provider terminal 30 .
  • the aggregator terminal 10 Upon receiving the provided data from the provider terminal 30, the aggregator terminal 10 refers to the conversion table and converts the third identifier contained in the provided data into a third specific identifier (S102).
  • the aggregator terminal 10 associates the received provided data with the third specific identifier obtained by the conversion, and stores them in the public database 114 (S103).
  • the aggregator terminal 10 associates the third identifier with the third specific identifier and stores them in the private database 115 (S104).
  • FIG. 9 is a sequence diagram showing an example of processing for storing distributed ledger information in a distributed ledger by the management system according to the first embodiment.
  • the provider terminal 30 generates third ledger transaction data including third ledger information indicating the distributed ledger owned by the provider terminal 30 (S111).
  • the provider terminal 30 transmits the generated third ledger transaction data to the aggregator terminal 10 and the purchaser terminal 20 (S112).
  • the aggregator terminal 10, the purchaser terminal 20, and the provider terminal 30 execute a consensus algorithm to generate a block containing third ledger transaction data and store it in the third distributed ledger 113 (S113 ).
  • the aggregator terminal 10 generates first ledger transaction data including first ledger information indicating the distributed ledger owned by the aggregator terminal 10 (S114).
  • the aggregator terminal 10 transmits the generated first ledger transaction data to the purchaser terminal 20 and the provider terminal 30 (S115).
  • the aggregator terminal 10, the purchaser terminal 20, and the provider terminal 30 execute a consensus algorithm to generate a block containing the first ledger transaction data and store it in the third distributed ledger 113 (S116). ).
  • the purchaser terminal 20 generates second ledger transaction data including second ledger information indicating the distributed ledger owned by the purchaser terminal 20 (S117).
  • the purchaser terminal 20 transmits the generated second ledger transaction data to the aggregator terminal 10 and the provider terminal 30 (S118).
  • the aggregator terminal 10, the purchaser terminal 20, and the provider terminal 30 execute the consensus algorithm to generate a block containing the second ledger transaction data and store it in the third distributed ledger 113 (S119). ).
  • the process of storing distributed ledger information in the distributed ledger should be performed when the distributed ledger owned by each terminal is set or updated.
  • the series of processes from steps S111 to S113, the series of processes from steps S114 to S116, and the series of processes from steps S117 to S119 do not have to be performed in this order. Further, the series of processes of steps S111 to S113, the series of processes of steps S114 to S116, and the series of processes of steps S117 to S119 may be performed only once, or the configuration of the distributed ledger owned by each terminal may be performed each time is updated.
  • FIG. 10 is a sequence diagram showing an example of processing for storing smart contracts in a distributed ledger by the management system according to the first embodiment.
  • the provider terminal 30 generates first transaction data including the first payment smart contract (S121).
  • the provider terminal 30 transmits the generated first transaction data to the aggregator terminal 10 and the purchaser terminal 20 (S122).
  • the aggregator terminal 10 and the provider terminal 30 execute the consensus algorithm, generate a block containing the first transaction data, and store it in the first distributed ledger 111 (S123).
  • the aggregator terminal 10 generates second transaction data including the second payment smart contract (S124).
  • the aggregator terminal 10 transmits the generated second transaction data to the purchaser terminal 20 (S125).
  • the aggregator terminal 10 and the purchaser terminal 20 execute the consensus algorithm, generate a block containing the second transaction data, and store it in the second distributed ledger 112 (S126).
  • the aggregator terminal 10 generates third transaction data including the associated smart contract (S127).
  • the aggregator terminal 10 transmits the generated third transaction data to the purchaser terminal 20 and the provider terminal 30 (S128).
  • the aggregator terminal 10, the purchaser terminal 20, and the provider terminal 30 execute the consensus algorithm, generate a block containing the third transaction data, and store it in the third distributed ledger 113 (S129). .
  • FIG. 11 is a sequence diagram showing an example of data trading processing by the management system according to the first embodiment.
  • the purchaser terminal 20 refers to a database containing a list of data to be traded, and designates the data to be purchased (S131).
  • the purchaser terminal 20 generates purchase transaction data including information indicating the data to be purchased and the price of the data (S132).
  • the purchaser terminal 20 transmits the generated purchase transaction data to the aggregator terminal 10 (S133).
  • the aggregator terminal 10 and the purchaser terminal 20 execute a consensus algorithm, generate a block containing purchase transaction data, and store it in the second distributed ledger 112 (S134).
  • the aggregator terminal 10 and the purchaser terminal 20 execute the second payment smart contract when the consensus algorithm is executed for the purchase transaction data (S135, S136).
  • Each of the aggregator terminal 10 and the purchaser terminal 20 transfers the consideration for the data from the purchaser's account to the aggregator's account (S135).
  • each of the aggregator terminal 10 and the purchaser terminal 20 generates second execution transaction data for calling the associated smart contract (S136).
  • the second execution transaction data includes an associated smart contract ID.
  • At least one of the aggregator terminal 10 and the purchaser terminal 20 transmits the second execution transaction data to a terminal other than its own among the three terminals of the aggregator terminal 10, the purchaser terminal 20, and the provider terminal 30. to other terminals (S137).
  • FIG. 11 shows an example in which the purchaser terminal 20 transmits the second execution transaction data to the aggregator terminal 10 and the provider terminal 30 .
  • the aggregator terminal 10 may transmit the second execution transaction data to the purchaser terminal 20 and the provider terminal 30 .
  • the aggregator terminal 10, the purchaser terminal 20, and the provider terminal 30 execute the consensus algorithm, generate a block containing the second execution transaction data, and store it in the third distributed ledger 113 (S138). ).
  • the aggregator terminal 10, purchaser terminal 20, and provider terminal 30 execute the associated smart contract when the consensus algorithm is executed for the second execution transaction data (S140-S142).
  • each of the aggregator terminal 10, purchaser terminal 20, and provider terminal 30 identifies the first payment smart contract linked to the second payment smart contract (S140). Specifically, each of the aggregator terminal 10, the purchaser terminal 20, and the provider terminal 30 stores the first payment smart contract, which is included in the associated smart contract, in the first payment blockchain. A first payment smart contract is identified based on the first address indicating the location.
  • each of the aggregator terminal 10, the purchaser terminal 20, and the provider terminal 30 determines whether or not they possess the first distributed ledger (S141). Specifically, each of the aggregator terminal 10, the purchaser terminal 20, and the provider terminal 30, based on each distributed ledger information stored in the third distributed ledger 113, It is determined whether or not the Since the aggregator terminal 10 and the provider terminal 30 have the first distributed ledger, the judgment is Yes and the next step S142 is executed. On the other hand, since the purchaser terminal 20 does not have the first distributed ledger, it determines No and terminates the process.
  • each of the aggregator terminal 10 and the provider terminal 30 generates first execution transaction data for calling the first payment smart contract (S142).
  • the first execution transaction data includes a first payment smart contract ID that identifies the first payment smart contract.
  • At least one of the aggregator terminal 10 and the provider terminal 30 transmits the first execution transaction data to the other of the aggregator terminal 10 and the provider terminal 30 (S143).
  • FIG. 11 shows an example in which the aggregator terminal 10 transmits the first execution transaction data to the provider terminal 30 .
  • the provider terminal 30 may transmit the first execution transaction data to the aggregator terminal.
  • the aggregator terminal 10 and the provider terminal 30 execute the consensus algorithm, generate a block containing the first execution transaction data, and store it in the first distributed ledger 111 (S144).
  • the aggregator terminal 10 and the provider terminal 30 execute the first payment smart contract when the consensus algorithm is executed for the first execution transaction data (S145). Specifically, each of the aggregator terminal 10 and the provider terminal 30 transfers at least part of the consideration for the data from the aggregator's account to the provider's account (S145).
  • the aggregator terminal 10 of the management system performs the following control method.
  • the aggregator terminal 10 acquires purchase transaction data including price information about the price paid by the purchaser to the aggregator from the purchaser terminal 20 owned by the purchaser (S133).
  • the aggregator terminal 10 executes the second payment smart contract recorded in the second payment blockchain by recording the purchase transaction data in the second payment blockchain (S135, S136).
  • the aggregator terminal 10 executes the first payment smart contract recorded in the first payment block chain different from the second payment block chain based on the second payment smart contract (S145).
  • the first payment smart contract is a smart contract for transferring at least part of the consideration for the provided data from the aggregator's account to the provider's account.
  • two smart contracts corresponding to the two types of contracts are recorded separately in two different blockchains in order to fulfill the two types of contracts regarding the payment of the consideration for the provided data.
  • One of the two types of contract is a contract of payment for the provided data from the purchaser to the aggregator, which arises from the purchase of the provided data by the purchaser.
  • the other one of the two types of contracts is a contract for payment of at least part of the consideration for the provided data from the aggregator to the provider, which arises from the purchase of the provided data by the purchaser.
  • the two types of contracts are the contract between the aggregator and the purchaser and the contract between the aggregator and the provider, and the combinations of users who are parties to the contract are different.
  • the provider is the provider of the provided data and the aggregator is an intermediary who trades the provided data between the provider and the purchaser
  • the provided data from the purchaser to the aggregator When payment of consideration is made, payment of at least part of the consideration for the provided data from the aggregator to the provider can also be automatically made.
  • the aggregator terminal 10 uses the second payment block chain for executing the association smart contract recorded in the third blockchain different from the first payment block chain and the second payment block chain. Execution transaction data is generated (S136). Next, the aggregator terminal 10 executes the associated smart contract by recording the second execution transaction data in the third blockchain (S138) (S140-S142).
  • the aggregator terminal 10 can execute the association smart contract by executing the second payment smart contract.
  • the aggregator terminal 10 identifies the first payment smart contract, which is a smart contract linked to the second payment smart contract (S140), and executes the first payment smart contract. (S142).
  • the aggregator terminal 10 executes the first payment smart contract by recording the first execution transaction data in the first payment blockchain (S144) (S145).
  • the aggregator terminal 10 can execute the association smart contract by executing the second payment smart contract, and further execute the first payment smart contract by executing the association smart contract.
  • the aggregator terminal 10 transfers the consideration for the provided data from the purchaser's account to the aggregator's account.
  • the aggregator terminal 10 executes the second payment smart contract, allowing the purchaser to pay the aggregator for the provided data.
  • the aggregator terminal 10 determines whether or not the aggregator terminal 10 owns the first payment blockchain in executing the second payment smart contract (S141). When the aggregator terminal 10 determines that the aggregator terminal 10 owns the first payment blockchain, the aggregator terminal 10 executes the first payment smart contract (S145).
  • the aggregator terminal 10 that owns the first payment blockchain can execute the first payment smart contract.
  • the consideration is the consideration for the provided data provided by the provider.
  • Provided data is stored in a public state in association with a third specific identifier, which is a converted identifier obtained by converting a third identifier (provider ID) for identifying a provider.
  • the third identifier is associated with the third specific identifier and stored in an undisclosed state. Therefore, it is possible to manage the identifier of the third user in a state where it is not made public and in association with the data.
  • the second embodiment differs from the first embodiment in part of the data trading process by the management system. Since the configuration of the management system is the same as that of the first embodiment, the explanation is omitted.
  • FIG. 12 is a sequence diagram showing an example of data trading processing by the management system according to the second embodiment.
  • the purchaser terminal 20 refers to a database containing a list of data to be traded, and designates the data to be purchased (S151).
  • the purchaser terminal 20 generates purchase transaction data including information indicating the data to be purchased and the price of the data (S152).
  • the purchaser terminal 20 transmits the generated purchase transaction data to the aggregator terminal 10 (S153).
  • the aggregator terminal 10 and the purchaser terminal 20 execute a consensus algorithm, generate a block containing purchase transaction data, and store it in the second distributed ledger 112 (S154).
  • the aggregator terminal 10 and the purchaser terminal 20 execute the second smart contract when the consensus algorithm is executed for the purchase transaction data (S155). Specifically, each of the aggregator terminal 10 and the purchaser terminal 20 transfers the consideration for the data from the purchaser's account to the aggregator's account (S155).
  • the aggregator terminal 10 generates second execution transaction data for calling the associated smart contract (S156).
  • the second execution transaction data includes an associated smart contract ID.
  • the aggregator terminal 10 transmits the second execution transaction data to the purchaser terminal 20 and the provider terminal 30 (S157).
  • the aggregator terminal 10, the purchaser terminal 20, and the provider terminal 30 execute the consensus algorithm, generate a block containing the second execution transaction data, and store it in the third distributed ledger 113 (S158). ).
  • the aggregator terminal 10, purchaser terminal 20, and provider terminal 30 execute the associated smart contract when the consensus algorithm is executed for the second execution transaction data (S159-S161).
  • each of the aggregator terminal 10, purchaser terminal 20, and provider terminal 30 identifies the first payment smart contract linked to the second payment smart contract (S159). Specifically, each of the aggregator terminal 10, the purchaser terminal 20, and the provider terminal 30 stores the first payment smart contract, which is included in the associated smart contract, in the first payment blockchain. A first payment smart contract is identified based on the first address indicating the location.
  • each of the aggregator terminal 10, purchaser terminal 20, and provider terminal 30 determines whether or not they possess the first distributed ledger (S160). Specifically, each of the aggregator terminal 10, the purchaser terminal 20, and the provider terminal 30, based on each distributed ledger information stored in the third distributed ledger 113, It is determined whether or not the Since the aggregator terminal 10 and the provider terminal 30 have the first distributed ledger, the determination is Yes and the next step S161 is executed. On the other hand, since the purchaser terminal 20 does not have the first distributed ledger, it determines No and terminates the process.
  • each of the aggregator terminal 10, purchaser terminal 20, and provider terminal 30 notifies the first payment smart contract linked to the second payment smart contract (S161).
  • each of the aggregator terminal 10 and the provider terminal 30 generates first execution transaction data for calling the first payment smart contract (S162).
  • the first execution transaction data includes a first payment smart contract ID that identifies the first payment smart contract.
  • At least one of the aggregator terminal 10 and the provider terminal 30 transmits the first execution transaction data to the other of the aggregator terminal 10 and the provider terminal 30 (S163).
  • FIG. 12 shows an example in which the aggregator terminal 10 transmits the first execution transaction data to the provider terminal 30 .
  • the provider terminal 30 may transmit the first execution transaction data to the aggregator terminal.
  • the aggregator terminal 10 and the provider terminal 30 execute the consensus algorithm, generate a block containing the first execution transaction data, and store it in the first distributed ledger 111 (S164).
  • the aggregator terminal 10 and provider terminal 30 execute the first payment smart contract when the consensus algorithm is executed for the first execution transaction data (S165). Specifically, each of the aggregator terminal 10 and the provider terminal 30 transfers at least part of the consideration for the data from the aggregator's account to the provider's account (S165).
  • the third embodiment differs from the first embodiment in part of the data trading process by the management system. Since the configuration of the management system is the same as that of the first embodiment, the explanation is omitted.
  • the aggregator terminal 10 may include the first payment smart contract ID specified when generating the second payment smart contract in the generated second payment smart contract. Also, in Embodiment 3, each piece of distributed ledger information is assumed to be stored in the second payment block chain of the second distributed ledger 112 .
  • FIG. 13 is a sequence diagram showing an example of data trading processing by the management system according to the third embodiment.
  • the purchaser terminal 20 refers to a database containing a list of data to be traded, and designates the data to be purchased (S171).
  • the purchaser terminal 20 generates purchase transaction data including information indicating the data to be purchased and the price of the data (S172).
  • the purchaser terminal 20 transmits the generated purchase transaction data to the aggregator terminal 10 (S173).
  • the aggregator terminal 10 and the purchaser terminal 20 execute a consensus algorithm to generate a block containing purchase transaction data and store it in the second distributed ledger 112 (S174).
  • the aggregator terminal 10 and the purchaser terminal 20 execute the second smart contract when the consensus algorithm is executed for the purchase transaction data (S175-S177).
  • each of the aggregator terminal 10 and the purchaser terminal 20 transfers the consideration for the data from the purchaser's account to the aggregator's account (S175).
  • each of the aggregator terminal 10 and the purchaser terminal 20 determines whether or not they possess the first distributed ledger (S176). Specifically, each of the aggregator terminal 10 and the purchaser terminal 20 determines whether or not it owns the first distributed ledger based on each distributed ledger information stored in the second distributed ledger 112. judge. Since the aggregator terminal 10 has the first distributed ledger, the aggregator terminal 10 determines Yes and executes the next step S177. On the other hand, since the purchaser terminal 20 does not have the first distributed ledger, it determines No and terminates the process.
  • the aggregator terminal 10 generates first execution transaction data for calling the first payment smart contract (S177).
  • the first execution transaction data includes a first payment smart contract ID that identifies the first payment smart contract.
  • the aggregator terminal 10 transmits the first execution transaction data to the provider terminal 30 (S178).
  • the aggregator terminal 10 and the provider terminal 30 execute the consensus algorithm, generate a block containing the first execution transaction data, and store it in the first distributed ledger 111 (S179).
  • the aggregator terminal 10 and the provider terminal 30 execute the first payment smart contract when the consensus algorithm is executed for the first execution transaction data (S180). Specifically, each of the aggregator terminal 10 and the provider terminal 30 transfers at least part of the consideration for the data from the aggregator's account to the provider's account (S180). Thus, the aggregator terminal 10 generates first execution transaction data for executing the first payment smart contract in executing the second payment smart contract (S177). The aggregator terminal 10 executes the first payment smart contract by recording the generated first execution transaction data in the first payment block chain (S179) (S180).
  • the aggregator terminal 10 can execute the first payment smart contract by executing the second payment smart contract. That is, the first payment smart contract can be executed in conjunction with the execution of the second payment smart contract without executing the association smart contract as in the first embodiment.
  • the second payment smart contract includes an identifier that identifies the first payment smart contract, that is, the first payment smart contract ID.
  • the aggregator terminal 10 identifies the first payment smart contract linked to the second payment smart contract by referring to the first payment smart contract ID, and after identifying the first payment smart contract, executes the first execution transaction. Generate data.
  • the aggregator terminal 10 can easily identify the first payment smart contract to be executed in cooperation with the second payment smart contract.
  • the third embodiment differs from the first embodiment in part of the data trading process by the management system. Since the configuration of the management system is the same as that of the first embodiment, the explanation is omitted.
  • FIG. 14 is a sequence diagram showing an example of data trading processing by the management system according to the fourth embodiment.
  • the purchaser terminal 20 refers to a database containing a list of data to be traded, and designates the data to be purchased (S191).
  • the purchaser terminal 20 generates purchase transaction data including information indicating the data to be purchased and the price of the data (S192).
  • the purchaser terminal 20 transmits the generated purchase transaction data to the aggregator terminal 10 (S193).
  • the aggregator terminal 10 and the purchaser terminal 20 execute a consensus algorithm to generate a block containing purchase transaction data and store it in the second distributed ledger 112 (S194).
  • the aggregator terminal 10 and the purchaser terminal 20 execute the second smart contract when the consensus algorithm is executed for the purchase transaction data (S195-S198).
  • Each of the aggregator terminal 10 and the purchaser terminal 20 transfers the consideration for the data from the purchaser's account to the aggregator's account (S195).
  • each of the aggregator terminal 10 and the purchaser terminal 20 determines whether or not the purchase target data specified in the purchase transaction data may be sold to the purchaser (S196).
  • Each of the aggregator terminal 10 and the purchaser terminal 20 compares the attribute of the provider and the attribute of the purchaser, and sells the data to be purchased to the purchaser when the attributes of both satisfy a predetermined relationship. If the attributes of both do not satisfy a predetermined relationship, it may be determined that the purchase target data cannot be sold to the purchaser.
  • a predetermined relationship is that the attribute of the provider and the attribute of the purchaser are not similar, for example, the location of residence of the provider and the location of residence of the purchaser are separated from each other by more than a predetermined distance. .
  • each of the aggregator terminal 10 and the purchaser terminal 20 determines that the purchase target data specified by the purchase transaction data may be sold to the purchaser (Yes in S196)
  • the aggregator terminal 10 and the purchaser terminal 20 execute step S197 to purchase the data. If it is determined that the product cannot be sold to a third party (No in S196), the process is terminated.
  • the aggregator terminal 10 transfers the purchase target data to the purchaser (S197). Specifically, the aggregator terminal 10 may transmit the purchase target data to the purchaser terminal 20, or access the database storing the purchase target data and provide information for downloading the purchase target data. It may be transmitted to the purchaser terminal 20 .
  • each of the aggregator terminal 10 and the provider terminal 30 transfers at least part of the consideration for the data from the aggregator's account to the provider's account (S198).
  • Each device in the above embodiment is specifically a computer system composed of a microprocessor, ROM, RAM, hard disk unit, display unit, keyboard, mouse, and the like.
  • a computer program is recorded in the RAM or hard disk unit.
  • Each device achieves its function by the microprocessor operating according to the computer program.
  • the computer program is constructed by combining a plurality of instruction codes indicating instructions to the computer in order to achieve a predetermined function.
  • a system LSI is an ultra-multifunctional LSI manufactured by integrating multiple components on a single chip. Specifically, it is a computer system that includes a microprocessor, ROM, RAM, etc. . A computer program is recorded in the RAM. The system LSI achieves its functions by the microprocessor operating according to the computer program.
  • each part of the constituent elements constituting each of the devices described above may be individually integrated into one chip, or may be integrated into one chip so as to include part or all of them.
  • system LSI may also be called IC, LSI, super LSI, or ultra LSI depending on the degree of integration.
  • the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connections and settings of the circuit cells inside the LSI may be used.
  • the IC card or module is a computer system composed of a microprocessor, ROM, RAM and the like.
  • the IC card or the module may include the super multifunctional LSI.
  • the IC card or the module achieves its function by the microprocessor operating according to the computer program. This IC card or this module may be tamper resistant.
  • the present disclosure may be the method shown above. Moreover, it may be a computer program for realizing these methods by a computer, or it may be a digital signal composed of the computer program.
  • the present disclosure includes a computer-readable recording medium for the computer program or the digital signal, such as a flexible disk, hard disk, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, BD (Blu-ray (Registered Trademark) Disc), semiconductor memory, or the like. Moreover, it may be the digital signal recorded on these recording media.
  • a computer-readable recording medium for the computer program or the digital signal such as a flexible disk, hard disk, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, BD (Blu-ray (Registered Trademark) Disc), semiconductor memory, or the like.
  • BD Blu-ray (Registered Trademark) Disc
  • semiconductor memory or the like.
  • it may be the digital signal recorded on these recording media.
  • the computer program or the digital signal may be transmitted via an electric communication line, a wireless or wired communication line, a network represented by the Internet, data broadcasting, or the like.
  • the present disclosure may also be a computer system comprising a microprocessor and memory, the memory storing the computer program, and the microprocessor operating according to the computer program.
  • the present disclosure can be used for control methods, servers, and programs, and can be used for control methods, terminals, programs, and the like that can cooperate and fulfill, for example, two types of contracts related to payment of consideration.

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Marketing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

制御方法は、ブロックチェーンを利用した分散台帳を保有している第1端末の制御方法であって、第2ユーザが第1ユーザに支払う対価に関する対価情報を含む購入トランザクションデータを第2ユーザが所有する第2端末から取得し(S133)、購入トランザクションデータを第1ブロックチェーンに記録することにより、第1ブロックチェーンに記録されている第1スマートコントラクトを実行し(S135、S136)、第1スマートコントラクトに基づいて、第1ブロックチェーンとは異なる第2ブロックチェーンに記録されている第2スマートコントラクトを実行し(S145)、第2スマートコントラクトは、第1ユーザの第1口座から第3ユーザの第3口座に対価の少なくとも一部を振り込むためのスマートコントラクトである。

Description

制御方法、端末、及び、プログラム
 本開示は、制御方法、端末、及び、プログラムに関する。
 従来、契約の条件確認から履行までをブロックチェーン上で自動的に実行するスマートコントラクト技術が存在する。例えば、特許文献1には、スマートコントラクト技術を用いて自動的に貿易取引の手続きを実行させる方法が開示されている。
国際公開第2019/003414号
 本開示は、対価の支払いに関する2種類の契約を連携して履行することができる制御方法などを提供することを目的とする。
 本開示の一態様に係る制御方法は、ブロックチェーンを利用した分散台帳を保有している第1端末の制御方法であって、第2ユーザが第1ユーザに支払う対価に関する対価情報を含む購入トランザクションデータを前記第2ユーザが所有する第2端末から取得し、前記購入トランザクションデータを第1ブロックチェーンに記録することにより、前記第1ブロックチェーンに記録されている第1スマートコントラクトを実行し、前記第1スマートコントラクトに基づいて、前記第1ブロックチェーンとは異なる第2ブロックチェーンに記録されている第2スマートコントラクトを実行し、前記第2スマートコントラクトは、前記第1ユーザの第1口座から第3ユーザの第3口座に前記対価の少なくとも一部を振り込むためのスマートコントラクトである。
 なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
 本開示によれば、対価の支払いに関する2種類の契約を連携して履行することができる。
実施の形態1に係る管理システムの構成の一例を示す図である。 実施の形態1に係る集約者端末の構成の一例を示す図である。 公開用のデータ情報の構成の一例を示す表である。 口座情報の構成の一例を示す表である。 非公開用のデータ情報の構成の一例を示す表である。 実施の形態1に係る購買者端末の構成の一例を示す図である。 実施の形態1に係る提供者端末の構成の一例を示す図である。 実施の形態1に係る管理システムによるデータ取得処理の一例を示すシーケンス図である。 実施の形態1に係る管理システムによる、分散台帳情報を分散台帳に格納する処理の一例を示すシーケンス図である。 実施の形態1に係る管理システムによるスマートコントラクトを分散台帳に格納する処理の一例を示すシーケンス図である。 実施の形態1に係る管理システムによるデータ売買処理の一例を示すシーケンス図である。 実施の形態2に係る管理システムによるデータ売買処理の一例を示すシーケンス図である。 実施の形態3に係る管理システムによるデータ売買処理の一例を示すシーケンス図である。 実施の形態4に係る管理システムによるデータ売買処理の一例を示すシーケンス図である。
 本開示の一態様に係る制御方法は、ブロックチェーンを利用した分散台帳を保有している第1端末の制御方法であって、第2ユーザが第1ユーザに支払う対価に関する対価情報を含む購入トランザクションデータを前記第2ユーザが所有する第2端末から取得し、前記購入トランザクションデータを第1ブロックチェーンに記録することにより、前記第1ブロックチェーンに記録されている第1スマートコントラクトを実行し、前記第1スマートコントラクトに基づいて、前記第1ブロックチェーンとは異なる第2ブロックチェーンに記録されている第2スマートコントラクトを実行し、前記第2スマートコントラクトは、前記第1ユーザの第1口座から第3ユーザの第3口座に前記対価の少なくとも一部を振り込むためのスマートコントラクトである。。
 これによれば、データの対価の支払いに関する2種類の契約を履行するための、2種類の契約にそれぞれ対応する2つのスマートコントラクトを異なる2つのブロックチェーンに分けて記録している。2種類の契約の1つは、第2ユーザがデータを購入したことで生じる、第2ユーザから第1ユーザへの当該データの対価の支払い契約である。2種類の契約の他の1つは、第2ユーザがデータを購入したことで生じる、第1ユーザから第3ユーザへの当該データの対価の少なくとも一部の支払い契約である。このように、2種類の契約は、第1ユーザ及び第2ユーザ間の契約と、第1ユーザ及び第3ユーザ間の契約とであり、契約の当事者となるユーザの組み合わせが異なる。つまり、2つのスマートコントラクトを異なる2つのブロックチェーンに分けて記録することで、契約の当事者以外のユーザに、当該契約に対応するスマートコントラクトが知られることを抑制することができる。このように、2つのスマートコントラクトを異なる2つのブロックチェーンに分けて記録する場合であっても、2つのスマートコントラクトを連携して実行するため、2種類の契約を連携して履行することができる。このため、例えば、第3ユーザがデータの提供者であり、第1ユーザが第3ユーザと第2ユーザとの間のデータの売買を行う仲介者である場合、第2ユーザから第1ユーザへのデータに対する対価の支払いが実行されると、第1ユーザから第3ユーザへのデータの対価の少なくとも一部の支払いも自動的に行うことができる。
 また、前記第1スマートコントラクトの実行において、前記第2スマートコントラクトを実行するための第1実行トランザクションデータを生成し、生成した前記第1実行トランザクションデータを前記第2ブロックチェーンに記録することにより、前記第2スマートコントラクトを実行してもよい。
 このため、第1スマートコントラクトを実行することで、第2スマートコントラクトを実行することができる。
 また、前記第1スマートコントラクトの実行において、前記第1ブロックチェーン及び前記第2ブロックチェーンとは異なる第3ブロックチェーンに記録されている第3スマートコントラクトを実行するための第2実行トランザクションデータを生成し、前記第2実行トランザクションデータを前記第3ブロックチェーンに記録することにより、前記第3スマートコントラクトを実行してもよい。
 このため、第1スマートコントラクトを実行することで、第3スマートコントラクトを実行することができる。
 また、前記第3スマートコントラクトの実行において、前記第1スマートコントラクトと紐づいているスマートコントラクトである前記第2スマートコントラクトを特定し、前記第2スマートコントラクトを実行するための第1実行トランザクションデータを生成し、前記第1実行トランザクションデータを前記第2ブロックチェーンに記録することにより、前記第2スマートコントラクトを実行してもよい。
 このため、第1スマートコントラクトを実行することで第3スマートコントラクトを実行し、さらに、第3スマートコントラクトを実行することで第2スマートコントラクトを実行することができる。
 また、前記第1スマートコントラクトの実行において、前記第2ユーザの口座から前記第1ユーザの口座に前記対価を振り込んでもよい。
 これにより、第1スマートコントラクトを実行することで、第2ユーザが第1ユーザへ対価を支払うことができる。
 また、前記第1スマートコントラクトは、前記第2スマートコントラクトを特定する識別子を含み、前記第1スマートコントラクトの実行において、前記識別子を参照して前記第1スマートコントラクトに紐付いている前記第2スマートコントラクトを特定し、特定した後に前記第1実行トランザクションデータを生成してもよい。
 これにより、第1スマートコントラクトに連携して実行する第2スマートコントラクトを容易に特定することができる。
 また、前記第1スマートコントラクトの実行において、前記第1端末が前記第2ブロックチェーンを保有しているか否かを判定し、前記第1端末が前記第2ブロックチェーンを保有していると判定した場合、前記第2スマートコントラクトを実行してもよい。
 これにより、第2ブロックチェーンを保有している第1端末が第2スマートコントラクトを実行することができる。
 また、前記対価は、前記第3ユーザから提供されたデータの対価であり、前記データは、前記第3ユーザを識別する識別子が変換された変換後の識別子と対応付けられて公開された状態で記憶されており、前記識別子は、前記変換後の識別子と対応付けられて公開されていない状態で記憶されてもよい。
 このため、第3ユーザの識別子が公開されていない状態で、かつ、データと関連付けて管理することができる。
 また、本開示の一態様に係る端末は、ブロックチェーンを利用した分散台帳を保有している端末であって、第2ユーザが第1ユーザに支払う対価に関する対価情報を含む購入トランザクションデータを前記第2ユーザが所有する第2端末から取得する取得部と、(i)前記購入トランザクションデータを第1ブロックチェーンに記録することにより、前記第1ブロックチェーンに記録されている第1スマートコントラクトを実行し、(ii)前記第1スマートコントラクトに基づいて、前記第1ブロックチェーンとは異なる第2ブロックチェーンに記録されている第2スマートコントラクトを実行する実行部と、を備え、前記第2スマートコントラクトは、前記第1ユーザの第1口座から第3ユーザの第3口座に前記対価の少なくとも一部を振り込むためのスマートコントラクトである。
 これによれば、データの対価の支払いに関する2種類の契約を履行するための、2種類の契約にそれぞれ対応する2つのスマートコントラクトを異なる2つのブロックチェーンに分けて記録している。2種類の契約の1つは、第2ユーザがデータを購入したことで生じる、第2ユーザから第1ユーザへの当該データの対価の支払い契約である。2種類の契約の他の1つは、第2ユーザがデータを購入したことで生じる、第1ユーザから第3ユーザへの当該データの対価の少なくとも一部の支払い契約である。このように、2種類の契約は、第1ユーザ及び第2ユーザ間の契約と、第1ユーザ及び第3ユーザ間の契約とであり、契約の当事者となるユーザの組み合わせが異なる。つまり、2つのスマートコントラクトを異なる2つのブロックチェーンに分けて記録することで、契約の当事者以外のユーザに、当該契約に対応するスマートコントラクトが知られることを抑制することができる。このように、2つのスマートコントラクトを異なる2つのブロックチェーンに分けて記録する場合であっても、2つのスマートコントラクトを連携して実行するため、2種類の契約を連携して履行することができる。このため、例えば、第3ユーザがデータの提供者であり、第1ユーザが第3ユーザと第2ユーザとの間のデータの売買を行う仲介者である場合、第2ユーザから第1ユーザへのデータに対する対価の支払いが実行されると、第1ユーザから第3ユーザへのデータの対価の少なくとも一部の支払いも自動的に行うことができる。
 なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
 以下、図面を参照しながら、実施の形態について説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。つまり、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素は、本開示の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。
 (実施の形態1)
 まず、本開示に係るシステム構成について説明する。
 以下では、図面を参照しながら、本実施の形態に係る管理システムの構成等の説明を行う。
 [管理システム]
 図1は、実施の形態1に係る管理システムの構成の一例を示す図である。
 本開示に係る管理システムは、図1に示すように、例えば、提供者から各種機器で取得された取引の対象となりうるデータ(以下、「提供データ」という)を集約する集約者が所有する集約者端末10と、集約者により集約された提供データを購入する購買者が所有する購買者端末20と、提供者が所有する提供者端末30とを備える。これらは、ネットワークNで接続されている。ネットワークNは、例えば、インターネット、携帯電話のキャリアネットワークなどであるが、どのような通信回線またはネットワークから構成されてもよい。管理システムでは、集約者が例えば複数の提供者から提供データの提供を受けて、提供データを集約する。また、集約者が例えば購買者からの要求を受けて、要求された提供データを購買者へ売却する。このように、管理システムは、集約者が提供データの売買を仲介するためのシステムである。
 なお、集約者は、第1ユーザの一例である。購買者は、第2ユーザの一例である。提供者は、第3ユーザの一例である。集約者端末10は、第1端末の一例である。購買者端末20は、第2端末の一例である。提供者端末30は、第3端末の一例である。
 以下、集約者端末10について説明する。
 [集約者端末10]
 集約者端末10は、提供者が所有している1以上の機器の動作ログなどのデータを収集し、収集されたデータ、または、収集されたデータに基づいて生成した分析データを、提供データとして購買者に提供する装置の一例である。動作ログは、例えば、機器が備えるセンサにより検出された検出結果、及び、機器の動作状態などが検出された時間と関連付けられた情報である。1以上の機器は、例えば、家庭に設置されている家電、工場に設置されている装置、通信機能を有するセンサなどを含む。集約者端末10は、上記の提供データを、提供者端末30を介して取得する。なお、集約者端末10は、提供者端末30を介さずに上記の提供データを生成した1以上の機器から、当該提供データを取得してもよい。
 集約者端末10は、購買者によりデータが購入された場合、購買者から集約者への当該データの対価の支払いのための第1支払処理を実行する。集約者端末10は、第1支払処理を実行する際に、購買者により購入されたデータを購買者の購買者端末20へ送信してもよい。また、集約者端末10は、第1支払処理が実行された場合、集約者から、当該データを提供した提供者へ当該データの対価の少なくとも一部の支払いのための第2支払処理を実行してもよい。支払いは、対価に相当するトークンまたは電子マネーの受け渡しであってもよい。
 図2は、実施の形態1に係る集約者端末10の構成の一例を示す図である。
 集約者端末10は、図2に示すように、通信部101と、制御部102と、変換部103と、記録部104と、第1分散台帳111と、第2分散台帳112と、第3分散台帳113と、公開データベース114と、非公開データベース115とを備える。集約者端末10は、プロセッサがメモリを用いて所定のプログラムを実行することで実現されうる。なお、図2では、公開データベースを公開DBと表記し、非公開データベースを非公開DBと表記している。以下、集約者端末10が備える各構成要素について説明する。
 <通信部101>
 通信部101は、購買者端末20または提供者端末30との間で通信することで、データのやり取りを行う。
 具体的には、通信部101は、提供者端末30から提供される、提供データを受信する。
 また、通信部101は、提供者端末30から提供者端末30が所有する分散台帳を示す第3台帳情報を含む第3台帳トランザクションデータを受信する。提供者端末30が所有する分散台帳とは、提供者端末30に格納されている分散台帳であり、第1分散台帳111及び第3分散台帳113である。
 また、通信部101は、購買者端末20から購買者端末20が所有する分散台帳を示す第2台帳情報を含む第2台帳トランザクションデータを受信する。購買者端末20が所有する分散台帳とは、購買者端末20に格納されている分散台帳であり、第2分散台帳112及び第3分散台帳113である。
 また、通信部101は、提供者端末30から、第1支払スマートコントラクトを含む第1トランザクションデータを受信する。第1支払スマートコントラクトは、集約者の口座から提供者の口座へデータの対価の振り込みを行うためのスマートコントラクトである。第1支払スマートコントラクトは、集約者の口座を識別する集約者口座アドレス、提供者の口座を識別する提供者口座アドレス、後述する関連付けスマートコントラクトを識別する関連付けスマートコントラクトID、提供データを識別するデータID、及び、提供データの対価である第1対価を含む。第1支払スマートコントラクトは、第2スマートコントラクトの一例である。
 また、通信部101は、第2支払スマートコントラクトを含む第2トランザクションデータを購買者端末20へ送信する。第2支払スマートコントラクトは、購買者の口座から集約者の口座へデータの対価の振り込みを行うためのスマートコントラクトである。第2支払スマートコントラクトは、集約者の口座を識別する集約者口座アドレス、購買者の口座を識別する購買者口座アドレス、後述する関連付けスマートコントラクトを識別する関連付けスマートコントラクトID、提供データを識別するデータID、及び、提供データの対価である第2対価を含む。第2支払スマートコントラクトは、第1スマートコントラクトの一例である。
 なお、集約者から提供者へ支払われるデータの第1対価は、購買者から集約者へ支払われるデータの第2対価の少なくとも一部である。
 また、通信部101は、関連付けスマートコントラクトを含む第3トランザクションデータを購買者端末20及び提供者端末30へ送信する。関連付けスマートコントラクトは、第1支払スマートコントラクトと第2支払スマートコントラクトとの紐付けるスマートコントラクトである。第2支払スマートコントラクトは、購買者端末20により購入の対象となったデータ毎に生成されるため、関連付けスマートコントラクトも同様に、購買者端末20により購入の対象となったデータ毎に、第2スマートコントラクトに対応して生成される。関連付けスマートコントラクトは、第2支払スマートコントラクトが実行されると実行され、第1支払スマートコントラクトを実行する。関連付けスマートコントラクトは、第1支払スマートコントラクトが格納されている、第1支払ブロックチェーンにおける格納場所を示す第1アドレスと、第2支払スマートコントラクトが格納されている、第2支払ブロックチェーンにおける格納場所を示す第2アドレスと、関連付けスマートコントラクトを識別する関連付けスマートコントラクトIDとを含む。
 また、通信部101は、購買者端末20から、購買者が集約者に支払う、提供データの対価である第2対価に関する対価情報を含む購入トランザクションデータを受信する。購入トランザクションデータは、第2支払スマートコントラクトを実行させるためのトランザクションデータである。購入トランザクションデータは、購入対象データを識別するデータID、購入対象データの対価、及び、購買者を識別する購買者IDを含む。
 また、通信部101は、購買者端末20から、第3実行トランザクションデータを受信する。第3実行トランザクションデータは、関連付けスマートコントラクトを実行させるためのトランザクションデータである。
 また、通信部101は、購買者端末20または提供者端末30との間で各トランザクションデータのやり取りを行う。具体的には、通信部101は、購買者端末20または提供者端末30へ各トランザクションデータを転送したり、購買者端末20または提供者端末30から転送された各トランザクションデータを受信したりする。なお、各トランザクションデータは、第1台帳トランザクションデータ、第2台帳トランザクションデータ、第3台帳トランザクションデータ、購入トランザクションデータ、第1トランザクションデータ、第2トランザクションデータ、第3トランザクションデータ、第1実行トランザクションデータ、及び、第3実行トランザクションデータのうちの1つを含む。
 このように、通信部101は、ネットワークNを介して購買者端末20または提供者端末30との間で通信を行う。なお、この通信は、TLS(Transport Layer Security)によりなされてもよく、TLS通信用の暗号鍵は通信部101で保持してもよい。
 <制御部102>
 制御部102は、集約者端末10が所有する分散台帳を示す第1台帳情報を含む第1台帳トランザクションデータを生成する。集約者端末10が所有する分散台帳とは、集約者端末10に格納されている分散台帳であり、第1分散台帳111、第2分散台帳112及び第3分散台帳113である。制御部102は、通信部101を介して、生成した第1台帳トランザクションデータを第3分散台帳113に格納するために、第1台帳トランザクションデータを購買者端末20及び提供者端末30へ送信する。
 また、制御部102は、第2支払スマートコントラクトを含む第2トランザクションデータを生成する。制御部102は、通信部101を介して、生成した第2トランザクションデータを第2分散台帳112に格納するために、第2トランザクションデータを購買者端末20へ送信する。具体的には、制御部102は、通信部101が購買者端末20から購入トランザクションデータを受信した場合、購入トランザクションデータに含まれる購入対象データを示すデータIDに基づいて、後述する公開データベース114で管理している公開用のデータ情報及び非公開データベース115で管理している非公開用のデータ情報を参照することで、購入対象データを提供した提供者の提供者IDを特定する。また、制御部102は、データIDに基づいて、後述する公開データベース114で管理している公開用のデータ情報及び口座情報に基づいて、提供者端末30の口座アドレスを特定する。これにより、制御部102は、第2支払スマートコントラクトに対応付ける第1支払スマートコントラクトを特定する。
 また、制御部102は、関連付けスマートコントラクトに関する情報を含む第3トランザクションデータを生成する。制御部102は、通信部101を介して、生成した第3トランザクションデータを第3分散台帳に格納するために、第3トランザクションデータを購買者端末20及び提供者端末30へ送信する。
 なお、制御部102は、第2支払スマートコントラクトを生成するときであって、関連付けスマートコントラクトを生成する前において、関連付けスマートコントラクトを識別する関連付けスマートコントラクトIDを生成してもよい。そして、制御部102は、第2支払スマートコントラクトを生成後に、生成した関連付けスマートコントラクトIDを用いて、関連付けスマートコントラクトを生成してもよい。
 また、制御部102は、通信部101がトランザクションデータを受信したとき、そのトランザクションデータの正当性を検証する。例えば、制御部102は、通信部101が受信したトランザクションデータに、正しい方法で生成された電子署名が付与されているかなどを検証する。なお、この検証はスキップされてもよい。ここで、通信部101が受信するトランザクションデータは、第2台帳トランザクションデータ、第3台帳トランザクションデータ、第1トランザクションデータ、第2トランザクションデータ、購入トランザクションデータ、第1実行トランザクションデータ、及び、第3実行トランザクションデータのいずれか1つである。
 また、制御部102は、購買者端末20及び提供者端末30の少なくとも一方とともに、トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する。
 ここで、コンセンサスアルゴリズムには、PBFT(Practical Byzantine Fault Tolerance)が用いられてもよいし、その他の公知のコンセンサスアルゴリズムが用いられてもよい。公知のコンセンサスアルゴリズムとしては、例えばPoW(Proof of Work)またはPoS(Proof of Stake)などがある。コンセンサスアルゴリズムにPBFTが用いられる場合、制御部102は、集約者端末10と共にコンセンサスアルゴリズムを実行する端末のそれぞれからトランザクションデータの検証が成功したか否かを示す報告を受け取り、当該報告の数が所定の数を超えたか否かを判定する。そして、制御部102は、当該報告の数が所定の数を超えたとき、コンセンサスアルゴリズムによってトランザクションデータの正当性が検証されたと判定すればよい。
 制御部102は、トランザクションデータの正当性を確認した場合、記録部104にそのトランザクションデータを記録させる。
 本実施の形態では、制御部102は、通信部101が受信した第2台帳トランザクションデータ、第3台帳トランザクションデータ、第1トランザクションデータ、第2トランザクションデータ、購入トランザクションデータ、第1実行トランザクションデータ、及び、第3実行トランザクションデータの正当性を検証する。
 <変換部103>
 変換部103は、通信部101が提供データを提供者端末30から受信すると、変換テーブルを参照し、当該提供データに含まれる提供者を識別する第3識別子(提供者ID)を、第3の特定識別子に変換する。変換部103は、提供データと、第3の特定識別子とを対応付けて公開データベース114に格納する。変換部103は、第3識別子を所定のハッシュ関数で第3の特定識別子に変換してもよい。つまり、第3の特定識別子は、第3識別子のハッシュ値であってもよい。なお、提供者毎に異なる第3識別子が付与されるため、異なる提供者によって提供されたデータには異なる第3の特定識別子が対応付けられて公開データベース114に格納される。
 <記録部104>
 記録部104は、制御部102により正当性の検証がなされたトランザクションデータをブロックに含めて第1分散台帳111、第2分散台帳112及び第3分散台帳113のいずれか1つに格納することで、トランザクションデータを記録する。
 なお、記録部104は、第1分散台帳111、第2分散台帳112及び第3分散台帳113が内部に構成されていてもよい。
 <第1分散台帳111>
 第1分散台帳111は、集約者と提供者との間の契約に関する情報を格納している。第1分散台帳111は、例えば、第1支払スマートコントラクトを含む第1トランザクションデータを格納している。第1分散台帳111は、第1トランザクションデータを含むブロックを含む第1支払ブロックチェーンを格納している。第1支払ブロックチェーンは、第2ブロックチェーンの一例である。
 <第2分散台帳112>
 第2分散台帳112は、集約者と購買者との間の契約に関する情報を格納している。第2分散台帳112は、例えば、第2支払スマートコントラクトを含む第2トランザクションデータを格納している。第2分散台帳112は、第2トランザクションデータを含むブロックを含む第2支払ブロックチェーンを格納している。第2支払ブロックチェーンは、第1ブロックチェーンの一例である。
 <第3分散台帳113>
 第3分散台帳113は、集約者と購買者と提供者とに関する情報を格納している。第3分散台帳113は、例えば、関連付けスマートコントラクトを含む第3トランザクションデータを格納している。第3分散台帳113は、第3トランザクションデータを含むブロックを含む第3ブロックチェーンを格納している。
 <公開データベース114>
 公開データベース114に格納されている情報は、集約者端末10、購買者端末20、及び、提供者端末30により閲覧可能な情報である。
 公開データベース114は、提供者端末30から取得した、提供データに関する、公開用のデータ情報を格納している。図3は、公開用のデータ情報の構成の一例を示す表である。
 図3に示すように、公開用のデータ情報は、複数のデータのそれぞれ毎に、当該データを識別するデータ番号と、当該データと、当該データを提供した提供者の変換後の識別子である第3の特定識別子とが対応付けられた情報である。
 また、公開データベース114は、集約者端末10、購買者端末20、及び、提供者端末30のそれぞれに対応する特定識別子と、口座アドレスとが対応付けられた口座情報を格納している。図4は、口座情報の構成の一例を示す表である。
 図4に示すように、口座情報は、変換後の各端末の識別子である特定識別子毎に、当該特定識別子で特定される端末の口座アドレスが対応付けられた情報である。例えば、第1の特定識別子は、集約者端末10の口座アドレスと対応付けられ、第2の特定識別子は、購買者端末20の口座アドレスと対応付けられ、第3の特定識別子は、提供者端末30の口座アドレスと対応付けられる。
 なお、第1の特定識別子は、集約者を識別する第1識別子(集約者ID)が変換されて得られた識別子である。例えば、第1の特定の識別子は、第1識別子が所定のハッシュ関数により変換されて得られた識別子である。また、第2の特定識別子は、購買者を識別する第2識別子(購買者ID)が変換されて得られた識別子である。例えば、第2の特定の識別子は、第2識別子が所定のハッシュ関数により変換されて得られた識別子である。
 <非公開データベース115>
 非公開データベース115に格納されている情報は、集約者端末10、購買者端末20、及び、提供者端末30により閲覧不可能な情報である。なお、非公開データベース115に格納されている情報は、集約者端末10により閲覧可能であり、かつ、購買者端末20及び提供者端末30により閲覧不可能な情報であってもよい。
 非公開データベース115は、提供者端末30から取得した、提供データ関する、非公開用のデータ情報を格納している。図5は、非公開用のデータ情報の構成の一例を示す表である。
 図5に示すように、非公開用のデータ情報は、複数のデータのそれぞれ毎に、当該データと、当該データを提供した提供者の変換後の識別子である第3の特定識別子とが対応付けられた情報である。非公開用のデータ情報は、各データを識別するデータ番号がさらに対応付けられていてもよい。
 続いて、購買者端末20について説明する。
 [購買者端末20]
 購買者端末20は、集約者端末10に集約されているデータのうち、所望のデータを購入するための端末である。購買者端末20は、所望のデータの購入に関する要求を集約者端末10へ送信し、集約者端末10へ所望のデータの対価を支払うことで、所望のデータを受信する。
 図6は、実施の形態1に係る購買者端末20の構成の一例を示す図である。
 購買者端末20は、図6に示すように、通信部201と、制御部202と、記録部203と、第2分散台帳112と、第3分散台帳113とを備える。購買者端末20は、プロセッサがメモリを用いて所定のプログラムを実行することで実現されうる。以下、購買者端末20が備える各構成要素について説明する。
 <通信部201>
 通信部201は、集約者端末10との間で通信することで、データのやりとりを行う。
 具体的には、通信部201は、購買者端末20が所有する分散台帳を示す第2台帳情報を含む第2台帳トランザクションデータを集約者端末10へ送信する。購買者端末20が所有する分散台帳とは、購買者端末20に格納されている分散台帳であり、第2分散台帳112及び第3分散台帳113である。
 また、通信部201は、集約者端末10から関連付けスマートコントラクトを含む第3トランザクションデータを受信する。また、通信部201は、購買者が集約者に支払う対価であって、提供データの対価である第2対価に関する対価情報を含む購入トランザクションデータを集約者端末10へ送信する。また、通信部201は、第2実行トランザクションデータを集約者端末10及び提供者端末30へ送信する。
 また、通信部201は、集約者端末10及び提供者端末30の少なくとも一方との間で各トランザクションデータのやり取りを行う。具体的には、通信部201は、集約者端末10または提供者端末30へ各トランザクションデータを転送したり、集約者端末10または提供者端末30から転送された各トランザクションデータを受信したりする。なお、各トランザクションデータは、第1台帳トランザクションデータ、第2台帳トランザクションデータ、第3台帳トランザクションデータ、第2トランザクションデータ、第3トランザクションデータ、第1実行トランザクションデータ、及び、第2実行トランザクションデータのうちの1つを含む。
 このように、通信部201は、ネットワークNを介して集約者端末10または提供者端末30との間で通信を行う。なお、この通信は、TLS(Transport Layer Security)によりなされてもよく、TLS通信用の暗号鍵は通信部201で保持してもよい。
 <制御部202>
 制御部202は、購買者端末20が所有する分散台帳を示す第2台帳情報を含む第2台帳トランザクションデータを生成する。また、制御部202は、第2実行トランザクションデータを生成する。
 また、制御部202は、通信部201がトランザクションデータを受信したとき、そのトランザクションデータの正当性を検証する。例えば、制御部202は、通信部201が受信したトランザクションデータに、正しい方法で生成された電子署名が付与されているかなどを検証する。なお、この検証はスキップされてもよい。ここで、通信部201が受信するトランザクションデータは、第1台帳トランザクションデータ、第3台帳トランザクションデータ、第2トランザクションデータ、第3トランザクションデータ、第1実行トランザクションデータ、及び、第2実行トランザクションデータのいずれか1つである。
 また、制御部202は、購買者端末20及び提供者端末30の少なくとも一方とともに、トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する。
 ここで、コンセンサスアルゴリズムには、PBFT(Practical Byzantine Fault Tolerance)が用いられてもよいし、その他の公知のコンセンサスアルゴリズムが用いられてもよい。公知のコンセンサスアルゴリズムとしては、例えばPoW(Proof of Work)またはPoS(Proof of Stake)などがある。コンセンサスアルゴリズムにPBFTが用いられる場合、制御部202は、購買者端末20と共にコンセンサスアルゴリズムを実行する端末のそれぞれからトランザクションデータの検証が成功したか否かを示す報告を受け取り、当該報告の数が所定の数を超えたか否かを判定する。そして、制御部202は、当該報告の数が所定の数を超えたとき、コンセンサスアルゴリズムによってトランザクションデータの正当性が検証されたと判定すればよい。
 制御部202は、トランザクションデータの正当性を確認した場合、記録部203にそのトランザクションデータを記録させる。
 本実施の形態では、制御部202は、通信部201が受信した第2台帳トランザクションデータ、第3台帳トランザクションデータ、第1トランザクションデータ、第2トランザクションデータ、購入トランザクションデータ、第1実行トランザクションデータ、及び、第2実行トランザクションデータのいずれか1つの正当性を検証する。
 <記録部203>
 記録部203は、制御部202により正当性の検証がなされたトランザクションデータをブロックに含めて第2分散台帳112及び第3分散台帳113のいずれか1つに格納することで、トランザクションデータを記録する。
 なお、記録部203は、第2分散台帳112及び第3分散台帳113が内部に構成されていてもよい。
 第2分散台帳112及び第3分散台帳113は、集約者端末10が備える第2分散台帳112及び第3分散台帳113と同じであるため説明を省略する。
 [提供者端末30]
 提供者端末30は、集約者端末10へデータを提供するための端末である。提供者端末30は、集約者端末10から、購買者端末20に購入されたデータの対価の少なくとも一部の支払いを受け付けるための端末である。
 図7は、実施の形態1に係る提供者端末30の構成の一例を示す図である。
 提供者端末30は、図7に示すように、通信部301と、制御部302と、記録部303と、第1分散台帳111と、第3分散台帳113とを備える。提供者端末30は、プロセッサがメモリを用いて所定のプログラムを実行することで実現されうる。以下、提供者端末30が備える各構成要素について説明する。
 <通信部301>
 通信部301は、集約者端末10との間で通信することで、データのやりとりを行う。
 具体的には、通信部301は、提供データを集約者端末10へ送信する。
 また、通信部301は、提供者端末30が所有する分散台帳を示す第3台帳情報を含む第3台帳トランザクションデータを集約者端末10へ送信する。提供者端末30が所有する分散台帳とは、提供者端末30に格納されている分散台帳であり、第1分散台帳111及び第3分散台帳113である。
 また、通信部301は、第1支払スマートコントラクトを含む第1トランザクションデータを集約者端末10へ送信する。また、通信部301は、集約者端末10から関連付けスマートコントラクトを含む第3トランザクションデータを受信する。
 また、通信部301は、集約者端末10及び購買者端末20の少なくとも一方との間で各トランザクションデータのやり取りを行う。具体的には、通信部301は、集約者端末10または購買者端末20へ各トランザクションデータを転送したり、集約者端末10または購買者端末20から転送された各トランザクションデータを受信したりする。なお、各トランザクションデータは、第1台帳トランザクションデータ、第2台帳トランザクションデータ、第3台帳トランザクションデータ、第1トランザクションデータ、第3トランザクションデータ、第1実行トランザクションデータ、及び、第2実行トランザクションデータのうちの1つを含む。
 このように、通信部301は、ネットワークNを介して集約者端末10または購買者端末20との間で通信を行う。なお、この通信は、TLS(Transport Layer Security)によりなされてもよく、TLS通信用の暗号鍵は通信部301で保持してもよい。
 <制御部302>
 制御部302は、提供者端末30が所有する分散台帳を示す第3台帳情報を含む第3台帳トランザクションデータを生成する。また、制御部302は、第1実行トランザクションデータを生成する。
 また、制御部302は、第1支払スマートコントラクトを含む第1トランザクションデータを生成する。制御部302は、通信部301を介して、生成した第1トランザクションデータを第1分散台帳111に格納するために、第1トランザクションデータを集約者端末10へ送信する。
 なお、制御部302は、第1支払スマートコントラクトを生成するときであって、関連付けスマートコントラクトが生成される前において、関連付けスマートコントラクトIDを生成し、生成した関連付けスマートコントラクトIDを含む第1支払スマートコントラクトを生成してもよい。そして、制御部302は、生成した関連付けスマートコントラクトIDを集約者端末10へ送信してもよい。集約者端末10は、関連付けスマートコントラクトIDを提供者端末30から受信した場合、受信した関連付けスマートコントラクトIDを用いて、第2支払スマートコントラクト及び関連付けスマートコントラクトを生成してもよい。その反対に、制御部302は、第1支払スマートコントラクトを生成するときに、集約者端末10が既に関連付けスマートコントラクトIDを生成したか否かを問い合わせてもよい。問い合わせの結果、関連付けスマートコントラクトIDが生成されている場合、関連付けスマートコントラクトIDを集約者端末10から取得し、取得した関連付けスマートコントラクトIDを含む第1支払スマートコントラクトを生成してもよい。この場合、制御部302は、関連付けスマートコントラクトIDを生成しなくてもよい。
 また、制御部302は、通信部301がトランザクションデータを受信したとき、そのトランザクションデータの正当性を検証する。例えば、制御部302は、通信部301が受信したトランザクションデータに、正しい方法で生成された電子署名が付与されているかなどを検証する。なお、この検証はスキップされてもよい。ここで、通信部301が受信するトランザクションデータは、第1台帳トランザクションデータ、第2台帳トランザクションデータ、第3トランザクションデータ、第1実行トランザクションデータ、及び、第2実行トランザクションデータのいずれか1つである。
 また、制御部302は、集約者端末10及び購買者端末20の少なくとも一方とともに、トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する。
 ここで、コンセンサスアルゴリズムには、PBFT(Practical Byzantine Fault Tolerance)が用いられてもよいし、その他の公知のコンセンサスアルゴリズムが用いられてもよい。公知のコンセンサスアルゴリズムとしては、例えばPoW(Proof of Work)またはPoS(Proof of Stake)などがある。コンセンサスアルゴリズムにPBFTが用いられる場合、制御部302は、提供者端末30と共にコンセンサスアルゴリズムを実行する端末のそれぞれからトランザクションデータの検証が成功したか否かを示す報告を受け取り、当該報告の数が所定の数を超えたか否かを判定する。そして、制御部302は、当該報告の数が所定の数を超えたとき、コンセンサスアルゴリズムによってトランザクションデータの正当性が検証されたと判定すればよい。
 制御部302は、トランザクションデータの正当性を確認した場合、記録部303にそのトランザクションデータを記録させる。
 本実施の形態では、制御部302は、通信部301が受信した第1台帳トランザクションデータ、第2台帳トランザクションデータ、第3トランザクションデータ、第1実行トランザクションデータ、及び、第2実行トランザクションデータのいずれか1つの正当性を検証する。
 <記録部303>
 記録部303は、制御部302により正当性の検証がなされたトランザクションデータをブロックに含めて第1分散台帳111及び第3分散台帳113のいずれか1つに格納することで、トランザクションデータを記録する。
 なお、記録部303は、第1分散台帳111及び第3分散台帳113が内部に構成されていてもよい。
 第1分散台帳111及び第3分散台帳113は、集約者端末10が備える第1分散台帳111及び第3分散台帳113と同じであるため説明を省略する。
 [管理システムの動作等]
 次に、以上のように構成された管理システムの動作について説明する。なお、図8以降では、トランザクションデータをTxデータと表記する。
 図8は、実施の形態1に係る管理システムによるデータ取得処理の一例を示すシーケンス図である。
 データ取得処理は、集約者端末10が提供者端末30から提供データを取得するときに、集約者端末10により行われる処理である。
 提供者端末30は、提供データを集約者端末10へ送信する(S101)。提供者端末30は、定期的に、提供データを集約者端末10へ送信してもよい。提供データには、提供者端末30を識別する第3識別子が含まれる。
 集約者端末10は、提供データを提供者端末30から受信すると、変換テーブルを参照し、当該提供データに含まれる第3識別子を、第3の特定識別子に変換する(S102)。
 次に、集約者端末10は、受信した提供データと、変換で得られた第3の特定識別子とを対応付けて公開データベース114に格納する(S103)。
 次に、集約者端末10は、第3識別子と、第3の特定識別子とを対応付けて非公開データベース115に格納する(S104)。
 図9は、実施の形態1に係る管理システムによる、分散台帳情報を分散台帳に格納する処理の一例を示すシーケンス図である。
 提供者端末30は、提供者端末30が所有する分散台帳を示す第3台帳情報を含む第3台帳トランザクションデータを生成する(S111)。
 提供者端末30は、生成した第3台帳トランザクションデータを集約者端末10及び購買者端末20へ送信する(S112)。
 次に、集約者端末10、購買者端末20、及び、提供者端末30は、コンセンサスアルゴリズムを実行し、第3台帳トランザクションデータを含むブロックを生成して、第3分散台帳113に格納する(S113)。
 集約者端末10は、集約者端末10が所有する分散台帳を示す第1台帳情報を含む第1台帳トランザクションデータを生成する(S114)。
 集約者端末10は、生成した第1台帳トランザクションデータを購買者端末20及び提供者端末30へ送信する(S115)。
 次に、集約者端末10、購買者端末20、及び、提供者端末30は、コンセンサスアルゴリズムを実行し、第1台帳トランザクションデータを含むブロックを生成して、第3分散台帳113に格納する(S116)。
 購買者端末20は、購買者端末20が所有する分散台帳を示す第2台帳情報を含む第2台帳トランザクションデータを生成する(S117)。
 購買者端末20は、生成した第2台帳トランザクションデータを集約者端末10及び提供者端末30へ送信する(S118)。
 次に、集約者端末10、購買者端末20、及び、提供者端末30は、コンセンサスアルゴリズムを実行し、第2台帳トランザクションデータを含むブロックを生成して、第3分散台帳113に格納する(S119)。
 分散台帳情報を分散台帳に格納する処理は、各端末が所有する分散台帳が設定または更新された時に行われればよい。ステップS111~S113の一連の処理、ステップS114~S116の一連の処理、及び、ステップS117~S119の一連の処理は、この順に行われなくてもよい。また、ステップS111~S113の一連の処理、ステップS114~S116の一連の処理、及び、ステップS117~S119の一連の処理は、一度のみ行われてもよいし、各端末が所有する分散台帳の構成が更新される度に行われてもよい。
 図10は、実施の形態1に係る管理システムによるスマートコントラクトを分散台帳に格納する処理の一例を示すシーケンス図である。
 提供者端末30は、第1支払スマートコントラクトを含む第1トランザクションデータを生成する(S121)。
 提供者端末30は、生成した第1トランザクションデータを集約者端末10及び購買者端末20へ送信する(S122)。
 次に、集約者端末10及び提供者端末30は、コンセンサスアルゴリズムを実行し、第1トランザクションデータを含むブロックを生成して、第1分散台帳111に格納する(S123)。
 集約者端末10は、第2支払スマートコントラクトを含む第2トランザクションデータを生成する(S124)。
 集約者端末10は、生成した第2トランザクションデータを購買者端末20へ送信する(S125)。
 次に、集約者端末10及び購買者端末20は、コンセンサスアルゴリズムを実行し、第2トランザクションデータを含むブロックを生成して、第2分散台帳112に格納する(S126)。
 集約者端末10は、関連付けスマートコントラクトを含む第3トランザクションデータを生成する(S127)。
 集約者端末10は、生成した第3トランザクションデータを購買者端末20及び提供者端末30へ送信する(S128)。
 次に、集約者端末10、購買者端末20、及び、提供者端末30は、コンセンサスアルゴリズムを実行し、第3トランザクションデータを含むブロックを生成して、第3分散台帳113に格納する(S129)。
 図11は、実施の形態1に係る管理システムによるデータ売買処理の一例を示すシーケンス図である。
 購買者端末20は、取引の対象となるデータの一覧を含むデータベースを参照し、購入する対象のデータを指定する(S131)。
 購買者端末20は、購入する対象のデータを示す情報と、当該データの対価とを含む購入トランザクションデータを生成する(S132)。
 購買者端末20は、生成した購入トランザクションデータを集約者端末10へ送信する(S133)。
 次に、集約者端末10及び購買者端末20は、コンセンサスアルゴリズムを実行し、購入トランザクションデータを含むブロックを生成して、第2分散台帳112に格納する(S134)。
 次に、集約者端末10及び購買者端末20は、購入トランザクションデータについてコンセンサスアルゴリズムが実行されると、第2支払スマートコントラクトを実行する(S135、S136)。
 集約者端末10及び購買者端末20のそれぞれは、購買者の口座から集約者の口座に、データの対価の振り込みを行う(S135)。
 次に、集約者端末10及び購買者端末20のそれぞれは、関連付けスマートコントラクトを呼び出す第2実行トランザクションデータを生成する(S136)。第2実行トランザクションデータは、関連付けスマートコントラクトIDを含む。
 次に、集約者端末10及び購買者端末20の少なくとも一方は、第2実行トランザクションデータを、集約者端末10、購買者端末20、及び、提供者端末30の3つの端末のうちの自端末以外の他の端末へ送信する(S137)。図11では、購買者端末20が第2実行トランザクションデータを、集約者端末10及び提供者端末30へ送信する例が示されている。集約者端末10が第2実行トランザクションデータを購買者端末20及び提供者端末30へ送信してもよい。
 次に、集約者端末10、購買者端末20、及び、提供者端末30は、コンセンサスアルゴリズムを実行し、第2実行トランザクションデータを含むブロックを生成して、第3分散台帳113に格納する(S138)。
 次に、集約者端末10、購買者端末20、及び、提供者端末30は、第2実行トランザクションデータについてコンセンサスアルゴリズムが実行されると、関連付けスマートコントラクトを実行する(S140~S142)。
 次に、集約者端末10、購買者端末20、及び、提供者端末30のそれぞれは、第2支払スマートコントラクトと紐付いている第1支払スマートコントラクトを特定する(S140)。具体的には、集約者端末10、購買者端末20、及び、提供者端末30のそれぞれは、関連付けスマートコントラクトに含まれる、第1支払スマートコントラクトが格納されている、第1支払ブロックチェーンにおける格納場所を示す第1アドレスに基づいて、第1支払スマートコントラクトを特定する。
 次に、集約者端末10、購買者端末20、及び、提供者端末30のそれぞれは、第1分散台帳を保有しているか否かを判定する(S141)。具体的には、集約者端末10、購買者端末20、及び、提供者端末30のそれぞれは、第3分散台帳113に格納されている各分散台帳情報に基づいて、自端末が第1分散台帳を保有しているか否かを判定する。集約者端末10及び提供者端末30は、第1分散台帳を保有しているため、Yesと判定し次のステップS142を実行する。一方で、購買者端末20は、第1分散台帳を保有していないため、Noと判定し、処理を終了する。
 次に、集約者端末10及び提供者端末30のそれぞれは、第1支払スマートコントラクトを呼び出す第1実行トランザクションデータを生成する(S142)。第1実行トランザクションデータは、第1支払スマートコントラクトを識別する第1支払スマートコントラクトIDを含む。
 次に、集約者端末10及び提供者端末30の少なくとも一方は、第1実行トランザクションデータを、集約者端末10及び提供者端末30の他方へ送信する(S143)。図11では、集約者端末10が第1実行トランザクションデータを提供者端末30へ送信する例が示されている。提供者端末30が第1実行トランザクションデータを集約者端末へ送信してもよい。
 次に、集約者端末10及び提供者端末30は、コンセンサスアルゴリズムを実行し、第1実行トランザクションデータを含むブロックを生成して、第1分散台帳111に格納する(S144)。
 次に、集約者端末10及び提供者端末30は、第1実行トランザクションデータについてコンセンサスアルゴリズムが実行されると、第1支払スマートコントラクトを実行する(S145)。具体的には、集約者端末10及び提供者端末30のそれぞれは、集約者の口座から提供者の口座に、データの対価の少なくとも一部の振り込みを行う(S145)。
 [効果等]
 以上のように、実施の形態1に係る管理システムの集約者端末10は、下記の制御方法を行う。集約者端末10は、購買者が集約者に支払う対価に関する対価情報を含む購入トランザクションデータを購買者が所有する購買者端末20から取得する(S133)。集約者端末10は、購入トランザクションデータを第2支払ブロックチェーンに記録することにより、第2支払ブロックチェーンに記録されている第2支払スマートコントラクトを実行する(S135、S136)。集約者端末10は、第2支払スマートコントラクトに基づいて、第2支払ブロックチェーンとは異なる第1支払ブロックチェーンに記録されている第1支払スマートコントラクトを実行する(S145)。第1支払スマートコントラクトは、集約者の口座から提供者の口座に提供データの対価の少なくとも一部を振り込むためのスマートコントラクトである。
 これによれば、提供データの対価の支払いに関する2種類の契約を履行するための、2種類の契約にそれぞれ対応する2つのスマートコントラクトを異なる2つのブロックチェーンに分けて記録している。2種類の契約の1つは、購買者が提供データを購入したことで生じる、購買者から集約者への当該提供データの対価の支払い契約である。2種類の契約の他の1つは、購買者が提供データを購入したことで生じる、集約者から提供者への当該提供データの対価の少なくとも一部の支払い契約である。このように、2種類の契約は、集約者及び購買者間の契約と、集約者及び提供者間の契約とであり、契約の当事者となるユーザの組み合わせが異なる。つまり、2つのスマートコントラクトを異なる2つのブロックチェーンに分けて記録することで、契約の当事者以外のユーザに、当該契約に対応するスマートコントラクトが知られることを抑制することができる。具体的には、購買者及び提供者の一方のユーザの契約が他方のユーザに知られることを抑制することができる。このように、2つのスマートコントラクトを異なる2つのブロックチェーンに分けて記録する場合であっても、集約者端末10は、2つのスマートコントラクトを連携して実行するため、契約が他者に知られることを抑制し、かつ、2種類の契約を連携して履行することができる。このため、例えば、提供者が提供データの提供者であり、集約者が提供者と購買者との間の提供データの売買を行う仲介者である場合、購買者から集約者への提供データに対する対価の支払いが実行されると、集約者から提供者への提供データの対価の少なくとも一部の支払いも自動的に行うことができる。
 また、集約者端末10は、第2支払スマートコントラクトの実行において、第1支払ブロックチェーン及び第2支払ブロックチェーンとは異なる第3ブロックチェーンに記録されている関連付けスマートコントラクトを実行するための第2実行トランザクションデータを生成する(S136)。次に、集約者端末10は、第2実行トランザクションデータを第3ブロックチェーンに記録することにより(S138)、関連付けスマートコントラクトを実行する(S140~S142)。
 このため、集約者端末10は、第2支払スマートコントラクトを実行することで、関連付けスマートコントラクトを実行することができる。
 また、集約者端末10は、関連付けスマートコントラクトの実行において、第2支払スマートコントラクトと紐づいているスマートコントラクトである第1支払スマートコントラクトを特定し(S140)、第1支払スマートコントラクトを実行するための第1実行トランザクションデータを生成する(S142)。集約者端末10は、第1実行トランザクションデータを第1支払ブロックチェーンに記録することにより(S144)、第1支払スマートコントラクトを実行する(S145)。
 このため、集約者端末10は、第2支払スマートコントラクトを実行することで関連付けスマートコントラクトを実行し、さらに、関連付けスマートコントラクトを実行することで第1支払スマートコントラクトを実行することができる。
 また、集約者端末10は、第2支払スマートコントラクトの実行において、購買者の口座から集約者の口座に提供データの対価を振り込む。
 これにより、集約者端末10が第2支払スマートコントラクトを実行することで、購買者が集約者へ提供データの対価を支払うことができる。
 また、集約者端末10は、第2支払スマートコントラクトの実行において、集約者端末10が第1支払ブロックチェーンを保有しているか否かを判定する(S141)。集約者端末10は、集約者端末10が第1支払ブロックチェーンを保有していると判定した場合、第1支払スマートコントラクトを実行する(S145)。
 これにより、集約者端末10は、第1支払ブロックチェーンを保有している集約者端末10が第1支払スマートコントラクトを実行することができる。
 また、対価は、提供者から提供された提供データの対価である。提供データは、提供者を識別する第3識別子(提供者ID)が変換された変換後の識別子である第3の特定識別子と対応付けられて公開された状態で記憶されている。第3識別子は、第3の特定識別子と対応付けられて公開されていない状態で記憶されている。このため、第3ユーザの識別子が公開されていない状態で、かつ、データと関連付けて管理することができる。
 (実施の形態2)
 実施の形態2は、実施の形態1と比較して、管理システムによるデータ売買処理の一部の処理が異なる。管理システムの構成は、実施の形態1と同様であるので説明を省略する。
 図12は、実施の形態2に係る管理システムによるデータ売買処理の一例を示すシーケンス図である。
 購買者端末20は、取引の対象となるデータの一覧を含むデータベースを参照し、購入する対象のデータを指定する(S151)。
 購買者端末20は、購入する対象のデータを示す情報と、当該データの対価とを含む購入トランザクションデータを生成する(S152)。
 購買者端末20は、生成した購入トランザクションデータを集約者端末10へ送信する(S153)。
 次に、集約者端末10及び購買者端末20は、コンセンサスアルゴリズムを実行し、購入トランザクションデータを含むブロックを生成して、第2分散台帳112に格納する(S154)。
 次に、集約者端末10及び購買者端末20は、購入トランザクションデータについてコンセンサスアルゴリズムが実行されると、第2スマートコントラクトを実行する(S155)。具体的には、集約者端末10及び購買者端末20のそれぞれは、購買者の口座から集約者の口座に、データの対価の振り込みを行う(S155)。
 次に、集約者端末10は、関連付けスマートコントラクトを呼び出す第2実行トランザクションデータを生成する(S156)。第2実行トランザクションデータは、関連付けスマートコントラクトIDを含む。
 次に、集約者端末10は、第2実行トランザクションデータを、購買者端末20及び提供者端末30へ送信する(S157)。
 次に、集約者端末10、購買者端末20、及び、提供者端末30は、コンセンサスアルゴリズムを実行し、第2実行トランザクションデータを含むブロックを生成して、第3分散台帳113に格納する(S158)。
 次に、集約者端末10、購買者端末20、及び、提供者端末30は、第2実行トランザクションデータについてコンセンサスアルゴリズムが実行されると、関連付けスマートコントラクトを実行する(S159~S161)。
 次に、集約者端末10、購買者端末20、及び、提供者端末30のそれぞれは、第2支払スマートコントラクトと紐付いている第1支払スマートコントラクトを特定する(S159)。具体的には、集約者端末10、購買者端末20、及び、提供者端末30のそれぞれは、関連付けスマートコントラクトに含まれる、第1支払スマートコントラクトが格納されている、第1支払ブロックチェーンにおける格納場所を示す第1アドレスに基づいて、第1支払スマートコントラクトを特定する。
 次に、集約者端末10、購買者端末20、及び、提供者端末30のそれぞれは、第1分散台帳を保有しているか否かを判定する(S160)。具体的には、集約者端末10、購買者端末20、及び、提供者端末30のそれぞれは、第3分散台帳113に格納されている各分散台帳情報に基づいて、自端末が第1分散台帳を保有しているか否かを判定する。集約者端末10及び提供者端末30は、第1分散台帳を保有しているため、Yesと判定し次のステップS161を実行する。一方で、購買者端末20は、第1分散台帳を保有していないため、Noと判定し、処理を終了する。
 次に、集約者端末10、購買者端末20、及び、提供者端末30のそれぞれは、第2支払スマートコントラクトと紐付いている第1支払スマートコントラクトを通知する(S161)。
 次に、集約者端末10及び提供者端末30のそれぞれは、第1支払スマートコントラクトを呼び出す第1実行トランザクションデータを生成する(S162)。第1実行トランザクションデータは、第1支払スマートコントラクトを識別する第1支払スマートコントラクトIDを含む。
 次に、集約者端末10及び提供者端末30の少なくとも一方は、第1実行トランザクションデータを、集約者端末10及び提供者端末30の他方へ送信する(S163)。図12では、集約者端末10が第1実行トランザクションデータを提供者端末30へ送信する例が示されている。提供者端末30が第1実行トランザクションデータを集約者端末へ送信してもよい。
 次に、集約者端末10及び提供者端末30は、コンセンサスアルゴリズムを実行し、第1実行トランザクションデータを含むブロックを生成して、第1分散台帳111に格納する(S164)。
 次に、集約者端末10及び提供者端末30は、第1実行トランザクションデータについてコンセンサスアルゴリズムが実行されると、第1支払スマートコントラクトを実行する(S165)。具体的には、集約者端末10及び提供者端末30のそれぞれは、集約者の口座から提供者の口座に、データの対価の少なくとも一部の振り込みを行う(S165)。
 (実施の形態3)
 実施の形態3は、実施の形態1と比較して、管理システムによるデータ売買処理の一部の処理が異なる。管理システムの構成は、実施の形態1と同様であるので説明を省略する。なお、実施の形態3では、集約者端末10は、第2支払スマートコントラクトを生成する際に特定した第1支払スマートコントラクトIDを、生成する第2支払スマートコントラクトに含めてもよい。また、実施の形態3では、各分散台帳情報は、第2分散台帳112の第2支払ブロックチェーンに格納されているものとする。
 図13は、実施の形態3に係る管理システムによるデータ売買処理の一例を示すシーケンス図である。
 購買者端末20は、取引の対象となるデータの一覧を含むデータベースを参照し、購入する対象のデータを指定する(S171)。
 購買者端末20は、購入する対象のデータを示す情報と、当該データの対価とを含む購入トランザクションデータを生成する(S172)。
 購買者端末20は、生成した購入トランザクションデータを集約者端末10へ送信する(S173)。
 次に、集約者端末10及び購買者端末20は、コンセンサスアルゴリズムを実行し、購入トランザクションデータを含むブロックを生成して、第2分散台帳112に格納する(S174)。
 次に、集約者端末10及び購買者端末20は、購入トランザクションデータについてコンセンサスアルゴリズムが実行されると、第2スマートコントラクトを実行する(S175~S177)。
 次に、集約者端末10及び購買者端末20のそれぞれは、購買者の口座から集約者の口座に、データの対価の振り込みを行う(S175)。
 次に、集約者端末10及び購買者端末20のそれぞれは、第1分散台帳を保有しているか否かを判定する(S176)。具体的には、集約者端末10及び購買者端末20のそれぞれは、第2分散台帳112に格納されている各分散台帳情報に基づいて、自端末が第1分散台帳を保有しているか否かを判定する。集約者端末10は、第1分散台帳を保有しているため、Yesと判定し次のステップS177を実行する。一方で、購買者端末20は、第1分散台帳を保有していないため、Noと判定し、処理を終了する。
 次に、集約者端末10は、第1支払スマートコントラクトを呼び出す第1実行トランザクションデータを生成する(S177)。第1実行トランザクションデータは、第1支払スマートコントラクトを識別する第1支払スマートコントラクトIDを含む。
 次に、集約者端末10は、第1実行トランザクションデータを、提供者端末30へ送信する(S178)。
 次に、集約者端末10及び提供者端末30は、コンセンサスアルゴリズムを実行し、第1実行トランザクションデータを含むブロックを生成して、第1分散台帳111に格納する(S179)。
 次に、集約者端末10及び提供者端末30は、第1実行トランザクションデータについてコンセンサスアルゴリズムが実行されると、第1支払スマートコントラクトを実行する(S180)。具体的には、集約者端末10及び提供者端末30のそれぞれは、集約者の口座から提供者の口座に、データの対価の少なくとも一部の振り込みを行う(S180)
 このように、集約者端末10は、第2支払スマートコントラクトの実行において、第1支払スマートコントラクトを実行するための第1実行トランザクションデータを生成する(S177)。集約者端末10は、生成した第1実行トランザクションデータを第1支払ブロックチェーンに記録することにより(S179)、第1支払スマートコントラクトを実行する(S180)。
 このため、集約者端末10は、第2支払スマートコントラクトを実行することで、第1支払スマートコントラクトを実行することができる。つまり、実施の形態1のように関連付けスマートコントラクトを実行しなくても、第2支払スマートコントラクトの実行と連携して第1支払スマートコントラクトを実行することができる。
 また、第2支払スマートコントラクトは、第1支払スマートコントラクトを特定する識別子、つまり、第1支払スマートコントラクトIDを含む。集約者端末10は、第2支払スマートコントラクトの実行において、第1支払スマートコントラクトIDを参照して第2支払スマートコントラクトに紐付いている第1支払スマートコントラクトを特定し、特定した後に第1実行トランザクションデータを生成する。
 これにより、集約者端末10は、第2支払スマートコントラクトに連携して実行する第1支払スマートコントラクトを容易に特定することができる。
 (実施の形態4)
 実施の形態3は、実施の形態1と比較して、管理システムによるデータ売買処理の一部の処理が異なる。管理システムの構成は、実施の形態1と同様であるので説明を省略する。
 図14は、実施の形態4に係る管理システムによるデータ売買処理の一例を示すシーケンス図である。
 購買者端末20は、取引の対象となるデータの一覧を含むデータベースを参照し、購入する対象のデータを指定する(S191)。
 購買者端末20は、購入する対象のデータを示す情報と、当該データの対価とを含む購入トランザクションデータを生成する(S192)。
 購買者端末20は、生成した購入トランザクションデータを集約者端末10へ送信する(S193)。
 次に、集約者端末10及び購買者端末20は、コンセンサスアルゴリズムを実行し、購入トランザクションデータを含むブロックを生成して、第2分散台帳112に格納する(S194)。
 次に、集約者端末10及び購買者端末20は、購入トランザクションデータについてコンセンサスアルゴリズムが実行されると、第2スマートコントラクトを実行する(S195~S198)。
 集約者端末10及び購買者端末20のそれぞれは、購買者の口座から集約者の口座に、データの対価の振り込みを行う(S195)。
 次に、集約者端末10及び購買者端末20のそれぞれは、購入トランザクションデータで指定された購入対象データを、購買者に売却してもよいか否かを判定する(S196)。集約者端末10及び購買者端末20のそれぞれは、提供者の属性と、購買者の属性とを比較して、両者の属性が所定の関係を満たす場合に、購入対象データを購買者に売却してもよいと判定し、両者の属性が所定の関係を満たさない場合に、購入対象データを購買者に売却できないと判定してもよい。所定の関係とは、提供者の属性と購買者の属性とが類似しないことであり、例えば、提供者の居住地と、購買者の居住地とが所定の距離よりも離れていることである。
 集約者端末10及び購買者端末20のそれぞれは、購入トランザクションデータで指定された購入対象データを、購買者に売却してもよいと判定した場合(S196でYes)、ステップS197を実行し、購買者に売却できないと判定した場合(S196でNo)、処理を終了する。
 ステップS197では、集約者端末10は、購入対象データを購買者へ譲渡する(S197)。具体的には、集約者端末10は、購入対象データを購買者端末20へ送信してもよいし、購入対象データが格納されているデータベースにアクセスして購入対象データをダウンロードするための情報を購買者端末20へ送信してもよい。
 次に、集約者端末10及び提供者端末30のそれぞれは、集約者の口座から提供者の口座に、データの対価の少なくとも一部の振り込みを行う(S198)。
 [その他の実施の形態等]
 以上のように、本開示について上記の実施の形態に基づいて説明してきたが、本開示は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
 (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)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
 本開示は、制御方法、サーバ、及び、プログラムに利用でき、例えば対価の支払いに関する2種類の契約を連携して履行することができる制御方法、端末、及び、プログラムなどに利用可能である。
 10  集約者端末
 20  購買者端末
 30  提供者端末
101、201、301  通信部
102、202、302  制御部
103  変換部
104、203、303  記録部
111  第1分散台帳
112  第2分散台帳
113  第3分散台帳
114  公開データベース
115  非公開データベース
  N  ネットワーク

Claims (10)

  1.  ブロックチェーンを利用した分散台帳を保有している第1端末の制御方法であって、
     第2ユーザが第1ユーザに支払う対価に関する対価情報を含む購入トランザクションデータを前記第2ユーザが所有する第2端末から取得し、
     前記購入トランザクションデータを第1ブロックチェーンに記録することにより、前記第1ブロックチェーンに記録されている第1スマートコントラクトを実行し、
     前記第1スマートコントラクトに基づいて、前記第1ブロックチェーンとは異なる第2ブロックチェーンに記録されている第2スマートコントラクトを実行し、
     前記第2スマートコントラクトは、前記第1ユーザの第1口座から第3ユーザの第3口座に前記対価の少なくとも一部を振り込むためのスマートコントラクトである
     制御方法。
  2.  前記第1スマートコントラクトの実行において、前記第2スマートコントラクトを実行するための第1実行トランザクションデータを生成し、
     生成した前記第1実行トランザクションデータを前記第2ブロックチェーンに記録することにより、前記第2スマートコントラクトを実行する
     請求項1に記載の制御方法。
  3.  前記第1スマートコントラクトの実行において、前記第1ブロックチェーン及び前記第2ブロックチェーンとは異なる第3ブロックチェーンに記録されている第3スマートコントラクトを実行するための第2実行トランザクションデータを生成し、
     前記第2実行トランザクションデータを前記第3ブロックチェーンに記録することにより、前記第3スマートコントラクトを実行する
     請求項1に記載の制御方法。
  4.  前記第3スマートコントラクトの実行において、前記第1スマートコントラクトと紐づいているスマートコントラクトである前記第2スマートコントラクトを特定し、前記第2スマートコントラクトを実行するための第1実行トランザクションデータを生成し、
     前記第1実行トランザクションデータを前記第2ブロックチェーンに記録することにより、前記第2スマートコントラクトを実行する
     請求項3に記載の制御方法。
  5.  前記第1スマートコントラクトの実行において、
     前記第2ユーザの口座から前記第1ユーザの口座に前記対価を振り込む
     請求項1から4のいずれか1項に記載の制御方法。
  6.  前記第1スマートコントラクトは、前記第2スマートコントラクトを特定する識別子を含み、
     前記第1スマートコントラクトの実行において、前記識別子を参照して前記第1スマートコントラクトに紐付いている前記第2スマートコントラクトを特定し、特定した後に前記第1実行トランザクションデータを生成する
     請求項2に記載の制御方法。
  7.  前記第1スマートコントラクトの実行において、前記第1端末が前記第2ブロックチェーンを保有しているか否かを判定し、
     前記第1端末が前記第2ブロックチェーンを保有していると判定した場合、前記第2スマートコントラクトを実行する
     請求項1に記載の制御方法。
  8.  前記対価は、前記第3ユーザから提供されたデータの対価であり、
     前記データは、前記第3ユーザを識別する識別子が変換された変換後の識別子と対応付けられて公開された状態で記憶されており、
     前記識別子は、前記変換後の識別子と対応付けられて公開されていない状態で記憶されている
     請求項1から4のいずれか1項に記載の制御方法。
  9.  ブロックチェーンを利用した分散台帳を保有している端末であって、
     第2ユーザが第1ユーザに支払う対価に関する対価情報を含む購入トランザクションデータを前記第2ユーザが所有する第2端末から取得する取得部と、
     (i)前記購入トランザクションデータを第1ブロックチェーンに記録することにより、前記第1ブロックチェーンに記録されている第1スマートコントラクトを実行し、(ii)前記第1スマートコントラクトに基づいて、前記第1ブロックチェーンとは異なる第2ブロックチェーンに記録されている第2スマートコントラクトを実行する実行部と、を備え、
     前記第2スマートコントラクトは、前記第1ユーザの第1口座から第3ユーザの第3口座に前記対価の少なくとも一部を振り込むためのスマートコントラクトである
     端末。
  10.  ブロックチェーンを利用した分散台帳を保有している第1端末の制御方法をコンピュータに実行させるためのプログラムであって、
     前記制御方法は、
     第2ユーザが第1ユーザに支払う対価に関する対価情報を含む購入トランザクションデータを前記第2ユーザが所有する第2端末から取得し、
     前記購入トランザクションデータを第1ブロックチェーンに記録することにより、前記第1ブロックチェーンに記録されている第1スマートコントラクトを実行し、
     前記第1スマートコントラクトに基づいて、前記第1ブロックチェーンとは異なる第2ブロックチェーンに記録されている第2スマートコントラクトを実行し、
     前記第2スマートコントラクトは、前記第1ユーザの第1口座から第3ユーザの第3口座に前記対価の少なくとも一部を振り込むためのスマートコントラクトである、
     プログラム。
PCT/JP2022/017945 2021-04-22 2022-04-15 制御方法、端末、及び、プログラム WO2022224907A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2023515446A JPWO2022224907A1 (ja) 2021-04-22 2022-04-15
CN202280028997.4A CN117280369A (zh) 2021-04-22 2022-04-15 控制方法、终端、以及程序
US18/382,154 US20240046264A1 (en) 2021-04-22 2023-10-20 Method, apparatus, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163178144P 2021-04-22 2021-04-22
US63/178,144 2021-04-22

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/382,154 Continuation US20240046264A1 (en) 2021-04-22 2023-10-20 Method, apparatus, and recording medium

Publications (1)

Publication Number Publication Date
WO2022224907A1 true WO2022224907A1 (ja) 2022-10-27

Family

ID=83723295

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/017945 WO2022224907A1 (ja) 2021-04-22 2022-04-15 制御方法、端末、及び、プログラム

Country Status (4)

Country Link
US (1) US20240046264A1 (ja)
JP (1) JPWO2022224907A1 (ja)
CN (1) CN117280369A (ja)
WO (1) WO2022224907A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017204070A (ja) * 2016-05-10 2017-11-16 日本電信電話株式会社 決済システム、決済方法、トランザクション生成装置及びトランザクション生成プログラム
JP2020047104A (ja) * 2018-09-20 2020-03-26 日本電信電話株式会社 決済システム、決済方法、利用者装置、決済プログラム
WO2020213678A1 (ja) * 2019-04-16 2020-10-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 制御方法、サーバ、及び、データ構造

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017204070A (ja) * 2016-05-10 2017-11-16 日本電信電話株式会社 決済システム、決済方法、トランザクション生成装置及びトランザクション生成プログラム
JP2020047104A (ja) * 2018-09-20 2020-03-26 日本電信電話株式会社 決済システム、決済方法、利用者装置、決済プログラム
WO2020213678A1 (ja) * 2019-04-16 2020-10-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 制御方法、サーバ、及び、データ構造

Also Published As

Publication number Publication date
JPWO2022224907A1 (ja) 2022-10-27
US20240046264A1 (en) 2024-02-08
CN117280369A (zh) 2023-12-22

Similar Documents

Publication Publication Date Title
US20210273810A1 (en) Debt Recordation to Blockchains
US11587069B2 (en) Digital contracts in blockchain environments
CN110059495B (zh) 数据共享方法、装置及系统、电子设备
EP3485437B1 (en) Distributed ledger platform for vehicle records
JP7341304B2 (ja) 制御方法
US20230062776A1 (en) Supplemental Digital Content Access Control using Nonfungible Tokens (NFTs)
US20230067556A1 (en) Systems and methods for tokenization, management, trading, settlement, and retirement of renewable energy attributes
CN104484797A (zh) 信息通信系统及其装置
JPWO2020122039A1 (ja) データ管理方法、データ管理システム及びプログラム
WO2022224907A1 (ja) 制御方法、端末、及び、プログラム
WO2021100831A1 (ja) 制御方法、装置、及び、プログラム
WO2021125109A1 (ja) 制御方法、装置、及び、プログラム
CN111488349A (zh) 基于业务数据区块链的数据查询方法及装置
US20210209585A1 (en) Systems and methods for cross-ecosystem aggregation of assets using distributed ledgers
CN114708093A (zh) 基于区块链的数字资源处理方法和装置
CN110083464B (zh) App关联方法与系统、分享方法与系统、装置及介质
CN111488343A (zh) 基于业务数据区块链的电商数据上链方法及装置
US9710845B2 (en) E-commerce purchase portal
CN114615083B (zh) Nft半隐私交易方法、计算机设备和存储介质
US20230121349A1 (en) Method for securing private structured databases within a public blockchain
JP6891067B2 (ja) 情報出力管理装置および情報出力管理方法
KR101841100B1 (ko) 무선랜 핑거프린트를 이용한 결제 방법, 결제 시스템 및 무선랜 핑거프린트로 점포와 카드를 연계하는 서버
CN112785434A (zh) 售卖信息发布方法、系统、电子设备及可读存储介质
KR20210034993A (ko) 관리 장치 및 관리 방법
TW202001745A (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: 22791681

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023515446

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 202280028997.4

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22791681

Country of ref document: EP

Kind code of ref document: A1