CA3177205C - Method of and system for managing smart contract - Google Patents

Method of and system for managing smart contract Download PDF

Info

Publication number
CA3177205C
CA3177205C CA3177205A CA3177205A CA3177205C CA 3177205 C CA3177205 C CA 3177205C CA 3177205 A CA3177205 A CA 3177205A CA 3177205 A CA3177205 A CA 3177205A CA 3177205 C CA3177205 C CA 3177205C
Authority
CA
Canada
Prior art keywords
node
alliance
nodes
smart contract
hash value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CA3177205A
Other languages
French (fr)
Other versions
CA3177205A1 (en
Inventor
Wei SHENG
Zhitan ZHENG
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
10353744 Canada Ltd
Original Assignee
10353744 Canada Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 10353744 Canada Ltd filed Critical 10353744 Canada Ltd
Publication of CA3177205A1 publication Critical patent/CA3177205A1/en
Application granted granted Critical
Publication of CA3177205C publication Critical patent/CA3177205C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/28Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

Disclosed are a method and system for managing a smart contract. The method comprises: S1: configuring several management nodes among alliance chain nodes, and configuring the remaining nodes to be normal nodes; S2: configuring corresponding rights for the management nodes and the normal nodes, wherein the normal nodes have the rights to share data, and the management nodes have the rights to share data and to manage a smart contract and the alliance chain nodes; S3: the management nodes verifying application information, uploaded by any node on an alliance chain, for installing or updating the smart contract, and broadcasting the verification result on the alliance chain; and S4: if all the management nodes agree on the installation or update of the smart contract, automatically triggering the execution of installing or updating the smart contract. In the present invention, an installation package and a code of a smart contract to be upgraded are verified and checked by means of management nodes, and installation and upgrade operations can be executed only after all administrators in an alliance agree on installation and upgrade, thereby ensuring the authenticity and the security of an upgrade package of a smart contract.

Description

METHOD OF AND SYSTEM FOR MANAGING SMART CONTRACT
BACKGROUND OF THE INVENTION
Technical Field [0001] The present invention relates to the field of blockchain technology, and more particularly to a method of and a system for managing a smart contract.
Description of Related Art
[0002] Blockchain is considered to be a technology that can bring about great revolution and breakthrough, as it might completely change or overturn the operational modes of some industries, like the advent and development of cloud computation, the Internet of Things, and the big data. The blockchain technology is not a single information technique, rather, it is based on the state of the art with combination and innovation of creativities to realize functions hitherto unrealized.
[0003] An alliance chain refers to a blockchain in whose management several organizations participate, each organization runs one or more nodes(s), data therein is allowed to be read, written, transmitted and transacted only by different organizations within the system, and transaction data is recorded together. A smart contract is a computer program running on a duplicable and sharable ledger, and can be used to process and manipulate blockchain ledger information. Essentially, the working principle of the smart contract is similar to the if-then statement of other computer programs. When a previously well-compiled condition is triggered, the smart contract executes the corresponding contract term. The smart contract program is not only a mere automatically executable computer program, but it is more like a participant of a system, takes charge of temporarily safekeeping properties, and executes operations in strict accordance with previously agreed rules.

Date Regue/Date Received 2022-09-27
[0004] In the currently available blockchain system, as long as a node is accessed to the blockchain system, the node can install and upgrade the smart contract. In the case other nodes do not know the upgraded smart contract content and cannot make any restriction to the upgrading operation, security and reliability would be lost to the upgrading of the smart contract.
[0005] In view of the importance of smart contract in blockchain, it is a problem to be emphatically solved by the participants of the blockchain that how to ensure that plural users in the blockchain participate to stipulate a smart contract together.
SUMMARY OF THE INVENTION
[0006] In order to address problems pending in the state of the art, embodiments of the present invention provide a method of and a system for managing a smart contract, so as to deal with such prior-art problems in which, when a certain node installs and upgrades a smart contract, other nodes do not know the upgraded smart contract content and cannot make any restriction to the upgrading operation, whereby security and reliability are lost to the upgrading of the smart contract.
[0007] In order to solve one or more technical problem(s) mentioned above, the present invention employs the following technical solutions.
[0008] According to one aspect, there is provided a method of managing a smart contract, and the method comprises the following steps:
[0009] Si ¨ setting plural management nodes in alliance chain nodes, and setting remaining nodes as ordinary nodes;
[0010] S2¨ setting corresponding permissions for the management nodes and the ordinary nodes, wherein the ordinary nodes possess a permission to share data, and the management nodes Date Regue/Date Received 2022-09-27 possess permissions to share data and to manage a smart contract and the alliance chain nodes;
[0011] S3 ¨ checking, by the management nodes, application information for installing or updating the smart contract uploaded by any node on the alliance chain, and broadcasting a checking result on the alliance chain; and
[0012] S4 ¨ automatically triggering to execute installation or update of the smart contract if all the management nodes consent to install or update the smart contract.
[0013] Further, the application information includes a code, an installation package, a first code Hash value, a first installation package Hash value, and signature information of the smart contract, and step S3 specifically includes:
[0014] S3.1 ¨ using, by the management nodes, a public key of a node that uploads the application information to verify the signature information and verify identification of the node that uploads the application information, and then executing step S3.2 if verification is passed, otherwise terminating the process;
[0015] S3.2 ¨ verifying, by the management nodes, the first code Hash value and the first installation package Hash value, and then executing step S3.3 if verification is passed, otherwise terminating the process;
[0016] S3.3 ¨ verifying, by the management nodes, authenticity of the code of the smart contract, and then executing step S3.4 if verification is passed, otherwise terminating the process;
and
[0017] S3.4 ¨ broadcasting the checking result of the management nodes on the alliance chain.
[0018] Moreover, step S3 further includes:
[0019] performing Hash calculation, by the node that uploads the application information, on the code and the installation package of the smart contract, and obtaining the first code Hash value and the first installation package Hash value.
[0020] Further, the step of verifying, by the management nodes, the first code Hash value and Date Regue/Date Received 2022-09-27 the first installation package Hash value includes:
[0021] performing Hash calculation, by the management nodes, on the code and the installation package of the smart contract, obtaining a second code Hash value and a second installation package Hash value, comparing the first code Hash value with the second code Hash value, comparing the first installation package Hash value with the second installation package Hash value, and then passing verification in case of consistent comparisons, otherwise not passing the verification.
[0022] Moreover, step S3 further includes:
[0023] using, by the node that uploads the application information, a private key of its own to sign the first code Hash value and the first installation package Hash value, and obtaining signature information.
[0024] Further, step S4 specifically includes:
[0025] triggering all the nodes on the alliance chain to install the installation package of the smart contract if all the management nodes consent to install or update the smart contract, and designating one of the nodes to upgrade the smart contract.
[0026] According to another aspect, there is provided a system for managing a smart contract, and the system comprises:
[0027] a node managing module, for setting plural management nodes in alliance chain nodes, and setting remaining nodes as ordinary nodes;
[0028] a permission managing module, for setting corresponding permissions for the management nodes and the ordinary nodes, wherein the ordinary nodes possess a permission to share data, and the management nodes possess permissions to share data and to manage a smart contract and the alliance chain nodes;
[0029] an information uploading module, for uploading application information for installing or updating the smart contract uploaded by any node on the alliance chain;
[0030] an information checking module, for checking, by the management nodes, application Date Regue/Date Received 2022-09-27 information for installing or updating the smart contract uploaded by any node on the alliance chain, and broadcasting a checking result on the alliance chain; and
[0031] an installing or updating module, for automatically triggering to execute installation or update of the smart contract if all the management nodes consent to install or update the smart contract.
[0032] Further, the information checking module includes:
[0033] a signature verifying unit, for using, by the management nodes, a public key of a node that uploads the application information to verify the signature information and verify identification of the node that uploads the application information;
[0034] a Hash value verifying unit, for verifying, by the management nodes, the first code Hash value and the first installation package Hash value;
[0035] a code verifying unit, for verifying, by the management nodes, authenticity of the code of the smart contract; and
[0036] a result broadcasting unit, for broadcasting the checking result of the management nodes on the alliance chain.
[0037] Further, the information uploading module includes:
[0038] a calculating unit, for performing Hash calculation, by the node that uploads the application information, on the code and the installation package of the smart contract, and obtaining the first code Hash value and the first installation package Hash value.
[0039] Further, the Hash value verifying unit is specifically employed for:
[0040] performing Hash calculation, by the management nodes, on the code and the installation package of the smart contract, obtaining a second code Hash value and a second installation package Hash value, comparing the first code Hash value with the second code Hash value, comparing the first installation package Hash value with the second installation package Hash value, and then passing verification in case of consistent comparisons, otherwise not passing the verification.
Date Regue/Date Received 2022-09-27
[0041] Moreover, the information uploading module further includes:
[0042] a signing unit, for using, by the node that uploads the application information, a private key of its own to sign the first code Hash value and the first installation package Hash value, and obtaining signature information.
[0043] Further, the installing or updating module is specifically employed for:
[0044] triggering all the nodes on the alliance chain to install the installation package of the smart contract if all the management nodes consent to install or update the smart contract, and designating one of the nodes to upgrade the smart contract.
[0045] The technical solutions provided by the embodiments of the present invention bring about the following advantageous effects.
[0046] 1. The method of and system for managing a smart contract provided by the embodiments of the present invention introduce smart contract installing and upgrading mechanisms, the installation package and the code of a smart contract to be upgraded are checked and verified through management nodes, and the installing and upgrading operations are executed only after all administrators within the alliance have consented to the installation and upgrade, whereby authenticity and safety of the upgrade package of the smart contract are guaranteed.
[0047] 2. The method of and system for managing a smart contract provided by the embodiments of the present invention introduce an alliance member level labeling mechanism, and the labels include ordinary codes and management codes, of which the management codes possess a permission of management function, and organizations in the alliance management committee possess qualification to manage the nodes, whereby authority of alliance management is guaranteed.

Date Regue/Date Received 2022-09-27
[0048] 3. The method of and system for managing a smart contract provided by the embodiments of the present invention introduce an alliance member managing mechanism, organizations applying to join in the alliance should be checked by the management nodes as to their application information, and admissions and levels of alliance members are controlled, whereby the qualities of members joining in the alliance are guaranteed on the one hand, and it is guaranteed on the other hand that only the members within the alliance can apply for installation and upgrade of the smart contract.
BRIEF DESCRIPTION OF THE DRAWINGS
[0049] To describe the technical solutions in the embodiments of the present invention more clearly, drawings required to be used in the description of the embodiments will be briefly introduced below. Apparently, the drawings introduced below are merely directed to some embodiments of the present invention, while it is possible for persons ordinarily skilled in the art to acquire other drawings without spending any creative effort in the process based on these drawings.
[0050] Fig. 1 is a flowchart illustrating the method of managing a smart contract according to an exemplary embodiment;
[0051] Fig. 2 is a flowchart illustrating checking, by the management nodes, application information for installing or updating the smart contract uploaded by any node on the alliance chain, and broadcasting a checking result on the alliance chain according to an exemplary embodiment; and
[0052] Fig. 3 is view schematically illustrating the structure of the system for managing a smart contract according to an exemplary embodiment.
DETAILED DESCRIPTION OF THE INVENTION

Date Regue/Date Received 2022-09-27
[0053] To make the objectives, technical solutions and advantages of the present invention more lucid and clear, the technical solutions in the embodiments of the present invention will be clearly and comprehensively described below with reference to the drawings in the embodiments of the present invention. Apparently, the embodiments as described are merely partial, rather than the entire, embodiments of the present invention.
All other embodiments obtainable by persons ordinarily skilled in the art on the basis of the embodiments in the present invention and without spending any creative effort shall all be covered by the protection scope of the present invention.
[0054] The embodiments of the present invention provide a method of and a system for managing a smart contract, the objective thereof is to control the permission of alliance members to upgrade the smart contract, and to ensure that the smart contract be installed and upgraded based on the consensus of the alliance members. The embodiments of the present invention combine the managing mechanism of alliance members with the checking mechanism for upgrading the smart contract. The system includes two large modules, namely an underlayer alliance chain platform and a business platform, of which the underlayer alliance chain platform is responsible for storing alliance member information and smart contract information, the alliance member information includes such information as member labels, and the smart contract information includes such information as the code and installation package of the smart contract as well as Hash values of the code and the installation package. The business platform is constructed above the underlayer blockchain platform to complete management of the alliance members and management of the smart contract.
[0055] Management of the alliance members includes applications and checks of alliance members, upgrading and downgrading of members, and exits of members, etc., and management of the smart contract includes installation, upgrading, and checking of the smart contract, etc. Alliance members include the two roles as ordinary nodes and management nodes that are indicated by labels in the information stored for the alliance Date Regue/Date Received 2022-09-27 members, of which the management nodes possess permissions to manage the alliance members and installation and upgrading of the smart contract besides the permission to share alliance data, while the ordinary nodes only possess the permission to share alliance data, and possess no permission relevant to management.
[0056] Fig. 1 is a flowchart illustrating the method of managing a smart contract according to an exemplary embodiment, with reference to what is shown in Fig. 1, the method comprises the following steps.
[0057] Si ¨ setting plural management nodes in alliance chain nodes, and setting remaining nodes as ordinary nodes.
[0058] Specifically, in the embodiments of the present invention, an alliance member level labeling mechanism is introduced to classify nodes joining in the alliance chain into the two types as management nodes and ordinary nodes.
[0059] S2¨ setting corresponding permissions for the management nodes and the ordinary nodes, wherein the ordinary nodes possess a permission to share data, and the management nodes possess permissions to share data and to manage a smart contract and the alliance chain nodes.
[0060] Specifically, as a preferred mode of execution, organizations in the alliance management committee can be bestowed with qualifications to manage nodes, so as to ensure authority of alliance management.
[0061] In order to ensure qualities of members joining in the alliance, an alliance member managing mechanism is introduced in the embodiments of the present invention to check application information of organizations applying to join in the alliance by the management nodes, so as to control admissions and levels of the alliance members. The Date Regue/Date Received 2022-09-27 process for a node to apply to join in the alliance is as follows.
[0062] S101 ¨ submitting member application material by a node applying to join in the alliance through a member material submission inlet opened by the business system, and storing the application material in an underlayer alliance chain.
[0063] Specifically, the node application material submitted includes enterprise information, legal representative information, and a public key that verifies node identification, a node level applied is designated at the same time, and there are two node levels as ordinary nodes and management nodes for selection.
[0064] S102 ¨ checking, by the management nodes, the received node application material uploaded by the new node, and broadcasting a checking result in the alliance chain.
[0065] Specifically, when a new node submits application information, all nodes in the alliance will receive the node application material of the new node. The management nodes will check the node application material submitted by the node newly applying to join in the alliance, such checking includes checking enterprise information and legal representative information, the checking result is signed by the private key of the management nodes, and the checking result and the signature are thereafter uploaded onto the blockchain. The condition for the new node application to pass is that all checkings by all the management nodes are passed, so the application for the new node to join in the alliance would not be passed as long as one the checking by one management node is not passed, in this case it is not necessary for other management nodes that do not check the application to check.
Such setting can enhance the checking efficiency of the management nodes on the one hand, and reduce the workload of the management nodes on the other hand.
[0066] S103 ¨ generating a certificate of the alliance chain for the new node after all the management nodes have consented to the joining of the node, and writing a certificate Date Regue/Date Received 2022-09-27 document in a configuration block of the alliance chain.
[0067] Specifically, if all the management nodes check to pass, the new node application succeeds in joining in the alliance, the system will generate an identification certificate of the new node, and this identification certificate is an identifier of the member identification in the alliance chain. The identification certificate of the new node will be updated in the configuration block of the alliance chain, once update has been completed, the newly joining node can be identified and verified by other nodes in the alliance chain.
[0068] S104 ¨ deploying the alliance chain system by the newly joining node, accessing to the alliance chain, and synchronizing existing data.
[0069] Specifically, the new node deploys its own node and accesses to the alliance chain. The new node adds the deployed node to a data channel of the alliance, and then installs the smart contract, it is thusly possible to share data information of this channel with other members within the alliance, and the new node will synchronize all data stored on the channel.
[0070] As a preferred mode of execution in the embodiments of the present invention, all ordinary nodes in the alliance are entitled to be upgraded to management nodes and to possess the permissions of the management nodes, while all management nodes might be downgraded to ordinary nodes. The node level managing flow is as follows:
[0071] S201 ¨ submitting a node level adjusting application, and writing application information in the alliance chain;
[0072] S202 ¨ checking the received node level adjusting application by the management nodes, and broadcasting a checking result in the alliance chain ¨ as should be noted here, all nodes in the alliance will receive relevant information of the node level adjusting application; and
[0073] S203 ¨ a node level of the applying node becoming an already applied level when all the Date Regue/Date Received 2022-09-27 management nodes consent to the node level adjusting application, and correspondingly adjusting the permission of the node at the same time.
[0074] Specifically, in the embodiments of the present invention, the node level managing flow includes an upgrading flow and a downgrading flow, wherein the specific mode of execution for an ordinary node to apply to be upgraded to a management node is as follows:
[0075] 1) The ordinary node submits upgrade application information for upgrading to a management node, and carries therewith signature information for signing the upgrade application information by its own private key;
[0076] 2) Business systems of all management nodes in the alliance receive the upgrade application information, the management nodes firstly employ the public key of ordinary nodes to verify the identification of the applying node, then sign the checking result, and upload the checking result and the signature information to the alliance chain;
[0077] 3) When all the management nodes check to pass, this ordinary node is automatically triggered to be upgraded to a management node, and the numbers of ordinary nodes and management nodes in the alliance are updated;
[0078] 4) Checking information relevant to the number of management nodes is updated in the alliance, and the checking information includes alliance node joining application checking information, node level adjusting application checking information, and smart contract upgrade checking information.
[0079] The specific mode of execution for passively downgrading a management node to an ordinary node is as follows:
[0080] 1) Management node A (a random management node in the alliance chain) submits downgrading application information for downgrading management node B to an ordinary node, and uploads signature information signing the downgrading application information with the private key of management node A;
[0081] 2) Business systems of all management nodes in the alliance chain receive the application Date Regue/Date Received 2022-09-27 information for passively downgrading management node B, the other management nodes firstly employ the public key of management node A to verify identification of the applying node (namely management node A), then sign the checking result, and upload the checking result and the signature information to the alliance chain;
[0082] 3) When all the other management nodes check to pass, management node B
is automatically triggered to be downgraded to an ordinary node, and the numbers of ordinary nodes and management nodes in the alliance are updated;
[0083] 4) Checking information relevant to the number of management nodes is updated in the alliance, and the checking information includes alliance node joining application checking information, node level adjusting application checking information, and smart contract upgrade checking information, etc.
[0084] S3 ¨ checking, by the management nodes, application information for installing or updating the smart contract uploaded by any node on the alliance chain, and broadcasting a checking result on the alliance chain.
[0085] Specifically, when there is a node (the node can be either a management node or an ordinary node) to be installed or upgraded as to smart contract in the alliance chain, the application information is firstly uploaded to the alliance chain, the application information is stored in a location accessible to all the nodes, and all the nodes in the alliance chain will receive the notification to install or upgrade the smart contract. The management nodes download the application information for checking, and the checking result is broadcasted on the alliance chain.
[0086] S4 ¨ automatically triggering to execute installation or update of the smart contract if all the management nodes consent to install or update the smart contract.
[0087] Specifically, any node (either a management node or an ordinary node) on the alliance chain can serve as the uploading node to initiate the application to install or update the Date Regue/Date Received 2022-09-27 smart contract. The uploading node firstly uploads the application information for installing or updating the smart contract to the alliance chain. In the embodiments of the present invention, it is so set that installation or update of the smart contract can be triggered to be executed only when all the management nodes consent to install or update the smart contract. In other words, as long as one management node does not check to pass, the application to install or update the smart contract will not be passed, in this case it is not needed for other management nodes that do not check the application to check the application. Such setting reduces the workload of the management nodes and enhances the checking efficiency of the management nodes on the one hand, and ensures authenticity and security of the installation and update of the smart contract by means of the checking mechanism of the management nodes on the other hand.
[0088] As a preferred mode of execution in the embodiments of the present invention, the application information includes a code, an installation package, a first code Hash value, a first installation package Hash value, and signature information of the smart contract.
[0089] Fig. 2 is a flowchart illustrating checking, by the management nodes, application information for installing or updating the smart contract uploaded by any node on the alliance chain, and broadcasting a checking result on the alliance chain according to an exemplary embodiment, with reference to what is shown in Fig. 2, step S3 specifically includes the following.
[0090] S3.1 ¨ using, by the management nodes, a public key of a node that uploads the application information to verify the signature information and verify identification of the node that uploads the application information, and then executing step S3.2 if verification is passed, otherwise terminating the process.
[0091] Specifically, the application information includes a code, an installation package, a first code Hash value, a first installation package Hash value, and signature information of the Date Regue/Date Received 2022-09-27 smart contract, etc. The management nodes download the above-mentioned application information and verify the same. The management nodes firstly employ the public key of the uploading node to verify the signature information (signature verification), and verify the identification of the node that uploads the application information (namely the uploading node), step S3.2 is executed if verification is passed to continue the next checking, otherwise the process is terminated.
[0092] S3.2 ¨ verifying, by the management nodes, the first code Hash value and the first installation package Hash value, and then executing step S3.3 if verification is passed, otherwise terminating the process.
[0093] Specifically, after signature verification has been passed, the management nodes subsequently verify the first code Hash value and the first installation package Hash value of the smart contract, step S3.3 is executed if verification is passed to continue the next checking, otherwise the process is terminated.
[0094] S3.3¨ verifying, by the management nodes, authenticity of the code of the smart contract, and then executing step S3.4 if verification is passed, otherwise terminating the process.
[0095] Specifically, after verification of the Hash values has been passed, the management nodes check the code of the smart contract to ensure completeness of the code of the smart contract, step S3.4 is executed if verification is passed to continue the next operation, otherwise the process is terminated.
[0096] S3.4¨ broadcasting the checking result of the management nodes on the alliance chain.
[0097] Specifically, the management nodes broadcast the checking result on the blockchain, if one management node does not check to pass, the application to install or update the smart contract will not be passed.
Date Regue/Date Received 2022-09-27
[0098] As a preferred mode of execution in the embodiments of the present invention, step S3 further includes:
[0099] performing Hash calculation, by the node that uploads the application information, on the code and the installation package of the smart contract, and obtaining the first code Hash value and the first installation package Hash value.
[0100] Specifically, before uploading the application information, the uploading node employs a preset Hash algorithm to perform Hash calculation on the code and the installation package of the smart contract to be installed or upgraded, calculates to obtain the first code Hash value and the first installation package Hash value, and takes the first code Hash value, the first installation package Hash value, and the code and the installation package of the smart contract together to serve as the application information to be uploaded to the alliance chain. As should be noted here, in the embodiments of the present invention, the preset Hash algorithm can be determined by all the nodes in the alliance chain together, and can also be set by the uploading node itself. In the case of the second circumstance, when the uploading node uploads the application information, it is also required to upload the Hash algorithm used by itself to the alliance chain or to correspondingly describe the Hash algorithm used by itself, so as to ensure that other nodes in the alliance chain can obtain or learn of the Hash algorithm used by it.
[0101] As a preferred mode of execution in the embodiments of the present invention, the step of verifying, by the management nodes, the first code Hash value and the first installation package Hash value includes:
[0102] performing Hash calculation, by the management nodes, on the code and the installation package of the smart contract, obtaining a second code Hash value and a second installation package Hash value, comparing the first code Hash value with the second code Hash value, comparing the first installation package Hash value with the second installation package Hash value, and then passing verification in case of consistent Date Regue/Date Received 2022-09-27 comparisons, otherwise not passing the verification.
[0103] Specifically, while verifying the Hash values, the management nodes firstly download the code and the installation package of the smart contract to be installed or upgraded, subsequently use the same Hash algorithm as that used by the uploading node to perform Hash calculation respectively on the code and the installation package of the smart contract, and calculate to obtain the second code Hash value and the second installation package Hash value. The first code Hash value is then compared with the second code Hash value, and the first installation package Hash value is compared with the second installation package Hash value, if the first code Hash value is consistent with the second code Hash value, and the first installation package Hash value is also consistent with the second installation package Hash value, the verification is passed, otherwise the verification is not passed (the verification is not passed when one group is inconsistent or both groups are inconsistent).
[0104] As a preferred mode of execution in the embodiments of the present invention, step S3 further includes:
[0105] using, by the node that uploads the application information, a private key of its own to sign the first code Hash value and the first installation package Hash value, and obtaining signature information.
[0106] Specifically, before uploading the application information, the uploading node further uses its private key to sign the first code Hash value and the first installation package Hash value, generates signature information, and uploads the signature information together with the other application information to the alliance chain.
[0107] As a preferred mode of execution in the embodiments of the present invention, step S4 specifically includes:
[0108] triggering all the nodes on the alliance chain to install the installation package of the smart Date Regue/Date Received 2022-09-27 contract if all the management nodes consent to install or update the smart contract, and designating one of the nodes to upgrade the smart contract.
[0109] Specifically, when all the management nodes consent to install or update the smart contract, namely when all the management nodes check to pass, the operation of installing or updating the smart contract will be automatically triggered for execution.
At this time, all the nodes on the alliance chain will download the installation package of the smart contract to carry out the installation, and one of the nodes will be designated to upgrade the smart contract. As should be noted here, in the embodiments of the present invention, it is possible for a random node to designate one of the nodes to upgrade the smart contract.
[0110] Fig. 3 is view schematically illustrating the structure of the system for managing a smart contract according to an exemplary embodiment, with reference to what is shown in Fig.
3, the system comprises:
[0111] a node managing module, for setting plural management nodes in alliance chain nodes, and setting remaining nodes as ordinary nodes;
[0112] a permission managing module, for setting corresponding permissions for the management nodes and the ordinary nodes, wherein the ordinary nodes possess a permission to share data, and the management nodes possess permissions to share data and to manage a smart contract and the alliance chain nodes;
[0113] an information uploading module, for uploading application information for installing or updating the smart contract uploaded by any node on the alliance chain;
[0114] an information checking module, for checking, by the management nodes, application information for installing or updating the smart contract uploaded by any node on the alliance chain, and broadcasting a checking result on the alliance chain; and
[0115] an installing or updating module, for automatically triggering to execute installation or update of the smart contract if all the management nodes consent to install or update the smart contract.

