A method and system for online contract signing based on smart contracts

By using smart contracts on the blockchain to record the electronic contract signing process, the problems of cumbersome, time-consuming, and untraceable contract signing in the past are solved, and fast and secure online contract signing and traceability functions are realized.

CN120013548BActive Publication Date: 2026-01-06TIANJUDIHE (SUZHOU) TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411835712.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-13
Publication Date
2026-01-06
Estimated Expiration
2044-12-13

AI Technical Summary

Technical Problem

The existing contract signing process is cumbersome, time-consuming, and lacks traceability, resulting in a poor user experience.

Method used

The electronic contract signing process is executed and recorded on the blockchain network through smart contracts. The contract initiator and signatory sign the smart contract and add electronic seals respectively. The signature information is encrypted with public and private keys. The smart contract verifies the legality of the signature and saves the data.

Benefits of technology

It simplifies the contract signing process, ensures the secure transmission of electronic contracts and the immutability of data, provides traceability capabilities, and improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120013548B_ABST
    Figure CN120013548B_ABST
Patent Text Reader

Abstract

This application discloses an online contract signing method and system based on smart contracts. The method includes: the contract initiator generating and signing an electronic contract, submitting it to a smart contract, and saving the submission information after the smart contract verifies the submitter's identity. The signatory verifies the electronic contract, which is found to be correct in the smart contract, and submits it to the smart contract after signing. The contract initiator and the signatory sequentially verify the latest electronic contract in the smart contract. After successful verification, they add a text signature and corresponding electronic seal to the electronic contract, sign it, and submit it to the smart contract. Once the contract initiator verifies the latest electronic contract in the smart contract, the online contract signing is confirmed as complete. This simplifies the contract signing process, making it convenient and fast; multiple signatures and verifications of the electronic contract ensure data reliability and security. The electronic contract signing process data is stored in the smart contract, preventing unauthorized modification of the electronic contract and facilitating traceability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, specifically to the fields of blockchain and collaborative remote work, and particularly to an online contract signing method and system based on smart contracts. Background Technology

[0002] Currently, contract signing is generally conducted offline. After drafting the contract, the drafting party prints multiple copies, which are then distributed to the relevant signing parties. Once the signing parties confirm that the contract content is correct, both parties affix their seals and signatures, completing the signing of the contract.

[0003] However, existing offline contract signing requires paper printing, consuming paper; and signing and stamping require the signatory to be present in person or via mail for confirmation, which is cumbersome and time-consuming. Most importantly, existing contract signing methods lack traceability after signing, making it impossible to resolve disputes based on traceability information, resulting in a poor user experience. Summary of the Invention

[0004] This application provides an online contract signing method and system based on smart contracts to solve the problems of existing contract signing schemes being cumbersome, time-consuming, and lacking traceability, thus resulting in a poor user experience.

[0005] The technical solution is as follows:

[0006] Firstly, a method for online contract signing based on smart contracts is provided, applied to a blockchain network with deployed smart contracts, wherein the smart contracts can be used to execute and record the signing of electronic contracts; the method includes:

[0007] The contract initiating node submits the electronic contract and its own first signature on the electronic contract to the smart contract. The smart contract verifies the submitted information of the contract initiating node and saves the submitted information after verification.

[0008] After the signing node views and confirms that the electronic contract is correct and the first signature has been verified, it submits its second signature on the electronic contract to the smart contract. The smart contract verifies the signing node's latest submission and saves the latest submission after verification.

[0009] The contract initiating node reads the electronic contract from the smart contract, adds the contract initiator's text signature and first electronic signature, and submits the latest electronic contract signed by the contract initiator and its own third signature on the latest electronic contract to the smart contract; the smart contract verifies the contract initiating node's latest submission information, and saves the latest submission information after verification; the first electronic signature is related to the electronic contract;

[0010] After the signing node verifies and approves the latest submitted information in the smart contract, it adds the signatory's text signature and second electronic signature to the latest electronic contract, and submits the latest electronic contract signed by the signatory and its own fourth signature to the latest electronic contract to the smart contract; the smart contract verifies the signing node's latest submitted information, and saves the latest submitted information after verification; the second electronic signature is related to the electronic contract signed by the contract initiator;

[0011] The contract initiating node verifies the latest submitted information in the smart contract, and after the verification is successful, determines that the online contract signing is complete.

[0012] In one possible implementation, before the contract initiating node submits the electronic contract and its own first signature on the electronic contract to the smart contract, the method further includes:

