Data transmission method, device and system
By using a proxy server to enable public key acquisition and encrypted data transmission between blockchains, the problem of limited collaborative operation of blockchains is solved, and efficient and secure cross-chain data transmission is achieved.
Patent Information
- Application Number
- CN202210773446.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-01
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2042-07-01
AI Technical Summary
Collaborative operations between different blockchains are limited by the heterogeneity of underlying protocols. Existing cross-chain technologies suffer from high development requirements, poor universality, and complex key distribution.
By using a proxy server, public keys can be obtained and encrypted data can be transmitted between blockchains. Cross-chain communication is used to distribute asymmetric encryption public keys and use hybrid encryption algorithms to achieve cross-chain data transmission.
It simplifies the cross-chain data transmission process, reduces the requirements for routing contract developers, improves the efficiency and security of cross-chain data transmission, and avoids key distribution and data leakage issues.
Smart Images

Figure CN115174204B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate to the field of computer technology, and in particular to data transmission methods, devices, and systems. Background Art
[0002] As a distributed ledger technology, blockchain can be applied in various fields such as finance, health care, supply chain, asset management, etc. However, there are also various problems in the actual application of blockchain. For example, the heterogeneity of the underlying protocols of different blockchains limits the collaborative operation between different blockchains, which in turn limits the application space of blockchain. Cross-chain technology is one of the key technologies to solve this problem. Cross-chain is used to implement a communication protocol from one blockchain to another, thereby assisting the collaborative operation between different blockchains.
[0003] At present, the implementation methods of cross-chain technology mainly include notary schemes, sidechains, relays, hash-locking and distributed private key control, etc. Among them, relay technology relies on the relay chain protocol to complete communication interconnection, which is a good cross-chain technology. Summary of the invention
[0004] The embodiments of the present disclosure provide a data transmission method, device, and system.
[0005] In a first aspect, an embodiment of the present disclosure provides a data transmission method, which is applied to a first proxy server, the method comprising: in response to receiving a data transmission request, sending a public key acquisition request to a second proxy server, wherein the data transmission request is used to request that the data to be transmitted be transmitted from the first blockchain to the second blockchain, and the public key acquisition request is used to request to obtain the public key of the second proxy server, the first proxy server is a proxy server of the first blockchain, and the second proxy server is a proxy server of the second blockchain; receiving the public key returned by the second proxy server in response to the public key acquisition request; encrypting the data to be transmitted using the public key of the second proxy server to obtain encrypted data, and sending the encrypted data to the second proxy server.
[0006] In a second aspect, an embodiment of the present disclosure provides a data transmission method, the method comprising: receiving a public key acquisition request sent by a first proxy server, wherein the public key acquisition request is used to request the acquisition of a public key of a second proxy server, the public key is used to encrypt data transmitted from a first blockchain to a second blockchain, the first proxy server is a proxy server of the first blockchain, and the second proxy server is a proxy server of the second blockchain; according to the public key acquisition request, acquiring a pre-stored public key of the second proxy server; and sending the acquired public key to the first proxy server.
[0007] In a third aspect, an embodiment of the present disclosure provides a data transmission system, which includes a first blockchain, a second blockchain, a first proxy server and a second proxy server, wherein the first proxy server is a proxy server of the first blockchain, and the second proxy server is a proxy server of the second blockchain; the first blockchain sends a data transmission request to the first proxy server, wherein the data transmission request is used to request that the data to be transmitted be transmitted from the first blockchain to the second blockchain; the first proxy server sends a public key acquisition request to the second proxy server, and the public key acquisition request is used to request to obtain the public key of the second proxy server; the second proxy server obtains a pre-stored public key of the second proxy server according to the public key acquisition request, and sends the obtained public key to the first proxy server; the first proxy server encrypts the data to be transmitted using the public key of the second proxy server to obtain encrypted data, and sends the encrypted data to the second proxy server; the second proxy server obtains a pre-stored private key of the second proxy server to decrypt the encrypted data to obtain decrypted data; and calls the second blockchain according to the decrypted data to generate response data.
[0008] In a fourth aspect, an embodiment of the present disclosure provides a data transmission device, comprising: a public key acquisition request sending unit, configured to send a public key acquisition request to a second proxy server in response to receiving a data transmission request, wherein the data transmission request is used to request that the data to be transmitted be transmitted from the first blockchain to the second blockchain, and the public key acquisition request is used to request to obtain the public key of the second proxy server, the first proxy server is a proxy server of the first blockchain, and the second proxy server is a proxy server of the second blockchain; a public key receiving unit, configured to receive the public key returned by the second proxy server in response to the public key acquisition request; an encryption unit, configured to encrypt the data to be transmitted using the public key of the second proxy server to obtain encrypted data, and send the encrypted data to the second proxy server.
[0009] In a fifth aspect, an embodiment of the present disclosure provides a data transmission device, comprising: a public key acquisition request receiving unit, configured to receive a public key acquisition request sent by a first proxy server, wherein the public key acquisition request is used to request the acquisition of a public key of a second proxy server, and the public key is used to encrypt data transmitted from a first blockchain to a second blockchain, and the first proxy server is a proxy server of the first blockchain, and the second proxy server is a proxy server of the second blockchain; a public key acquisition unit, configured to acquire a pre-stored public key of the second proxy server according to the public key acquisition request; and a public key sending unit, configured to send the acquired public key to the first proxy server.
[0010] In a sixth aspect, an embodiment of the present disclosure provides a server, comprising: one or more processors; a storage device for storing one or more programs; when the one or more programs are executed by one or more processors, the one or more processors implement the method described in any implementation manner in the first aspect.
[0011] In a seventh aspect, an embodiment of the present disclosure provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method described in any implementation manner in the first aspect.
[0012] The data transmission method, device and system provided by the embodiments of the present disclosure utilize the communication between the proxy servers of the blockchain to obtain the public key used to encrypt the transmitted data, and utilize the proxy server to realize the transmission of encrypted data between blockchains, thereby realizing a convenient key distribution and encrypted transmission of cross-chain data. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Other features, objects and advantages of the present disclosure will become more apparent from the detailed description of non-limiting embodiments made with reference to the following drawings:
[0014] Figure 1 is an exemplary system architecture diagram in which an embodiment of the present disclosure may be applied;
[0015] Figure 2 is a flow chart of an embodiment of a data transmission method according to the present disclosure;
[0016] Figure 3 is a flow chart of another embodiment of a data transmission method according to the present disclosure;
[0017] Figure 4 is a flow chart of another embodiment of the data transmission method according to the present disclosure;
[0018] Figure 5 is a flow chart of an embodiment of a key pair generation process according to the present disclosure;
[0019] Figure 6 is a timing diagram of an embodiment of a data transmission system according to the present disclosure;
[0020] Figure 7 is a structural schematic diagram of an embodiment of a data transmission device according to the present disclosure;
[0021] Figure 8 is a structural schematic diagram of an embodiment of a data transmission device according to the present disclosure;
[0022] Fig. 9 It is a schematic diagram of the structure of a server suitable for implementing the embodiments of the present disclosure. DETAILED DESCRIPTION
[0023] The present disclosure is further described in detail below in conjunction with the accompanying drawings and embodiments. It is understood that the specific embodiments described herein are only used to explain the relevant invention, rather than to limit the invention. It is also necessary to explain that, for ease of description, only the parts related to the relevant invention are shown in the accompanying drawings.
[0024] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present disclosure may be combined with each other. The present disclosure will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0025] Figure 1 An exemplary architecture 100 is shown to which an embodiment of a data transmission method or a data transmission apparatus of the present disclosure can be applied.
[0026] like Figure 1 As shown, the system architecture 100 may include a blockchain 101, a blockchain 102, a proxy server 103, and a proxy server 104. Among them, the proxy server 103 is a proxy server of the blockchain 101, and the proxy server 104 is a proxy server of the blockchain 102. Each blockchain may be composed of a number of nodes to form a corresponding blockchain network. Data can be transmitted between the proxy server 103 and the proxy server 104.
[0027] Blockchain 101 and blockchain 102 may be various types of blockchains. Parameters such as data structures and consensus algorithms in blockchain 101 and blockchain 102 may be the same or different. Users of blockchain 101 may use blockchain 101 through their terminal devices. Correspondingly, users of blockchain 102 may also use blockchain network 102 through their terminal devices.
[0028] In some cases, blockchain 101 and blockchain 102 may belong to an application chain. An application chain may refer to a blockchain network built using a specific blockchain platform and the resources on the chain (such as ledgers, contracts, event accounts, etc.) created. Generally, various smart contracts may run on the application chain. The application end may initiate various requests to the application chain (such as cross-chain calls, etc.)
[0029] The terminal device used by the user can be hardware or software. When the terminal device is hardware, it can be various electronic devices, including but not limited to smart phones, tablet computers, e-book readers, laptop computers, desktop computers, etc. When the terminal device is software, it can be installed in the electronic devices listed above. It can be implemented as multiple software or software modules (for example, multiple software or software modules for providing distributed services), or it can be implemented as a single software or software module. No specific limitation is made here.
[0030] Proxy server 103 and proxy server 104 can be various types of proxy servers. Proxy servers can serve as communication bridges between different blockchains. Proxy server 103 can act as a proxy for blockchain 101 to transmit data with other blockchains. Correspondingly, proxy server 104 can act as a proxy for blockchain 102 to transmit data with other blockchains. The proxy server can include a routing component to implement data routing.
[0031] It should be noted that the data transmission method provided in the embodiments of the present disclosure is generally executed by the proxy server 103 or the proxy server 104 , and accordingly, the data transmission device is generally disposed in the proxy server 103 or the proxy server 104 .
[0032] It should be noted that the proxy server 103 and the proxy server 104 can be hardware or software. When the proxy server 103 and the proxy server 104 are hardware, they can be implemented as a distributed server cluster composed of multiple servers, or they can be implemented as a single server. When the proxy server 103 and the proxy server 104 are software, they can be implemented as multiple software or software modules (such as a single software or software module for providing distributed services), or they can be implemented as a single software or software module. No specific limitation is made here.
[0033] It should be understood that Figure 1 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to implementation requirements.
[0034] Continue to refer Figure 2 , which shows a process 200 of an embodiment of a data transmission method according to the present disclosure. The data transmission method is applied to a first proxy server and specifically includes the following steps:
[0035] Step 201: In response to receiving a data transmission request, a public key acquisition request is sent to a second proxy server.
[0036] In this embodiment, the execution subject of the data transmission method is the first proxy server. The first proxy server and the second proxy server may correspond to Figure 1 The proxy server 103 and the proxy server 104 are shown. The first proxy server may be a proxy server for the first blockchain, and the second proxy server may be a proxy server for the second blockchain. The first blockchain and the second blockchain may correspond to Figure 1 Blockchain 101 and blockchain 102 are shown.
[0037] The first blockchain and the second blockchain can be various types of blockchains. Various attribute information (such as data structure, number of nodes, blockchain type, consensus algorithm, etc.) of the first blockchain and the second blockchain can be the same or different.
[0038] The first proxy server and the second proxy server may be various types of proxy servers to serve as a communication bridge between the corresponding blockchain and other objects (such as other blockchains, etc.). Specifically, the first proxy server may serve as a communication bridge between the first blockchain and other objects. The second proxy server may serve as a communication bridge between the second blockchain and other objects. Generally, the proxy services provided by the first proxy server and the second proxy server may be the same. The first proxy server and the second proxy server may be in communication connection.
[0039] The data transmission request received by the first proxy server can be used to request the data to be transmitted to be transmitted from the first blockchain to the second blockchain. That is, the data transmission request is used to request cross-chain data transmission. Generally, the data transmission request can specify the data to be transmitted, the identifier of the first blockchain, the identifier of the second blockchain, and the transmission direction of the data to be transmitted, etc. The data transmission request can be triggered by various events involving cross-chain data transmission. At this time, when the first proxy server monitors the event involving cross-chain data transmission, it can be considered that the data transmission request has been received.
[0040] The data to be transmitted may be data of various types and any content, which may be determined according to the actual application scenario. For example, the data to be transmitted may be relevant information of the transaction created in the first blockchain.
[0041] The public key acquisition request can be used to request the public key (Public Key) of the second proxy server. Among them, the public key and the matching private key (Private Key) can form a key pair for asymmetric data encryption. Generally, the public key can be made public and the private key is kept private. Data encrypted with the public key can only be decrypted using the matching private key. It should be noted that the contents of key pairs, public keys and private keys are currently widely studied and applied public known technologies and will not be repeated here.
[0042] The data format for communication between the first proxy server and the second proxy server can be preset by a technician. At this time, the first proxy server and the second proxy server can send data according to the preset data format, and can also parse the received data according to the preset data format.
[0043] As an example, the first proxy server and the second proxy server can be preset to exchange data through a preset cross-chain message. The cross-chain message can be composed of metadata, message body, and message type. The message body can store the data to be transmitted, and the metadata can store various information related to the cross-chain data transmission. The message type is flexibly set according to actual needs, such as public key request type, response type, etc.
[0044] Step 202: Receive the public key returned by the second proxy server in response to the public key acquisition request.
[0045] In this embodiment, the second proxy server may pre-store its corresponding public key, and after receiving the public key acquisition request sent by the first proxy server, may acquire the pre-stored public key and return it to the first proxy server.
[0046] Step 203: encrypt the data to be transmitted using the public key of the second proxy server to obtain encrypted data, and send the encrypted data to the second proxy server.
[0047] In this embodiment, after receiving the public key of the second proxy server, the first proxy server can use the public key of the second proxy server to encrypt the data to be transmitted, thereby obtaining encrypted data. Specifically, the first proxy server can use various asymmetric encryption algorithms according to actual application requirements to encrypt the data to be transmitted using the public key of the second proxy server.
[0048] Furthermore, the first proxy server may send the encrypted data to the second proxy server, so that the second proxy server notifies the second blockchain of the received encrypted data, thereby realizing the transmission of the data to be transmitted between the first blockchain and the second blockchain.
[0049] Optionally, after receiving the encrypted data, the second proxy server may first obtain a pre-determined private key that matches its public key, and then use the obtained private key to decrypt the encrypted data to obtain decrypted data. Then, the second proxy server may call the second blockchain to generate response data corresponding to the decrypted data.
[0050] Furthermore, the response data can be used as the data to be transmitted, and a data transmission request can be generated to request the transmission of the response data from the second blockchain to the first blockchain. At this time, the above-mentioned data transmission method can also be used to realize cross-chain transmission of the response data, thereby realizing cross-chain encrypted data transmission.
[0051] In some optional implementations of this embodiment, after receiving the public key of the second proxy server, the first proxy server may associate and store the received public key with the identifier of the second proxy server, wherein the identifier of the second proxy server may be used to identify the second proxy server and may be flexibly set.
[0052] By storing the correspondence between the identifier of the second proxy server and its public key, the first proxy server can directly query the public key of the second proxy server, avoiding frequent sending of public key acquisition requests to the second proxy server, thereby saving communication resources.
[0053] Optionally, in response to receiving the data transmission request, the first proxy server may first determine whether the public key of the second proxy server is pre-stored. If it is determined that the public key of the second proxy server does not exist, a public key acquisition request may be sent to the second proxy server to acquire the public key of the second proxy server. If it is determined that the public key of the second proxy server is pre-stored, the public key of the second proxy server may be directly acquired according to the identifier of the second proxy server.
[0054] By first determining whether the public key of the second proxy server is pre-stored, when the public key of the second proxy server is pre-stored, the pre-stored public key of the second proxy server can be directly obtained, avoiding sending a public key acquisition request to the second proxy server to obtain the public key of the second proxy server, while saving communication resources, the data transmission efficiency can be further improved.
[0055] In some optional implementations of this embodiment, the public key of the second proxy server may be generated by the second proxy server. Specifically, the second proxy server may generate its corresponding key pair in advance and store the generated key pair. The key pair includes a matching public key and a private key.
[0056] Using a proxy server to generate a public key for encrypting data and using cross-chain communication to distribute the public key required by the proxy server will help improve the convenience of key distribution in cross-chain encrypted data transmission, so that blockchain application layer developers and others do not need to pay attention to key distribution.
[0057] Optionally, the second proxy server may generate its corresponding key pair in response to its initial startup, and store the generated key pair. Afterwards, the second proxy server may first determine whether a previously generated key pair is pre-stored in response to its restart. For example, the generated key pair may be locally saved, and then, whether the previously generated key pair exists is searched from the memory.
[0058] If it is determined that there is a previously generated key pair, the public key can be directly obtained based on the key pair. If it is determined that there is no previously generated key pair, the corresponding key pair can be regenerated and the generated key pair can be stored.
[0059] As an example, after creating the key pair, the second proxy server can save the key pair in the file system. For example, the file name can be named using the name of the encryption algorithm used by the created key pair, and the key pair and encryption algorithm information are saved in the memory. When the second proxy server is restarted, the private key file can be read from the file system first. If the private key file exists and is not empty, the corresponding encryption algorithm can be called to calculate the public key for use. If the private key file does not exist or the private key file is empty, the key pair can be regenerated for storage.
[0060] The proxy server directly generates a key pair when it is first started, and checks whether the generated key pair is still stored at each restart. If it does not exist, a new key pair will be generated in time, which facilitates the distribution of public keys and the decryption of encrypted data using private keys, helping to improve the efficiency of cross-chain transmission of encrypted data.
[0061] Optionally, the data transmission request received by the first proxy server may include a parameter for indicating whether to enable the end-to-end encryption function. If the parameter indicates to enable the end-to-end encryption function, the method provided in the above embodiment may be used to perform end-to-end cross-chain encrypted data transmission. Thus, the flexibility of cross-chain data transmission can be improved, and unnecessary data (such as public data, etc.) can be encrypted and transmitted to avoid wasting communication resources.
[0062] Optionally, after the encrypted data is obtained, the encryption algorithm used, the public key pre-generated by the first proxy server, and the obtained encrypted data may be combined to form updated encrypted data and sent to the second proxy server.
[0063] At this time, the second proxy server can use the encryption algorithm and the pre-stored private key in the received encrypted data to decrypt and obtain the decrypted data, and then call the second blockchain to generate response data according to the decrypted data. Then, the public key of the first proxy server in the received encrypted data can be used to encrypt the response data, thereby realizing a complete cross-chain encrypted data transmission and response process.
[0064] There are three main methods of cross-chain technology based on relay implementation. One method relies on the data privacy protection function of the relay chain, but this method needs to consider the characteristics of the blockchain. Different blockchains have different characteristics, which leads to high requirements for the development of routing contracts and is not conducive to the construction of a cross-chain ecosystem. The other method is based on the routing contract running in a contract execution environment built on trusted hardware, but this method has high requirements for the bottom chain and contract developers. For example, the bottom chain needs to be able to support this operating mechanism, and the contract developer needs to know which data should run in an environment such as an enclave, resulting in poor versatility. Another method is based on end-to-end encryption, but this method inevitably involves key distribution, and the existing key distribution method usually requires blockchain application layer developers to implement it, such as developers or users creating keys and registering keys to the blockchain.
[0065] The method provided by the above-mentioned embodiment of the present disclosure utilizes the cross-chain communication of the blockchain to complete the distribution of the public key required for the proxy server to perform asymmetric encryption, and then utilizes the proxy server to realize the transmission of encrypted data, so that cross-chain service users can transparently transmit cross-chain data without having to worry about key distribution issues or cross-chain data leakage issues. At the same time, the cross-chain transmission data is only visible on the proxy server, so that the relay chain contract developers do not need to worry about the bottom chain not supporting privacy protection and other issues, thereby reducing the requirements for routing contract developers and realizing a more versatile end-to-end cross-chain encrypted data transmission method.
[0066] Further references Figure 3 , which shows a process 300 of another embodiment of a data transmission method. The process 300 of the data transmission method includes the following steps:
[0067] Step 301: In response to receiving a data transmission request, a public key acquisition request is sent to a second proxy server.
[0068] Step 302: Receive the public key returned by the second proxy server in response to the public key acquisition request.
[0069] Step 303: Generate a first proxy server symmetric key.
[0070] In this embodiment, the first proxy server can use various existing symmetric key generation methods to generate its corresponding symmetric key. Among them, the symmetric key is used for symmetric encryption, and specifically the same key is used for encryption and decryption of data at the same time. It should be noted that the relevant content of the symmetric key is a well-known technology that is currently widely studied and applied, and will not be repeated here.
[0071] Step 304: encrypt the data to be transmitted using the symmetric key to obtain a first encryption result, and encrypt the generated symmetric key using the public key of the second proxy server to obtain a second encryption result.
[0072] In this embodiment, various symmetric encryption algorithms can be used to encrypt the data to be transmitted using a symmetric key to obtain the encrypted data as the first encryption result. At the same time, various asymmetric encryption algorithms can be used to encrypt the symmetric key used using the public key of the second proxy server to obtain the encrypted symmetric key as the second encryption result.
[0073] Step 305: The first encryption result and the second encryption result are combined into encrypted data.
[0074] In this embodiment, the first encryption result and the second encryption result may be combined into encrypted data according to the communication data format preset by the first proxy server and the second proxy server.
[0075] Step 306: Send the encrypted data to the second proxy server.
[0076] In this embodiment, after receiving the encrypted data, the second proxy server can parse the received encrypted data according to the preset communication data format to obtain the encrypted data and the encrypted symmetric key. Then, the second proxy server can obtain its pre-stored private key that matches its public key, and use the obtained private key to decrypt the encrypted symmetric key to obtain the symmetric key, and then use the decrypted symmetric key to decrypt the encrypted data to obtain the data to be transmitted sent by the first blockchain.
[0077] The execution process not specifically described in the above steps in this embodiment can be referred to Figure 2 The relevant descriptions in the corresponding embodiments will not be repeated here.
[0078] The method provided by the above-mentioned embodiment of the present disclosure uses the symmetric key generated by the first proxy server to asymmetrically encrypt the data to be transmitted, and then uses the public key of the second proxy server to encrypt the used symmetric key, and sends the encrypted symmetric key and the encrypted data to be transmitted as encrypted data to the second proxy server, thereby realizing cross-chain hybrid encrypted data transmission. At the same time, since the symmetric encryption algorithm is more efficient and the symmetric encryption algorithm has a lower limit on the length of plaintext data, the use of this hybrid encryption technology can improve the encryption efficiency while overcoming the problem that the asymmetric encryption algorithm severely limits the length of plaintext data.
[0079] Further references Figure 4 , which shows a process 400 of another embodiment of a data transmission method. The data transmission method is applied to a second proxy server and specifically includes the following steps:
[0080] Step 401: Receive a public key acquisition request sent by a first proxy server.
[0081] In this embodiment, the second proxy server may receive a public key acquisition request sent by the first proxy server. The public key acquisition request may be used to request the acquisition of the public key of the second proxy server. The public key of the second proxy server is used to encrypt data transmitted from the first blockchain to the second blockchain. The first proxy server is a proxy server of the first blockchain. The second proxy server is a proxy server of the second blockchain.
[0082] Step 402: Obtain a pre-stored public key of the second proxy server according to the public key acquisition request.
[0083] In this embodiment, after receiving the public key acquisition request, the second proxy server may acquire its pre-stored public key.
[0084] Step 403: Send the obtained public key to the first proxy server.
[0085] In some optional implementations of this embodiment, the second proxy server may pre-generate and store a key pair, wherein the key pair includes a matching public key and a private key.
[0086] Continue to see Figure 5 , which shows a flowchart 500 of an embodiment of a key pair generation method of the present disclosure. The process of the key pair generation method specifically includes the following steps:
[0087] Step 501: In response to the initial startup, generate a key pair of the second proxy server, and store the generated key pair.
[0088] In this embodiment, various existing key pair generation methods may be used to generate the key pair of the second proxy server, wherein the key pair may include a matching public key and a private key.
[0089] Step 502: In response to the restart, determine whether a key pair of the second proxy server is pre-stored.
[0090] In this embodiment, various methods can be used to determine whether a key pair of the second proxy server is pre-stored according to the actual application scenario. For example, it can be determined whether a private key exists in the memory. If a private key exists, a public key can be calculated based on the private key and a preset encryption algorithm. If a private key does not exist, since decryption is impossible, it can be considered that there is no key pair of the second proxy server.
[0091] Step 503: In response to determining that the key pair of the second proxy server does not exist, generate a key pair of the second proxy server, and store the generated key pair.
[0092] In some optional implementations of this embodiment, the second proxy server may also receive encrypted data sent by the first proxy server. The encrypted data is obtained based on the public key of the second proxy server. At this time, the second proxy server may first obtain a pre-stored private key of the second proxy server, and the private key matches the public key of the second proxy server corresponding to the encrypted data. Then, the second proxy server may use the obtained private key to decrypt the encrypted data to obtain decrypted data, and then call the second blockchain to generate response data corresponding to the decrypted data.
[0093] The execution process not specifically described in the above steps in this embodiment can be referred to Figure 2 and Figure 3 The relevant descriptions in the corresponding embodiments will not be repeated here.
[0094] The method provided by the above-mentioned embodiment of the present disclosure utilizes cross-chain communication to realize the distribution of the public key required by the proxy server, and utilizes the public key to realize the encryption of the data to be transmitted, and then realizes end-to-end cross-chain encrypted data transmission between different blockchains with the help of the proxy server.
[0095] Reference below Figure 6 , which shows a timing diagram 600 of an embodiment of a data transmission system of the present disclosure. The data transmission system includes a first blockchain, a first proxy server, a second blockchain, and a second proxy server. The first proxy server is a proxy server of the first blockchain, and the second proxy server is a proxy server of the second blockchain.
[0096] In step 601, the first blockchain sends a data transmission request to the first proxy server, wherein the data transmission request is used to request to transmit the data to be transmitted from the first blockchain to the second blockchain.
[0097] In step 602, the first proxy server sends a public key acquisition request to the second proxy server, wherein the public key acquisition request is used to request to acquire the public key of the second proxy server.
[0098] In step 603, the second proxy server obtains the pre-stored public key of the second proxy server according to the public key acquisition request.
[0099] In step 604, the second proxy server sends the acquired public key to the first proxy server.
[0100] In step 605, the first proxy server encrypts the data to be transmitted using the public key of the second proxy server to obtain encrypted data.
[0101] In step 606, the first proxy server sends the encrypted data to the second proxy server.
[0102] In step 607, the second proxy server obtains a pre-stored private key of the second proxy server to decrypt the encrypted data to obtain decrypted data.
[0103] In step 608, the second blockchain generates response data according to the call of the second proxy server based on the decrypted data.
[0104] The execution process not specifically described in the above steps in this embodiment can be referred to Figure 2-Figure 4 The relevant descriptions in the corresponding embodiments will not be repeated here.
[0105] It should be noted that in the data transmission process of this embodiment, the first blockchain is used as the source chain and the second blockchain is used as the target chain to realize the transmission of the data to be transmitted from the first blockchain to the second blockchain. It should be understood that according to the actual application scenario, when the second blockchain is used as the source chain and the first blockchain is used as the target chain, the above data transmission can also be used to realize the transmission of the data to be transmitted from the second blockchain to the first blockchain.
[0106] As an example, after step 608, the second blockchain may send a data transmission request to the second proxy server. The data transmission request may be used to request that the response data be sent from the second blockchain to the first blockchain. Then, the second proxy server may send a public key acquisition request to the first proxy server, and receive the public key returned by the first proxy server based on the public key acquisition request. The public key acquisition request is used to request the public key of the first proxy server. Then, the second proxy server may encrypt the response data using the public key of the first proxy server to obtain the encrypted response data, and send the encrypted response data to the first proxy server. After receiving the encrypted response data, the first proxy server may obtain the pre-stored private key of the first proxy server to decrypt the encrypted response data to obtain the decrypted response data, and then the first proxy server may notify the first blockchain of the decrypted response data, thereby realizing the transmission of the response data from the second blockchain to the first blockchain.
[0107] The method provided by the above-mentioned embodiments of the present disclosure utilizes cross-chain communication to implement the distribution of public keys required for asymmetric encryption by the proxy server, and then utilizes the proxy server to implement the transmission of encrypted data, so that cross-chain service users can transparently transmit cross-chain data without having to worry about key distribution issues and data leakage issues. At the same time, cross-chain transmission data is only visible on the proxy server, so that relay chain contract developers do not need to worry about issues such as the bottom chain not supporting privacy protection, thereby reducing the requirements for routing contract developers and achieving end-to-end secure transmission of cross-chain encrypted data.
[0108] Further references Figure 7 As an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of a data transmission device, which is similar to Figure 2 Corresponding to the method embodiment shown, the device can be specifically applied to various electronic devices.
[0109] like Figure 7 As shown, the data transmission device 700 provided in this embodiment includes a public key acquisition request sending unit 701, a public key receiving unit 702 and an encryption unit 703. Among them, the public key acquisition request sending unit 701 is configured to send a public key acquisition request to the second proxy server in response to receiving a data transmission request, wherein the data transmission request is used to request to transmit the data to be transmitted from the first blockchain to the second blockchain, and the public key acquisition request is used to request to obtain the public key of the second proxy server, the first proxy server is the proxy server of the first blockchain, and the second proxy server is the proxy server of the second blockchain; the public key receiving unit 702 is configured to receive the public key returned by the second proxy server for the public key acquisition request; the encryption unit 703 is configured to encrypt the data to be transmitted using the public key, obtain the encrypted data, and send the encrypted data to the second proxy server.
[0110] In this embodiment, in the data transmission device 700, the specific processing of the public key acquisition request sending unit 701, the public key receiving unit 702 and the encryption unit 703 and the technical effects thereof can be referred to in Figure 2 The relevant descriptions of step 201, step 202 and step 203 in the corresponding embodiment are not repeated here.
[0111] In some optional implementations of this embodiment, the data transmission device 700 further includes: a storage unit (not shown in the figure), configured to store the received public key and the identifier of the second proxy server in association with each other.
[0112] In some optional implementations of this embodiment, the above-mentioned public key acquisition request sending unit 701 is further configured to: in response to receiving a data transmission request, determine whether the public key of the second proxy server is pre-stored; in response to determining that the public key of the second proxy server does not exist, send a public key acquisition request to the second proxy server.
[0113] In some optional implementations of this embodiment, the above-mentioned public key acquisition request sending unit 701 is further configured to: in response to determining that the public key of the second proxy server is pre-stored, obtain the public key of the second proxy server according to the identifier of the second proxy server; use the public key to encrypt the data to be transmitted to obtain encrypted data, and send the encrypted data to the second proxy server.
[0114] In some optional implementations of the present embodiment, the public key of the second proxy server is pre-generated and stored by the second proxy server through the following steps: in response to the initial startup, generating a key pair of the second proxy server, and storing the generated key pair, wherein the key pair includes a matching public key and a private key; in response to the restart, determining whether the key pair of the second proxy server is pre-stored; in response to determining that the key pair of the second proxy server does not exist, generating a key pair of the second proxy server, and storing the generated key pair.
[0115] In some optional implementations of this embodiment, the above-mentioned second proxy server performs the following processing steps in response to receiving the encrypted data: obtaining a pre-stored private key that matches the public key of the second proxy server; decrypting the encrypted data using the private key to obtain decrypted data; calling the second blockchain to generate response data corresponding to the decrypted data.
[0116] In some optional implementations of this embodiment, the encryption unit 703 is further configured to: generate a symmetric key of the first proxy server; encrypt the data to be transmitted using the symmetric key to obtain a first encryption result, and encrypt the symmetric key using the public key to obtain a second encryption result; and compose the first encryption result and the second encryption result into encrypted data.
[0117] The apparatus provided by the above-mentioned embodiments of the present disclosure sends a public key acquisition request to the second proxy server in response to receiving a data transmission request through a public key acquisition request sending unit, wherein the data transmission request is used to request that the data to be transmitted be transmitted from the first blockchain to the second blockchain, and the public key acquisition request is used to request to obtain the public key of the second proxy server, the first proxy server is a proxy server of the first blockchain, and the second proxy server is a proxy server of the second blockchain; the public key receiving unit receives the public key returned by the second proxy server in response to the public key acquisition request; the encryption unit encrypts the data to be transmitted using the public key to obtain the encrypted data, and sends the encrypted data to the second proxy server, thereby utilizing cross-chain communication to realize the distribution of the public key required by the proxy server, and utilizing the public key to realize the encryption of the data to be transmitted, and then using the proxy server to realize end-to-end cross-chain encrypted data transmission between different blockchains.
[0118] Further references Figure 8 As an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of a data transmission device, which is similar to Figure 4 Corresponding to the method embodiment shown, the device can be specifically applied to various electronic devices.
[0119] like Figure 8 As shown, the data transmission device 800 provided in this embodiment includes a public key acquisition request receiving unit 801, a public key acquisition unit 802 and a public key sending unit 803. The public key acquisition request receiving unit 801 is configured to receive a public key acquisition request sent by the first proxy server, wherein the public key acquisition request is used to request to obtain the public key of the second proxy server, and the public key is used to encrypt data transmitted from the first blockchain to the second blockchain, the first proxy server is the proxy server of the first blockchain, and the second proxy server is the proxy server of the second blockchain; the public key acquisition unit 802 is configured to obtain the pre-stored public key of the second proxy server according to the public key acquisition request; the public key sending unit 803 is configured to send the obtained public key to the first proxy server.
[0120] In this embodiment, in the data transmission device 800, the specific processing of the public key acquisition request receiving unit 801, the public key acquisition unit 802 and the public key sending unit 803 and the technical effects thereof can be referred to in Figure 4The relevant descriptions of step 401, step 402 and step 403 in the corresponding embodiment are not repeated here.
[0121] In some optional implementations of the present embodiment, the data transmission device 800 further includes: a key pair generation unit (not shown in the figure), configured to generate a key pair of the second proxy server in response to an initial startup, and store the generated key pair, wherein the key pair includes a matching public key and a private key; in response to a restart, determine whether a key pair of the second proxy server is pre-stored; in response to determining that the key pair of the second proxy server does not exist, generate a key pair of the second proxy server, and store the generated key pair.
[0122] In some optional implementations of this embodiment, the above-mentioned data transmission device 800 also includes: an encrypted data receiving unit (not shown in the figure), configured to receive encrypted data sent by the first proxy server, wherein the encrypted data is obtained based on the public key of the second proxy server; a private key acquisition unit (not shown in the figure), configured to obtain a pre-stored private key of the second proxy server; a decryption unit (not shown in the figure), configured to decrypt the encrypted data using the acquired private key to obtain decrypted data; and a calling unit (not shown in the figure), configured to call the second blockchain to generate response data corresponding to the decrypted data.
[0123] The device provided by the above-mentioned embodiment of the present disclosure receives a public key acquisition request sent by a first proxy server through a public key acquisition request receiving unit, wherein the public key acquisition request is used to request to obtain the public key of the second proxy server, and the public key is used to encrypt data transmitted from the first blockchain to the second blockchain, the first proxy server is a proxy server of the first blockchain, and the second proxy server is a proxy server of the second blockchain; the public key acquisition unit obtains the pre-stored public key of the second proxy server according to the public key acquisition request; the public key sending unit sends the obtained public key to the first proxy server, thereby utilizing cross-chain communication to realize the distribution of the public key required by the proxy server, and utilizing the public key to realize the encryption of the data to be transmitted, and then with the help of the proxy server, realize end-to-end cross-chain encrypted data transmission between different blockchains.
[0124] Reference below Fig. 9 , which shows a server (eg, Figure 1 A schematic diagram of the structure of the first proxy server 103 or the second proxy server 104, etc.) 900. Fig. 9 The server shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0125] like Fig. 9As shown, the server 900 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage device 908 into a random access memory (RAM) 903. In the RAM 903, various programs and data required for the operation of the electronic device 900 are also stored. The processing device 901, the ROM 902, and the RAM 903 are connected to each other via a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.
[0126] Typically, the following devices may be connected to the I / O interface 905: an input device 906 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 907 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 908 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 909. The communication device 909 may allow the electronic device 900 to communicate with other devices wirelessly or by wire to exchange data. Although Fig. 9 The electronic device 900 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead. Fig. 9 Each block shown in the figure may represent one device, or may represent multiple devices as required.
[0127] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device 909, or installed from a storage device 908, or installed from a ROM 902. When the computer program is executed by the processing device 901, the above-mentioned functions defined in the method of the embodiment of the present disclosure are executed.
[0128] It should be noted that the computer-readable medium described in the embodiments of the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the embodiments of the present disclosure, the computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, device or device. In the embodiments of the present disclosure, the computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0129] The computer-readable medium may be included in the server; or it may exist independently without being assembled into the server. The computer-readable medium carries one or more programs. When the one or more programs are executed by the server, the server: in response to receiving a data transmission request, sends a public key acquisition request to the second proxy server, wherein the data transmission request is used to request to transmit the data to be transmitted from the first blockchain to the second blockchain, and the public key acquisition request is used to request to obtain the public key of the second proxy server, the first proxy server is the proxy server of the first blockchain, and the second proxy server is the proxy server of the second blockchain; receive the public key returned by the second proxy server in response to the public key acquisition request; encrypt the data to be transmitted using the public key of the second proxy server to obtain the encrypted data, and send the encrypted data to the second proxy server.
[0130] Computer program code for performing the operations of embodiments of the present disclosure may be written in one or more programming languages or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on a user's computer, partially on a user's computer, as a separate software package, partially on a user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0131] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0132] The units involved in the embodiments described in the present disclosure may be implemented by software or hardware. The units described may also be set in a processor, for example, it may be described as: a processor includes a public key acquisition request sending unit, a public key receiving unit and an encryption unit. The names of these units do not constitute a limitation on the units themselves in some cases, for example, the public key receiving unit may also be described as "a unit for receiving the public key returned by the second proxy server in response to the public key acquisition request".
[0133] The above description is only a preferred embodiment of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of the invention involved in the embodiments of the present disclosure is not limited to the technical solutions formed by a specific combination of the above-mentioned technical features, but should also cover other technical solutions formed by any combination of the above-mentioned technical features or their equivalent features without departing from the above-mentioned inventive concept. For example, the above-mentioned features are replaced with the technical features with similar functions disclosed in the embodiments of the present disclosure (but not limited to) to form a technical solution.
Claims
1. A data transmission method, applied to a first proxy server, comprising: In response to receiving the data transmission request, sending a public key acquisition request to the second proxy server, wherein the data transmission request is used to request to transmit the data to be transmitted from the first blockchain to the second blockchain, and the public key acquisition request is used to request to obtain the public key of the second proxy server, the first proxy server is a proxy server of the first blockchain, and the second proxy server is a proxy server of the second blockchain; Receiving the public key returned by the second proxy server in response to the public key acquisition request; Encrypting the data to be transmitted using the public key to obtain encrypted data, and sending the encrypted data to the second proxy server; Wherein, the method further comprises: In response to receiving the data transmission request, determining whether a public key of the second proxy server is pre-stored; In response to determining that the public key of the second proxy server is pre-stored, acquiring the public key of the second proxy server according to the identifier of the second proxy server; Encrypting the data to be transmitted using the public key to obtain encrypted data, and sending the encrypted data to the second proxy server; The step of encrypting the data to be transmitted using the public key to obtain the encrypted data includes: generating a symmetric key for the first proxy server; Encrypting the data to be transmitted using the symmetric key to obtain a first encryption result, and encrypting the symmetric key using the public key to obtain a second encryption result; The first encryption result and the second encryption result are combined into encrypted data.
2. The method according to claim 1, wherein: After receiving the public key returned by the second proxy server in response to the public key acquisition request, the method further includes: The received public key and the identifier of the second proxy server are stored in association.
3. The method according to claim 2, wherein: The step of sending a public key acquisition request to the second proxy server in response to receiving the data transmission request comprises: In response to determining that the public key of the second proxy server does not exist, sending a public key acquisition request to the second proxy server.
4. The method according to claim 1, wherein: The public key of the second proxy server is pre-generated and stored by the second proxy server through the following steps: In response to the initial startup, generating a key pair of the second proxy server, and storing the generated key pair, wherein the key pair includes a matching public key and a private key; In response to the restart, determining whether a key pair of the second proxy server is pre-stored; In response to determining that the key pair of the second proxy server does not exist, a key pair of the second proxy server is generated, and the generated key pair is stored.
5. The method according to claim 1, wherein: In response to receiving the encrypted data, the second proxy server performs the following processing steps: Obtaining a pre-stored private key that matches the public key of the second proxy server; Decrypting the encrypted data using the private key to obtain decrypted data; The second blockchain is called to generate response data corresponding to the decrypted data.
6. A data transmission method, applied to a second proxy server, comprising: Receiving a public key acquisition request sent by a first proxy server, wherein the public key acquisition request is used to request to obtain a public key of the second proxy server, the public key is used to encrypt data transmitted from the first blockchain to the second blockchain, the first proxy server is a proxy server of the first blockchain, and the second proxy server is a proxy server of the second blockchain; According to the public key acquisition request, acquiring a pre-stored public key of the second proxy server; Sending the obtained public key to the first proxy server; Wherein, the method further comprises: receiving encrypted data sent by the first proxy server, wherein the encrypted data is generated based on a first encryption result and a second encryption result, the first encryption result is obtained by encrypting the data to be transmitted with a symmetric key of the first proxy server, and the second encryption result is obtained by decrypting the symmetric key with a public key of the second proxy server; Obtaining a pre-stored private key of the second proxy server; Decrypting the encrypted data using the acquired private key to obtain decrypted data; The second blockchain is called to generate response data corresponding to the decrypted data.
7. The method according to claim 6, wherein: The method further comprises: In response to the initial startup, generating a key pair of the second proxy server, and storing the generated key pair, wherein the key pair includes a matching public key and a private key; In response to the restart, determining whether a key pair of the second proxy server is pre-stored; In response to determining that the key pair of the second proxy server does not exist, a key pair of the second proxy server is generated, and the generated key pair is stored.
8. A data transmission system, comprising a first blockchain, a second blockchain, a first proxy server and a second proxy server, wherein: The first proxy server is a proxy server of the first blockchain, and the second proxy server is a proxy server of the second blockchain; The first blockchain sends a data transmission request to the first proxy server, wherein the data transmission request is used to request to transmit the data to be transmitted from the first blockchain to the second blockchain; The first proxy server sends a public key acquisition request to the second proxy server, where the public key acquisition request is used to request to obtain the public key of the second proxy server; The second proxy server obtains a pre-stored public key of the second proxy server according to the public key acquisition request, and sends the obtained public key to the first proxy server; The first proxy server determines whether the public key of the second proxy server is pre-stored, and in response to determining that the public key of the second proxy server is pre-stored, obtains the public key of the second proxy server according to the identifier of the second proxy server; The first proxy server encrypts the data to be transmitted using the symmetric key of the first proxy server to obtain a first encryption result, and encrypts the symmetric key using the public key of the second proxy server to obtain a second encryption result; the first encryption result and the second encryption result form encrypted data, and the encrypted data is sent to the second proxy server; The second proxy server receives the encrypted data sent by the first proxy server, obtains a pre-stored private key of the second proxy server to decrypt the encrypted data to obtain decrypted data; and calls the second blockchain according to the decrypted data to generate response data.
9. A data transmission device, applied to a first proxy server, wherein: The device comprises: a public key acquisition request sending unit, configured to send a public key acquisition request to the second proxy server in response to receiving a data transmission request, wherein the data transmission request is used to request to transmit the to-be-transmitted data from the first blockchain to the second blockchain, and the public key acquisition request is used to request to obtain the public key of the second proxy server, the first proxy server is a proxy server of the first blockchain, and the second proxy server is a proxy server of the second blockchain; a public key receiving unit, configured to receive the public key returned by the second proxy server in response to the public key acquisition request; an encryption unit, configured to encrypt the data to be transmitted using the public key to obtain encrypted data, and send the encrypted data to the second proxy server; Wherein, the device further comprises: a public key acquisition unit configured to, in response to receiving a data transmission request, determine whether the public key of the second proxy server is pre-stored; in response to determining that the public key of the second proxy server is pre-stored, acquire the public key of the second proxy server according to an identifier of the second proxy server; a data encryption unit, configured to encrypt the data to be transmitted using the public key to obtain encrypted data, and send the encrypted data to the second proxy server; Wherein, the data encryption unit is further configured to: generating a symmetric key for the first proxy server; Encrypting the data to be transmitted using the symmetric key to obtain a first encryption result, and encrypting the symmetric key using the public key to obtain a second encryption result; The first encryption result and the second encryption result are combined into encrypted data.
10. A data transmission device, applied to a second proxy server, wherein: The device comprises: a public key acquisition request receiving unit, configured to receive a public key acquisition request sent by a first proxy server, wherein the public key acquisition request is used to request to obtain a public key of the second proxy server, the public key is used to encrypt data transmitted from the first blockchain to the second blockchain, the first proxy server is a proxy server of the first blockchain, and the second proxy server is a proxy server of the second blockchain; a public key acquisition unit, configured to acquire a pre-stored public key of the second proxy server according to the public key acquisition request; a public key sending unit, configured to send the acquired public key to the first proxy server; Wherein, the device further comprises: a private key acquisition unit, configured to receive encrypted data sent by the first proxy server, wherein the encrypted data is generated based on a first encryption result and a second encryption result, the first encryption result is obtained by encrypting the data to be transmitted with a symmetric key of the first proxy server, and the second encryption result is obtained by decrypting the symmetric key with a public key of the second proxy server; and obtain a pre-stored private key of the second proxy server; The data decryption unit is configured to decrypt the encrypted data using the acquired private key to obtain decrypted data; and call the second blockchain to generate response data corresponding to the decrypted data.
11. A server, comprising: one or more processors; a storage device having one or more programs stored thereon; When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 7.
12. A computer readable medium having a computer program stored thereon, wherein: When the program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Message processing method and device, electronic equipment and computer readable storage medium
CN112671705A
Systems and Methods for Identity-Based Secure Communications
US20080031459A1
Cross-chain blockchain communication method and apparatus
WO2022105565A1