Date Regue/Date Received 2022-09-27
[0116] As a preferred mode of execution in the embodiments of the present invention, the information checking module includes:
[0117] a signature verifying unit, for using, by the management nodes, a public key of a node that uploads the application information to verify the signature information and verify identification of the node that uploads the application information;
[0118] a Hash value verifying unit, for verifying, by the management nodes, the first code Hash value and the first installation package Hash value;
[0119] a code verifying unit, for verifying, by the management nodes, authenticity of the code of the smart contract; and
[0120] a result broadcasting unit, for broadcasting the checking result of the management nodes on the alliance chain.
[0121] As a preferred mode of execution in the embodiments of the present invention, the information uploading module includes:
[0122] a calculating unit, for performing Hash calculation, by the node that uploads the application information, on the code and the installation package of the smart contract, and obtaining the first code Hash value and the first installation package Hash value.
[0123] As a preferred mode of execution in the embodiments of the present invention, the Hash value verifying unit is specifically employed for:
[0124] performing Hash calculation, by the management nodes, on the code and the installation package of the smart contract, obtaining a second code Hash value and a second installation package Hash value, comparing the first code Hash value with the second code Hash value, comparing the first installation package Hash value with the second installation package Hash value, and then passing verification in case of consistent comparisons, otherwise not passing the verification.
[0125] As a preferred mode of execution in the embodiments of the present invention, the information uploading module further includes:

