This application claims priority to Chinese Patent Application No. 202010652951.2, filed on Jul. 8, 2020, which is hereby incorporated by reference in its.
One or more embodiments of the present disclosure relate to the field of terminal technologies, and in particular, to blockchain integrated stations and blockchain networks.
Blockchain technology (also known as distributed ledger technology) is a decentralized distributed database technology. This technology has a plurality of characteristics such as decentralization, openness, transparency, tamper-resistance, and trustworthiness, and is applicable to many scenarios with high demands for data reliability.
In view of this, one or more embodiments of the present disclosure provide a blockchain integrated station and a blockchain network.
One or more embodiments of the present disclosure provide the following technical solutions:
According to a first aspect of one or more embodiments of the present disclosure, a blockchain integrated station is provided, where the blockchain integrated station includes a blockchain node device, and the blockchain node device includes a smart network card, a central processing unit, a smart contract processing chip, and a memory;
the smart network card is configured to perform transaction consensus with other nodes in a blockchain network to which the blockchain node device belongs, and upload the transaction that passed the consensus to the central processing unit;
the central processing unit is configured to receive the transaction uploaded by the smart network card and send the transaction for calling a smart contract to the smart contract processing chip;
the smart contract processing chip is configured to receive the transaction sent by the central processing unit and execute the smart contract called by the transaction;
the memory is configured to store blockchain data and status data.
According to a second aspect of one or more embodiments of the present disclosure, a blockchain network is provided, where the blockchain network includes a plurality of blockchain nodes formed by the blockchain integrated stations according to the first aspect.
Example embodiments will be described in detail herein, and examples of the example embodiments are shown in the accompanying drawings. When the following description involves the accompanying drawings, unless otherwise indicated, the same numbers in different accompanying drawings represent the same or similar elements. The implementations described in the following example embodiments are not all the implementations consistent with one or more embodiments of the present disclosure, but are instead merely embodiments of methods and apparatuses that are described in detail in the appended claims and that are consistent with some aspects of one or more embodiments of the present disclosure.
It should be noted that in other embodiments, the steps of corresponding methods are not necessarily performed according to a sequence shown and described in the present disclosure. In some other embodiments, the methods can include more or fewer steps than those described in the present disclosure. In addition, a single step described in the present disclosure can be divided into a plurality of steps for description in other embodiments, and a plurality of steps described in the present disclosure can be combined into a single step for description in other embodiments.
In the early stage of development of the blockchain technology, users mostly add their own personal computer (PC) and laptop computer and the like into a blockchain network to become a blockchain node in the blockchain network. At this time, the stage can be called 1.0 architecture era of blockchain network, in which the behaviors of users to participate in the blockchain network are autonomous and the users also need to perform autonomous maintenance, for example, perform maintenance and configuration and so on for their devices (for example, PC) participating in the blockchain network. Along with continuous development of the blockchain technology, especially along with increasing needs of users for infrastructures with high performance and high availability, the blockchain network develops into 2.0 architecture era based on cloud service. In the 2.0 architecture era, Blockchain-as-a-Service (BaaS) provides fast and convenient solutions for fast blockchain deployment and technical implementation and supports a large number of blockchain service projects. Generally, BaaS is built on infrastructures such as public cloud or private cloud, which introduces heavy dependence on infrastructure as well as providing strong deployment capability. However, because blockchain is a typical distributed computing technology, not all nodes can be migrated to clouds but privatization deployment is needed. The additional technical migration and maintenance costs brought by the privatization deployment cause inconsistent technical interfaces and high deployment and maintenance costs during an actual implementation.
Therefore, in order to avoid the problems of inconsistent interfaces and high deployment and maintenance costs caused by privatization deployment, the present disclosure further upgrades the architecture of the blockchain network, realizing architecture 3.0 architecture era based on a blockchain integrated station.
In the present disclosure, at least one assembly position of the blockchain integrated station is equipped with a blockchain node device. For example, the blockchain node device can be assembled at the assembly position 11 shown in
In the present disclosure, both the hardware and the software of the blockchain node device equipped in the blockchain integrated station are optimized. The following describes the structure of the blockchain node device.
The smart network card 21 is configured to perform transaction consensus with other nodes in a blockchain network to which the blockchain node device belongs, and upload the transaction that passed the consensus to the central processing unit 22.
The central processing unit 22 is configured to receive the transaction uploaded by the smart network card 21 and send the transaction for calling a smart contract to the smart contract processing chip 23.
The smart contract processing chip 23 is configured to receive the transaction sent by the central processing unit 22 and execute the smart contract called by the transaction.
The memory 24 is configured to store blockchain data and status data.
In the present disclosure, the smart network card 21 cannot only implement functions of a traditional network card, but also can replace or assist the central processing unit 22 of the blockchain integrated station to complete part of functions. For example, the smart network card 21 can perform transaction consensus with other nodes in the blockchain network to which the blockchain node device belongs, and upload the transaction that passed the consensus to the central processing unit 22. That is, the function of transaction consensus that was in the central processing unit 22 is offloaded to the smart network card 21.
Compared with other components in the blockchain node device, especially the central processing unit 22, the smart network card 21 is closer to the network in physical level and logic level, so that the smart network card 21 always receives transactions transmitted in the network first. Therefore, the smart network card 21 is used to perform transaction consensus in the case of no memory access or a small amount of memory access is involved, so that the central processing unit 22 does not need to directly participate in the process of consensus. This can significantly improve the efficiency of the consensus.
The smart network card 21 can also filter received transactions. Specifically, the smart network card 21 can include a storage module 211 and a filtering module 212 shown in
The filtering rule stored in the storage module 211 can be filtering out replay transactions. For example, when receiving a transaction, the filtering module 212 can compare the transaction with historical transactions, for example, compare fields such as transmitted information, destination address, timestamp, hash value, so as to identify and filter out replay transactions. Alternatively, the filtering rule can be filtering out illegal transactions or predefined types of transactions. For example, the filtering module 212 can parse contents of received transactions to identify illegal transactions and/or predefined types of transactions, and then filter out such transactions.
The smart contract processing chip 23 in the present disclosure can include an encryption and decryption module 231 and a calculation module 232 shown in
The smart contract processing chip 23 can further include a negotiation module 233 shown in
As shown in
Specifically, the cryptographic accelerator card 25 can include a key management module 251 and a signature module 252 shown in
It should be stated that in actual operations, the key negotiation, the deployment of the binary image file, and the deployment of the node private key and the service key are usually three independent processes. Specifically, the blockchain node device can perform key negotiation with the provider of the blockchain integrated station based on the negotiation information to obtain the file deployment key and the service secret key, and deploy the file deployment key and the service secret key to the smart contract processing chip 23. Based on this, the provider can send the binary image file encrypted by using the file deployment key to the smart contract processing chip 23. The smart contract processing chip 23 can decrypt the encrypted binary image file based on the file deployment key obtained through negotiation in advance, so as to deploy the binary image file obtained through decryption. Further, after updating the binary image file, the provider can send the updated binary image file to the smart contract processing chip 23 by using the file deployment key, so that the smart contract processing chip 23 can re-deploy the binary image file. Correspondingly, the provider can encrypt the node private key and the service key of the blockchain node by using the service secret deployment key, and send the node private key and the service key to the smart contract processing chip 23, so that the smart contract processing chip 23 decrypts the node private key and the service key by using the service secret deployment key and deploys the node private key and the service key locally.
After the node private key and the service key are deployed in the smart contract processing chip 23 in the previous-mentioned method, a private transaction needs in a blockchain scenario can be satisfied. For example, the node private key corresponds to a node public key, a client device can encrypt and transmit a blockchain transaction by using the node public key, and the blockchain node device can decrypt the blockchain transaction by using the node private key. The service key is a symmetric key, which can be used to encrypt and store service data such as contract code and contract status values. The service key cannot be used directly, and the smart contract processing chip 23 can encrypt and decrypt the service key by using a derived key of the service key, to reduce a security risk of the service key. Through reliable management for the node private key and the service root key (or its derivation key), data will be always in encrypted state unless processed by the smart contract processing chip 23. Therefore, the smart contract processing chip 23 actually forms a Trusted Execution Environment (TEE) of hardware on the blockchain integrated station, so as to ensure the data requiring privacy protection such as transactions, contract codes, and contract statuses will not be leaked.
In the present disclosure, the smart contract processing chip 23 is obtained by configuring a field-programmable gate array (FPGA) chip according to a predefined circuit logic configuration file, so as to improve the processing efficiency specific for the smart contract. However, the FPGA chip is volatile, and the deployed circuit logic configuration file will be lost after a power-off, the circuit logic configuration file needs to be re-deployed in the FPGA after a power-on. Therefore, a flash chip 26 shown in
In order to further improve the execution efficiency of the smart contract, the smart contract processing chip 23 can include a plurality of calculation modules, for example, a calculation module a, and a calculation module b shown in
In the present disclosure, the smart network card 21, the central processing unit 22, the smart contract processing chip 23, the memory 24, the cryptographic accelerator card 25 and the flash chip 26 can all be assembled on a board, and the board can be connected to the blockchain node device through a PCIE interface. The board can be an FPGA board or another type of board, which is not limited in the present disclosure.
It can be seen from the above-mentioned technical solutions that the blockchain node device in the present disclosure is equipped with the smart network card and the smart contract processing chip in addition to traditional components such as the central processing unit and the memory. When the blockchain node device receives transaction, the smart network card closer to the network side performs transaction consensus, so that the central processing unit does not need to directly participate in the transaction consensus, which reduces the processing resources occupied by the central processing unit while improving the consensus efficiency. The smart contract is not executed by a traditional blockchain node device like the central processing unit, but is executed by the smart contract processing chip, which not only improves the execution efficiency of the smart contract, but also reduces the resources occupied by the central processing unit.
Further, the blockchain node device is further equipped with the cryptographic accelerator card. The cryptographic accelerator card maintains the root of trust key, so that the smart contract processing chip is capable of performing key negotiation with the provider of the blockchain integrated station by using the cryptographic accelerator card to obtain the file deployment key and the service secret deployment key. On one hand, the smart contract processing chip can obtain the binary image file from the provider based on the file deployment key; on the other hand, the smart contract processing chip can obtain the node private key and the service key for data encryption and decryption by using the service secret deployment key. In other words, by deploying the cryptographic accelerator card, the blockchain node device can proactively deploy the binary image file to form blockchain nodes, and proactively obtain keys for service transmission, thereby realizing encrypted transmission of data.
Further, by assembling the blockchain node device in the blockchain integrated station, the blockchain integrated station can form, based on the blockchain node device, a blockchain network with blockchain node devices in other blockchain integrated stations, so that users can obtain corresponding software code while obtaining the blockchain integrated station from the provider, without deploying blockchain nodes, realizing the integration of software and hardware.
In addition to the blockchain node device, the blockchain integrated station in the present disclosure can also be equipped with other devices to satisfy different needs of users.
It should be understood that the blockchain node device is configured to: if the transaction is received and the transaction passed consensus, execute the smart contract called by the transaction. In this process, external data may need to be called. For example, transactions stored in or smart contracts deployed in blockchain networks different than the blockchain network to which the blockchain node device belongs need to be called, and data stored in an off-chain remote server need to be called.
Therefore, the blockchain integrated station can also be equipped with a cross-chain proxy server. For example, the cross-chain proxy server can be assembled at an assembly position 12 shown in
In the present disclosure, the blockchain integrated station can also be equipped with an off-chain computing node device. For example, the off-chain computing node device can be assembled at an assembly position 13 shown in
Assembling the off-chain computing node device in the blockchain integrated station enables the blockchain node device to distribute computing tasks to the off-chain computing node devices, so that the blockchain node devices can have more processing resources to execute the smart contract, which improves the contract execution efficiency of the blockchain node device.
In actual applications, the blockchain node device can distribute the computing tasks in various manners. For example, in one case, computing tasks of a predetermined type can be distributed to the off-chain computing node device. In this case, when the blockchain node device needs to execute computing tasks of the predetermined type, the off-chain contract in the off-chain computing node device can be called. In another case, under the condition that the processing resources in the blockchain node device are all occupied, the overflow computing tasks can be executed by calling the off-chain contract in the off-chain computing node device. Certainly, this is merely an example, and a person skilled in the art can determine a method of distributing the computing tasks according to the actual situation, which is not limited in the present disclosure.
A certificate authority device can also be assembled in the blockchain integrated station. For example, the certificate authority device can be assembled at an assembly position 14 shown in
By assembling the certificate authority device, the digital certificate authority service is embedded in the blockchain integrated station, which can implement automatic issuance of digital certificates and automatic authentication of node identities, so that the blockchain integrated station can automatically build a blockchain and the blockchain nodes can automatically join the blockchain, implementing plug-and-play of the blockchain integrated station.
In the present disclosure, the hardware of the blockchain node device in the blockchain integrated station can be optimized on the basis of the structure of the blockchain integrated station, and the integration of software and hardware can be implemented by deploying corresponding software in the blockchain node device.
On the basis of the blockchain integrated station, the present disclosure further discloses a blockchain network.
It should be understood that although only four blockchain integrated stations numbered 81 to 84 are shown in
The manner of processing a transaction in the blockchain node device included in the blockchain integrated station in this embodiment is similar to that in the previous embodiment, and will not be described in detail in this embodiment.
In this embodiment, each blockchain integrated station can include only one blockchain node device. In this case, each blockchain integrated station serves as one blockchain node in the blockchain network. For example, the blockchain integrated stations 81 to 84 shown in
In this embodiment, each blockchain integrated station can also include a plurality of blockchain node devices. In other words, one blockchain integrated station in this embodiment can serve as a plurality of blockchain nodes in the blockchain network, that is, the plurality of blockchain node devices included in the blockchain integrated station form a blockchain node. For example, the blockchain integrated station 81 shown in
The blockchain nodes included in the blockchain network in this embodiment can adopt a proof of work (POW) mechanism to perform transaction consensus, or adopt a Practical Byzantine Fault Tolerance (PBFT) mechanism to perform transaction consensus, which is not limited in the present disclosure.
In actual applications, users that need to build a blockchain network can purchase the blockchain integrated station through negotiation. After the purchased blockchain integrated station is powered on, each blockchain integrated station can proactively deploy a blockchain binary image file to form blockchain nodes, and then build the blockchain network together with other blockchain integrated stations.
It can be seen that through the blockchain integrated station in the present disclosure, users do not need not deploy code for a blockchain, as in the related art, after purchasing hardware. Instead, users only need to power on the blockchain integrated station and access the network to build a blockchain network together with blockchain nodes formed by the blockchain integrated stations with the same configuration purchased by other users. This implements the integration of software and hardware, and improves the deployment efficiency on the basis of satisfying the needs of users for deploying private blockchains.
The present disclosure is intended to cover any variations, uses, or adaptations of the present disclosure following the general principles thereof and including such departures from the present disclosure as come within known or customary practice in the art. It is intended that the present disclosure and examples be considered as examples only, with a true scope and spirit of the present disclosure being indicated by the claims below.
The above-mentioned descriptions are merely preferred embodiments of the present disclosure, but are not intended to limit the present disclosure. Any modification, equivalent replacement, or improvement made without departing from the spirit and principle of the present disclosure shall fall within the protection scope of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
202010652951.2 | Jul 2020 | CN | national |