[0013] The contract initiating node and the signing node respectively send a contract signing request to the smart contract; based on the contract signing request, the smart contract deploys the contract content for executing and recording the electronic contract signing on the blockchain network and adds it to the address where the smart contract is located; wherein, only the contract initiating node and the signing node can perform relevant write operations based on the contract content.

[0014] In one possible implementation, the first signature is the result of encrypting the encoded information of the electronic contract based on the private key of the contract initiator; and / or; the second signature is the result of encrypting the encoded information of the electronic contract based on the private key of the signatory; and / or; the third signature is the result of encrypting the encoded information of the latest electronic contract signed by the contract initiator based on the private key of the contract initiator; and / or; the fourth signature is the result of encrypting the encoded information of the latest electronic contract signed by the signatory based on the private key of the signatory.

[0015] In one possible implementation, the first electronic signature is a barcode or QR code generated by encrypting the encoded information of the electronic contract and the current time based on the private key of the contract initiator; and / or the second electronic signature is a barcode or QR code generated by encrypting the encoded information of the electronic contract signed by the contract initiator and the current time based on the private key of the signatory.

[0016] In one possible implementation, the signing node reads the latest submission information in the smart contract for signature verification, specifically including:

[0017] The signing node uses the public key of the contract initiator to decrypt the third signature submitted by the contract initiator in the smart contract; if the decryption is successful, it uses the public key of the contract initiator to further decrypt the first electronic signature; if the decryption is successful, the signature verification is passed.

[0018] In one possible implementation, the contract initiating node verifies the latest submission information in the smart contract, specifically including:

[0019] The contract initiating node uses the public key of the signatory to decrypt the fourth signature submitted by the signatory in the smart contract; if the decryption is successful, the public key of the signatory is used to further decrypt the second electronic signature; if the decryption is successful, the signature verification is passed.

[0020] Secondly, a smart contract-based online contract signing system is provided, applied to a blockchain network with deployed smart contracts. This smart contract can be used to execute and record the signing of electronic contracts. The online contract signing system includes: a contract initiation node, a signing node, and a smart contract; wherein...

[0021] The contract initiating node submits the electronic contract and its own first signature on the electronic contract to the smart contract. The smart contract verifies the submitted information of the contract initiating node and saves the submitted information after verification.

[0022] After the signing node views and confirms that the electronic contract is correct and the first signature has been verified, it submits its second signature on the electronic contract to the smart contract. The smart contract verifies the signing node's latest submission and saves the latest submission after verification.

[0023] The contract initiating node reads the electronic contract from the smart contract, adds the contract initiator's text signature and first electronic signature, and submits the latest electronic contract signed by the contract initiator and its own third signature on the latest electronic contract to the smart contract; the smart contract verifies the contract initiating node's latest submission information, and saves the latest submission information after verification; the first electronic signature is related to the electronic contract;

[0024] After the signing node verifies and approves the latest submitted information in the smart contract, it adds the signatory's text signature and second electronic signature to the latest electronic contract, and submits the latest electronic contract signed by the signatory and its own fourth signature to the latest electronic contract to the smart contract; the smart contract verifies the signing node's latest submitted information, and saves the latest submitted information after verification; the second electronic signature is related to the electronic contract signed by the contract initiator;

[0025] The contract initiating node verifies the latest submitted information in the smart contract, and after the verification is successful, determines that the online contract signing is complete.

[0026] Thirdly, a computer-readable storage medium is provided, wherein at least one instruction is stored therein, the at least one instruction being loaded and executed by a processor to implement the aspects and any possible implementations described above.

[0027] Fourthly, an electronic device is provided, comprising:

[0028] At least one processor; and

[0029] A memory communicatively connected to the at least one processor; wherein,

[0030] The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the methods described above and any possible implementations.

[0031] Fifthly, a computer program product is provided, comprising a computer program that, when executed by a processor, implements the aspects and any possible implementations described above.

[0032] The beneficial effects of the technical solution provided in this application include at least the following:

[0033] As described in the above technical solution, the contract initiator generates and signs an electronic contract, submits it to a smart contract, and saves the submission information after the smart contract verifies the submitter's identity. Then, the signatory views and confirms the contract content in the smart contract via a web link, verifies the electronic contract, signs it, and submits it to the smart contract. The smart contract again verifies the submitter's identity and saves the submission information. Next, both the contract initiator and the signatory verify the latest electronic contract in the smart contract. After verification, they add their text signatures and corresponding electronic seals to the electronic contract via a web link, submit it to the smart contract, and finally, the contract initiator verifies the latest electronic contract in the smart contract. Upon successful verification, the online contract signing is confirmed as complete. Therefore, online electronic contracts replace offline paper contracts, simplifying the contract signing process and making it convenient and fast. Furthermore, each initiation or receipt of an electronic contract involves verification, ensuring reliable transmission between the signatory and initiator. Meanwhile, storing each confirmation and modification of the electronic contract in a smart contract prevents unauthorized alteration and ensures data security. Furthermore, as the recorder of the electronic contract signing process, the smart contract accurately records all relevant data, facilitating traceability.

[0034] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this application, nor is it intended to limit the scope of this application. Other features of this application will become readily apparent from the following description. Attached Figure Description

[0035] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0036] Figure 1 This is a schematic diagram illustrating the steps of an online contract signing method based on smart contracts provided in an embodiment of this application.

[0037] Figure 2 This is a schematic diagram of an online contract signing process based on smart contracts provided in an embodiment of this application.

[0038] Figure 3 This is a schematic diagram of the structure of an online contract signing system based on smart contracts provided in an embodiment of this application.

[0039] Figure 4 This is a block diagram of the electronic device provided in the embodiments of this application. Detailed Implementation

[0040] The following description, in conjunction with the accompanying drawings, illustrates exemplary embodiments of this application, including various details to aid understanding. These should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this application. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0041] Obviously, the described embodiments are only some, not all, of the embodiments in this application. All other embodiments obtained by those skilled in the art based on the embodiments in this application without inventive effort are within the scope of protection of this application.

[0042] It should be noted that the terminal devices involved in the embodiments of this application may include, but are not limited to, smart devices such as mobile phones, personal digital assistants (PDAs), wireless handheld devices, and tablet computers; the display devices may include, but are not limited to, personal computers, televisions, and other devices with display functions.

[0043] Furthermore, the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.

[0044] Existing contract signing methods are almost entirely offline, but the confirmation process is cumbersome and time-consuming. Furthermore, once a contract is signed, its origin is untraceable, resulting in a poor user experience. Therefore, this application provides an online contract signing solution based on smart contracts. The inventive concept is as follows: The contract initiator generates and signs an electronic contract, submits it to a smart contract, and saves the submission information after the smart contract verifies the submitter's identity. Then, the signatory views and confirms the contract content in the smart contract via a web link, verifies the electronic contract, and after successful verification, signs and submits the electronic contract to the smart contract. The smart contract again saves the submission information after verifying the submitter's identity. Next, the contract initiator and the signatory sequentially verify the latest electronic contract in the smart contract. After successful verification, they add their text signatures and corresponding electronic seals to the electronic contract via a web link, submit it to the smart contract, and finally, the contract initiator verifies the latest electronic contract in the smart contract. Upon successful verification, the online contract signing is confirmed as complete. Therefore, replacing offline paper contracts with online electronic contracts simplifies the contract signing process, making it more convenient and faster. Furthermore, each initiation or receipt of an electronic contract undergoes verification, ensuring reliable transmission between the signing and initiating parties. Simultaneously, storing each confirmation and modification of the electronic contract in a smart contract prevents unauthorized alteration and ensures data security. Moreover, as the recorder of the electronic contract signing process, the smart contract accurately records relevant data, facilitating traceability.

[0045] Reference Figure 1 The diagram illustrates the steps of an online contract signing method based on smart contracts, as provided in this embodiment. This online contract signing scheme is applied to a blockchain network deployed with smart contracts, which can be used to execute and record the signing of electronic contracts. The executing entities of this online contract signing method are the node devices participating in the smart contract-based online contract signing scheme, namely the contract initiating node and signing node in the blockchain network, and the smart contract in the blockchain network. Each of the contract initiating node and signing node possesses its own public key, private key, and account address, which can be derived from the public key.

[0046] like Figure 1 As shown, this smart contract-based online contract signing method may include the following steps:

[0047] Step 102: The contract initiating node submits the electronic contract and its own first signature on the electronic contract to the smart contract. The smart contract verifies the submitted information of the contract initiating node and saves the submitted information after verification.

[0048] Before the contract initiating node submits the electronic contract and its own first signature on the electronic contract to the smart contract, the contract initiating node and the signing node respectively send a contract signing request to the smart contract; based on the contract signing request, the smart contract deploys on the blockchain network to execute and record the contract content of the electronic contract signing, and adds it to the address where the smart contract is located; wherein, only the contract initiating node and the signing node can perform relevant write operations based on the contract content.