Date Regue/Date Received 2022-09-27
[0126] a signing unit, for using, by the node that uploads the application information, a private key of its own to sign the first code Hash value and the first installation package Hash value, and obtaining signature information.
[0127] As a preferred mode of execution in the embodiments of the present invention, the installing or updating module is specifically employed for:
[0128] triggering all the nodes on the alliance chain to install the installation package of the smart contract if all the management nodes consent to install or update the smart contract, and designating one of the nodes to upgrade the smart contract.
[0129] In summary, the technical solutions provided by the embodiments of the present invention bring about the following advantageous effects.
[0130] 1. The method of and system for managing a smart contract provided by the embodiments of the present invention introduce smart contract installing and upgrading mechanisms, the installation package and the code of a smart contract to be upgraded are checked and verified through management nodes, and the installing and upgrading operations are executed only after all administrators within the alliance have consented to the installation and upgrade, whereby authenticity and safety of the upgrade package of the smart contract are guaranteed.
[0131] 2. The method of and system for managing a smart contract provided by the embodiments of the present invention introduce an alliance member level labeling mechanism, and the labels include ordinary codes and management codes, of which the management codes possess a permission of management function, and organizations in the alliance management committee possess qualification to manage the nodes, whereby authority of alliance management is guaranteed.
[0132] 3. The method of and system for managing a smart contract provided by the embodiments Date Regue/Date Received 2022-09-27 of the present invention introduce an alliance member managing mechanism, organizations applying to join in the alliance should be checked by the management nodes as to their application information, and admissions and levels of alliance members are controlled, whereby the qualities of members joining in the alliance are guaranteed on the one hand, and it is guaranteed on the other hand that only the members within the alliance can apply for installation and upgrade of the smart contract.
[0133] As should be noted, when the system for managing a smart contract provided by the aforementioned embodiment triggers a smart contract managing business, the division into the aforementioned various functional modules is merely by way of example, while it is possible, in actual application, to assign the functions to different functional modules for completion based on requirements, that is to say, to divide the internal structure of the system into different functional modules to complete the entire or partial functions described above. In addition, the system for managing a smart contract provided by the aforementioned embodiment pertains to the same conception as the method of managing a smart contract provided by the method embodiment, that is to say, the system is based on the method of managing a smart contract ¨ see the corresponding method embodiment for its specific realization process, while no repetition will be made in this context.
[0134] As understandable by persons ordinarily skilled in the art, realization of the entire or partial steps of the aforementioned embodiments can be completed by hardware, or by a program instructing relevant hardware, the program can be stored in a computer-readable storage medium, and the storage medium can be a read-only memory, a magnetic disk, or an optical disk, etc.
[0135] What is described above is merely directed to preferred embodiments of the present invention, and is not meant to restrict the present invention. Any modification, equivalent substitution, and improvement makeable within the spirit and principle of the present invention shall all be covered by the protection scope of the present invention.

