CN109325854B - Block chain network, deployment method and storage medium - Google Patents
Block chain network, deployment method and storage medium Download PDFInfo
- Publication number
- CN109325854B CN109325854B CN201810937302.XA CN201810937302A CN109325854B CN 109325854 B CN109325854 B CN 109325854B CN 201810937302 A CN201810937302 A CN 201810937302A CN 109325854 B CN109325854 B CN 109325854B
- Authority
- CN
- China
- Prior art keywords
- node
- blockchain network
- account book
- consensus
- transaction
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention provides a block chain network, a deployment method and a storage medium, wherein the block chain network comprises the following components: the consensus node is used for sorting the transactions submitted by the terminal, packaging the transactions into a new block, and executing the transactions in the new block to obtain a transaction result; executing consensus on the transaction result, and updating an account book maintained by the consensus node according to the transaction result after the consensus is executed; and the backup node is deployed for a main body of the record service corresponding to the role in the service and is used for synchronizing the maintained account book and the account book maintained by the consensus node so as to update the account book maintained by the backup node.
Description
Technical Field
The present invention relates to communications technologies, and in particular, to a blockchain network, a deployment method, and a storage medium.
Background
In a block chain network provided in the related art, roles (types) realized by nodes are divided according to different functions realized in a transaction process, and taking a super book as an example, the nodes are classified into endorsement nodes, sorting nodes and submission nodes, and each node completes one link of the transaction process.
In the process of implementing the invention, the inventor finds that the node role of the blockchain network is constrained by the link needing to participate in the transaction, and even if the business main body only needs to backup and monitor blockchain data, the link needing to participate in the transaction is required, so that higher requirements are provided for the IT capability of the node of the business main body, and the identity of the business main body is not facilitated.
Disclosure of Invention
The embodiment of the invention provides a block chain network, a deployment method and a storage medium, which can support a business main body to acquire account book data in a mode of not participating in a transaction link and simplify the system complexity of the business main body.
The technical scheme of the embodiment of the invention is realized as follows:
in a first aspect, an embodiment of the present invention provides a blockchain network, where the blockchain network includes:
the consensus node is used for sorting the transactions submitted by the terminal, packaging the transactions into a new block, and executing the transactions in the new block to obtain a transaction result; executing consensus on the transaction result, and updating an account book maintained by the consensus node according to the transaction result after the consensus is executed;
and the backup node is deployed for a main body of the record service corresponding to the role in the service and is used for synchronizing the maintained account book and the account book maintained by the consensus node so as to update the account book maintained by the backup node.
In a second aspect, an embodiment of the present invention provides a method for deploying a blockchain network, where the method includes:
deploying common identification nodes corresponding to different service bodies participating in the service in the block chain network, and deploying backup nodes corresponding to the backup service bodies with the roles in the service;
sorting the transactions submitted by the terminal through the consensus node, packaging the transactions into a new block, and executing the transactions in the new block to obtain transaction results;
performing consensus on the transaction result among consensus nodes in the blockchain network, and updating an account book maintained by the consensus nodes according to the transaction result after performing consensus;
and synchronizing the account book maintained by the backup node with the account book maintained by the consensus node so as to update the account book maintained by the backup node.
In a third aspect, an embodiment of the present invention provides a storage medium storing executable instructions, which when executed, are configured to implement the block chain network deployment method provided in the embodiment of the present invention.
In a fourth aspect, an embodiment of the present invention provides a blockchain network, including:
a memory for storing executable instructions;
and the processor is used for executing the executable instructions stored in the memory to realize the block chain network deployment method provided by the embodiment of the invention.
The embodiment of the invention has the following beneficial effects:
because the account book maintained at the backup node in the blockchain network is the same as the account book maintained at the consensus node, the business supporting main body can directly acquire the account book data from the backup node in a mode of not participating in the transaction link of the blockchain, and the system complexity of the business main body is simplified.
Drawings
Fig. 1 is a functional architecture diagram of a blockchain network according to an embodiment of the present invention;
fig. 2 is a schematic diagram of an organization architecture of a block chain network according to an embodiment of the present invention;
fig. 3 is an alternative structural diagram of a consensus node according to an embodiment of the present invention;
fig. 4 is a first schematic diagram of a deployment structure of a blockchain network according to an embodiment of the present invention;
fig. 5 is a schematic diagram of a deployment structure of a blockchain network according to an embodiment of the present invention;
fig. 6 is a schematic diagram three of a deployment structure of a blockchain network according to an embodiment of the present invention;
fig. 7 is a schematic diagram of a deployment structure of a blockchain network according to an embodiment of the present invention;
fig. 8 is a schematic diagram of a deployment structure of a blockchain network according to an embodiment of the present invention;
fig. 9 is a sixth schematic view of a deployment structure of a blockchain network according to an embodiment of the present invention;
fig. 10 is a seventh schematic diagram of a deployment structure of a blockchain network according to an embodiment of the present invention;
FIG. 11 is a diagram illustrating the parsing of ledger data into key-value pair data and the calculation of proof of existence according to an embodiment of the present invention;
fig. 12 is a schematic diagram of ledger solution applied to ledger database nodes provided by the embodiment of the present invention;
FIG. 13 is a schematic deployment diagram of an ledger database component provided by an embodiment of the present invention;
FIG. 14 is a schematic diagram of deploying an intelligent contract engine component in a blockchain network provided by an embodiment of the present invention;
FIG. 15 is a schematic diagram of deploying an intelligent contract engine component in a development environment provided by an embodiment of the invention;
FIG. 16 is a schematic diagram of a deployment of an intelligent contract engine component provided by an embodiment of the invention;
fig. 17 is a schematic deployment flow diagram of a blockchain network according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail with reference to the accompanying drawings, the described embodiments should not be construed as limiting the present invention, and all other embodiments obtained by a person of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. The terminology used herein is for the purpose of describing embodiments of the invention only and is not intended to be limiting of the invention.
Before further detailed description of the embodiments of the present invention, terms and expressions mentioned in the embodiments of the present invention are explained, and the terms and expressions mentioned in the embodiments of the present invention are applied to the following explanations.
1) Transactions (transactions), equivalent to the computer term "Transaction", include calls to smart contracts to effect operations on data related to a target account in the ledger, including operations to add, look up, change, modify data in the form of Key-Value pairs in the account, or add new accounts in the ledger, not simply transactions in the business context, which embodiments of the present invention follow in view of the convention that "transactions" are colloquially used in blockchain technology.
2) A Block (Block) recording a data structure of the ledger data updated by the exchange within a period of time, marked with a timestamp and a unique mark (e.g. a digital fingerprint) of a previous Block, and after the Block is subjected to consensus verification by nodes in the Block chain network, the Block is appended to the end of the Block chain to become a new Block.
3) Block chains (Block chains), a chain of data structures composed of blocks in a sequentially contiguous manner, each Block having a hash value of the previous Block or a subset thereof referenced therein, to cryptographically secure the recorded transaction against tampering and forgery.
4) A blockchain network incorporates new blocks into a set of centerless nodes of the blockchain in a consensus manner.
5) The account book (Legger) is the sum of data recorded by taking an account as a dimension in a block chain network, and comprises the elements of the account book data, the state of the account book, the state certification of the account book, a block index and the like.
6) The ledger data, the actual block data storage, i.e. the record of a series of ordered and non-falsifiable transactions recorded in the block chain, may be expressed in the form of a file system, and the update of the data in the account/account is realized when an intelligent contract called in the transaction is executed.
7) The ledger state, also referred to as state data, i.e. the state of the ledger data, may be in the form of key-value pairs in the database terminal, where the real-time ledger state is used to represent the latest record of key-value pairs updated by the agreed-upon exchange and the historical ledger state is used to represent the historical record of key-value pairs.
8) Presence attestation is attestation of authenticity of presence of the account data implemented in cryptographic manner, such as attestation of the way the account data computes a merkel (Merkle) tree.
9) Consensus (Consensus), a process in a blockchain network, is used to agree on the transaction results among the nodes involved, and the mechanisms for achieving Consensus include workload certification (PoW, Proof of Work), equity certification (PoS, Proof of stamp), share authorization certification (DPoS), Elapsed Time certification (PoET, Proof of Elapsed Time), and so on.
10) Intelligent Contracts (Smart Contracts), also called Chain codes (Chain codes), are deployed in the blockchain network, and trigger the execution of programs according to conditions, so as to operate the ledger through query, addition and modification, so as to realize query or update of the ledger.
11) In response to the condition or state on which the performed operation depends, one or more of the performed operations may be in real-time or may have a set delay when the dependent condition or state is satisfied; there is no restriction on the order of execution of the operations performed unless otherwise specified.
An exemplary functional architecture of a block chain network for implementing the embodiment of the present invention is described below, and referring to fig. 1, fig. 1 is a schematic functional architecture diagram of a block chain network provided in the embodiment of the present invention, which includes an application layer 101, a consensus layer 102, a network layer 103, a data layer 104, and a resource layer 105, which are described below respectively.
The resource layer 105 encapsulates various available computing and storage resources, such as those in computers, servers/clusters, and clouds, abstracts and provides a uniform interface to the data layer 104 to mask the variability of the underlying hardware implementing the resource layer 105.
Computing resources include various forms of processors, such as Central Processing Units (CPUs), Application Specific Integrated Circuits (ASICs), and Field-Programmable Gate arrays (FPGAs).
The storage resources include various types of storage media such as various volatile memories and nonvolatile memories. The nonvolatile Memory may be a Read Only Memory (ROM) or a Programmable Read-Only Memory (PROM). Volatile Memory can be Random Access Memory (RAM), which acts as external cache Memory.
The computing resources and storage resources of the resource layer 105 may be mapped to various types of nodes in a blockchain network, and the storage medium implementing an embodiment of the present invention stores executable instructions for implementing the blockchain network deployment method of an embodiment of the present invention, and once the executable instructions deployed to the nodes are executed, the underlying resources (e.g., various types of processors) implementing the nodes will implement the deployment of various types of nodes in the blockchain network and perform the functions of the various types of nodes, thereby implementing ledgers for transactions in business processes and various applications based on the ledgers.
By way of example, executable instructions may be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, in the form of software (including system programs and applications), software modules, scripts, plug-ins, and the like, and may be deployed in any form, including as a stand-alone program or as a module, component, or other unit suitable for use in a computing environment.
Data layer 104 encapsulates various data structures that implement the ledger, including ledger data implemented in a file system, ledger state and presence proofs implemented in a database form.
Network layer 103 encapsulates point-to-point (P2P) network protocols, data propagation and verification mechanisms, access and authentication mechanisms, and service agent identities. The P2P network protocol realizes communication among nodes in the blockchain network, a data propagation mechanism ensures the propagation of transaction/transaction results in the blockchain network, and a data verification mechanism is used for realizing the reliability of data transmission among the nodes based on an encryption method (such as a digital certificate, a digital signature and a public/private key pair); the access and authentication mechanism is used for managing the access and authentication of the terminal based on the identity of the service subject.
The consensus layer 102 encapsulates mechanisms for achieving consistency of transaction results propagated in the blockchain, including POS, POW, DOPS, etc., and supports pluggable consensus mechanisms.
The application layer 101 encapsulates various services that the blockchain network can implement, including transaction settlement, tracing, and evidence storage.
An exemplary organization architecture of a blockchain network implementing an embodiment of the present invention is described below, referring to fig. 2, and fig. 2 is a schematic diagram of an organization architecture of a blockchain network provided in an embodiment of the present invention, which includes at least two consensus nodes 110 and a backup node 120, and as an example, only a consensus node 110-1 and a consensus node 110-2 are shown in fig. 2; the consensus node 110-1 and the consensus node 110-2 are deployed correspondingly for roles realized in the service by two different service entities participating in the service, and the backup node 120 is deployed for the main body of the docketing service corresponding to the role in the service. The blockchain network 100 responds to transactions submitted by the terminal 300 from the business entity to update the ledger or to query the ledger and displays various intermediate or final results in the user interface 310 of the terminal 300. The backup node 120 in the blockchain network 100 responds to the downlink query of the terminal 300 for the ledger according to the ledger maintained by itself.
Taking the common node as an example, an exemplary structure of a node in the blockchain network implementing the embodiment of the present invention is described below, and it can be understood that the hardware structures of the backup node 120 and other nodes in the blockchain network 100 may be implemented correspondingly according to the hardware structure of the common node.
Referring to fig. 3, fig. 3 is an optional structural schematic diagram of the consensus node 110 according to an embodiment of the present invention, where the consensus node 110 may be one or more servers, and according to the structure of the consensus node 110, other exemplary structures of the consensus node 110 may be foreseen, and therefore, the structure described herein should not be considered as a limitation, for example, some components described below may be omitted, or components not described below may be added to adapt to special requirements of some application scenarios.
The consensus node 110 shown in fig. 3 comprises: at least one processor 1101, memory 1104, at least one network interface 1102. The various components in the consensus node 110 are coupled together by a bus system 1103. It is understood that the bus system 1103 is used to enable communications among the components connected. The bus system 1103 includes a power bus, a control bus, and a status signal bus, in addition to the data bus. For clarity of illustration, however, the various buses are designated as the bus system 1103 in fig. 3.
The memory 1104 may be either volatile memory or nonvolatile memory, and may include both volatile and nonvolatile memory. The memory 1104 described in connection with the embodiments of the invention is intended to comprise these and any other suitable types of memory.
The Processor 1101 may be an integrated circuit chip having Signal processing capabilities, such as a general purpose Processor, a Digital Signal Processor (DSP), or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, or the like, wherein the general purpose Processor may be a microprocessor or any conventional Processor or the like.
The memory 1104 is capable of storing executable instructions to support the operation of the consensus node 110, examples of which include: various forms of software modules, such as programs, plug-ins, and scripts, for operating on the consensus node 110 may include, for example, an operating system and application programs, where the operating system contains various system programs and drivers, such as a framework layer, a core library layer, a driver layer, etc., for implementing various underlying services and handling hardware-based tasks. The application programs may include programs that implement various functions of the consensus node 110.
In conjunction with the above, a blockchain network implementing embodiments of the present invention is implemented by providing a series of memories and processors, in which executable instructions are stored, and when the executable instructions are executed by the processors, a consensus node adapted to the role of the business entity is deployed among the machines running the processors and memories, although other types of nodes may also be deployed.
As an example of the implementation of the block chain deployment method provided by the embodiment of the present invention by using a combination of software and hardware, the block chain deployment method provided by the embodiment of the present invention may be directly embodied as the above-mentioned different forms of software modules executed by the processor 1101, the software modules may be located in a storage medium, the storage medium is located in the memory 1104, the processor 1101 reads executable instructions included in the software modules in the memory 1104, and the functions of the consensus node 110 are completed in combination with necessary hardware (for example, including the processor 1101 and other components connected to the bus system 1103).
An exemplary application of a block chain network implementing the embodiment of the present invention supporting a plurality of service agents to participate in a service is described below, where roles implemented by the service agents participating in the service in the participating service depend on service requirements of the service agents.
In an exemplary service, the roles of the service body may include at least a transaction party, and may further include a collaboration party, a supervision party, an authentication party, and a docket party, which are described separately below.
The transaction parties are the primary roles in the business, and one or more businesses that the transaction parties develop with each other have business appeal of recording logs of transactions in maintaining a common ledger, e.g., recording changes in status of digital assets, commodity inventory between transaction parties in the ledger.
The cooperative party cooperates with the transaction party in the business to complete a business main body of the transaction process, provides necessary business support for the transaction party, or is a business entity used for completing part of business links realized by the transaction party in the business.
The monitoring party is a business subject having a monitoring appeal on the transaction result of the transaction party, and does not participate in the specific transaction process of the transaction party, for example, a related functional department having a monitoring authority/responsibility on the transaction.
The account book may include authentication information (e.g., product quality authentication, origin authentication, etc.) issued by the authenticator for the object, so as to prove the legal quality of the transacting party, the quality of the transacting object, and the like in the subsequent transaction/use process.
The record-keeping party is a business entity having a backup appeal on the account book of the business and does not participate in the specific transaction process of the transaction party, for example, an intelligent department having a monitoring right on the account book, a third party organization providing verification service on the account book, and the like.
An exemplary deployment structure of role nodes according to a service principal in a blockchain network implementing an embodiment of the present invention is described below, in which, in addition to deploying consensus nodes according to roles of participants (for example, deploying consensus nodes for part of roles, or deploying consensus nodes for all roles, deploying consensus nodes for whether the service principal is deployed, and deploying the number of consensus nodes, which is determined according to the roles implemented by the service principal in the service), backup nodes, gateway nodes, ledger database nodes, and contract engine nodes can be deployed according to roles of the participants in the blockchain network; and the node is arranged corresponding to the attributive service main body by binding the identity information of the attributive service main body in the node.
Referring to fig. 4, fig. 4 is a schematic diagram of a deployment structure of a blockchain network 100 according to an embodiment of the present invention, in the blockchain network 100, a common node 110 (also referred to as a common node 110 for a service agent 200) and a backup node 120 are deployed corresponding to different service agents 200 participating in a service, where the backup node is deployed corresponding to a service agent 200-6 with a docket role, and fig. 4 exemplarily illustrates the common node 110-1 to the common node 110-5.
It should be noted that the number of the consensus nodes 110 deployed in the blockchain network 100 is not limited to that shown in fig. 4, for example, more consensus nodes may be deployed, or corresponding consensus nodes may be deployed in the blockchain network only for business bodies with two roles of business as transaction parties; it will be appreciated that there are at least two parties to a service and therefore the number of consensus nodes deployed in the blockchain network is at least two.
In some embodiments, the consensus node 110 in the blockchain network 100 is implemented by abstracting computing resources and storage resources of the resource layer 105 as shown in fig. 1 for a computing device (e.g., a computer, a server/cluster, a cloud), and deploying ledgers of the data layer 104, protocols/mechanisms of the network layer 103, consensus mechanisms of the consensus layer 102, and applications of the application layer 101 on this basis.
It is to be appreciated that other types of nodes in the blockchain network 100, described below, can be implemented by abstracting resources and deploying accordingly.
In some embodiments, whether a common node is deployed in the blockchain network corresponding to the service agent, and the number of the deployed common nodes are adapted to the role that the service agent implements in the service, which is described below with reference to the example of deploying nodes by using different role service agents in fig. 1.
Example 1) referring to fig. 4, when roles of the service agent 200-1 and the service agent 200-2 in the service are transaction parties, at least one common node, i.e., the common node 110-1 and the common node 110-2, is deployed in the blockchain network 100 corresponding to the service agent 200-1, to provide access to a terminal from the service agent 200-1, including terminals outside the service agent and connected to the service agent 200-1 (including the terminal 300-1 to the terminal 300-3, where the terminal 300-1 is a mobile phone, the terminal 300-2 is a desktop device, and the terminal 300-3 is an internet-of-things device), and terminals inside the service agent (not shown in the figure, for example, terminals accessing the service agent through an internal private network); at least one common-identity node, i.e., the common-identity node 110-3, is deployed in the blockchain network 100 corresponding to the service agent 200-2 to provide access to the terminal from the service agent 200-2, including the terminal inside the service agent 200-2 (including the terminal 300-4 and the terminal 300-5, both desktop devices) and the terminal outside the service agent 200-2 and connected to the service agent 200-2 (not shown in the figure).
The service main body 200-6 is used as a docket, a backup node 120 is deployed in the blockchain network 100 corresponding to the service main body 200-6, the backup node 120 is connected with the consensus node 110, taking the consensus node 110-1 connected with the backup node 120 as an example, the terminal 300-1 or the terminal 300-2 submits transactions to the consensus node 110-1, the consensus node 110-1 sorts the transactions submitted by the terminal 300-1 or the terminal 300-2 and then packs the sorted transactions into a new block, and the transactions in the new block are executed to obtain transaction results; performing consensus on the transaction result, and updating the ledger maintained by the consensus node 110-1 according to the transaction result after performing consensus, and the backup node 120 synchronizes the ledger maintained by itself with the ledger maintained by the consensus node 110-1 to update the ledger maintained by the backup node 120.
When the terminal 300-1 or the terminal 300-2 needs to query the ledger data or the state of the ledger, because the ledger maintained by the consensus node 110-1 is backed up at the backup node 120, the terminal 300-1 and the terminal 300-2 can directly communicate with the backup node 120 without participating in a transaction link, and query the state of the ledger data and the ledger from the backup node 120, so that the query efficiency is improved, the complexity of a system of a business main body is simplified, and the IT capacity (computing capacity and network communication capacity) is reduced.
At least two consensus nodes participate in a service, and thus at least two consensus nodes are deployed in a blockchain network. The number of the consensus nodes deployed aiming at the service bodies with different roles can be determined according to the service load of the corresponding service body, so that the processing efficiency of the transaction is ensured; of course, the number of the consensus nodes deployed for the service subject may also be a set value.
Taking the business body with the role as the trading party as an example, the business load can be determined from at least one of the following aspects: total amount of terminals accessing the service body; a peak value of the number of terminals accessing the service body in a window time (such as one hour); the total amount of transactions submitted by terminals accessing the business entity within the window time, and so on.
Example 2) referring to fig. 4, when the role of the service agent 200-1 in the service is a transaction party, at least one common node, i.e., the common node 110-2, is deployed in the blockchain network 100 for the service agent 200-1 and the service agent 200-3-1 whose role is a partner of the corresponding service agent 200-1, and the common node 110-2 provides access to a terminal from the service agent 200-3-1, including a terminal 300-6 (e.g., a user terminal) inside the service agent 200-3-1 and a terminal (not shown in the figure) outside the service agent 200-3-1.
When the business agent 200-2 has a role as a transaction party, at least one common node, i.e., the common node 110-3, is deployed in the blockchain network 100 for the business agent 200-2 and the business agent 200-3-2 having a role as a partner of the corresponding business agent 200-2, and the common node 110-3 provides access to a terminal from the business agent 200-3-2, including a terminal 300-8 (e.g., an internet of things terminal) inside the business agent 200-3-2 and a terminal (not shown in the figure) outside the business agent 200-3-2.
Example 3) referring to fig. 4, when the service agent 200-4 has a role as a policer in the service, at least one consensus node, i.e., the consensus node 110-4, is deployed in the blockchain network 100 corresponding to the service agent 200-4, and the consensus node 110-4 provides access to the terminal 300-7 from the policer.
Example 4) referring to fig. 4, when the service agent 200-5 has a role as an authenticator in the service, at least one consensus node, i.e., the consensus node 110-5, is deployed in the blockchain network 100 corresponding to the service agent 200-5.
An exemplary deployment structure in which a gateway node is also deployed in a blockchain network implementing an embodiment of the present invention is described. In some embodiments, one or more gateway nodes may be deployed for each service agent, and configured to provide access to a terminal from the service agent to which the service agent belongs, and the gateway nodes may be divided into a public gateway node and a private gateway node, where the public gateway node may provide access not only to a terminal inside the service agent but also to a terminal outside the service agent; the private gateway node limits the accessed terminal to be inside the service body (such as in an enterprise local area network); by dividing the public/private types of the gateway nodes, the gateway nodes of corresponding types can be deployed to adapt to different business main body network environments and the difference requirements of the butted terminals, and the IT capability of the business main body is saved.
In some embodiments, the number of gateway nodes deployed for each service body may be determined according to its load, for example, the total number of terminals of the service body to which the gateway node belongs (i.e., terminals at the back end of the service body); a peak value of the number of terminals accessing the service body in a window time (such as one hour); the total amount of transactions submitted by the terminal from the business entity within the window time, and so on.
Referring to fig. 5, fig. 5 is a schematic diagram of a deployment structure of a blockchain network according to an embodiment of the present invention, and based on the blockchain network 100 shown in fig. 4, a gateway node 130 connected to a consensus node 110 may also be deployed in the blockchain network 100, and fig. 3 exemplarily shows the gateway node 130-1 to the gateway node 130-6.
The gateway node 130-1 is deployed for a business agent 200-1 with a transaction party as a role, and provides access to terminals (including a mobile phone terminal 300-1 and a desktop terminal 300-2) from the business agent 200-1; the gateway node 130-2 is deployed for the business agent 200-1 whose role is a transaction party, and provides access to terminals (including the internet of things terminal 300-3) from the business agent 200-1; gateway node 130-3 provides access to terminals from business agent 200-3-2 (including desktop terminals 300-4 and 300-5) for deployment with respect to business agent 200-3-2; the gateway node 130-4 is deployed for the corresponding service agent 200-4, providing access to the terminal 300-7 from the service agent 200-4; the gateway node 130-5 is deployed for the corresponding service agent 200-3-1 to provide access to terminals from the service agent 200-3-1.
At least one gateway node is correspondingly deployed in the body 200-1 and the service body 200-3-2 of which the roles are transaction parties in the blockchain network 100, and at least two gateway nodes are deployed in the blockchain network 100 because the number of transaction parties in one service is at least two.
An exemplary deployment structure in which the blockchain network implementing the embodiment of the present invention is also deployed with ledger database nodes is continuously described. In some embodiments, referring to fig. 6, fig. 6 is a schematic diagram of a deployment structure of a blockchain network provided in an embodiment of the present invention, based on the blockchain network 100 shown in fig. 4, an ledger database node 140 connected to a consensus node 110-4 may also be deployed in the blockchain network 100, and in fig. 6, an ledger database node 140-1 is exemplarily shown, so that the ledger database node 140-1 may perform ledger synchronization from the consensus node 110-4 to the local of the ledger database node 140 due to connection with the consensus node 110-4.
In some embodiments, referring to fig. 7, fig. 7 is a schematic diagram of a deployment structure of a blockchain network provided in an embodiment of the present invention, based on the blockchain network 100 shown in fig. 4, an ledger database node 140 connected to a backup node 120 may also be deployed in the blockchain network 100, and fig. 7 illustrates an ledger database node 140-2 by way of example, because of being connected to the backup node 120, the ledger database node 140-2 can synchronize an ledger maintained by the backup node 120 to the local of the ledger database node 140.
In some embodiments, referring to fig. 8, fig. 8 is a schematic diagram of a deployment structure of a blockchain network provided in an embodiment of the present invention, based on the blockchain network 100 shown in fig. 4, an ledger database node 140 and a backup node 120 are also deployed in the blockchain network 100, and fig. 8 exemplarily shows an ledger database node 140-1 and an ledger database node 140-2, where the ledger database node 140 connected to a consensus node 110-4 and an ledger database node 140-2 connected to the backup node 120 are included, so that the ledger database node 140 deployed in any way can be used to synchronize an ledger to the local of the ledger database node 140 regardless of the connection way.
In some embodiments, referring to fig. 9, fig. 9 is a schematic diagram of a deployment structure of a blockchain network provided in an embodiment of the present invention, based on the blockchain network 100 shown in fig. 4, a contract engine node 150 may also be deployed in the blockchain network 100, and the common recognition node 110-3 deployed in correspondence to a business entity 200-2 whose role is a transaction party is connected, so that when the common recognition node 110-3 needs to execute a transaction, an intelligent contract called in the transaction is executed instead of the common recognition node 110-3, and an executed transaction result is returned to the common recognition node 110-3.
By deploying contract engine nodes in a blockchain network and transferring the load of executing the intelligent contract from the consensus nodes, the limitation of the IT capability of the consensus nodes for executing the intelligent contract can be relieved, and the method is particularly suitable for business bodies with limited IT capability and the consensus nodes with high load of executing the contract due to access of too many terminals, such as the consensus nodes deployed for transaction parties.
In some embodiments, referring to fig. 10, fig. 10 is a schematic diagram of a deployment structure of a blockchain network provided in an embodiment of the present invention, and based on the blockchain network 100 shown in fig. 4, the blockchain network 100 includes, in addition to a consensus node and a backup node, a gateway node 130 (shown in the figure as gateway node 130-1 to gateway node 130-6), an ledger database node 140 (shown in the figure as ledger database node 140-1 and ledger database node 140-2), and a contract engine node 150.
It should be noted that the deployment structure of the blockchain network according to the embodiment of the present invention is not limited to the above combination, and may be any combination of (consensus node + backup node) and gateway node, ledger database node, and contract engine node, for example, the blockchain network may include the consensus node, backup node, gateway node, and ledger database node; or, a consensus node, a backup node, a gateway node and a contract engine node; or a consensus node, a backup node, an account book database node, a contract engine node, and the like.
In the deployment structure scheme of the block chain network, a common node matched with the business load of a trading party is deployed for supporting the development efficiency of the business, and a deployment scheme for sharing the common node with the coordinated trading party is provided for a coordinating party, so that the business coupling between the trading party and the coordinating party is facilitated; aiming at the limitation of IT capability of the docker, a deployment scheme that the docker shares a common recognition node with business bodies of other roles is adopted, so that the IT capability of the docker is not limited any more; therefore, the technical effects of adapting the diversity of roles according to the business main body and adapting the difference of IT capacity are achieved.
The function of each node deployed in the blockchain network is explained next. Next, based on table 1 and fig. 10, exemplary functions of the consensus node 110, the backup node 120, the gateway node 130, the ledger database node 140, the contract engine node 150, and the terminal 300 accessing to the blockchain network 100 in the blockchain network are described, it is understood that the following description of the functions is also applicable to the deployment structure of the blockchain network provided in other figures of the embodiment of the present invention.
The functions of the terminal 300 are described below by taking the terminal 300-1 as an example, and the functions realized by other terminals can be understood from the following. In some embodiments, the terminal 300 is configured to implement the following two functions, which are described separately.
Function 1) binding end user identities
The terminal 300-1 is used for binding the identity information of the user and implementing management and authentication based on the user identity. For example, the user is authenticated according to the bound user identity information to limit the business behavior of the user who fails to be authenticated, such as the right to initiate a transaction.
Function 2) sign transactions
The terminal 300-1 signs a transaction and may include, for example, the following fields: tx (clientID, chaincoded ID, txPayload, timetag, clientSig).
Wherein, the clientID indicates the ID of the terminal 300-1, the corresponding IP address and other information; the chaincode ID is the ID of the intelligent contract needing to be called, and the version information and the like of the intelligent contract needing to be called are defined; the service data and the parameters for calling the intelligent contract are encapsulated in the txPayload; the clientSig is a digital signature of the data carried by the entire transaction for verification of the transaction data when received by the consensus node 110.
The function of the terminal consensus node is described below by taking the consensus node 110-1 as an example, and the functions implemented by other consensus nodes can be understood as follows. In some embodiments, the consensus node 110-1 is configured to selectively perform the following ten functions, which are described separately.
Function 1) binding of service agent identities
The consensus node 110-1 is configured to bind the identity of the belonging service agent, i.e., the service agent 200-1 having a role as a transaction party, to verify the accessed service agent, thereby indicating that the node is deployed for the service agent 200-1, serves the service agent 200-1, and terminals accessed through the service agent 200-1, including the terminal 300-1 and the terminal 300-2.
Function 2) broadcast transactions
The consensus node 110-1 is configured to broadcast the transaction to other consensus nodes in the blockchain network 100, including the consensus node 110-2 to the consensus node 110-5, when the transaction submitted by the terminal 300-1 and the terminal 300-2 is received by the consensus node 110-1, the consensus node 110-2 to the consensus node 110-5, rank the received transactions consistently by running a ranking service, and encapsulate the ranked transactions to form a block, when the terminal 300-1 and the terminal 300-2 belong to the service subject 200-1 in a role as a transaction party.
Function 3) executing transactions
The consensus node 110-1 is configured to sort and encapsulate the received transactions to form a new block, execute the intelligent contract called by the transaction in the block, and obtain a transaction result, for example, a query result of data of a target account in the ledger, and a result of updating (e.g., adding and modifying) the data of the target account in the ledger.
Function 4) execution consensus
The consensus node 110-1 is used for performing a consensus process between the transaction result obtained by performing the transaction in the block and other consensus nodes (including the consensus node 110-2 to the consensus node 110-5), and when a confirmation about the consistency of the transaction result is obtained between the consensus node 110-1 to the consensus node 110-5, a new block is appended to the tail of the maintained block chain to update the ledger data.
Function 5) write Account State
The consensus node 110-1 is configured to update the ledger status in the ledger maintained by the consensus node 110-1 with the transaction result when the transaction result obtained by performing the transaction in the new block obtains consensus between the consensus node 110-2 and the consensus node 110-5, that is, the updated key-value pair of the transaction is added to the ledger status, for example, the transaction result is to modify the digital assets of the target account, and then the digital assets of the corresponding account recorded in the form of the key-value pair are added to the ledger status, and the database attribute of the ledger status can support fast query of the ledger.
Function 6) write Presence Attestation data
The consensus node 110-1 is configured to generate a presence certificate indicating that the transaction exists in the ledger data in the ledger maintained by the consensus node 110-1 as a snapshot of the ledger when the result of the transaction obtained by performing the transaction in the new block obtains consensus.
Function 7) synchronous ledger
The consensus node 110-1 is configured to synchronize the ledger with any other consensus node in the blockchain network 100 (e.g., the consensus node 110-2 to the consensus node 110-5) so as to maintain the latest ledger in the blockchain network 100.
Function 8) Inquiry Account book status
The consensus node 110-1 is configured to respond to an account book status query request of the terminal 300 (e.g., the terminal 300-1 and the terminal 300-2) belonging to the business entity 200-1, query a real-time account book status or a historical account book status according to a key carried in the account book status query request, form an account book status query result according to the queried value, and return the result to the terminal 300.
Function 9) query for presence attestation data
The consensus node 110-1 is configured to: when a transaction for inquiring about data to be verified (transaction calls intelligent contracts to inquire in presence certificates) is submitted from the terminal 300 of the business entity 200-1, the data to be verified is inquired in the real-time presence certificates and the historical presence certificates in response to the presence inquiry request of the terminal 300 (for example, the terminal 300-1 and the terminal 300-2) belonging to the business entity 200-1 according to the presence certificates of the ledger data maintained by the consensus node 110-1, and the presence inquiry result of whether the data to be verified is stored in the ledger is formed and returned to the terminal 300.
Taking fig. 11 as an example, the merkel tree path of block3 may uniquely indicate that there is a specific transaction during the generation of block3, and the consensus node 110-1 calculates the hash value of the data to be verified, calculates the root hash of the merkel tree path according to the merkel tree path, and determines that the data to be verified exists in block3 if the calculated root hash is consistent with the root hash in the ledger snapshot.
Function 10) validating ledgers
The consensus node 110-1 responds to the maintained ledger verification request of the terminal 300 (for example, the terminal 300-1 and the terminal 300-2) belonging to the business subject 200-1 according to the maintained ledger, inquires data to be verified in the existence certification of ledger data, and inquires the state of the ledger according to a key carried by the ledger verification request to form a verification result.
The function of the backup node implementing the embodiment of the present invention is described below by taking the backup node 120 in fig. 10 as an example. In some embodiments, backup node 120 is configured to selectively perform the following six functions, which are described separately.
Function 1) broadcast transaction
The backup node 120 is configured to continue broadcasting the transaction in the blockchain network 100 when receiving the transaction broadcasted by a certain common node 110-1 in the blockchain network 100, so as to achieve fast diffusion of the transaction in the blockchain network 100.
Function 2) synchronous account book
The backup node 120 is configured to synchronize the maintained ledger with the ledger maintained by the connected consensus node 110 to maintain the latest ledger in the blockchain network 100.
Function 3) Inquiry Account book State
The backup node 120 is configured to query, according to an account maintained by the backup node 120, an account state of the real-time account or a historical account state by using a key carried in the query request, form an account state query result according to the queried value, and return the result to the terminal, in response to the account state query request of the terminal (e.g., a terminal authorized by the service entity 200-6 to which the backup node 120 belongs, or a terminal from any service entity).
Function 4) query presence attestation
The backup node 120 is configured to respond to a presence query request from a terminal (e.g., a terminal authorized by the business entity 200-6 or a terminal from any business entity), query the data to be verified in the real-time presence certificate and the historical presence certificate according to the maintained presence certificate of the ledger data, form a presence query result indicating whether the data to be verified is stored in the ledger, and return the result to the terminal.
Function 5) verification Account book
The backup node 120 is configured to respond to the ledger authentication request to a terminal (for example, a terminal authorized by the business entity 200-6 or a terminal from any business entity) according to the maintained ledger, query data to be authenticated in the presence certificate of ledger data, and query the state of the ledger according to a key carried by the ledger authentication request to form an authentication result and return the authentication result to the terminal.
Function 6) binding of service agent identities
The backup node 120 is configured to bind the identity of the business entity 200-1 belonging to the business entity, i.e., the business entity with the role as the transaction party, to indicate that the business entity is deployed in the blockchain network 100 corresponding to the business entity 200-1 belonging to the business entity, so as to serve the corresponding business entity 200-1 to perform the functions of the backup node 120, e.g., book synchronization, i.e., the backup node 120 connects the consensus nodes (i.e., the consensus node 110-1 and the consensus node 110-2) belonging to the business entity 200-1 bound in the blockchain network 100, and performs the synchronization of the book.
The following takes gateway node 130-1 in fig. 10 as an example to illustrate the functionality of a gateway node implementing an embodiment of the present invention. In some embodiments, the gateway node performs the following three functions, which are described separately.
Function 1) broadcast transaction
The gateway node 130-1 is configured to broadcast the transaction to a nearby consensus node, such as the consensus node 110-1, when receiving the transaction sent by the terminal 300 (including the terminal 300-1 and the terminal 300-2) from the affiliated service entity 200-1, so that the transaction is spread rapidly in the blockchain network 100.
Function 2) binding of service agent identities
The gateway node 130-1 is configured to bind the identity of the attributed service entity, i.e., the service entity 200-1 having the role of a transaction party, to indicate that it is deployed in the blockchain network 100 corresponding to the attributed service entity 200-1.
Function 3) managing terminal access and authentication
The gateway node 130-1 is used for user identity based management and authentication. Since the gateway node 130-1 belongs to a common gateway node, it is possible to simultaneously manage and authenticate the user identity to the inside of the service 200-1 and the terminal accessing the service agent 200-1. For example, the user requesting login is authenticated according to the bound user identity information, so as to limit the business behaviors of the user who does not pass the authentication, such as the behaviors of initiating a transaction and inquiring the transaction.
Next, functions of the ledger database node of the embodiment of the present invention will be explained. Referring to fig. 12, fig. 12 is a schematic diagram of ledger solution applied to ledger database nodes, where the ledger database nodes perform multi-dimensional deconstruction (including ledger, blocks, transactions, accounts, presence certificates, and metadata) on ledger data (blocks formed by arranging in order according to a time axis) stored in a file system manner to form a set of key value pairs, and examples of the data recorded by the key value pairs include: data digest & timestamp in block header; the path of the mercker tree recorded in the mercker tree (proof of presence of transaction data); data content of the transaction; the Set of key-value pairs may be in a storage cluster using an unstructured database, such as a master-slave (M master-slave), a copy Set (Replica Set), a slicing (Sharding), and the like. Therefore, the quick query can be realized, certainly not limited to an unstructured storage mode, for example, each deconstructed key-value pair can be stored as a separate file (the file is named by a key), and the quick query of the key-value pair can also be realized.
Continuing to describe the manner of deconstructing the ledger data into key-value pairs and forming the existence certification of the key-value pairs, referring to fig. 11, fig. 11 is a schematic diagram of deconstructing the ledger data into key-value-pair data and calculating the existence certification, the ledger data of each block is deconstructed into a combination of a plurality of key-value pairs, any two key-value pairs are used as leaf nodes to calculate hash values as new leaf nodes, and the hash values are iteratively calculated until the hash values of the leaf nodes are calculated to form a tacle tree path corresponding to the block, one example is as follows: block3-hash/hash1/hash2/hash 3. The Merckel tree path of the block can serve as a key value obtained from the block structure to prove the existence of data, the block and the corresponding Merckel tree path form a snapshot of the block, and even unstructured data can finally form an unstructured form through deconstruction from multiple dimensions, so that the technical effect that compatible structured/unstructured data can be directly linked is achieved.
In some embodiments, the ledger database node implements the above-described functions by deploying the ledger database component, referring to fig. 13, fig. 13 is a schematic deployment diagram of the ledger database component 600 provided in the embodiment of the present invention, and the ledger database component 600 adopts the manner shown in fig. 11 to deconstruct and store ledger data.
A different deployment of ledger database component 600 is shown in fig. 13, for example, as a blockchain independent function node (e.g., ledger database node 140 in blockchain network 100 shown in fig. 10). Ledger database component can also be deployed at any node of the blockchain network, for example, ledger database component 600 is deployed in consensus node 100 as shown in fig. 10, or can be deployed as a storage cluster independent of the blockchain network.
The Ledger Data protocol (Legger Data Contract) component 610 is used for realizing a standard storage management mode consistent with external access, and defining and managing a Data structure to organize Ledger Data, operate aiming at the Ledger Data, and deconstruct and store the Ledger Data; a set of key-value pairs formed from ledger data is deconstructed from a plurality of dimensions.
The ledger storage component 620 is configured to store the deconstructed key-value pair data into an unstructured database/single file, so as to provide a service for providing offline access to the ledger (i.e., a service that can query the ledger without passing through the consensus node 110) to the terminal 300, where the query service is independent of the completion of the internal transaction processing logic of the blockchain network 100, and provides a query service in a manner of providing key-value pairs, and the dimensionality of the queried data includes: ledger (a chain of blocks), transactions, accounts, metadata, blocks, and Merkle trees.
Because the storage structure has good expansibility, even under the conditions of unlimited size of a single block, unlimited account number and unlimited block growth, the query request is responded by deconstructing the formed key value pair data, and the query can be more quickly compared with the account book data in a query file form.
Ledger database component 600 may also be used to support the writing of key-value pair data, e.g., to support terminals 300 to write key-value pair data in a chained manner when implemented as a storage cluster deployed independently of a blockchain network; for another example, when implemented as an ledger database node or a consensus node, the write request is encapsulated as a transaction submitted into a blockchain, completing the write on the chain.
The manner in which a blockchain network implementing an embodiment of the present invention implements intelligent contracts is described next.
In some embodiments, the functionality of executing intelligent contracts that implements embodiments of the present invention is implemented by running an intelligent contract component; for example, the intelligent contract engine component may be deployed in the consensus node 110 of fig. 4-10 to implement functionality for executing intelligent contracts.
In some embodiments, a type of independent contract engine node for operating an intelligent contract engine component may be deployed in a blockchain network implementing the embodiments of the present invention, so as to replace a consensus node in the blockchain network to execute an intelligent contract invoked in a transaction, and return a transaction result obtained by executing the intelligent contract to the consensus node. The function of the contract engine node of the embodiment of the present invention will be explained next.
By deploying contract engine nodes in a blockchain network and transferring the load of executing the intelligent contract from the consensus nodes, the limitation of the IT capability of the consensus nodes for executing the intelligent contract can be relieved, and the method is particularly suitable for business bodies with limited IT capability and the consensus nodes with high load of executing the contract due to access of too many terminals, such as the consensus nodes deployed for transaction parties.
The intelligent contract engine component for realizing the embodiment of the invention has a compiling/simulation running function of the intelligent contract (by using a simulated ledger) and an executing function of the intelligent contract (an executing result is applied to a real ledger of a block chain network), and can automatically set the working state and the offline state of the sub-modules according to the deployed environment (for example, automatically detecting the deployed environment or receiving the setting of a developer about the deployed environment), so that the compiling/simulation testing function of the intelligent contract and the executing function of the intelligent contract are automatically switched. For example, execution functionality of the intelligent contract is implemented when deployed in a blockchain network, while compilation/simulation run functionality of the intelligent contract is implemented when deployed in a development environment.
Of course, the intelligent contract engine component may also automatically adjust the online state (i.e., the state in which the connection with the outside is activated) and the offline state (i.e., the state in which the connection with the outside is bypassed) of the sub-modules therein according to the preset, and the following description is given in conjunction with an example in which the online/offline states of different modules are set when the intelligent contract engine component is in different deployment environments, so as to automatically switch the compiling/simulation test function of the intelligent contract and the execution function of the intelligent contract.
With reference to fig. 6 and 10 and fig. 14, fig. 14 is a schematic deployment diagram of deploying an intelligent contract engine component 700 in a blockchain network according to an embodiment of the present invention, where the intelligent contract engine component 700 is deployed as an independent contract engine node 150 in the blockchain network shown in fig. 6 and 10.
The functions that intelligent contract module 710 uses to implement include: the compiling (implemented by the compiler 711)/simulation test function (cooperatively implemented by the compiler 711 and the executor 712) of the intelligent contract, and the execution function (implemented by the executor 712) of the intelligent contract; the functions that ledger access adapter 720 is used to implement include: the simulated ledger in the form of a local data source is provided for testing intelligent contracts depending on the deployment environment, or the real ledger in the blockchain network 100 is provided by way of a remote agent for execution of intelligent contracts by enforcer 712.
Enforcer 712 in intelligent contract module 710 is online, according to the context of deployment in the blockchain network, ledger remote agent 722 in ledger access adapter 720 is used to be online, according to the context of deployment in the blockchain network, and compiler 711 in intelligent contract module 710 is offline.
In the context of the deployment of the intelligent contract engine component 700 in the blockchain network 100, one exemplary transaction processing procedure is as follows.
The transaction processing module 1102 in the consensus node 110 is configured to encapsulate the transaction submitted by the terminal 300 to form a new block, and by invoking the contract engine component 700 in the contract engine node 150, the executor 712 in the contract engine component 700 is configured to execute the intelligent contract invoked in the transaction instead of the consensus node to read/write the ledger, the ledger remote agent 722 is configured to implement a communication agent function between the executor 712 and the ledger, read ledger data that needs to be read/written for the intelligent contract from the ledger, the executor 712 executes the intelligent contract on the received ledger data to obtain a transaction result, and then the executor 712 returns the transaction result to the consensus node 110.
When the consensus module 1101 in the consensus node 110 agrees with other consensus nodes in the blockchain network 100 on the transaction result, the executor 712 will be triggered to read/write the ledger, and the executor 712 will read/write the ledger through the ledger remote agent module 722, for the account writing, including storing the transaction result into the ledger state and storing a new block containing the transaction into the ledger data.
Referring to fig. 15, fig. 15 is a schematic deployment diagram of deploying an intelligent contract engine component 700 in a development environment according to an embodiment of the present invention, where the intelligent contract engine component 700 is deployed in an embedded manner in the development environment of a developer, and is adapted to a development component (taking a Maven compiled plug-in as an example in fig. 15) and a test component (taking a Junit test component as an example in fig. 15) in the development environment.
According to the deployment of intelligent contract engine component 700 in the Development environment, compiler 711, executor 712, Integrated Development Environment (IDE) simulator 721 in intelligent contract module 710 are in an online state to support the developer's compilation (implemented by compiler 711)/simulation test functions (implemented by compiler 711 and executor 712) using intelligent contracts, while ledger remote agent 722 in intelligent contract module 710 is in an offline state.
In the case where the intelligent contract engine component 700 is deployed in a development environment, an exemplary transaction processing process, as shown in FIG. 15, is as follows.
At the stage of compiling the intelligent contract (project), a compiling plug-in the development environment calls the compiler 711 to compile the intelligent contract; in the stage of testing the intelligent contract, a testing component in the development environment calls an executor 712 to execute the intelligent contract, an IDE simulator 721 simulates the complete ledger of the blockchain network based on a local data source, and provides ledger data in the form of the local data source to the executor 712, so that the executor 712 executes read/write operations in the intelligent contract on the simulated ledger data to form a transaction result; the intermediate result and the final result of the intelligent contract are executed to locate the error code.
Referring to fig. 16, fig. 16 is a schematic diagram of the deployment of the intelligent contract engine component provided by an embodiment of the present invention, throughout the development and on-chain deployment phases of an intelligent contract.
In the project management and development testing phase of the intelligent contract, various dependencies and compiling plug-ins for defining the intelligent contract compiling are carried out in an integrated development environment (such as Eclipse); compiling plug-in compiling and packaging codes of the intelligent contract, wherein the codes comprise a packaging file (CONTRACT. jar) of the intelligent contract and a digital signature (Signature. cert) of a developer aiming at the packaging file, so that the intelligent contract codes are compiled according to intelligent contract source codes; the test case of the intelligent contract completely depends on the ledger of the local data source, does not depend on the ledger data maintained by the nodes in the blockchain network,
in the deployment phase of the smart contract, the smart contract signed with the digital signature is deployed into the consensus node 110 as shown in fig. 10, so that the consensus node 110 can execute the smart contract referred to in the transaction submitted by the terminal 300 and form the transaction result.
The engineering environment of the intelligent contract provided by the intelligent contract engine component: the development language is mature, the tool chain is complete, the tool chain can be reused, the tool chain can be distributed, and the tool chain can be verified and managed; through the adaptation with the test component and the compiling component of the development environment, the development mode of the business system can be continued, the existing continuous integration facility is directly utilized, and the learning cost of intelligent contract development is reduced; a fully localized unit test can be performed.
With continued reference to fig. 10, an exemplary application of the blockchain network in an enterprise-level application scenario is illustrated in which embodiments of the present invention are implemented. In an enterprise-level application scenario, the following business entities are involved: the large enterprise, the corresponding business body 200-1 and business body 200-2 with the role of transaction party; partner enterprises, a business agent 200-3-1 and a business agent 200-3-2 with corresponding roles as collaborators; the corresponding role of the supervision mechanism is a service main body 200-4 of a supervision party; a filing center, a business subject 200-6 with a corresponding role as a filing party; the authentication center corresponds to the business agent 200-5 with the role of the authenticator.
The consensus node 110 is deployed in the blockchain network 100 according to the role of the business agent, and a backup node 120, a gateway node 130, an account book database node 140 and a contract engine node 150 can also be deployed; exemplary function assignments for the terminal 300 and various types of nodes are shown in table 1 below.
TABLE 1
The method comprises the steps that nodes are adaptively deployed in the blockchain network according to the roles of all parties, and common identification nodes with most functions are deployed for large enterprises to support the main/full functions of the blockchain system, including execution, common identification, various queries and verification of transactions and the like; meanwhile, the current situation of difference of sources of large enterprise butt joint terminals is met in a public/private gateway node mode, and the simplification of a large enterprise business system is facilitated; for the partner enterprise, a deployment scheme of sharing the consensus node with the large enterprise is provided, so that the business coupling of the large enterprise and the partner enterprise is facilitated; aiming at the limitation of IT capability of the filing center, the filing center adopts a deployment scheme of the consensus node, and does not need to improve the IT capability to participate in the execution, consensus and accounting processes of the transaction; correspondingly deploying consensus nodes aiming at the authentication center/supervision mechanism so as to meet the requirements of the authentication product/supervision industry; the deployment structure of the block chain network is adaptive to the diversity of the roles of the service main bodies, and the technical effect of adapting the difference of IT (information technology) capabilities is achieved.
Having described various exemplary deployment structures of a blockchain network implementing an embodiment of the present invention and functions of various types of nodes thereof, an exemplary deployment scheme for supporting service operations of the blockchain network implementing an embodiment of the present invention is described below with reference to a blockchain network 100 shown in fig. 10.
Referring to fig. 17, fig. 17 is a schematic diagram of a deployment flow of a blockchain network according to an embodiment of the present invention, and is described with reference to step 201 to step 203.
Here, at least two consensus nodes are deployed in the blockchain network, the consensus nodes being deployed corresponding to different business entities participating in the business.
Step 203: and synchronizing the account book maintained by the backup node with the account book maintained by the consensus node so as to update the account book maintained by the backup node.
Here, the backup node, deployed for registering the service entity corresponding to the role in the service, is configured to bind the identity information of the service entity to which the backup node belongs, to indicate that the backup node is deployed in the blockchain network corresponding to the service entity to which the backup node belongs.
In some embodiments, providing a deployment scenario according to whether a role of a participant deploys a corresponding consensus node includes: when the role of the service main body in the service is a transaction party, at least one consensus node is deployed in the blockchain network corresponding to the corresponding service main body; when the role of the business main body in the business is a transaction party, at least one common consensus node is deployed in the blockchain network corresponding to the corresponding business main body and a cooperative party of the corresponding business main body; when the role of the service body in the service is a supervisor or an authenticator, at least one consensus node is deployed in the blockchain network corresponding to the corresponding service body.
In some embodiments, a deployment scheme for deploying a "binding service principal identity" function at a consensus node is further provided, including: and binding the identity information of the belonged service body in the consensus node to indicate that the identity information is deployed in the blockchain network corresponding to the belonged service body.
In some embodiments, a deployment scheme for deploying a "synchronous ledger" function at a consensus node is further provided, including: and the common identification node synchronizes the account book with any other common identification node in the block chain network.
In some embodiments, a deployment scheme for deploying a function of "retrieving ledger data" at a consensus node is further provided, including: the consensus node responds to the account book state query request according to the maintained account book state, queries the real-time account book state or the historical account book state according to keys carried by the account book state query request, and forms an account book state query result according to the queried value.
In some embodiments, there is further provided a deployment scheme for deploying a "retrieve presence attestation" function at a consensus node, comprising: and the consensus node responds to a presence query request of the to-be-verified book data according to the maintained presence certificate of the book data, queries the to-be-verified data in the presence certificate, and forms a presence query result of whether the to-be-verified data is stored in the book.
In some embodiments, a deployment scheme for deploying a "write ledger status" function at a consensus node is further provided, including: and when the transaction result obtained by executing the transaction in the new block obtains consensus, the consensus node updates the key value pair in the account book state by using the transaction result.
In some embodiments, there is further provided a deployment scheme for deploying a "write presence attestation" function at a consensus node, comprising: and when the result of the transaction obtained by executing the transaction in the new block is agreed, the consensus node generates a proof of existence indicating that the transaction is included in the ledger data in the ledger.
In some embodiments, a deployment scheme for deploying a "validate ledger" function at a consensus node is further provided, including: the consensus node provides an account book verification request according to the maintained account book, inquires data to be verified in the existence certification of the account book data, and inquires the state of the account book according to a key carried by the account book verification request to form a verification result.
In some embodiments, there is also provided a deployment scenario for deploying a "broadcast transaction" function at a consensus node, comprising: when the consensus node receives the transaction submitted by the terminal, the transaction is broadcasted in the block chain network, so that any other consensus node in the block chain network is sequenced according to the received transaction and packaged to form a block.
In some embodiments, a deployment scheme is further provided for deploying gateway nodes in a blockchain network and deploying a function of "binding service entity identity information", where the number of the gateway nodes is at least two, the gateway nodes are deployed corresponding to different service entities participating in a service, and are connected to a common node belonging to a corresponding service entity, and are used for binding the identity information of the belonging service entity to indicate that the gateway nodes are deployed in the blockchain network corresponding to the belonging service entity.
In some embodiments, there is further provided a deployment scheme for deploying "manage terminal access and authentication" functions at a gateway node, comprising: the gateway node performs identity authentication on the terminal requesting access and manages the terminal.
In some embodiments, there is also provided a deployment scenario for deploying a "broadcast transaction" function at a gateway node, comprising: and when receiving the transaction submitted to the gateway node by the terminal, the gateway node broadcasts in the block chain network so as to enable any other consensus node in the block chain network to be sequenced according to the received transaction and packaged to form a block.
In some embodiments, a deployment scheme for deploying a "retrieve ledger data" function at a backup node is further provided, including: and the backup node responds to the account book state query request according to the maintained account book state, queries the real-time account book state or the historical account book state according to keys carried by the account book state query request, and forms an account book state query result according to the queried value.
In some embodiments, there is further provided a deployment scheme for deploying a "retrieve presence attestation" function at a backup node, comprising: and the backup node responds to a presence query request of the ledger data to be verified according to the maintained presence certificate of the ledger data, queries the data to be verified in the real-time presence certificate and the historical presence certificate, and forms a presence query result of whether the data to be verified is stored in the ledger.
In some embodiments, a deployment scheme for deploying a "validate ledger" function at a backup node is further provided, including: and the backup node responds to the account book verification request according to the maintained account book, inquires data to be verified in the existence certification of the account book data, and inquires the state of the account book according to a key carried by the account book verification request to form a verification result.
In some embodiments, there is also provided a deployment scheme for deploying contract engine nodes in a blockchain network, comprising: connecting a contract engine node with a consensus node or a backup node in a block chain network, when the consensus node needs to execute the transaction, executing an intelligent contract called in the transaction through an intelligent contract engine component deployed by the contract engine node, and returning an obtained transaction result to the consensus node.
In some embodiments, there is also provided a deployment scheme for deploying ledger database nodes in a blockchain network, comprising: and connecting the account book database node with the common identification node, deconstructing the account book into key value pairs through the account book database node, storing the key value pairs, and providing a linked query request of the account book to the terminal according to the stored key value pair response.
In summary, the embodiments of the present invention have the following beneficial effects:
1) various types of nodes and the number of the nodes, such as consensus nodes, gateway nodes and backup nodes, are deployed according to the role of the service main body in the service, so that the technical effect of flexible deployment according to the service main body is realized, the complexity of a service system of the service main body is simplified, and the IT capability requirement of part of the service main body is reduced;
2) by adopting the transaction consensus in the transaction processing flow (instead of the prior art for performing consensus on the blocks), on the basis of ensuring the efficiency of consensus, compared with the transaction processing scheme in two stages of transaction proposal and transaction submission provided by the prior art, the transaction processing flow is simplified, and a complete account book can be obtained through the consensus node.
3) The contract engine node is deployed to reduce the load of the consensus node in the transaction execution process, and the computing power of the contract engine node can be directly coupled to the resource used by the business main body for executing consensus, so that the existing business system does not need to be upgraded, and the complexity of the business system of the business main body is reduced.
4) The deployment database node provides the database access in the form of the account book, reduces the load of the consensus node for responding to the query, and can support the effect of multi-version and efficient query in a concurrent manner.
Embodiments of the present invention also provide a storage medium storing executable instructions, which when executed, are configured to cause a processor to execute the method for deploying a blockchain network provided by an embodiment of the present invention.
An embodiment of the present invention further provides a blockchain network, where the blockchain network includes:
a memory for storing executable instructions;
and the processor is used for executing the executable instructions stored in the memory to realize the block chain network deployment method provided by the embodiment of the invention.
The above description is only an example of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, and improvement made within the spirit and scope of the present invention are included in the protection scope of the present invention.
Claims (24)
1. A blockchain network, the blockchain network comprising:
the consensus node is used for sorting the transactions submitted by the terminal, packaging the transactions into a new block, and executing the transactions in the new block to obtain a transaction result; executing consensus on the transaction result, and updating an account book maintained by the consensus node according to the transaction result after the consensus is executed;
and the backup node is deployed for a main body of the record service corresponding to the role in the service and is used for synchronizing the maintained account book and the account book maintained by the consensus node so as to update the account book maintained by the backup node.
2. The blockchain network of claim 1,
and the backup node is also used for responding to the account book state query request according to the maintained account book state, querying the real-time account book state or the historical account book state according to keys carried by the account book state query request, and forming an account book state query result according to the queried value.
3. The blockchain network of claim 1,
the backup node is further configured to respond to a presence query request of the to-be-verified book data according to the maintained presence certificate of the book data, query the to-be-verified book data in the real-time presence certificate and the historical presence certificate, and form a presence query result of whether the to-be-verified book data is stored in the book.
4. The blockchain network of claim 1,
the backup node is further configured to respond to the account book verification request according to the maintained account book, query the account book data to be verified in the existence certification of the account book data, and query the state of the account book according to a key carried by the account book verification request to form a verification result.
5. The blockchain network of claim 1,
and the backup node is also used for performing identity authentication on the service main body to which the terminal requesting access belongs according to the identity of the bound service main body.
6. The blockchain network of claim 1,
and when the role of the service subject corresponding to the service participation of the consensus node is a transaction party, at least one consensus node is deployed in the blockchain network corresponding to the service subject.
7. The blockchain network of claim 1,
and when the role of the corresponding business main body participating in the business of the consensus node is a transaction party, at least one consensus node which is common is deployed in the blockchain network corresponding to the corresponding business main body and a cooperative party of the corresponding business main body.
8. The blockchain network of claim 1,
and when the role of the service subject corresponding to the service participation of the consensus node is a supervisor or an authenticator, at least one consensus node is deployed in the block chain network corresponding to the service subject.
9. The blockchain network of claim 1,
and when the role of the corresponding business subject participating in the business of the consensus node is a docket, deploying the consensus node accessed with other business subjects in the block chain network.
10. The blockchain network of claim 1,
the consensus node is also used for carrying out account book synchronization with other consensus nodes.
11. The blockchain network of claim 1,
the consensus node is further used for responding to the account book state query request according to the maintained account book state, querying the real-time account book state or the historical account book state according to keys carried by the account book state query request, and forming an account book state query result according to the queried value.
12. The blockchain network of claim 1,
the consensus node is further used for responding to a presence query request of the to-be-verified book data according to the maintained presence certificate of the book data, querying the to-be-verified book data in the real-time presence certificate and the historical presence certificate, and forming a presence query result of whether the to-be-verified book data is stored in the book.
13. The blockchain network of claim 1,
the consensus node is further used for responding to an account book verification request according to the maintained account book, inquiring the account book data to be verified in the existence certification of the account book data, and inquiring the state of the account book according to keys carried by the account book verification request to form a verification result.
14. The blockchain network of claim 1,
the common identification node is further configured to bind the identity information of the attributed service entity to indicate that the common identification node is deployed in the blockchain network corresponding to the attributed service entity.
15. The blockchain network of claim 1,
the consensus node is further configured to broadcast the transaction in the blockchain network when receiving the transaction submitted by the terminal, so that other consensus nodes in the blockchain network are sequenced according to the received transaction and encapsulated to form a block.
16. The blockchain network of claim 1,
and the consensus node is further used for updating the key value pair in the state of the account book by using the transaction result when the transaction result obtained by executing the transaction in the new block obtains consensus.
17. The blockchain network of claim 1,
and the consensus node is further used for generating a proof of existence of the transaction in the ledger data when the transaction result obtained by executing the transaction in the new block obtains consensus.
18. A blockchain network as claimed in any one of claims 1 to 17, wherein the blockchain network further comprises:
the gateway node is deployed corresponding to different business bodies, connected with the consensus node deployed corresponding to the corresponding business body and used for performing identity authentication on the business body to which the terminal requesting access belongs according to the identity of the bound corresponding business body; and managing the accessed terminal.
19. The blockchain network of claim 18,
the gateway node is further configured to receive the transaction submitted by the terminal, and broadcast the transaction in the blockchain network, so that other consensus nodes in the blockchain network are sequenced according to the received transaction and encapsulated to form a block.
20. A blockchain network as claimed in any one of claims 1 to 17, wherein the blockchain network further comprises:
and the contract engine node is used for executing the intelligent contract called in the transaction through the deployed intelligent contract engine when the consensus node executes the transaction, and returning an obtained transaction result to the consensus node.
21. A blockchain network as claimed in any one of claims 1 to 17, wherein the blockchain network further comprises:
the account book database node is used for deconstructing the account book in the account book into key value pairs and storing the key value pairs; and responding to the down-link inquiry request of the terminal aiming at the account book according to the stored key value pair.
22. A method for block chain network deployment, the method comprising:
deploying common identification nodes corresponding to different service bodies participating in the service in the block chain network, and deploying backup nodes corresponding to the backup service bodies with the roles in the service;
sorting the transactions submitted by the terminal through the consensus node, packaging the transactions into a new block, and executing the transactions in the new block to obtain transaction results;
performing consensus on the transaction result among consensus nodes in the blockchain network, and updating an account book maintained by the consensus nodes according to the transaction result after performing consensus;
and synchronizing the account book maintained by the backup node with the account book maintained by the consensus node so as to update the account book maintained by the backup node.
23. A storage medium having stored thereon executable instructions for, when executed, causing a processor to perform the method of block chain network deployment of claim 22.
24. A blockchain network, the blockchain network comprising:
a memory for storing executable instructions;
a processor configured to execute executable instructions stored in the memory to implement the method of block chain network deployment as claimed in claim 22.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810937302.XA CN109325854B (en) | 2018-08-16 | 2018-08-16 | Block chain network, deployment method and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810937302.XA CN109325854B (en) | 2018-08-16 | 2018-08-16 | Block chain network, deployment method and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109325854A CN109325854A (en) | 2019-02-12 |
CN109325854B true CN109325854B (en) | 2020-11-24 |
Family
ID=65263812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810937302.XA Active CN109325854B (en) | 2018-08-16 | 2018-08-16 | Block chain network, deployment method and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109325854B (en) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110264350A (en) * | 2019-05-10 | 2019-09-20 | 重庆金融资产交易所有限责任公司 | Bookkeeping methods, device and the computer equipment for thering is endorsement to sign based on block chain |
CN110266765B (en) * | 2019-05-21 | 2022-03-01 | 西安中星测控有限公司 | Real-time updating method and device for Internet of things online consensus node based on block chain |
CN110399373B (en) * | 2019-06-26 | 2024-02-02 | 杭州慧牧科技有限公司 | Block chain account book storage system, storage query method and deletion method |
CN110287170B (en) * | 2019-06-28 | 2021-05-11 | 杭州复杂美科技有限公司 | Database upgrading method, state data calling method, device and storage medium |
CN110417883B (en) * | 2019-07-23 | 2021-09-24 | 杭州云象网络技术有限公司 | Design method of point-to-point network structure applied to block chain |
CN110417790B (en) * | 2019-08-02 | 2021-11-23 | 中国工商银行股份有限公司 | Block chain real-name system queuing system and method |
CN110443071B (en) * | 2019-08-15 | 2021-05-28 | 广西计算机有限责任公司 | Block chain big data processing method and system |
SG11202002587TA (en) | 2019-09-12 | 2020-04-29 | Alibaba Group Holding Ltd | Log-structured storage systems |
CN111837113B (en) * | 2019-09-12 | 2024-11-01 | 蚂蚁链技术有限公司 | Log structured storage system |
CN110535969B (en) * | 2019-09-16 | 2021-06-15 | 腾讯科技(深圳)有限公司 | Data storage method, device, storage medium and equipment based on block chain network |
CN110853216B (en) * | 2019-10-18 | 2022-06-17 | 深圳壹账通智能科技有限公司 | Information storage method, information storage device, information storage medium and computer equipment |
CN110688261A (en) * | 2019-11-13 | 2020-01-14 | 杭州新链科技有限公司 | Heterogeneous electronic file cloud disaster recovery system based on block chain |
CN111062497A (en) * | 2019-11-21 | 2020-04-24 | 北京海益同展信息科技有限公司 | Property management method, platform and storage medium based on block chain network |
CN111782537B (en) * | 2020-07-08 | 2021-12-17 | 上海计算机软件技术开发中心 | Crowd-sourcing process management system and method based on block chain technology |
CN111813866B (en) * | 2020-07-30 | 2021-03-16 | 河南中盾云安信息科技有限公司 | Improved block chain account book synchronization method |
CN111949733B (en) * | 2020-08-21 | 2023-12-22 | 交通银行股份有限公司 | Asset securitization management system and method based on blockchain |
CN111832083B (en) * | 2020-09-15 | 2021-01-08 | 江苏开博科技有限公司 | System resource tamper-proofing method based on block chain and national secret digital fingerprint technology |
CN112104747B (en) * | 2020-10-30 | 2021-02-26 | 广州市玄武无线科技股份有限公司 | Request response system based on chain processing |
CN112767168B (en) * | 2021-02-10 | 2024-02-02 | 中国工商银行股份有限公司 | Super account book parallel processing method and parallel processing device based on blockchain |
CN113505024B (en) * | 2021-07-08 | 2024-02-23 | 网易(杭州)网络有限公司 | Data processing method and device of alliance chain, electronic equipment and storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069370A (en) * | 2015-07-22 | 2015-11-18 | 北京京东尚科信息技术有限公司 | Automatic authorization access method for database |
CN107273760A (en) * | 2017-06-09 | 2017-10-20 | 济南浪潮高新科技投资发展有限公司 | One kind is based on many CA application authentication methods of block chain |
CN107786339A (en) * | 2016-08-31 | 2018-03-09 | 陈新 | It is layered controllable alliance's block catenary system |
CN108023893A (en) * | 2017-12-18 | 2018-05-11 | 王松山 | A kind of method of block chain data recognizing system |
-
2018
- 2018-08-16 CN CN201810937302.XA patent/CN109325854B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069370A (en) * | 2015-07-22 | 2015-11-18 | 北京京东尚科信息技术有限公司 | Automatic authorization access method for database |
CN107786339A (en) * | 2016-08-31 | 2018-03-09 | 陈新 | It is layered controllable alliance's block catenary system |
CN107273760A (en) * | 2017-06-09 | 2017-10-20 | 济南浪潮高新科技投资发展有限公司 | One kind is based on many CA application authentication methods of block chain |
CN108023893A (en) * | 2017-12-18 | 2018-05-11 | 王松山 | A kind of method of block chain data recognizing system |
Also Published As
Publication number | Publication date |
---|---|
CN109325854A (en) | 2019-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109325854B (en) | Block chain network, deployment method and storage medium | |
CN109191124B (en) | Block chain network, deployment method and storage medium | |
CN109325855B (en) | Block chain network, deployment method and storage medium | |
CN109218079B (en) | Block chain network, deployment method and storage medium | |
US11088854B2 (en) | Securing blockchain access through a gateway on behalf of a communication device | |
CN109241032B (en) | Account book database component, operation method and storage medium | |
CN109189396B (en) | Intelligent contract engine assembly, operation method and storage medium | |
CA3061603A1 (en) | System and method for storing contract data structures on permissioned distributed ledgers | |
US20220004539A1 (en) | Privacy preserving architecture for permissioned blockchains | |
US12095934B2 (en) | Sparse peer with transient participation | |
JP2020515092A (en) | Blockchain monitoring and management | |
CN110163755B (en) | Block chain-based data compression and query method and device and electronic equipment | |
US11263059B2 (en) | Load leveler | |
EP3864817A1 (en) | Blockchain timestamp agreement | |
CN111737104B (en) | Block chain network service platform, test case sharing method thereof and storage medium | |
CN111241589A (en) | Database system, node and method | |
CN115701078B (en) | Cross-chain transaction processing method, device, electronic equipment and storage medium | |
CN111241590A (en) | Database system, node and method | |
CN114971827A (en) | Account checking method and device based on block chain, electronic equipment and storage medium | |
CN114579585A (en) | Block chain selective world state database | |
US11245756B2 (en) | Sparse peer with transient participation | |
CN116997895A (en) | Reducing transaction aborts in an execution ordering validation blockchain model | |
CN112019350B (en) | Block verification method and device for block chain | |
CN114626100B (en) | Consensus algorithm for distributed ledger wall technology | |
Olsson | Collaborative Drug Discovery with Blockchain Technology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |