Electronic contract method, electronic contract system, and program
The electronic contract system addresses inefficiencies in blockchain storage by using external servers to manage transactions, simplifying system construction and improving reliability.
Patent Information
- Application Number
- JP2021124595
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-07-29
- Publication Date
- 2025-05-21
- Estimated Expiration
- 2041-07-29
AI Technical Summary
Existing contract agreement systems face challenges in constructing a blockchain storage system, as each terminal must store all transactions, including those unrelated to the contractor, leading to inefficiencies and resource wastage.
An electronic contract system that connects to a blockchain system, utilizing external servers to store transactions, eliminating the need for internal blockchain storage and allowing terminals to focus on transaction creation and signing, with functions like smart contracts managing storage and authentication.
Facilitates easier construction of blockchain-based contract systems by decentralizing storage, reducing terminal load, and enhancing system reliability through external blockchain management.
Smart Images

Figure 0007680900000001 
Figure 0007680900000002 
Figure 0007680900000003
Abstract
Description
[Technical field]
[0001] An embodiment of the present invention relates to an electronic contract method, an electronic contract system, and a program. [Background technology]
[0002] A contract agreement system has been proposed in which transactions related to agreed contracts are stored in a blockchain. A blockchain is a mechanism in which multiple devices that make up a distributed network synchronize transactions and link them like a chain to store them.
[0003] For example, a technology has been proposed in which multiple terminals used by multiple contractors are each equipped with a memory unit that stores a blockchain, and transactions including evidence of whether or not the contract was agreed to are stored in the memory unit equipped in the terminal itself. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2017-220710 A [Patent Document 2] International Publication No. 2017 / 010455 Summary of the Invention [Problem to be solved by the invention]
[0005] However, in the conventional technology, there are cases where a system for storing a blockchain related to a contract cannot be easily constructed. For example, in the above conventional technology, since each terminal is configured to store a blockchain, when a contractor is added, a terminal equipped with a storage unit for storing the blockchain must be prepared for each contractor to be added. In addition, all terminals corresponding to each of the multiple contractors must store transactions for contracts unrelated to the corresponding contractor. [Means for solving the problem]
[0006] An electronic contract method according to an embodiment is an electronic contract method executed in an electronic contract system connected to a blockchain system that stores transactions in a blockchain. The electronic contract method includes a contract processing step and a storage control step. The contract processing step receives instructions for agreement to a contract concluded between the first contractor and the second contractor from each of the first contractor and the second contractor. The storage control step transmits to the blockchain system an instruction to store in the blockchain a first transaction indicating that the first contractor has agreed to the contract, and an instruction to store in the blockchain a second transaction indicating that the second contractor has agreed to the contract. [Brief description of the drawings]
[0007] [Figure 1] FIG. 1 is a block diagram showing an example of the configuration of an electronic contract system according to this embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of a data structure of the correspondence information. [Diagram 3] FIG. 3 is a sequence diagram showing an example of the advance registration process in this embodiment. [Figure 4] FIG. 4 is a sequence diagram showing an example of electronic bidding and electronic contract processing in this embodiment. [Diagram 5] FIG. 5 is a diagram showing an example of the flow of electronic bidding and electronic contract processing. [Figure 6] FIG. 6 is a diagram showing an example of the contract content input screen. [Figure 7] FIG. 7 is a diagram showing an example of the contract output screen. [Figure 8] FIG. 8 is a diagram showing an example of the electronic contract screen. [Figure 9] FIG. 9 is a diagram showing an example of the flow of an electronic contract on the successful bidder's side. [Figure 10] FIG. 10 is a diagram showing an example of the flow of an electronic contract on the part of the client. [Figure 11] FIG. 11 is a diagram illustrating an example of a data structure of the transaction information. [Figure 12] FIG. 12 is an explanatory diagram illustrating an example of the hardware configuration of the device according to the present embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0008] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of an electronic contract method, an electronic contract system, and a program according to the present invention will be described in detail below with reference to the accompanying drawings.
[0009] In the following, an example will be described in which an electronic contract system is realized as a system for managing electronic bidding and for making contracts related to electronic bidding, although the applicable system is not limited to systems related to electronic bidding.
[0010] In the above-mentioned conventional technology, multiple terminals used by multiple contractors each have a storage unit for storing a blockchain. That is, in the conventional technology, each terminal is configured to be a user terminal used for agreeing on a contract and also to store the blockchain.
[0011] If this configuration were applied to an electronic contract system for electronic bidding, for example, bidding companies (businesses and corporations equivalent to contractors who agree to a contract) would store the blockchain on their own terminals. Since the blockchain stores transactions for all contracts, bidding companies need to store all contracts for which there may be a large number of cases (for example, thousands to tens of thousands per year) on their own terminals, even if they are not related to them.
[0012] The electronic contract system of this embodiment does not have a memory unit for storing a blockchain internally, but instructs a blockchain system that has a memory unit for storing a blockchain to store a transaction.
[0013] The blockchain system is configured to store the blockchain in an internal storage unit according to instructions from an external system including the electronic contract system of this embodiment. The blockchain system is configured, for example, from multiple servers (blockchain peers) that are distributed. Each server is operated, for example, by multiple businesses that are unrelated to the parties of the electronic contract.
[0014] The electronic contract system, for example, uses a private key to affix an electronic signature to a transaction (a packet containing the transaction) and transmits the transaction to the blockchain system. After this, processing related to the blockchain is executed by the blockchain system.
[0015] In this way, the electronic contract system only needs to have functions (programs, etc.) for creating transactions, electronic signatures, and sending transactions, and does not need to have a memory unit for storing the blockchain inside. When a contractor is added, for example, it is only necessary to make the above functions available from the terminal used by the contractor, or to add a terminal that can use the above functions. In this way, it becomes possible to more easily build a system that stores blockchain related to a contract.
[0016] Fig. 1 is a block diagram showing an example of the configuration of an electronic contract system 100 according to this embodiment. As shown in Fig. 1, the electronic contract system 100 is connected to certificate authorities 201 and 202, a purchaser terminal 301, a bidder terminal 302, and a blockchain system 400 via a network 10.
[0017] The network 10 is, for example, the Internet, but may be any other type of network. The network 10 may be any of a wired network, a wireless network, and a mixed network of a wired network and a wireless network.
[0018] The certification authorities 201 and 202 are organizations that issue electronic certificates used in various systems. For example, the certification authorities 201 and 202 issue private keys and public key certificates in authentication technology based on a Public Key Infrastructure (PKI).
[0019] Certification authority 201 may be, for example, a ministry certification authority recognized by GPKI (Government Public Key Infrastructure) or an organization certification authority recognized by LGPKI (Local Government Public Key Infrastructure). A ministry certification authority is, for example, a certification authority that issues an official position certificate for a purchaser. An organization certification authority is a certification authority that issues a position certificate for a purchaser. Certification authority 202 may be, for example, a private certification authority that issues position certificates for bidders.
[0020] The certificate authorities 201 and 202 do not need to be distinguished from each other, and may be replaced by one certificate authority that issues digital certificates to both the purchaser and the bidder. Also, the electronic contract system 100 may be connected to three or more certificate authorities.
[0021] The certificate authorities 201, 202 may be configured to issue integrated circuit (IC) cards that store private keys and public key certificates.
[0022] The purchaser terminal 301 is a terminal used by a purchaser of electronic bidding. Although one purchaser terminal 301 is illustrated in FIG. 1, the electronic contract system 100 may be connected to two or more purchaser terminals 301.
[0023] The bidder terminal 302 is a terminal used by a bidder in an electronic bid. Although one bidder terminal 302 is illustrated in FIG. 1, the electronic contracting system 100 may be connected to two or more bidder terminals 302.
[0024] Each terminal (the purchaser terminal 301 and the bidder terminal 302) can be configured with a general computer such as a personal computer. Furthermore, each terminal uses each function of the electronic contract system 100 via various screens provided by the electronic contract system 100. For example, each terminal can be configured to use each function of the electronic contract system 100 through a browser or a web application.
[0025] As described above, the blockchain system 400 is a system configured to store a blockchain in an internal memory unit in accordance with instructions from an external system.
[0026] The blockchain system 400 includes a communication control unit 411, a smart contract processing unit 412, a management unit 413, and a blockchain storage unit 421. The blockchain system 400 includes a plurality of servers (blockchain peers) that are multiplexed and distributed so as to include each of these units. Each server may be built on a cloud environment.
[0027] The blockchain storage unit 421 is a storage unit that stores a blockchain. For example, the blockchain storage unit 421 stores a transaction in the blockchain in accordance with a smart contract executed by the smart contract processing unit 412.
[0028] The communication control unit 411 controls communication with external systems such as the electronic contract system 100. For example, the communication control unit 411 receives an instruction (such as an instruction to execute a smart contract) to store a transaction in the blockchain storage unit 421, which is sent from the electronic contract system 100. The communication control unit 411 also sends the execution result of the process (such as a return value of the instructed smart contract) to the source of the process request (such as the electronic contract system 100).
[0029] The smart contract processing unit 412 executes the smart contract that has been instructed to be executed. For example, the smart contract processing unit 412 executes the instructed smart contract among a plurality of smart contracts that each define processing for each type of transaction, and stores the transaction in the blockchain. The plurality of smart contracts include an electronic contract smart contract that stores a contract by the electronic contract system 100.
[0030] A smart contract may be written in a general-purpose language such as JavaScript (registered trademark). An external system such as the electronic contract system 100 can execute a desired smart contract using a web application that uses an API that calls the smart contract.
[0031] Execution of a smart contract can also be interpreted as a transaction. A log (transaction log) indicating the execution state of a transaction is stored in the blockchain. The transaction log includes, for example, information identifying the called smart contract, arguments of the smart contract, date and time, and the caller.
[0032] A new smart contract may be added and modified. The management unit 413 manages such smart contracts, as well as managing the state of the system and users. For example, the management unit 413 displays a management screen for modifying smart contracts and performing test execution on the terminal for the administrator. The management unit 413 also displays a screen for checking the state of the blockchain system 400 and a screen for changing user authority.
[0033] Modifications to smart contracts and other processes by administrators (such as changes to system configurations and changes to user permissions) may also be stored in the blockchain as transactions, making it possible to realize a more reliable system.
[0034] A smart contract may have a function of calling other smart contracts. For example, an electronic contract smart contract may be configured to call a smart contract for executing a payment process. If realized as a smart contract, a transaction log can be stored in the blockchain as described above, so that a more reliable system can be realized compared to a method of realizing payment processing outside the blockchain system 400.
[0035] The electronic contract system 100 includes a registration processing unit 111, a contract management unit 112, a bid processing unit 113, a contract processing unit 114, a memory control unit 115, an authentication unit 116, and a memory unit 121.
[0036] The registration processing unit 111 performs registration processing for users (first users) of the electronic contract system 100. A user corresponds to a contractor who enters into an electronic contract through the electronic contract system 100. For example, the registration processing unit 111 executes contractor registration processing to screen the qualifications of contractors who will place electronic bids and register contractors who have been approved as users. In the contractor registration processing, contractor information such as the contractor's name, representative's name, address, email address, and registration number issued at the time of approval is stored in, for example, the memory unit 121.
[0037] Furthermore, the registration processing unit 111 executes a usage registration process to allow registered vendors to use the electronic contract system 100. The usage registration process includes, for example, a process of registering information on an IC card previously assigned to the vendor. Prior to the usage registration process, the vendor obtains an IC card by requesting the issuance of an IC card from, for example, the certification authorities 201, 202. The IC card can be used, for example, for login processing to the electronic contract system 100 (identification using IC card information, or identity verification using a user ID and password) and for electronic signatures on electronic documents handled in electronic bidding processing.
[0038] The private key and public key certificate stored in the IC card may be used for the electronic signature of a transaction stored in the blockchain system 400. The key information used for the electronic signature of a transaction is not limited to the key information stored in the IC card issued for use in the electronic contract system 100.
[0039] For example, instead of an IC card, a private key assigned to a user (merchant) by any other method (any method is acceptable) may be used for electronic signing of a transaction. A wallet that stores a private key and a public key may be used instead of an IC card.
[0040] Two or more pieces of key information (IC cards, wallets) may be assigned to one trader. For example, different pieces of key information may be assigned to one trader for each type of electronic bidding. Also, different pieces of key information may be assigned to each individual belonging to one trader.
[0041] In such a case, the registration processing unit 111 may execute a process (association process) of associating a user (second user) of the blockchain system 400 with multiple pieces of key information. For example, the registration processing unit 111 executes an association process of associating one or more public keys assigned to a user of the electronic contract system 100 with a user of the blockchain system. A wallet address generated from the public key may be used instead of the public key.
[0042] The association process enables users of the electronic contract system 100 to store electronic contract transactions, which have been digitally signed using a private key assigned to them, in the blockchain system 400.
[0043] The contract management unit 112 manages contracts related to electronic bidding. For example, the contract management unit 112 registers items that are the subject of electronic bidding, manages successful bidders in electronic bidding, and manages the contents of contracts with successful bidders.
[0044] The bid processing unit 113 executes processes related to electronic bidding. For example, the bid processing unit 113 enables bidders to display or search for items registered by the contract management unit 112 as targets for electronic bidding. The bid processing unit 113 also accepts bid applications from bidders and information indicating the determined successful bidder.
[0045] The contract processing unit 114 executes processing related to electronic contracts. For example, the contract processing unit 114 receives an instruction for agreement on a contract concluded between a contractor (first contractor) corresponding to the purchaser of electronic bidding and a contractor (second contractor) corresponding to the successful bidder of electronic bidding. Then, the contract processing unit 114 uses the storage control unit 115 to perform processing for storing a transaction indicating that the contract has been agreed upon in the blockchain.
[0046] The function of the contract processing unit 114 may be integrated into the contract management unit 112. When adding a function for digitizing contracts (electronic contract function) to an existing system (such as an electronic bidding system), a configuration may be adopted in which the contract processing unit 114 that realizes the electronic contract function is provided independently of the contract management unit 112, as in this embodiment. This makes it possible to more easily add an electronic contract function to an existing system, i.e., a function for storing contracts in the blockchain system 400.
[0047] The storage control unit 115 controls the process of storing transactions in the blockchain storage unit 421. For example, the storage control unit 115 transmits to the blockchain system 400 an instruction to store in the blockchain a transaction (first transaction) indicating that the purchaser has agreed to the contract, and an instruction to store in the blockchain a transaction (second transaction) indicating that the successful bidder has agreed to the contract.
[0048] When the above-mentioned electronic contract smart contract is prepared, the storage control unit 115 can instruct, using the electronic contract smart contract, i.e., by invoking the electronic contract smart contract, to store a transaction indicating that the contract has been agreed to in the blockchain.
[0049] When the registration processing unit 111 executes the association process, the storage control unit 115 may store in the blockchain a transaction indicating the association process, for example, a transaction (third transaction) indicating that one or more public keys (or wallet addresses) assigned to a user of the electronic contract system 100 have been associated with a user of the blockchain system. This makes it possible to verify that the electronic contract has been stored by the correct user.
[0050] The authentication unit 116 authenticates a user of the electronic contract system 100. For example, the authentication unit 116 authenticates the user using authentication information including a user ID, which is identification information of the user, and a password. The authentication method is not limited to this, and any method may be used. For example, an authentication method using a PIN (Personal Identification Number) number stored in an IC card may be used.
[0051] The storage unit 121 stores various information used in the electronic contract system 100. For example, the storage unit 121 stores trader information obtained in trader registration processing by the registration processing unit 111. The storage unit 121 also stores correspondence information obtained in correspondence processing by the registration processing unit 111.
[0052] FIG. 2 is a diagram showing an example of the data structure of the correspondence information. As shown in FIG. 2, the correspondence information has a structure in which a blockchain user ID and key information are associated with each other. The blockchain user ID is identification information of a user of the blockchain system 400. The key information is information that identifies a key assigned to a user (such as a trader) of the electronic contract system 100 corresponding to the user identified by the blockchain user ID. For example, the information that identifies the key is a public key contained in an IC card or wallet, or a unique value calculated from this public key.
[0053] Each of the above units (registration processing unit 111, contract management unit 112, bid processing unit 113, contract processing unit 114, memory control unit 115, and authentication unit 116) is realized, for example, by one or more processors. For example, each of the above units may be realized by having a processor such as a CPU (Central Processing Unit) execute a program, that is, by software. Each of the above units may be realized by a processor such as a dedicated IC, that is, by hardware. Each of the above units may be realized by using a combination of software and hardware. When multiple processors are used, each processor may realize one of the units, or two or more of the units.
[0054] Each of the above memory units (memory unit 121 and blockchain memory unit 421) can be composed of any commonly used storage medium such as a flash memory, a memory card, a RAM (Random Access Memory), a HDD (Hard Disk Drive), and an optical disk.
[0055] The electronic contract system 100 may be built on a cloud environment, or, similar to the blockchain system 400, may be composed of multiple servers in a distributed manner.
[0056] Next, the pre-registration process by the electronic contract system 100 configured as above will be described. The pre-registration process is a process performed before the execution of an electronic contract, and includes the above-mentioned trader registration process and user registration process. Figure 3 is a sequence diagram showing an example of the pre-registration process in this embodiment.
[0057] A bidder uses the bidder terminal 302 to send a qualification application to the electronic contract system 100 (step S101). For example, a screen for the qualification application provided by the electronic contract system 100 is displayed on the browser of the bidder terminal 302. The bidder uses this screen to send the qualification application.
[0058] The registration processing unit 111 of the electronic contract system 100 receives the transmitted qualification application and executes a trader registration process to register the approved bidder (step S102).
[0059] The qualification review may be performed by a reviewer by reviewing the application documents. In such a case, the contractor registration process may be performed when the reviewer completes the review and indicates to the electronic contract system 100 that the reviewer has approved the bidder.
[0060] The registration processing unit 111 transmits the screening results to the bidder terminal 302 (step S103). The screening results are transmitted by email, for example, but may be transmitted by any other method.
[0061] If the bidder is approved as a result of the qualification application, the bidder uses the bidder terminal 302 to request the certificate authority 202 to issue an IC card for the user registration process (step S104). The certificate authority 202 sends the issued IC card to the bidder who made the request (step S105).
[0062] The bidder who has received the IC card uses the bidder terminal 302 to send a registration application to the electronic contract system 100 (step S106). For example, the electronic contract system 100 (registration processing unit 111) displays a screen on the bidder terminal 302 for inputting the bidder's registration number and password, etc., which are notified when the qualification application is sent or are notified as a result of the qualification screening. When the bidder inputs the registration number and password, etc. on this screen, the registration processing unit 111 displays a screen for registering user information. The user information includes, for example, the company information of the bidder (contractor), the person in charge, and a contact email address. When the bidder inputs the user information on this screen and instructs registration, a registration application including the user information is sent to the electronic contract system 100.
[0063] The registration processing unit 111 executes the usage registration process in response to the transmitted usage registration application (step S107). For example, the registration processing unit 111 stores the user information included in the usage registration application in the storage unit 121 or the like.
[0064] The registration processing unit 111 may execute the association process (step S108). The registration processing unit 111 stores the association information obtained by the association process in the storage unit 121. The registration processing unit 111 also stores a transaction indicating the association process in the block chain system 400 (block chain storage unit 421) via the storage control unit 115 (step S109).
[0065] Next, an explanation will be given of electronic bidding and electronic contract processing by the electronic contract system 100 configured as described above. The electronic bidding and electronic contract processing includes processing related to electronic bidding (steps S201 to S210) and processing for storing the contract concluded as a result of electronic bidding in the blockchain (steps S211 to S217). Figure 4 is a sequence diagram showing an example of electronic bidding and electronic contract processing in this embodiment.
[0066] Steps S201 to S204 correspond to the login process to the electronic contract system 100 by the purchaser and the bidder.
[0067] For example, the purchaser inputs the purchaser's authentication information (e.g., user ID and password) using an authentication screen displayed on the purchaser terminal 301, and transmits the authentication information to the electronic contract system 100 (authentication unit 116) (step S201). The authentication unit 116 performs authentication using the authentication information, and transmits the authentication result to the purchaser terminal 301 (step S202).
[0068] Similarly, the bidder inputs the bidder's authentication information using the authentication screen displayed on the bidder terminal 302, and transmits the authentication information to the electronic contract system 100 (the authentication unit 116) (step S203). The authentication unit 116 performs authentication using the authentication information, and transmits the authentication result to the bidder terminal 302 (step S204).
[0069] If the login is successful, the purchaser inputs information about the project to be the subject of electronic bidding (project information) and instructs registration, for example, using a project registration screen displayed on the purchaser terminal 301. In response to the instruction, the purchaser terminal 301 transmits an instruction to register the project information to the electronic contract system 100 (contract management unit 112) (step S205).
[0070] The contract management unit 112 performs processing such as registering the relevant item as a target for electronic bidding in accordance with the received item information. The registered item is displayed, for example, on a screen for electronic bidding, or is made searchable on the screen for electronic bidding.
[0071] If the login is successful, the bidder inputs bidding information including the bidding conditions for the desired item, for example, using an electronic bidding screen displayed on the bidder terminal 302, and issues an instruction to transmit the information. In response to the instruction, the bidder terminal 302 transmits the bidding information to the electronic contract system 100 (the bidding processing unit 113) (step S206).
[0072] The purchaser refers to the bidding information sent from each bidder and determines the successful bidder. The purchaser inputs the successful bidder information indicating the determined successful bidder using, for example, a screen for registering the successful bidder displayed on the purchaser terminal 301, and instructs transmission. In response to the instruction, the purchaser terminal 301 transmits the successful bidder information to the electronic contract system 100 (the bidding processing unit 113) (step S207).
[0073] The bidding processing unit 113 transmits the transmitted successful bidder information to the contract management unit 112 (step S208). This enables the contract management unit 112 to manage the fact that a successful bidder for the item has been determined.
[0074] The purchaser further inputs the contents of the contract to be concluded with the successful bidder, for example, using a screen for registering the contract contents displayed on the purchaser terminal 301, and instructs transmission. In response to the instruction, the purchaser terminal 301 transmits the contract contents to the electronic contract system 100 (contract management unit 112) (step S209).
[0075] The contract management unit 112 generates contract information equivalent to electronic data of the contract in accordance with the received contract contents (step S210).
[0076] In the case of a system that does not execute electronic contracts, for example, the generated contract information is printed on a paper medium, and a contract is executed using the paper medium. In this embodiment, an electronic contract is executed using electronic data of the contract through the following steps S211 to S217.
[0077] The contract processing unit 114 transmits the contract information to the bidder terminal 302 used by the successful bidder (step S211). The contract information may include not only the contract but also electronic data of other related documents (related documents) (details will be described later).
[0078] The bidder (successful bidder) inputs information indicating that he / she agrees to the contract and issues an instruction to send, for example, using a screen for forming an agreement displayed on the bidder terminal 302. In response to the instruction, the bidder terminal 302 sends information indicating the agreement to the contract to the electronic contract system 100 (the contract processing unit 114) (step S212).
[0079] When the contract processing unit 114 receives the instruction to agree to the contract, it instructs the storage control unit 115 to store the transaction information including the information indicating the contract agreement as a transaction in the blockchain system 400 (step S213). For example, the contract processing unit 114 instructs to store a transaction indicating that the contract has been agreed to using an electronic contract smart contract.
[0080] In response to the instruction, the storage control unit 115 stores the transaction information as a transaction in the blockchain system 400 (blockchain storage unit 421) (step S214). For example, the storage control unit 115 stores the transaction by calling an electronic contract smart contract.
[0081] The same process is executed on the purchaser side. For example, the purchaser inputs information indicating that he / she agrees to the contract using a screen for forming an agreement displayed on the purchaser terminal 301, and instructs transmission. In response to the instruction, the purchaser terminal 301 transmits information indicating the contract agreement to the electronic contract system 100 (contract processing unit 114) (step S215).
[0082] Steps S216 and S217 are similar to steps S213 and S214, and therefore the description thereof will be omitted.
[0083] In FIG. 4, the bidder (successful bidder) first stores the transaction for the contract agreement, and then the purchaser stores the transaction for the contract agreement, but the order of these storage processes may be reversed.
[0084] In addition, while Figure 4 shows an example of a two-party (client, successful bidder) agreement, the same procedure can be applied to an agreement between three or more contracting parties. In this case, multiple transactions indicating the agreement between multiple contracting parties are linked and stored in the blockchain.
[0085] Next, the details of the electronic bidding and electronic contract processing will be described in further detail. Fig. 5 is a diagram showing an example of the flow of the electronic bidding and electronic contract processing.
[0086] In Figure 5, the contract processing unit 114 is shown divided into an "electronic contract" function that creates contract information for electronic contracts, a "contract APL (application)" function that stores contract transactions in the blockchain, and a "login processing" function that performs identity verification of the contracting party.
[0087] The vendor information obtained by the qualification application and vendor registration processing by the registration processing unit 111 is stored in the memory unit 121 or the like and is referenced by the contract management unit 112 (step S301). The contract management unit 112 registers the item information transmitted in accordance with the purchaser's instructions (step S302). The registered item is transmitted to the bidding processing unit 113 as a subject for electronic bidding (step S303).
[0088] The bidding processing unit 113 receives bidding information transmitted from the bidders (step S304). The bidding processing unit 113 notifies the successful bidder among the bidders that the bid has been successful, in accordance with the successful bidder information determined by the purchaser (step S305). The bidding processing unit 113 also transmits the successful bid result to the contract management unit 112 (step S306).
[0089] The contract management unit 112 receives the contract contents input by the purchaser (step S307). Fig. 6 is a diagram showing an example of a contract contents input screen used for inputting the contract contents. The contract contents input screen includes a function for searching for a target case, a function for deleting a contract, a function for updating a contract, and a function for registering the inputted contract contents.
[0090] Returning to FIG. 5, the contract management unit 112 transmits contract information generated based on the contract contents inputted on the contract contents input screen of FIG. 6 or the like to the contract processing unit 114 (step S308).
[0091] The contract information may be output to the contract processing unit 114 when the purchaser specifies the output. Fig. 7 is a diagram showing an example of a contract output screen for specifying the output of the contract information. The contract output screen includes a function for searching for a target case, and a function for outputting contract information corresponding to the contract contents.
[0092] Returning to FIG. 5, information for identifying the successful bidder (for example, identification information such as a user ID) is transmitted, for example, from the bid processing unit 113 to the contract processing unit 114 (step S309).
[0093] As described above, the contract information may include electronic data of related books of the contract. For example, the contract processing unit 114 displays a screen for specifying related books on the purchaser terminal 301, and receives information indicating the related books specified by the purchaser using this screen (step S310). The contract processing unit 114 may store and manage the related books in the storage unit 121 or the like (book management in FIG. 5).
[0094] In generating a contract transaction, identification information of the contractant (step S311) and a hash value of the contractant information (step S312) are used.
[0095] The contract processing unit 114 transmits the contract information to the bidder terminal 302 used by the successful bidder (step S313). If the successful bidder indicates agreement to the contract, information indicating the agreement to the contract is transmitted to the contract processing unit 114 (step S314). The contract processing unit 114 stores the transaction information including information indicating that the successful bidder has agreed to the contract as a transaction in the blockchain system 400.
[0096] When the client indicates agreement to the contract (step S315), the contract processing unit 114 stores transaction information including information indicating that the client has agreed to the contract as a transaction in the blockchain system 400.
[0097] The contract processing unit 114 transmits information indicating the result of the contract to the contract management unit 112 (steps S316, S317).
[0098] In this way, according to this embodiment, it is possible to realize the function of electronic contracting (contract processing unit 114) in cooperation with each function such as qualification application (registration processing unit 111), electronic bidding (bidding processing unit 113), and contract management (contract management unit 112).
[0099] 8 is a diagram showing an example of an electronic contract screen that can be used in various processes by the contract processing unit 114. The electronic contract screen includes an add related document button 801, a send contract document button 802, an agree to contract button 803, and an end button 804.
[0100] When the Add Related Document button 801 is pressed, for example, a screen for specifying related documents to be added to the contract is displayed. The contractor can add related documents through this screen.
[0101] When the contract document transmission button 802 is pressed, the contract information is transmitted to the successful bidder (the bidder terminal 302). This function corresponds to step S313 in FIG.
[0102] When the contract agreement button 803 is pressed, transaction information including information indicating that the contract has been agreed to is stored as a transaction in the blockchain system 400. This function corresponds to steps S314 and S315 in FIG.
[0103] When the end button 804 is pressed, the processing by the contract processing unit 114 ends. At this time, information indicating the contract result may be transmitted to the contract management unit 112 (step S317 in FIG. 5).
[0104] Fig. 9 is a diagram showing an example of the flow of an electronic contract on the successful bidder's side. The successful bidder is authenticated, for example, by the login processing function of the contract processing unit 114. The contract APL function of the contract processing unit 114 makes it possible to search for cases that are the subject of an electronic contract and to download contract information. The contract set corresponds to the downloaded contract information (which may include related documents).
[0105] The successful bidder can further specify a contract agreement using the contract APL function of the contract processing unit 114 and store the contract agreement in the blockchain system 400 as a transaction indicating the contract agreement.
[0106] Fig. 10 is a diagram showing an example of the flow of an electronic contract on the purchaser's side. The purchaser is authenticated, for example, by the login processing function of the contract processing unit 114. The purchaser can input the contract contents to be included in the contract document using the contract management unit 112 ("Contract Management" in Fig. 10). In addition, the contract APL function of the contract processing unit 114 makes it possible to add related documents and search for other past contracts.
[0107] The purchaser can further specify a contract agreement using the contract APL function of the contract processing unit 114 and store the contract agreement in the blockchain system 400 as a transaction indicating the contract agreement.
[0108] Fig. 11 is a diagram showing an example of the data structure of transaction information. The electronic document in Fig. 11 corresponds to, for example, electronic data of a contract. Party A and Party B correspond to, for example, a successful bidder and an orderer.
[0109] As shown in FIG. 11, the transaction information includes information obtained by digitally signing a hash value of an electronic document, a public key address, and information indicating a transaction.
[0110] The hash value may be calculated by any method. For example, a calculation method using a hash function such as SHA-256 (Secure Hash Algorithm 256-bit) can be applied. SHA-256 calculates a hash value by summarizing data of any length into 256 bits.
[0111] The information indicating the transaction corresponds to, for example, information indicating agreement to the contract. If it is specified that the contract is not agreed to, the information indicating that the contract is not agreed to may be stored as the information indicating the transaction.
[0112] In this way, in this embodiment, the electronic document itself is not stored in the blockchain, and only the fact of the transaction (contract agreement) is stored. Also, in this embodiment, for example, after A (the successful bidder) stores his / her agreement in the blockchain storage unit 421, B (the purchaser) can reach an agreement on the same electronic document. In other words, it is possible to store in the blockchain that multiple contractors (A, B) have agreed on the electronic data of one contract.
[0113] The validity of transactions stored in the blockchain can be verified by a third party. The third party can be, for example, an individual (such as an auditor) who is not a contractor (successful bidder) belonging to the contractor, a loan officer for the contractor, or a resident related to the contracted project.
[0114] In this embodiment, the electronic document stored in the blockchain is an electronic bidding contract. As described above, electronic bidding may be permitted only to bidders who have been certified in the qualification screening and have been issued an IC card by a certification authority. For this reason, the electronic bidding contract may only correspond to a part of the documents handled by the organization to which the bidder belongs.
[0115] However, since the electronic document storage method of the present embodiment is a method in which the electronic document itself is not signed, the electronic document to be stored does not have to be limited to the electronic bidding contract. In other words, the electronic document to be stored in the blockchain is not limited to the electronic bidding contract, and may be any electronic document.
[0116] For example, the target document can be expanded to the following document: Even when the target document is expanded in this way, the method of this embodiment can be applied without modification. Contract for voluntary contract · Contract-related documents (applications, drawings, documents, etc.) Other general documents
[0117] As described above, the electronic contract system according to the present embodiment does not include a storage unit for storing a blockchain internally, but instructs a blockchain system that includes a storage unit for storing a blockchain to store transactions related to electronic documents. Therefore, it is possible to more easily build a system for storing a blockchain related to a contract.
[0118] Furthermore, even if there is an existing system (such as an electronic bidding system), transactions related to electronic documents can be stored in the blockchain by simply adding a function that links with the blockchain system (a contract processing unit).
[0119] If an existing system has a linkage function for the functions to be added, such as a single sign-on function, the electronic contract system can be realized more easily by using such linkage function.
[0120] Furthermore, when key information such as an IC card is used in an existing system, this key information can also be used for the electronic signature of a transaction stored in the block chain system 400. This makes it possible to simplify the management of key information.
[0121] Next, the hardware configuration of the device (client terminal 301, bidder terminal 302) according to this embodiment will be described with reference to Fig. 12. Fig. 12 is an explanatory diagram showing an example of the hardware configuration of the device according to this embodiment.
[0122] The device of this embodiment includes a control device such as a CPU 51, a storage device such as a ROM (Read Only Memory) 52 and a RAM (Random Access Memory) 53, a communication I / F 54 that connects to a network and communicates, and a bus 61 that connects each part.
[0123] The programs executed in the electronic contract system according to this embodiment are provided in a state that they are pre-installed in the ROM 52 or the like.
[0124] The programs executed by the electronic contract system of this embodiment may be configured to be provided as a computer program product by being recorded in an installable or executable format on a computer-readable recording medium such as a CD-ROM (Compact Disk Read Only Memory), a flexible disk (FD), a CD-R (Compact Disk Recordable), or a DVD (Digital Versatile Disk).
[0125] Furthermore, the program executed by the electronic contract system according to the present embodiment may be configured to be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Also, the program executed by the electronic contract system according to the present embodiment may be configured to be provided or distributed via a network such as the Internet.
[0126] The program executed in the electronic contract system according to this embodiment can cause a computer to function as each part of the electronic contract system described above. In this computer, the CPU can read the program from a computer-readable storage medium onto a main storage device and execute the program.
[0127] Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and spirit of the invention, and are included in the scope of the invention and its equivalents described in the claims. [Explanation of symbols]
[0128] 100 Electronic Contract System 111 Registration processing unit 112 Contract Management Department 113 Bidding Processing Unit 114 Contract Processing Department 115 Memory control unit 116 Authentication Department 121 Storage section 201 Certificate Authority 202 Certificate Authority 301 Orderer terminal 302 Bidders' terminal 400 Blockchain System 411 Communication Control Unit 412 Smart contract processing unit 413 Management Department 421 Blockchain Storage Unit
Claims
1. 1. An electronic contract method executed in an electronic contract system connected to a blockchain system that stores transactions in a blockchain, comprising: a contract processing step of receiving, from each of a first contractor and a second contractor, an instruction of agreement on a contract concluded between the first contractor and the second contractor; a storage control step of transmitting to the blockchain system an instruction to store in the blockchain a first transaction indicating that the first contractor has agreed to the contract, and an instruction to store in the blockchain a second transaction indicating that the second contractor has agreed to the contract; An electronic contract method including:
2. The blockchain system is configured to store the transaction in the blockchain in accordance with a designated smart contract among a plurality of smart contracts each defining a process for each type of transaction; The plurality of smart contracts include an electronic contract smart contract that stores a contract by the electronic contract system; The storage control step includes transmitting, using the electronic contract smart contract, an instruction to store the first transaction in the blockchain and an instruction to store the second transaction in the blockchain. The electronic contract method according to claim 1 .
3. a registration processing step for performing a process of associating one or more public keys or wallet addresses assigned to a first user, who is either the first contract holder or the second contract holder, with a second user, who is a user of the blockchain system; A second storage control step of transmitting an instruction to the blockchain system to store a third transaction indicating that the public key or wallet address has been associated with the second user in the blockchain, The electronic contract method according to claim 1 .
4. The storage control step includes transmitting to the blockchain system an instruction to store in the blockchain the first transaction digitally signed by a first private key assigned to the first contractor, and an instruction to store in the blockchain the second transaction digitally signed by a second private key assigned to the second contractor. The electronic contract method according to claim 1 .
5. The first contractor is an orderer for electronic bidding, The second contractor is a successful bidder in the electronic bidding, The contract indicates the contract for electronic bidding, the first private key is a key assigned to the first contractor for processing the electronic bid; the second private key is a key assigned to the second contractor for processing the electronic bid; The electronic contract method according to claim 4.
6. The first contractor is an orderer for electronic bidding, The second contractor is a successful bidder in the electronic bidding, The contract indicates the contract for electronic bidding, The second private key is a key assigned to the second contractor who is not assigned a private key for processing the electronic bid, for use in electronically signing a transaction to be stored in the blockchain. The electronic contract method according to claim 4.
7. the first private key is a key assigned to the first contractor for processing the electronic bid; The electronic contract method according to claim 6.
8. The first private key is a key assigned to the first contractor who is not assigned a private key for processing the electronic bid, for use in electronically signing a transaction to be stored in the blockchain. The electronic contract method according to claim 6.
9. The first transaction includes information indicating that the first contractor has agreed to the contract and a hash value of an electronic document related to the contract; the second transaction includes information indicating that the second contracting party has agreed to the contract and a hash value of the electronic document; The electronic contract method according to claim 1 .
10. The contract processing step includes receiving, from each of a plurality of contracting parties including the first contracting party and the second contracting party, an instruction of agreement regarding a contract concluded between the plurality of contracting parties, the plurality of contracting parties including the first contracting party and the second contracting party; The storage control step includes transmitting, to the blockchain system, a plurality of instructions to store, in the blockchain, a plurality of transactions indicating that each of the plurality of contracting parties has agreed to the contract. The electronic contract method according to claim 1 .
11. An electronic contract system connected to a blockchain system that stores transactions in a blockchain, a contract processing unit that receives, from each of a first contractor and a second contractor, an instruction of agreement on a contract concluded between the first contractor and the second contractor; a storage control unit that transmits to the blockchain system an instruction to store in the blockchain a first transaction indicating that the first contractor has agreed to the contract, and an instruction to store in the blockchain a second transaction indicating that the second contractor has agreed to the contract; An electronic contract system comprising:
12. A computer included in an electronic contract system connected to a blockchain system that stores transactions in a blockchain, a contract processing step of receiving, from each of a first contractor and a second contractor, an instruction of agreement on a contract concluded between the first contractor and the second contractor; a storage control step of transmitting to the blockchain system an instruction to store in the blockchain a first transaction indicating that the first contractor has agreed to the contract, and an instruction to store in the blockchain a second transaction indicating that the second contractor has agreed to the contract; A program for executing.
Citation Information
Patent Citations
Contract agreement method, agreement verification method, contract agreement device, and agreement verification device
JP2017220710A
Program, device, and method for processing information
JP2020071810A
Signature server, signature method and signature program
JP2020113085A
Contract agreement method, agreement verification method, contract agreement system, agreement verification device, contract agreement device, contract agreement program and agreement verification program
WO2017010455A1
Transaction processing device, transaction processing method, and program for same
WO2017170912A1