Blockchain creation methods, devices, equipment, storage media, and software products
By receiving chain creation requests at blockchain nodes and sending them to consortium nodes for verification, a new blockchain is created, which solves the security reduction problem caused by cloud computing platform vulnerabilities and realizes the secure establishment and authentication of the new blockchain.
Patent Information
- Application Number
- CN202411929137.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-25
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2044-12-25
AI Technical Summary
Cloud computing platforms may contain vulnerabilities that could reduce the security of blockchain.
After receiving a blockchain creation request, the basic blockchain node sends the creation information and ring signature result to the consortium node terminal for verification. If the verification is successful and the decision is agreed upon, a new blockchain is created using configuration parameters. The ring signature method is used to verify the identity of the initiator, ensuring that the creation process of the new blockchain is not affected by external factors.
It improves the security of establishing new blockchains, ensures the security of the initiation process of creating new blockchains, and enhances the reliability of identity verification.
Smart Images

Figure CN119834983B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of blockchain technology, and in particular to a blockchain creation method, apparatus, device, storage medium, and program product. Background Technology
[0002] A blockchain is a chain of blocks linked together using cryptographic methods. The data in each block of a blockchain is related to the data in the previous block. Therefore, it is impossible to cheat by tampering with the data in the blocks, ensuring that the data in any block is public and transparent, thus improving the security of input information.
[0003] Currently, blockchain frameworks can be embedded into cloud computing platforms, allowing users to operate on the blockchain through web interfaces by leveraging cloud service infrastructure.
[0004] However, the inventors discovered that the related technology has at least the following technical problems: cloud computing platforms may have vulnerabilities, which could reduce the security of the blockchain. Summary of the Invention
[0005] This application provides a blockchain creation method, apparatus, device, storage medium, and program product to address the technical problem of reduced blockchain security.
[0006] In a first aspect, this application provides a blockchain creation method, comprising: receiving a blockchain creation request sent by a user terminal, wherein the blockchain creation request includes creation information and a ring signature result, wherein the creation information includes configuration parameters and a consortium node identifier; sending the creation information and the ring signature result to the consortium node terminal corresponding to the consortium node identifier, so that the consortium node terminal verifies the ring signature result and obtains a verification result; if the verification result is normal, then outputting the creation information; receiving decision results sent by each consortium node terminal based on the creation information; if each decision result is in agreement, then creating a new blockchain using each configuration parameter.
[0007] Secondly, this application provides a blockchain creation device, comprising: a request receiving module for receiving a blockchain creation request sent by a user terminal, wherein the blockchain creation request includes creation information and a ring signature result, wherein the creation information includes a consortium node identifier; a data sending module for sending the creation information and the ring signature result to the consortium node terminal corresponding to the consortium node identifier, so that the consortium node terminal verifies the ring signature result and obtains a verification result; if the verification result is normal, the creation information is output; a result receiving module for receiving decision results sent by each consortium node terminal based on the creation information; and a blockchain creation module for creating a new blockchain using each configuration parameter if all decision results are in agreement.
[0008] Thirdly, this application provides an electronic device, including: a processor and a memory communicatively connected to the processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory to implement the blockchain creation method described in the first aspect.
[0009] Fourthly, this application provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the blockchain creation method described in the first aspect.
[0010] Fifthly, this application provides a computer program product, including a computer program that, when executed by a processor, implements the blockchain creation method as described in the first aspect.
[0011] The blockchain creation method, apparatus, device, storage medium, and program products provided in this application, based on a foundational blockchain, involve sending the blockchain creation information and ring signature result from the blockchain creation request to the consortium node terminal specified in the request after the foundational blockchain node receives the request. The consortium node terminal verifies the ring signature result and obtains the verification result. After successful verification, the blockchain creation information is output, and the user's input decision result is obtained. A new blockchain is established when all decision results are agreed upon. Since the new blockchain is created by a blockchain, the creation process is protected from external influences, increasing the security of the new blockchain creation. Furthermore, the use of ring signatures to verify the identity of the party proposing the creation of the new blockchain ensures the security of the initiation process of the new blockchain creation. Attached Figure Description
[0012] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0013] Figure 1 A schematic diagram illustrating the scenario of the blockchain creation method provided in this application;
[0014] Figure 2 A schematic flowchart illustrating the blockchain creation method provided in this application embodiment;
[0015] Figure 3 A schematic diagram of the structure of the blockchain creation device provided in the embodiments of this application;
[0016] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.
[0017] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation
[0018] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0019] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, storage, use, processing, transmission, provision, disclosure, and application of the relevant data all comply with the relevant laws, regulations, and standards of the relevant regions, have taken necessary confidentiality measures, do not violate public order and good morals, and provide corresponding operation portals for users to choose to authorize or refuse.
[0020] It should be noted that the blockchain creation method, apparatus, device, storage medium and program products provided in this application can be used in the blockchain field, or in any field other than blockchain. The application fields of the blockchain creation method, apparatus, device, storage medium and program products in this application are not limited.
[0021] Figure 1 A schematic diagram illustrating a scenario for the blockchain creation method provided in this application. For example... Figure 1 In this scenario, the following components are included: basic blockchain node 101, user terminal 102, and alliance node terminal 103.
[0022] In the specific implementation process, the basic blockchain node 101 can be implemented by computers, servers or a cluster of multiple servers. Where possible, computers with strong computing power, laptops or other similar devices can also be used as alternatives.
[0023] User terminal 102 and consortium node terminal 103 may include computers, servers, tablets, mobile phones, PDAs (Personal Digital Assistants), and laptops, etc., which can perform data input and output. Consortium node terminal 103 may include user terminal 102.
[0024] The connection between the basic blockchain node 101, user terminal 102, and consortium node terminal 103 can be either wired or wireless.
[0025] It is understood that the scenarios illustrated in the embodiments of this application do not constitute a specific limitation on the blockchain creation method. In other feasible implementations of this application, the above scenarios may include more or fewer components than illustrated, or combine some components, or split some components, or arrange different components, which can be determined according to the actual application scenario and are not limited here. Figure 1 The scenario shown can be implemented by hardware, software, or a combination of both.
[0026] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0027] Figure 2 This is a flowchart illustrating the blockchain creation method provided in this application embodiment. The execution entity of this application embodiment may be... Figure 1 The basic blockchain nodes in the example are not specifically limited in this embodiment. Figure 2 As shown, the method includes:
[0028] S201: Receive a blockchain creation request sent by a user terminal. The blockchain creation request includes creation information and ring signature results. The creation information includes configuration parameters and alliance node identifiers.
[0029] In this step, a blockchain chain establishment request can be received by receiving messages, data packets, etc. sent by the user terminal. The ring signature result can include the result obtained by the user terminal using the public key of a known consortium node in the blockchain and its own private key to ring sign the chain establishment information.
[0030] The chain information can be generated by the user on the user terminal through data input, selection of drop-down menus, and selection of options.
[0031] S202: Send the chain establishment information and ring signature result to the alliance node terminal corresponding to the alliance node identifier so that the alliance node terminal can verify the ring signature result and obtain the verification result. If the verification result is normal, output the chain establishment information.
[0032] This step may include encapsulating the chain establishment information and ring signature result according to a preset protocol and sending them to the consortium node terminal. The consortium node terminal verifies the ring signature result using the chain establishment information, the ring signature result, and the pre-known public keys of each consortium node. Verification involves checking whether the signature satisfies a specific mathematical relationship or equation to determine the correctness and authenticity of the signature, thus obtaining the verification result. The consortium node terminal can display the chain establishment information.
[0033] S203: Receive the decision results sent by each alliance node terminal based on the chain establishment information.
[0034] In this step, the decision result can be input by the user into the consortium node terminal, which then sends it to the base blockchain node using a preset communication protocol.
[0035] S204: If all decisions result in agreement, then a new blockchain is created using the configuration parameters.
[0036] In this step, for example, if there are currently 5 alliance node identifiers corresponding to 5 alliance node terminals, and the decision results sent by these 5 alliance node terminals are all in agreement, then a new blockchain is created using the configuration parameters.
[0037] As described in the above embodiments, this disclosure uses a basic blockchain as its foundation. After the basic blockchain node receives a blockchain creation request, it sends the creation information and ring signature result from the request to the consortium node terminal specified in the request. The consortium node terminal verifies the ring signature result and obtains the verification result. After successful verification, the creation information is output to obtain the user's input decision result. A new blockchain is established when all decision results are agreed upon. Since the new blockchain is created by the blockchain itself, the creation process is protected from external influences, increasing the security of the new blockchain creation. Furthermore, the use of ring signatures to verify the identity of the party proposing the creation of the new blockchain ensures the security of the initiation process of creating the new blockchain.
[0038] In one possible implementation, the configuration parameters correspond to the configuration type.
[0039] Configuration types include processor type, memory size, consensus algorithm type, and consortium identifier. Consensus algorithm types include Proof-of-Work, Proof-of-Stake, Practical Byzantine Fault Tolerance, and Delayed Proof-of-Work.
[0040] Accordingly, in step S204 above, if each decision result is in agreement, a new blockchain is created using each configuration parameter, including steps S204A1 and S204A2.
[0041] S204A1: If all decision results are in agreement, then according to the configuration type corresponding to the configuration parameters, the configuration parameters are written into the smart contract template to obtain the smart contract to be executed.
[0042] In this step, the smart contract template may contain data write locations corresponding to each configuration type. The configuration parameters are written to the corresponding data write locations to obtain the smart contract to be executed. If the configuration parameters do not cover all configuration types in the smart contract template, the uncovered configuration types can use the default configuration parameters.
[0043] S204A2: Execute the pending smart contract to create a new blockchain.
[0044] This step may include executing code in a smart contract to create a new blockchain.
[0045] As can be seen from the description of the above embodiments, the present disclosure embodiments obtain a smart contract to be executed by writing the configuration parameters into the position of the corresponding configuration type in the smart contract template when the decision result is agreed.
[0046] In one possible implementation, if all decisions result in agreement, a new blockchain is created using each configuration parameter, including steps S204B1 to S204B3.
[0047] S204B1: If all decisions result in agreement, then find the smart contract template corresponding to the configuration parameters.
[0048] This step may include finding the corresponding smart contract template by configuring the parameters.
[0049] Specifically, this involves using configuration parameters to find the correspondence between preset configuration parameters and templates, thereby obtaining the corresponding smart contract template. The correspondence between configuration parameters and templates can be pre-configured by staff and written into the blockchain, stored in formats such as tables or files.
[0050] S204B2: Write the configuration parameters into the smart contract template to obtain the smart contract to be executed.
[0051] This step is similar to step S204A1 above, and will not be repeated here.
[0052] S204B3: Smart pending smart contracts to create new blockchains.
[0053] This step is similar to step S204A2 above, and will not be repeated here.
[0054] As can be seen from the description of the above embodiments, the embodiments of this disclosure obtain the contract to be executed by finding the smart contract template corresponding to the configuration parameters and writing the configuration parameters into the smart contract template, and then executing the smart contract to be executed, thereby creating a new blockchain. This realizes the determination of the smart contract template by combining specific configuration parameters, making the smart contract template more compatible with the specific parameters and avoiding errors in the smart contract.
[0055] In one possible implementation, the configuration parameters also include the application scenario, business requirements, block type, blockchain architecture, and data structure.
[0056] In step S204B1 above, finding the smart contract template corresponding to the configuration parameters includes step S4B11.
[0057] S4B11: Based on the application scenario, business requirements, block type, blockchain architecture, and data structure, it searches for the corresponding smart contract template from the preset smart contract template library.
[0058] In this step, smart contract templates can have corresponding tags. This step can include finding smart contract templates with tags that match the application scenario, business requirements, block type, blockchain architecture, and data structure. This step can also include finding smart contract templates whose configuration parameters include the application scenario, business requirements, block type, blockchain architecture, and data structure, as the actual smart contract templates to be used.
[0059] As can be seen from the description of the above embodiments, the embodiments of this disclosure limit the application scenario, business requirements, block type, blockchain architecture and data structure in the configuration parameters, thereby using a smart contract template that meets the requirements of the application scenario, business requirements, block type, blockchain architecture and data structure, so that the resulting smart contract is more in line with the actual use requirements.
[0060] In one possible implementation, after sending the chain establishment information and ring signature result to the alliance node terminal corresponding to the alliance node identifier in step S202, the method further includes steps S210 to S214.
[0061] S210: Receive modification information and modified ring signature sent by at least one consortium node terminal based on chain establishment information and ring signature results.
[0062] In this step, the modified information can be user input on the consortium node terminal side, and the modified ring signature can be obtained by the consortium node terminal signing the modified information using its own stored private key and the public keys of each consortium node terminal.
[0063] S211: Send the modification information and modified ring signature to each alliance node terminal so that each alliance node terminal can verify the modified ring signature. If the verification result of the modified ring signature is normal, output the modification information.
[0064] This step is similar to step S202 above, and will not be repeated here.
[0065] S212: Receive voting information sent by each alliance node based on the modified information.
[0066] This step is similar to the process of receiving the decision results in step S203 above, and will not be described again here.
[0067] S213: Determine the selected configuration parameters based on the voting information, chain building information, and modification information.
[0068] This step includes counting the number of votes corresponding to the chain-building information and the modification information. The configuration parameter in the information with the higher number of votes is determined as the selected configuration parameter. Alternatively, if the number of votes for the chain-building information is greater than the number of votes for the modification information, the configuration parameter in the chain-building information is used as the selected configuration parameter. If the number of votes for the modification information is greater than the number of votes for the chain-building information, the configuration parameter in the chain-building information is modified using the modification information to obtain the selected configuration parameter.
[0069] S214: Create a new blockchain using the selected configuration parameters.
[0070] This step is similar to step S204 above, and will not be repeated here.
[0071] As can be seen from the description of the above embodiments, this disclosure embodiment receives modification information and modified ring signature sent by the alliance node terminal based on the chain establishment information and ring signature result, sends the modification information and modified ring signature to each alliance node terminal, and after the alliance node terminal verifies the modified ring signature and the verification result is normal, it outputs the modification information, receives the voting information sent by the modification information, determines the selected configuration parameter in the chain establishment information and modification information according to each voting information, and uses the selected configuration parameter to create a new blockchain, so as to realize that the alliance node terminal can modify the chain establishment information after receiving the chain establishment information.
[0072] In one possible implementation, in step S213 above, the selected configuration parameters are determined from the chain building information and modification information based on each voting information, including steps S2131 to S2134.
[0073] S2131: Count the number of identifiers for chain-building information and the number of identifiers for modification information in each voting message.
[0074] This step may include reading the identifiers of the chain-building information and the identifiers of the modification information from the voting information. For each identifier of the chain-building information read, the count of the chain-building information identifiers is incremented by one; for each identifier of the modification information read, the count of the modification information identifiers is incremented by one. After reading all types of identifiers from the voting information and the modification information, the count of the chain-building information identifiers and the count of the modification information identifiers are obtained. Both the identifiers of the modification information and the identifiers of the chain-building information can be the hash values of the corresponding blocks.
[0075] S2132: If the number of identifiers in the chain establishment information is greater than the number of identifiers in the modification information, then the configuration parameters in the chain establishment information will be selected as the selected configuration parameters.
[0076] In this step, for example, if the number of identifiers in the chain creation information is 5 and the number of identifiers in the modification information is 4, then the configuration parameters in the chain creation information are determined as the selected configuration parameters. As another example, if the number of identifiers in the chain creation information is 7 and the number of identifiers in the modification information is 2, then the configuration parameters in the chain creation information are determined as the selected configuration parameters.
[0077] S2133: If the number of identifiers in the modified information is greater than the number of identifiers in the chain establishment information, then the configuration parameters in the modified information will be determined as the selected configuration parameters.
[0078] In this step, for example, if the number of identifiers for the chain establishment information is 3 and the number of identifiers for the modification information is 9, then the configuration parameters in the modification information are determined as the selected configuration parameters. As another example, if the number of identifiers for the chain establishment information is 5 and the number of identifiers for the modification information is 7, then the configuration parameters in the modification information are determined as the selected configuration parameters. Yet another example, if the number of identifiers for the chain establishment information is 3, the number of identifiers for modification information A is 2, then the configuration parameters in the modification information are determined as the selected configuration parameters, and the number of identifiers for modification information B is 11, then the configuration parameters in modification information B are determined as the selected configuration parameters.
[0079] S2134: If the number of identifiers in the modified information equals the number of identifiers in the chain-building information, then send a re-voting request to each alliance node. Receive new voting information sent by each alliance node based on the re-voting request.
[0080] In this step, when there are multiple blockchain creation information entries, the number of identifiers for each entry and the number of identifiers for each modification entry are equal. The re-voting request can be pre-set by staff, such as "If the votes are tied, please vote again" or "If the votes are tied, please negotiate and vote again." The method for receiving new voting information is similar to step S212 above and will not be repeated here.
[0081] As can be seen from the description of the above embodiments, the embodiments of this disclosure count the number of identifiers of chain-building information and the number of identifiers of modification information in each voting information, select the configuration parameters from the information with higher votes from the modification information and chain-building information as the configuration parameters to be used in practice, and vote again when the votes of the two types of information are the same to ensure that there are available configuration parameters.
[0082] Figure 3 This is a schematic diagram of the structure of a blockchain creation device provided in an embodiment of this application. Figure 3 As shown, the blockchain creation device 300 includes: a request receiving module 301, a data sending module 302, a result receiving module 303, and a blockchain creation module 304.
[0083] The request receiving module 301 is used to receive a blockchain establishment request sent by a user terminal. The blockchain establishment request includes establishment information and ring signature results. The establishment information includes the alliance node identifier.
[0084] The data sending module 302 is used to send the chain establishment information and ring signature result to the alliance node terminal corresponding to the alliance node identifier, so that the alliance node terminal can verify the ring signature result and obtain the verification result. If the verification result is normal, the chain establishment information is output.
[0085] The result receiving module 303 is used to receive the decision results sent by each alliance node terminal based on the chain establishment information;
[0086] Blockchain creation module 304 is used to create a new blockchain using the configuration parameters if all decision results are in agreement.
[0087] The apparatus provided in this embodiment can be used to execute the technical solutions of the above method embodiments. Its implementation principle and technical effects are similar, and will not be described again here.
[0088] In one possible implementation, the configuration parameters correspond to the configuration type; accordingly, the blockchain creation module 304 is specifically used to write the configuration parameters into the smart contract template according to the configuration type corresponding to the configuration parameters if all decision results are in agreement, thereby obtaining the smart contract to be executed; and to execute the smart contract to be executed in order to create a new blockchain.
[0089] The apparatus provided in this embodiment can be used to execute the technical solutions of the above method embodiments. Its implementation principle and technical effects are similar, and will not be described again here.
[0090] In one possible implementation, the blockchain creation module 304 is specifically used to find the smart contract template corresponding to the configuration parameters if the decision results are agreed; write the configuration parameters into the smart contract template to obtain the smart contract to be executed; and smart the smart contract to be executed to create a new blockchain.
[0091] The apparatus provided in this embodiment can be used to execute the technical solutions of the above method embodiments. Its implementation principle and technical effects are similar, and will not be described again here.
[0092] In one possible implementation, the configuration parameters also include application scenarios, business requirements, block types, blockchain architecture, and data structures; the blockchain creation module 304 is specifically used to search for the corresponding smart contract template from the preset smart contract template library based on the application scenarios, business requirements, block types, blockchain architecture, and data structures.
[0093] The apparatus provided in this embodiment can be used to execute the technical solutions of the above method embodiments. Its implementation principle and technical effects are similar, and will not be described again here.
[0094] In one possible implementation, the blockchain creation device 300 also includes a parameter modification module 305.
[0095] The parameter modification module 305 is used to receive modification information and modified ring signature sent by at least one consortium node terminal based on chain establishment information and ring signature results; send the modification information and modified ring signature to each consortium node terminal so that each consortium node terminal can verify the modified ring signature. If the verification result of the modified ring signature is normal, the modification information is output; receive voting information sent by each consortium node based on the modification information; determine the selected configuration parameters based on the voting information, chain establishment information and modification information; and create a new blockchain using the selected configuration parameters.
[0096] The apparatus provided in this embodiment can be used to execute the technical solutions of the above method embodiments. Its implementation principle and technical effects are similar, and will not be described again here.
[0097] In one possible implementation, the parameter modification module 305 is specifically used to count the number of identifiers for the chain-building information and the number of identifiers for the modification information in each voting information; if the number of identifiers for the chain-building information is greater than the number of identifiers for the modification information, then the configuration parameter in the chain-building information is determined as the selected configuration parameter; if the number of identifiers for the modification information is greater than the number of identifiers for the chain-building information, then the configuration parameter in the modification information is determined as the selected configuration parameter; if the number of identifiers for the modification information is equal to the number of identifiers for the chain-building information, then a re-voting request is sent to each alliance node; and the new voting information sent by each alliance node according to the re-voting request is received.
[0098] The apparatus provided in this embodiment can be used to execute the technical solutions of the above method embodiments. Its implementation principle and technical effects are similar, and will not be described again here.
[0099] To implement the above embodiments, this application also provides an electronic device.
[0100] refer to Figure 4 The diagram illustrates a structural schematic of an electronic device 400 suitable for implementing embodiments of this application. The electronic device 400 can be a terminal device or a server. The terminal device can include, but is not limited to, mobile terminals such as mobile phones, laptops, digital radio receivers, personal digital assistants (PDAs), portable Android devices (PADs), portable media players (PMPs), and in-vehicle terminals (e.g., in-vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 4 The electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.
[0101] like Figure 4 As shown, the electronic device 400 may include a processor (e.g., a central processing unit, a graphics processing unit, etc.) 401 and a memory 402 communicatively connected to the processor. The processor can perform various appropriate actions and processes based on programs stored in the memory 402, computer-executed instructions, or programs loaded from storage device 408 into random access memory (RAM) 403, to implement the blockchain creation method in any of the above embodiments. The memory may be read-only memory (ROM). The RAM 403 also stores various programs and data required for the operation of the electronic device 400. The processing device 401, memory 402, and RAM 403 are interconnected via a bus 404. An input / output (I / O) interface 405 is also connected to the bus 404.
[0102] Typically, the following devices can be connected to I / O interface 405: input devices 406 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 407 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 408 including, for example, magnetic tapes, hard disks, etc.; and communication devices 409. Communication device 409 allows electronic device 400 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 4 An electronic device 400 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0103] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable storage medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 409, or installed from storage device 408, or installed from memory 402. When the computer program is executed by processing device 401, it performs the functions defined in the methods of embodiments of this application.
[0104] It should be noted that the computer-readable storage medium described above in this application can be a computer-readable signal medium, a computer storage medium, or any combination of the two. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable storage medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable storage medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0105] The aforementioned computer-readable storage medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0106] The aforementioned computer-readable storage medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to perform the method shown in the above embodiments.
[0107] Computer program code for performing the operations of this application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, and conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a Local Area Network (LAN) or a Wide Area Network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0108] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0109] The modules described in the embodiments of this application can be implemented in software or hardware. The names of the units are not necessarily limiting of the module itself; for example, a request receiving module can also be described as a "link establishment request receiving module".
[0110] The functions described above in this document can be performed at least in part by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip (SoCs), complex programmable logic devices (CPLDs), and so on.
[0111] This application also provides a computer-readable storage medium storing computer-executable instructions. When a processor executes the computer-executable instructions, it implements the technical solution of the blockchain creation method in any of the above embodiments. Its implementation principle and beneficial effects are similar to those of the blockchain creation method, and can be found in the implementation principle and beneficial effects of the blockchain creation method, which will not be repeated here.
[0112] In the context of this application, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0113] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the technical solution of the blockchain creation method in any of the above embodiments. Its implementation principle and beneficial effects are similar to those of the blockchain creation method, and can be found in the implementation principle and beneficial effects of the blockchain creation method, which will not be repeated here.
[0114] The above description is merely a preferred embodiment of this application and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of disclosure in this application is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features with similar functions disclosed in this application.
[0115] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the following claims.
[0116] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.
Claims
1. A method for creating a blockchain, characterized in that, Applied to basic blockchain nodes, including: Receive a blockchain creation request sent by a user terminal, wherein the blockchain creation request includes creation information and ring signature results, wherein the creation information includes configuration parameters and consortium node identifiers; The chain establishment information and the ring signature result are sent to the alliance node terminal corresponding to the alliance node identifier, so that the alliance node terminal can verify the ring signature result and obtain the verification result. If the verification result is normal, the chain establishment information is output. Receive decision results sent by each alliance node terminal based on the chain establishment information; If all decisions result in agreement, a new blockchain will be created using the configured parameters. The process includes, after sending the chain establishment information and the ring signature result to the consortium node terminal corresponding to the consortium node identifier, the following: Receive modification information and modify ring signature sent by at least one consortium node terminal based on the chain establishment information and the ring signature result; The modified information and the modified ring signature are sent to each alliance node terminal so that each alliance node terminal can verify the modified ring signature. If the verification result of the modified ring signature is normal, the modified information is output. Receive voting information sent by each alliance node based on the modified information; The selected configuration parameters are determined based on the voting information, the chain establishment information, and the modification information. A new blockchain is created using the selected configuration parameters.
2. The method according to claim 1, characterized in that, The configuration parameters correspond to the configuration types; Accordingly, if all decision results are in agreement, then a new blockchain is created using each configuration parameter, including: If all decisions result in agreement, then according to the configuration type corresponding to the configuration parameters, the configuration parameters are written into the smart contract template to obtain the smart contract to be executed. Execute the smart contract to be executed to create a new blockchain.
3. The method according to claim 1, characterized in that, If all decisions result in agreement, then a new blockchain is created using the configured parameters, including: If all decisions result in agreement, then the smart contract template corresponding to the configuration parameters is located. Write the configuration parameters into the smart contract template to obtain the smart contract to be executed; The smart contract to be executed is used to create a new blockchain.
4. The method according to claim 3, characterized in that, The configuration parameters also include application scenarios, business requirements, block types, blockchain architecture, and data structures; Accordingly, the step of finding the smart contract template corresponding to the configuration parameters includes: Using the aforementioned application scenario, business requirements, block type, blockchain architecture, and data structure, the corresponding smart contract template is searched from the preset smart contract template library.
5. The method according to claim 1, characterized in that, The step of determining the selected configuration parameters from the chain-building information and the modification information based on each voting information includes: Count the number of identifiers for the chain-building information and the number of identifiers for the modification information in each voting message; If the number of identifiers in the chain-building information is greater than the number of identifiers in the modification information, then the configuration parameters in the chain-building information are determined as the selected configuration parameters; If the number of identifiers in the modified information is greater than the number of identifiers in the chain establishment information, then the configuration parameters in the modified information are determined as the selected configuration parameters; If the number of identifiers in the modified information is equal to the number of identifiers in the chain-building information, then a re-voting request is sent to each alliance node; and new voting information is received from each alliance node based on the re-voting request.
6. A blockchain creation device, characterized in that, include: The request receiving module is used to receive a blockchain establishment request sent by a user terminal, wherein the blockchain establishment request includes establishment information and ring signature results, and wherein the establishment information includes consortium node identifiers. The data sending module is used to send the chain establishment information and the ring signature result to the alliance node terminal corresponding to the alliance node identifier, so that the alliance node terminal can verify the ring signature result and obtain the verification result. If the verification result is normal, the chain establishment information is output. The result receiving module is used to receive the decision results sent by each alliance node terminal based on the chain establishment information; The blockchain creation module is used to create a new blockchain using the configured parameters if all decisions are agreed upon. The parameter modification module is used to receive modification information and modified ring signatures sent by at least one consortium node terminal based on chain establishment information and ring signature results; send the modification information and modified ring signatures to each consortium node terminal so that each consortium node terminal can verify the modified ring signatures. If the verification result of the modified ring signatures is normal, the modification information is output; receive voting information sent by each consortium node based on the modification information; determine the selected configuration parameters based on the voting information, chain establishment information, and modification information; and create a new blockchain using the selected configuration parameters.
7. An electronic device, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the blockchain creation method as described in any one of claims 1 to 5.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the blockchain creation method as described in any one of claims 1 to 5.
9. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the blockchain creation method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Method and device for generating side chain based on main chain and computer readable storage medium
CN111414210A
Alliance management method and device of trusted block chain and trusted block chain system
CN115118424A