Date Regue/Date Received 2022-09-27

Claims (184)

Claims:
1. A system for managing a smart contract, the system comprising:
a node managing module configured to set plural management nodes in alliance chain nodes, and set remaining nodes as ordinary nodes;
a permission managing module configured to set corresponding permissions for the management nodes and the ordinary nodes, wherein the ordinary nodes possess a permission to share data, and the management nodes possess permissions to share data and to manage a smart contract and the alliance chain nodes;
an information uploading module configured to upload application information for installing the smart contract uploaded by any node on the alliance chain, an information checking module configured to check, by the management nodes, application information for installing or updating the smart contract uploaded by any node on the alliance chain nodes, and broadcast a checking result on the alliance chain; and an installing or updating module, configured to automatically trigger to execute installation of the smart contract if all the management nodes consent to install the smart contract.
2. The system of claim 1, wherein the information checking module is further configured to check, by the management nodes, application information for updating the smart contract uploaded by any node on the alliance chain, and broadcast a checking result on the alliance chain.
3. The system of any one of claims 1 to 2, wherein the installing or updating module is further configured to automatically trigger to execute updating of the smart contract if all the management nodes consent to update the smart contract.
4. The system of any one of claims 1 to 3, wherein the application information includes a code.
5. The system of any one of claims 1 to 4, wherein the application information further includes an installation package.

