Information transmission method and device based on block chain, equipment and storage medium
By introducing observer nodes into the blockchain system and providing communication channels, the complexity problem caused by the differences in the off-chain system is solved, the simplified system architecture and reduced operation and maintenance difficulties are achieved, and off-chain collaboration and Business functions for on-chain interaction.
Patent Information
- Application Number
- CN202310709150.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-14
- Publication Date
- 2024-12-17
AI Technical Summary
In the prior art, the on-chain and off-chain systems between institutions are used differently, resulting in complex system architecture, difficult development, high operation and maintenance complexity, and data consistency processing increases the development difficulty.
By introducing observer nodes into the blockchain system, providing communication channels can realize off-chain collaboration and on-chain interaction for the business system, simplifying the system architecture, and reducing the difficulty of development and operation and maintenance.
It realizes the completion of full service functions through an information transmission system, simplifies the system architecture, reduces the difficulty of development and operation and maintenance, and reduces network exposure.
Smart Images

Figure CN119155008A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of blockchain technology, and are related to but not limited to a blockchain-based information transmission method, device, equipment and storage medium. Background Art
[0002] In related technologies, some collaborative processes between institutions in business systems need to be conducted off-chain on the blockchain to ensure privacy, such as cost accounting, bargaining process, process negotiation, signing of additional agreements, etc., but the final agreement reached may need to be open and transparent. In other words, in related technologies, institutions usually build two systems, one for off-chain collaboration through dedicated lines, and one for on-chain interaction. However, using different systems on and off the chain increases the complexity of the system architecture and the development workload on the one hand; on the other hand, there are more application interfaces between institutions and more open network ports, which increases the complexity of operation and maintenance; furthermore, the information interaction between the two systems is more complex than the interaction between modules in the same system, and data consistency also requires additional processing to be guaranteed, which increases the difficulty of development. Summary of the invention
[0003] The embodiments of the present application provide a blockchain-based information transmission method, device, equipment and storage medium, which can at least be applied to the blockchain field. Through the observer node, a communication channel is provided for the off-chain collaboration of the business system, thereby connecting the blockchain system, so that the business system can handle both off-chain collaboration and on-chain interaction; all business functions can be completed through an information transmission system, simplifying the system architecture, reducing the difficulty and workload of development, while reducing network exposure and reducing the difficulty of operation and maintenance.
[0004] The technical solution of the embodiment of the present application is implemented as follows:
[0005] An embodiment of the present application provides a blockchain-based information transmission method, which is applied to an information transmission system, wherein the information transmission system includes a blockchain system and a business system independent of the blockchain system, wherein the blockchain system includes at least an observer node, and the business system includes at least a first business node and a second business node; the method includes: receiving, through the observer node, an information transmission request sent by the first business node, wherein the information transmission request includes identity authentication information of the first business node; forwarding the identity authentication information to the second business node, so as to perform identity authentication on the first business node based on the identity authentication information through the second business node to obtain an identity authentication result; in response to the identity authentication result being that the identity authentication is passed, receiving a message to be transmitted sent by the second business node and identification information of a target recipient; the target recipient is a node in the business system; and forwarding the message to be transmitted to the target recipient corresponding to the identification information.
[0006] An embodiment of the present application provides a blockchain-based information transmission system, wherein the information transmission system includes a blockchain system and a business system independent of the blockchain system; the blockchain system includes an observer node and a blockchain node, and the business system includes at least a first business node and a second business node; the observer node is used to: receive an information transmission request sent by the first business node, wherein the information transmission request includes identity authentication information of the first business node; forward the identity authentication information to the second business node, so as to perform identity authentication on the first business node based on the identity authentication information by the second business node to obtain an identity authentication result; in response to the identity authentication result being that the identity authentication is passed, receive a message to be transmitted sent by the second business node and identification information of a target recipient; the target recipient is a node in the business system; and forward the message to be transmitted to the target recipient corresponding to the identification information.
[0007] An embodiment of the present application provides a blockchain-based information transmission device, the device comprising: a receiving module, used to receive an information transmission request sent by a first business node, the information transmission request including identity authentication information of the first business node; an information forwarding module, used to forward the identity authentication information to a second business node, so that the first business node is authenticated by the second business node based on the identity authentication information to obtain an identity authentication result; the receiving module is also used to receive a message to be transmitted and identification information of a target recipient sent by the second business node in response to the identity authentication result being a passed identity authentication; the target recipient is a node in the business system; the information forwarding module is also used to forward the message to be transmitted to the target recipient corresponding to the identification information.
[0008] In some embodiments, the information transmission request is a topic subscription request; the device also includes an identity authentication model, which is used to determine whether the topic subscription request is the latest request in the current time period based on the identity authentication information through the second business node, and obtain a first authentication result, and determine the target recipient of the message to be transmitted, and perform identity authentication on the target recipient to obtain a second authentication result; wherein the first authentication result and the second authentication result constitute the identity authentication result.
[0009] In some embodiments, the blockchain system also includes a blockchain node; the identity authentication information includes the identity information of the first business node and the current block header; the current block header is the block header of the latest block queried by the first business node from the blockchain node or from the observer node; the identity authentication model is also used to: determine whether the topic subscription request is the latest request within the current time period based on the current block header by the second business node to obtain the first authentication result; determine the target recipient of the message to be transmitted based on the identity information, and authenticate the target recipient to obtain the second authentication result.
[0010] In some embodiments, the receiving module is also used to: in response to the first authentication result being that the topic subscription request is the latest request within the current time period, and the second authentication result being that the identity authentication of the target recipient is passed, determine that the identity authentication result is passed; receive the message to be transmitted sent by the second business node and the identification information of the target recipient.
[0011] In some embodiments, the device also includes: a certificate application module, which is used to send a certificate application request to a certificate authorization platform through the observer node and each business node in the business system; the certificate application request carries the public key and organization information of the observer node and the business node respectively; a certificate receiving module, which is used to receive the certificates of the observer node and each business node issued by the certificate authorization platform in response to the certificate authorization platform passing the information authentication of the observer node and each business node; and a certificate uploading module, which is used to upload the certificate to the blockchain of the blockchain system.
[0012] In some embodiments, the device also includes: a first certificate acquisition module, used to obtain the certificate of the second business node from the blockchain through the target recipient after forwarding the message to be transmitted to the target recipient corresponding to the identification information; an information sender verification module, used to obtain the public key of the second business node from the certificate of the second business node; obtain the signature public key of the message to be transmitted; in response to the public key of the second business node being the same as the signature public key of the message to be transmitted, determine that the message to be transmitted comes from the correct information sender.
[0013] In some embodiments, the device also includes: an information signature acquisition module, which is used to obtain the information signature of the first business node from the information transmission request through the observer node after receiving the information transmission request sent by the first business node; an information integrity verification module, which is used to verify the information integrity of the information transmission request based on the information signature to obtain an integrity verification result; a current block header acquisition module, which is used to obtain the current block header from the identity authentication information; the current block header is the block header of the latest block queried by the first business node from the blockchain node or from the observer node; the latest request determination module, which is used to determine whether the topic subscription request is the latest request within the current time period based on the current block header, and obtain the request authentication result; the information forwarding module is also used to forward the identity authentication information to the second business node based on the integrity verification result and the request authentication result.
[0014] In some embodiments, the information forwarding module is also used to: in response to the integrity verification result that the information in the information transmission request is complete and the request authentication result is authentication passed, record the network connection information of the first business node; add the signature of the observer node to the information transmission request to obtain a signed information transmission request; the signed information transmission request includes the identity authentication information; based on the network connection information, send the signed information transmission request to the second business node.
[0015] In some embodiments, the device further includes: a signature acquisition module, used to acquire the signature of the observer node and the information signature of the first business node carried in the signed information transmission request through the second business node; an accuracy verification module, used to verify the accuracy of the request information of the signed information transmission request based on the signature of the observer node and the information signature of the first business node, and obtain an information verification result; a public key acquisition module, used to acquire the signature of the observer node and the public key corresponding to the information signature of the first business node in response to the information verification result being a passed verification; a second certificate acquisition module, used to acquire the certificate of the observer node and the certificate of the first business node book, as well as the public key in the certificate of the observer node and the public key in the certificate of the first business node; a source verification module, used to verify the source accuracy of the signed information transmission request based on the public keys corresponding to the signature of the observer node and the information signature of the first business node, the public key in the certificate of the observer node and the public key in the certificate of the first business node, and obtain a source verification result; an information acquisition module, used to obtain the message to be transmitted and the identification information of the target recipient corresponding to the signed information transmission request in response to the source verification result being verification passed; a sending module, used to send the message to be transmitted and the identification information of the target recipient to the observer node.
[0016] In some embodiments, the device also includes: obtaining subject information and a data encryption key through the second business node; a subject information encryption module, used to encrypt the subject information using the data encryption key to obtain encrypted subject information; a key encryption module, used to obtain the public key of the first business node; using the public key of the first business node to encrypt the data encryption key to obtain an encrypted data encryption key; an information packaging module, used to package the encrypted subject information and the encrypted data encryption key to obtain a digital envelope; a digital envelope sending module, used to send the digital envelope to the observer node.
[0017] In some embodiments, the device also includes: a digital envelope receiving module, which is used to receive the digital envelope sent by the observer node through the first business node, and obtain the signature public key of the second business node; a sender identity authentication module, which is used to obtain the certificate corresponding to the signature public key, and search for organization information from the certificate; based on the organization information, the sender identity authentication of the second business node is performed to obtain the sender identity authentication result; a digital envelope decryption module, which is used to respond to the sender identity authentication result being verified, and use the private key corresponding to the public key of the first business node to decrypt the digital envelope to obtain the data encryption key; a subject information decryption module, which is used to use the data encryption key to decrypt the encrypted subject information to obtain the subject information; a calling module, which is used to use the subject information as an operating parameter, call the business system to execute the processing flow corresponding to the subject information, and obtain the business processing result.
[0018] An embodiment of the present application provides an electronic device, comprising: a memory for storing executable instructions; and a processor for implementing the above-mentioned blockchain-based information transmission method when executing the executable instructions stored in the memory.
[0019] An embodiment of the present application provides a computer program product, which includes executable instructions, and the executable instructions are stored in a computer-readable storage medium; wherein, when a processor of an electronic device reads the executable instructions from the computer-readable storage medium and executes the executable instructions, the above-mentioned blockchain-based information transmission method is implemented.
[0020] An embodiment of the present application provides a computer program product or a computer program, which includes executable instructions, and the executable instructions are stored in a computer-readable storage medium; when a processor of an electronic device reads the executable instructions from the computer-readable storage medium and executes the executable instructions, the above-mentioned blockchain-based information transmission method is implemented.
[0021] The embodiment of the present application has the following beneficial effects: the information transmission system for implementing the information transmission method includes a blockchain system and a business system independent of the blockchain system, the blockchain system includes at least an observer node, and the business system includes at least a first business node and a second business node, the observer node can receive the information transmission request sent by the first business node, and can forward the identity authentication information to the second business node, so as to authenticate the first business node based on the identity authentication information through the second business node, and obtain the identity authentication result; it can also receive the message to be transmitted and the identification information of the target recipient sent by the second business node; thereby forwarding the message to be transmitted to the target recipient corresponding to the identification information. In this way, it is realized that the observer node provides a communication channel for the off-chain collaboration of the business system, thereby connecting the blockchain system and the business system, so that the business system can handle off-chain collaboration and complete on-chain interaction; through an information transmission system, the full amount of business functions can be completed, thereby simplifying the system architecture, reducing the difficulty and workload of development, and reducing the network exposure and the difficulty of operation and maintenance. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] Figure 1 It is a structural diagram of an information transmission system provided in an embodiment of the present application;
[0023] Figure 2 This is an architecture diagram of the blockchain system provided by the embodiment of the present application;
[0024] Figure 3 This is an optional structural diagram of a distributed system provided in an embodiment of the present application;
[0025] Figure 4 It is an optional schematic diagram of a block structure provided in an embodiment of the present application;
[0026] Figure 5 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application;
[0027] Figure 6 This is an optional flowchart of the blockchain-based information transmission method provided in the embodiment of the present application;
[0028] Figure 7 This is another optional flowchart of the blockchain-based information transmission method provided in the embodiment of the present application;
[0029] Figure 8 It is a schematic diagram of the implementation process of the certificate application method provided in the embodiment of the present application;
[0030] Fig. 9 This is another optional flowchart of the blockchain-based information transmission method provided in the embodiment of the present application;
[0031] Fig.10 This is another optional flowchart of the blockchain-based information transmission method provided in the embodiment of the present application;
[0032] Fig.11 This is a system framework diagram of the blockchain-based information transmission method provided in an embodiment of the present application;
[0033] Fig.12 It is a schematic diagram comparing the solutions of the related technology and the embodiments of the present application;
[0034] Fig.13 This is a use case diagram of the blockchain-based information transmission method provided in an embodiment of the present application;
[0035] Fig.14 It is a schematic diagram of the certificate application and dissemination process provided by the embodiment of the present application;
[0036] Fig.15 This is a schematic diagram of the topic subscription and approval process provided by the embodiment of the present application;
[0037] Fig.16 It is a schematic diagram of the subject propagation, processing, and chain-up process provided in an embodiment of the present application. DETAILED DESCRIPTION
[0038] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of this application.
[0039] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments, but it is understood that "some embodiments" may be the same subset or different subsets of all possible embodiments, and may be combined with each other without conflict. Unless otherwise defined, all technical and scientific terms used in the embodiments of the present application have the same meaning as those commonly understood by those skilled in the art of the technical field of the embodiments of the present application. The terms used in the embodiments of the present application are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.
[0040] Before explaining the blockchain-based information transmission method in the embodiment of the present application, the professional terms involved in the embodiment of the present application are first explained.
[0041] (1) P2P peer-to-peer communication: Peer-to-peer communication is a communication mode in which two nodes communicate directly, sending and receiving messages to each other without going through an intermediate node or proxy. In peer-to-peer communication, the sender sends a message to the receiver, and the receiver directly receives and processes the message. Peer-to-peer communication is usually associated with a client-server architecture, in which the client node sends a request to the server node, and the server node responds to the request and sends the response result back to the client node. This communication mode is widely used in many applications, for example, a web browser sends a Hyper Text Transfer Protocol (HTTP) request to a web server, and an email client sends a Simple Mail Transfer Protocol (SMTP) request to a mail server.
[0042] Peer-to-peer communication is usually a real-time communication mode because two nodes can exchange messages directly without the help of intermediate nodes or agents. This communication mode can provide low latency and high bandwidth, so it is widely used in many real-time applications, such as real-time video and audio communication, online games, and financial trading systems.
[0043] (2) P2P broadcast: P2P broadcast refers to the broadcast method in a peer-to-peer network, that is, a node sends a data packet to all other nodes. This broadcast method is different from the traditional broadcast method based on broadcast addresses. P2P broadcast is achieved by directly sending data packets to other nodes. P2P broadcast is usually used in application scenarios such as P2P streaming media and P2P file sharing.
[0044] (3) Unicast: refers to the one-to-one transmission method in network communication, that is, sending data packets from one sender to one receiver. This method has only one destination, which is different from broadcast and multicast.
[0045] (4) Multicast: It is a point-to-point network transmission method that allows multiple peer nodes to receive and send the same data stream simultaneously, thereby improving the efficiency and reliability of network transmission. Compared with traditional single-point transmission methods, P2P multicast can reduce the burden on the server, reduce network congestion and latency, and improve the reliability of data transmission.
[0046] (5) Digital signature: It is a technology used to ensure the authenticity, integrity and non-repudiation of digital documents (such as e-mails, electronic contracts and software). The digital signature process includes the following steps: First, create a message digest: the original data is used to generate a message digest using a hash function to ensure the integrity of the data; then, private key encryption: the creator uses his own private key to encrypt the message digest to generate a digital signature; then, public key verification: the receiver uses the creator's public key to decrypt the digital signature to obtain a message digest; finally, verify the digest: the receiver uses the same hash function on the original data to generate a message digest, and compares it with the decrypted digest to verify the integrity of the data.
[0047] If the digital signature is verified, the recipient can trust the authenticity and integrity of the original data, and the creator cannot deny the source and content of the data. Digital signature technology is widely used in e-commerce, digital certificates, and digital copyright.
[0048] (6) Blockchain observer node: refers to a node running in a blockchain network. Its main function is to observe and determine transaction and block information in the blockchain network and forward this information to other nodes. Observer nodes usually do not participate in the consensus process, but obtain information and provide services by locating the blockchain network. Observer nodes can help users query transactions, check balances, locate network status, etc., and can also help developers develop and test blockchain applications.
[0049] (7) Publish-Subscribe Mode: It is a software architecture mode used to build a loosely coupled communication mechanism between different components. In this mode, the publisher sends messages to one or more topics, and the subscriber can choose to subscribe to one or more topics to receive messages related to the topics.
[0050] The publish-subscribe model usually consists of three parts: publisher, subscriber and message broker. The publisher is responsible for publishing messages to one or more topics, the message broker is responsible for receiving and distributing messages, and the subscriber is responsible for receiving messages from one or more topics.
[0051] In the publish-subscribe model, there is no direct dependency between publishers and subscribers, they only rely on the message broker. This loosely coupled communication mechanism makes the publish-subscribe model very suitable for building distributed systems and microservice architectures, because it can decouple the communication between different components, thereby improving the scalability and maintainability of the system.
[0052] (8) Digital envelope: refers to the process of encrypting plaintext data using an encryption algorithm in digital communications, and then attaching some metadata (such as digital signatures, timestamps, etc.) to package them together into a whole. This whole is called a digital envelope. The role of a digital envelope is to ensure that the confidentiality, integrity, and authentication of data are guaranteed during the data transmission process. The recipient can verify the authenticity and integrity of the data based on the metadata in the digital envelope, and use the corresponding decryption algorithm to decrypt the encrypted data. Digital envelopes are widely used in the field of information security. For example, in scenarios such as e-mails and electronic contracts, digital envelopes are required to ensure the secure transmission of data.
[0053] (9) Key Encryption Key (KEK): Also known as the key exchange algorithm, it refers to the algorithm used to securely exchange keys between communicating parties. The communicating parties use asymmetric encryption algorithms to encrypt and decrypt data, but the performance of asymmetric encryption algorithms is slow, so they cannot be directly used to encrypt large amounts of data during communication. Therefore, the communicating parties need to use a secure method to exchange the keys used in the symmetric encryption algorithm. This process is called the Key Encryption Key.
[0054] In the key encryption key algorithm, the two communicating parties first negotiate a symmetric key for encrypting the data during the communication process. This key can be generated using a random number generator. Then, the two communicating parties use the other party's public key to encrypt the symmetric key. The encrypted symmetric key can only be decrypted using the corresponding private key. In this way, the two communicating parties have safely exchanged symmetric keys and can use symmetric encryption algorithms to encrypt data during the communication process.
[0055] KEK is usually a longer and more secure key used to encrypt and protect the Data Encryption Key (DEK). DEK is a symmetric key used to encrypt and decrypt actual data. In encrypted communications, KEK is usually used to encrypt DEK, and then DEK is used to encrypt and decrypt actual data in the communication. This method can improve the security of communications because DEK can be changed frequently while KEK can remain unchanged. If DEK is exposed or leaked, the communicating parties only need to change DEK without changing KEK, which can reduce the number of times the key is renegotiated between the communicating parties.
[0056] (10) Symmetric encryption: It is a type of encryption, also known as key encryption. In symmetric encryption, the sender and receiver use the same key to encrypt and decrypt data. The advantage of symmetric encryption is that it is fast and suitable for encryption and decryption of large amounts of data. But its disadvantage is that the key needs to be shared between the sender and the receiver, so the security of the key needs to be ensured. If the key is leaked, the confidentiality of the encrypted data will be destroyed. Common symmetric encryption algorithms include DES, 3DES, AES, etc. Among them, AES is one of the most commonly used symmetric encryption algorithms. It has the advantages of high strength, high speed and versatility, and is widely used in protecting data security.
[0057] (11) Asymmetric encryption: It is a type of encrypted communication, also known as public key encryption. In this method, different keys are used for encryption and decryption, namely public key and private key respectively. The sender uses the public key of the receiver to encrypt the data, and the receiver uses his own private key to decrypt the data. The advantage of asymmetric encryption is that it can ensure the security of the key, because the private key is only known to the receiver and the sender cannot obtain the private key. This method is suitable for encryption and decryption of small amounts of data, such as passwords, digital signatures, and secure identity authentication. At the same time, the disadvantages of asymmetric encryption are high computational complexity and slow speed, and it is not suitable for encryption and decryption of large amounts of data. Therefore, in practical applications, asymmetric encryption is usually used in combination with symmetric encryption to balance security and efficiency.
[0058] In related technologies, different systems are used on and off the chain, which, on the one hand, increases the complexity of the system architecture and increases the development workload; on the other hand, there are more application interfaces between institutions and more open network ports, which increases the complexity of operation and maintenance; furthermore, the information interaction between the two systems is more complex than the interaction between modules of the same system, and data consistency also requires additional processing to be guaranteed, which increases the difficulty of development.
[0059] However, some collaborative processes between institutions need to be carried out off-chain to ensure privacy, such as cost accounting, bargaining process, process negotiation, signing of additional agreements, etc., which are consistent with the design of traditional institutional dedicated line systems; but the final agreement reached may need to be open and transparent, which is consistent with the characteristics of blockchain. In combination with the above requirements, the embodiment of the present application expands the function of blockchain nodes so that blockchain nodes have both open and transparent characteristics and privacy protection functions. In other words, the embodiment of the present application reuses the communication channel of the blockchain network, so that the business system can handle off-chain collaboration and complete on-chain interactions; one system can complete business functions, simplify the system architecture, reduce development difficulty and workload, and at the same time reduce network exposure and reduce operation and maintenance difficulties.
[0060] The information transmission method based on blockchain provided in the embodiment of the present application is applied to an information transmission system, wherein the information transmission system includes a blockchain system and a business system independent of the blockchain system, wherein the blockchain system includes at least an observer node, and the business system includes at least a first business node and a second business node. First, an information transmission request sent by the first business node is received through the observer node, wherein the information transmission request includes the identity authentication information of the first business node; then, the identity authentication information is forwarded to the second business node, so that the first business node is authenticated based on the identity authentication information by the second business node to obtain an identity authentication result; then, in response to the identity authentication result being a successful identity authentication, a message to be transmitted and identification information of a target recipient sent by the second business node are received; the target recipient is a node in the business system; finally, the message to be transmitted is forwarded to the target recipient corresponding to the identification information. In this way, it is possible to provide a communication channel for the off-chain collaboration of the business system through the observer node, thereby connecting the blockchain system and the business system, so that the business system can handle both off-chain collaboration and on-chain interaction; all business functions can be completed through an information transmission system, thereby simplifying the system architecture, reducing development difficulty and workload, while reducing network exposure and reducing operation and maintenance difficulty.
[0061] Before explaining the blockchain-based information transmission method of the embodiment of the present application, the information transmission system provided by the embodiment of the present application is first described.
[0062] The present application provides an information transmission system. Figure 1 is a schematic diagram of the structure of the information transmission system provided in the embodiment of the present application, such as Figure 1 As shown, the information transmission system 10 includes a blockchain system 101 and a business system 102 independent of the blockchain system. The blockchain system 101 includes at least an observer node 1011, and the business system 102 includes at least a first business node 1021, a second business node 1022, and a target receiver 1023. It should be noted that in some embodiments, the target receiver 1023 can be the same node as the first business node 1021, or a different node.
[0063] Here, the observer node 1011 is used to receive an information transmission request sent by the first business node 1021, which includes the identity authentication information of the first business node 1021; the observer node 1011 forwards the identity authentication information to the second business node 1022, so that the second business node 1022 performs identity authentication on the first business node 1021 based on the identity authentication information to obtain an identity authentication result; in response to the identity authentication result being that the identity authentication is passed, the observer node 1011 receives the message to be transmitted sent by the second business node 1022 and the identification information of the target recipient 1023; the target recipient 1023 is a node in the business system; the observer node 1011 forwards the message to be transmitted to the target recipient 1023 corresponding to the identification information.
[0064] In the embodiment of the present application, the observer node 1011 is a node in the blockchain system 101, and the blockchain system 101 includes a blockchain, wherein there are multiple blockchain nodes on the blockchain. The observer node 1011 can be a blockchain node on the blockchain, and the blockchain node has the function of enabling the node in the business system 102 to communicate with the blockchain node in the blockchain system 101, that is, the blockchain node can build a communication channel between the business system 102 and the blockchain system 101; or, the observer node 1011 can also be a node that is different from other blockchain nodes and is dedicated to building a communication channel between the business system 102 and the blockchain system 101, that is, the observer node 1011 can enable the node in the business system 102 to communicate with the blockchain node in the blockchain system 101.
[0065] Figure 2 This is an architecture diagram of the blockchain system provided by the embodiment of the present application, such as Figure 2 As shown, the blockchain system 20 consists of a data layer 13, a network layer 14, a consensus layer 15, an incentive layer 16, a contract layer 17 and an application layer 18.
[0066] The data layer 13 encapsulates the chain structure of the underlying data blocks, as well as related asymmetric public and private key data encryption technology and timestamp technology. Among them, the data layer 13 not only encapsulates the chain structure of the identity data blocks of each business node (the identity data block here refers to the data block formed by different types of identity data such as personal identity data, application identity data, device identity data and institutional identity data), but also encapsulates the chain structure of the identity data block of the observer node. The data layer 13 is the bottom-level data structure in the entire blockchain system. The network layer 14 includes distributed networking mechanisms, data dissemination mechanisms and data verification mechanisms. Since a completely P2P networking technology is adopted, it means that the blockchain has an automatic networking function. The consensus layer 15 mainly encapsulates various consensus mechanism algorithms of each node in the blockchain system. The consensus mechanism algorithm is the core technology of blockchain technology, because it determines who will do the bookkeeping, and the bookkeeper selection method will affect the security and reliability of the entire system. The incentive layer 16 integrates economic factors into the blockchain technology system, mainly including the issuance mechanism and distribution mechanism of economic incentives. The incentive mechanism is often also a game mechanism, which makes more rule-abiding nodes willing to keep accounts. The contract layer 17 mainly encapsulates various scripts, algorithms and smart contracts, and is the basis of the programmable characteristics of the blockchain. The application layer 18 encapsulates various application scenarios and cases of the blockchain, such as various blockchain applications are deployed in the application layer. Among them, the data layer, network layer and consensus layer are necessary factors for building blockchain applications, otherwise it cannot be called a real blockchain. The incentive layer, contract layer and application layer are not necessary factors for every blockchain application. Some blockchain applications do not fully contain these three layers.
[0067] In some embodiments, the above blockchain system may also be a distributed system 201 of the blockchain system, see Figure 3 , Figure 3 This is an optional structural diagram of a distributed system 201 provided in an embodiment of the present application, wherein the distributed system 201 may be a distributed node formed by multiple nodes 202 (any form of computing devices in the access network, such as servers, user terminals) and clients 203, and a P2P network is formed between the nodes. The P2P protocol is an application layer protocol running on the Transmission Control Protocol (TCP) protocol. In a distributed system, any machine such as a server or a terminal can join and become a node, and the node includes a hardware layer, an intermediate layer, an operating system layer, and an application layer.
[0068] It should be noted that the node 202 in the distributed system 201 can be an observer node or other blockchain nodes, that is, when the node 202 is an observer node, the node 202 can be used to receive the information transmission request sent by the first business node in the business system, and forward the identity authentication information to the second business node in the business system, so that the second business node can authenticate the first business node based on the identity authentication information to obtain the identity authentication result; it can also be used to respond to the identity authentication result that the identity authentication is passed, receive the message to be transmitted sent by the second business node and the identification information of the target recipient; and forward the message to be transmitted to the target recipient corresponding to the identification information. When the node 202 is another blockchain node, the node 202 can be used to store data on the chain, or to interact with the nodes in the business system to achieve corresponding data processing.
[0069] See also Figure 3 The functions of each node in the blockchain system shown in the figure are introduced in detail below: 1) Routing, the basic function of the node, used to support communication between nodes. In addition to the routing function, the node can also have the following functions: 2) Application, used to be deployed in the blockchain, to implement specific services according to actual business needs, to record the data related to the implementation of the function to form record data, to carry a digital signature in the record data to indicate the source of the task data, and to send the record data to other nodes in the blockchain system for other nodes to add the record data to the temporary block when they successfully verify the source and integrity of the record data.
[0070] See also Figure 4 , Figure 4 It is an optional schematic diagram of the block structure (Block Structure) provided in an embodiment of the present application. Each block includes the hash value of the transaction record stored in this block (the hash value of this block) and the hash value of the previous block. Each block is connected by the hash value to form a blockchain. In addition, the block may also include information such as the timestamp when the block was generated. Blockchain (Blockchain), essentially a decentralized database, is a string of data blocks generated by cryptographic methods. Each data block contains relevant information for verifying the validity of its information (anti-counterfeiting) and generating the next block. In some embodiments, each block may also include a block header.
[0071] The following describes an exemplary application of the information transmission device based on blockchain of the embodiment of the present application, which is an electronic device for implementing the information transmission method based on blockchain. In one implementation, the information transmission device based on blockchain provided in the embodiment of the present application (i.e., electronic device) can be implemented as an observer node (i.e., the above-mentioned node 202) in the blockchain system, wherein the observer node can be a laptop, tablet computer, desktop computer, mobile phone, portable music player, personal digital assistant, dedicated messaging device, portable game device, intelligent robot, smart home appliance and smart vehicle-mounted device, etc., any terminal with data transmission and processing functions; in another implementation, the information transmission device based on blockchain provided in the embodiment of the present application can also be implemented as a server, wherein the server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content distribution networks (CDN, Content Delivery Network), and cloud servers for basic cloud computing services such as big data and artificial intelligence platforms. The terminal and the server can be directly or indirectly connected by wired or wireless communication, which is not limited in the embodiment of the present application. Below, an exemplary application in which a blockchain-based information transmission device is implemented as an observer node and the observer node is implemented as a server will be described.
[0072] See also Figure 5 , Figure 5 is a schematic diagram of the structure of an electronic device (ie, an observer node) provided in an embodiment of the present application, Figure 5 The electronic device shown may be a blockchain-based information transmission device, which includes: at least one processor 310, a memory 350, at least one network interface 320, and a user interface 330. The various components in the blockchain-based information transmission device are coupled together through a bus system 340. It is understood that the bus system 340 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 340 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, in Figure 5 Various buses are labeled as bus system 340 .
[0073] The processor 310 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., where the general-purpose processor can be a microprocessor or any conventional processor, etc.
[0074] The user interface 330 includes one or more output devices 331 that enable presentation of media content, and one or more input devices 332 .
[0075] The memory 350 may be removable, non-removable or a combination thereof. Exemplary hardware devices include solid-state memory, hard disk drive, optical disk drive, etc. The memory 350 may optionally include one or more storage devices physically away from the processor 310. The memory 350 includes a volatile memory or a non-volatile memory, and may also include both volatile and non-volatile memory. The non-volatile memory may be a read-only memory (ROM), and the volatile memory may be a random access memory (RAM). The memory 350 described in the embodiment of the present application is intended to include any suitable type of memory. In some embodiments, the memory 350 can store data to support various operations, and examples of these data include programs, modules, and data structures or subsets or supersets thereof, as exemplarily described below.
[0076] An operating system 351 includes system programs for processing various basic system services and performing hardware-related tasks, such as a framework layer, a core library layer, a driver layer, etc., for implementing various basic businesses and processing hardware-based tasks; a network communication module 352 is used to reach other computing devices via one or more (wired or wireless) network interfaces 320. Exemplary network interfaces 320 include: Bluetooth, wireless compatibility certification (WiFi), and Universal Serial Bus (USB), etc.; an input processing module 353 is used to detect one or more user inputs or interactions from one of the one or more input devices 332 and translate the detected inputs or interactions.
[0077] In some embodiments, the device provided in the embodiments of the present application can be implemented in software. Figure 5 A blockchain-based information transmission device 354 stored in a memory 350 is shown. The blockchain-based information transmission device 354 can be a blockchain-based information transmission device in an electronic device, which can be software in the form of a program and a plug-in, including the following software modules: a receiving module 3541 and an information forwarding module 3542. These modules are logical, so they can be arbitrarily combined or further split according to the functions implemented. The functions of each module will be described below.
[0078] In other embodiments, Figure 5The electronic device shown may also be a node in a service system, for example, a first service node, a second service node, or a target recipient.
[0079] In some embodiments, the device provided in the embodiments of the present application can be implemented in hardware. As an example, the device provided in the embodiments of the present application can be a processor in the form of a hardware decoding processor, which is programmed to execute the blockchain-based information transmission method provided in the embodiments of the present application. For example, the processor in the form of a hardware decoding processor can adopt one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field programmable gate arrays (FPGAs) or other electronic components.
[0080] This application can also use cloud technology to implement a blockchain-based information transmission method, where cloud technology (Cloudtech nology) refers to a hosting technology that unifies a series of resources such as hardware, software, and networks in a wide area network or a local area network to achieve data calculation, storage, processing, and sharing. Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model application. It can form a resource pool, which is used on demand, flexible and convenient. Cloud computing technology will become an important support. The background services of the technical network system require a large amount of computing and storage resources, such as video websites, picture websites, and more portal websites. With the high development and application of the Internet industry, each item may have its own identification mark in the future, and all need to be transmitted to the background system for logical processing. Data of different levels will be processed separately, and all kinds of industry data require strong system backing support, which can only be achieved through cloud computing.
[0081] In some embodiments, data storage can also be performed on information such as messages to be transmitted. In the process of storing data for messages to be transmitted, cloud storage technology can be used. Cloud storage is a new concept extended and developed from the concept of cloud computing. A distributed cloud storage system refers to a storage system that uses cluster applications, grid technology, and distributed storage file systems to bring together a large number of storage devices of various types (storage devices are also called storage nodes) in the network through application software or application interfaces to work together and provide external data storage and business access functions.
[0082] In other embodiments, data query can be performed on the message to be transmitted. The solution for data query on the message to be transmitted can be implemented by using a database in cloud technology, wherein the database can be regarded as an electronic filing cabinet, that is, a place to store electronic files, and users can add, query, update, etc. the data in the file. The so-called "database" is a collection of data stored together in a certain way, which can be shared with multiple users, has as little redundancy as possible, and is independent of the application.
[0083] The following will be combined with the exemplary application and implementation of the node 202 and the information transmission system 10 provided in the embodiment of the present application to illustrate the information transmission method based on blockchain provided in the embodiment of the present application. The information transmission method based on blockchain provided in each embodiment of the present application can be executed by an observer node in the information transmission system, wherein the observer node can be implemented as a server or as a terminal, that is, the information transmission method based on blockchain in each embodiment of the present application can be executed by a server, can be executed by a terminal, or can be executed by interaction between a server and a terminal.
[0084] Figure 6 This is an optional flowchart of the information transmission method based on blockchain provided in the embodiment of the present application. Figure 6 The steps shown are explained as Figure 6 As shown, the method includes the following steps S101 to S104:
[0085] Step S101: receiving, through an observer node, an information transmission request sent by a first service node, where the information transmission request includes identity authentication information of the first service node.
[0086] In the embodiment of the present application, the observer node is a node in the blockchain system, which includes a blockchain, wherein there are multiple blockchain nodes on the blockchain. The observer node can be a blockchain node on the blockchain, which has the function of enabling the node in the business system to communicate with the blockchain node in the blockchain system, that is, the blockchain node can build a communication channel between the business system and the blockchain system; or, the observer node can also be a node that is different from other blockchain nodes and is dedicated to building a communication channel between the business system and the blockchain system, that is, the observer node can enable the node in the business system to communicate with the blockchain node in the blockchain system.
[0087] In an embodiment of the present application, in order to realize communication between the first business node and the second business node in the business system, and to ensure the authenticity and reliability of the data through the process, it is necessary to perform trusted identity authentication based on the blockchain. Therefore, the blockchain-based information transmission method of the embodiment of the present application is adopted, and the information transmission request sent by the first business node is received through the observer node.
[0088] When the first service node sends an information transmission request, it can carry its own identity authentication information in the information transmission request, and the observer node can authenticate the first service node based on the identity authentication information. In addition, the observer node can also determine a target node for receiving and responding to the information transmission request based on the information transmission request, and the target node is the second service node. When the observer node sends the information transmission request of the first service node to the second service node, the second service node can also authenticate the first service node based on the identity authentication information carried in the information transmission request.
[0089] Step S102: forward the identity authentication information to the second service node, so that the second service node performs identity authentication on the first service node based on the identity authentication information to obtain an identity authentication result.
[0090] In the embodiment of the present application, the observer node may forward the identity authentication information to the second service node after the identity authentication is performed on the first service node and the identity authentication is passed, so that the second service node can perform identity authentication on the first service node based on the identity authentication information to obtain the identity authentication result. When the identity authentication information is sent to the second service node, the information transmission request sent by the first service node may be forwarded to the second service node, and the second service node responds to the information transmission request sent by the observer node, parses and obtains the identity authentication information, and then performs identity authentication on the first service node based on the identity authentication information to obtain the identity authentication result.
[0091] Step S103: in response to the identity authentication result being that the identity authentication is passed, receiving the message to be transmitted and the identification information of the target recipient sent by the second service node.
[0092] Here, the target recipient is a node in the service system. In the embodiment of the present application, if the identity authentication result is that the identity authentication is passed, the second service node obtains the message to be transmitted corresponding to the information transmission request of the first service node and the identification information of the target recipient for receiving the message to be transmitted.
[0093] In an embodiment of the present application, the information transmission request may include a message identifier of the message to be transmitted, and the second business node may determine the message to be transmitted based on the message identifier. In addition, a mapping relationship between the message to be transmitted and the target recipient may be stored, and the identification information of the target recipient may be determined based on the mapping relationship; alternatively, the information transmission request may also include identification information of a target receiving method for receiving and responding to the message to be transmitted, and the information transmission request may be parsed to directly obtain the identification information of the target recipient.
[0094] After acquiring the message to be transmitted and the identification information of the target recipient, the second service node may send the message to be transmitted and the identification information of the target recipient to the observer node, and forward the message to be transmitted to the target recipient through the observer node.
[0095] Step S104: forward the message to be transmitted to the target recipient corresponding to the identification information.
[0096] In some embodiments, the node corresponding to the target receiver may be the same node as the first service node, or may be a different node. When the first service node requests itself to process the message to be transmitted, the observer node sends the message to be transmitted to the first service node, and the first service node executes the operation and processing flow corresponding to the message to be transmitted to obtain the service processing result; when the first service node requests that other nodes (i.e., the node corresponding to the target receiver) process the message to be transmitted, the observer node sends the message to be transmitted to the node corresponding to the target receiver, and the target receiver executes the operation and processing flow corresponding to the message to be transmitted to obtain the service processing result.
[0097] In an embodiment of the present application, an information transmission request sent by a first business node is received by an observer node, and then an information transmission request is sent to a second business node to request the message to be transmitted, and a target recipient who executes the message to be transmitted is determined, so that the processing flow corresponding to the message to be transmitted is executed by the target recipient to obtain a business processing result. In this way, the entire business processing flow is realized, and the first business node that sends the information transmission request and the target recipient that processes the message to be transmitted are both nodes outside the blockchain system, that is, the business processing flow is an off-chain business flow; and the observer node is a node in the blockchain system, that is, when performing the identity authentication process, it will be implemented based on the blockchain node in the blockchain system. This process is an on-chain processing flow, and the first business node, the blockchain system, the second business node and the target recipient are connected through the observer node, thereby opening up the data channel between the off-chain and the on-chain.
[0098] In the embodiment of the present application, the information transmission system for implementing the information transmission method includes a blockchain system and a business system independent of the blockchain system, the blockchain system includes at least an observer node, and the business system includes at least a first business node and a second business node, the observer node can receive the information transmission request sent by the first business node, and can forward the identity authentication information to the second business node, so as to authenticate the first business node based on the identity authentication information through the second business node, and obtain the identity authentication result; it can also receive the message to be transmitted and the identification information of the target recipient sent by the second business node; thereby forwarding the message to be transmitted to the target recipient corresponding to the identification information. In this way, it is realized that the observer node provides a communication channel for the off-chain collaboration of the business system, thereby connecting the blockchain system and the business system, so that the business system can handle off-chain collaboration and complete on-chain interaction; through an information transmission system, the full amount of business functions can be completed, thereby simplifying the system architecture, reducing the difficulty and workload of development, and reducing the network exposure and the difficulty of operation and maintenance.
[0099] In some embodiments, the blockchain-based information transmission method can be applied to an information transmission system, which includes a blockchain system and a business system independent of the blockchain system, wherein the blockchain system includes at least an observer node; the business system includes at least a first business node, a second business node, and a node of the target recipient.
[0100] The following will take the information transmission system including an observer node, a first business node, a second business node and a target recipient as an example to illustrate the blockchain-based information transmission method of an embodiment of the present application.
[0101] Figure 7 is another optional flow chart of the information transmission method based on blockchain provided in the embodiment of the present application, such as Figure 7 As shown, the method includes the following steps S201 to S215:
[0102] Step S201: A first service node sends an information transmission request to an observer node, where the information transmission request includes identity authentication information of the first service node.
[0103] Step S202: The observer node forwards the identity authentication information to the second service node.
[0104] In some embodiments, the information transmission request may be a topic subscription request, which is used to request to subscribe to the topic information published by the second service node. The process of the second service node publishing a topic will be described below.
[0105] Step S203: The second service node determines whether the topic subscription request is the latest request in the current time period based on the identity authentication information, and obtains a first authentication result.
[0106] In some embodiments, the blockchain system also includes a blockchain node; the identity authentication information includes the identity information of the first business node and the current block header; the current block header is the block header of the latest block queried by the first business node from the blockchain node or from the observer node, that is, the current block header is the block header of the latest block queried from the blockchain, and the block header of the latest block can be used to determine whether the topic subscription request is the latest request in the current time period. In this way, it is possible to prevent a third-party node (i.e., the first business node) from using an old topic subscription request, which is a request that the real business party has already unsubscribed from, or an expired subscription request that has not been issued.
[0107] In some embodiments, step S203 can be implemented in the following manner: based on the current block header, determine whether the subject subscription request is the latest request in the current time period, and obtain the first authentication result, that is, based on the current block header, determine whether the first service node sends the subject subscription request in the recent period of time, that is, whether it is a new subject subscription request. If the current block header is not the block header in the latest block on the blockchain, it indicates that the subject subscription request is not the latest request in the current time period.
[0108] Step S204: the second service node determines a target recipient of the message to be transmitted.
[0109] Here, the target recipient of the message to be transmitted may be determined based on the identity information. The identity information is used to identify the identity of the intended recipient, that is, to identify the identity of the target recipient. The identification information of the target recipient may be determined through the identity information.
[0110] Step S205: The second service node performs identity authentication on the target recipient to obtain a second authentication result.
[0111] Here, authenticating the target recipient may determine whether the identity of the target recipient is legal and whether the target recipient is an accurate information recipient, thereby obtaining a second authentication result. The first authentication result and the second authentication result constitute an identity authentication result after authenticating the first service node.
[0112] Step S206, in response to the first authentication result being that the topic subscription request is the latest request in the current time period, and the second authentication result being that the identity authentication of the target recipient is successful, the second service node determines that the identity authentication result is successful.
[0113] Step S207: The second service node determines the message to be transmitted and identification information of the target recipient.
[0114] Step S208: The second service node sends the message to be transmitted and identification information of the target recipient to the observer node.
[0115] Here, when the identity authentication result is that the identity authentication is passed, the second service node determines the message to be transmitted and the identification information of the target recipient, and further sends the message to be transmitted and the identification information of the target recipient to the observer node.
[0116] Step S209: The observer node forwards the message to be transmitted to the target recipient corresponding to the identification information.
[0117] In some embodiments, the node corresponding to the target receiver may be the same node as the first service node, or may be a different node. When the first service node requests itself to process the message to be transmitted, the observer node sends the message to be transmitted to the first service node, and the first service node executes the operation and processing flow corresponding to the message to be transmitted to obtain the service processing result; when the first service node requests that other nodes (i.e., the node corresponding to the target receiver) process the message to be transmitted, the observer node sends the message to be transmitted to the node corresponding to the target receiver, and the target receiver executes the operation and processing flow corresponding to the message to be transmitted to obtain the service processing result.
[0118] In an embodiment of the present application, the first service node sends an information transmission request to the observer node, and forwards the information transmission request to the second service node through the observer node. After the second service node authenticates the first service node, the second service node determines the identification information of the message to be transmitted and the target recipient, and sends the identification information of the message to be transmitted and the target recipient to the observer node, so that the message to be transmitted is forwarded to the target recipient corresponding to the identification information through the observer node, so that the target recipient executes the processing flow corresponding to the message to be transmitted to obtain the business processing result. Among them, before the target recipient executes the processing flow corresponding to the message to be transmitted, it will also verify the message to be transmitted, and execute the processing flow corresponding to the message to be transmitted after the verification is passed.
[0119] In some embodiments, the observer node and each service node in the service system may also apply for a certificate from a certificate authority platform.
[0120] The certificate is issued by the certificate authority platform. It is the technical basis for digital signatures and the proof of the identity of online entities. It can prove the identity of the business node and the legitimacy of its public key, and prove the matching relationship between the business node and the public key. The certificate is the carrier of the public key, and the public key on the certificate is bound to the entity business node. In the e-commerce system, all entity certificates are issued and signed by the Certificate Authority (CA) center. A complete and secure e-commerce system must establish a complete and reasonable CA system. The CA system consists of a certificate approval department and a certificate operation department.
[0121] Before executing the blockchain-based information transmission method of the embodiment of the present application, the observer node, each blockchain node in the blockchain system, and each business node in the business system can apply for a certificate from the certificate authorization platform.
[0122] Figure 8 It is a schematic diagram of the implementation process of the certificate application method provided in the embodiment of the present application, such as Figure 8 As shown, the method includes the following steps S301 to S310:
[0123] Step S301: The observer node sends a certificate application request to a certificate authority platform.
[0124] The certificate request carries the public key and organization information of the observer node. The certificate request is used to request the observer node's certificate. Here, the organization information is the organization information corresponding to the observer node's organization.
[0125] Step S302: The certificate authorization platform performs information authentication on the certificate application request of the observer node and obtains an information authentication result.
[0126] Here, the legitimacy of the observer node's certificate application request, the accuracy and completeness of the request information can be verified to obtain the information authentication result.
[0127] Step S303: In response to the information authentication result of the observer node being successful, the certificate authority platform generates a certificate for the observer node.
[0128] Here, the certificate of the observer node includes at least the observer node's public key, organizational information, personal information, information of the issuing authority (i.e., the certificate authority platform), validity period, certificate serial number and other plain text information, and may also include a signature. The signature generation algorithm is: first, the information summary of the public plain text information is calculated using a hash function, and then the information summary is encrypted using the private key of the certificate authority platform, and the ciphertext is the signature.
[0129] Step S304: the certificate authority platform sends the certificate of the observer node to the observer node.
[0130] In some embodiments, after the certificate authority platform sends the certificate of the observer node to the observer node, the observer node can read the relevant plaintext information in the certificate, use the same hash function as when generating the signature in the certificate to calculate the information summary, and then use the public key of the corresponding certificate authority platform to decrypt the signature data and compare the information summary of the certificate. If they are consistent, the legitimacy of the certificate can be confirmed, that is, the public key is legal. Then, the observer node can also verify the domain name information, validity period and other information related to the certificate.
[0131] Step S305, the observer node uploads the certificate to the blockchain of the blockchain system.
[0132] In an embodiment of the present application, after applying for a certificate, the observer node can store the certificate in the blockchain, so that in subsequent scenarios where the observer node's certificate and public key are needed for information verification, the observer node's certificate can be directly obtained from the blockchain.
[0133] Step S306, each business node in the business system ( Figure 8 Only one business node is shown as an example) sends a certificate application request to the certificate authority platform.
[0134] The certificate application request carries the public key and organization information of the corresponding business node. The certificate application request is used to request the certificate of the corresponding business node.
[0135] Step S307: The certificate authorization platform performs information authentication on the certificate application request of each business node to obtain an information authentication result.
[0136] Here, the legitimacy of the certificate application request of each business node, the accuracy and completeness of the request information can be verified, thereby obtaining the information authentication result.
[0137] Step S308: In response to the information authentication result of any service node being information authentication passed, the certificate authority platform generates a certificate for the service node.
[0138] Here, the certificate of the service node includes at least the public key of the service node.
[0139] Step S309: The certificate authorization platform sends the service node certificate to the corresponding service node.
[0140] Step S310: The business node uploads the certificate to the blockchain of the blockchain system.
[0141] In an embodiment of the present application, after each business node applies for a certificate, it can store the certificate in the blockchain, so that in subsequent scenarios where the certificate and public key of any business node are needed for information verification, the certificate of the business node can be directly obtained from the blockchain.
[0142] In some embodiments, see Figure 7 After step S209, the method may further include the following steps:
[0143] Step S210: The target recipient obtains the certificate of the second business node from the blockchain.
[0144] Here, the stored certificate of the second business node can be queried from the blockchain.
[0145] Step S211: The target receiver obtains the public key of the second service node from the certificate of the second service node.
[0146] In the embodiment of the present application, the public key of the second service node can be extracted from the certificate of the second service node.
[0147] Step S212: The target recipient obtains the signature public key of the message to be transmitted.
[0148] Here, the signature public key is the public key used by the second service node to encrypt the message to be transmitted before sending it to the observer node. That is to say, after obtaining the message to be transmitted, the second service node first uses its own public key to encrypt the message to be transmitted, obtains the encrypted message to be transmitted, and sends the encrypted message to be transmitted to the observer node, which then sends the encrypted message to be transmitted to the target recipient.
[0149] In the embodiment of the present application, it can be determined that the second service node sends the encrypted message to be transmitted, thereby obtaining the public key of the second service node and obtaining the signature public key of the message to be transmitted.
[0150] Step S213: The target recipient determines whether the public key of the second service node is the same as the signature public key of the message to be transmitted.
[0151] If the judgment result is yes, execute step S214; if the judgment result is no, end the process.
[0152] Step S214: The target recipient determines that the message to be transmitted comes from the correct information sender.
[0153] If the public key of the second service node is the same as the signature public key of the message to be transmitted, it indicates that the message to be transmitted comes from the correct sender. If the public key of the second service node is different from the signature public key of the message to be transmitted, it indicates that the message to be transmitted comes from the wrong sender, so the process ends.
[0154] Step S215: The target recipient executes the processing flow corresponding to the message to be transmitted and obtains a service processing result.
[0155] Fig. 9 This is another optional flow chart of the information transmission method based on blockchain provided in the embodiment of the present application, such as Fig. 9 As shown, the method includes the following steps S401 to S416:
[0156] Step S401: A first service node sends an information transmission request to an observer node, where the information transmission request includes identity authentication information of the first service node.
[0157] Step S402: The observer node obtains the information signature of the first service node from the information transmission request.
[0158] Step S403: The observer node verifies the information integrity of the information transmission request based on the information signature to obtain an integrity verification result.
[0159] Here, the information integrity of the information transmission request is verified. The fields of the information transmission request can be parsed to determine whether the information transmission request includes identity authentication information, and whether the identity authentication information includes the identity information of the first business node and the current block header. If both are included, it indicates that the new word transmission request is complete, and the integrity verification result is complete information.
[0160] In some embodiments, the information transmission request may be a topic subscription request.
[0161] In an embodiment of the present application, the first service node, the observer node, and the second service node may interact with each other based on the publish-subscribe model. The publish-subscribe model is a software architecture model used to build a loosely coupled communication mechanism between different components. In this model, the publisher sends messages to one or more topics, and the subscriber can choose to subscribe to one or more topics to receive messages related to the topics.
[0162] The publish-subscribe model usually consists of three parts: publisher (second business node), subscriber (first business node) and message broker (observer node). The publisher is responsible for publishing messages to one or more topics, the message broker is responsible for receiving and distributing messages, and the subscriber is responsible for receiving messages from one or more topics. In the publish-subscribe model, there is no direct dependency between publishers and subscribers, they only rely on the message broker. This loosely coupled communication mechanism makes the publish-subscribe model very suitable for building distributed systems and microservice architectures, because it can decouple the communication between different components, thereby improving the scalability and maintainability of the system.
[0163] Step S404, the observer node obtains the current block header from the identity authentication information.
[0164] The current block header is the block header of the latest block queried by the first business node from the blockchain node or from the observer node.
[0165] In some embodiments, before sending an information transmission request to the observer node, the first business node needs to query the block header of the latest block from the blockchain. The block header of the latest block can be queried from the blockchain node or from the observer node, and then the block header of the latest block is carried in the information transmission request and sent to the observer node.
[0166] Step S405: The observer node determines whether the topic subscription request is the latest request in the current time period based on the current block header, and obtains the request authentication result.
[0167] Step S406, in response to the integrity verification result being that the information in the information transmission request is complete, and the request authentication result being that the authentication is passed, the observer node records the network connection information of the first service node.
[0168] Step S407, adding the signature of the observer node to the information transmission request to obtain a signed information transmission request; the signed information transmission request includes identity authentication information.
[0169] Step S408: Based on the network connection information, the observer node sends the signed information transmission request to the second service node.
[0170] The network connection information is used to record any information related to the network connection of the first service node, such as the network connection mode and network connection status of the first service node.
[0171] Step S409: The second service node obtains the signature of the observer node and the information signature of the first service node carried in the signed information transmission request.
[0172] Step S410: The second service node verifies the accuracy of the requested information on the signed information transmission request based on the signature of the observer node and the information signature of the first service node to obtain an information verification result.
[0173] Step S411, in response to the information verification result being verification passed, the second business node obtains the public keys corresponding to the signature of the observer node and the information signature of the first business node.
[0174] Step S412: The second service node obtains the certificate of the observer node and the certificate of the first service node, as well as the public key in the certificate of the observer node and the public key in the certificate of the first service node.
[0175] Step S413, the second business node verifies the source accuracy of the signed information transmission request based on the public keys corresponding to the signature of the observer node and the information signature of the first business node, the public key in the certificate of the observer node, and the public key in the certificate of the first business node, and obtains a source verification result.
[0176] Step S414, in response to the source verification result being verified as passed, the second service node obtains the message to be transmitted corresponding to the signed information transmission request and the identification information of the target recipient.
[0177] Step S415: The second service node sends the message to be transmitted and identification information of the target recipient to the observer node.
[0178] Step S416: The observer node forwards the message to be transmitted to the target recipient corresponding to the identification information.
[0179] The blockchain-based information transmission method provided in the embodiment of the present application provides a communication channel for the off-chain collaboration of the business system through the observer node, thereby connecting the blockchain system and the business system, so that the business system can handle both off-chain collaboration and on-chain interaction; all business functions can be completed through one information transmission system, thereby simplifying the system architecture, reducing development difficulty and workload, while reducing network exposure and reducing operation and maintenance difficulty.
[0180] Fig.10 This is another optional flow chart of the information transmission method based on blockchain provided in the embodiment of the present application, such as Fig.10 As shown, the method includes the following steps S501 to S513:
[0181] Step S501: The second service node obtains subject information and a data encryption key.
[0182] Step S502: The second service node encrypts the subject information using the data encryption key to obtain encrypted subject information.
[0183] Step S503: The second service node obtains the public key of the first service node.
[0184] Step S504: The second service node uses the public key of the first service node to encrypt the data encryption key to obtain an encrypted data encryption key.
[0185] Step S505: The second service node performs information packaging processing on the encrypted subject information and the encrypted data encryption key to obtain a digital envelope.
[0186] Here, digital envelope refers to the process of encrypting plaintext data using an encryption algorithm in digital communication, and then attaching some metadata (such as digital signatures, timestamps, etc.) to package them together into a whole. This whole is called a digital envelope. The role of a digital envelope is to ensure that the confidentiality, integrity, and authentication of data are guaranteed during the data transmission process. The recipient can verify the authenticity and integrity of the data based on the metadata in the digital envelope, and use the corresponding decryption algorithm to decrypt the encrypted data. Digital envelopes are widely used in the field of information security. For example, in scenarios such as e-mails and electronic contracts, digital envelopes are needed to ensure the secure transmission of data.
[0187] Step S506: The second service node sends the digital envelope to the observer node.
[0188] Step S507: The observer node sends the digital envelope to the first service node.
[0189] Step S508: The first service node obtains the signature public key of the second service node.
[0190] Step S509: The first service node obtains the certificate corresponding to the signature public key, and searches for the organization information from the certificate.
[0191] Step S510: The first service node performs sender identity authentication on the second service node based on the organization information to obtain a sender identity authentication result.
[0192] Step S511 , in response to the sender's identity authentication result being a successful authentication, the first service node uses a private key corresponding to the public key of the first service node to decrypt the digital envelope and obtain a data encryption key.
[0193] Step S512: The first service node uses the data encryption key to decrypt the encrypted subject information to obtain the subject information.
[0194] Step S513: The first service node uses the subject information as an operation parameter, calls the service system to execute a processing flow corresponding to the subject information, and obtains a service processing result.
[0195] In some embodiments, the business system is called to execute the processing flow corresponding to the subject information to obtain the business processing result. This can be through the above steps S101 to S104, receiving the information transmission request sent by the first business node through the observer node, and then sending the information transmission request to the second business node to request the message to be transmitted, and determining the target recipient who executes the message to be transmitted, so that the target recipient executes the processing flow corresponding to the message to be transmitted to obtain the business processing result.
[0196] In other embodiments, calling the business system to execute the processing flow corresponding to the subject information to obtain the business processing result can be through the above steps S201 to S215, the first business node sends an information transmission request to the observer node, and forwards the information transmission request to the second business node through the observer node. After the second business node authenticates the first business node, the second business node determines the identification information of the message to be transmitted and the target recipient, and sends the identification information of the message to be transmitted and the target recipient to the observer node, so as to forward the message to be transmitted to the target recipient corresponding to the identification information through the observer node, thereby executing the processing flow corresponding to the message to be transmitted through the target recipient to obtain the business processing result. Among them, before the target recipient executes the processing flow corresponding to the message to be transmitted, it will also verify the message to be transmitted, and execute the processing flow corresponding to the message to be transmitted after the verification is passed.
[0197] In some other embodiments, calling the business system to execute the processing flow corresponding to the subject information to obtain the business processing result can also be through the above steps S401 to step S416, the first business node sends an information transmission request to the observer node, the observer node verifies the information integrity of the information transmission request and authenticates whether the information transmission request is the latest request in the current time period in turn, and when both verifications are passed, the observer node adds the signature of the observer node to the information transmission request to obtain the signed information transmission request; then the signed information transmission request is sent to the second business node. The second business node verifies the accuracy of the request information of the signed information transmission request, and verifies the accuracy of the source of the signed information transmission request. When both verification processes are verified, the second business node obtains the message to be transmitted and the identification information of the target recipient corresponding to the signed information transmission request, and sends the message to be transmitted and the identification information of the target recipient to the observer node, so that the observer node forwards the message to be transmitted to the target recipient corresponding to the identification information, thereby executing the processing flow corresponding to the message to be transmitted through the target recipient to obtain the business processing result.
[0198] The following is an explanation of an exemplary application of the embodiments of the present application in a practical application scenario.
[0199] The embodiment of the present application provides a blockchain-based information transmission method, which expands the functions of blockchain nodes so that off-chain businesses can also reuse on-chain information transmission channels, making on-chain and off-chain interactions unlinked; and making on-chain and off-chain collaboration almost the same; at the same time, it simplifies the system architecture, eliminating the need to integrate multiple applications, and a single system can complete all business functions.
[0200] Fig.11 is a system framework diagram of the information transmission method based on blockchain provided in the embodiment of the present application, such as Fig.11 As shown, the function of the observer node is expanded so that the observer node has the function of topic publishing and subscription, providing a communication channel for off-chain collaboration, and providing a blockchain SDK for the business system so that the business system can connect to the blockchain network and publish, subscribe and receive off-chain information.
[0201] In the solutions of related technologies, business nodes are directly connected to many-to-many. When more and more business systems are involved, the network connections between business systems become complicated, and the business systems have more and more access control setting items for each party, which is not easy to maintain and prone to errors and omissions, resulting in information leakage risks. In the solutions of related technologies, independent network connections are used between business networks and between business networks and blockchains. The connection protocols and message transmission formats of different business networks may be different. When the external cooperation of business systems increases, personalized connection protocols and message transmission formats will increase the complexity of the system, and the requirements for the technical stack of developers will also increase, which is more difficult to maintain.
[0202] In the embodiment of the present application, the observer node is used as a bridge to provide services to each business system in a one-to-many form. The business systems are no longer directly connected. The business system only needs to be connected to the observer node. At this time, a unified standard transmission protocol can be used to save communication costs. Fig.12 As shown, it is a schematic diagram comparing the solutions of the related technology and the embodiment of the present application. In the related technology (see Fig.12 A in the figure), the business system is directly connected to many, and the business system is connected to the blockchain; and in the embodiment of the present application (see Fig.12 (Figure B in the figure), the P2P protocol is used to transmit information in unicast, multicast, broadcast and other ways to complete the off-chain collaboration process.
[0203] The following is an explanation of the use case of the information transmission method based on blockchain in the embodiment of the present application.
[0204] Fig.13 is a use case diagram of the information transmission method based on blockchain provided in the embodiment of the present application, such as Fig.13As shown in the figure, in addition to providing blockchain-specific functions such as synchronizing blocks and block headers, the observer node also extends the message forwarding function and can assist the business node in completing the identity authentication function of the message recipient.
[0205] Business systems (such as Fig.13 Business system 1 and business system 2) use the topic publishing and subscription model to transmit information.
[0206] The message receiver (i.e., the first business node) first provides its own identity information (i.e., signature) and the current block header (used to prove that the current information is new information) as parameters, and initiates a topic subscription request to the message forwarding module 1311 in the observer node 131. Then, the message sender (i.e., the second business node) completes the subscription review, that is, verifies the identity of the intended recipient of the message, and then encrypts the topic information and transmits it to the message forwarding module 1311 of the observer node 131. The message forwarding module 1311 forwards the topic information to the target recipient. The target recipient decrypts the information, performs relevant business logic processing, and optionally publishes the execution result to the blockchain network 132.
[0207] The following is an explanation of the certificate application and dissemination process of the embodiment of the present application.
[0208] Fig.14 This is a schematic diagram of the certificate application and dissemination process provided by the embodiment of the present application, such as Fig.14 As shown, before the business parties conduct formal business cooperation, they need to complete the identity authentication of the other party. The business node (that is, any node in the business system, for example, the first business node and the second business node) and the observer node respectively provide the public key and organizational information to the CA to apply for a certificate. After the certificate auditor completes the information authentication of the certificate application request, the certificate is issued. After receiving the certificate, each node uploads it to the blockchain. Each business party can download the partner's certificate from the chain, and then verify whether the public key in the certificate is consistent with the signature public key of the message to determine whether the message is sent by the expected sender of the information. Among them, Fig.14 The chain operation and maintenance here refers to the operation and maintenance personnel of the blockchain, and business development refers to the developers of the business that accesses the blockchain service.
[0209] The following is an explanation of the topic subscription and approval process of an embodiment of the present application.
[0210] Fig.15 This is a schematic diagram of the topic subscription and approval process provided by the embodiment of the present application, such as Fig.15As shown, the subject subscriber (for example, it can be the first business node mentioned above) fills in the subject subscription request through its own business system, the business system downloads the latest block header from the observer node, attaches the block header to the subject subscription request, and forwards the subject subscription request and signature to the observer node. After receiving the subject subscription request, the observer node verifies the information signature to ensure the integrity of the information. In the implementation process, it can be verified whether the block hash in the subject subscription request is the latest block hash (the purpose of the verification is to prevent a third party from using an old subject subscription request, where the old subject subscription request is a request that the real business party has already unsubscribed, or an expired subject subscription request that has not been issued), record the network connection information of the subject subscriber, and, after attaching the observer node signature in the subject subscription request, forward the signed subject subscription request to the target business system (for example, it can be the second business node mentioned above).
[0211] After the target business system receives the information, it first verifies the two signatures in the signed topic subscription request to ensure that the information is complete and has not been tampered with; then, it compares the public keys in the two signatures with the public keys in the previously downloaded certificates of the two to ensure that the source of the information is correct; finally, the business personnel approves the business request, and the topic subscription is successful.
[0212] The following is an explanation of the topic subscription and approval process of an embodiment of the present application.
[0213] Fig.16 This is a schematic diagram of the process of topic propagation, processing, and uploading to the chain provided by the embodiment of the present application, such as Fig.16 As shown, the topic publisher (for example, it can be the second service node mentioned above) first generates a data encryption key (DEK, Data EncryptionKey), uses DEK to encrypt the topic information, and obtains the encrypted topic information; then, the public key of the topic subscriber is used as the key encryption key (KEK, Key Encryption Key) to encrypt DEK to obtain the encrypted data encryption key (EDEK); then the encrypted topic information and the encrypted data encryption key are packaged into a digital envelope and sent to the observer node. Note that when a topic has multiple subscribers, a separate topic is not generated for each subscriber, but only one topic is published, and the digital envelope contains a copy of the encrypted data and multiple EDEKs, which can save network communication times and the amount of communication data.
[0214] The observer node finds the network connection information of the topic subscriber and forwards the message to the topic subscriber based on the network connection information. The topic subscriber receives the digital envelope. First, it completes the signature verification of the message to ensure the integrity of the information. At the same time, it finds the corresponding certificate based on the signature public key and finds the organization information from the certificate to ensure that the message sender meets expectations. Then, it uses the private key corresponding to the KEK to decrypt the DEK. Then, it uses the DEK to decrypt the topic information. Then, it uses the topic information as a running parameter to call the off-chain business system to execute the processing flow corresponding to the topic information to obtain the business processing results. Finally, it selectively publishes the business processing results to the blockchain.
[0215] The embodiments of the present application reuse the communication channels of the blockchain network, so that the business system can handle both off-chain collaboration and on-chain interaction; business functions can be completed through one system, simplifying the system architecture, reducing development difficulty and workload, while reducing network exposure and reducing operation and maintenance difficulty.
[0216] It can be understood that in the embodiments of the present application, if the content involves user information, such as the identity authentication information of the first business node, etc., and if it involves data related to user information or enterprise information, when the embodiments of the present application are applied to specific products or technologies, it is necessary to obtain user permission or consent, or to blur this information to eliminate the correspondence between this information and the user; and the relevant data collection and processing should be strictly in accordance with the requirements of relevant national laws and regulations when applied in examples, and the informed consent or separate consent of the subject of personal information should be obtained, and subsequent data use and processing should be carried out within the scope of authorization of laws and regulations and the subject of personal information.
[0217] The following is an exemplary structure of the information transmission device 354 based on blockchain provided in the embodiment of the present application implemented as a software module. In some embodiments, Figure 5 As shown, the blockchain-based information transmission device 354 includes: a receiving module 3541, used to receive an information transmission request sent by a first business node, wherein the information transmission request includes the identity authentication information of the first business node; an information forwarding module 3542, used to forward the identity authentication information to a second business node, so that the first business node is authenticated by the second business node based on the identity authentication information to obtain an identity authentication result; the receiving module 3541 is also used to receive the message to be transmitted and the identification information of the target recipient sent by the second business node in response to the identity authentication result being a passed identity authentication; the target recipient is a node in the business system; the information forwarding module 3542 is also used to forward the message to be transmitted to the target recipient corresponding to the identification information.
[0218] In some embodiments, the information transmission request is a topic subscription request; the device also includes an identity authentication model, which is used to determine whether the topic subscription request is the latest request in the current time period based on the identity authentication information through the second business node, and obtain a first authentication result, and determine the target recipient of the message to be transmitted, and perform identity authentication on the target recipient to obtain a second authentication result; wherein the first authentication result and the second authentication result constitute the identity authentication result.
[0219] In some embodiments, the blockchain system also includes a blockchain node; the identity authentication information includes the identity information of the first business node and the current block header; the current block header is the block header of the latest block queried by the first business node from the blockchain node or from the observer node; the identity authentication model is also used to: determine whether the topic subscription request is the latest request within the current time period based on the current block header by the second business node to obtain the first authentication result; determine the target recipient of the message to be transmitted based on the identity information, and authenticate the target recipient to obtain the second authentication result.
[0220] In some embodiments, the receiving module is also used to: in response to the first authentication result being that the topic subscription request is the latest request within the current time period, and the second authentication result being that the identity authentication of the target recipient is passed, determine that the identity authentication result is passed; receive the message to be transmitted sent by the second business node and the identification information of the target recipient.
[0221] In some embodiments, the device also includes: a certificate application module, which is used to send a certificate application request to a certificate authorization platform through the observer node and each business node in the business system; the certificate application request carries the public key and organization information of the observer node and the business node respectively; a certificate receiving module, which is used to receive the certificates of the observer node and each business node issued by the certificate authorization platform in response to the certificate authorization platform passing the information authentication of the observer node and each business node; and a certificate uploading module, which is used to upload the certificate to the blockchain of the blockchain system.
[0222] In some embodiments, the device also includes: a first certificate acquisition module, used to obtain the certificate of the second business node from the blockchain through the target recipient after forwarding the message to be transmitted to the target recipient corresponding to the identification information; an information sender verification module, used to obtain the public key of the second business node from the certificate of the second business node; obtain the signature public key of the message to be transmitted; in response to the public key of the second business node being the same as the signature public key of the message to be transmitted, determine that the message to be transmitted comes from the correct information sender.
[0223] In some embodiments, the device also includes: an information signature acquisition module, which is used to obtain the information signature of the first business node from the information transmission request through the observer node after receiving the information transmission request sent by the first business node; an information integrity verification module, which is used to verify the information integrity of the information transmission request based on the information signature to obtain an integrity verification result; a current block header acquisition module, which is used to obtain the current block header from the identity authentication information; the current block header is the block header of the latest block queried by the first business node from the blockchain node or from the observer node; the latest request determination module, which is used to determine whether the topic subscription request is the latest request within the current time period based on the current block header, and obtain the request authentication result; the information forwarding module is also used to forward the identity authentication information to the second business node based on the integrity verification result and the request authentication result.
[0224] In some embodiments, the information forwarding module is also used to: in response to the integrity verification result that the information in the information transmission request is complete and the request authentication result is authentication passed, record the network connection information of the first business node; add the signature of the observer node to the information transmission request to obtain a signed information transmission request; the signed information transmission request includes the identity authentication information; based on the network connection information, send the signed information transmission request to the second business node.
[0225] In some embodiments, the device further includes: a signature acquisition module, used to acquire the signature of the observer node and the information signature of the first business node carried in the signed information transmission request through the second business node; an accuracy verification module, used to verify the accuracy of the request information of the signed information transmission request based on the signature of the observer node and the information signature of the first business node, and obtain an information verification result; a public key acquisition module, used to acquire the signature of the observer node and the public key corresponding to the information signature of the first business node in response to the information verification result being a passed verification; a second certificate acquisition module, used to acquire the certificate of the observer node and the certificate of the first business node book, as well as the public key in the certificate of the observer node and the public key in the certificate of the first business node; a source verification module, used to verify the source accuracy of the signed information transmission request based on the public keys corresponding to the signature of the observer node and the information signature of the first business node, the public key in the certificate of the observer node and the public key in the certificate of the first business node, and obtain a source verification result; an information acquisition module, used to obtain the message to be transmitted and the identification information of the target recipient corresponding to the signed information transmission request in response to the source verification result being verification passed; a sending module, used to send the message to be transmitted and the identification information of the target recipient to the observer node.
[0226] In some embodiments, the device also includes: obtaining subject information and a data encryption key through the second business node; a subject information encryption module, used to encrypt the subject information using the data encryption key to obtain encrypted subject information; a key encryption module, used to obtain the public key of the first business node; using the public key of the first business node to encrypt the data encryption key to obtain an encrypted data encryption key; an information packaging module, used to package the encrypted subject information and the encrypted data encryption key to obtain a digital envelope; a digital envelope sending module, used to send the digital envelope to the observer node.
[0227] In some embodiments, the device also includes: a digital envelope receiving module, which is used to receive the digital envelope sent by the observer node through the first business node, and obtain the signature public key of the second business node; a sender identity authentication module, which is used to obtain the certificate corresponding to the signature public key, and search for organization information from the certificate; based on the organization information, the sender identity authentication of the second business node is performed to obtain the sender identity authentication result; a digital envelope decryption module, which is used to respond to the sender identity authentication result being verified, and use the private key corresponding to the public key of the first business node to decrypt the digital envelope to obtain the data encryption key; a subject information decryption module, which is used to use the data encryption key to decrypt the encrypted subject information to obtain the subject information; a calling module, which is used to use the subject information as an operating parameter, call the business system to execute the processing flow corresponding to the subject information, and obtain the business processing result.
[0228] It should be noted that the description of the device of the embodiment of the present application is similar to the description of the above method embodiment, and has similar beneficial effects as the method embodiment, so it is not repeated. For technical details not disclosed in the embodiment of the device, please refer to the description of the method embodiment of the present application for understanding.
[0229] The embodiment of the present application provides a computer program product, which includes an executable instruction, which is a computer instruction; the executable instruction is stored in a computer-readable storage medium. When a processor of an electronic device reads the executable instruction from the computer-readable storage medium and the processor executes the executable instruction, the electronic device executes the method described in the embodiment of the present application.
[0230] The embodiment of the present application provides a storage medium storing executable instructions, wherein the executable instructions are stored. When the executable instructions are executed by a processor, the processor will execute the method provided by the embodiment of the present application, for example, Figure 6 The method shown.
[0231] In some embodiments, the storage medium can be a computer-readable storage medium, for example, a ferroelectric random access memory (FRAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPR OM), a flash memory, a magnetic surface memory, an optical disk, or a compact disk read-only memory (CD-ROM), etc.; it can also be various devices including one or any combination of the above memories.
[0232] In some embodiments, executable instructions may be in the form of a program, software, software module, script or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine or other unit suitable for use in a computing environment.
[0233] As an example, executable instructions may, but need not correspond to, a file in a file system, may be stored as part of a file storing other programs or data, for example, in one or more scripts in a Hyper Text Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files storing one or more modules, subroutines, or code portions). As an example, executable instructions may be deployed to be executed on one electronic device, or on multiple electronic devices located at one location, or on multiple electronic devices distributed at multiple locations and interconnected by a communication network.
[0234] The above is only an embodiment of the present application and is not intended to limit the protection scope of the present application. Any modifications, equivalent substitutions and improvements made within the spirit and scope of the present application are included in the protection scope of the present application.
Claims
1. A blockchain-based information transmission method, characterized in that: Applied to an information transmission system, the information transmission system includes a blockchain system and a business system independent of the blockchain system, the blockchain system includes at least an observer node, and the business system includes at least a first business node and a second business node; the method includes: receiving, through the observer node, an information transmission request sent by the first service node, wherein the information transmission request includes identity authentication information of the first service node; Forwarding the identity authentication information to the second service node, so that the second service node performs identity authentication on the first service node based on the identity authentication information to obtain an identity authentication result; In response to the identity authentication result being that the identity authentication is passed, receiving the message to be transmitted sent by the second service node and identification information of the target recipient; the target recipient is a node in the service system; The message to be transmitted is forwarded to the target recipient corresponding to the identification information.
2. The method according to claim 1, characterized in that: The information transmission request is a topic subscription request; the second service node authenticates the first service node based on the identity authentication information to obtain an identity authentication result, including: Determining, by the second service node based on the identity authentication information, whether the topic subscription request is the latest request in the current time period, obtaining a first authentication result, and, Determining a target recipient of the message to be transmitted, and performing identity authentication on the target recipient to obtain a second authentication result; The first authentication result and the second authentication result constitute the identity authentication result.
3. The method according to claim 2, characterized in that The blockchain system also includes a blockchain node; the identity authentication information includes the identity information of the first service node and the current block header; the current block header is the block header of the latest block queried by the first service node from the blockchain node or from the observer node; The determining, by the second service node based on the identity authentication information, whether the topic subscription request is the latest request within the current time period to obtain a first authentication result includes: Determining, by the second service node based on the current block header, whether the topic subscription request is the latest request within the current time period, and obtaining the first authentication result; The determining the target recipient of the message to be transmitted and performing identity authentication on the target recipient to obtain a second authentication result includes: A target recipient of the message to be transmitted is determined based on the identity information, and an identity authentication is performed on the target recipient to obtain the second authentication result.
4. The method according to claim 2, characterized in that: In response to the identity authentication result being that the identity authentication is passed, receiving the message to be transmitted sent by the second service node and identification information of the target recipient, including: In response to the first authentication result being that the topic subscription request is the latest request in the current time period, and the second authentication result being that the identity authentication of the target recipient is passed, determining that the identity authentication result is identity authentication passed; Receive the message to be transmitted and the identification information of the target recipient sent by the second service node.
5. The method according to any one of claims 1 to 4, characterized in that: The method further comprises: The observer node and each service node in the service system send a certificate application request to the certificate authority platform respectively; the certificate application request carries the public key and organization information of the observer node and the service node respectively; In response to the certificate authority platform successfully authenticating the information of the observer node and each service node, receiving respective certificates of the observer node and each service node issued by the certificate authority platform; The certificate is uploaded to the blockchain of the blockchain system.
6. The method according to claim 5, characterized in that The method further comprises: After forwarding the message to be transmitted to the target recipient corresponding to the identification information, the target recipient obtains the certificate of the second service node from the blockchain; and Obtaining a public key of the second service node from the certificate of the second service node; Obtaining the signature public key of the message to be transmitted; In response to the public key of the second service node being the same as the signature public key of the message to be transmitted, it is determined that the message to be transmitted comes from a correct information sender.
7. The method according to any one of claims 1 to 4, characterized in that: The method further comprises: After receiving the information transmission request sent by the first service node, the observer node obtains the information signature of the first service node from the information transmission request; Verifying the information integrity of the information transmission request based on the information signature to obtain an integrity verification result; Obtaining a current block header from the identity authentication information; the current block header is a block header of the latest block queried by the first service node from the blockchain node or from the observer node; Based on the current block header, determine whether the topic subscription request is the latest request in the current time period, and obtain the request authentication result; Based on the integrity verification result and the request authentication result, the identity authentication information is forwarded to the second service node.
8. The method according to claim 7, characterized in that The forwarding the identity authentication information to the second service node based on the integrity verification result and the request authentication result includes: In response to the integrity verification result being that the information in the information transmission request is complete, and the request authentication result being that the authentication is passed, recording the network connection information of the first service node; Adding the signature of the observer node to the information transmission request to obtain a signed information transmission request; the signed information transmission request includes the identity authentication information; Based on the network connection information, the signed information transmission request is sent to the second service node.
9. The method according to claim 8, characterized in that The method further comprises: Acquire, through the second service node, the signature of the observer node and the information signature of the first service node carried in the signed information transmission request; Based on the signature of the observer node and the information signature of the first service node, verify the accuracy of the requested information on the signed information transmission request to obtain an information verification result; In response to the information verification result being a passed verification, obtaining the public keys corresponding to the signature of the observer node and the information signature of the first service node; Obtaining a certificate of the observer node and a certificate of the first service node, as well as a public key in the certificate of the observer node and a public key in the certificate of the first service node; Based on the public keys corresponding to the signature of the observer node and the information signature of the first service node, the public key in the certificate of the observer node and the public key in the certificate of the first service node, the source accuracy of the signed information transmission request is verified to obtain a source verification result; In response to the source verification result being a passed verification, obtaining the message to be transmitted corresponding to the signed information transmission request and identification information of the target recipient; The message to be transmitted and the identification information of the target recipient are sent to the observer node.
10. The method according to claim 8, characterized in that The method further comprises: Acquire subject information and a data encryption key through the second service node; Encrypting the subject information using the data encryption key to obtain encrypted subject information; Obtaining the public key of the first service node; Encrypting the data encryption key using the public key of the first service node to obtain an encrypted data encryption key; Packaging the encrypted subject information and the encrypted data encryption key to obtain a digital envelope; The digital envelope is sent to the observer node.
11. The method according to claim 10, characterized in that The method further comprises: Receiving the digital envelope sent by the observer node through the first service node, and obtaining the signature public key of the second service node; Obtaining the certificate corresponding to the signature public key, and searching for organization information from the certificate; Performing sender identity authentication on the second service node based on the organization information to obtain a sender identity authentication result; In response to the sender identity authentication result being a successful authentication, decrypting the digital envelope using a private key corresponding to the public key of the first service node to obtain the data encryption key; Decrypting the encrypted subject information using the data encryption key to obtain the subject information; The subject information is used as an operation parameter, and the business system is called to execute a processing flow corresponding to the subject information to obtain a business processing result.
12. A blockchain-based information transmission system, characterized in that: The information transmission system includes a blockchain system and a business system independent of the blockchain system; The blockchain system includes an observer node and a blockchain node, and the business system includes at least a first business node and a second business node; The observer node is used to: receive an information transmission request sent by the first service node, wherein the information transmission request includes identity authentication information of the first service node; forward the identity authentication information to the second service node, so that the second service node performs identity authentication on the first service node based on the identity authentication information to obtain an identity authentication result; in response to the identity authentication result being that the identity authentication is passed, receive a message to be transmitted and identification information of a target recipient sent by the second service node; The target recipient is a node in the business system; The message to be transmitted is forwarded to the target recipient corresponding to the identification information.
13. An information transmission device based on blockchain, characterized in that: The device comprises: A receiving module, configured to receive an information transmission request sent by a first service node, wherein the information transmission request includes identity authentication information of the first service node; An information forwarding module, used for forwarding the identity authentication information to a second service node, so that the second service node performs identity authentication on the first service node based on the identity authentication information to obtain an identity authentication result; The receiving module is further configured to receive, in response to the identity authentication result being that the identity authentication is passed, a message to be transmitted sent by the second service node and identification information of a target recipient; the target recipient is a node in the service system; The information forwarding module is further used to forward the message to be transmitted to a target recipient corresponding to the identification information.
14. An electronic device, characterized in that: include: A memory for storing executable instructions; The processor is used to implement the blockchain-based information transmission method described in any one of claims 1 to 11 when executing the executable instructions stored in the memory.
15. A computer-readable storage medium, characterized in that: Executable instructions are stored, which are used to cause the processor to execute the executable instructions to implement the blockchain-based information transmission method described in any one of claims 1 to 11.
16. A computer program product or a computer program, the computer program product or the computer program comprising executable instructions stored in a computer readable storage medium; When the processor of the electronic device reads the executable instructions from the computer-readable storage medium and executes the executable instructions, the blockchain-based information transmission method described in any one of claims 1 to 11 is implemented.
