Contract management system and contract management method
By introducing a corresponding information management department into the blockchain network, the correspondence between contract addresses and contract identification information is automatically managed, solving the problem of cumbersome manual operation for users caused by frequent changes in contract conditions and improving the convenience of contract execution.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-02
- Publication Date
- 2026-03-31
AI Technical Summary
In blockchain systems, when contract terms change frequently, users need to manually change the contract address, which is cumbersome and affects convenience, especially for users with low IT knowledge.
By introducing a corresponding information management department into the blockchain network, the correspondence between contract addresses and contract identification information can be automatically managed, reducing manual operations on user terminals.
Even if contract terms change frequently, it can reduce the number of operations on the user terminal and improve the convenience of contract execution, making it especially suitable for users with low IT knowledge.
Smart Images

Figure CN116137008B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a contract management system and a contract management method using smart contracts. Background Technology
[0002] Smart contract technology is known as a mechanism for automatically executing transactions and other contracts in a blockchain. A smart contract contains a program for executing the contract and can be executed by recording blocks containing the smart contract in a distributed ledger shared by multiple computers called nodes (hereinafter referred to as node computers). In addition to the smart contract, the blocks recorded in the distributed ledger can contain various data representing transaction actions, as transaction data.
[0003] Blocks are linked together by maintaining the hash value of the data from the previous block. Thus, for example, records of various transaction actions, from the conclusion of a contract to its execution, are reliably recorded in the chain of linked blocks, i.e., the blockchain. Hereafter, "recorded in the blockchain" or "recorded in the distributed ledger" means that the block containing the transaction data of that information is recorded in the distributed ledger.
[0004] Because smart contracts recorded in the blockchain are processed automatically without the involvement of a third party, they can prevent tampering with the contract content and thus ensure highly secure contract execution.
[0005] However, in blockchain systems, since smart contracts temporarily recorded in blocks cannot be modified afterward, changing contract terms after their conclusion may become a major factor hindering the use of smart contracts.
[0006] To address this issue, Patent Document 1 discloses a control method for a blockchain system. After a smart contract related to the concluded contract is recorded in the blockchain, and a clause is added to the content of the contract, the contract with the added clause can also be automatically executed as a smart contract.
[0007] In this control method, the first smart contract related to the execution of the concluded contract includes: the content of the contract (main contract), temporary variables used to determine the creation of a second smart contract related to the secondary contract if additional terms (sub-contract) are subsequently created, and conditions allowing the creation of the second smart contract (creation permission conditions). For example, the creator of the transaction data for the second smart contract is the arbitrator of the aforementioned contract.
[0008] Then, when the sub-contract is concluded, a block containing the second smart contract is created, and this block is recorded in the distributed ledger, a third smart contract is then created and recorded in the distributed ledger. This third smart contract includes: the content of the main contract contained in the first smart contract, and the storage location of the second smart contract related to the sub-contract. Thus, for example, a user's terminal device, which is one of the makers of the aforementioned contract, can automatically execute the latest contract content, including the main contract and the sub-contract, by running the third smart contract.
[0009] Existing technical documents
[0010] Patent documents
[0011] Patent Document 1: International Publication No. 2020 / 213678 Summary of the Invention
[0012] The problem that the invention aims to solve
[0013] However, in the existing control methods described above, in order to execute the third smart contract, which is the latest sub-contract concluded after the main contract, the user needs to manually change the address (contract address) of the smart contract being used from the contract address of the first smart contract to the contract address of the third smart contract on the user's terminal device.
[0014] Therefore, in situations where contract terms, such as fuel price terms in a vehicle fuel supply contract, may change dynamically with market movements, it would be cumbersome for users to manually change the contract address stored in their terminal device to the address of a newly created third smart contract containing the latest fuel price whenever the fuel price changes.
[0015] Based on the above background, the purpose of this invention is to provide a contract management system that, even when contract conditions may change frequently, suppresses the increase of manual operations on the user's terminal device, thereby providing greater convenience.
[0016] The aforementioned objectives involve the use of blockchain, which is gradually becoming a social infrastructure, for contract enforcement. By simplifying user operations, it achieves fair accessibility that even users with low IT knowledge can use, thus contributing to the realization of social sustainability (SDGs 8.10, 9.1, 10.2).
[0017] Methods for solving problems
[0018] One aspect of the present invention is a contract management system comprising multiple computers, each operating in a manner that maintains the same distributed ledger as the others, and multiple terminal devices. The contract management system includes: a ledger management unit that receives transaction data and records blocks containing the received transaction data into the distributed ledger; and a corresponding information management unit that, when the ledger management unit records a block in the distributed ledger containing transaction data related to a smart contract for the execution of the contract, generates corresponding information that maps the contract address (which serves as the storage location of the smart contract) to contract identification information identifying the contract.
[0019] According to another aspect of the present invention, when a deletion instruction for the corresponding information is received from one of the terminal devices, the corresponding information management unit deletes the corresponding information specified in the deletion instruction; when an invalidation instruction for the corresponding information is received from one of the terminal devices, the corresponding information management unit invalidates the corresponding information specified in the invalidation instruction; and / or when an invalidation instruction for the corresponding information is received from one of the terminal devices, the corresponding information management unit validates the corresponding information specified in the validation instruction.
[0020] According to another aspect of the present invention, when the corresponding information management unit creates, deletes, invalidates, or validates the corresponding information, it generates transaction data related to the creation, deletion, invalidation, or validation of the corresponding information, and the ledger management unit records the block containing the generated transaction data into the distributed ledger.
[0021] According to another aspect of the invention, the terminal device is an operator terminal device operated by an operator recognized by the management of smart contracts.
[0022] According to another aspect of the present invention, the corresponding information management unit sends, based on the corresponding information, the contract address of a valid smart contract that should be used to execute the contract to the terminal device to which the contract is to be executed.
[0023] According to another aspect of the invention, the smart contract relates to a contract for the exchange of electricity generated by the charging and discharging of a battery mounted on a vehicle, wherein the terminal device for executing the contract is a portable terminal held by a user of the vehicle or a terminal device mounted on the vehicle.
[0024] Another aspect of the present invention is a contract management method, which is a contract management method performed by a contract management system comprising multiple computers that operate in a manner that maintains the same distributed ledger as each other, and multiple terminal devices. The contract management method includes the following steps: recording blocks containing transaction data, including smart contracts related to the execution of contracts, into the distributed ledger; and creating correspondence information that maps the storage location of the smart contracts (i.e., the contract address) to contract identification information that identifies the contracts, and storing the created correspondence information.
[0025] Invention Effects
[0026] According to the present invention, a contract management system can be provided that suppresses the increase of manual operations on the terminal device of the user executing the contract, even when the contract terms may change frequently, thus providing high convenience. Attached Figure Description
[0027] Figure 1 This is a diagram illustrating the structure of a contract management system according to one embodiment of the present invention.
[0028] Figure 2 This is a diagram illustrating an example of the structure of a node computer.
[0029] Figure 3 This is a diagram illustrating an example of the structure of the first contractor's terminal.
[0030] Figure 4 This is a diagram illustrating an example of the structure of the second contractor's terminal.
[0031] Figure 5 This is a diagram illustrating an example of the structure of an operator terminal.
[0032] Figure 6 This is a diagram showing an example of the corresponding information DB.
[0033] Figure 7 This is a sequence diagram illustrating an example of the actions of a contract management system.
[0034] Figure 8 This is a sequence diagram illustrating an example of the actions of a contract management system.
[0035] Figure 9 This is a flowchart illustrating the steps involved in processing smart contract records in a contract management system.
[0036] Figure 10 This is a flowchart illustrating the steps of contract execution processing in a contract management system.
[0037] Explanation of reference numerals in the attached figures
[0038] 1: Contract Management System; 2: Blockchain Network; 3a, 3b, 3c, 3d, 3e: Node Computers; 4: Communication Network; 5: Vehicles; 6a: First Contractor Terminal; 6b: Second Contractor Terminal; 6c: Operator Terminal; 7: Power Network; 10, 30, 40, 50: Processors; 11: Ledger Management Department; 12: Corresponding Information Management Department; 13: Contract Execution Department; 20, 35, 45, 55: Memory; 21: Distributed Ledger; 22: Corresponding Information DB; 31: Contract Management Department; 32: Address Request Department; 33: Execution Instruction Department; 36, 46, 56: HID; 41: Contract Creation Department; 42: Valid Contract Selection Department; 51: Trustee Department; 52: Registration Department. Detailed Implementation
[0039] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings.
[0040] [1. Structure and Usage of Contract Management System]
[0041] Figure 1 This is a diagram illustrating the structure of a contract management system according to one embodiment of the present invention. As an example, Figure 1 The contract management system 1 shown manages the smart contract related to the electricity exchange between user U (vehicle 5, an electric vehicle) and power company V, involving the use of vehicle 5's battery. This contract includes, as contract conditions, the electricity purchase price for user U when charging vehicle 5 from power company V's power network 7, and the electricity sales price when discharging electricity from vehicle 5 to power network 7.
[0042] The contract management system 1 has five node computers 3a, 3b, 3c, 3d, and 3e that constitute the blockchain network 2. Hereinafter, node computers 3a, 3b, 3c, 3d, and 3e are also collectively referred to as node computers 3. Furthermore, the number of node computers 3 included in the contract management system 1 is not limited to five; it can be any number of two or more. The node computers 3 are connected in a manner capable of communicating with each other, and by each operating in a way that maintains the same distributed ledger, they constitute a private or public blockchain network 2, for example, based on the Ethereum platform.
[0043] The contract management system 1 also includes multiple terminal devices, which are connected to at least one of the node computers 3, such as node computer 3a, in a manner that enables communication via the communication network 4. Figure 1In the example shown, the contract management system 1, as a terminal device, includes a first contractor terminal 6a operated by the user U of vehicle 5, one of the contracting parties in the aforementioned electricity trading contract; a second contractor terminal 6b operated by the power company V, the other contracting party in the aforementioned electricity trading contract; and an operator terminal 6c operated by operator P. Here, operator P is the operator recognized for the management of smart contracts.
[0044] The first contractor terminal 6a is, for example, a portable terminal held by the user U of vehicle 5. The first contractor terminal 6a corresponds to the terminal device of the present invention for executing the contract. Hereinafter, the first contractor terminal 6a, the second contractor terminal 6b, and the operator terminal 6c are also collectively referred to as terminal device 6.
[0045] The contract management system 1 manages the creation, modification, and execution of electricity trading contracts by recording them in a decentralized ledger. The electricity trading contract, for example, is created by the power company V. This contract is concluded between the power company V and the user U when charging or discharging begins between vehicle 5 and the power network 7. Furthermore, the electricity trading contract is executed as payment and collection of fees related to the aforementioned charging or discharging. Additionally, user U can be any non-specific individual using any vehicle 5 capable of charging and discharging between itself and the power network 7.
[0046] Specifically, power company V records the smart contract related to the electricity trading agreement into the blockchain through node computer 3a. When user U completes charging or discharging vehicle 5 between itself and power network 7, it executes the aforementioned smart contract to fulfill the electricity trading agreement, thereby incurring payment and collection of fees associated with the charging or discharging. As mentioned above, the electricity trading agreement may include, as contract conditions, the electricity purchase price when charging vehicle 5 from power network 7 and the electricity sales price when discharging from vehicle 5 to power network 7. Power company V modifies or revises the electricity trading agreement by changing the electricity purchase price or electricity sales price, which are the contract conditions, based on electricity market trends.
[0047] Figure 2 This is a diagram illustrating an example of the structure of a node computer 3a. The node computer 3a includes a processor 10 and a memory 20. The memory 20 may be composed, for example, volatile and / or non-volatile semiconductor memory, and / or a hard disk drive. The processor 10 may be composed, for example, one or more CPUs (Central Processing Units) or MPUs (Microprocessors).
[0048] The processor 10 includes a ledger management unit 11, a corresponding information management unit 12, and a contract execution unit 13 as functional elements or units. These functional elements of the processor 10 are implemented, for example, by the processor 10 executing a computer program stored in the memory 20.
[0049] Ledger management unit 11 receives transaction data and records blocks containing the received transaction data into the distributed ledger 21 stored in memory 20. Specifically, ledger management unit 11 receives transaction data from other node computers 3, terminal devices 6, or the corresponding information management unit 12 (described later), and generates blocks containing the received transaction data. Then, ledger management unit 11 records the generated blocks into the distributed ledger 21 stored in memory 20 and sends them to other node computers 3. As a result, the generated blocks are also recorded in the distributed ledgers maintained by each of the other node computers 3.
[0050] For example, when the ledger management department 11 receives transaction data containing a smart contract from the operator terminal 6c, it records the block containing the received transaction data into the distributed ledger 21, wherein the smart contract contains a program for processing the execution of an electricity trading contract created by the power company V.
[0051] Furthermore, the generation of the aforementioned blocks in the ledger management unit 11 and the recording of the generated blocks to the decentralized ledger 21 are performed in accordance with existing technology and the rules of blockchain platforms such as Ethereum. Such rules may include: verification of the legitimacy of the maker's electronic signature contained in the transaction data, mining processes that can be performed when generating blocks, and / or the execution of consensus algorithms, etc.
[0052] When the ledger management unit 11 records a block containing transaction data of a smart contract related to the contract into the distributed ledger 21, the corresponding information management unit 12 creates corresponding information that matches the storage location of the smart contract, i.e., the contract address, with the contract identification information that identifies the contract, and stores the created corresponding information in a specific storage location for management.
[0053] In this embodiment, the ledger management unit 11 receives transaction data containing a smart contract from the second contractor terminal 6b of the power company V, and records the block containing the received transaction data into the distributed ledger 21. The smart contract contains a program for processing the execution of the power transaction contract. Correspondingly, the correspondence information management unit 12 creates correspondence information that maps the storage location (contract address) of the smart contract to the contract identification information of the power transaction contract, and stores the created correspondence information in a specific storage location, such as the correspondence information DB (correspondence information database) 22 stored in memory 20 for management. In this embodiment, the contract identification information is the contract identification name, i.e., the name of the contract. The contract name contained in the smart contract within the transaction data received from the operator terminal 6c can be used as the contract identification name.
[0054] The Corresponding Information Management Unit 12 includes a unique identification ID for each corresponding piece of information and a flag indicating whether the corresponding information is valid or invalid in each corresponding piece of information, and stores them in the Corresponding Information DB (Data Base) 22. The Corresponding Information Management Unit 12 sends the generated identification ID of the corresponding information to the operator terminal 6c, and the operator terminal 6c sends the identification ID to the second contractor terminal 6b of the power company V.
[0055] Furthermore, when the Corresponding Information Management Unit 12 receives a deletion instruction for corresponding information from the operator terminal 6c, it deletes the corresponding information specified in the deletion instruction from the Corresponding Information DB22. Furthermore, when the Corresponding Information Management Unit 12 receives an invalidation instruction for corresponding information from the operator terminal 6c, it invalidates the corresponding information specified in the invalidation instruction. Furthermore, when the Corresponding Information Management Unit 12 receives a validity instruction for corresponding information from the operator terminal 6c, it validityates the corresponding information specified in the validity instruction.
[0056] Here, the identification ID of the corresponding information of the object being deleted, invalidated, or validated can be included in the deletion instruction, invalidation instruction, and validation instruction, respectively. Furthermore, invalidation can be performed by resetting the flag contained in the corresponding information to "0", and validation can be performed by setting the flag to "1".
[0057] Furthermore, when the corresponding information management unit 12 creates, deletes, invalidates, or validates the aforementioned corresponding information, it generates transaction data related to the creation, deletion, invalidation, or validation of that corresponding information and sends it to the ledger management unit 11. The ledger management unit 11 records the block containing the generated transaction data into the distributed ledger 21. The electronic signature of the node computer 3a, representing the creation, deletion, invalidation, or validation of the aforementioned corresponding information, can be included in the transaction data.
[0058] Furthermore, the Correspondence Management Unit 12, based on the correspondence information stored in the Correspondence Information DB22, sends the contract address of a valid smart contract to the first contractor terminal 6a of the user U who is to execute the electricity trading contract. For example, when the Correspondence Management Unit 12 receives an address request (described later) sent by the first contractor terminal 6a when executing the electricity trading contract, it returns the contract address represented by the valid correspondence information containing the contract identifier specified in the address request to the first contractor terminal 6a, referring to the Correspondence Information DB22. Here, valid correspondence information refers to, for example, the correspondence information marked with "1" as described above.
[0059] Figure 6 This is a diagram showing an example of the corresponding information DB22 stored in the memory 20 by the corresponding information management unit 12 of the node computer 3a. Figure 6 The corresponding information shown in DB22 is in table format, with each row except the top row displaying a corresponding piece of information.
[0060] The first column from the far left of each row displays the identification ID, the second column displays the contract identification name, the third column displays the contract address, and the fourth column displays a flag. A flag "0" indicates that the corresponding information in that row is invalid, and a flag "1" indicates that the corresponding information in that row is valid.
[0061] exist Figure 6 In the example, the first and second lines, excluding the top header line, show the contract addresses A11 and A12 of the two smart contracts associated with the contract with contract identifier N11. Furthermore, the flag in the second line is "1", indicating it is valid. Therefore, contract address A12 is the currently valid contract address associated with the contract with contract identifier N11, and thus, contract address A12 is the latest smart contract's contract address.
[0062] Similarly, regarding the contract with contract identifier N21, the flag in line 4 is "1", indicating that contract address A22 is the contract address of the currently valid smart contract associated with the contract with contract identifier N21.
[0063] Reference Figure 2When the contract execution unit 13 receives transaction data sent to any contract address from any terminal device 6, it executes the program contained in the smart contract stored at that contract address. Thus, the contract involved in the smart contract is executed.
[0064] In this embodiment, for example, the first contracting party terminal 6a, which is to execute an electricity trading contract, sends transaction data instructing the execution of the electricity trading contract to the corresponding information management unit 12 according to the contract address sent in the address request described above. This transaction data may include, as execution conditions when executing the electricity trading contract, information for distinguishing between charging / discharging between the vehicle 5 and the power network 7, and information related to the amount of charging or discharging.
[0065] In response to receiving the aforementioned transaction data, the contract execution unit 13 uses the execution conditions contained in the transaction data to execute the program contained in the smart contract stored at the contract address that is the destination of the transaction data. Thus, based on the aforementioned execution conditions, the electricity transaction contract is executed, and corresponding monetary payments and receipts are made according to the charging or discharging amount between vehicle 5 and the power grid 7.
[0066] At this point, the ledger management department 11, in accordance with existing technology, records the block containing the received transaction data into the distributed ledger 21. Thus, the execution of the aforementioned electricity transaction contract is recorded in the blockchain formed by the distributed ledger.
[0067] Next, the structure of the first contractor terminal 6a will be explained. Figure 3 This diagram illustrates an example of the structure of a first contracting party terminal 6a operated by user U, one of the contracting parties in an electricity trading contract. The first contracting party terminal 6a is, for example, a portable terminal held by user U. The first contracting party terminal 6a includes a processor 30, a memory 35, and a HID (Human Interface Device) 36. The HID 36 is, for example, a touch panel that displays information to user U and retrieves data and instructions input by user U. The memory 35 is, for example, composed of volatile and / or non-volatile semiconductor memory. The processor 30 is, for example, a CPU.
[0068] The processor 30 includes a contract management unit 31, an address request unit 32, and an execution instruction unit 33 as functional elements or units. These functional elements of the processor 30 are implemented, for example, by the processor 30 executing a computer program stored in the memory 35.
[0069] Based on the instruction from user U obtained from HID 36, contract management unit 31 obtains the contract identification information of the electricity transaction contract from the second contractor terminal 6b of the electricity company V that provides the electricity transaction that user U wants to use. Contract management unit 31 stores the contract information corresponding to the identification information (e.g., name) of electricity company V and the obtained contract identification information in memory 35. As described above, in this embodiment, the contract identification information is the contract identification name.
[0070] When user U wants to execute a contract, they input a contract execution instruction using HID36. The contract execution instruction input by user U may include, for example, the name of the power company V and the execution conditions for executing the contract. The execution conditions may include, for example, information distinguishing the charging / discharging between vehicle 5 and the power grid 7, as well as information related to the amount of charging or discharging.
[0071] In response to user U inputting a contract execution instruction, address request unit 32 sends contract identification information and an address request for the electricity transaction contract to be executed by user U to node computer 3a. Specifically, address request unit 32 refers to the contract information stored in memory 35 and obtains contract identification information corresponding to the name of electricity company V included in the contract execution instruction. Address request unit 32 sends a specified address request containing the obtained contract identification information to node computer 3a. Then, address request unit 32 receives the contract address returned from node computer 3a (specifically, from the corresponding information management unit 12 of node computer 3a) and passes the received contract address to execution instruction unit 33.
[0072] In response to user U inputting the aforementioned contract execution instruction, execution instruction unit 33 generates transaction data for contract execution. For example, in the case of an Ethereum platform, the transaction data may include the EOA (Externally Owned Account) of the electronic wallet used by user U for payment and receipt of fees, the execution conditions contained in the contract execution instruction input by user U, the contract identification information of the electricity transaction contract to be executed, and the electronic signature representing user U.
[0073] The execution instruction unit 33 uses the contract address returned from the node computer 3a by the address request unit 32 to send the generated transaction data to the contract address.
[0074] Next, the structure of the second contractor terminal 6b will be explained. Figure 4This diagram illustrates an example of the structure of a second contractor terminal 6b operated by the power company V, the other party in the electricity trading contract. The second contractor terminal 6b includes a processor 40, a memory 45, and a HID 46. The HID 46 is, for example, a touch panel. The memory 45 is, for example, composed of volatile and / or non-volatile semiconductor memory. The processor 40 is, for example, a CPU.
[0075] The processor 40 includes a contract creation unit 41 and a valid contract selection unit 42 as functional elements or units. These functional elements of the processor 40 are implemented, for example, by the processor 40 executing a computer program stored in the memory 45.
[0076] In response to a contract creation instruction input by the contract manager of power company V via HID 46, contract creation department 41 creates or modifies a power trading contract and generates a smart contract containing a program for executing the created or modified power trading contract. This smart contract may contain contract identification information for the power trading contract and identification information for the smart contract itself. Contract creation department 41 generates transaction data containing the aforementioned smart contract and an electronic signature representing power company V, and sends it to operator terminal 6c.
[0077] Then, the contract creation unit 41 receives, via the operator terminal 6c, the identification ID of the corresponding information that maps the smart contract's address to the contract identification information from the node computer 3a, which has recorded the aforementioned transaction data in the blockchain. The contract creation unit 41 stores the contract information obtained by mapping the smart contract's identification information to the received identification ID in the memory 45.
[0078] In response to the power company V's contract manager inputting an instruction to delete, validate, or invalidate corresponding information via HID 46, the valid contract selection unit 42 sends the deletion, validation, or invalidation instructions to the operator terminal 6c. These deletion, validation, and invalidation instructions may each include the identification ID of the object information to be deleted, validated, or invalidated, information relating to which of the deletions, validations, or invalidations are being performed, and the power company V's electronic signature. When the power company V's contract manager inputs the deletion, validation, or invalidation instruction, they can select the identification ID of the corresponding information related to the smart contract to be deleted, validated, or invalidated from the contract information stored in memory 45, and input the selected identification ID into HID 46.
[0079] Next, the structure of operator terminal 6c will be explained. Figure 5This diagram illustrates an example of the structure of an operator terminal 6c. The operator terminal 6c includes a processor 50, a memory 55, and a HID 56. The HID 56 is, for example, a touch panel. The memory 55 is, for example, composed of volatile and / or non-volatile semiconductor memory. The processor 50 is, for example, a CPU.
[0080] The processor 50 includes a receiver 51 and a register 52 as functional elements or units. These functional elements of the processor 50 are implemented, for example, by the processor 50 executing a computer program stored in the memory 55.
[0081] The entrusted unit 51 receives the entrustment related to the management of the smart contract from the terminal device 6 of the contracting party. Specifically, the entrusted unit 51 receives transaction data containing the smart contract related to the power transaction contract from the second contracting party terminal 6b of the power company V. Then, the entrusted unit 51 verifies the legitimacy of the electronic signature contained in the received transaction in accordance with existing technology. If it is legitimate, the transaction data is transmitted to the registration unit 52.
[0082] Furthermore, the entrusted department 51 receives deletion instructions, validity instructions, and invalidation instructions for corresponding information from the second contractor terminal 6b of the power company V. The entrusted department 51 verifies the legitimacy of the electronic signature contained in the deletion instructions, validity instructions, and invalidation instructions, and if they are legitimate, it transmits these instructions to the registration department 52.
[0083] The registration unit 52 sends the transaction data containing the smart contract from the entrusted unit 51 to the node computer 3a. In addition, the registration unit 52 receives the identification ID of the corresponding information related to the smart contract from the corresponding information management unit 12 of the node computer 3a and sends it to the second contractor terminal 6b of the power company V.
[0084] In addition, in response to receiving a deletion instruction, validity instruction or invalidation instruction for corresponding information from the entrusted department 51, the registration department 52 sends the received deletion instruction, validity instruction or invalidation instruction to the node computer 3a.
[0085] In the contract management system 1 with the above structure, at least one node computer 3a creates and stores correspondence information that maps the storage location of the smart contract that should be used to execute the contract (e.g., an electricity trading contract) to the contract identification information (e.g., the contract identification name) that identifies the contract.
[0086] Therefore, in the contract management system 1, the first contractor terminal 6a of the user U who wants to execute the contract can obtain the contract address of the currently valid (e.g., the latest) smart contract that should be used when executing the contract from the node computer 3a that stores the corresponding information mentioned above. Therefore, in the contract management system 1, even if the contract conditions are changed, the user U can query the power company V, etc., for the contract address of the currently valid smart contract himself, or does not need to manually enter the contract address of the valid smart contract into the first contractor terminal 6a.
[0087] Therefore, in the contract management system 1, even when the contract conditions may change frequently, it is possible to suppress the increase of manual operations in the first contractor terminal 6a of the user U executing the contract, thereby improving the convenience of contract execution using smart contracts.
[0088] [2. Example of actions of the contract management system]
[0089] Figure 7 and Figure 8 This is a timing diagram illustrating an example of the operations of the contract management system 1. Figure 7 The sequence diagram provides an overview. First, the second contractor terminal 6b of power company V creates transaction data T11 for a smart contract S11 containing an electricity trading contract C11, and sends this transaction data T11 to node computer 3a via operator terminal 6c. This records the smart contract S11 in the blockchain. Furthermore, the first contractor terminal 6a of user U executes the smart contract S11. The aforementioned electricity trading contract C11 includes the electricity purchase price and the electricity sales price as contract conditions.
[0090] Figure 8 yes Figure 7 Examples of actions following the shown action. For Figure 8 The sequence diagram provides an overview: Power company V's second contractor terminal 6b modifies the contract terms of power transaction contract C11 to create power transaction contract C11-1, and creates transaction data T13 containing smart contract S12 of power transaction contract C11-1. The second contractor terminal 6b sends the created transaction data T13 to node computer 3a via operator terminal 6c. Thus, the aforementioned smart contract S12 is recorded in the blockchain. Furthermore, user U's first contractor terminal 6a executes the smart contract S12.
[0091] The following is about Figure 7 and Figure 8 The steps of the timing diagram shown are explained.
[0092] Reference Figure 7First, the second contractor terminal 6b of the power company V creates a smart contract S11 (S100) for the power transaction contract C11, and creates transaction data T11 containing the smart contract S11 (S102). Here, the contract identification information, i.e., the contract identification name, of the power transaction contract C11 is set to N11. The actions of steps S100 and S102 are performed by the contract creation unit 41 of the second contractor terminal 6b.
[0093] Next, the contract creation unit 41 of the second contractor terminal 6b sends the created transaction data T11 to the operator terminal 6c (S104). The entrusted unit 51 of the operator terminal 6c receives the transaction data T11 and verifies its legitimacy (S106). If the transaction data T11 is legitimate, the registration unit 52 of the operator terminal 6c sends the transaction data T11 to the node computer 3a (S108).
[0094] In response to receiving transaction data T11 containing smart contract S11, the ledger management unit 11 of node computer 3a creates block B11 containing the received transaction data T11 according to existing technology and sends it to other node computers 3. Then, for example, each node computer 3 executes a consensus algorithm on block B11. If the result is correct, block B11 is recorded in the distributed ledger of all node computers 3, including the distributed ledger 21 of node computer 3a (S110). Thus, the system becomes capable of executing smart contract S11.
[0095] Next, the corresponding information management unit 12 of node computer 3a stores the corresponding information that maps the contract identifier N11 of the electricity transaction contract C11 involved in the smart contract S11 to the storage location of the smart contract S11, i.e., the contract address A11, in the corresponding information DB22 (S112). At this time, the corresponding information management unit 12 generates transaction data related to the creation of the above-mentioned corresponding information and sends it to the ledger management unit 11. Similar to step 110, the ledger management unit 11 records the block containing the transaction data related to the creation of the above-mentioned corresponding information in the distributed ledger of all node computers 3, including the distributed ledger 21 of node computer 3a.
[0096] On the other hand, user U, who wishes to conduct an electricity transaction between the power company V's power network 7 and vehicle 5, instructs the first contractor terminal 6a to create a usage request for the electricity transaction contract with the power company V (S114), and sends the created usage request to the power company V's second contractor terminal 6b (S116). The creation and sending of this usage request is performed by the contract management department 31 of the first contractor terminal 6a.
[0097] In response to receiving a usage request from the first contractor terminal 6a, the second contractor terminal 6b sends the contract identification name N11 of the electricity transaction contract C11 to the first contractor terminal 6a (S118). The contract management unit 31 of the first contractor terminal 6a stores the contract information corresponding to the identification information of the power company V (e.g., the name of the power company V) and the received contract identification name N11 in the memory 35.
[0098] Then, when user U charges or discharges vehicle 5 between the power network 7 of power company V and the power company V, user U inputs a contract execution instruction for the power transaction contract with power company V into the first contractor terminal 6a, and the first contractor terminal 6a obtains the contract execution instruction (S120). In response to obtaining the contract execution instruction, the address request unit 32 of the first contractor terminal 6a obtains the contract identification name N11 of the power transaction contract of power company V by referring to the stored contract information and the identification information of power company V contained in the contract execution instruction. The address request unit 32 of the first contractor terminal 6a specifies the obtained contract identification name N11 to the node computer 3a and sends an address request for the contract address of the smart contract (S122).
[0099] In response to receiving an address request from the first contractor terminal 6a, the corresponding information management unit 12 of node computer 3a refers to the corresponding information stored in the corresponding information DB22 (S124) and obtains the contract address A11 of the smart contract S11 corresponding to the contract identifier N11 from the corresponding information of the valid (i.e., marked "1") corresponding information that corresponds to the specified contract identifier N11. Then, the corresponding information management unit 12 of node computer 3a sends the obtained contract address A11 to the first contractor terminal 6a (S126).
[0100] The execution instruction unit 33 of the first contracting party terminal 6a generates transaction data T12 for the execution of the electricity trading contract (S128), and sends the generated transaction data T12 to the contract address A11 sent from the node computer 3a in step S126 (S130). The node computer 3a, upon receiving the transaction data T12, executes the smart contract S11 stored in the contract address A11, which is the destination of the transaction data T12, via the contract execution unit 13 (S132). Thus, the electricity trading contract C11 is executed, and payment for charging or discharging fees is made between the user U and the power company V.
[0101] Next, the ledger management unit 11 of node computer 3a creates block B12 containing the received transaction data T12 and sends it to other node computers 3. Thus, similar to step S110, block B12 is recorded in the distributed ledgers of all node computers 3, including the distributed ledger 21 of node computer 3a (S134).
[0102] Reference Figure 8 Then, power company V changes the electricity purchase price and / or electricity sales price according to the trends in the electricity market, modifies the contract terms of electricity trading contract C11, and creates electricity trading contract C11-1. Here, the contract identifier of electricity trading contract C11-1 is N11, which is the same as the contract identifier of electricity trading contract C11.
[0103] The contract creation department 41 of the second contractor terminal 6b of the power company V creates the smart contract S12 (S136) of the power transaction contract C11-1 according to the instructions sent by the contract manager of the power company V through HID46, and creates the transaction data T13 (S138) containing the smart contract S12.
[0104] Then, the contract creation unit 41 of the second contractor terminal 6b sends the created transaction data T13 to the operator terminal 6c (S140). The entrusted unit 51 of the operator terminal 6c receives the transaction data T13 and verifies its legitimacy (S142). If the transaction data T13 is legitimate, the registration unit 52 of the operator terminal 6c sends the transaction data T13 to the node computer 3a (S144).
[0105] In response to receiving transaction data T13 containing smart contract S12, the ledger management unit 11 of node computer 3a creates block B13 containing the received transaction data T13 according to existing technology and sends it to other node computers 3. Thus, similar to step S110, block B13 is recorded in the distributed ledger of all node computers 3, including the distributed ledger 21 of node computer 3a (S146). Furthermore, this establishes a state where smart contract S12 can be executed.
[0106] Next, the corresponding information management unit 12 of node computer 3a stores the corresponding information, which maps the contract identifier N11 of the electricity transaction contract C11-1 involved in the smart contract S12 to the storage location of the smart contract S12, i.e., the contract address A12, in the corresponding information DB22 (S148). Furthermore, the corresponding information management unit 12 stores the corresponding information related to the contract identifier N11 previously stored in the corresponding information DB22, i.e., in... Figure 7 In step S112, the flag of the corresponding information stored is reset to "0", and the corresponding information is invalidated (S150).
[0107] Furthermore, following the processes described in steps S148 and S150, the Corresponding Information Management Unit 12 generates transaction data related to the creation of the corresponding information in step S148 and transaction data related to the invalidation of the corresponding information in step S150, and sends them to the Ledger Management Unit 11. Similar to step 110, the Ledger Management Unit 11 records blocks containing transaction data related to the creation and invalidation of the corresponding information into the distributed ledgers of all node computers 3, including the distributed ledger 21 of node computer 3a.
[0108] Subsequently, when vehicle 5 is charged or discharged again between the power network 7 and power company V, user U inputs the contract execution instruction of the power transaction contract with power company V to the first contractor terminal 6a, and the first contractor terminal 6a obtains the contract execution instruction (S152). In response to obtaining the contract execution instruction, the address request unit 32 of the first contractor terminal 6a obtains the contract identification name N11 of the power transaction contract of power company V by referring to the stored contract information and the identification information of power company V contained in the contract execution instruction. The address request unit 32 of the first contractor terminal 6a specifies the obtained contract identification name N11 to the node computer 3a and sends an address request for the contract address of the smart contract (S154).
[0109] In response to receiving an address request from the first contractor terminal 6a, the corresponding information management unit 12 of node computer 3a, referring to the corresponding information stored in the corresponding information DB22 (S156), obtains the contract address A12 of the smart contract S12 corresponding to the contract identifier N11 from the corresponding information of the valid (i.e., marked "1") corresponding information that corresponds to the specified contract identifier N11. Then, the corresponding information management unit 12 of node computer 3a sends the obtained contract address A12 to the first contractor terminal 6a (S158).
[0110] The execution instruction unit 33 of the first contractor terminal 6a generates transaction data T14 for the execution of the electricity trading contract (S160), and sends the generated transaction data T14 to the contract address A12 sent from the node computer 3a in step S158 (S162). The node computer 3a, having received the transaction data T14, executes the smart contract S12 stored in the contract address A12, which is the destination of the transaction data T14, through the contract execution unit 13 (S164). Thus, the modified and latest electricity trading contract C11-1 is executed, and payment for charging or discharging fees is made between the user U and the power company V.
[0111] Next, the ledger management unit 11 of node computer 3a creates block B14 containing the received transaction data T14 and sends it to other node computers 3. Thus, similar to step S110, block B14 is recorded in the distributed ledgers of all node computers 3, including the distributed ledger 21 of node computer 3a (S166).
[0112] [3. Action steps in the contract management system]
[0113] Next, the steps of the contract management system 1 will be explained.
[0114] First, refer to Figure 9 The flowchart shown illustrates the steps of smart contract recording processing performed by node computer 3a of the contract management system 1. Smart contract recording processing involves recording blocks containing transaction data of smart contracts into the distributed ledger 21. This process is repeated. Figure 9 The processing shown.
[0115] If processing begins, first, the ledger management unit 11 determines whether transaction data has been received from the terminal device 6. Then, if transaction data has been received (S200, "Yes"), the ledger management unit 11 generates a block containing the transaction data and stores the generated block in the distributed ledger 21 (S202).
[0116] Next, the ledger management unit 11 determines whether the received transaction data contains a smart contract. For example, the ledger management unit 11 can determine whether the transaction data contains a smart contract by decrypting the transaction data using the public key of the electronic signature contained in the received transaction data.
[0117] Then, when the received transaction data contains a smart contract (S204, "Yes"), the Correspondence Information Management Unit 12 stores the correspondence information in the correspondence information DB22 of the memory 20, which matches the contract identifier contained in the smart contract with the contract address representing the storage location of the smart contract (S206). In addition, the Correspondence Information Management Unit 12 generates transaction data representing the creation of the above correspondence information, and the Ledger Management Unit 11 records the block containing the generated transaction data in the distributed ledger 21 (S208).
[0118] Next, the Correspondence Information Management Unit 12 determines whether there exists any previously stored valid correspondence information containing the same contract identifier as the correspondence information stored in step S206. Then, if there is such valid correspondence information containing the same contract identifier (S210, "Yes"), the Correspondence Information Management Unit 12 invalidates the previously stored correspondence information containing the same contract identifier (S212). This invalidation can be performed by resetting the flag assigned to the previously stored correspondence information to "0". Next, the Correspondence Information Management Unit 12 generates transaction data indicating the invalidation of the aforementioned correspondence information, and the Ledger Management Unit 11 records the block containing the generated transaction data into the distributed ledger 21 (S214). Then, the Ledger Management Unit 11 ends this process.
[0119] On the other hand, in step S204, if the received transaction data does not contain a smart contract (S204, "No"), or if in step S210 it is determined that there is no valid corresponding information in the past containing the same contract identifier (S210, "No"), the ledger management department 11 directly ends the processing.
[0120] Furthermore, on the other hand, if no transaction data is received in step S200 (S200, "No"), the corresponding information management unit 12 determines whether an invalidation instruction for the corresponding information has been received. Then, if an invalidation instruction is received (S216, "Yes"), the corresponding information having the identification ID specified in the received invalidation instruction is invalidated (S222). Furthermore, the corresponding information management unit 12 generates transaction data indicating the invalidation of the aforementioned corresponding information, and the ledger management unit 11 records the block containing the generated transaction data into the distributed ledger 21 (S224). Then, the ledger management unit 11 ends this process.
[0121] On the other hand, if no invalidation instruction for the corresponding information is received in step S216 (S216, "No"), the corresponding information management unit 12 determines whether a validation instruction for the corresponding information has been received. Then, if a validation instruction is received (S218, "Yes"), the corresponding information having the identification ID specified in the received validation instruction is validated (S226). This validation can be performed by setting the flag assigned to the previous corresponding information to "1".
[0122] Furthermore, the corresponding information management unit 12 generates transaction data representing the validity of the aforementioned corresponding information, and the ledger management unit 11 records the block containing the generated transaction data into the distributed ledger 21 (S228). Then, the ledger management unit 11 ends this process.
[0123] Furthermore, if no validation instruction for the corresponding information is received in step S218 (S218, "No"), the corresponding information management unit 12 determines whether a deletion instruction for the corresponding information has been received. Then, if a deletion instruction is received (S220, "Yes"), the corresponding information having the identification ID specified in the received deletion instruction is deleted from the corresponding information DB22 (S230).
[0124] Furthermore, the corresponding information management unit 12 generates transaction data indicating the deletion of the aforementioned corresponding information, and the ledger management unit 11 records the block containing the generated transaction data into the distributed ledger 21 (S232). After that, the ledger management unit 11 ends this process.
[0125] Furthermore, if no deletion instruction for the corresponding information is received in step S220 (S220, "No"), the ledger management department 11 terminates this process.
[0126] Figure 10 This is a flowchart illustrating the steps of contract execution processing in the contract management system 1. Contract execution processing involves executing smart contracts recorded in the decentralized ledger of the blockchain and fulfilling the contract's obligations according to the instructions of the first contractor terminal 6a. Figure 10 In the diagram, the left side shows the processing steps in the first contractor terminal 6a, and the right side shows the processing steps in the node computer 3a. These processes are repeated. Additionally, the dashed arrows connecting the left and right processing flows indicate the sending / receiving of information between the first contractor terminal 6a and the node computer 3a.
[0127] After the first contractor terminal 6a begins processing, the address request unit 32 determines whether a contract execution instruction has been obtained through input from user U. Then, if no contract execution instruction has been obtained (S300, "No"), the address request unit 32 returns to step S300 and repeats the processing, waiting for a contract execution instruction to be obtained.
[0128] On the other hand, after the corresponding information management unit 12 of the node computer 3a starts processing, it determines whether an address request has been received from the first contractor terminal 6a. Then, if no address request has been received (S400, "No"), the corresponding information management unit 12 returns to step S400 and repeats the processing, waiting to receive an address request.
[0129] Subsequently, in the first contractor terminal 6a, upon receiving an instruction to execute the contract (S300, "Yes"), the address request unit 32 refers to the contract information stored in the memory 35 and obtains the contract identification name corresponding to the identification information of the counterparty in the contract to be executed (in this embodiment, it is the name of the power company V, the counterparty in the power transaction contract). The address request unit 32 sends a specified address request containing the obtained contract identification name to the node computer 3a (S302).
[0130] Next, the address request unit 32 determines whether a contract address has been received from the node computer 3a. Then, if no contract address has been received (S304, "No"), the address request unit 32 returns to step S304 and repeats the process, waiting to receive the contract address.
[0131] On the other hand, when the corresponding information management unit 12 of node computer 3a receives the address request sent by the first contractor terminal 6a in step S302 (S400, "Yes"), it refers to the corresponding information stored in the corresponding information DB22 in memory 20 (S402) and obtains the contract address from the valid corresponding information containing the contract identifier name specified in the received address request. The corresponding information management unit 12 sends the obtained contract address to the first contractor terminal 6a (S404).
[0132] Next, node computer 3a determines whether it has received a contract execution transaction sent from the first contractor terminal 6a to the aforementioned contract address. Then, if no contract execution transaction has been received, node computer 3a returns to step S406 and repeats the process, waiting to receive a contract execution transaction.
[0133] In the first contractor terminal 6a, when the contract address sent by the node computer 3a in step S404 is received (S304, "Yes"), the execution instruction unit 33 generates a contract execution transaction and sends the generated contract execution transaction to the received contract address (S306), and the process ends.
[0134] When node computer 3a receives the contract execution transaction sent by the first contractor terminal 6a in step S306 (S406, "Yes"), the contract execution unit 13 executes the contract by executing the program contained in the smart contract stored in the contract address that is the sending destination of the aforementioned contract execution transaction (S408).
[0135] Next, the ledger management unit 11 of node computer 3a records the block containing the transaction of the above-mentioned contract execution received into the distributed ledger 21 (S410), and the processing ends.
[0136] [4. Other implementation methods]
[0137] In the above embodiment, the first contracting terminal 6a of the user U, which executes the electricity trading contract with the power company V via the vehicle 5, is a portable terminal held by the user U in the vehicle 5, but it can also be a terminal device mounted on the vehicle 5. In this case, the on-board terminal device can directly obtain the charging and discharging amounts in the vehicle 5, which are conditions for the execution of the electricity trading contract, through the on-board device. Therefore, the manual operation of the user U on the terminal device is further reduced, and the convenience is further improved.
[0138] The contracts processed by the contract management system 1 are not limited to the electricity trading contracts exemplified in the above embodiments, which involve monetary payment and receipt during contract execution. The contracts processed by the contract management system 1 can be any contract whose execution can be described as a program. For example, the contracts processed by the contract management system 1 can also be payment contracts related to gas usage measured by a gas meter or water usage measured by a water meter. Alternatively, the contracts processed by the contract management system 1 can also be contracts that do not involve monetary payment and receipt.
[0139] In the above embodiment, the node computer 3a has a corresponding information management unit 12, but the operator terminal 6c may also have a corresponding information management unit 12. In this case, the operator terminal 6c can obtain information such as the contract address required to create the corresponding information from the node computer 3a, create the corresponding information, and store the created corresponding information in the memory 55. In addition, the first contractor terminal 6a can send an address request to the operator terminal 6c and obtain the contract address of the smart contract corresponding to the desired contract identifier from the operator terminal 6c.
[0140] Furthermore, in the above embodiments, the platform of blockchain network 2 is Ethereum, but it is not limited to this, and can also be any platform such as EOS (Enterprise Operation System), Ripple, Quorum, etc.
[0141] [5. Structure supported by the above embodiments]
[0142] The above implementation supports the following structures.
[0143] A contract management system includes multiple computers, each operating in a manner that maintains the same distributed ledger, and multiple terminal devices. The contract management system comprises: a ledger management unit that receives transaction data and records blocks containing the received transaction data into the distributed ledger; and a corresponding information management unit that, when the ledger management unit records a block in the distributed ledger containing transaction data related to a smart contract for the execution of the contract, generates corresponding information that maps the contract address (which serves as the storage location of the smart contract) to contract identification information identifying the contract.
[0144] According to the aforementioned contract management system, the address of the latest smart contract to be used when executing a contract becomes clear through corresponding information, thus allowing terminal devices to easily obtain the latest contract address. As a result, even when smart contracts are frequently changed due to changes in contract conditions, the need for manual operation by the user on the terminal device is reduced, achieving a highly convenient contract management system.
[0145] According to the aforementioned contract management system, when a deletion instruction for the corresponding information is received from one of the terminal devices, the corresponding information management unit deletes the corresponding information specified in the deletion instruction; when an invalidation instruction for the corresponding information is received from one of the terminal devices, the corresponding information management unit invalidates the corresponding information specified in the invalidation instruction; and / or when a validity instruction for the corresponding information is received from one of the terminal devices, the corresponding information management unit validityates the corresponding information specified in the validity instruction.
[0146] According to the aforementioned contract management system, by deleting, validating, and invalidating the corresponding information, it is possible to effectively discard previously created smart contracts and to validate one of the previously invalidated smart contracts so that it can be reused as a smart contract that should be used now. Therefore, the management of smart contracts becomes easier.
[0147] According to the aforementioned contract management system, when the corresponding information management department creates, deletes, invalidates, or validates the corresponding information, it generates transaction data related to the creation, deletion, invalidation, or validation of the corresponding information, and the ledger management department records the block containing the generated transaction data into the distributed ledger.
[0148] According to the aforementioned contract management system, the corresponding information is also recorded in the blockchain, thus enabling high reliability in the management of smart contracts that use the corresponding information.
[0149] According to the aforementioned contract management system, one of the terminal devices is an operator terminal device operated by an operator recognized by the management of smart contracts.
[0150] According to the aforementioned contract management system, the creation, deletion, invalidation, or validity of corresponding information can be achieved through the terminal devices of the identified operators, thereby further improving the reliability of the corresponding information.
[0151] According to the aforementioned contract management system, the corresponding information management unit sends the contract address of a valid smart contract that should be used to execute the contract to the terminal device that is to execute the contract, based on the corresponding information.
[0152] According to the aforementioned contract management system, the terminal device that executes the contract can directly obtain the latest smart contract address that should be used when executing the contract from the corresponding information management department. Therefore, it can reduce user operations and suppress data tampering in the communication path, thereby achieving more reliable execution of smart contracts.
[0153] According to the aforementioned contract management system, the smart contract relates to a contract for electricity exchange generated by charging and discharging the battery installed in the vehicle, and the terminal device for executing the contract is a portable terminal held by the user of the vehicle or a terminal device installed in the vehicle.
[0154] According to the aforementioned contract management system, the execution of electricity trading contracts using vehicles can be carried out with simple operation using portable terminals or vehicle-mounted terminal devices.
[0155] A contract management method is provided, which is a contract management method performed by a contract management system comprising multiple computers and multiple terminal devices, each operating in a manner that maintains the same distributed ledger. The contract management method includes the following steps: recording blocks containing transaction data, including smart contracts related to the execution of contracts, into the distributed ledger; and creating correspondence information that maps the storage location of the smart contracts, i.e., the contract address, to contract identification information that identifies the contracts, and storing the created correspondence information.
[0156] According to the contract management method described above, the contract address of the latest smart contract that should be used when executing a contract becomes clear through the corresponding information, thus allowing terminal devices to easily obtain the latest contract address. As a result, even when smart contracts are frequently changed along with changes in contract conditions, the need for manual operation by the user on the terminal device can be reduced, achieving a highly convenient contract management system.
Claims
1. A contract management system including a plurality of computers each acting in a manner that a distributed ledger is kept identical to each other, and a plurality of terminal devices, wherein the computers include a first processor, the first processor includes: a ledger management section that receives transaction data, and records a block including the received transaction data to the distributed ledger; and a correspondence information management section that, when the ledger management section records a block including transaction data having a smart contract related to execution of a contract in the distributed ledger, creates correspondence information that corresponds a contract address that is a storage place unique to each of the smart contracts, and contract identification information that identifies the contract, the terminal devices include a second processor, the second processor, in response to a case where a user inputs a contract execution instruction, transmits an address request together with the contract identification information, and transmits generated transaction data to the contract address returned from the first processor.
2. The contract management system according to claim 1, wherein the correspondence information management section, when receiving a deletion instruction of the correspondence information from one of the terminal devices, deletes the correspondence information specified in the deletion instruction, the correspondence information management section, when receiving an invalidation instruction of the correspondence information from the one terminal device, invalidates the correspondence information specified in the invalidation instruction, and / or the correspondence information management section, when receiving a validation instruction of the correspondence information from the one terminal device, validates the correspondence information specified in the validation instruction.
3. The contract management system according to claim 2, wherein the correspondence information management section, when the creation, deletion, invalidation, or validation of the correspondence information is performed, generates transaction data related to the creation, deletion, invalidation, or validation of the correspondence information, and the ledger management section records a block including the generated transaction data to the distributed ledger.
4. The contract management system according to claim 2, wherein the one terminal device is an operator terminal device operated by an operator who is certified for management of a smart contract.
5. The contract management system according to claim 1, wherein the smart contract is related to a contract related to a power transaction generated by charge and discharge of a battery mounted on a vehicle, and the terminal device that is to execute the contract is a portable terminal held by a user of the vehicle, or a terminal device mounted on the vehicle.
6. A contract management method that is a contract management method performed by a contract management system including a plurality of computers each acting in a manner that a distributed ledger is kept identical to each other, and a plurality of terminal devices, wherein the contract management method includes, according to a first processor of the computers: a step of recording a block including a smart contract related to execution of a contract to the distributed ledger; and a step of creating correspondence information that corresponds a contract address that is a storage place unique to each of the smart contracts, and contract identification information that identifies the contract, when a block including transaction data having the smart contract is recorded in the distributed ledger. correspondence information that corresponds a contract identification information that identifies the contract to a contract address that is a storage place unique to each of the smart contracts, and stores the generated correspondence information, and according to the second processor of the terminal device, has a step of transmitting an address request together with the contract identification information in response to a case where a user has input a contract execution instruction, and transmitting the generated transaction data to the contract address returned from the first processor.
Citation Information
Patent Citations
Control method, server, and data structure
WO2020213678A1
Intelligent contract management method, server and computer readable storage medium
CN110119430A
Article information management apparatus, system, method and program
JP2018173692A