Date Recue/Date Received 2023-11-14
6. The system of any one of claims 1 to 5, wherein the application information further includes a first code Hash value.
7. The system of any one of claims 1 to 6, wherein the application information further includes a first installation package Hash value.
8. The system of any one of claims 1 to 7, wherein the application information further includes signature information of the smart contract.
9. The system of any one of claims 1 to 8, wherein the information checking module further includes a signature verifying unit configured to use, by the management nodes, a public key of a node that uploads the application information to verify the signature information and verify identification of the node that uploads the application information.
10. The system of any one of claims 1 to 9, wherein the information checking module further includes a Hash value verifying unit configured to verify, by the management nodes, the first code Hash value and the first installation package Hash value.
11. The system of any one of claims 1 to 10, wherein the information checking module further includes a code verifying unit configured to verify by the management nodes, authenticity of the code of the smart contract.
12. The system of any one of claims 1 to 11, wherein the information checking module further includes a result broadcasting unit configured to broadcast the checking result of the management nodes on the alliance chain.
13. The system of any one of claims 10 to 12, wherein the infolination uploading module further includes a calculation unit configured to perform Hash calculation, by the node that uploads the application information, on the code and the installation package of the smart contract, and obtain the first code Hash value and the first installation package Hash value.
14. The system of any one of claims 10 to 13, wherein the Hash value verifying unit is further configured to perfomi Hash calculation, by the management nodes, on the code and the installation package of the smart contract.

Date Recue/Date Received 2023-11-14
15. The system of any one of claims 10 to 14, wherein the Hash value verifying unit is further configured to obtain a second code Hash value and a second installation package Hash value.
16. The system of any one of claims 10 to 15, wherein the Hash value verifying unit is further configured to compare a first code Hash value with a second code Hash value.
17. The system of any one of claims 10 to 16, wherein the Hash value verifying unit is further configured to compare a first installation package Hash value with a second installation package Hash value.
18. The system of any one of claims 10 to 17, wherein the Hash value verifying unit is further configured to pass verification in case of consistent comparisons between a first installation package Hash value and a second installation package Hash value.
19. The system of any one of claims 1 to 18, wherein the information uploading module further includes a signing unit configured to use, by the node that uploads the application information, a private key of its own to sign the first code Hash value and the first installation package Hash value.
20. The system of claim 19, wherein the signing unit is further configured to obtain signature information.
21. The system of any one of claims 1 to 20, wherein the installing or updating module is further configured to trigger all the nodes on the alliance chain to install the installation package of the smart contract if all the management nodes consent to install or update the smart contract, and designate one of the nodes to upgrade the smart contact.
22. The system of any one of claims 1 to 21, wherein the management nodes are configured to apply to join an alliance.
23. The system of claim 22, wherein joining the alliance includes submitting member application material by a node applying to join in the alliance through a member material submission inlet opened by a business system.
24. The system of any one of claims 22 to 23, wherein joining the alliance further includes storing an application material in an underlayer alliance chain.

Date Recue/Date Received 2023-11-14
25. The system of any one of claims 22 to 24, wherein joining the alliance further includes checking, by the management nodes, the received node application material uploaded by a new node.
26. The system of any one of claims 22 to 25, wherein joining the alliance further includes broadcasting a checking result in an alliance chain.
27. The system of any one of claims 23 to 26, wherein the member application material submitted by the node includes enterprise information.
28. The system of any one of claims 23 to 27, wherein the member application material submitted by the node further includes legal representative information.
29. The system of any one of claims 23 to 28, wherein the member application material submitted by the node includes a public key that verifies node identification.
30. The system of any one of claims 23 to 29, wherein the member application material submitted by the node includes a node level applied is designated.
31. The system of claim 30, wherein the node level includes an ordinary node for selection.
32. The system of claim 30, wherein the node level includes a management node for selection.
33. The system of any one of claims 22 to 32, wherein joining the alliance further includes generating a certificate of an alliance chain for a new node after all the management nodes have consented to the joining of the node.
34. The system of any one of claims 22 to 33, wherein joining the alliance further includes writing a certificate document in a configuration block of an alliance chain.
35. The system of any one of claims 22 to 34, wherein joining the alliance further includes deploying an alliance chain system by a newly joining node.
36. The system of any one of claims 22 to 35, wherein joining the alliance further includes accessing to an Date Recue/Date Received 2023-11-14 alliance chain.
37. The system of any one of claims 22 to 36, wherein joining the alliance further includes synchronizing existing data.
38. The system of claim 35, wherein the newly joining node is configured to deploy its own node.
39. The system of any one of claims 35 to 38, wherein the newly joining node is further configured to access to an alliance chain.
40. The system of any one of claims 1 to 39, wherein the ordinary codes management nodes in the alliance are entitled to be upgraded to the management nodes and to possess the permissions of the management nodes.
41. The system of any one of claims 1 to 40, wherein the ordinary codes management nodes in the alliance are entitled to be downgraded to the ordinary nodes.
42. The system of any one of claims 40 to 41, wherein a process of managing a node level includes submitting a node level adjusting application.
43. The system of any one of claims 40 to 42, wherein a process of managing a node level further includes writing application information in the alliance chain.
44. The system of any one of claims 40 to 43, wherein a process of managing a node level further includes checking a received node level adjusting application by the management nodes.
45. The system of any one of claims 40 to 44, wherein a process of managing a node level further includes broadcasting a checking result in the alliance chain.
46. The system of any one of claims 40 to 45, wherein a process of managing a node level further includes a node level of the applying node becoming an already applied level when all the management nodes consent to the node level adjusting application, and correspondingly adjusting a permission of the node at the same time.

Date Recue/Date Received 2023-11-14
47. An electronic device for managing a smart contract, the electronic device includes:
a memory storing data; and a processor configured to:
set plural management nodes in alliance chain nodes, and set remaining nodes as ordinary nodes;
set corresponding permissions for the management nodes and the ordinary nodes, wherein the ordinary nodes possess a permission to share data, and the management nodes possess permissions to share data and to manage a smart contract and the alliance chain nodes;
check, by the management nodes, application information for installing the smart contract uploaded by any node on the alliance chain, and broadcast a checking result on the alliance chain; and automatically trigger to execute installation or update of the smart contract if all the management nodes consent to install the smart contract.
48. The electronic device of claim 47, wherein the processor is further configured to check, by the management nodes, application information for updating the smart contract uploaded by any node on the alliance chain, and broadcast a checking result on the alliance chain.
49. The electronic device of any one of claims 47 to 48, wherein the processor is further configured to automatically trigger to execute updating of the smart contract if all the management nodes consent to update the smart contract.
50. The electronic device of any one of claims 47 to 49, wherein the application information includes a code.
51. The electronic device of any one of claims 47 to 50, wherein the application information further includes an installation package.

Date Recue/Date Received 2023-11-14
52. The electronic device of any one of claims 47 to 51, wherein the application information further includes a first code Hash value.
53. The electronic device of any one of claims 47 to 52, wherein the application information further includes a first installation package Hash value.
54. The electronic device of any one of claims 47 to 53, wherein the application information further includes signature information of the smart contract.
55. The electronic device of any one of claims 47 to 54, wherein the processor is further configured to use, by the management nodes, a public key of a node that uploads the application information to verify the signature information and verify identification of the node that uploads the application infoiination.
56. The electronic device of any one of claims 47 to 55, wherein the processor is further configured to verify, by the management nodes, the first code Hash value and the first installation package Hash value.
57. The electronic device of any one of claims 47 to 56, wherein the processor is further configured to verify by the management nodes, authenticity of the code of the smart contract.
58. The electronic device of any one of claims 47 to 57, wherein the processor is further configured to broadcast the checking result of the management nodes on the alliance chain.
59. The electronic device of any one of claims 47 to 58, wherein the processor is further configured to perform Hash calculation, by the node that uploads the application information, on the code and the installation package of the smart contract, and obtain the first code Hash value and the first installation package Hash value.
60. The electronic device of any one of claims 47 to 59, wherein the processor is further configured to perform Hash calculation, by the management nodes, on the code and the installation package of the smart contract.
61. The electronic device of any one of claims 47 to 60, wherein the processor is further configured to Date Recue/Date Received 2023-11-14 obtain a second code Hash value and a second installation package Hash value.
62. The electronic device of any one of claims 47 to 61, wherein the processor is further configured to compare a first code Hash value with a second code Hash value.
63. The electronic device of any one of claims 47 to 62, wherein the processor is further configured to compare a first installation package Hash value with a second installation package Hash value.
64. The electronic device of any one of claims 47 to 63, wherein the processor is further configured to pass verification in case of consistent comparisons between a first installation package Hash value and a second installation package Hash value.
65. The electronic device of any one of claims 47 to 64, wherein the processor is further configured to use, by the node that uploads the application information, a private key of its own to sign the first code Hash value and the first installation package Hash value.
66. The electronic device of any one of claims 47 to 65, wherein the processor is further configured to obtain signature information.
67. The electronic device of any one of 47 to 66, wherein the processor is further configured to trigger all the nodes on the alliance chain to install the installation package of the smart contract if all the management nodes consent to install or update the smart contract, and designate one of the nodes to upgrade the smart contract.
68. The electronic device of any one of claims 47 to 67, wherein the management nodes are configured to apply to join an alliance.
69. The electronic device of claim 68, wherein joining the alliance includes submitting member application material by a node applying to join in the alliance through a member material submission inlet opened by a business electronic device.
70. The electronic device of any one of claims 68 to 69, wherein joining the alliance further includes storing an application material in an underlayer alliance chain.

