Information processing method, information processing device, and program
The information processing method addresses the challenge of differing transaction units across blockchains by using NFTs to determine market prices based on transaction history, facilitating appropriate and efficient transactions.
Patent Information
- Application Number
- PCT/JP2024/038233
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-10-30
- Filing Date
- 2024-10-25
- Publication Date
- 2025-05-08
AI Technical Summary
Transactions across multiple blockchains often face challenges due to differences in transaction units, making appropriate transactions difficult. This issue extends beyond blockchains to other distributed ledger technologies.
An information processing method and device that utilize Non-Fungible Tokens (NFTs) to acquire transaction history information for different units. This method determines the market price between units based on the transaction history information, enabling appropriate transactions across different units.
The method allows for the determination of market prices between different units based on actual transaction history, ensuring appropriate and efficient transactions across various distributed ledger systems.
Smart Images

Figure JP2024038233_08052025_PF_FP_ABST
Abstract
Description
Information processing method, information processing device, and program
[0001] The present disclosure relates to an information processing method, an information processing device, and a program.
[0002] Patent Document 1 discloses a data management system for trading items such as artworks using blockchain technology.
[0003] JP 2024-091805 A
[0004] However, when trading between multiple blockchains, the units of the transaction may differ between the blockchains, making it impossible to conduct the transaction appropriately. This is also true for transactions using other distributed ledger technologies, not just blockchains.
[0005] Therefore, the present disclosure provides an information processing method, an information processing device, and a program that can support appropriate transactions in transactions using different units.
[0006] An information processing method according to one aspect of the present disclosure acquires first transaction history information indicating a history of transactions of a trading object using a first NFT indicating that the trading object is to be traded in a first unit, acquires second transaction history information indicating a history of transactions of the trading object using a second NFT indicating that the trading object is to be traded in a second unit different from the first unit, and determines a market price between the first unit and the second unit based on the first transaction history information and the second transaction history information.
[0007] An information processing device according to one aspect of the present disclosure includes a first acquisition unit that acquires first transaction history information indicating a history of trading of a trading object using a first NFT indicating that the trading object is traded in a first unit, a second acquisition unit that acquires second transaction history information indicating a history of trading of the trading object using a second NFT indicating that the trading object is traded in a second unit different from the first unit, and an execution unit that executes a process to determine the market price between the first unit and the second unit based on the first transaction history information and the second transaction history information.
[0008] A program according to one aspect of the present disclosure is a program for causing a computer to execute the above-described information processing method.
[0009] According to one aspect of the present disclosure, it is possible to realize an information processing method or the like that can support appropriate transactions in transactions using different units.
[0010] FIG. 1 is a diagram illustrating the configuration of an information processing system according to an embodiment. FIG. 2A is a block diagram illustrating the functional configuration of a ledger server included in a first distributed ledger system according to an embodiment. FIG. 2B is a block diagram illustrating the functional configuration of a ledger server included in a second distributed ledger system according to an embodiment. FIG. 2C is a block diagram illustrating the functional configuration of a ledger server included in a third distributed ledger system according to an embodiment. FIG. 3 is a block diagram illustrating the functional configuration of a storage device included in a first distributed ledger system according to an embodiment. FIG. 4 is a diagram illustrating an example of market price NFT metadata according to an embodiment. FIG. 5 is a diagram schematically illustrating the flow of a buying and selling transaction in an information processing system according to an embodiment. FIG. 6 is a sequence diagram illustrating the operation of registering an NFT for sale in an information processing system according to an embodiment. FIG. 7 is a sequence diagram illustrating the operation of registering an NFT for purchase in an information processing system according to an embodiment. FIG. 8 is a sequence diagram illustrating the operation of buying and selling resources in an information processing system according to an embodiment. FIG. 9 is a sequence diagram illustrating the operation of adjusting market prices in an information processing system according to an embodiment. FIG. 10 is an explanatory diagram illustrating the data structure of a blockchain. FIG. 11 is an explanatory diagram illustrating the data structure of transaction data. Fig. 12 is an explanatory diagram showing transaction data related to the execution of a smart contract. Fig. 13 is an explanatory diagram showing processing related to the execution of a smart contract. Fig. 14 is an explanatory diagram showing the structure of an NFT and metadata. Fig. 15 is a diagram for explaining the problem of the present disclosure.
[0011] (Background to the Invention of the Present Disclosure) Prior to describing the present disclosure, the background to the invention of the present disclosure will be described with reference to FIG. 15. FIG. 15 is a diagram for explaining the problem of the present disclosure. FIG. 15 describes an example of buying and selling resources (garbage), which is an example of a trading subject. One example of a transaction is buying and selling. Garbage may include things that are disassembled and reused, things that are disposed of, things that are reused, etc.
[0012] Sellers are businesses that collect resources and sell them to buyers. Buyers are businesses that purchase resources from sellers and disassemble the purchased resources. Sellers receive 5,000 yen for selling one truckload of resources, and buyers pay 5,000 yen for purchasing 1,000 kg of resources. Sellers sell resources in first units via a first distributed ledger system using a first blockchain, and buyers purchase resources in second units via a second distributed ledger system using a second blockchain.
[0013] As shown in FIG. 15 , for example, a seller sells resources (garbage) in units of one truckload, while a buyer purchases resources in units of weight (kg). One truckload is an example of a first unit, and weight is an example of a second unit. For example, the first unit and the second unit are trading units for resources bought and sold in the real world. Also, for example, the first unit may be a unit for selling an object of trade, and the second unit may be a unit for buying the object of trade. An object of trade is an example of a trading object.
[0014] The number of trucks and weight are measured in different units and are not interchangeable, making it difficult to buy and sell resources as is. Also, market prices (in the garbage market) can fluctuate daily, meaning the value of resources can fluctuate daily.
[0015] In this way, the units of trade may differ between the first blockchain and the second blockchain. For example, it is possible to assign a fixed weight to one truck, but this may result in a deviation from the market price, so it is necessary to appropriately determine the market price between multiple units used when buying and selling resources and other trading objects.
[0016] Therefore, the inventors of the present application have conducted extensive research into information processing methods etc. that can assist in conducting appropriate buying and selling transactions in which different units of measurement are used, and have devised the information processing methods etc. described below.
[0017] The first unit is not limited to the number of trucks and the second unit is not limited to weight, but may be different transaction units. One of the first unit and the second unit may be, for example, the number of pieces or a size such as length.
[0018] After disassembling the item, the buyer will sell each material according to the market price for each material. If the item is a futon, examples of the material include cotton and cloth. If the item is a bicycle, examples of the material include rubber, plastic, and metal (iron, steel, aluminum, etc.). If the item is a chair, examples of the material include wood, cloth, sponge, and metal (iron, copper, etc.).
[0019] An information processing method according to a first aspect of the present disclosure acquires first transaction history information indicating a history of transactions of a trading object using a first NFT indicating that the trading object is to be traded in a first unit, acquires second transaction history information indicating a history of transactions of the trading object using a second NFT indicating that the trading object is to be traded in a second unit different from the first unit, and determines a market price between the first unit and the second unit based on the first transaction history information and the second transaction history information.
[0020] This allows the market price between the first unit and the second unit to be determined based on transaction history information, i.e., the market price can be determined based on performance, so the market price between the first unit and the second unit can be appropriately determined. Therefore, according to the information processing method, the market price determined in this manner is used for buying and selling the trading object, thereby supporting appropriate trading in transactions using mutually different units.
[0021] Also, for example, the information processing method according to the second aspect may be the information processing method according to the first aspect, wherein the first unit is the unit when selling the trading object, and the second unit is the unit when purchasing the trading object.
[0022] This allows the market price between the first unit on the selling side and the second unit on the buying side to be appropriately determined.
[0023] Furthermore, for example, the information processing method according to the third aspect may be the information processing method according to the second aspect, which refers to at least one of a first blockchain that stores information regarding transactions of the trading object in the first unit and a second blockchain that stores information regarding transactions of the trading object in the second unit, and updates the market price based on the reference result.
[0024] This allows the market price to be updated, so that an appropriate market price can be maintained.
[0025] Also, for example, the information processing method according to the fourth aspect may be an information processing method according to the second or third aspect, wherein the first NFT for trading the trading object has first metadata including information about a first market price, the second NFT for trading the trading object has second metadata including information about a second market price, and at least one of the first metadata and the second metadata is stored in a database.
[0026] As a result, since at least one of the first metadata and the second metadata is stored in the database, the at least one of the metadata can be updated for each transaction.
[0027] Furthermore, for example, an information processing method according to a fifth aspect may be the information processing method according to the fourth aspect, wherein the first metadata includes the first market price and information other than the first market price, the second metadata includes the second market price and information other than the second market price, and when acquiring the first transaction history information, acquisition of only the first market price in the first metadata is permitted, and when acquiring the second transaction history information, acquisition of only the second market price in the second metadata is permitted.
[0028] This makes it possible to prevent information contained in the metadata that is not related to the market price from being referenced.
[0029] Furthermore, for example, an information processing method according to a sixth aspect may be an information processing method according to any one of the first to fifth aspects, in which a node terminal of a distributed ledger system using a third blockchain that stores information related to the market price creates specified transaction data, and stores the generated specified transaction data in the third blockchain, thereby executing a process to determine the market price.
[0030] This allows the market price to be updated automatically.
[0031] Furthermore, for example, the information processing method according to the seventh aspect is an information processing method according to any one of the first to sixth aspects, and when a transaction request requesting to trade the trading object is transmitted, the market price may be referenced.
[0032] This allows the trading object to be traded using the market price at the time when the trading object is actually traded, thereby effectively supporting appropriate trading.
[0033] In addition, an information processing device according to an eighth aspect of the present disclosure includes a first acquisition unit that acquires first transaction history information indicating a history of trading of a trading object using a first NFT indicating that the trading object is traded in a first unit, a second acquisition unit that acquires second transaction history information indicating a history of trading of the trading object using a second NFT indicating that the trading object is traded in a second unit different from the first unit, and an execution unit that executes a process to determine the market price between the first unit and the second unit based on the first transaction history information and the second transaction history information.
[0034] This provides the same effect as the above-described information processing method.
[0035] A program according to a ninth aspect of the present disclosure is a program for causing a computer to execute the information processing method according to any one of the first to seventh aspects.
[0036] This provides the same effect as the above-described information processing method.
[0037] These general or specific aspects may be realized as a system, a method, an integrated circuit, a computer program, or a non-transitory recording medium such as a computer-readable CD-ROM, or as any combination of the system, method, integrated circuit, computer program, or recording medium. The program may be pre-stored in the recording medium, or may be supplied to the recording medium via a wide area communication network including the Internet.
[0038] Hereinafter, the embodiments will be specifically described with reference to the drawings.
[0039] The embodiments described below are all comprehensive or specific examples. The numerical values, components, component placement and connection configurations, steps, and step order shown in the following embodiments are merely examples and are not intended to limit the present disclosure. Furthermore, among the components in the following embodiments, components not described in independent claims are described as optional components.
[0040] Furthermore, each drawing is a schematic diagram and is not necessarily a precise illustration. In each drawing, substantially the same components are denoted by the same reference numerals, and redundant explanations will be omitted or simplified.
[0041] Furthermore, in this specification, numerical values and numerical ranges are not expressions that express only the strict meaning, but are expressions that mean that they also include a substantially equivalent range, for example, a difference of about several percent (or about 10%).
[0042] Furthermore, in this specification, ordinal numbers such as "first" and "second" do not refer to the number or order of components unless otherwise specified, but are used for the purpose of avoiding confusion and distinguishing between components of the same type.
[0043] (Embodiment) Hereinafter, an information processing system according to the present embodiment will be described with reference to FIGS.
[0044] 1. Configuration of Information Processing System First, the configuration of an information processing system according to this embodiment will be described with reference to Figures 1 to 4. Figure 1 is a diagram showing the configuration of an information processing system 10 according to this embodiment.
[0045] 1 , the information processing system 10 includes, for example, a seller terminal 110, a buyer terminal 120, ledger servers 200a, 200b, and 200c, ledger servers 300a, 300b, and 300c, and ledger servers 400a, 400b, and 400c, which are communicatively connected via a communication network 500.
[0046] Hereinafter, ledger servers 200a, 200b, and 200c will also be referred to as ledger servers 200a, etc., ledger servers 300a, 300b, and 300c will also be referred to as ledger servers 300a, etc., and ledger servers 400a, 400b, and 400c will also be referred to as ledger servers 400a, etc. Also, hereinafter, storage devices 201a, 201b, and 201c will also be referred to as storage devices 201a, etc., storage devices 301a, 301b, and 301c will also be referred to as storage devices 301a, etc., and storage devices 401a, 401b, and 401c will also be referred to as storage devices 401a, etc.
[0047] The ledger servers 200a, etc. are connected to the storage devices 201a, etc. The ledger servers 200a, etc. may be connected to the storage devices 201a, etc. via a communication network 500, or may include the storage devices 201a, etc. internally. The storage devices 201a, etc. have a distributed ledger 214a (see FIG. 2A ) in which transaction data and blocks of the blockchain are electronically recorded. The ledger servers 200a, 200b, and 200c make up the first distributed ledger system 20. The ledger servers 200a, etc. are node terminals of the first distributed ledger system 20.
[0048] The ledger servers 300a, etc. are connected to the storage devices 301a, etc. The ledger servers 300a, etc. may be connected to the storage devices 301a, etc. via a communication network 500, or may have the storage devices 301a, etc. internally. The storage devices 301a, etc. have a distributed ledger 314a (see FIG. 2B ) in which transaction data and blocks of the blockchain are electronically recorded. The ledger servers 300a, 300b, and 300c make up the second distributed ledger system 30. The ledger servers 300a, etc. are node terminals of the second distributed ledger system 30.
[0049] The ledger servers 400a, etc. are connected to the storage devices 401a, etc. The ledger servers 400a, etc. may be connected to the storage devices 401a, etc. via a communication network 500, or may have the storage devices 401a, etc. internally. The storage devices 401a, etc. have a distributed ledger 414a (see FIG. 2C ) in which transaction data and blocks of the blockchain are electronically recorded. The ledger servers 400a, 400b, and 400c make up the third distributed ledger system 40. The ledger servers 400a, etc. are node terminals of the third distributed ledger system 40 and are examples of information processing devices.
[0050] In this embodiment, the first distributed ledger system 20 stores information (e.g., transaction data) regarding the sale of items by sellers, and the second distributed ledger system 30 stores information (e.g., transaction data) regarding the purchase of items by buyers. The transaction data includes transaction data indicating the transfer of tokens between users. The tokens include at least NFTs (Non-Fungible Tokens). The tokens may also include general value information (monetary value or information equivalent to monetary value). An "NFT" is a non-fungible token, typically a token conforming to ERC721, the Ethereum blockchain standard. However, it may also be a token conforming to another standard, a non-standard token, or a token other than Ethereum. While ERC721 is a unique token standard, the NFTs referred to herein do not necessarily have to be unique. For example, one NFT may correspond to 10 items. Additionally, multiple NFTs may be granted to the same item; for example, the same item may have different NFTs today and tomorrow, or the same item may have different NFTs for organization A and organization B.
[0051] The third distributed ledger system 40 also manages the market price between the unit of sale (first unit) of the items traded by the seller and the unit of purchase (second unit) of the items traded by the buyer. Managing the market price includes, for example, determining how much the first unit is equivalent to the second unit (the market price between the first unit and the second unit). For example, if one truck is the first unit and the weight of the resources is the second unit, managing the market price includes determining the weight of one truckload of resources. The first distributed ledger system 20, the second distributed ledger system 30, and the third distributed ledger system 40 each perform distributed ledger management using blockchain. The number of ledger servers constituting the distributed ledger system is not limited to three and may be one or more.
[0052] The seller terminal 110 is an information processing device owned by a seller selling the subject of trade. The seller terminal 110 is an information processing device that has access rights to the data stored in the distributed ledger 214a of the first distributed ledger system 20. The seller terminal 110 is permitted to send transaction data to the blockchain.
[0053] The seller terminal 110 includes a communication unit for communicating with the ledger server 200a via the communication network 500, a reception unit for receiving operations (input) from the seller's first user, and a transaction data generation unit for generating transaction data in the blockchain based on data obtained from the reception unit.
[0054] The buyer terminal 120 is an information processing device owned by a trader who purchases the items to be traded. The buyer terminal 120 is an information processing device that has access rights to the data stored in the distributed ledger 314a of the second distributed ledger system 30. The buyer terminal 120 is permitted to send transaction data to the blockchain.
[0055] The purchasing company terminal 120 includes a communication unit for communicating with the ledger server 300a via the communication network 500, a reception unit for receiving operations (input) from the purchasing company's second user, and a transaction data generation unit for generating transaction data in the blockchain based on data obtained from the reception unit.
[0056] Each of the seller terminal 110 and the buyer terminal 120 includes a processor and a memory. The memory may be a read-only memory (ROM) or a random access memory (RAM), and may store a program executed by the processor. Each function of the seller terminal 110 and the buyer terminal 120 is realized by a processor that executes a program stored in the memory. The communication unit may include, for example, a communication circuit (or a communication module), and the reception unit may include a touch panel, buttons, a sound collection device, etc. Each of the seller terminal 110 and the buyer terminal 120 may be realized by a mobile terminal such as a stationary personal computer (PC), a smartphone, or a tablet, a server device, etc.
[0057] The first distributed ledger system 20 is an information processing system that stores information using a distributed ledger 214a. The distributed ledger 214a of the first distributed ledger system 20 stores the generation history of Non-Fungible Tokens (NFTs), which are associated one-to-one with real-world trading objects, as well as the transfer history of the NFTs. The NFTs include NFTs for sale (sale NFTs) that trace the collection or sale of trading objects in the real world on the distributed ledger 214a. The sale NFTs include a token ID (i.e., identification information that can uniquely identify the NFT) and information on the unit in which the trading object is traded.
[0058] The transaction data may include transaction data containing contract code for a smart contract, transaction data containing instructions for executing a smart contract, or transaction data containing other information. The first distributed ledger system 20 may execute operations using the smart contract using the distributed ledger 214a. The first distributed ledger system 20 may generate NFTs for sale and realize the transfer of the NFTs for sale using operations using the smart contract.
[0059] The first distributed ledger system 20 includes ledger servers 200a, 200b, and 200c as a group of servers that hold a distributed ledger 214a. When at least one of the ledger servers 200a, etc. receives transaction data, the transaction data is shared by all of the ledger servers 200a, etc. and stored in the distributed ledger 214a.
[0060] The ledger server 200a is a computer (server) that holds and manages the distributed ledger 214a. The ledger server 200a holds the distributed ledger 214a and updates the distributed ledger 214a while synchronizing it with other ledger servers (specifically, ledger servers 200b and 200c).
[0061] The ledger servers 200b and 200c are each similar to the ledger server 200a, and operate independently of the ledger server 200a.
[0062] Figure 2A is a block diagram showing the functional configuration of ledger server 200a included in first distributed ledger system 20 according to this embodiment. Since ledger servers 200b and 200c have the same configuration as ledger server 200a, the following description will use ledger server 200a as an example. Note that Figure 2A shows an exemplary functional configuration of ledger server 200a, and the functional configuration of ledger server 200a is not limited to Figure 2A.
[0063] 2A, the ledger server 200a includes a communication unit 211, a ledger management unit 212, an execution unit 213, and a storage unit 214. At least some of the functional units included in the ledger server 200a are realized by a processor (e.g., a CPU (Central Processing Unit)) included in the ledger server 200a executing a program using a memory.
[0064] The communication unit 211 is a communication interface communicatively connected to the communication network 500. The communication unit 211 may be a communication interface for a wired communication standard (e.g., Ethernet (registered trademark) or the like), or may be a communication interface for a wireless communication standard (e.g., Wi-Fi (registered trademark) or the like, or a mobile communication system (3G, 4G, 5G, or the like)). The communication unit 211 is used when a functional unit included in the ledger server 200a communicates with another device. For example, the communication unit 211 is used when a functional unit included in the ledger server 200a communicates with any of the seller terminal 110, the buyer terminal 120, the ledger servers 200b and 200c, the ledger server 300a, etc., and the ledger server 400a, etc.
[0065] The ledger management unit 212 performs processing related to the distributed ledger 214a and transaction data. Specifically, when the ledger management unit 212 receives transaction data from the seller terminal 110, etc., it verifies the digital signature included in the received transaction data, and controls the storage unit 214 to store the transaction data that has been successfully verified in the distributed ledger 214a held by the storage unit 214.
[0066] The execution unit 213 executes information processing. The execution unit 213 can execute information processing by executing a smart contract using, for example, the distributed ledger 214a. Note that when the execution unit 213 does not use a smart contract, it executes information processing according to normal program code.
[0067] The storage unit 214 is a storage device that stores information. The storage unit 214 stores a distributed ledger 214a. The storage unit 214 is realized by a non-volatile storage device (such as a solid state drive (SSD) or a hard disk drive (HDD)).
[0068] The distributed ledger 214a stores data having a structure in which blocks, each containing one or more pieces of transaction data, are linked in a chain. The one or more pieces of transaction data stored in the distributed ledger 214a may include transaction data containing the contract code of a smart contract, transaction data containing instructions for executing a smart contract, or transaction data containing other information.
[0069] In this embodiment, the distributed ledgers 214a, 314a, and 414a are blockchains.
[0070] Referring back to FIG. 1 , the second distributed ledger system 30 is an information processing system that stores information using a distributed ledger 314a. The distributed ledger 314a of the second distributed ledger system 30 stores the creation history of NFTs, which are associated one-to-one with real-world trading objects, as well as the transfer history of the NFTs. The NFTs include a purchase NFT (purchase NFT) that tracks the purchase of the real-world trading object on the distributed ledger 314a. The purchase NFT includes a token ID (i.e., identification information that can uniquely identify the NFT).
[0071] The second distributed ledger system 30 can execute processes according to smart contracts using the distributed ledger 314a. The second distributed ledger system 30 can generate buyout NFTs and transfer buyout NFTs using smart contract processes.
[0072] The second distributed ledger system 30 includes ledger servers 300a, 300b, and 300c as a group of servers that hold a distributed ledger 314a. When at least one of the ledger servers 300a, etc. receives transaction data, the transaction data is shared by all of the ledger servers 300a, etc. and stored in the distributed ledger 314a.
[0073] The ledger server 300a is a computer (server) that holds and manages the distributed ledger 314a. The ledger server 300a holds the distributed ledger 314a (see FIG. 2B ) and updates the distributed ledger 314a while synchronizing it with other ledger servers (specifically, ledger servers 300b and 300c).
[0074] The ledger servers 300b and 300c are each a server similar to the ledger server 300a, and operate independently of the ledger server 300a.
[0075] 2B is a block diagram showing the functional configuration of ledger server 300a included in second distributed ledger system 30 according to this embodiment. Since ledger servers 300b and 300c have the same configuration as ledger server 300a, the following description will use ledger server 300a as an example. Note that FIG. 2B shows an exemplary functional configuration of ledger server 300a, and the functional configuration of ledger server 300a is not limited to FIG. 2B.
[0076] 2B , the ledger server 300a includes a communication unit 311, a ledger management unit 312, an execution unit 313, and a storage unit 314. At least some of the functional units included in the ledger server 300a are realized by a processor (e.g., a CPU) included in the ledger server 300a executing a program using a memory.
[0077] The communication unit 311 is a communication interface communicatively connected to the communication network 500. The communication unit 311 may be a communication interface conforming to a communication standard for wired communication or a communication interface conforming to a communication standard for wireless communication. The communication unit 311 is used when the functional units of the ledger server 300a communicate with other devices.
[0078] The ledger management unit 312 processes the distributed ledger 314a and transaction data. Specifically, when the ledger management unit 312 receives transaction data from the buyer terminal 120, etc., it verifies the digital signature included in the received transaction data, and controls the storage unit 314 to store the successfully verified transaction data in the distributed ledger 314a.
[0079] The execution unit 313 executes information processing. The execution unit 313 can execute information processing by executing a smart contract using, for example, the distributed ledger 314a. Note that when the execution unit 313 does not use a smart contract, it executes information processing according to normal program code.
[0080] The storage unit 314 is a storage device that stores information. The storage unit 314 stores the distributed ledger 314a. The storage unit 314 is realized by a non-volatile storage device or the like.
[0081] The distributed ledger 314a stores data having a structure in which blocks, each containing one or more pieces of transaction data, are linked in a chain. The one or more pieces of transaction data stored in the distributed ledger 314a may include transaction data containing the contract code of a smart contract, transaction data containing instructions for executing a smart contract, or transaction data containing other information.
[0082] 1, the third distributed ledger system 40 is an information processing system that stores information using a distributed ledger 414a. The distributed ledger 414a of the third distributed ledger system 40 stores information such as the market price between the first unit and the second unit.
[0083] The third distributed ledger system 40 can execute smart contract-based operations using the distributed ledger 414a. The third distributed ledger system 40 can generate NFTs and transfer NFTs using smart contract-based operations.
[0084] The third distributed ledger system 40 includes ledger servers 400a, 400b, and 400c as a group of servers that hold a distributed ledger 414a. When at least one of the ledger servers 400a, etc. receives transaction data, the transaction data is shared by all of the ledger servers 400a, etc. and stored in the distributed ledger 414a.
[0085] The ledger server 400a is a computer (server) that holds and manages the distributed ledger 414a. The ledger server 400a holds the distributed ledger 414a and updates the distributed ledger 414a while synchronizing with other ledger servers (specifically, ledger servers 400b and 400c). The ledger server 400a is a management device for a market price adjustment chain that adjusts and ensures the compatibility of units, such as information on units included in NFTs, between multiple blockchains in which trading targets are traded in different units.
[0086] The ledger servers 400b and 400c are similar to the ledger server 400a, and operate independently of the ledger server 400a.
[0087] 2C is a block diagram showing the functional configuration of ledger server 400a included in third distributed ledger system 40 according to this embodiment. Since ledger servers 400b and 400c have the same configuration as ledger server 400a, the following description will use ledger server 400a as an example. Note that FIG. 2C shows an exemplary functional configuration of ledger server 400a, and the functional configuration of ledger server 400a is not limited to that shown in FIG. 2C.
[0088] 2C, the ledger server 400a includes a communication unit 411, a ledger management unit 412, an execution unit 413, a storage unit 414, and a control unit 415. At least some of the functional units included in the ledger server 400a are realized by a processor (e.g., a CPU) included in the ledger server 400a executing a program using a memory.
[0089] The communication unit 411 is a communication interface communicatively connected to the communication network 500. The communication unit 411 may be a communication interface conforming to a communication standard for wired communication or a communication interface conforming to a communication standard for wireless communication. The communication unit 411 is used when the functional units of the ledger server 400a communicate with other devices.
[0090] The ledger management unit 412 performs processing related to the distributed ledger 414a and transaction data. Specifically, when the ledger management unit 412 receives transaction data from the ledger server 200a, 300a, etc., it verifies the digital signature included in the received transaction data, and controls the storage unit 414 to store transaction data that has been successfully verified in the distributed ledger 414a held by the storage unit 414.
[0091] The execution unit 413 executes information processing. The execution unit 413 can execute information processing by executing a smart contract using, for example, the distributed ledger 414a. Note that when the execution unit 413 does not use a smart contract, it executes information processing according to normal program code.
[0092] The storage unit 414 is a storage device that stores information. The storage unit 414 stores the distributed ledger 414a. The storage unit 414 is realized by a non-volatile storage device or the like.
[0093] The distributed ledger 414a stores data having a structure in which blocks, each containing one or more pieces of transaction data, are linked in a chain. The one or more pieces of transaction data stored in the distributed ledger 414a may include transaction data containing the contract code of a smart contract, transaction data containing instructions for executing a smart contract, or transaction data containing other information.
[0094] The control unit 415 controls the generation, storage, etc. of various data. The control unit 415 may generate, for example, a sales database (DB) reference request or transaction data including a sales DB reference request. The control unit 415 may also generate, for example, a purchase DB reference request or transaction data including a purchase DB reference request.
[0095] 1, the storage devices 201a, etc. are connected to the ledger servers 200a, etc., and have a distributed ledger in which transaction data and blocks of the blockchain are electronically recorded. The same applies to the storage devices 301a, etc. and the storage device 401a, etc.
[0096] 3 is a block diagram showing the functional configuration of storage device 201a included in first distributed ledger system 20 according to this embodiment. Since the configurations of storage devices 201b and 201c, storage devices 301a, etc., and storage device 401a, etc. are similar to storage device 201a, storage device 201a will be used as an example for explanation. Note that FIG. 3 shows an exemplary functional configuration of storage device 201a, and the functional configuration of storage device 201a is not limited to that shown in FIG. 3.
[0097] As shown in FIG. 3, the storage device 201 a includes a communication unit 221 and a storage unit 222 .
[0098] The communication unit 221 is a communication interface connected to the ledger server 200a, and may be a communication interface communicatively connected to, for example, the communication network 500. The communication unit 221 may be a communication interface conforming to a communication standard for wired communication, or may be a communication interface conforming to a communication standard for wireless communication.
[0099] The memory unit 222 is a storage device that stores information. The memory unit 222 may store, for example, metadata of the NFTs being sold. The memory unit 222 is realized by a non-volatile storage device (SSD or HDD) or the like. The metadata of the NFTs being sold may include information on the first unit, information on the market price between the first unit and the second unit, information on the purchaser including the purchaser's appraisal information, information on the purchase price, and the like. The metadata may also include at least one of a blockchain address, a blockchain type, a token standard, a contract address, and a token ID.
[0100] The storage unit of the storage device 301a stores metadata of the buy-back NFT. The metadata of the buy-back NFT may include information on the second unit and information on the market price between the first unit and the second unit. The storage unit of the storage device 401a stores metadata of the market price NFT.
[0101] In this way, the information processing system 10 is equipped with a third distributed ledger system 40 that manages the exchange rate between the first unit and the second unit, and information processing for the buying and selling of trading objects is carried out between the first distributed ledger system 20 and the second distributed ledger system 30 using the exchange rate managed by the third distributed ledger system 40.
[0102] An example of the metadata of the market price NFT will now be described with reference to Fig. 4. Fig. 4 is a diagram showing an example of the metadata of the market price NFT according to the present embodiment.
[0103] As shown in FIG. 4, the metadata of the market price NFT includes truck type as truck information, weight and type as cargo information, and a buyer ID, the name of the trader, the location and contact information of the trader as buyer information. The truck type indicates the type of truck based on the load, which is a 2-ton truck in the example of FIG. 4. The weight indicates the weight of the cargo, which is 1,500 kg in the example of FIG. 4. The type indicates the type of cargo, which is industrial waste in the example of FIG. 4. The buyer ID indicates the identification information of the buyer.
[0104] [2. Operation of the Information Processing System] Next, the operation of the information processing system 10 configured as described above will be described with reference to FIGS. 5 to 9. FIG. 5 is a diagram schematically illustrating the flow of a buying and selling transaction in the information processing system 10 according to this embodiment. Note that the following describes an example in which the subject of the sale is resources. The resources may also be waste. In FIG. 5, the first distributed ledger system 20 is described as blockchain A for resource collection and sales, the second distributed ledger system 30 is described as blockchain B for resource purchase, and the third distributed ledger system 40 is described as blockchain C (quote chain) for market prices. The third distributed ledger system 40 has the function of adjusting market prices to prevent them from collapsing. Note that while FIG. 5 illustrates only one first distributed ledger system 20 and one second distributed ledger system 30, multiple first distributed ledger systems 20 and multiple second distributed ledger systems 30 may exist.
[0105] NFT-100 is a unique token (in other words, a non-fungible token) stored in the distributed ledger 214a by seller AA. Metadata for NFT-100 is stored, for example, in AA's DB server 610, which is accessible to the first distributed ledger system 20 via the communication network 500. The metadata includes the token ID for NFT-100.
[0106] NFT-200 is a unique token (in other words, a non-fungible token) stored in the distributed ledger 214a by seller AB. Metadata for NFT-200 is stored, for example, in AB's DB server 620, which is accessible to the first distributed ledger system 20 via the communication network 500. The metadata includes the token ID for NFT-200.
[0107] NFT-300 is a unique token (in other words, a non-fungible token) stored by purchaser BB in the distributed ledger 314a.
[0108] Each NFT includes the unit of sale ("Name" shown in FIG. 5), the owner of the NFT ("Owner" shown in FIG. 5), the location of the price data (e.g., price metadata) ("URI (Uniform Resource Identifier) to" shown in FIG. 5), a hash value of the data, and a material NFT indicating the NFT of the material into which the resource is broken down. The unit of sale is one truckload, and the weight at that time can be determined based on the location of the price data. The location of the price data includes, for example, the address of the price metadata.
[0109] The DB server 630 is a storage device that the third distributed ledger system 40 can access via the communication network 500. The DB server 630 stores information about market prices (market price metadata). In the example of FIG. 5, the DB server 630 stores market price metadata including the market price for the weight of one truckload of resources being 1,000 kg. Since market prices in the real world can change from moment to moment, the market price metadata can also be updated. An update may involve overwriting the market price metadata or adding it cumulatively. The distributed ledger 414a of the third distributed ledger system 40 stores market price NFTs, which are NFTs related to market prices. The market price NFTs include a token ID, the location of the market price metadata, and the like.
[0110] As shown in FIG. 5 , first, the execution unit 213 executes a process for "I: Sell" to the execution unit 313. For example, after the execution unit 213 determines a buyer to transact with from among multiple buyers, the execution unit 213 transmits a request to transfer the NFTs for sale to the execution unit 313. Note that before transmitting the request to transfer the NFTs for sale to the execution unit 313, the execution unit 213 may transmit a request to refer to the market price to the execution unit 413 and obtain market price information.
[0111] Next, upon receiving the request, the execution unit 313 transmits a request for "II: Refer to market price" to the execution unit 413. In other words, the execution unit 313 checks the latest market price when conducting a buying and selling transaction. In this way, when a request (transaction request) for conducting a transaction of an item to be bought or sold is transmitted in the information processing system 10, the market price is referred to.
[0112] Next, after the resource purchase and sale transaction is conducted between the execution units 213 and 313, "III: Metadata Update" is executed on the market price metadata stored in the DB server 630. That is, the weight (market price) of one truckload of resources is updated. The execution unit 413 updates the metadata in the DB server 630 based on, for example, the sales history of companies A to C (the actual sales of one truckload of resources at the time of purchase and sale). Companies A to C may be sellers, buyers, or a mixture of sellers and buyers. Furthermore, the market price between the first and second units (the weight of one truckload of resources) may be determined by comparing the sales history of the first unit of resources (the price at which one truckload of resources was traded) with the sales history of the second unit of resources (the price at which the weight of the resources was traded), and the market price metadata may be updated based on the determined market price. For example, if one truckload of resources is traded for X yen and 1,000 kg of resources are traded for X yen, one truckload of resources will be 1,000 kg.
[0113] In addition, in resource purchase and sale transactions, the execution unit 313 executes "IV: Payment to specified address" by making payment with a token (virtual currency such as Bitcoin, legal currency, etc.), and sends "V: Payment notification" to the execution unit 213 when the payment is completed.
[0114] In this way, in the third distributed ledger system 40, the market price for the weight of one truckload of resources is managed and updated based on the actual sales and purchase history. Therefore, even if the units of resource transactions differ between the two distributed ledger systems (i.e., the two blockchains), the sales and purchase transactions of resources can be conducted using the appropriate market price. As a result, for example, when a seller makes a purchase request to a buyer, the market price chain can be referenced to confirm the compatibility of the different units, absorbing fluctuations in value and enabling the sale and purchase to be conducted at the appropriate price. Details are explained below with reference to Figures 6 to 9.
[0115] First, the operation of registering NFTs for sale in the first distributed ledger system 20 will be described with reference to Fig. 6. Fig. 6 is a sequence diagram showing the operation (information processing method) of registering NFTs for sale in the information processing system 10 according to the present embodiment. The operation shown in Fig. 6 may be performed, for example, when resources are collected, when a truckload of resources is collected, or periodically.
[0116] As shown in Figure 6, the seller terminal 110 generates a market price DB reference request requesting reference to a market price DB managed by the third distributed ledger system 40 (for example, DB server 630 shown in Figure 5), and sends the market price DB reference request to the ledger server 400a (S10).
[0117] Next, the execution unit 413 of the ledger server 400a determines whether a market price DB reference request has been received, and if it determines that a market price DB reference request has been received, transmits to the seller terminal 110 the market price NFT ID, which is identification information of the market price (market price NFT) between the first unit and the second unit according to the trading object being traded by the seller terminal 110 (S20). The purpose of transmitting the market price NFT ID to the seller terminal 110 may be to determine the selling price using the market price at the time of sale, since market prices are constantly fluctuating.
[0118] The execution unit 413 may receive the market price DB reference request by receiving transaction data including the market price DB reference request.
[0119] Next, the seller terminal 110 generates a database (sales DB) in which a collection of data related to the purchase and sale of resources is stored, either automatically or through an operation by the first user (S30). The seller terminal 110 may generate the DB in the storage device 201a, for example, or in its own PC (for example, DB server 610 or 620 shown in FIG. 5).
[0120] Next, the seller terminal 110 generates metadata (first metadata) of the NFT for sale to sell the resources and records it in the sales DB (S40).
[0121] Next, the seller terminal 110 transmits the address (address in the sales DB) where the metadata of the NFT for sale is stored and the signature (digital signature of the seller) to the ledger server 200a (S50). The seller terminal 110 generates creation request transaction data, including the address and signature, requesting the creation of the NFT for sale, and transmits the data to the ledger server 200a.
[0122] Next, in response to receiving the generation request transaction data transmitted in step S50, the ledger management unit 212 of the ledger server 200a verifies the signature of the generation request transaction data. Specifically, the ledger management unit 212 verifies the signature included in the generation request transaction data using the seller's public key.
[0123] The ledger management unit 212 determines whether the signature verification was successful (OK) (S60), and if it determines that the signature verification was successful (OK) (Yes in S60), it stores the received generation request transaction data in the distributed ledger 214a. Furthermore, the execution unit 213 uses the generation request transaction data to generate transaction data including the sold NFT and stores the generated transaction data in the distributed ledger 214a. The transaction data including the sold NFT can also be considered transaction data indicating the generation of the sold NFT. When generating the sold NFT, the execution unit 213 generates an ID for the sold NFT (i.e., identification information that can uniquely identify the NFT), which is identification information for the sold NFT (S70), and assigns the ID to the sold NFT.
[0124] Next, the execution unit 213 generates the selling NFT by storing transaction data including the selling NFT to which the ID of the selling NFT is assigned in the distributed ledger 214a. That is, the execution unit 213 registers the selling NFT by storing transaction data including the selling NFT in the distributed ledger 214a (S80). The selling NFT registered here is, for example, NFT-100, NFT-200, etc. shown in FIG. 5.
[0125] Next, the execution unit 213 transmits the ID of the NFT for sale to the seller terminal 110 (S90). The seller terminal 110 may include the received ID of the NFT for sale in the metadata of the NFT for sale.
[0126] Furthermore, if the ledger management unit 212 determines that the signature verification has failed (is not OK) (No in S60), it ends the process.
[0127] Next, the operation of registering NFTs for purchase in the second distributed ledger system 30 will be described with reference to Fig. 7. Fig. 7 is a sequence diagram showing the operation (information processing method) of registering NFTs for purchase in the information processing system 10 according to the present embodiment. The operation shown in Fig. 7 may be executed, for example, when a seller makes a purchase request to a buyer, or may be executed periodically.
[0128] As shown in Figure 7, the purchasing company terminal 120 generates a market price DB reference request requesting reference to the market price DB managed by the third distributed ledger system 40 (for example, DB server 630 shown in Figure 5), and sends the market price DB reference request to the ledger server 400a (S110).
[0129] Next, the execution unit 413 of the ledger server 400a determines whether a market price DB reference request has been received, and if it determines that a market price DB reference request has been received, it sends to the purchasing company terminal 120 the market price NFT ID, which is identification information for the market price (market price NFT) between the first unit and the second unit corresponding to the item being bought and sold by the purchasing company terminal 120 (S120).
[0130] The execution unit 413 may receive the market price DB reference request by receiving transaction data including the market price DB reference request.
[0131] Next, the buyer terminal 120 generates a database (a buyback DB) in which a collection of data related to the purchase and sale of resources is stored, either automatically or through an operation by the second user (S130). The buyer terminal 120 may generate the DB in the storage device 301a, for example, or in its own PC (for example, a server device).
[0132] Next, the buyer terminal 120 generates metadata (second metadata) of the buying NFT for buying the resource and records it in the buying DB (S140).
[0133] Next, the purchasing agent terminal 120 transmits the address (address in the purchasing DB) where the metadata of the purchasing NFT is stored and the signature (digital signature of the purchasing agent) to the ledger server 300a (S150). The purchasing agent terminal 120 generates generation request transaction data, which includes the address and signature, requesting the generation of the purchasing NFT, and transmits the data to the ledger server 300a.
[0134] Next, in response to receiving the generation request transaction data transmitted in step S150, the ledger management unit 312 of the ledger server 300a verifies the signature of the generation request transaction data. Specifically, the ledger management unit 312 verifies the signature included in the generation request transaction data using the public key of the buyer.
[0135] The ledger management unit 312 determines whether the signature verification was successful (OK) (S160), and if it determines that the signature verification was successful (OK) (Yes in S160), it stores the received generation request transaction data in the distributed ledger 314a. The execution unit 313 also generates transaction data including a buy-back NFT using the generation request transaction data and stores the transaction data in the distributed ledger 314a. The transaction data including the buy-back NFT can also be considered transaction data indicating the generation of a buy-back NFT. When generating a buy-back NFT, the execution unit 313 generates a buy-back NFT ID (i.e., identification information that can uniquely identify the NFT), which is identification information for the buy-back NFT (S170), and assigns the ID to the buy-back NFT.
[0136] Next, the execution unit 313 generates a buy-back NFT by storing transaction data including the buy-back NFT to which the buy-back NFT ID is assigned in the distributed ledger 314a. That is, the execution unit 313 registers the buy-back NFT by storing transaction data including the buy-back NFT in the distributed ledger 314a (S180). The buy-back NFT registered here is, for example, the NFT-300 shown in FIG. 5.
[0137] Next, the execution unit 313 transmits the ID of the NFT to be purchased to the purchasing agent terminal 120 (S190). The purchasing agent terminal 120 may include the received ID of the NFT to be purchased in the metadata of the NFT to be purchased.
[0138] Furthermore, if the ledger management unit 312 determines that the signature verification has failed (is not OK) (No in S160), it ends the process.
[0139] Next, the operation when assets are bought and sold will be described with reference to Fig. 8. Fig. 8 is a sequence diagram showing the operation (information processing method) of buying and selling resources in the information processing system 10 according to this embodiment. The operation shown in Fig. 8 is executed when collected resources are sold in the real world.
[0140] As shown in Figure 8, the seller terminal 110 generates a market price DB reference request requesting reference to a market price DB managed by the third distributed ledger system 40 (e.g., DB server 630 shown in Figure 5), and sends the market price DB reference request to the ledger server 400a (S310).
[0141] Next, the execution unit 413 of the ledger server 400a determines whether a market price DB reference request has been received. If it determines that a market price DB reference request has been received, it transmits the ID of the market price NFT (i.e., identification information that can uniquely identify the token) to the seller terminal 110 (S320). Here, there are one or more buyers, and the execution unit 413 transmits the ID of the market price NFT containing the market price of each of the one or more buyers to the seller terminal 110. One market price NFT may include identification information for one or more buyers, or one market price NFT may include identification information for only one buyer. If one market price NFT includes identification information for only one buyer, there will be a market price NFT for each buyer, so multiple market price NFTs may exist. In this case, the IDs of multiple market price NFTs may be transmitted to the seller terminal 110. The metadata of the market price NFT may include identification information that can uniquely identify the buyer, and when the seller terminal 110 acquires the ID of the market price NFT, it can acquire the metadata corresponding to that ID and thereby identify the identification information of the buyer contained in that metadata.
[0142] The execution unit 413 may receive the market price DB reference request by receiving transaction data including the market price DB reference request.
[0143] Next, the seller terminal 110 determines a buyer (resource buyer) to conduct the resource purchase transaction from among one or more buyers based on the market price NFT of each of the one or more buyers (S330). For example, the seller terminal 110 may determine the buyer with the largest truckload weight as the buyer to conduct the resource purchase transaction.
[0144] Next, the seller terminal 110 generates a sell NFT transfer request requesting the transfer of the NFT (here, the sold NFT) to the determined buyer, and transmits the sell NFT transfer request to the ledger server 200a (S340). The sell NFT transfer request here requests the execution of a process to transfer a first unit of tokens (e.g., one truck A's worth). In the real world, this corresponds to the sale of one truck A's worth of resources from the seller to the buyer. Note that the sell NFT transfer request is an example of a purchase request made by the seller to the buyer.
[0145] Next, when the execution unit 213 receives the request to transfer the NFT for sale, it sends the ID of the NFT for sale for which the transfer request was made (i.e., identification information that can uniquely identify the NFT) to the buyer terminal 120 (S350).
[0146] In addition, the execution unit 213 may receive the above-mentioned selling NFT transfer request by receiving transaction data including the above-mentioned selling NFT transfer request.
[0147] Next, the buyer terminal 120 receives the ID of the NFT for sale, and upon receiving the NFT for sale based on the ID, executes processing to transfer the NFT for sale (S360). Receiving the NFT for sale may mean, for example, changing the owner of the NFT for sale from the seller to the buyer. As a result, the NFT for sale is transferred from the seller to the buyer. In other words, the owner of the resource becomes the buyer.
[0148] The buyer terminal 120 generates a buy-back NFT transfer request requesting the seller to transfer the NFTs (here, buy-back NFTs) and transmits the buy-back NFT transfer request to the ledger server 300a (S370). The buy-back NFT transfer request here requests the transfer of a second unit of buy-back NFTs (e.g., 1,000 kg of resources). In other words, the buy-back NFT transfer request requests the buyer to execute a process to pay the seller the price for the second unit of resources.
[0149] In addition, in step S360, the purchasing agent terminal 120 may execute a process of transferring a token (virtual currency such as Bitcoin, legal tender, etc.) to the seller instead of transferring the NFT to be purchased.
[0150] Next, when the execution unit 313 receives the purchase NFT transfer request, the execution unit 313 transfers the purchase NFT to the seller terminal 110 by, for example, changing the owner of the purchase NFT for which the transfer request was made from the purchaser to the seller (S380). In addition, the execution unit 313 may, for example, transmit the ID of the purchase NFT to the seller terminal 110.
[0151] For example, if the market price of the purchased NFT rises after the transfer of the purchased NFT, the seller terminal 110 can make a larger profit by selling the purchased NFT.
[0152] Next, the operation of adjusting market prices will be described with reference to FIG. 9. FIG. 9 is a sequence diagram showing the operation (information processing method) of adjusting market prices in the information processing system 10 according to this embodiment. The operation shown in FIG. 9 may be executed, for example, periodically, or when a market price DB reference request is received. When executed periodically, the control unit 415 of the ledger server 400a may periodically generate transaction data (an example of predetermined transaction data) including at least one of a selling DB reference request and a buying DB reference request, and store the transaction data in the blockchain (blockchain C).
[0153] As shown in FIG. 9 , the execution unit 413 of the ledger server 400a generates a sales DB reference request requesting reference to the sales DB generated by the seller terminal 110 and transmits the sales DB reference request to the ledger server 200a (S410). The execution unit 413 may transmit sales DB reference requests requesting reference to the sales DBs of multiple sellers. The sales DB reference request requests reference to the sales history of resources for a specified period of time at one or more sellers. The sales history includes, for example, a history of the price at which a truckload of resources was sold at the seller. Since the amount of profit markup may differ for each seller, for example, even if a seller references the same market price NFT, the actual sales weight of a truckload of resources may differ. The specified period may be, for example, the most recent period.
[0154] Next, upon receiving the sales DB reference request, the execution unit 213 transmits the ID of the NFT for sale (i.e., identification information that can uniquely identify the NFT) for which the reference request was made to the ledger server 400a (S420). The ledger server 400a acquires the sales history of the resource corresponding to the ID of the NFT for sale acquired from the execution unit 213. This allows the ledger server 400a to acquire the sales history of assets at one or more sellers. For example, in step S420, a sales history (e.g., first metadata of the NFT for sale) indicating the history of resource transactions (sale transactions) using the NFT for sale (an example of a first NFT) whose trading unit for the trading object is one truckload (an example of a first unit) is acquired. The sales history is an example of first transaction history information. The sales history is also acquired via the communication unit 411. The communication unit 411 functions as a first acquisition unit.
[0155] The execution unit 213 may receive the sales DB reference request by receiving transaction data including the sales DB reference request.
[0156] The first metadata may include the market price and information other than the market price, and in step S420, acquisition of only the market price in the first metadata may be permitted.
[0157] The frequency and timing of sending the sales DB reference request are not particularly limited.
[0158] Next, the execution unit 413 of the ledger server 400a generates a buyback DB reference request requesting reference to the buyback DB generated by the buyer terminal 120 and transmits the buyback DB reference request to the ledger server 300a (S430). The execution unit 413 may transmit a buyback DB reference request requesting reference to the buyback DBs of multiple buyers. The buyback DB reference request requests reference to the buyback history of resources for a specified period at one or more buyers. The buyback history includes, for example, a history of the weight of resources purchased by the buyer. Since the amount of profit markup may differ for each buyer, for example, even if buyers reference the same market price NFT, the actual purchase price of a truckload of resources may differ. The specified period may be, for example, the most recent period.
[0159] Next, upon receiving the buyback DB reference request, the execution unit 313 transmits the ID of the buyback NFT for which the reference request was made (i.e., identification information that can uniquely identify the NFT) to the ledger server 400a (S440). This allows the ledger server 400a to acquire the asset buyback history of one or more buyers. For example, in step S440, a buyback history (e.g., second metadata of the buyback NFT) indicating the history of resource transactions (buyback transactions) using a buyback NFT (an example of a second NFT) whose trading unit for the traded item is weight (an example of a second unit) is acquired. The buyback history is an example of second transaction history information. The buyback history is also acquired via the communication unit 411. The communication unit 411 functions as a second acquisition unit.
[0160] The execution unit 313 may receive the buyback DB reference request by receiving transaction data including the buyback DB reference request.
[0161] The second metadata may include the market price and information other than the market price, and in step S440, acquisition of only the market price in the second metadata may be permitted.
[0162] The frequency and timing of sending the buyback DB reference request are not particularly limited. For example, the buyback DB reference request may be sent in synchronization with the sending of the sellback DB reference request, or may be sent independently of the sending of the sellback DB reference request.
[0163] Next, the execution unit 413 updates the metadata of the market price NFT based on the ID of the NFT being sold and the ID of the NFT being purchased (S450). The execution unit 413 updates the market price of the metadata (i.e., the market price of the weight of one truckload of resources) based on, for example, one or more sales histories and one or more purchase histories. The execution unit 413 may, for example, compare the trading history of a first unit of resources (how much one truckload of resources was traded for) with the trading history of a second unit of resources (how much the weight of the resources was traded for) to determine the market price between the first unit and the second unit (the weight of one truckload of resources), and update the market price metadata based on the determined market price. The execution unit 413 may, for example, update the market price of the metadata based on weights obtained by statistically processing the weights of one truckload of resources included in one or more sales histories and the weights of one truckload of resources included in one or more purchase histories. The statistically processed weight may, for example, be an average weight, a mode weight, a median weight, a maximum weight, or a minimum weight.
[0164] This allows the metadata of the price NFT to be updated based on the buying and selling transactions of the resource over a predetermined period (e.g., the most recent period). In other words, the metadata of the price NFT can be updated to an appropriate price corresponding to the most recent buying and selling.
[0165] In step S450, the execution unit 413 may determine the market price between the first unit and the second unit based on one or more sales histories and one or more purchase histories.
[0166] In addition, the ledger server 400a may refer to only one of the sales history and the purchase history and update the market price based on the reference result.
[0167] (Various Data Structures and Smart Contract Execution) The data structure of a distributed ledger, the execution of a smart contract, and the data structure of an NFT will be described with reference to Figures 10 to 14.
[0168] FIG. 10 is an explanatory diagram showing the data structure of a blockchain, which is an example of a distributed ledger.
[0169] A blockchain is a chain of blocks, which are units of record. Each block contains multiple transaction data and the hash value of the previous block.
[0170] FIG. 10 shows blocks B1, B2, and B3 included in the blockchain.
[0171] For example, block B2 contains the hash value of the previous block B1, which is calculated by performing a hash algorithm on the contents of block B1.
[0172] Furthermore, block B3 includes, as the hash value of block B2, a hash value calculated from multiple transaction data included in block B2 and the hash value of block B1.
[0173] In this way, a blockchain is structured so that blocks containing the contents of the previous block as a hash value are connected in a chain, which effectively prevents tampering with the recorded transaction data.
[0174] If past transaction data is changed (in other words, tampered with), the hash value of the block containing that transaction data will be different from the value before the change. In that case, to make the block containing the changed transaction data appear correct, all blocks after that block in the distributed ledger stored on multiple servers would have to be recreated, which is extremely difficult in reality. This feature makes it virtually impossible to tamper with transaction data contained in the blockchain.
[0175] When a node terminal (node) stores transaction data in a blockchain, it generates a block containing the transaction data to be stored and attempts to reach consensus on the generated block by executing processing based on a consensus algorithm with other nodes. The node then controls the storage of the block in the blockchain when consensus is reached. This allows multiple nodes operating in an autonomous and decentralized manner to connect legitimate blocks to the blockchain. As a consensus algorithm, PBFT (Practical Byzantine Fault Tolerance), PoW (Proof of Work), PoS (Proof of Stake), or the like may be used. When Hyperledger Fabric is used as an example of a distributed ledger technology, a consensus algorithm does not need to be executed.
[0176] FIG. 11 is an explanatory diagram showing the data structure of transaction data.
[0177] 11 includes a transaction body BP1 and a digital signature BP2 (also simply referred to as a signature). The transaction body BP1 is the data body included in the transaction data. The digital signature BP2 is generated by encrypting the hash value of the transaction body BP1 with the signature key (in other words, the private key) of the creator of the transaction data.
[0178] A node that receives transaction data can verify that the transaction body BP1 is legitimate (in other words, that it has not been tampered with) using the digital signature BP2 included in the transaction data. This makes it virtually impossible to tamper with the data included in the transaction body BP1. Furthermore, by storing successfully verified transaction data in the blockchain, the legitimacy of the transaction data stored in the blockchain can be maintained.
[0179] As described above, transaction data included in the blockchain is stored in a chain using the hash values of the transaction data and the hash values of the blocks. This allows the transaction data included in the blockchain to be stored and maintained substantially without being tampered with. This is an advantage over a database or a distributed database that simply stores a collection of data.
[0180] 12 and 13 are explanatory diagrams showing transaction data related to the execution of a smart contract, and processing related to the execution of a smart contract, respectively.
[0181] A series of processes related to the execution of a smart contract using a distributed ledger will be described with reference to Figures 12 and 13.
[0182] In step SB1, the node stores transaction data B11, including contract code B12 that describes the processing of the smart contract, in the distributed ledger B10. For example, the node acquires transaction data B11 by receiving the transaction data B11 from an information processing device via communication or by the node itself generating the transaction data B11, and stores the acquired transaction data B11 in the distributed ledger B10. Step SB1 is performed before executing the smart contract.
[0183] In step SB2, the node stores transaction data B15, including instructions B16 for executing the smart contract, in the distributed ledger B10. For example, the node receives transaction data B15 from an information processing device via communication and stores the received transaction data B15 in the distributed ledger B10.
[0184] In step SB3, in response to the transaction data B15 including the instruction B16 being stored in the distributed ledger B10 in step SB2, the node reads the contract code B12 from the distributed ledger B10 and executes processing based on the contract code B12. The results of the processing may be included in the transaction data and stored in the distributed ledger B10.
[0185] Through the above series of processes, when the distributed ledger system receives transaction data B15 including instructions B16 for executing a smart contract, it automatically (i.e., without manual intervention) executes the processing in accordance with the instructions B16, enabling highly efficient (i.e., high speed or short processing time). Achieving highly efficient processing has the effect of reducing power consumption. Furthermore, since no manual intervention is required, it is possible to prevent human tampering with information, fraud, or human error. Furthermore, since the results of the processing thus executed are stored in the blockchain, it is virtually impossible to tamper with the results of the processing.
[0186] FIG. 14 is an explanatory diagram showing the structure of an NFT and metadata. An NFT is a token stored in a distributed ledger and is a unique token (in other words, a non-fungible token). NFTs are standardized, for example, as ERC (Ethereum Request for Comments) 721, but are not limited to this. NFTs may conform to a different standard or may be non-standard (for example, proprietary to an organization). While ERC 721 is a standard for unique tokens, the NFTs described herein do not necessarily have to be unique tokens.
[0187] 14 shows transaction data B21 stored in the distributed ledger. The transaction data B21 stores an NFT. The NFT includes a token ID (i.e., identification information that can uniquely identify the NFT) and a metadata Uniform Resource Identifier (URI).
[0188] The NFT has metadata. The metadata may be located in a location accessible via a network (e.g., storage device B22). A metadata URI indicating the location of the metadata may be calculated using the NFT's token ID and a predetermined base URI.
[0189] The information managed as an NFT may be included in the transaction data B21 or in the metadata. Including the information managed as an NFT in the metadata has the advantage of reducing the amount of information included in the transaction data B21 (in other words, the information included in the blockchain). In this case, it can be said that the metadata contains the actual information managed as an NFT. When an image is managed as an NFT, a URL indicating the image data of the image may be managed as an NFT.
[0190] In the above-described embodiments, each component may be configured with dedicated hardware, or may be realized by executing a software program suitable for each component. Each component may be realized by a program execution unit such as a CPU or processor reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory.
[0191] (Other Embodiments) While the information processing method according to one or more aspects has been described above based on the embodiments, the present disclosure is not limited to these embodiments. As long as it does not deviate from the spirit of the present disclosure, various modifications conceivable by a person skilled in the art to the present embodiments and embodiments constructed by combining components of different embodiments may also be included in the present disclosure.
[0192] For example, in the above embodiment, the determination of the market price of two units of tokens in a blockchain used by a seller and a buyer is described when the units are different. However, the technology of the present disclosure may be used, for example, to determine the market price of a unit of token between multiple blockchains used by multiple sellers, or the market price of a unit of token between multiple blockchains used by multiple buyers. For example, in a case where there is a first seller using a first blockchain that uses a first unit and a second seller using a second blockchain that uses a second unit different from the first unit, the information processing method of the present disclosure may determine the market price of the first unit and the second unit. This allows the units of tokens between sellers or buyers to be consistent.
[0193] Furthermore, although the above embodiment uses a blockchain, it is not necessary to use a blockchain. For example, instead of a blockchain, a distributed ledger technology such as a hash graph may be used.
[0194] Furthermore, in the above embodiment, an example was described in which the first metadata and the second metadata are each stored in a database, but this is not limited to this, and at least one of the first metadata and the second metadata may be stored in a database.
[0195] Furthermore, for example, each device in the above embodiments is specifically a computer system comprising a microprocessor, ROM, RAM, hard disk unit, display unit, keyboard, mouse, etc. A computer program is recorded in the RAM or hard disk unit. Each device achieves its function when the microprocessor operates in accordance with the computer program. Here, the computer program is composed of a combination of multiple instruction codes that indicate instructions to the computer to achieve a predetermined function.
[0196] Furthermore, for example, some or all of the constituent elements of each device in the above embodiments may be configured from a single LSI (Large Scale Integration). A system LSI is an ultra-multifunctional LSI manufactured by integrating multiple components on a single chip, and specifically, is a computer system configured to include a microprocessor, ROM, RAM, etc. A computer program is stored in the RAM. The system LSI achieves its functions when the microprocessor operates in accordance with the computer program. Although the term system LSI is used here, it may also be referred to as an IC, LSI, super LSI, or ultra LSI depending on the level of integration. Furthermore, the method of integration is not limited to LSI, and may be realized using a dedicated circuit or a general-purpose processor.
[0197] Furthermore, for example, the present disclosure may be embodied as the methods described above. Furthermore, the present disclosure may be embodied as a computer program that implements these methods on a computer, or as a digital signal comprising a computer program. For example, one aspect of the present disclosure may be a computer program that causes a computer to execute each of the characteristic steps included in the information processing method shown in any of Figures 6 to 9 and 13.
[0198] The present disclosure may also be a computer program or a digital signal recorded on a computer-readable recording medium, such as a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, a BD (Blu-ray (registered trademark) Disc), a semiconductor memory, etc. Alternatively, the present disclosure may be a digital signal recorded on such a recording medium.
[0199] The present disclosure may also be applied to transmitting a computer program or digital signal via a telecommunications line, a wireless or wired communication line, a network such as the Internet, data broadcasting, or the like.
[0200] The order in which each step is executed in the flowcharts and sequence diagrams is merely an example for specifically explaining the present disclosure, and an order other than the above may be used. Also, some of the steps may be executed simultaneously (in parallel) with other steps, or some of the steps may not be executed.
[0201] The division of functional blocks in the block diagram is an example, and multiple functional blocks may be realized as a single functional block, one functional block may be divided into multiple blocks, or some functions may be moved to another functional block.Furthermore, the functions of multiple functional blocks having similar functions may be processed in parallel or in time-sharing by a single piece of hardware or software.
[0202] Furthermore, for example, each of the ledger servers according to the above-described embodiments may be realized as a single device or may be realized by multiple devices. When the ledger server is realized by multiple devices, the components of the ledger server may be distributed in any manner among the multiple devices. When the ledger server is realized by multiple devices, the communication method between the multiple devices is not particularly limited, and may be wireless communication or wired communication. Furthermore, wireless communication and wired communication may be combined between the devices.
[0203] The present disclosure is useful for information processing devices and the like that store data in a distributed ledger.
[0204] 10 Information processing system 20 First distributed ledger system 30 Second distributed ledger system 40 Third distributed ledger system 110 Seller terminal 120 Buyer terminal 200a, 200b, 200c, 300a, 300b, 300c, 400a, 400b, 400c Ledger server (information processing device) 201a, 201b, 201c, 301a, 301b, 301c, 401a, 401b, 401c, B22 Storage device 211, 311, 411 Communication unit (first acquisition unit, second acquisition unit) 212, 312, 412 Ledger management unit 213, 313, 413 Execution unit 214, 222, 314, 414 Storage unit 214a, 314a, 414a, B10 Distributed ledger 221 Communication unit 415 Control unit 500 Communication network 610, 620, 630 DB server B1, B2, B3 Block B11, B15, B21 Transaction data B12 Contract code B16 Instruction BP1 Transaction body BP2 Digital signature
Claims
1. An information processing method comprising: acquiring first transaction history information indicating a history of transactions of a trading object using a first NFT indicating that the trading object is to be traded in a first unit; acquiring second transaction history information indicating a history of transactions of the trading object using a second NFT indicating that the trading object is to be traded in a second unit different from the first unit; and determining a market price between the first unit and the second unit based on the first transaction history information and the second transaction history information.
2. The information processing method according to claim 1, wherein the first unit is a unit when the trading object is sold, and the second unit is a unit when the trading object is purchased.
3. The information processing method of claim 2, further comprising: referencing at least one of a first blockchain that stores information regarding transactions of the trading subject in the first unit and a second blockchain that stores information regarding transactions of the trading subject in the second unit; and updating the market price based on the reference result.
4. The information processing method described in claim 2 or 3, wherein the first NFT for trading the trading object has first metadata including information regarding a first market price, the second NFT for trading the trading object has second metadata including information regarding a second market price, and at least one of the first metadata and the second metadata is stored in a database.
5. The information processing method according to claim 4, wherein the first metadata includes the first quote and information other than the first quote, the second metadata includes the second quote and information other than the second quote, when acquiring the first transaction history information, acquisition of only the first quote in the first metadata is permitted, and when acquiring the second transaction history information, acquisition of only the second quote in the second metadata is permitted.
6. The information processing method according to any one of claims 1 to 3, wherein a node terminal of a distributed ledger system using a third blockchain that stores information related to the market price creates specified transaction data, and stores the generated specified transaction data in the third blockchain, thereby executing a process of determining the market price.
7. The information processing method according to any one of claims 1 to 3, wherein the market price is referenced when a transaction request for executing a transaction of the trading object is transmitted.
8. An information processing device comprising: a first acquisition unit that acquires first transaction history information indicating a history of trading of a trading object using a first NFT indicating that the trading object is traded in a first unit; a second acquisition unit that acquires second transaction history information indicating a history of trading of the trading object using a second NFT indicating that the trading object is traded in a second unit different from the first unit; and an execution unit that executes a process to determine a market price between the first unit and the second unit based on the first transaction history information and the second transaction history information.
9. A program for causing a computer to execute the information processing method according to any one of claims 1 to 3.
Citation Information
Patent Citations
Management system, program, device and method
JP2024091805A
Information processing device and information processing method
JP7324357B1
Database system public trust ledger token creation and exchange
US20230080927A1
System for controlling unit exchange value of value exchange medium, program, information processing device, and method
WO2019142948A2
Control method, control program, information processing device, and control system
WO2021095266A1