An online contract signing method and system based on an unforgeable database
By recording the generation, signing, and verification process of electronic contracts in an immutable database, the problem of cumbersome, time-consuming, and untraceable contract signing methods in the past is solved, enabling reliable transmission and detailed traceability of electronic contracts and improving user experience.
Patent Information
- Application Number
- CN202411835716.3
- 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
The existing contract signing process is cumbersome, time-consuming, and lacks traceability, resulting in a poor user experience.
The generation, signing, and verification process of electronic contracts are recorded through an immutable database to ensure the immutability and traceability of contract content, including remote online port confirmation and signing operations by the contract initiator and signatory.
It simplifies the contract signing process, ensures reliable transmission and data integrity of electronic contracts, provides detailed contract traceability records, and enhances the user experience.
Smart Images

Figure CN120013549B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of computer, in particular to the technical field of tamper-proof database and collaborative remote office, and specifically relates to an online contract signing method and system based on tamper-proof database. BACKGROUND
[0002] The current contract signing is generally realized offline. After a contract drafter drafts a contract, the contract is printed in paper, and after printing, multiple copies are distributed to the corresponding signatories. After the signatories confirm that the contract content is correct, the signing parties complete the signing of a contract by stamping and signing.
[0003] However, the existing offline contract signing needs paper printing, consumes paper, and the stamping and signing needs the signing personnel to go to the site or confirm the signing through mailing, which is a relatively cumbersome and time-consuming offline confirmation operation. Most importantly, the existing contract signing method cannot be traced after signing the contract, so it cannot solve the dispute according to the traceability information when facing a contract dispute, and the user experience is poor. SUMMARY
[0004] The present application provides an online contract signing method and system based on tamper-proof database to solve the problem of the existing contract signing scheme being cumbersome and time-consuming and not traceable, thereby leading to poor user experience.
[0005] The technical solution is as follows:
[0006] In a first aspect, an online contract signing method based on tamper-proof database is provided, comprising:
[0007] A contract initiator generates an electronic contract based on the drafted contract content, and saves the electronic contract and a first signature of the electronic contract to a tamper-proof database; wherein the first signature is a result of encrypting a hash value of the electronic contract based on a private key of the contract initiator;
[0008] After a signatory views and confirms that the contract content of the electronic contract is correct through a remote online port, the signatory verifies the first signature saved in the tamper-proof database using a public key of the contract initiator, and after the verification is passed, saves the electronic contract and a second signature of the electronic contract to the tamper-proof database, wherein the second signature is a result of encrypting the hash value of the electronic contract based on a private key of the signatory;
[0009] After successfully verifying the latest data in the immutable database, the contract initiator confirms and adds its text signature and first electronic seal to the electronic contract via the remote online port. The electronic contract, containing the initiator's text signature and first electronic seal, along with the initiator's signature time and a third signature, is then saved to the immutable database. The third signature is the result of encrypting the hash value of the electronic contract signed by the initiator using its private key. The first electronic seal is associated with the electronic contract.
[0010] After successfully verifying the latest data in the immutable database, the signatory confirms and adds its text signature and second electronic signature to the electronic contract signed by the contract initiator via the remote online port. The signatory also saves the signed electronic contract, the signing time, and a fourth signature to the immutable database. The fourth signature is the result of encrypting the hash value of the signed electronic contract using the signatory's private key. The second electronic signature is associated with the electronic contract signed by the contract initiator.
[0011] The contract initiator verifies the signing record stored by the signatory in the immutable database, and confirms the completion of the online contract signing upon successful verification.
[0012] In one possible implementation, the remote online port includes at least the following types: webpage, mini-program, email, or other APP interface.
[0013] In one possible implementation, the first electronic signature is a barcode or QR code generated based on the hash value of the electronic contract and the current time encrypted using the private key of the contract initiator; and / or;
[0014] The second electronic signature is a barcode or QR code generated by encrypting the hash value of the electronic contract signed by the contract initiator and the current time based on the private key of the contracting party.
[0015] In one possible implementation, the contract initiator verifies the latest data in the immutable database, specifically including:
[0016] The contract initiator uses the public key of the signatory to decrypt the second signature stored by the signatory in the immutable database; if the decryption is successful, the signature verification is passed.
[0017] In one possible implementation, the signatory verifies the latest data in the immutable database, specifically including:
[0018] The signatory uses the public key of the contract initiator to decrypt the third signature stored by the contract initiator in the immutable database; if the decryption is successful, the signatory 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.
[0019] In one possible implementation, the contract initiator verifies the signature of the contract record stored by the signatory in the immutable database, specifically including:
[0020] The contract initiator uses the public key of the signatory to decrypt the fourth signature stored by the signatory in the immutable database; if the decryption is successful, the signatory uses the public key of the signatory to further decrypt the second electronic signature; if the decryption is successful, the signature verification is passed.
[0021] Secondly, an online contract signing system based on an immutable database is provided, comprising: a contract initiator, contracting parties, and an immutable database; wherein,
[0022] The contract initiator generates an electronic contract based on the drafted contract content and saves the electronic contract and a first signature of the electronic contract to an immutable database; wherein, the first signature is the result of encrypting the hash value of the electronic contract based on the private key of the contract initiator.
[0023] After the signatory views and confirms that the content of the electronic contract is correct through a remote online port, the signatory uses the public key of the contract initiator to verify the first signature stored in the immutable database. After the verification is successful, the electronic contract and the second signature of the electronic contract are saved to the immutable database. The second signature is the result of encrypting the hash value of the electronic contract based on the signatory's private key.
[0024] After successfully verifying the latest data in the immutable database, the contract initiator confirms and adds its text signature and first electronic seal to the electronic contract via the remote online port. The electronic contract, containing the initiator's text signature and first electronic seal, along with the initiator's signature time and a third signature, is then saved to the immutable database. The third signature is the result of encrypting the hash value of the electronic contract signed by the initiator using its private key. The first electronic seal is associated with the electronic contract.
[0025] After successfully verifying the latest data in the immutable database, the signatory confirms and adds its text signature and second electronic signature to the electronic contract signed by the contract initiator via the remote online port. The signatory also saves the signed electronic contract, the signing time, and a fourth signature to the immutable database. The fourth signature is the result of encrypting the hash value of the signed electronic contract using the signatory's private key. The second electronic signature is associated with the electronic contract signed by the contract initiator.
[0026] The contract initiator verifies the signing record stored by the signatory in the immutable database, and confirms the completion of the online contract signing upon successful verification.
[0027] 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.
[0028] Fourthly, an electronic device is provided, comprising:
[0029] At least one processor; and
[0030] A memory communicatively connected to the at least one processor; wherein,
[0031] 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.
[0032] 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.
[0033] The beneficial effects of the technical solution provided in this application include at least the following:
[0034] As described in the above technical solution, the contract initiator generates and signs an electronic contract, which is then saved to an immutable database. Subsequently, the contracting parties, through a remote online port, view and confirm the contract content in the immutable database. After verification, they sign the electronic contract and save it to the immutable database. Then, the contract initiator verifies the latest electronic contract in the immutable database. Upon successful verification, they add a text signature and a first electronic seal to the electronic contract via the remote online port, sign it, and save it to the immutable database. Next, the contracting parties verify the latest electronic contract in the immutable database. Upon successful verification, they add their text signature and a second electronic seal to the signed electronic contract via the remote online port, sign it, and save it to the immutable database. Finally, the contract initiator verifies the latest electronic contract in the immutable database, and upon successful verification, confirms the completion of the online contract signing. 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, every confirmation and modification of the electronic contract is recorded in an immutable database, preventing unauthorized modification. Moreover, this immutable database, as the recorder of the electronic contract signing process, accurately and comprehensively records relevant data, facilitating traceability.
[0035] 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
[0036] 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.
[0037] Figure 1 This is a schematic diagram illustrating the steps of an online contract signing method based on an immutable database, as provided in an embodiment of this application.
[0038] Figure 2 This is a schematic diagram of an online contract signing process based on an immutable database, provided in an embodiment of this application.
[0039] Figure 3 This is a schematic diagram of the structure of an online contract signing system based on an immutable database provided in an embodiment of this application.
[0040] Figure 4 This is a structural block diagram of an electronic device provided in another embodiment of this application. Detailed Implementation
[0041] 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.
[0042] 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.
[0043] 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.
[0044] 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.
[0045] 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 cannot be traced, resulting in a poor user experience. Therefore, this application provides an online contract signing solution based on an immutable database. The inventive concept is as follows: the contract initiator generates and signs an electronic contract, saving it to an immutable database. Then, the signatory remotely checks and confirms the contract content in the immutable database via a remote online port, verifies the electronic contract, and, upon successful verification, signs and saves it to the immutable database. Next, the contract initiator verifies the latest electronic contract in the immutable database, and upon successful verification, adds a text signature and a first electronic seal to the electronic contract via a remote online port, signs it, and saves it to the immutable database. Finally, the signatory verifies the latest electronic contract in the immutable database, and upon successful verification, adds their text signature and a second electronic seal to the signed electronic contract via a remote online port, signs it, and saves it to the immutable database. Finally, the contract initiator verifies the latest electronic contract in the immutable database, and upon successful verification, confirms the completion of the online contract signing. Thus, 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 contracting parties and the initiator. Simultaneously, recording each confirmation and modification of the electronic contract in the immutable database prevents unauthorized modification. Moreover, as the recorder of the electronic contract signing process, the immutable database accurately and comprehensively records relevant data, facilitating traceability.
[0046] Reference Figure 1 The diagram illustrates the steps of an online contract signing method based on an immutable database, as provided in an embodiment of this application. The executing entities of this online contract signing method are the terminal devices participating in the online contract signing scheme based on an immutable database, namely the contract initiator and the signatory; and the immutable database itself. In this application, the contract initiator and the signatory can be software modules with computing and data processing capabilities, or electronic devices integrating similar software modules.
[0047] like Figure 1 As shown, this online contract signing method based on an immutable database may include the following steps:
[0048] Step 102: The contract initiator generates an electronic contract based on the drafted contract content and saves the electronic contract and the first signature of the electronic contract to an immutable database; wherein, the first signature is the result of signing the hash value of the electronic contract based on the private key of the contract initiator.
[0049] In this application scheme, since it is a contract signing scheme, there must be two parties involved in this contract signing scheme: the contract initiator who drafts the contract content and initiates the contract signing operation, and the contracting party who signs the contract. Here, the contract initiator can be regarded as the terminal device used and operated by the contract initiator or group, or the contract initiation end; the contracting party can be regarded as the terminal device used and operated by the signatory, or the signing end.
[0050] After the contract initiator or contract initiating group drafts the contract, the initiating party can generate an electronic contract based on the content of the drafted contract. To ensure that the electronic contract is tamper-proof and non-repudiable, the initiating party hashes the electronic contract, generates a digest (hash value), and then signs the hash value using the initiator's private key, thus obtaining the initiator's first signature on the electronic contract. Afterwards, the electronic contract and the first signature are saved together to an immutable database.
[0051] It should be noted that when hashing electronic contracts, the contract content is first converted into an image, and then a hash value is generated from the electronic contract image and signed using the corresponding private key. Therefore, the electronic contracts involved in this application can be regarded as image-format contracts.
[0052] In this application, the immutable database can be a database that is immutable, in which once data is written, it cannot be changed or deleted, and the latest data or data from other times can be found based on the time-series recorded data.
[0053] Step 104: After the signatory views and confirms that the content of the electronic contract is correct through a remote online port, the signatory uses the public key of the contract initiator to verify the first signature stored in the immutable database. After the verification is successful, the electronic contract and the second signature of the electronic contract are saved to the immutable database. The second signature is the result of signing the hash value of the electronic contract based on the signatory's private key.
[0054] After the electronic contract and its initial signature are saved to an immutable database by the contract initiator, the contracting parties can view and confirm the contract's content via a remote online portal. This allows them to verify the contract's validity, legality, and consistency with previously agreed-upon terms. The remote online portal can be at least one of the following types: a webpage, a mini-program, email, or another app interface. For example, the contracting parties can retrieve the electronic contract from the immutable database via a webpage link and view and confirm its content.
[0055] After confirming the contract content is correct, the contracting parties use the public key of the contract initiator to verify the first signature of the electronic contract in the immutable database. Upon successful verification, the contracting parties use their own private key to sign the hash value of the electronic contract, obtaining their second signature. Subsequently, the confirmed electronic contract and the second signature are saved to the immutable database. It should be understood that the immutable database records not only contract data but also the time information when the contract-related data is saved.
[0056] In this step, the signatory verifies the first signature on the electronic contract, ensuring its integrity and authenticating its origin. Therefore, signing and verifying the electronic contract verifies whether the contract data has been tampered with during transmission, confirms the identity of the transmitter uploading the contract data, and ensures data integrity and authenticity.
[0057] It should be understood that in this application, the contracting parties can be a single terminal device used by one signatory, or multiple terminal devices used by multiple signatories. That is, the electronic contract signing can occur between a contract initiator and a single signatory, or between a contract initiator and multiple signatories. This application does not limit this.
[0058] Step 106: After successfully verifying the latest data in the immutable database, the contract initiator confirms and adds the contract initiator's text signature and first electronic seal to the electronic contract through the remote online port. The electronic contract carrying the contract initiator's text signature and first electronic seal, the contract initiator's signature time, and a third signature are then saved to the immutable database. The third signature is the result of signing the hash value of the electronic contract signed by the contract initiator using the contract initiator's private key. The first electronic seal is associated with the electronic contract.
[0059] After the electronic contract is initiated by the contract initiator and saved to an immutable database, the contracting parties confirm the contract content and verify the signatures. Following this verification, the contracting parties sign the electronic contract and save it to the immutable database. This completes the verification of the contract content by both parties. Afterwards, both the contract initiator and the contracting parties sign the contract in writing, which is the offline signing process.
[0060] In practice, firstly, the contract initiator verifies the latest data in the immutable database, i.e., the electronic contract carrying the second signature stored by the signatory. The contract initiator can use the signatory's public key to verify the electronic contract carrying the second signature, and after successful verification, "signs" the electronic contract through a remote online port. This "signature" can include two parts: first, the contract initiator confirms and adds its textual signature to the electronic contract through the remote online port; second, the contract initiator adds a first electronic seal to the electronic contract through the remote online port. The textual signature can be the name of the initiator or organization of the electronic contract, such as a company name or legal person name. The first electronic seal can be a barcode or QR code generated by signing the hash value of the electronic contract and the current time based on the contract initiator's private key. Then, using the contract initiator's private key, the hash value of the electronic contract with the added textual signature and first electronic seal is encrypted to obtain the contract initiator's third signature on the electronic contract. Then, the contract initiator will add the contract's written signature and first electronic seal, along with the electronic contract carrying a third signature, and save it together with the contract initiator's signature time to an immutable database.
[0061] Step 108: After successfully verifying the latest data in the immutable database, the signatory confirms and adds its text signature and second electronic seal to the electronic contract signed by the contract initiator through the remote online port. The signatory also saves the electronic contract signed by the signatory, the signing time, and the fourth signature to the immutable database. The fourth signature is the result of signing the hash value of the electronic contract signed by the signatory based on its private key. The second electronic seal is associated with the electronic contract signed by the contract initiator.
[0062] Specifically, the signatory verifies the latest data in the immutable database, namely the electronic contract carrying a third signature stored by the contract initiator. The signatory can use the contract initiator's public key to verify the electronic contract carrying the third signature, and upon successful verification, "sign" the electronic contract already "signed" by the contract initiator via a remote online port. Similarly, this "signature" can consist of two parts: first, the signatory adds its textual signature to the electronic contract signed by the contract initiator via a remote online port; second, the signatory adds a second electronic seal to the electronic contract signed by the contract initiator via a remote online port. In this step, the textual signature can be the name of the signatory of the electronic contract, such as the name of an employee. The second electronic seal can be a barcode or QR code generated by encrypting the hash value of the electronic contract signed by the contract initiator and the current time using the signatory's private key. Then, using the signatory's private key, the hash value of the electronic contract with the added textual signature and second electronic seal is encrypted to obtain the signatory's fourth signature on the electronic contract. Then, the contracting parties will add their written signature and second electronic seal, along with a fourth signature, to the electronic contract and save it together with the signing time to an immutable database.
[0063] Optionally, the signatory verifies the signature using the latest data in the immutable database. Specifically, the signatory may use the public key of the contract initiator to decrypt the third signature stored by the contract initiator in the immutable database. If the decryption is successful, the signatory may use the public key of the contract initiator to further decrypt the first electronic signature. If the decryption is successful, the signature verification is passed.
[0064] Step 110: The contract initiator verifies the signing record stored by the signatory in the immutable database, and after the verification is passed, confirms that the online contract signing is completed.
[0065] Specifically, the contract initiator uses the signatory's public key to decrypt the fourth signature stored by the signatory in the immutable database; if the decryption is successful, the signatory's public key is used to further decrypt the second electronic signature; if the decryption is successful, the signature verification is passed, confirming the completion of this online contract signing.
[0066] In this way, through the online electronic contract signing interaction process between the contract initiator and the signatory, the electronic contract is signed again after each confirmation and verification, thus achieving the confirmation and signing of the electronic contract. All intermediate data generated during the entire contract signing process is stored in an immutable database, preventing unauthorized modification of the electronic contract and accurately recording relevant data for easy traceability. Furthermore, each signing and verification operation ensures reliable transmission of the electronic contract between the signatory and the contract initiator.
[0067] Reference Figure 2 The diagram shown is a schematic representation of an online contract signing process based on an immutable database, as provided in an embodiment of this application.
[0068] like Figure 2 As shown, the contract initiator is the terminal device used by Company A (labeled as Company A's side); the contract signatory is the terminal device used by employee B (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. All data generated during the electronic contract signing process is stored in an immutable database. In the actual signing scheme, Company A or employee B can access the data in the immutable database online via a web link.
[0069] 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.
[0070] Step 202: Company A drafts and generates an electronic contract, signs the electronic contract using private key a1, and saves the electronic contract carrying the first signature to an immutable database.
[0071] Step 204: Employee B checks the contents of the electronic contract bearing the first signature.
[0072] Step 206: After verifying that everything is correct, employee B uses public key a2 to verify and sign the electronic contract.
[0073] Step 208: After successful verification, employee B uses private key b1 to sign the electronic contract and saves the electronic contract with the second signature to an immutable database.
[0074] Step 210: Company A uses public key b2 to verify the electronic contract carrying the second signature.
[0075] Step 212: After successful verification, Company A adds its company name and a QR code signature generated based on private key a1 to the electronic contract, and signs the electronic contract using private key a1. The electronic contract carrying the third signature, along with the company name and QR code signature, is saved to an immutable database along with the signature time.
[0076] 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 electronic contract image. Subsequently, the signed electronic contract image, signing time, and third signature of Company A are simultaneously saved to an immutable database.
[0077] Step 214: Employee B uses public key a2 to verify the electronic contract carrying a third signature.
[0078] Step 216: After successful verification, employee B adds their name and a QR code signature generated based on private key b1 to the electronic contract already signed by company A, and signs the electronic contract using private key b1. The electronic contract carrying the fourth signature, along with the employee's name and QR code signature, is then saved to an immutable database along with the signature time.
[0079] Similarly, employees on the B side can also use the webpage's canvas technology to add employee names and QR code signatures.
[0080] In this way, the electronic contract is signed through the above process. Afterwards, Company A and Employee B can each view and retrieve the signed electronic contract from the immutable database. It is evident that this electronic contract signing method is convenient and quick, requiring only online operation to complete the contract signing, while preserving the original contract format to the greatest extent possible, and allowing for printing out a paper copy if necessary. Furthermore, security is ensured by utilizing the principles of an immutable database and cryptography; every step of the signing process is traceable, facilitating tracking and tracing.
[0081] 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.
[0082] 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.
[0083] Figure 3 This application provides a structural block diagram of an online contract signing system based on an immutable database, as shown in one embodiment. Figure 3 As shown. The online contract signing system 300 based on an immutable database in this embodiment may include a contract initiator 301, a contract signatory 302, and an immutable database 303. The contract initiator 301 generates an electronic contract based on the drafted contract content and saves the electronic contract and a first electronic signature to an immutable database 303. The first signature is the result of encrypting the hash value of the electronic contract using the private key of the contract initiator 301. After the signatory 302 views and confirms the content of the electronic contract via a remote online port, the signatory 302 uses the public key of the contract initiator to verify the first signature stored in the immutable database. Upon successful verification, the signatory saves the electronic contract and a second electronic signature to the immutable database 303. The second signature is the result of encrypting the hash value of the electronic contract using the private key of the signatory 302. After successfully verifying the latest data in the immutable database 303, the contract initiator 301 confirms and adds the contract initiator's text signature and first electronic seal to the electronic contract via the remote online port, and also adds a document containing the contract initiator's text signature and first electronic seal. The signed electronic contract, the signing time of the contract initiator, and the third signature are saved to the immutable database 303. The third signature is the result of encrypting the hash value of the electronic contract signed by the contract initiator using the private key of the contract initiator 301. The first electronic signature is associated with the electronic contract. After successfully verifying the latest data in the immutable database 303, the signatory 302 confirms and adds the signatory's text signature and second electronic signature to the electronic contract signed by the contract initiator through the remote online port. The signed electronic contract, the signing time of the signatory, and the fourth signature are also saved to the immutable database 303. The fourth signature is the result of encrypting the hash value of the electronic contract signed by the signatory using the private key of the signatory 302. The second electronic signature is associated with the electronic contract signed by the contract initiator. The contract initiator 301 verifies the signing record saved by the signatory in the immutable database 303 and, upon successful verification, confirms the completion of the online contract signing.
[0084] It should be noted that some or all of the online contract signing system based on an immutable database 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.
[0085] 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.
[0086] Optionally, in one possible implementation of this embodiment, the remote online port includes at least the following types: webpage, mini-program, email, or other APP interface.
[0087] Optionally, in one possible implementation of this embodiment, the first electronic signature is a barcode or QR code generated by encrypting the hash value 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 hash value of the electronic contract signed by the contract initiator and the current time based on the private key of the signatory.
[0088] Optionally, in one possible implementation of this embodiment, when the contract initiator 301 verifies the latest data in the immutable database, it specifically uses the public key of the signatory 302 to decrypt the second signature stored by the signatory 302 in the immutable database; if the decryption is successful, the signature verification is passed.
[0089] Optionally, in one possible implementation of this embodiment, when the signatory 302 verifies the latest data in the immutable database, it specifically uses the public key of the contract initiator 301 to decrypt the third signature stored by the contract initiator 301 in the immutable database; if the decryption is successful, the public key of the contract initiator 301 is used to further decrypt the first electronic signature; if the decryption is successful, the signature verification is passed.
[0090] Optionally, in one possible implementation of this embodiment, when the contract initiator 301 verifies the contract record stored by the signatory in the immutable database, it specifically uses the signatory's public key to decrypt the fourth signature stored by the signatory 302 in the immutable database; if the decryption is successful, the signatory 302's public key is used to further decrypt the second electronic signature; if the decryption is successful, the verification is passed.
[0091] In this embodiment, the contract initiator generates and signs an electronic contract, which is then saved to an immutable database. The contracting parties then view and confirm the contract content in the immutable database via a remote online port. After verification, the contract initiator signs the electronic contract and saves it to the immutable database. Next, the contract initiator verifies the latest electronic contract in the immutable database. Upon successful verification, the initiator adds a text signature and a first electronic seal to the electronic contract via a remote online port, signs it, and saves it to the immutable database. The contracting parties then verify the latest electronic contract in the immutable database. Upon successful verification, the contracting parties add their text signature and a second electronic seal to the signed electronic contract via a remote online port, sign it, and save it to the immutable database. Finally, the contract initiator verifies the latest electronic contract in the immutable database, and upon successful verification, confirms the completion of the online contract signing. 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, every confirmation and modification of the electronic contract is recorded in an immutable database, preventing unauthorized modification. Moreover, this immutable database, as the recorder of the electronic contract signing process, accurately and comprehensively records relevant data, facilitating traceability.
[0092] 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 an immutable database as described above.
[0093] One embodiment of this application also provides a terminal device capable of executing the operational steps of the contract initiator. Simultaneously, one embodiment of this application also provides a terminal device capable of executing the operational steps of the contracting party.
[0094] 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 an immutable database as described above.
[0095] One embodiment of this application provides a computer program product, including a computer program that, when executed by a processor, is implemented to achieve the online contract signing method based on an immutable database as described above.
[0096] 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.
[0097] 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.
[0098] 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.
[0099] 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.
[0100] 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 an online contract signing method based on an immutable database. For example, in some embodiments, the online contract signing method based on an immutable database 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 online contract signing method based on an immutable database 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 an online contract signing method based on an immutable database.
[0101] 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.
[0102] 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.
[0103] 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.
[0104] 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).
[0105] 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.
[0106] 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.
[0107] 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.
[0108] 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 an unforgeable database, characterized by, The application comprises the following steps: A contract initiator generates an electronic contract based on drafted contract content, and saves the electronic contract and a first signature of the electronic contract to an unalterable database; wherein the first signature is a result of encrypting a hash value of the electronic contract based on a private key of the contract initiator; After a contracting party checks and confirms the contract content of the electronic contract through a remote online port, the contracting party verifies the first signature saved in the unalterable database using a public key of the contract initiator, and saves the electronic contract and a second signature of the electronic contract to the unalterable database after verification, wherein the second signature is a result of encrypting a hash value of the electronic contract based on a private key of the contracting party; After the contract initiator verifies the latest data in the unalterable database successfully, the contract initiator confirms and adds a text signature and a first electronic seal of the contract initiator on the electronic contract through the remote online port, and saves the electronic contract carrying the text signature and the first electronic seal of the contract initiator, a contract initiator signature time and a third signature to the unalterable database, wherein the third signature is a result of encrypting a hash value of the electronic contract signed by the contract initiator based on a private key of the contract initiator; the first electronic seal is related to the electronic contract; After the contracting party verifies the latest data in the unalterable database successfully, the contracting party confirms and adds a text signature and a second electronic seal of the contracting party on the electronic contract signed by the contract initiator through the remote online port, and saves the electronic contract signed by the contracting party, a contracting party signature time and a fourth signature to the unalterable database, wherein the fourth signature is a result of encrypting a hash value of the electronic contract signed by the contracting party based on a private key of the contracting party; the second electronic seal is related to the electronic contract signed by the contract initiator; The contract initiator verifies a signing record saved by the contracting party in the unalterable database, and determines that the online contract signing is completed after verification.
2. The method of claim 1, wherein, The remote online port at least comprises the following types: a webpage, an applet, an email or other APP interfaces.
3. The method of claim 1, wherein, The first electronic seal is a result of encrypting a hash value of the electronic contract and a current time based on a private key of the contract initiator, and is a generated barcode or a two-dimensional code; and / or The second electronic seal is a result of encrypting a hash value of the electronic contract signed by the contract initiator and a current time based on a private key of the contracting party, and is a generated barcode or a two-dimensional code.
4. The method according to any one of claims 1 to 3, characterized in that, The contract initiator verifies the latest data in the unalterable database, specifically comprising the following steps: The contract initiator uses a public key of the contracting party to decrypt the second signature saved by the contracting party in the unalterable database; If decryption is successful, verification is passed.
5. The method according to any one of claims 1 to 3, wherein The contracting party verifies the latest data in the unalterable database, specifically comprising the following steps: The third signature saved by the contract initiator in the tamper-proof database is decrypted using the public key of the contract initiator; If the decryption is successful, the first electronic seal is further decrypted using the public key of the contract initiator; If the decryption is successful, the signature verification is passed.
6. The method according to any one of claims 1 to 3, wherein The contract initiator verifies the signing record saved by the signing party in the tamper-proof database, specifically including: The fourth signature saved by the signing party in the tamper-proof database is decrypted using the public key of the signing party; If the decryption is successful, the second electronic seal is further decrypted using the public key of the signing party; If the decryption is successful, the signature verification is passed.
7. An online contract signing system based on an unalterable database, characterized by, It includes: The contract initiator, the signing party, and the tamper-proof database; wherein, The contract initiator generates an electronic contract based on the drafted contract content, and saves the electronic contract and a first signature of the electronic contract to the tamper-proof database; wherein, the first signature is the result of encrypting the hash value of the electronic contract based on the private key of the contract initiator; After the signing party checks and confirms that the contract content of the electronic contract is correct through a remote online port, the signing party verifies the first signature saved in the tamper-proof database using the public key of the contract initiator, and after the verification is passed, saves the electronic contract and a second signature of the electronic contract to the tamper-proof database, wherein the second signature is the result of encrypting the hash value of the electronic contract based on the private key of the signing party; After the contract initiator successfully verifies the latest data in the tamper-proof database, the contract initiator confirms and adds the text signature and the first electronic seal of the contract initiator on the electronic contract through the remote online port, and saves the electronic contract carrying the text signature and the first electronic seal of the contract initiator, the contract initiator signature time, and a third signature to the tamper-proof database, wherein the third signature is the result of encrypting the hash value of the electronic contract signed by the contract initiator based on the private key of the contract initiator; the first electronic seal is related to the electronic contract; After the signing party successfully verifies the latest data in the tamper-proof database, the signing party confirms and adds the text signature and the second electronic seal of the signing party on the electronic contract signed by the contract initiator through the remote online port, and saves the electronic contract signed by the signing party, the signing time of the signing party, and a fourth signature to the tamper-proof database, wherein the fourth signature is the result of encrypting the hash value of the electronic contract signed by the signing party based on the private key of the signing party; the second electronic seal is related to the electronic contract signed by the contract initiator; The contract initiator verifies the signing record saved by the signing party in the tamper-proof database, and after the verification is passed, determines that the online contract signing is completed.
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-5.
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-5.
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-5.
Citation Information
Patent Citations
Electronic contract signing method and system and electronic equipment
CN112329414A
Electronic contract verification report application method and system, electronic equipment and medium
CN117273654A