Date Recue/Date Received 2023-11-14
71. The electronic device of any one of claims 68 to 70, wherein joining the alliance further includes checking, by the management nodes, the received node application material uploaded by a new node.
72. The electronic device of any one of claims 68 to 71, wherein joining the alliance further includes broadcasting a checking result in an alliance chain.
73. The electronic device of any one of claims 69 to 72, wherein the member application material submitted by the node includes enterprise information.
74. The electronic device of any one of claims 69 to 73, wherein the member application material submitted by the node further includes legal representative information.
75. The electronic device of any one of claims 69 to 74, wherein the member application material submitted by the node includes a public key that verifies node identification.
76. The electronic device of any one of claims 69 to 75, wherein the member application material submitted by the node includes a node level applied is designated.
77. The electronic device of claim 76, wherein the node level includes an ordinary node for selection.
78. The electronic device of claim 76, wherein the node level includes a management node for selection.
79. The electronic device of any one of claims 68 to 78, wherein joining the alliance further includes generating a certificate of an alliance chain for a new node after all the management nodes have consented to the joining of the node.
80. The electronic device of any one of claims 68 to 79, wherein joining the alliance further includes writing a certificate document in a configuration block of an alliance chain.
81. The electronic device of any one of claims 68 to 80, wherein joining the alliance further includes deploying an alliance chain electronic device by a newly joining node.
82. The electronic device of any one of claims 68 to 81, wherein joining the alliance further includes accessing to an alliance chain.
Date Recue/Date Received 2023-11-14
83. The electronic device of any one of claims 68 to 82, wherein joining the alliance further includes synchronizing existing data.
84. The electronic device of claim 81, wherein the newly joining node is configured to deploy its own node.
85. The electronic device of any one of claims 81 to 84, wherein the newly joining node is further configured to access to an alliance chain.
86. The electronic device of any one of claims 47 to 85, wherein the ordinary codes management nodes in the alliance are entitled to be upgraded to the management nodes and to possess the permissions of the management nodes.
87. The electronic device of any one of claims 47 to 85, wherein the ordinary codes management nodes in the alliance are entitled to be downgraded to the ordinary nodes.
88. The electronic device of any one of claims 86 to 87, wherein a process of managing a node level includes submitting a node level adjusting application.
89. The electronic device of any one of claims 86 to 88, wherein a process of managing a node level further includes writing application information in the alliance chain.
90. The electronic device of any one of claims 86 to 89, wherein a process of managing a node level further includes checking a received node level adjusting application by the management nodes.
91. The electronic device of any one of claims 86 to 90, wherein a process of managing a node level further includes broadcasting a checking result in the alliance chain.
92. The electronic device of any one of claims 86 to 91, wherein a process of managing a node level further includes a node level of the applying node becoming an already applied level when all the management nodes consent to the node level adjusting application, and correspondingly adjusting a permission of the node at the same time.
93. A computer-readable storage medium having recorded thereon instructions for execution by an Date Recue/Date Received 2023-11-14 apparatus for managing a smart contract, wherein the computer-readable storage medium includes the instructions for:
setting plural management nodes in alliance chain nodes, and setting remaining nodes as ordinary nodes;
setting corresponding permissions for the management nodes and the ordinary nodes, wherein the ordinary nodes possess a permission to share data, and the management nodes possess permissions to share data and to manage a smart contract and the alliance chain nodes;
checking, by the management nodes, application infoimation for installing the smart contract uploaded by any node on the alliance chain, and broadcasting a checking result on the alliance chain; and automatically triggering to execute installation of the smart contract if all the management nodes consent to install the smart contract.
94. The computer-readable storage medium of claim 93, wherein the computer-readable storage medium further includes the instructions for checking, by the management nodes, application information for updating the smart contract uploaded by any node on the alliance chain, and broadcasting a checking result on the alliance chain.
95. The computer-readable storage medium of any one of claims 93 to 94, wherein the computer-readable storage medium further includes the instructions for automatically triggering to execute updating of the smart contract if all the management nodes consent to update the smart contract.
96. The computer-readable storage medium of any one of claims 93 to 95, wherein the application infoimation includes a code.
97. The computer-readable storage medium of any one of claims 93 to 96, wherein the application information further includes an installation package.
98. The computer-readable storage medium of any one of claims 93 to 97, wherein the application information further includes a first code Hash value.

Date Recue/Date Received 2023-11-14
99. The computer-readable storage medium of any one of claims 93 to 98, wherein the application information further includes a first installation package Hash value.
100.The computer-readable storage medium of any one of claims 93 to 99, wherein the application information further includes signature information of the smart contract.
101.The computer-readable storage medium of any one of claims 93 to 100, wherein the computer-readable storage medium further includes the instructions for using, by the management nodes, a public key of a node that uploads the application information to verify the signature information and verify identification of the node that uploads the application information.
102.The computer-readable storage medium of any one of claims 93 to 101, wherein the computer-readable storage medium further includes the instructions for verifying, by the management nodes, the first code Hash value and the first installation package Hash value.
103.The computer-readable storage medium of any one of claims 93 to 102, wherein the computer-readable storage medium further includes the instructions for verifying, by the management nodes, authenticity of the code of the smart contract.
104.The computer-readable storage medium of any one of claims 93 to 103, wherein the computer-readable storage medium further includes the instructions for broadcasting the checking result of the management nodes on the alliance chain.
105.The computer-readable storage medium of any one of claims 93 to 104, wherein the computer-readable storage medium further includes the instructions for performing Hash calculation, by the node that uploads the application information, on the code and the installation package of the smart contract, and obtaining the first code Hash value and the first installation package Hash value.
106.The computer-readable storage medium of any one of claims 93 to 105, wherein the computer-readable storage medium further includes the instructions for performing Hash calculation, by the management nodes, on the code and the installation package of the smart contract.
107.The computer-readable storage medium of any one of claims 93 to 106, wherein the computer-readable Date Recue/Date Received 2023-11-14 storage medium further includes the instructions for obtaining a second code Hash value and a second installation package Hash value.
108.The computer-readable storage medium of any one of claims 93 to 107, wherein the computer-readable storage medium further includes the instructions for comparing a first code Hash value with a second code Hash value.
109.The computer-readable storage medium of any one of claims 93 to 108, wherein the computer-readable storage medium further includes the instructions for comparing a first installation package Hash value with a second installation package Hash value.
110.The computer-readable storage medium of any one of claims 93 to 109, wherein the computer-readable storage medium further includes the instructions for passing verification in case of consistent comparisons between a first installation package Hash value and a second installation package Hash value.
111.The computer-readable storage medium of any one of claims 93 to 110, wherein the computer-readable storage medium further includes the instructions for using, by the node that uploads the application information, a private key of its own to sign the first code Hash value and the first installation package Hash value.
112. The computer-readable storage medium of any one of claims 93 to 111, wherein the computer-readable storage medium further includes the instructions for obtaining signature information.
113.The computer-readable storage medium of any one of claims 93 to 112, wherein the computer-readable storage medium further includes the instructions for triggering all the nodes on the alliance chain to install the installation package of the smart contract if all the management nodes consent to install or update the smart contract, and designating one of the nodes to upgrade the smart contract.
114.The computer-readable storage medium of any one of claims 93 to 113, wherein the management nodes are configured to apply to join an alliance.
115.The computer-readable storage medium of claim 114, wherein joining the alliance includes submitting member application material by a node applying to join in the alliance through a member material Date Recue/Date Received 2023-11-14 submission inlet opened by a business system.
116.The computer-readable storage medium of any one of claims 114 to 115, wherein joining the alliance further includes storing an application material in an underlayer alliance chain.
117.The computer-readable storage medium of any one of claims 114 to 116, wherein joining the alliance further includes checking, by the management nodes, the received node application material uploaded by a new node.
118.The computer-readable storage medium of any one of claims 114 to 117, wherein joining the alliance further includes broadcasting a checking result in an alliance chain.
119.The computer-readable storage medium of any one of claims 115 to 118, wherein the member application material submitted by the node includes enterprise information.
120.The computer-readable storage medium of any one of claims 115 to 119, wherein the member application material submitted by the node further includes legal representative information.
121.The computer-readable storage medium of any one of claims 115 to 120, wherein the member application material submitted by the node includes a public key that verifies node identification.
122.The computer-readable storage medium of any one of claims 115 to 121, wherein the member application material submitted by the node includes a node level applied is designated.
123.The computer-readable storage medium of claim 122, wherein the node level includes an ordinary node for selection.
124.The computer-readable storage medium of claim 122, wherein the node level includes a management node for selection.
125.The computer-readable storage medium of any one of claims 114 to 124, wherein joining the alliance further includes generating a certificate of an alliance chain for a new node after all the management nodes have consented to the joining of the node.
Date Recue/Date Received 2023-11-14
126.1he computer-readable storage medium of any one of claims 114 to 125, wherein joining the alliance further includes writing a certificate document in a configuration block of an alliance chain.
127.The computer-readable storage medium of any one of claims 114 to126, wherein joining the alliance further includes deploying an alliance chain system by a newly joining node.
128.The computer-readable storage medium of any one of claims 114 to 127, wherein joining the alliance further includes accessing to an alliance chain.
129.The computer-readable storage medium of any one of claims 114 to 128, wherein joining the alliance further includes synchronizing existing data.
130.The computer-readable storage medium of claim 127, wherein the newly joining node is configured to deploy its own node.
131.The computer-readable storage medium of any one of claims 127 to 130, wherein the newly joining node is further configured to access to an alliance chain.
132.The computer-readable storage medium of any one of claims 93 to 131, wherein the ordinary codes management nodes in the alliance are entitled to be upgraded to the management nodes and to possess the permissions of the management nodes.
133.The computer-readable storage medium of any one of claims 93 to 132, wherein the ordinary codes management nodes in the alliance are entitled to be downgraded to the ordinary nodes.
134.The computer-readable storage medium of any one of claims 132 to 133, wherein a process of managing a node level includes submitting a node level adjusting application.
135.The computer-readable storage medium of any one of claims 132 to 134, wherein a process of managing a node level further includes writing application information in the alliance chain.
136.The computer-readable storage medium of any one of claims 132 to 135, wherein a process of managing a node level further includes checking a received node level adjusting application by the management nodes.