[0049] Before signing the contract, both the initiating and signing parties will apply to the smart contract publisher (similar to a third-party security agency, ensuring the security and compliance of the smart contract) through their respective node devices. The smart contract publisher will then deploy a dedicated smart contract on the blockchain, specifically for online electronic contract signing and data maintenance, and publish the address of this smart contract. It should be understood that after the smart contract is deployed, only the initiating and signing parties can access and execute the write function, i.e., they can write data into the smart contract.

[0050] The contract initiating node generates an electronic contract in image format based on the contract content drafted by the contract initiator. Then, the contract initiator signs the electronic contract using their private key and submits the electronic contract and the initial signature to the smart contract according to the smart contract's address.

[0051] After receiving the submission information, the smart contract verifies the contract initiating node to ensure it is a node device with write permissions before saving the received submission information. Specifically, the smart contract can decrypt and verify the first signature using the public key of the contract initiating node stored locally. If the verification passes, it indicates that the contract initiating node that submitted the information is a node device with the necessary permissions.

[0052] Step 104: After the signing node views and confirms that the electronic contract is correct and the first signature has been verified, it submits its second signature on the electronic contract to the smart contract; the smart contract verifies the signing node's latest submission information and saves the latest submission information after verification.

[0053] A signing node can retrieve an electronic contract from a smart contract via a web link. After verifying the contract's content, it uses the contract initiator's public key to verify the first signature. Upon successful verification, the node signs the electronic contract using its own private key and submits the electronic contract and second signature to the smart contract corresponding to the contract address. The smart contract authenticates the signing node submitting the information, ensuring it is a node device with write permissions before saving the received submission information. Specifically, the smart contract can decrypt and verify the second signature using the signing node's locally stored public key. If the verification passes, it indicates that the signing node submitting the information is an authorized node device.

[0054] Step 106: The contract initiating node reads the electronic contract from the smart contract, adds the contract initiator's text signature and first electronic signature, and submits the latest electronic contract signed by the contract initiator and its own third signature on the latest electronic contract to the smart contract; the smart contract verifies the contract initiating node's latest submission information, and saves the latest submission information after verification; the first electronic signature is related to the electronic contract.

[0055] The contract initiating node can retrieve the latest submitted electronic contract from the smart contract via a web link, sign it online, and add a first electronic signature, resulting in a newly signed electronic contract. The contract initiating node then uses its private key to sign the latest electronic contract (a third signature) and submits the latest electronic contract and the third signature to the smart contract corresponding to the contract address. Upon receiving the latest submission, the smart contract uses the public key of the contract initiating node stored locally to decrypt and verify the third signature in the submission. If the verification passes, it indicates that the contract initiating node has write permissions, and the received submission is saved. The first electronic signature is a barcode or QR code generated by encrypting the electronic contract's encoded information and the current time using the contract initiating node's private key.

[0056] Step 108: After the signing node verifies and approves the latest submitted information in the smart contract, it adds the signatory's text signature and second electronic signature to the latest electronic contract, and submits the latest electronic contract signed by the signatory and its own fourth signature to the latest electronic contract to the smart contract; the smart contract verifies the signing node's latest submitted information, and saves the latest submitted information after verification; the second electronic signature is related to the electronic contract signed by the contract initiator.

[0057] Specifically, when the signing node reads the latest submitted information in the smart contract for signature verification, it can use the public key of the contract initiator to decrypt the third signature submitted by the contract initiator in the smart contract; if the decryption is successful, the public key of the contract initiator is used to further decrypt the first electronic signature; if the decryption is successful, the signature verification is passed.

[0058] Subsequently, the signing node performs an online text signature on the electronic contract based on the web link, and simultaneously adds a second electronic signature, resulting in the latest electronic contract signed by the signatory. Then, the signatory uses its own private key to sign the latest electronic contract (fourth signature) and submits the latest electronic contract and the fourth signature to the smart contract corresponding to the contract address. Upon receiving the latest submission information, the smart contract uses the public key of the signing node stored locally to decrypt and verify the fourth signature in the submission information. If the verification passes, it indicates that the signing node submitting the information has write permissions, and the latest submission information received is saved. The second electronic signature is a barcode or QR code generated by encrypting the encoded information of the electronic contract signed by the contract initiator and the current time based on the signatory's private key.

[0059] Step 110: The contract initiating node verifies the latest submitted information in the smart contract, and after the verification is successful, determines that the online contract signing is complete.

