Data sharing method and device based on block chain, medium and electronic equipment
By storing and managing data usage application task information and approval results on the blockchain, combined with event center and encryption technology, secure and traceable data sharing is achieved, solving the problems of insecure and untraceable data sharing in the existing technology.
Patent Information
- Application Number
- CN202311337529.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-16
- Publication Date
- 2025-04-18
AI Technical Summary
It is difficult for the existing technology to achieve secure and traceable data sharing, especially in the context of data management and the development of artificial intelligence technology.
The blockchain-based data sharing method is adopted to obtain data usage application task information and store it on the blockchain, and the event center subscription and approval are carried out to ensure that the data is pushed to the designated location after encryption.
The security and traceability of the data sharing process are realized, the credibility and fine-grainedness of data sharing are improved, and data leakage and tampering are avoided.
Smart Images

Figure CN119848005A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of blockchain technology, and more specifically, to a blockchain-based data sharing method, device, computer-readable medium, and electronic device. Background Art
[0002] With the development of big data and artificial intelligence technologies, data management and sharing have become important functions that need to be implemented in Internet infrastructure.
[0003] Therefore, there is an urgent need for a secure and traceable way to share data. Summary of the invention
[0004] The embodiments of the present application provide a blockchain-based data sharing method, device, computer-readable medium and electronic device, which can make the data sharing process safer and traceable, at least to a certain extent.
[0005] Other features and advantages of the present application will become apparent from the following detailed description, or may be learned in part by the practice of the present application.
[0006] According to one aspect of an embodiment of the present application, a data sharing method based on blockchain is provided, the method comprising: obtaining data usage application task information from a target data user, and storing the data usage application task information in a blockchain, wherein the data usage application task information comprises data source information and a data encryption public key of the data user and data receiving destination information; obtaining the subscribed data usage application task information from the blockchain through an event center, and sending an approval request corresponding to the data usage application task information to a target data provider corresponding to the data source information in the data usage application task information, so as to be approved by the target data provider; obtaining the approval result returned by the target data provider, and storing the approval result in the blockchain; obtaining the subscribed approval result from the blockchain through the event center, and if the event center determines that the data usage application task information has passed the approval according to the approval result, pulling data from the data source corresponding to the data source information, and after encrypting the data based on the data encryption public key, pushing the encrypted data to a location corresponding to the data receiving destination information.
[0007] According to one aspect of an embodiment of the present application, a data sharing device based on blockchain is provided, the device comprising: an acquisition unit, configured to acquire data use application task information from a target data user, and store the data use application task information in a blockchain, wherein the data use application task information comprises data source information and a data encryption public key of the data user and data receiving destination information; a subscription and approval unit, configured to acquire the subscribed data use application task information from the blockchain through an event center, and send an approval request corresponding to the data use application task information to a target data provider corresponding to the data source information in the data use application task information, so as to be approved by the target data provider; an acquisition and storage unit, configured to acquire an approval result returned by the target data provider, and store the approval result in the blockchain; a subscription and push unit, configured to acquire the subscription approval result from the blockchain through the event center, and if the event center determines that the data use application task information has passed the approval according to the approval result, then pull data from the data source corresponding to the data source information, and after encrypting the data based on the data encryption public key, push the encrypted data to a location corresponding to the data receiving destination information.
[0008] In some embodiments of the present application, based on the aforementioned scheme, the data source information includes database information, the data usage application task information also includes field information, and the subscription and push unit is configured to: pull data corresponding to the field information from the database corresponding to the data source information according to the field information.
[0009] In some embodiments of the present application, based on the aforementioned scheme, the device also includes a data publishing unit. Before obtaining the data usage application task information from the target data user, the data publishing unit is used to: obtain data source related information from the target data provider, the data source related information including metadata information related to the database; and store the metadata information in the blockchain.
[0010] In some embodiments of the present application, based on the aforementioned scheme, the data source related information also includes database login related information, and the device also includes an encryption unit; after obtaining the data source related information from the target data provider, the encryption unit is used to: encrypt the database login related information and store the encryption result locally; the subscription and push unit is configured to: decrypt the encryption result to obtain the database login related information; access the database corresponding to the data source information according to the database login related information, and pull data from the database.
[0011] In some embodiments of the present application, based on the aforementioned scheme, the subscription and push unit is configured as follows: if the event center determines that the data usage application task information has passed the approval based on the approval result, the data usage application task information is marked as authorized; and according to the data usage application task information marked as authorized, data is pulled from the data source corresponding to the data source information.
[0012] In some embodiments of the present application, based on the aforementioned scheme, the device also includes a decryption tool providing unit; after pushing the encrypted data to the location corresponding to the data receiving destination information, the decryption tool providing unit is used to: receive a decryption tool download request from the target data user; return the decryption tool to the target data user according to the decryption tool download request, so that after the target data user pulls the encrypted data from the location corresponding to the data receiving destination information, the target data user decrypts the encrypted data based on the data decryption private key paired with the data encryption public key and the decryption tool.
[0013] In some embodiments of the present application, based on the aforementioned scheme, the device has a target control console including the event center, and the target control console is one of multiple control consoles, and each of the multiple control consoles is bound to an exclusive data user and data provider.
[0014] In some embodiments of the present application, based on the aforementioned scheme, the subscription and approval unit is configured as follows: if the target data provider corresponding to the data usage application task information is the data provider bound to the target control console, then an approval request corresponding to the data usage application task information is sent to the target data provider corresponding to the data source information in the data usage application task information.
[0015] In some embodiments of the present application, based on the aforementioned solution, the database login related information includes at least one of the following: database login IP address, login account, and password.
[0016] According to one aspect of an embodiment of the present application, a computer-readable medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the blockchain-based data sharing method as described in the above embodiment is implemented.
[0017] According to one aspect of an embodiment of the present application, an electronic device is provided, comprising: one or more processors; a storage device for storing one or more computer programs, wherein when the one or more computer programs are executed by the one or more processors, the one or more processors implement the blockchain-based data sharing method as described in the above embodiments.
[0018] According to one aspect of an embodiment of the present application, a computer program product is provided, which includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. A processor of an electronic device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the electronic device executes the blockchain-based data sharing method as described in the above embodiments.
[0019] In the technical solutions provided in some embodiments of the present application, the target control station first obtains the data use application task information sent by the target data user and stores it in the blockchain. Then, the event center of the target control station obtains at least one data use application task information including the data use application task information through the subscription operation of the information in the blockchain, and sends an approval request to the target data provider corresponding to the data source information in the data use application task information; then, when the target control station receives the approval result, it will store it in the blockchain; finally, the event center of the target control station will also obtain the approval result through the subscription operation of the information in the blockchain. If the approval is passed, the data can be encrypted and migrated based on the data use application task information to realize data sharing. Since the important information involved in the data sharing process such as the data use application task information and the approval result is stored in the blockchain in the embodiment of the present application, data sharing is realized in a decentralized manner, and the data sharing process is left in the blockchain throughout the whole process, which can be easily traced and is safer, and the credibility of data sharing is improved; at the same time, since the data applied by the data user will also be encrypted using the data encryption public key provided by the data user, the security of data sharing is further improved.
[0020] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The drawings herein are incorporated into the specification and constitute a part of the specification, showing embodiments consistent with the present application, and together with the specification, are used to explain the principles of the present application. Obviously, the drawings described below are only some embodiments of the present application, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. In the drawings:
[0022] Figure 1 A schematic diagram showing an exemplary system architecture to which the technical solution of the embodiments of the present application can be applied;
[0023] Figure 2 A flowchart of a data sharing method based on blockchain according to an embodiment of the present application is shown;
[0024] Figure 3 A schematic diagram according to an embodiment of the present application is shown;
[0025] Figure 4 An embodiment according to the present application is shown. Figure 2 Flowchart of steps before step 240 in the embodiment;
[0026] Figure 5A A schematic diagram showing a first part of a timing diagram according to an embodiment of the present application;
[0027] Figure 5B A schematic diagram showing a second part of a timing diagram according to an embodiment of the present application;
[0028] Figure 6 A schematic diagram of a display interface for metadata information according to an embodiment of the present application is shown;
[0029] Figure 7 An embodiment according to the present application is shown. Figure 4 A flowchart of the details of the steps after step 210 and step 270 in the embodiment;
[0030] Figure 8 An embodiment according to the present application is shown. Figure 2 A flowchart of the details of step 250 in an embodiment;
[0031] Fig. 9 An embodiment according to the present application is shown. Figure 2 A flowchart of the details of step 270 in an embodiment;
[0032] Fig.10 An embodiment according to the present application is shown. Figure 2 A flowchart of the steps after step 270 in the embodiment;
[0033] Fig.11 A block diagram of a data sharing device based on blockchain according to an embodiment of the present application is shown;
[0034] Fig.12 A schematic diagram of the structure of a computer system suitable for implementing an electronic device of an embodiment of the present application is shown. DETAILED DESCRIPTION
[0035] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this application will be more comprehensive and complete and fully convey the concept of the example embodiments to those skilled in the art.
[0036] In addition, described feature, structure or characteristic can be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present application. However, those skilled in the art will appreciate that the technical scheme of the present application can be put into practice without one or more of the specific details, or other methods, components, devices, steps, etc. can be adopted. In other cases, known methods, devices, realizations or operations are not shown or described in detail to avoid blurring the various aspects of the application.
[0037] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities may be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0038] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps can be decomposed, and some operations / steps can be combined or partially combined, so the actual execution order may change according to actual conditions.
[0039] There are two main data sharing methods used in related technologies:
[0040] 1. The data provider stores the provided data in the database, and then directly provides the login method of the database to the data user. After logging into the database, the database user can read the data without restriction.
[0041] 2. The data provider provides an interface for users to query.
[0042] However, the above-mentioned related technologies obviously have the following disadvantages:
[0043] 1. Unable to use data in a fine-grained manner.
[0044] 2. The application and use process does not leave reliable and secure traces on the blockchain, making it inconvenient to trace.
[0045] 3. If the data provider provides an interface for users to query, the provider needs to develop a customized interface.
[0046] 4. There is no authorization process or peer-to-peer centralized authorization.
[0047] To this end, the present application first provides a data sharing method based on blockchain. The data sharing method based on blockchain provided by the embodiment of the present application can overcome the above-mentioned defects, not only does not require the development of customized interfaces, but also can leave traces of the entire data sharing process on the blockchain, improves traceability, and can achieve fine-grained data sharing, that is, the data sharing method based on blockchain provided by the embodiment of the present application realizes the trusted and secure sharing of data between data providers and data users based on blockchain technology.
[0048] Figure 1 A schematic diagram of an exemplary system architecture to which the technical solution of the embodiment of the present application can be applied is shown. Figure 1 As shown, the system architecture 100 may include a first user terminal 110, a second user terminal 120, a blockchain network 130, a control console server 140, a first database server 150, and a second database server 160. The blockchain network 130 includes a plurality of blockchain nodes, which may specifically include a first blockchain node 131, a second blockchain node 132, a third blockchain node 133, a fourth blockchain node 134, and a fifth blockchain node 135. The first user terminal 110, the first database server 150, and the control console server 140 are connected to each other through a communication link. The second user terminal 120, the second database server 160, and the control console server 140 are connected to each other through a communication link. The two are connected via a communication link, the control console server 140 and the blockchain network 130 are also connected via a communication link, and a communication connection is established between any two blockchain nodes in the blockchain network 130. Each blockchain node in the blockchain network 130 stores a blockchain. A control console is deployed on the control console server 140, and the control console has an event center module. The first user terminal 110 and the second user terminal 120 are both deployed with a control console client that can access the control console. The first database server 150 is deployed with a first database that can be accessed by the first user terminal 110, and the second database server 160 is deployed with a second database that can be accessed by the second user terminal 120. The control console server 140 can be the executor of the embodiment of the present application. When a data sharing method based on blockchain provided in the embodiment of the present application is applied to Figure 1In the system architecture shown, a process may be as follows: first, the user of the second user terminal 120, as a data provider, adds shared data to the second database on the second database server 160; then, the user of the second user terminal 120 uses the second control console client on the second user terminal 120 to send data source related information to the control console on the control console server 140 to publish data; then, the control console sends at least part of the data source related information to a blockchain node of the blockchain network 130, so that the blockchain node stores at least part of the data source related information in the blockchain; then, if the user of the first user terminal 110 needs to use the data provided by the data provider, the user of the first user terminal 110, as a data user, uses the first control console client on the first user terminal 110 to request the control console to create a data use application task to request that the data shared by the user of the second user terminal 120 be stored in the first database, and the control console stores the data use application task information carried in the request. to the blockchain; then, since the event center module of the control console has subscribed to all data usage application task information in the blockchain, the event center module will receive the data usage application task information stored by the control console in the blockchain; then, the event center module sends an approval request to the user of the second user terminal 120 corresponding to the data source information in the data usage application task information, and the event center module will receive the corresponding approval result and store the approval result in the blockchain; then, since the event center module of the control console has subscribed to all approval results in the blockchain, the event center module will receive the approval result; then, when the event center module determines that the approval is passed according to the approval result, the control console will obtain the corresponding data usage application task information from the blockchain, pull data from the second database on the second database server 160 according to the data usage application task information, and push the pulled data to the first database of the first database server 150 that the first user terminal 110 can access.
[0049] In some embodiments of the present application, users are bound to a control console, and each user can only access the control console to which he is bound. The user of the first user terminal 110 and the user of the second user terminal 120 are both bound to the control console on the control console server 140.
[0050] In some embodiments of the present application, the control station on the control station server 140 is one of multiple control stations.
[0051] In some embodiments of the present application, the blockchain network 130 will push the latest data usage application task information on the blockchain to the event center module of all control consoles that have subscribed to the data usage application task information.
[0052] In some embodiments of the present application, the blockchain network 130 will push the latest approval results on the blockchain to the event center modules of all control consoles that have subscribed to the approval results.
[0053] It should be understood that Figure 1 The number of control console servers, the number of user terminals connected to the control console servers, the number of database servers corresponding to each user terminal, and the number of blockchain nodes in the blockchain network are only illustrative. According to the implementation needs, there can be any number of control console servers, the number of user terminals connected to each control console server can also be any number, the number of database servers corresponding to each user terminal and the number of blockchain nodes in the blockchain network can also be arbitrary, that is, the number of control console servers and the number of database servers corresponding to each user terminal can be more than two, and the number of blockchain nodes in the blockchain network can be more than 5 or less than 5.
[0054] It should be noted that Figure 1 The embodiment shown is only one embodiment of the present application. Figure 1 In the scheme of the embodiment, the blockchain node in the blockchain network is a server, the control console runs on the server, and the user terminal is a desktop computer, but in other embodiments of the present application, the blockchain node, the operating device of the control console and the user terminal can also be various types of electronic devices such as smart phones, laptops, desktop computers, tablet computers, vehicle terminals, aircraft, portable wearable devices, workstations, smart speakers, smart watches, smart home appliances, etc.; although in Figure 1 In the scheme of the embodiment, the device type of each blockchain node in the blockchain network is the same, but in other embodiments of the present application, each blockchain node in the blockchain network can use different types of electronic devices; although in Figure 1 In the embodiment, each control station has only one event center module, but in other embodiments of the present application, each control station may have multiple event center modules; Figure 1 In the scheme of the embodiment, the data use application task information and approval results are actively pushed to the control center by the blockchain network, but in other embodiments of the present application, the control center can also monitor the blockchain network and actively obtain relevant information from the blockchain; although in Figure 1 In the solution of the embodiment, the data user and the data provider belong to the same control station, but in other embodiments of the present application, the data user and the data provider may also belong to different control stations; Figure 1In the scheme of the embodiment, the data in the database is shared, but in other embodiments of the present application, various other types of data such as files can also be shared. The embodiment of the present application does not make any limitation to this, and the protection scope of the present application should not be limited in any way.
[0055] It is easy to understand that the blockchain-based data sharing method provided in the embodiment of the present application is generally executed by the server, and accordingly, the blockchain-based data sharing device is generally set in the server. However, in other embodiments of the present application, the user terminal may also have similar functions as the server, thereby executing the blockchain-based data sharing solution provided in the embodiment of the present application.
[0056] Therefore, the embodiments of the present application can be applied to user terminals or servers. The server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The user terminal and the server can be directly or indirectly connected via wired or wireless communication, and this application does not limit this.
[0057] The solution of the embodiment of the present application can be applied to the field of blockchain. Blockchain is a new application mode of computer technologies such as distributed data storage, point-to-point transmission, consensus mechanism, encryption algorithm, etc. Blockchain is essentially a decentralized database, a string of data blocks generated by cryptographic methods, each of which contains a batch of network transaction information, which is used to verify the validity of its information (anti-counterfeiting) and generate the next block. Blockchain can include the underlying blockchain platform, the platform product service layer, and the application service layer.
[0058] The underlying blockchain platform can include processing modules such as user management, basic services, smart contracts, and operation monitoring. Among them, the user management module is responsible for the identity information management of all blockchain participants, including maintaining public and private key generation (account management), key management, and the maintenance of the correspondence between the user's real identity and the blockchain address (authority management), etc., and, under authorization, supervises and audits the transactions of certain real identities and provides risk control rule configuration (risk control audit); the basic service module is deployed on all blockchain node devices to verify the validity of business requests, and records valid requests to storage after consensus is reached. For a new business request, the basic service first adapts the interface for parsing and authentication (interface adaptation), and then encrypts the business information through the consensus algorithm (consensus management). The smart contract module is responsible for the registration and issuance of contracts, as well as contract triggering and contract execution. Developers can define the contract logic in a programming language and publish it to the blockchain (contract registration). According to the logic of the contract terms, the key or other events are called to trigger the execution and complete the contract logic. It also provides the function of contract upgrade and cancellation. The operation monitoring module is mainly responsible for the deployment, configuration modification, contract setting, cloud adaptation and real-time status visualization output of the product during the product release process, such as alarm, network status monitoring, node equipment health status monitoring, etc.
[0059] The platform product service layer provides the basic capabilities and implementation framework of typical applications. Developers can superimpose business features based on these basic capabilities to complete the blockchain implementation of business logic. The application service layer provides application services based on blockchain solutions for business participants to use.
[0060] The implementation details of the technical solution of the embodiment of the present application are described in detail below:
[0061] Figure 2 A flowchart of a data sharing method based on blockchain according to an embodiment of the present application is shown. The data sharing method based on blockchain can be executed by various electronic devices capable of computing and processing, such as user terminals or servers. The data sharing method based on blockchain can be executed by a target control console including an event center located on these electronic devices. Please refer to Figure 2 As shown, the blockchain-based data sharing method includes at least the following steps:
[0062] In step 240, data usage application task information is obtained from the target data user, and the data usage application task information is stored in the blockchain. The data usage application task information includes data source information and the data encryption public key and data receiving destination information of the data user.
[0063] Before introducing step 240, first, the architectural principles of the embodiment of the present application are introduced. Figure 3 Schematic diagram of an embodiment of the present application is shown. Figure 3 , which shows 4 rounded rectangular dotted boxes, each of which represents an organization. Each organization has a BCC (Blockchain Confidential Computing) control console, and each BCC control console has several users belonging to the BCC control console. Therefore, for each BCC control console, the users belonging to the BCC control console are also users of the organization to which the BCC control console belongs. Each BCC control console can only be accessed by users who are exclusive to the BCC control console. Institutions can be various entities such as hospitals and schools. The same person can be a user of different organizations or BCC control consoles. Each user can be a data source provider or a data user. The same user can be both a data source provider and a data user. Figure 3 Each control console of each organization will be equipped with a database (such as Mysql) and a cache service (such as Redis). The data of the database and cache service comes from the blockchain, which is subscribed and synchronized from the blockchain to the local database. When the local database is queried, it will also be loaded into the cache service. Its role is to accelerate the query and provide multi-dimensional, complex query, and fuzzy query needs. This method is adopted because the performance of direct query on the blockchain is not high, and to achieve the same effect, the implementation of smart contracts will be very complicated. Figure 3 The blockchain network is also shown. The blockchain node includes multiple blockchain nodes. Any two blockchain nodes in the blockchain network can communicate with each other. Each BCC control station can communicate with one or more blockchain nodes in the blockchain network. For example, it can communicate with the blockchain node closest to it in the blockchain network, or it can communicate with the blockchain node that the BCC control station has access to. Each blockchain node can also belong to an organization. The blockchain is stored on the blockchain node.
[0064] Although each organization has only one control console in the above embodiments, in other embodiments of the present application, each organization may also have multiple control consoles.
[0065] In one embodiment of the present application, the target control station is one of a plurality of control stations, and each of the plurality of control stations is bound to an exclusive data user and data provider.
[0066] Data users and data providers can belong to different control consoles, thus enabling data sharing across control consoles.
[0067] Then, the steps before step 240 are described in detail. Figure 4 An embodiment according to the present application is shown. Figure 2 Flowchart of steps before step 240 in the embodiment. Figure 4 As shown, before obtaining the data use application task information from the target data user, the blockchain-based data sharing method may include the following steps:
[0068] In step 210, data source related information is obtained from a target data provider, where the data source related information includes metadata information related to the database.
[0069] The target data provider is the data source provider, who needs to share the data he owns with the outside world.
[0070] Next, combine Figure 5A and Figure 5B The timing diagram provided is used to correspondingly introduce the scheme of the embodiment of the present application.
[0071] Figure 5A FIG. 1 is a schematic diagram showing a first part of a timing diagram according to an embodiment of the present application. Figure 5A As shown, it involves two data contribution participants, data providers and data users, as well as a control center, blockchain provided by chain resources, data provider private storage, and data user ciphertext storage. The control center includes the BCC control center and the BCC event center. It is easy to understand that the control center and the BCC control center are actually the same entity. The BCC event center is a module in the control center or the BCC control center. In order to more clearly describe the solution of the embodiment of the present application, the part of the control center other than the BCC event center is represented by the BCC control center. Please refer to Figure 5A As shown in the figure, the data publishing stage includes the following steps:
[0072] Step 01: The data provider requests the BCC control center to publish data, and the request will carry relevant information about the data source.
[0073] Figure 6 A schematic diagram of a display interface for metadata information according to an embodiment of the present application is shown. Figure 6 As shown, the data source related information received by the target control station from the target data provider may include Figure 6 The metadata information such as the database instance name, table name, data item, etc. is shown.
[0074] In one embodiment of the present application, the data source related information also includes database login related information.
[0075] The database login related information is several items of information used to log in to the database.
[0076] In one embodiment of the present application, the database login related information includes at least one of the following: database login IP address, login account, and password.
[0077] Please continue to see Figure 6 As shown, the database address shown is the database login IP address, although it is Figure 6 It is a metadata information, but in the above embodiment, the database login IP address exists as a database login related information.
[0078] In step 220, the metadata information is stored in the blockchain.
[0079] The target control console will send the metadata information as a transaction to a node in the blockchain network, and the node will store the transaction in the blockchain.
[0080] Figure 7 An embodiment according to the present application is shown. Figure 4 Flow chart of details of steps after step 210 and step 270 in the embodiment. Figure 7 As shown, after obtaining the data source related information from the target data provider, the blockchain-based data sharing method may further include the following steps:
[0081] In step 230, the database login related information is encrypted and the encryption result is stored locally.
[0082] You can use an asymmetric encryption algorithm based on the public key of the target control console to encrypt the database login related information, or you can use a symmetric encryption algorithm based on the key to encrypt the database login related information.
[0083] The target control console can store the encryption results in a local database.
[0084] Although in the embodiment of the present application, step 230 is performed after step 220, in other embodiments of the present application, step 230 may also be performed before step 220, and step 230 may also be performed simultaneously with step 220.
[0085] Please continue to see Figure 5A As shown, after step 01, the following steps are also included:
[0086] Step 02, the BCC control console obtains the data table name and other data source related information to create the data source.
[0087] Step 03: The BCC control console encrypts sensitive data such as the database login IP address and saves the encryption result locally.
[0088] Step 04: The BCC control console stores the metadata information as a transaction in the blockchain to implement the evidence storage and chain operation.
[0089] Step 05: When step 04 is successfully completed, the BCC control console receives the TxID (Transaction ID) returned by the blockchain network, which can be Figure 6 The on-chain information shown.
[0090] Step 06: The BCC control console returns the TxID to the data provider to notify the data provider that the data has been successfully published.
[0091] Next, step 240 is described in detail.
[0092] The data usage application task information obtained in step 240 is provided by the target data user to the target control console after the target data user sees which data providers have provided which data through the data market. Figure 6 The interface shown may be a display interface of the data market.
[0093] In one embodiment of the present application, the data source information includes database information, which may include information such as the name of a database instance, the name of a data table, and a database address.
[0094] The data source information may also include identification information of the target data provider, identification information of the control console to which the target data provider belongs, and the like.
[0095] The data receiving destination information may be information related to a database used by the target data user to receive shared data, that is, receiving database configuration information, which may include information such as the IP address, user name and password of the receiving database.
[0096] In one embodiment of the present application, the data usage application task information also includes field information.
[0097] The field information indicates that the target data consumer needs to obtain data corresponding to certain fields. Figure 6 The field names included in the data items can be used as field information in the data application task information.
[0098] Please continue to see Figure 5A As shown, after step 06, the data application stage is entered, including the following steps:
[0099] Step 07, the data user requests the BCC control center to create a data usage application task, thereby sending the data usage application task information to the BCC control center.
[0100] Step 08, the BCC control console obtains the data source, application fields, and receives database configuration information specified by the data user.
[0101] Step 09: The BCC control console obtains the data encryption public key uploaded by the data user.
[0102] Step 10: The BCC control console stores the data usage application task information in the blockchain to realize the data usage application task on-chain.
[0103] Step 11: The BCC control console receives the TxID returned by the blockchain network.
[0104] Please continue to see Figure 2 As shown, after step 240, the following steps are also included:
[0105] In step 250, the subscribed data usage application task information is obtained from the blockchain through the event center, and an approval request corresponding to the data usage application task information is sent to the target data provider corresponding to the data source information in the data usage application task information for approval by the target data provider.
[0106] The event center of each control station, including the target control station, can subscribe to the smart contract events corresponding to the data usage application task information in the blockchain network in advance. Whenever a new data usage application task information is added to the blockchain, the corresponding smart contract event is triggered. The blockchain node in the blockchain network will push the smart contract event corresponding to the data usage application task information to each control station that has subscribed to the data usage application task information, and then obtain the data usage application task information carried by the smart contract event.
[0107] Figure 8 An embodiment according to the present application is shown. Figure 2 Flow chart of details of step 250 in the embodiment. Figure 8 As shown, sending an approval request corresponding to the data use application task information to the target data provider corresponding to the data source information in the data use application task information may specifically include the following steps:
[0108] In step 250', if the target data provider corresponding to the data usage application task information is the data provider bound to the target control console, an approval request corresponding to the data usage application task information is sent to the target data provider corresponding to the data source information in the data usage application task information.
[0109] The target control center can obtain the data usage application task information uploaded by each data provider. Only the data usage application task information corresponding to the data provider belonging to the target control center can be processed by the target control center.
[0110] Please continue to see Figure 5A As shown, after step 11, the on-chain event detection phase of the approval data phase is entered, including the following steps:
[0111] Step 12: The BCC Event Center obtains the smart contract event of the subscribed data usage application task from the blockchain.
[0112] Step 13, the BCC event center obtains the data usage application task information based on the smart contract event of the data usage application task, and determines whether the corresponding data provider is the user of the current control console based on the data usage application task information. If the corresponding data provider is not the user of the current control console, the smart contract event of the data usage application task is discarded and the process ends.
[0113] Step 14: If the BCC event center determines that the corresponding data provider is the user of the current control console based on the smart contract event of the data usage application task, the smart contract event of the data usage application task is stored in the local database.
[0114] In step 260, the approval result returned by the target data provider is obtained, and the approval result is stored in the blockchain.
[0115] Please continue to see Figure 5A As shown, after step 14, the approval event processing phase of the approval data phase is entered, including the following steps:
[0116] Step 15: The BCC Event Center notifies the data provider to approve the data use application task through a pending event.
[0117] Step 16: The data provider returns the approval result to the BCC event center through the front-end page to approve the data use application task.
[0118] Step 17: The BCC event center obtains the approval result fed back by the data provider, and the approval result can be approval or rejection.
[0119] Step 18: The BCC Event Center stores the approval results in the blockchain to realize the on-chain approval of the results. At this time, the corresponding smart contract event will be triggered in the blockchain network.
[0120] Step 19: When the approval result is successfully uploaded to the chain, the BCC event center receives the TxID returned by the blockchain node.
[0121] In step 20, the BCC event center returns the received TxID to the data provider, thereby notifying it that the approval result has been successfully uploaded to the chain.
[0122] In step 270, the approval result of the subscription is obtained from the blockchain through the event center. If the event center determines that the data usage application task information is approved based on the approval result, the data is pulled from the data source corresponding to the data source information, and after encrypting the data based on the data encryption public key, the encrypted data is pushed to the location corresponding to the data receiving destination information.
[0123] The event center of each control station, including the target control station, can subscribe to the smart contract events corresponding to the approval results in the blockchain network in advance. Whenever a new approval result is added to the blockchain, the corresponding smart contract event will be triggered. The blockchain nodes in the blockchain network will push the smart contract events corresponding to the approval results to each control station that has subscribed to the approval results, and then the approval results provided by the smart contract events can be obtained.
[0124] In one embodiment of the present application, if the event center determines that the data usage application task information has been approved based on the approval result, data is pulled from the data source corresponding to the data source information, including: if the event center determines that the data usage application task information has been approved based on the approval result, the data usage application task information is marked as authorized; based on the data usage application task information marked as authorized, data is pulled from the data source corresponding to the data source information.
[0125] The approval result may include identification information in the data usage application task information used to identify the data usage application task information. The event center can record an authorized mark for the identification information of each data usage application task information that has passed the approval. When it is necessary to pull data, the target control console can obtain the corresponding data usage application task information from the blockchain according to the corresponding identification information recorded with the authorized mark, and then pull data according to the data usage application task information.
[0126] Please continue to see Figure 7 As shown, pulling data from the data source corresponding to the data source information may include the following steps:
[0127] In step 271, the encryption result is decrypted to obtain database login related information.
[0128] The encrypted result can be decrypted using an asymmetric encryption algorithm based on the private key of the target control console, or using a symmetric encryption algorithm based on the key.
[0129] In step 272, the database corresponding to the data source information is accessed according to the database login related information, and data is pulled from the database.
[0130] Fig. 9 An embodiment according to the present application is shown. Figure 2Flow chart of details of step 270 in the embodiment. Fig. 9 As shown, pulling data from the data source corresponding to the data source information may include the following steps:
[0131] In step 270 ′, data corresponding to the field information is pulled from a database corresponding to the data source information according to the field information.
[0132] In the embodiment of the present application, fine-grained data sharing is achieved by pulling data according to field information.
[0133] Please continue to see Figure 5A As shown, after step 20, the on-chain data monitoring sub-step of processing the approval event step is entered, including the following steps:
[0134] Step 21, the BCC Event Center obtains the smart contract event of the approval result of the subscribed data usage application task from the blockchain.
[0135] In step 22, the BCC event center obtains the approval result based on the smart contract event of the approval result. If the BCC event center determines that the data provider rejects the application based on the approval result, the data use application fails, and the entire process can be terminated at this time.
[0136] Step 23: If the BCC event center determines that the data provider agrees based on the approval result, the data use application is determined to be successful. At this time, the identification information of the data use application task information can be marked as authorized.
[0137] Figure 5B FIG. 1 is a schematic diagram showing a second part of a timing diagram according to an embodiment of the present application. Figure 5B As shown, at the end Figure 5A After step 23 in the task execution phase, the task execution phase is started, which includes the following steps:
[0138] Step 24, the BCC control center requests to obtain the successfully applied data usage application task information related to the data provider of the current control center from the blockchain according to the identification information corresponding to the authorized tag.
[0139] Step 25, the BCC control console obtains the data usage application task information from the blockchain.
[0140] Step 26, the BCC control console pulls the data required by the data user from the data provider's private storage in pages according to the data use application task information.
[0141] Step 27, the BCC control console encrypts the pulled data based on the data user's data encryption public key, and pushes the encrypted data to the data user's ciphertext database.
[0142] The following describes how the data user obtains the plaintext of the shared data.
[0143] Fig.10 An embodiment according to the present application is shown. Figure 2 Flow chart of the steps after step 270 in the embodiment. Fig.10 As shown, after the encrypted data is pushed to the location corresponding to the data receiving destination information, the method may further include the following steps:
[0144] In step 280, a decryption tool download request is received from a target data user.
[0145] The target data user can request the control console to obtain the decryption tool. The decryption tool can be an encryption and decryption tool with encryption and decryption functions.
[0146] In step 290, the decryption tool is returned to the target data user according to the decryption tool download request, so that after the target data user pulls the encrypted data from the location corresponding to the data receiving destination information, the target data user decrypts the encrypted data based on the data decryption private key paired with the data encryption public key and the decryption tool.
[0147] The decryption tool is a binary program downloaded by the target data user from his own control console. It can decrypt the encrypted data in conjunction with the data decryption private key stored locally by the target data user.
[0148] Please continue to see Figure 5B As shown, after step 27, the calculation result acquisition phase is entered, which includes the following steps:
[0149] Step 28: The data user sends a data encryption and decryption tool download request to the BCC control center.
[0150] Step 29: The BCC control console returns the data encryption and decryption tool enctool to the data user.
[0151] In step 30, the data user obtains a private key paired with the data encryption public key provided when creating the data use application task.
[0152] Step 31: The data user locally configures enctool, a data encryption and decryption tool, based on the private key.
[0153] Step 32: The data user pulls the encrypted data from the data user's ciphertext storage.
[0154] Step 33: The data user uses enctool to decrypt the encrypted data to obtain plaintext data.
[0155] Step 34, the data user pushes the plaintext data to the plaintext database where the data user stores the plaintext data.
[0156] Step 35: The data user receives feedback information from the plaintext database, thereby confirming that the plaintext data push is successful.
[0157] After obtaining the plaintext data, the data user can conduct subsequent analysis and use.
[0158] In summary, according to the blockchain-based data sharing method provided by the embodiment of the present application, the following beneficial effects can be achieved: utilizing the decentralized, tamper-proof, and traceable characteristics of the blockchain itself, data providers and data users can share data securely, and data users can apply for specific data according to their needs, and data providers can review and approve. After approval, the authorized data will be encrypted and directed to the database specified by the data user. Through the data market, data application, approval, and authorization are carried out in a decentralized manner. The entire process is traceable on the blockchain.
[0159] The following describes an apparatus embodiment of the present application, which can be used to execute the blockchain-based data sharing method in the above-mentioned embodiment of the present application. For details not disclosed in the apparatus embodiment of the present application, please refer to the above-mentioned embodiment of the blockchain-based data sharing method of the present application.
[0160] Fig.11 A block diagram of a blockchain-based data sharing device according to an embodiment of the present application is shown.
[0161] Reference Fig.11As shown, according to an embodiment of the present application, a blockchain-based data sharing device 1100 includes: an acquisition unit 1110, a subscription and approval unit 1120, an acquisition and storage unit 1130, and a subscription and push unit 1140. Among them, the acquisition unit 1110 is used to acquire data usage application task information from the target data user and store the data usage application task information in the blockchain, wherein the data usage application task information includes data source information and the data encryption public key of the data user and data receiving destination information; the subscription and approval unit 1120 is used to acquire the subscribed data usage application task information from the blockchain through the event center, and send an approval request corresponding to the data usage application task information to the target data provider corresponding to the data source information in the data usage application task information, so that the target data provider can approve it; the acquisition and storage unit 1130 is used to acquire the approval result returned by the target data provider, and store the approval result in the blockchain; the subscription and push unit 1140 is used to acquire the subscription approval result from the blockchain through the event center, if the event center determines that the data usage application task information is approved according to the approval result, then pull data from the data source corresponding to the data source information, and after encrypting the data based on the data encryption public key, push the encrypted data to the location corresponding to the data receiving destination information.
[0162] In some embodiments of the present application, based on the aforementioned scheme, the data source information includes database information, the data usage application task information also includes field information, and the subscription and push unit 1140 is configured to: pull data corresponding to the field information from the database corresponding to the data source information according to the field information.
[0163] In some embodiments of the present application, based on the aforementioned scheme, the device also includes a data publishing unit. Before obtaining the data usage application task information from the target data user, the data publishing unit is used to: obtain data source related information from the target data provider, the data source related information including metadata information related to the database; and store the metadata information in the blockchain.
[0164] In some embodiments of the present application, based on the aforementioned scheme, the data source related information also includes database login related information, and the device also includes an encryption unit; after obtaining the data source related information from the target data provider, the encryption unit is used to: encrypt the database login related information and store the encryption result locally; the subscription and push unit 1140 is configured to: decrypt the encryption result to obtain the database login related information; access the database corresponding to the data source information according to the database login related information, and pull data from the database.
[0165] In some embodiments of the present application, based on the aforementioned scheme, the subscription and push unit 1140 is configured as follows: if the event center determines that the data usage application task information has passed the approval based on the approval result, the data usage application task information is marked as authorized; and according to the data usage application task information marked as authorized, data is pulled from the data source corresponding to the data source information.
[0166] In some embodiments of the present application, based on the aforementioned scheme, the device also includes a decryption tool providing unit; after pushing the encrypted data to the location corresponding to the data receiving destination information, the decryption tool providing unit is used to: receive a decryption tool download request from the target data user; return the decryption tool to the target data user according to the decryption tool download request, so that after the target data user pulls the encrypted data from the location corresponding to the data receiving destination information, the target data user decrypts the encrypted data based on the data decryption private key paired with the data encryption public key and the decryption tool.
[0167] In some embodiments of the present application, based on the aforementioned scheme, the device has a target control console including the event center, and the target control console is one of multiple control consoles, and each of the multiple control consoles is bound to an exclusive data user and data provider.
[0168] In some embodiments of the present application, based on the aforementioned scheme, the subscription and approval unit 1120 is configured as follows: if the target data provider corresponding to the data usage application task information is the data provider bound to the target control console, then an approval request corresponding to the data usage application task information is sent to the target data provider corresponding to the data source information in the data usage application task information.
[0169] In some embodiments of the present application, based on the aforementioned solution, the database login related information includes at least one of the following: database login IP address, login account, and password.
[0170] Fig.12A schematic diagram of the structure of a computer system suitable for implementing an electronic device of an embodiment of the present application is shown.
[0171] It should be noted that Fig.12 The computer system 1200 of the electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0172] like Fig.12 As shown, the computer system 1200 includes a central processing unit (CPU) 1201, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 1202 or the program loaded from the storage part 1208 to the random access memory (RAM) 1203, such as executing the method described in the above embodiment. In the RAM 1203, various programs and data required for system operation are also stored. The CPU 1201, the ROM 1202 and the RAM 1203 are connected to each other through the bus 1204. The input / output (I / O) interface 1205 is also connected to the bus 1204.
[0173] The following components are connected to the I / O interface 1205: an input section 1206 including a keyboard, a mouse, etc.; an output section 1207 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 1208 including a hard disk, etc.; and a communication section 1209 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 1209 performs communication processing via a network such as the Internet. A drive 1210 is also connected to the I / O interface 1205 as needed. A removable medium 1211, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 1210 as needed so that a computer program read therefrom is installed into the storage section 1208 as needed.
[0174] In particular, according to an embodiment of the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a 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 section 1209, and / or installed from a removable medium 1211. When the computer program is executed by a central processing unit (CPU) 1201, various functions defined in the system of the present application are executed.
[0175] It should be noted that the computer-readable medium shown in the embodiment of the present application 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), a 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 present application, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by an instruction execution system, device or device or used in combination with it. In the present application, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, wherein a computer-readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate, or transmit programs 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 appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.
[0176] The flowchart and block diagram in the accompanying drawings illustrate the possible architecture, functions and operations of the system, method and computer program product according to various embodiments of the present application. Wherein, each box in the flowchart or block diagram can represent a module, a program segment, or a part of the code, and the above-mentioned module, 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 alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two 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 box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart 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.
[0177] The units involved in the embodiments described in this application may be implemented by software or hardware, and the units described may also be set in a processor. The names of these units do not, in some cases, constitute limitations on the units themselves.
[0178] As one aspect, the present application also provides a computer-readable medium, which may be included in the electronic device described in the above embodiment; or may exist independently without being assembled into the electronic device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by an electronic device, the electronic device implements the method described in the above embodiment.
[0179] It should be noted that, although several modules or units of the equipment for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into being embodied by multiple modules or units.
[0180] Through the description of the above implementation methods, it is easy for those skilled in the art to understand that the example implementation methods described here can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the implementation methods of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the implementation methods of the present application.
[0181] It is understandable that in the specific implementation of this application, data related to data sharing is involved. When the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of relevant data need to comply with relevant laws, regulations and standards of relevant countries and regions.
[0182] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the embodiments disclosed herein. The present application is intended to cover any variations, uses or adaptations of the present application, which follow the general principles of the present application and include common knowledge or customary technical means in the art that are not disclosed in the present application.
[0183] It should be understood that the present application is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.
Claims
1. A data sharing method based on blockchain, characterized in that: The method comprises: Obtaining data usage application task information from the target data user, and storing the data usage application task information in the blockchain, wherein the data usage application task information includes data source information and the data encryption public key and data receiving destination information of the data user; Obtaining the subscribed data use application task information from the blockchain through the event center, and sending an approval request corresponding to the data use application task information to the target data provider corresponding to the data source information in the data use application task information, so that the target data provider can approve it; Obtaining the approval result returned by the target data provider, and storing the approval result in the blockchain; The approval result of the subscription is obtained from the blockchain through the event center. If the event center determines that the data usage application task information is approved according to the approval result, the data is pulled from the data source corresponding to the data source information, and after encrypting the data based on the data encryption public key, the encrypted data is pushed to the location corresponding to the data receiving destination information.
2. The data sharing method based on blockchain according to claim 1 is characterized in that: The data source information includes database information, the data use application task information also includes field information, and the step of pulling data from a data source corresponding to the data source information includes: According to the field information, data corresponding to the field information is pulled from a database corresponding to the data source information.
3. The data sharing method based on blockchain according to claim 1 is characterized in that: Before obtaining the data use application task information from the target data user, the method further includes: Acquire data source related information from the target data provider, wherein the data source related information includes metadata information related to the database; The metadata information is stored in the blockchain.
4. The data sharing method based on blockchain according to claim 3 is characterized in that: The data source related information also includes database login related information. After obtaining the data source related information from the target data provider, the method further includes: Encrypt the database login related information and store the encryption result locally; The step of pulling data from a data source corresponding to the data source information includes: Decrypt the encryption result to obtain the database login related information; According to the database login related information, the database corresponding to the data source information is accessed, and data is pulled from the database.
5. The data sharing method based on blockchain according to claim 1 is characterized in that: If the event center determines that the data use application task information has been approved according to the approval result, then pulling data from the data source corresponding to the data source information includes: If the event center determines that the data use application task information has passed the approval according to the approval result, the data use application task information is marked as authorized; According to the data use application task information marked as authorized, data is pulled from the data source corresponding to the data source information.
6. The data sharing method based on blockchain according to claim 1 is characterized in that: After pushing the encrypted data to a location corresponding to the data receiving destination information, the method further includes: Receiving a decryption tool download request from the target data user; The decryption tool is returned to the target data user according to the decryption tool download request, so that after the target data user pulls the encrypted data from the location corresponding to the data receiving destination information, the target data user decrypts the encrypted data based on the data decryption private key paired with the data encryption public key and the decryption tool.
7. The data sharing method based on blockchain according to claim 1 is characterized in that: The method is executed by a target control console including the event center, where the target control console is one of a plurality of control consoles, and each of the plurality of control consoles is bound to an exclusive data user and data provider.
8. The data sharing method based on blockchain according to claim 7 is characterized in that: Sending an approval request corresponding to the data use application task information to a target data provider corresponding to the data source information in the data use application task information includes: If the target data provider corresponding to the data usage application task information is the data provider bound to the target control console, an approval request corresponding to the data usage application task information is sent to the target data provider corresponding to the data source information in the data usage application task information.
9. The data sharing method based on blockchain according to claim 4 is characterized in that: The database login related information includes at least one of the following: database login IP address, login account, and password.
10. A data sharing device based on blockchain, characterized in that: The device comprises: An acquisition unit, used to acquire data use application task information from a target data user, and store the data use application task information in a blockchain, wherein the data use application task information includes data source information and a data encryption public key and data receiving destination information of the data user; A subscription and approval unit, configured to obtain the subscribed data use application task information from the blockchain through the event center, and send an approval request corresponding to the data use application task information to a target data provider corresponding to the data source information in the data use application task information, so that the target data provider performs approval; An acquisition and storage unit, used to acquire the approval result returned by the target data provider, and store the approval result in the blockchain; A subscription and push unit is used to obtain the approval result of the subscription from the blockchain through the event center. If the event center determines that the data usage application task information is approved according to the approval result, the data is pulled from the data source corresponding to the data source information, and after encrypting the data based on the data encryption public key, the encrypted data is pushed to the location corresponding to the data receiving destination information.
11. A computer readable medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the blockchain-based data sharing method as described in any one of claims 1 to 9 is implemented.
12. An electronic device, characterized in that: include: one or more processors; A storage device for storing one or more computer programs, which, when executed by the one or more processors, enables the one or more processors to implement the blockchain-based data sharing method as described in any one of claims 1 to 9.
13. A computer program product, characterized in that The computer program product includes computer instructions, which are stored in a computer-readable storage medium. A processor of an electronic device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the electronic device executes the blockchain-based data sharing method as described in any one of claims 1 to 9.