Date Recue/Date Received 2023-11-14
137.The computer-readable storage medium of any one of claims 132 to 136, wherein a process of managing a node level further includes broadcasting a checking result in the alliance chain.
138.The computer-readable storage medium of any one of claims 132 to 137, wherein a process of managing a node level further includes a node level of the applying node becoming an already applied level when all the management nodes consent to the node level adjusting application, and correspondingly adjusting a permission of the node at the same time.
139.A method for managing a smart contract, wherein the method includes:
setting plural management nodes in alliance chain nodes, and setting remaining nodes as ordinary nodes;
setting corresponding permissions for the management nodes and the ordinary nodes, wherein the ordinary nodes possess a permission to share data, and the management nodes possess permissions to share data and to manage a smart contract and the alliance chain nodes;
checking, by the management nodes, application information for installing the smart contract uploaded by any node on the alliance chain, and broadcasting a checking result on the alliance chain; and automatically triggering to execute installation of the smart contract if all the management nodes consent to install the smart contract.
140. The method of claim 139, wherein the method further includes checking, by the management nodes, application infoimation for updating the smart contract uploaded by any node on the alliance chain, and broadcasting a checking result on the alliance chain.
141.The method of any one of claims 139 to 140, wherein the method further includes automatically triggering to execute updating of the smart contract if all the management nodes consent to update the smart contract.
142.The method of any one of claims 139 to 141, wherein the application information includes a code.

Date Recue/Date Received 2023-11-14
143.The method of any one of claims 139 to 140, wherein the application information further includes an installation package.
144.The method of any one of claims 139 to 143, wherein the application information further includes a first code Hash value.
145.The method of any one of claims 139 to 144, wherein the application information further includes a first installation package Hash value.
146.The method of any one of claims 139 to 145, wherein the application information further includes signature information of the smart contract.
147.The method of any one of claims 139 to 146, wherein the method further includes using, by the management nodes, a public key of a node that uploads the application information to verify the signature information and verify identification of the node that uploads the application information.
148.The method of any one of claims 139 to 147, wherein the method further includes verifying, by the management nodes, the first code Hash value and the first installation package Hash value.
149.The method of any one of claims 139 to 148, wherein the method further includes verifying, by the management nodes, authenticity of the code of the smart contract.
150.The method of any one of claims 139 to 149, wherein the method further includes broadcasting the checking result of the management nodes on the alliance chain.
151.The method of any one of claims 139 to 150, wherein the method further includes performing Hash calculation, by the node that uploads the application information, on the code and the installation package of the smart contract, and obtaining the first code Hash value and the first installation package Hash value.
152.The method of any one of claims 139 to 151, wherein the method further includes performing Hash calculation, by the management nodes, on the code and the installation package of the smart contract.

Date Recue/Date Received 2023-11-14
153.The method of any one of claims 139 to 152, wherein the method further includes obtaining a second code Hash value and a second installation package Hash value.
154.The method of any one of claims 139 to 153, wherein the method further includes comparing a first code Hash value with a second code Hash value.
155.The method of any one of claims 139 to 154, wherein the method further includes comparing a first installation package Hash value with a second installation package Hash value.
156.The method of any one of claims 139 to 155, wherein the method further includes passing verification in case of consistent comparisons between a first installation package Hash value and a second installation package Hash value.
157.The method of any one of claims 139 to 156, wherein the method further includes using, by the node that uploads the application infoimation, a private key of its own to sign the first code Hash value and the first installation package Hash value.
158. The method of any one of claims 139 to 157, wherein the method further includes obtaining signature information.
159.The method of any one of claims 139 to 158, wherein the method further includes triggering all the nodes on the alliance chain to install the installation package of the smart contract if all the management nodes consent to install or update the smart contract, and designating one of the nodes to upgrade the smart contract.
160.The method of any one of claims 139 to 159, wherein the management nodes are configured to apply to join an alliance.
161.The method of claim 160, wherein joining the alliance includes submitting member application material by a node applying to join in the alliance through a member material submission inlet opened by a business system.
162.The method of any one of claims 160 to 161, wherein joining the alliance further includes storing an application material in an underlayer alliance chain.

Date Recue/Date Received 2023-11-14
163.The method of any one of claims 160 to 162, wherein joining the alliance further includes checking, by the management nodes, the received node application material uploaded by a new node.
164.The method of any one of claims 160 to 163, wherein joining the alliance further includes broadcasting a checking result in an alliance chain.
165.The method of any one of claims 161 to 164, wherein the member application material submitted by the node includes enterprise information.
166.The method of any one of claims 161 to 165, wherein the member application material submitted by the node further includes legal representative information.
167.The method of any one of claims 161 to 166, wherein the member application material submitted by the node includes a public key that verifies node identification.
168.The method of any one of claims 161 to 167, wherein the member application material submitted by the node includes a node level applied is designated.
169.The method of claim 168, wherein the node level includes an ordinary node for selection.
170.The method of claim 168, wherein the node level includes a management node for selection.
171.The method of any one of claims 160 to 170, wherein joining the alliance further includes generating a certificate of an alliance chain for a new node after all the management nodes have consented to the joining of the node.
172.The method of any one of claims 160 to 171, wherein joining the alliance further includes writing a certificate document in a configuration block of an alliance chain.
173.The method of any one of claims 160 to 172, wherein joining the alliance further includes deploying an alliance chain system by a newly joining node.
174.The method of any one of claims 160 to 173, wherein joining the alliance further includes accessing to Date Recue/Date Received 2023-11-14 an alliance chain.
175.The method of any one of claims 160 to 174, wherein joining the alliance further includes synchronizing existing data.
176.The method of claim 173, wherein the newly joining node is configured to deploy its own node.
177.The method of any one of claims 173 to 176, wherein the newly joining node is further configured to access to an alliance chain.
178.The method of any one of claims 139 to 177, wherein the ordinary codes management nodes in the alliance are entitled to be upgraded to the management nodes and to possess the permissions of the management nodes.
179.The method of any one of claims 139 to 177, wherein the ordinary codes management nodes in the alliance are entitled to be downgraded to the ordinary nodes.
180.The method of any one of claims 178 to 179, wherein a process of managing a node level includes submitting a node level adjusting application.
181.The method of any one of claims 178 to 180, wherein a process of managing a node level further includes writing application information in the alliance chain.
182.The method of any one of claims 178 to 181, wherein a process of managing a node level further includes checking an received node level adjusting application by the management nodes.
183.The method of any one of claims 178 to 182, wherein a process of managing a node level further includes broadcasting a checking result in the alliance chain.
184.The method of any one of claims 178 to 183, wherein a process of managing a node level further includes a node level of the applying node becoming an already applied level when all the management nodes consent to the node level adjusting application, and correspondingly adjusting a permission of the node at the same time.