[0060] Specifically, when the contract initiating node verifies the latest submitted information in the smart contract, it can use the public key of the signatory to decrypt the fourth signature submitted by the signatory in the smart contract. If the decryption is successful, the public key of the signatory is used to further decrypt the second electronic signature. If the decryption is successful, the verification is passed. After the contract initiating node verifies the latest submitted information in the smart contract, the online contract signing scheme is considered complete.

[0061] It should be understood that in the scheme of this application, each time the smart contract saves new submission information, it can record the saving time in each submission message, or each submission message can carry the time information of the current signature. This makes it convenient to accurately find the required data based on the time information when reading data from the smart contract.

[0062] In this application, the first signature is the result of encrypting the encoded information of the electronic contract based on the private key of the contract initiator; and / or; the second signature is the result of encrypting the encoded information of the electronic contract based on the private key of the signatory; and / or; the third signature is the result of encrypting the encoded information of the latest electronic contract signed by the contract initiator based on the private key of the contract initiator; and / or; the fourth signature is the result of encrypting the encoded information of the latest electronic contract signed by the signatory based on the private key of the signatory. Therefore, by repeatedly signing and verifying the electronic contract at different times, the electronic contract processing party can be effectively verified, ensuring the reliability of the electronic contract.

[0063] Reference Figure 2 The diagram shown is a schematic representation of an online contract signing process based on smart contracts provided in an embodiment of this application. Figure 2 As shown, the contract initiating node is the terminal device used by Company A, which is labeled as Company A's side; the signing party is the terminal device used by Employee B, which is labeled as Employee B's side. Company A's private key a1 and public key a2; Employee B's private key b1 and public key b2; and both Company A's public key a2 and Employee B's public key b2 are stored in the smart contract. All data generated during the electronic contract signing process is stored in the smart contract. In the actual signing scheme, Company A or Employee B can access the data in the smart contract online via a web link.

[0064] The signing process below only shows the important steps; other steps not shown can be referred to. Figure 1 The relevant content of the illustrated embodiment.

[0065] Step 202: Company A drafts and generates an electronic contract, signs the electronic contract using private key a1, and submits the electronic contract and the first signature to the smart contract.

[0066] Step 204: The smart contract uses the locally stored public key a2 of company A to verify the first signature, and saves the submission information after the verification is successful.

[0067] Step 206: After employee B views and confirms the electronic contract is correct from the smart contract, they use company A's public key a2 to verify the first signature.

[0068] Step 208: After the signature verification is successful, employee B uses private key b1 to sign the electronic contract and submits the electronic contract and the second signature to the smart contract.

[0069] Step 210: The smart contract uses the public key b2 of employee B stored locally to verify the second signature, and saves the submission information after the verification is successful.

[0070] Step 212: Company A reads the latest submitted electronic contract from the smart contract, adds the company name and a QR code signature generated based on private key a1 to the electronic contract, and signs the electronic contract (third signature) using private key a1. The electronic contract with the added company name and QR code signature, the third signature, and the signing time are then submitted to the smart contract.

[0071] Specifically, Company A can use the webpage's canvas technology to sign online, adding its company name. The QR code signature is then added to the electronic contract using canvas technology and saved as an image. Subsequently, the signed electronic contract image, signing time, and third signature from Company A are submitted to the smart contract.

[0072] Step 214: The smart contract uses the public key a2 of company A stored locally to verify the third signature, and saves the submission information after the verification is successful.

[0073] Step 216: Employee B uses Company A's public key a2 to verify the third signature and QR code seal of the latest electronic contract in the smart contract.

[0074] Step 218: After the signature verification is successful, employee B adds the employee's name and a QR code signature generated based on private key b1 to the latest electronic contract, and signs the electronic contract (fourth signature) using private key b1. The electronic contract with the added employee name and QR code signature, along with the fourth signature and signing time, is submitted to the smart contract.

[0075] Similarly, employees on the B side can also use the webpage's canvas technology to add employee names and QR code signatures.

[0076] Step 220: Company A uses employee B's public key b2 to verify the fourth signature and QR code seal of the latest electronic contract in the smart contract. After the verification is successful, the online contract signing is confirmed to be completed.

[0077] This electronic contract offers a convenient and quick signing process, requiring only online operation to complete the contract signing. It also preserves the original form of previous contracts to the greatest extent possible, allowing for printing out a paper copy if necessary. Furthermore, it utilizes blockchain and cryptography principles to ensure security, making every step of the signing process traceable and easy to track. Additionally, smart contracts restrict the submission of accounts, preventing the signature content from being submitted to the smart contract even if it is leaked, thus strengthening security.

[0078] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.

[0079] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.

[0080] Figure 3 This application provides a structural block diagram of an online contract signing system based on smart contracts, as illustrated in one embodiment. Figure 3As shown. The smart contract-based online contract signing system 300 of this embodiment is applied to a blockchain network with deployed smart contracts. The smart contracts can be used to execute and record the signing of electronic contracts. The online contract signing system 300 may include: a contract initiating node 301, a signing node 302, and a smart contract 303. There may be one or more signing nodes 302, and this application does not limit this. Contract initiating node 301 submits the electronic contract and its own first signature on the electronic contract to smart contract 303. Smart contract 303 verifies the submitted information of contract initiating node 301 and saves the submission information after verification. Signing node 302 checks and confirms the electronic contract is correct and the first signature has been verified in smart contract 303, then submits its second signature on the electronic contract to smart contract 303. Smart contract 303 verifies the latest submission information of signing node 302 and saves the latest submission information after verification. Contract initiating node 301 reads the electronic contract from smart contract 303, adds the contract initiator's text signature and first electronic seal, and submits the latest electronic contract signed by the contract initiator and its own third signature on the latest electronic contract to smart contract 303. Approximately 303; the smart contract 303 verifies the latest submitted information by the contract initiating node 301 and saves the latest submitted information after verification; the first electronic signature is related to the electronic contract; after the signing node 302 verifies the latest submitted information in the smart contract 303 and passes the verification, it adds the signatory's text signature and second electronic signature to the latest electronic contract, and submits the latest electronic contract signed by the signatory and its own fourth signature to the latest electronic contract to the smart contract 303; the smart contract 303 verifies the latest submitted information by the signing node and saves the latest submitted information after verification; the second electronic signature is related to the electronic contract signed by the contract initiator; the contract initiating node 301 verifies the latest submitted information in the smart contract 303 and, after the verification is passed, determines that the online contract signing is complete.

[0081] It should be noted that some or all of the smart contract-based online contract signing system in this embodiment may be an application located on a local terminal, or it may be a plugin or software development kit (SDK) or other functional unit set in an application located on a local terminal, or it may be a processing engine located on a network-side server, or it may be a distributed system located on the network side.

[0082] It is understood that the application may be a native program installed on the local terminal, or it may be a web application of a browser on the local terminal. This embodiment does not limit this.

[0083] Optionally, in one possible implementation of this embodiment, before the contract initiating node 301 submits the electronic contract and its own first signature on the electronic contract to the smart contract 303, the contract initiating node 301 and the signing node 302 respectively send a contract signing request to the smart contract 303; based on the contract signing request, the smart contract 303 deploys contract content on the blockchain network for executing and recording the signing of the electronic contract, and adds it to the address where the smart contract 303 is located; wherein, only the contract initiating node 301 and the signing node 302 can perform relevant write operations based on the contract content.

[0084] Optionally, in one possible implementation of this embodiment, the first signature is the result of encrypting the encoded information of the electronic contract based on the public key of the contract initiator; and / or; the second signature is the result of encrypting the encoded information of the electronic contract based on the public key of the signatory; and / or; the third signature is the result of encrypting the encoded information of the latest electronic contract signed by the contract initiator based on the private key of the contract initiator; and / or; the fourth signature is the result of encrypting the encoded information of the latest electronic contract signed by the signatory based on the private key of the signatory.

[0085] Optionally, in one possible implementation of this embodiment, the first electronic signature is a barcode or QR code generated by encrypting the encoded information of the electronic contract and the current time based on the private key of the contract initiator; and / or the second electronic signature is a barcode or QR code generated by encrypting the encoded information of the electronic contract signed by the contract initiator and the current time based on the private key of the signatory.

[0086] Optionally, in one possible implementation of this embodiment, when the signing node 302 reads the latest submission information in the smart contract 303 for signature verification, it specifically uses the public key of the contract initiator to decrypt the third signature submitted by the contract initiator in the smart contract 303; if the decryption is successful, it uses the public key of the contract initiator to further decrypt the first electronic signature; if the decryption is successful, the signature verification is passed.

[0087] Optionally, in one possible implementation of this embodiment, when the contract initiating node 301 verifies the latest submitted information in the smart contract 303, it specifically uses the public key of the signatory to decrypt the fourth signature submitted by the signatory in the smart contract; if the decryption is successful, it uses the public key of the signatory to further decrypt the second electronic signature; if the decryption is successful, the verification is passed.