Date Recue/Date Received 2023-11-14
CA3177205A 2019-04-09 2019-09-29 Method of and system for managing smart contract Active CA3177205C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910284149.XA CN110138592A (en) 2019-04-09 2019-04-09 A kind of management method and system of intelligence contract
CN201910284149.X 2019-04-09
PCT/CN2019/109114 WO2020206956A1 (en) 2019-04-09 2019-09-29 Method and system for managing smart contract

Publications (2)

Publication Number Publication Date
CA3177205A1 CA3177205A1 (en) 2020-10-15
CA3177205C true CA3177205C (en) 2024-02-13

Family

ID=67569702

Family Applications (1)

Application Number Title Priority Date Filing Date
CA3177205A Active CA3177205C (en) 2019-04-09 2019-09-29 Method of and system for managing smart contract

Country Status (3)

Country Link
CN (1) CN110138592A (en)
CA (1) CA3177205C (en)
WO (1) WO2020206956A1 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110138592A (en) * 2019-04-09 2019-08-16 苏宁易购集团股份有限公司 A kind of management method and system of intelligence contract
CN110708280B (en) * 2019-08-21 2021-02-09 北京邮电大学 Root block chain authentication system and method formed by integrating multiple independent units
CN110602217B (en) * 2019-09-17 2022-04-01 腾讯科技(深圳)有限公司 Block chain-based alliance management method, device, equipment and storage medium
CN110874741B (en) * 2019-10-10 2021-03-30 北京海益同展信息科技有限公司 Contract management method, block chain system and storage medium
CN111310223A (en) * 2019-11-21 2020-06-19 中国民航大学 Method for solving civil aviation virtual seat occupation problem based on improved PoA block chain system
CN110992068B (en) * 2019-12-17 2023-06-06 浙江大学 Vaccine full life cycle management method and system based on block chain
CN111062730B (en) * 2019-12-17 2023-08-18 浙江大学 Pork information management method and system based on Internet of things and blockchain
CN113132441A (en) * 2019-12-31 2021-07-16 阿里巴巴集团控股有限公司 Information processing method of distributed system, distributed system and computing equipment
CN111401900A (en) * 2020-03-20 2020-07-10 深圳市网心科技有限公司 Block chain verifier updating method, device, equipment and readable storage medium
CN111897795A (en) * 2020-06-24 2020-11-06 苏宁金融科技(南京)有限公司 Management method, device and system of alliance chain
CN112118107B (en) * 2020-08-12 2021-08-27 北京大学 Self-adaptive execution method for realizing data credibility
CN112182608B (en) * 2020-09-25 2023-10-20 中国人民大学 Method and system for regularly sharing alliance chain encryption data
CN112954037A (en) * 2021-02-03 2021-06-11 中国互联网络信息中心 Domain name abuse processing method and system based on alliance chain
CN113343288B (en) * 2021-03-26 2022-06-14 江苏荣泽信息科技股份有限公司 Block chain intelligent contract security management system based on TEE
CN113689293B (en) * 2021-08-09 2024-02-06 深圳前海微众银行股份有限公司 Method and device for determining intelligent contract file in alliance chain
CN115473747B (en) * 2022-11-14 2023-03-24 苏州浪潮智能科技有限公司 State changing method, device, equipment and storage medium
CN116402471A (en) * 2023-04-25 2023-07-07 中国人民解放军海军特色医学中心 Instrument and equipment information management method and system based on alliance chain

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593734A (en) * 2013-11-12 2014-02-19 金蝶软件(中国)有限公司 Electronic countersigning method and device
CN106778329B (en) * 2016-11-28 2020-12-04 中国银行股份有限公司 Block chain intelligent contract template dynamic updating method, device and system
JP6931999B2 (en) * 2017-02-06 2021-09-08 株式会社日立製作所 Credit management system and credit management method
US10356102B2 (en) * 2017-02-24 2019-07-16 Verizon Patent And Licensing Inc. Permissions using blockchain
CN107424283A (en) * 2017-04-22 2017-12-01 孙正义 A kind of voting method and system
CN107464148A (en) * 2017-08-23 2017-12-12 众安信息技术服务有限公司 A kind of intelligent contract upgrade method and system based on alliance's chain
CN109104415B (en) * 2018-07-21 2021-07-20 江苏飞搏软件股份有限公司 System and method for constructing trusted node network
CN108881312A (en) * 2018-08-24 2018-11-23 北京京东尚科信息技术有限公司 Intelligent contract upgrade method, system and relevant device and storage medium
CN109067553B (en) * 2018-10-17 2021-06-25 杭州趣链科技有限公司 Block chain distributed certificate management method based on intelligent contracts
CN109358881B (en) * 2018-10-24 2020-06-16 杭州趣链科技有限公司 Authority-controllable intelligent contract upgrading method based on intelligent contract
CN109491682B (en) * 2018-10-24 2021-12-17 杭州趣链科技有限公司 Method for automatically upgrading permission-controllable block chain system based on intelligent contract
CN110138592A (en) * 2019-04-09 2019-08-16 苏宁易购集团股份有限公司 A kind of management method and system of intelligence contract

Also Published As

Publication number Publication date
CA3177205A1 (en) 2020-10-15
WO2020206956A1 (en) 2020-10-15
CN110138592A (en) 2019-08-16

Similar Documents

Publication Publication Date Title
CA3177205C (en) Method of and system for managing smart contract
US11080405B2 (en) Securing operating system configuration using hardware
US10528765B2 (en) Technologies for secure boot provisioning and management of field-programmable gate array images
US11496323B1 (en) Systems and methods for container orchestration security
US11237817B2 (en) Operating system update management for enrolled devices
US9043877B2 (en) Temporarily providing higher privileges for computing system to user identifier
US10671372B2 (en) Blockchain-based secure customized catalog system
KR101033620B1 (en) Trusted code groups
US20110126197A1 (en) System and method for controlling cloud and virtualized data centers in an intelligent workload management system
US20070240194A1 (en) Scoped permissions for software application deployment
US20130031371A1 (en) Software Run-Time Provenance
US10379894B1 (en) Lineage-based trust for virtual machine images
US20200356358A1 (en) Systems and methods for incrementally and dynamically updating firmware
CN107729746B (en) Installed application program tamper-proofing method and system based on digital signature
US20210374112A1 (en) Migration support system, migration support method, and node
EP4248346A1 (en) Firmware runtime patch secure release process
US11403092B2 (en) System compliance based on a mix of hotpatches and coldpatches
CN111158771B (en) Processing method and device and computer equipment
US11809572B2 (en) Trust validation for software artifacts
US11687656B2 (en) Secure application development using distributed ledgers
CN116848818A (en) Cluster resource signature verification
Kuppusamy Building Compromise-Resilient Software Repositories
US20080114879A1 (en) Deployment of configuration data within a server farm

Legal Events

Date Code Title Description
EEER Examination request

Effective date: 20220927

EEER Examination request

Effective date: 20220927

EEER Examination request

Effective date: 20220927

EEER Examination request

Effective date: 20220927

EEER Examination request

Effective date: 20220927

EEER Examination request

Effective date: 20220927

EEER Examination request

Effective date: 20220927

EEER Examination request

Effective date: 20220927

EEER Examination request

Effective date: 20220927