[0088] In this embodiment, the contract initiator can generate and sign an electronic contract, submit it to a smart contract, and save the submission information after the smart contract verifies the submitter's identity. Then, the signatory can view and confirm the contract content in the smart contract via a web link, verify the electronic contract, and after successful verification, sign and submit it to the smart contract. The smart contract then saves the submission information after verifying the submitter's identity. Next, the contract initiator and the signatory will sequentially verify the latest electronic contract in the smart contract. After successful verification, they will add their text signatures and corresponding electronic seals to the electronic contract via a web link, sign it, and submit it to the smart contract. Finally, the contract initiator will verify the latest electronic contract in the smart contract, and after successful verification, the online contract signing will be confirmed as complete. Thus, online electronic contracts replace offline paper contracts, simplifying the contract signing process and making it convenient and fast. Moreover, each initiation or receipt of an electronic contract involves verification, ensuring reliable transmission of the electronic contract between the signatory and the initiator. Meanwhile, storing each confirmation and modification of the electronic contract within a smart contract prevents unauthorized alteration and ensures data security. Furthermore, as the recorder of the electronic contract signing process, the smart contract accurately records all relevant data, facilitating traceability.

[0089] One embodiment of this application provides a computer-readable storage medium storing at least one instruction, which is loaded and executed by a processor to implement the online contract signing method based on smart contracts as described above.

[0090] One embodiment of this application provides an electronic device, which includes a processor and a memory. The memory stores at least one instruction, which is loaded and executed by the processor to implement the online contract signing method based on smart contracts as described above.

[0091] One embodiment of this application provides a computer program product, including a computer program that, when executed by a processor, implements the aforementioned online contract signing method based on smart contracts.

[0092] The collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in the technical solution of this application all comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0093] Figure 4 A schematic block diagram of an example electronic device 400 that can be used to implement embodiments of this application is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the application described and / or claimed herein.

[0094] like Figure 4 As shown, the electronic device 400 includes a computing unit 401, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 402 or a computer program loaded from a storage unit 408 into a random access memory (RAM) 403. The RAM 403 may also store various programs and data required for the operation of the electronic device 400. The computing unit 401, ROM 402, and RAM 403 are interconnected via a bus 404. An input / output (I / O) interface 405 is also connected to the bus 404.

[0095] Multiple components in electronic device 400 are connected to I / O interface 405, including: input unit 406, such as keyboard, mouse, etc.; output unit 407, such as various types of displays, speakers, etc.; storage unit 408, such as disk, optical disk, etc.; and communication unit 409, such as network card, modem, wireless transceiver, etc. Communication unit 409 allows electronic device 400 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0096] The computing unit 401 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 401 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 401 performs the various methods and processes described above, such as a smart contract-based online contract signing method. For example, in some embodiments, the smart contract-based online contract signing method can be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 408. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 400 via ROM 402 and / or communication unit 409. When the computer program is loaded into RAM 403 and executed by the computing unit 401, one or more steps of the smart contract-based online contract signing method described above can be performed. Alternatively, in other embodiments, computing unit 401 may be configured by any other suitable means (e.g., by means of firmware) to perform a method of online contract signing based on smart contracts.

[0097] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0098] The program code used to implement the methods of this application may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing device, such that when executed by the processor or controller, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0099] In the context of this application, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0100] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0101] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0102] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0103] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this application can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this application can be achieved, and this is not limited herein.

[0104] The specific embodiments described above do not constitute a limitation on the scope of protection of this application. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this application should be included within the scope of protection of this application.

Claims

1. An online contract signing method based on a smart contract, characterized in that, The application is applied to a blockchain network deployed with a smart contract capable of being used to execute and record signing of an electronic contract; the method comprises: A contract initiating node submits an electronic contract and a first signature of the contract initiating node on the electronic contract to the smart contract, the smart contract verifies the contract initiating node submitting the information and saves the submission information after verification; A signing node checks and confirms the electronic contract from the smart contract and submits a second signature of the signing node on the electronic contract to the smart contract after passing verification of the first signature; the smart contract verifies the signing node submitting the latest information and saves the latest submission information after verification; The contract initiating node reads the electronic contract from the smart contract, adds a text signature and a first electronic seal of the contract initiating party, submits the latest electronic contract signed by the contract initiating party and a third signature of the contract initiating node on the latest electronic contract to the smart contract; the smart contract verifies the contract initiating node submitting the latest information and saves the latest submission information after verification; the first electronic seal is related to the electronic contract; The signing node passes verification of the latest submission information in the smart contract, adds a text signature and a second electronic seal of the signing party on the latest electronic contract, submits the latest electronic contract signed by the signing party and a fourth signature of the signing node on the latest electronic contract to the smart contract; the smart contract verifies the signing node submitting the latest information and saves the latest submission information after verification; the second electronic seal is related to the electronic contract signed by the contract initiating party; The contract initiating node verifies the latest submission information in the smart contract and determines that the online contract signing is completed after passing verification.

2. The method of claim 1, wherein, Before the contract initiating node submits an electronic contract and a first signature of the contract initiating node on the electronic contract to the smart contract, the method further comprises: The contract initiating node and the signing node respectively send a contract signing request to the smart contract; The smart contract deploys a contract content for executing and recording signing of the electronic contract based on the contract signing request, and adds to the address of the smart contract; Wherein, only the contract initiating node and the signing node can perform relevant write operations based on the contract content.

3. The method of claim 1, wherein, The first signature is a result of encrypting encoded information of the electronic contract based on a private key of the contract initiating party; and / or; The second signature is a result of encrypting encoded information of the electronic contract based on a private key of the signing party; and / or; The third signature is a result of encrypting encoded information of the latest electronic contract signed by the contract initiating party based on a private key of the contract initiating party; and / or; The fourth signature is a result of encrypting encoded information of the latest electronic contract signed by the signing party based on a private key of the signing party.

4. The method according to any one of claims 1 to 3, characterized in that, The first electronic seal is a result of encrypting encoded information of the electronic contract and the current time based on a private key of the contract initiating party, generating a barcode or a two-dimensional code; and / or; The second electronic seal is the result of encrypting the encoding information of the electronic contract signed by the contract initiator and the current time based on the private key of the signing party, and generates a barcode or a two-dimensional code.

5. The method of claim 4, wherein, The signing node reads the latest submission information in the smart contract for signature verification, specifically including: The signing node uses the public key of the contract initiator to decrypt the third signature submitted by the contract initiator in the smart contract; If the decryption is successful, the public key of the contract initiator is further used to decrypt the first electronic seal; If the decryption is successful, the signature verification is passed.

6. The method of claim 4, wherein, The contract initiator node verifies the latest submission information in the smart contract, specifically including: The contract initiator node uses the public key of the signing party to decrypt the fourth signature submitted by the signing party in the smart contract; If the decryption is successful, the public key of the signing party is further used to decrypt the second electronic seal; If the decryption is successful, the signature verification is passed.

7. An online contract signing system based on a smart contract, characterized by, The application is applied to a blockchain network deployed with a smart contract, which can be used to execute and record the signing of an electronic contract. The online contract signing system includes a contract initiator node, a signing node, and a smart contract. The contract initiator node submits an electronic contract and its first signature of the electronic contract to the smart contract, and the smart contract verifies the contract initiator of the submission information and saves the submission information after verification; The signing node views and confirms the electronic contract from the smart contract, and submits its second signature of the electronic contract to the smart contract after the first signature is verified; the smart contract verifies the signing node of the latest submission information and saves the latest submission information after verification; The contract initiator node reads the electronic contract from the smart contract, adds the text signature and the first electronic seal of the contract initiator, and submits the latest electronic contract signed by the contract initiator and its third signature of the latest electronic contract to the smart contract; the smart contract verifies the contract initiator of the latest submission information and saves the latest submission information after verification; the first electronic seal is related to the electronic contract; The signing node adds the text signature and the second electronic seal of the signing party on the latest electronic contract after the signature verification of the latest submission information in the smart contract is passed, and submits the latest electronic contract signed by the signing party and its fourth signature of the latest electronic contract to the smart contract; the smart contract verifies the signing node of the latest submission information and saves the latest submission information after verification; the second electronic seal is related to the electronic contract signed by the contract initiator; The contract initiator node verifies the latest submission information in the smart contract, and determines that the online contract signing is completed after the signature verification is passed.

8. An electronic device, comprising: at least one processor; and a memory connected in communication with the at least one processor; wherein, The memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1-6.

9. A non-transitory computer readable storage medium having stored thereon computer instructions, wherein, The computer instructions are for causing the computer to perform the method according to any one of claims 1-6.

10. A computer program product comprising a computer program which, when executed by a processor, implements the method according to any one of claims 1-6.

Citation Information

Patent Citations

  • Intelligent contract credible storage method and system with an access control function

    CN109493042A

  • Electronic signature system and method based on block chain

    CN115688191A