User data processing method and device based on block chain and storage medium

By adopting blockchain technology in financial data processing, the poor information security problem of lost customer data in financial institutions during the sharing and analysis process is solved, the secure storage and transparent transmission of data are realized, and the auditability and trust of the system are enhanced.

CN119831740AActive Publication Date: 2025-04-15INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 22 Cites 0 Cited by

Patent Information

Application Number
CN202411863622.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-17
Publication Date
2025-04-15
Estimated Expiration
2044-12-17

Smart Images

  • Figure CN119831740A_ABST
    Figure CN119831740A_ABST
Patent Text Reader

Abstract

The invention discloses a user data processing method and device based on a block chain and a storage medium, and relates to the field of block chains. The method comprises the following steps: initiating a transaction proposal to a block chain through a client; when it is judged that the transaction proposal meets the consistency condition, the transaction proposal is signed through the client, and the signed transaction proposal is submitted to a sorting role node of the block chain; consensus is carried out on the signed transaction proposals through sorting role nodes, and all consensus results are sorted; according to a sorting result of the consensus result, packing consensus-completed data in the transaction proposal into a block, and sending the block to a submitting node of the block chain; and when the submitting node determines that the data state of the data in the block is matched with the state of the block chain, adding the block to the block chain through the submitting node. The technical problem that in the prior art, when user data of lost customers of a financial institution is processed, information safety is poor is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the fields of financial technology and blockchain technology, and specifically, to a user data processing method, device and storage medium based on blockchain. Background Art

[0002] As financial institutions pay more and more attention to customer relationship management, predicting and analyzing customer churn has become a critical task. Customer churn not only affects the business and profits of financial institutions, but also may reveal potential market trends and service defects. Therefore, it is crucial to design and implement an effective customer churn analysis system. However, in the existing technology, when processing the user data of churned customers of financial institutions, information security becomes a significant technical issue, especially in the process of data sharing and analysis.

[0003] In existing technologies, data may be intercepted or tampered with during transmission, especially when data needs to be shared between different systems or organizations. When analyzing the reasons for customer churn, financial institutions may need to cross-analyze data with other service providers, and the security of data transmission becomes an urgent issue that needs to be addressed.

[0004] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention

[0005] The embodiments of the present application provide a user data processing method, device and storage medium based on blockchain, so as to at least solve the technical problem of poor information security in the prior art when processing user data of lost customers of financial institutions.

[0006] According to one aspect of an embodiment of the present application, a user data processing method based on blockchain is provided, comprising: initiating a transaction proposal to the blockchain through a client, wherein the transaction proposal includes at least smart contract information and user data of lost users of a financial institution; executing the smart contract through an endorsement node in the blockchain, and when it is determined that the transaction proposal meets the consistency condition, signing the transaction proposal through the client, and submitting the signed transaction proposal to a sorting role node of the blockchain, wherein the sorting role node is a node in the blockchain that participates in consensus decision-making; reaching consensus on the signed transaction proposal through the sorting role node, and sorting all consensus results according to the generation time of the consensus result; packaging the data that has completed consensus in the transaction proposal into a block according to the sorting result of the consensus result and sending it to a submission node of the blockchain; when the submission node determines that the data state of the data in the block matches the state of the blockchain, the submission node appends the block to the blockchain, and updates the world state database corresponding to the blockchain.

[0007] According to another aspect of the present application, a user data processing device based on blockchain is also provided, which includes: a first processing unit, which is used to initiate a transaction proposal to the blockchain through a client, wherein the transaction proposal includes at least smart contract information and user data of lost users of the financial institution; a second processing unit, which is used to execute the smart contract through the endorsement node in the blockchain, and when it is judged that the transaction proposal meets the consistency condition, the transaction proposal is signed through the client, and the signed transaction proposal is submitted to the sorting role node of the blockchain, wherein the sorting role node is a node participating in consensus decision-making in the blockchain; a third processing unit, which is used to reach consensus on the signed transaction proposal through the sorting role node, and sort all consensus results according to the generation time of the consensus result; according to the sorting result of the consensus result, the data that has completed the consensus in the transaction proposal is packaged into a block and sent to the submission node of the blockchain; a fourth processing unit, which is used to append the block to the blockchain through the submission node when the submission node determines that the data state of the data in the block matches the state of the blockchain, and update the world state database corresponding to the blockchain.

[0008] According to another aspect of the present application, a computer-readable storage medium is also provided, wherein the computer-readable storage medium includes a stored executable program, wherein when the executable program is running, the device where the computer-readable storage medium is located is controlled to execute the above-mentioned blockchain-based user data processing method.

[0009] According to another aspect of the present application, an electronic device is also provided, wherein the electronic device includes: a memory storing an executable program; and a processor for running the program, wherein the above-mentioned blockchain-based user data processing method is executed when the program is running.

[0010] According to another aspect of the present application, a computer program product is also provided, comprising computer instructions, wherein when the computer instructions are executed by a processor, the above-mentioned blockchain-based user data processing method is implemented.

[0011] In this application, a transaction proposal is first initiated to the blockchain through the client, wherein the transaction proposal includes at least smart contract information and user data of lost users of the financial institution. Then, the smart contract is executed through the endorsement node in the blockchain. When it is determined that the transaction proposal meets the consistency condition, the transaction proposal is signed by the client, and the signed transaction proposal is submitted to the sorting role node of the blockchain, wherein the sorting role node is a node in the blockchain that participates in consensus decision-making. Subsequently, the signed transaction proposal is consensused through the sorting role node, and all consensus results are sorted according to the generation time of the consensus result; according to the sorting result of the consensus result, the data that has completed the consensus in the transaction proposal is packaged into blocks and sent to the submission node of the blockchain. Finally, when the submission node determines that the data state of the data in the block matches the state of the blockchain, the block is appended to the blockchain through the submission node, and the world state database corresponding to the blockchain is updated.

[0012] As can be seen from the above, through the decentralization and encryption mechanism of blockchain technology, this application ensures the safe storage and transmission of lost customer data of financial institutions. Once the data is written into the blockchain, due to its immutability, the data will be permanently stored and cannot be maliciously modified, which greatly improves the security of the data. Secondly, the distributed ledger characteristics of the blockchain enable all participants to view the transaction history, and the execution process of the smart contract is also completely transparent and can be verified by all nodes. This not only improves the transparency of the entire system, but also ensures the auditability of the data processing process, facilitates financial institutions to track and analyze every step of data processing, and enhances the trust in data processing. In addition, this application automates the data processing process through smart contracts, reduces manual intervention, and improves the efficiency and accuracy of data processing. In addition, the optimized consensus algorithm (such as the authorized Byzantine fault-tolerant algorithm) can effectively reduce the transaction confirmation time, accelerate the consensus process of the data, and ensure the efficient operation of the system in large-scale data processing scenarios when processing large-scale data.

[0013] In addition, in this application, the transaction proposal initiated by the client to the blockchain includes smart contract information and lost user data. The smart contract is executed on the endorsement node and signed and submitted by the client after the consistency conditions are met. This process ensures the legitimacy and consistency of data processing and prevents unauthorized data access and tampering. The sorting node sorts the transactions according to the generation time of the consensus result, and then packages the consensus data into blocks. This mechanism ensures the orderliness and consistency of the data. After verifying that the block data status matches the blockchain status, the submission node appends the block to the blockchain and updates the world state database. This process further enhances the security and immutability of the data.

[0014] It can be seen that through the above-mentioned technical features, the technical solution of the present application can effectively solve the problem of poor information security in the prior art when processing the lost customer data of financial institutions. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0016] Figure 1 A hardware structure block diagram of a computer terminal for implementing a user data processing method based on blockchain is shown;

[0017] Figure 2 is a flowchart of an optional blockchain-based user data processing method according to an embodiment of the present application;

[0018] Figure 3 is a schematic diagram of a logical structure of an optional MSP according to an embodiment of the present application;

[0019] Figure 4 is a schematic diagram of an outlier according to an embodiment of the present application;

[0020] Figure 5 This is an overall architecture diagram of an optional blockchain-based user data processing system according to an embodiment of the present application;

[0021] Figure 6 is a schematic diagram of an optional blockchain network structure according to an embodiment of the present application;

[0022] Figure 7 is a flowchart of an optional transaction proposal processing according to an embodiment of the present application;

[0023] Figure 8 This is a schematic diagram of an optional blockchain-based user data processing device according to an embodiment of the present application. DETAILED DESCRIPTION

[0024] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.

[0025] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0026] It should also be noted that the collected information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for display, data for analysis, etc.) involved in this application are information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of relevant data are in compliance with relevant laws, regulations and standards, necessary confidentiality measures are taken, and public order and good customs are not violated, and corresponding operation entrances are provided for users to choose to authorize or refuse. For example, an interface is set up between this system and relevant users or institutions to provide users with corresponding operation entrances for users to choose to agree or refuse the results of automated decision-making; if the user chooses to refuse, the expert decision-making process will be entered.

[0027] According to an embodiment of the present application, an embodiment of a user data processing method based on blockchain is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in an order different from that shown here.

[0028] The method embodiments provided in the embodiments of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Figure 1 The hardware structure block diagram of a computer terminal (or mobile device) for implementing a user data processing method based on blockchain is shown. Figure 1As shown, the computer terminal 10 (or mobile device) may include one or more (102a, 102b, ..., 102n are used to illustrate) processors 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA), a memory 104 for storing data, and a transmission device 106 for communication functions. In addition, it may also include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of the BUS bus), a network interface, a power supply and / or a camera. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above electronic device. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown.

[0029] It should be noted that the one or more processors 102 and / or other data processing circuits described above may generally be referred to herein as "data processing circuits". The data processing circuit may be embodied in whole or in part as software, hardware, firmware, or any other combination thereof. In addition, the data processing circuit may be a single independent processing module, or may be incorporated in whole or in part into any of the other components in the computer terminal 10 (or mobile device). As in the blockchain-based user data processing method involved in the embodiments of the present application, the data processing circuit serves as a processor control (e.g., selection of a variable resistor terminal path connected to an interface).

[0030] The memory 104 can be used to store software programs and modules of application software, such as the program instructions / data storage device corresponding to the user data processing method based on blockchain in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, that is, the user data processing method based on blockchain is realized. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the computer terminal 10 via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.

[0031] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the computer terminal 10. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0032] The display may be, for example, a touch screen liquid crystal display (LCD) that enables a user to interact with a user interface of the computer terminal 10 (or mobile device).

[0033] The following is an explanation of some key terms in the embodiments of the present application:

[0034] Blockchain: refers to a chain of blocks. Each block stores certain information, and they are connected into a chain in the order of their generation. This chain is stored in all file servers. As long as there is a server in the entire system that can work, the entire blockchain is safe. These servers are called nodes in the blockchain, and they provide storage space and computing power support for the entire blockchain system. If you want to modify the information of the blockchain, you must obtain the consent of half of the nodes and modify the information of all nodes. These nodes are usually in the hands of different entities, so it is extremely difficult to tamper with the information of the blockchain.

[0035] Decentralization: Generally refers to running on a distributed network, where the information of participants is securely protected (and may also be anonymous).

[0036] The decentralized system has the following three advantages:

[0037] 1. Fault tolerance: A decentralized system is less likely to stop working due to a local accidental failure.

[0038] 2. Anti-attack: The cost of attacking and destroying a decentralized system is higher than that of a centralized system.

[0039] 3. Anti-collusion: It is difficult for participants in a decentralized system to collude with each other.

[0040] Asymmetric encryption: Asymmetric encryption is a method of keeping keys confidential. Asymmetric encryption requires two keys: a public key (referred to as the public key) and a private key (referred to as the private key). The public key and the private key are a pair. If the data is encrypted with the public key, it can only be decrypted with the corresponding private key. Because encryption and decryption use two different keys, this algorithm is called an asymmetric encryption algorithm.

[0041] Member services: provide member services, including registration, enrollment, certificate application, etc. Considering the requirements of commercial applications for security, privacy, supervision, auditing and performance, nodes and members can only join the blockchain network after obtaining certificates, which greatly improves the security of the acquiring transaction identification function.

[0042] Blockchain service: responsible for the calculation and storage of distributed ledgers, sorting services between nodes, endorsement verification management, and the realization of ledger storage methods. It is the core component of the blockchain and provides underlying support for the main functions of the blockchain.

[0043] Chaincode service: Chaincode, also known as smart contract, is a piece of code based on standards to implement specific business logic. Chaincode and underlying ledger are decoupled and run in a separate container. Chaincode updates will not affect the original data. The chaincode for the acquiring transaction identification function is written in Java and runs through a Docker container. After installation and instantiation, it connects to nodes in the same channel through gRPC.

[0044] Interface and Event: Provide API for third-party applications to call, which is convenient for secondary development and supports Java language interface. Chain code can be installed and tested through SDK or CTL, and transaction status and data can be queried. At the same time, events occurring in the blockchain network can be monitored through Events, which is convenient for third-party application systems to call and process.

[0045] Network protocol: implement P2P network transmission, using gPRC and Gossip protocols.

[0046] Smart Contract: is a computer protocol designed to communicate, verify or execute contracts in an informational manner. Smart contracts allow for trusted transactions without a third party, which are traceable and irreversible. The purpose of smart contracts is to provide a security method superior to traditional contracts and reduce other transaction costs associated with contracts.

[0047] Endorsing Node: The node that undertakes the endorsement task in the blockchain is the endorsing node. The endorsing node must prove its legitimacy by signing the expected information of the valid certificate.

[0048] Anchor node: In a channel, the anchor node can be discovered and communicated by any node in the channel. Therefore, each organization added to the pipeline has at least one anchor node, and the node of an organization can find all the nodes of other organizations in the channel by searching for the anchor node.

[0049] Leader node: Connects to the sorting service node as a representative within the organization, and distributes the batch blocks received from the sorting service node to other nodes within the organization.

[0050] Chaincode: Fabric's smart contract is called chaincode, which is divided into system chaincode and user chaincode. System chaincode is used to implement system-level functions, and user chaincode is used to implement user application functions.

[0051] Alliance chain: Alliance chain refers to a blockchain system open to certain organizations. Obviously, since only certain nodes are allowed to connect to the blockchain system, this permission mechanism brings potential centralization to the blockchain. However, if only certain users have the relevant private keys for specific transactions, the decentralization of the alliance chain can be increased.

[0052] Consensus algorithm: a series of processes and rules generated to implement distributed consistency protocols. When nodes distributed in different fields negotiate and interact according to this set of rules, they can always reach a consistent decision on one or some issues, thereby achieving consistency among different nodes in the distributed nodes.

[0053] X.509: X.509 is the format standard for public key certificates in cryptography. An X.509 certificate contains a public key, identity information (such as a network host name, an organization's name or an individual's name, etc.) and signature information (signature of the certificate issuing authority or self-signature).

[0054] Identity verification: Identity verification is also called "verification" or "authorization". It refers to the confirmation of user identity through certain means. There are many methods of identity verification. The method adopted in this scheme is identity verification based on public key encryption algorithm.

[0055] Docker: It is a lightweight virtualization technology and an open source application container runtime environment building platform that allows developers to conveniently package applications into a portable container and then install it on any server running Linux or Windows. Compared with traditional virtual machines, Docker containers provide a lightweight virtualization method that is easy to install and fast to start.

[0056] MSP: MSP is a modular component abstracted from Hyperledger Fabric 1.0, which is used to define identity authentication, conduct identity authentication, and run rules for accessing the network. More precisely, MSP is a component of Hyperledger Fabric that manages and verifies the identities of members in the network. Its specific functions include managing user IDs, verifying nodes that want to join the network, and providing credentials for transactions initiated by customers.

[0057] CA: CA is the international name for certification bodies, which are institutions that issue, manage, and cancel digital certificates to digital certificate applicants. The role of CA is to check the legitimacy of the certificate holder's identity and issue certificates (digitally sign the certificate) to prevent the certificate from being forged or tampered with.

[0058] Clustering method: The k-means clustering algorithm is an iterative clustering analysis algorithm. Its steps are: divide the data into k groups in advance, randomly select k objects as the initial cluster centers, and then calculate the distance between each object and each seed cluster center, and assign each object to the cluster center closest to it. Each time a sample is assigned, the cluster center of the cluster will be recalculated based on the existing objects in the cluster. This process will be repeated until a certain termination condition is met. The termination condition can be that no (or a minimum number) of objects are reassigned to different clusters, no (or a minimum number) of cluster centers change again, and the sum of squared errors is locally minimized.

[0059] Outlier detection: An outlier is a data object that is significantly different from other data objects. The system generally suspects that it is generated by a different mechanism. The process of finding out whose behavior is very different from the expected object is called outlier detection.

[0060] This application provides Figure 2 The user data processing method based on blockchain is shown. Figure 2 is a flowchart of an optional blockchain-based user data processing method according to an embodiment of the present application. Figure 2 As shown, the method comprises the following steps:

[0061] Step S201: Initiate a transaction proposal to the blockchain through the client, wherein the transaction proposal includes at least smart contract information and user data of lost users of the financial institution.

[0062] Optionally, a client refers to an application that initiates transactions, calls smart contracts, or queries the status of a blockchain. In this application, a client is an internal system or external application of a financial institution that is used to send transaction proposals to a blockchain network. The client typically includes the SDK (Software Development Kit) required to access the blockchain network to interact with the blockchain network and perform related operations.

[0063] Optionally, transaction proposal is an important concept in the blockchain network. Transaction proposal is the first step in the transaction process, which is constructed by the client and sent to the endorsing node. The transaction proposal contains the detailed information of the transaction, including the smart contract to be executed, the contract method, parameters, and the client's signature. Its role is to allow the endorsing node to verify the legitimacy of the transaction and simulate the execution of the smart contract to determine whether the transaction can be accepted.

[0064] Optionally, a smart contract is a predefined, automatically executed program that runs on the blockchain and can automatically perform specific operations based on preset conditions. In this application, the smart contract includes logic such as data preprocessing and standardization, cluster modeling, outlier detection, and result visualization. The execution result of the smart contract is confirmed by the endorsing node and written to the blockchain after all nodes reach a consensus.

[0065] Optionally, user data of lost users refers to detailed information of specific lost users that the financial institution wants to analyze, including but not limited to customer credit score, user country / region, user gender, age, user usage years, deposit and loan status, number of products used, credit card holding status, active user status, estimated income, and possible outlier information. These data will be used as inputs of the smart contract and generate corresponding analysis results after execution.

[0066] Optionally, the overall architecture of the blockchain in this application is divided into a network layer, a core layer, and an interface layer. The core layer has three parts: member services, blockchain services, and chain code services; the interface layer calls identity, ledgers, transactions, and smart contracts through interfaces and events; the network layer is responsible for the implementation of the P2P network to ensure the consistency of distributed storage of the blockchain.

[0067] Step S202, execute the smart contract through the endorsement node in the blockchain. When it is determined that the transaction proposal meets the consistency condition, the transaction proposal is signed by the client and submitted to the sorting role node of the blockchain, where the sorting role node is the node in the blockchain that participates in consensus decision-making.

[0068] Optionally, the endorsement node is a peer node in the blockchain network, which is responsible for evaluating the legitimacy of the transaction proposal and executing the code of the smart contract. Once the transaction proposal is approved by the endorsement node, they will provide the transaction execution result and their own CA (Certificate Authority) signature as part of the transaction proposal and return it to the client for the subsequent consensus process.

[0069] Step S203, consensus is reached on the signed transaction proposal through the sorting role node, and all consensus results are sorted according to the generation time of the consensus results; according to the sorting result of the consensus results, the data that has completed the consensus in the transaction proposal is packaged into blocks and sent to the submission node of the blockchain.

[0070] Optionally, consensus is the process of ensuring that all nodes in the blockchain network agree on the order and validity of transactions. In the blockchain network, consensus is the responsibility of the Orderer node (corresponding to the sorting role node mentioned above), which sorts the collected transaction proposals and generates blocks containing multiple transactions, which are then broadcast to the committer peers in the network. The committer peer will verify the transaction and write it to the local blockchain ledger.

[0071] Step S204, when the submission node determines that the data state of the data in the block matches the state of the blockchain, the block is appended to the blockchain through the submission node, and the world state database corresponding to the blockchain is updated.

[0072] Optionally, the submit node is a role of the Peer node. After receiving the block broadcast by the Orderer, the submit node will verify the transaction, check whether the execution result of the transaction is consistent with the result provided by the endorsement node, and whether the transaction conflicts with the current ledger status. The verified block will be appended to the local blockchain and the World State Database will be updated to reflect the latest ledger status.

[0073] Based on the contents of the above steps S201 to S204, it can be seen that through the decentralization and encryption mechanism of blockchain technology, this application ensures the safe storage and transmission of the lost customer data of financial institutions. Once the data is written into the blockchain, due to its tamper-proof nature, the data will be permanently stored and cannot be maliciously modified, which greatly improves the security of the data. Secondly, the distributed ledger characteristics of the blockchain enable all participants to view the transaction history, and the execution process of the smart contract is also completely transparent and can be verified by all nodes. This not only improves the transparency of the entire system, but also ensures the auditability of the data processing process, facilitates financial institutions to track and analyze every step of data processing, and enhances the trust in data processing. In addition, this application automates the data processing process through smart contracts, reduces manual intervention, and improves the efficiency and accuracy of data processing. In addition, the optimized consensus algorithm (such as the authorized Byzantine fault-tolerant algorithm) can effectively reduce the transaction confirmation time, accelerate the consensus process of the data, and ensure the efficient operation of the system in the large-scale data processing scenario when processing large-scale data.

[0074] In addition, in this application, the transaction proposal initiated by the client to the blockchain includes smart contract information and lost user data. The smart contract is executed on the endorsement node and signed and submitted by the client after the consistency conditions are met. This process ensures the legitimacy and consistency of data processing and prevents unauthorized data access and tampering. The sorting node sorts the transactions according to the generation time of the consensus result, and then packages the consensus data into blocks. This mechanism ensures the orderliness and consistency of the data. After verifying that the block data status matches the blockchain status, the submission node appends the block to the blockchain and updates the world state database. This process further enhances the security and immutability of the data.

[0075] In an optional embodiment, initiating a transaction proposal to the blockchain through a client includes: registering an identity certificate through the client, wherein the identity certificate is used to represent that the client has the authority to access the blockchain to process transaction proposals; after the client successfully registers the identity certificate, regularly initiating transaction proposals to the blockchain through the client.

[0076] Optionally, the client first needs to interact with the certification authority (CA) responsible for identity authentication in the network. CA is a key component in the blockchain network, used to manage digital certificates and verify the identity of network participants. The client obtains an X.509 digital certificate from the CA, which contains the client's public key and other identity information signed by the CA, such as the organization and role to which the client belongs. Obtaining a certificate usually requires the client to provide some identity proof information. After obtaining the identity certificate, the client needs to register and register with the Membership Service Provider (MSP) to ensure the validity of its identity certificate and be recognized by other nodes in the network. This process is usually completed by the client using the Hyperledger Fabric SDK.

[0077] Optionally, after successful registration and enrolment, the client's identity certificate will indicate that it has the authority to access the blockchain and execute specific smart contracts (such as outlier detection of bank customer churn factors). This means that only clients with valid identity certificates can send transaction proposals to the blockchain network and call the corresponding smart contracts. After successfully registering and obtaining an identity certificate, the client has the ability to regularly initiate transaction proposals to the blockchain network. After constructing the transaction proposal, the client will send it to the endorsing peer. The endorsing peer is responsible for evaluating the legitimacy of the transaction proposal, executing the smart contract when the conditions are met, and generating the execution result of the proposal and the signature of the node.

[0078] Through the above process, the client can not only securely access the blockchain network, but also regularly initiate transaction proposals, execute smart contracts, and automatically detect and analyze factors that cause bank customer churn, while ensuring the security of all operations and the immutability of data. For financial institutions, this mechanism not only improves the efficiency and accuracy of data analysis, but also enhances data security and privacy protection.

[0079] Optionally, the above-mentioned MSP is a modular component of the blockchain network, which is used to define the rules for identity authentication, authentication and access to the network. To be precise, MSP is a modular component that manages and verifies the identities of the members of the blockchain network. In this application, the role of MSO includes:

[0080] 1. Manage user IDs.

[0081] 2. Verify the nodes that want to join the network. Each node that wants to join the blockchain network must provide its valid and legal MSP information.

[0082] 3. Provide credentials for transactions initiated by customers. Data transmission between nodes (Client, Peer, Orderer) requires verification of the signatures of each node.

[0083] Optionally, Figure 3 is a schematic diagram of the logical structure of an optional MSP according to an embodiment of the present application, Figure 3 In the folder, RCA refers to the root CA, and the folder contains a list of self-signed X.509 certificates of the root CA, which is used to self-sign and sign intermediate CA certificates; ICA refers to the intermediate CA, which contains a list of certificates issued by the root CA; OU refers to the organizational unit, which contains a list of organizational units whose members are considered to be part of the organization represented by the MSP; B refers to the administrator, and this folder contains a list of identities used to define roles with the administrator role of this organization. For standard MSP types, this list should have one or more X.509 certificates. ReCA refers to the revocation certificate, which stores the information of the revoked participants. For users who are allowed to use the acquiring transaction type identification device, they cannot receive monitoring emails in the revocation certificate list. SCA refers to the signing certificate, the signing certificate of the endorsement node in the transaction proposal response. This folder is required for the local MSP, and the node must have only one X.509 certificate. KeyStore refers to the private key. This folder is defined for the local MSP of the Peer node or Orderer node and contains the signing key of the node. This key cryptographically matches the signing certificate contained in the SCA folder and is used to sign data. This folder is required for local MSPs and must contain only one private key.TLS Root CA: Contains a list of self-signed X.509 certificates of root CAs that the organization trusts for TLS communications. There must be at least one TLS root CA X.509 certificate in this folder.TLS Intermediate CA: Holds a list of intermediate certificates issued by the TLS root CA.

[0084] In an optional embodiment, before executing the smart contract through the endorsement node in the blockchain, the user data processing method based on the blockchain also includes: verifying the client signature in the transaction proposal based on the client public key in the transaction proposal, wherein the condition for passing the client signature verification is that the client public key matches the client private key; after the client signature verification passes, checking through the endorsement node whether the submitter of the transaction proposal has the authority to execute the smart contract; when it is determined that the submitter has the authority to execute the smart contract, simulating the execution of the operation logic defined in the smart contract according to the content of the transaction proposal through the endorsement node, wherein the simulated execution is used to verify whether the logic of the smart contract conflicts with the transaction rules of the blockchain without changing the actual ledger state of the blockchain.

[0085] Optionally, in a blockchain network, all transaction proposals must include the client's signature, which is to ensure the source and integrity of the proposal. The client signs the transaction proposal with its private key, and the endorsing peer uses the client's public key to verify the validity of the signature. The condition for signature verification is that the client public key in the proposal matches the client private key used for signing. This process ensures that the source and content of the transaction proposal cannot be tampered with during transmission. After the signature verification is passed, the endorsing peer will further check whether the submitter of the transaction proposal has the authority to execute a specific smart contract. This is because the blockchain allows fine-grained access control, and each node and user has its role and authority. Through the MSP and CA mechanism, the endorsing peer can verify the identity and authority of the submitter, ensuring that only authorized submitters can execute smart contracts, thereby protecting the security of the network and the privacy of data.

[0086] Optionally, after confirming that the submitter has the authority to execute the smart contract, the endorsing node will simulate the execution of the operation logic defined in the smart contract. This process is called simulated execution, and its purpose is to verify whether the logic of the smart contract is consistent with the transaction rules of the blockchain and whether there are any potential conflicts or problems without changing the actual ledger state of the blockchain. Simulated execution can check whether the code of the smart contract will cause inconsistencies in the ledger state or violate established transaction rules, such as data access restrictions, data update rules, etc. Through simulated execution, the endorsing node can ensure that the smart contract can run as expected without actually changing the ledger state. If any conflicts or problems are found during the simulated execution, the proposal will not be endorsed, thereby avoiding potential damage to the blockchain ledger by invalid transactions or malicious operations. Only when the logic of the smart contract is verified to be correct and does not cause any rule conflicts, the endorsing node will provide endorsement and return the execution result of the proposal and the node's signature to the client.

[0087] In this series of verification and execution processes, the blockchain network ensures the security, legitimacy of transaction proposals and the correctness of smart contract logic through asymmetric encryption, identity authentication, permission control and simulated execution mechanisms of smart contracts. This not only improves the efficiency and accuracy of data processing, but also enhances the security and reliability of the entire system, which is of great significance for processing sensitive user data of financial institutions, especially analytical data of lost users. Through these mechanisms, financial institutions can be sure that their data is properly processed and protected in the blockchain network, and the execution results of smart contracts can accurately reflect the true status of the data, providing a solid data foundation for reducing customer churn and improving service quality.

[0088] Optionally, the encryption algorithm used in this application is an asymmetric encryption algorithm. Asymmetric encryption technology refers to encryption technology integrated into the blockchain to meet security requirements and ownership verification requirements. Asymmetric encryption uses two asymmetric keys, namely public key and private key, in the encryption and decryption process. Asymmetric keys have the following two characteristics:

[0089] 1. After using a key (public key or private key) to encrypt information, it can only be decrypted using another corresponding key.

[0090] 2. The public key is open to everyone, and the private key is kept confidential. No one can deduce the corresponding private key from the public key.

[0091] In an optional embodiment, the blockchain-based user data processing method also includes: executing a smart contract through an endorsement node in the blockchain to determine variable data from the user data, wherein the variable data includes at least the credit score and geographic location data of the lost user; determining outliers in the user data based on the variable data, wherein the similarity between the data corresponding to the outliers and the data corresponding to the non-outliers is less than a preset threshold; taking the outliers and the data positions corresponding to the outliers in the user data as target data; encapsulating the target data through the signature of the endorsement node, and sending the encapsulated target data to the client; and deleting the data corresponding to the outliers from the user data in response to the outlier deletion instruction received by the client.

[0092] Optionally, when the client sends a transaction proposal to the blockchain, the proposal includes the smart contract information and the user data of the financial institution's lost users. After verifying the signature of the transaction proposal and the authority of the submitter, the endorsing peer will execute the code logic in the smart contract. In this application, the execution logic of the smart contract includes at least: the smart contract will extract key variable data from the user data, which includes at least the credit score (Customer Credit Score) and geographic location data (User's country / region) of the lost user. The smart contract further pre-processes the extracted variable data, including data cleaning, conversion and standardization, to ensure that the data meets the analysis requirements and improve the accuracy and reliability of the model.

[0093] Optionally, after the variable data is preprocessed, the smart contract uses statistical methods such as cluster analysis to identify outliers in the user data. Outliers are data that deviate significantly from other data points in the data set. These points may exist due to measurement errors, abnormal behavior, or other reasons. According to the description, the determination of outliers is based on the similarity between the data point and the non-outlier points being less than a preset threshold, which means that if the distance between a data point and other data points in the variable space (for example, using Euclidean distance or Manhattan distance) is significantly greater than the set threshold, then the data point will be marked as an outlier. Once the outlier is determined, the smart contract uses the outlier and the specific location of the outlier in the user data (i.e., the data location) as the target data, and encapsulates the target data through the signature of the endorsement node. This encapsulation includes detailed information about the outliers and their location identification in the data set, ensuring the integrity of the data and the trustworthiness of the source. The encapsulated target data is then sent back to the client for subsequent operations.

[0094] Optionally, after receiving the encapsulated target data, the client can further analyze these outliers and determine whether the data corresponding to the outliers needs to be deleted based on the analysis results. If the client decides to delete the outliers, it will send an outlier deletion instruction to the blockchain. This instruction must also include the client's signature and related smart contract information to ensure the legality and security of the operation. After receiving the deletion instruction, the endorsement node will execute the smart contract again. This time, the execution logic will include the deletion operation of the outlier data, thereby removing the influence of these outliers in the user data set of the blockchain.

[0095] It should be noted that although the deletion of outliers appears to be a direct operation of the user data set in the client, in the blockchain environment, it is actually a new transaction executed through a smart contract, and the modified data state is written into a new block, thus maintaining the immutability and consistency of the blockchain ledger. Every modification to the data set will be recorded as a new block, which makes it possible for subsequent auditing and historical tracking.

[0096] Optionally, the smart contract processing of outliers in user data can be divided into four stages,

[0097] In the first stage, in the execution process of smart contracts, the first task is to perform fine preprocessing and standardization operations on the user data set to ensure the efficiency and accuracy of subsequent analysis. When dealing with a large-scale data set, such as user data containing 10,000 records, involving a wide variety of variables, and the data is collected from different sources, with differences in units and magnitudes, the preprocessing and standardization steps are particularly important. Among them, the data preprocessing stage aims to improve the quality of the data set and create favorable conditions for subsequent analysis and model training. The key functions of this stage include: cleaning and correcting incomplete, abnormal or erroneous data in the data set to ensure that model training is based on accurate and reliable information; optimizing the data set by removing redundant data and processing missing values, thereby speeding up subsequent data analysis and model training; making model training more efficient by adjusting the data format and reducing the demand for computing resources; encoding or anonymizing sensitive information to protect user privacy while complying with data security regulations; processing information from different data sources to ensure the consistency of their format and dimensions for subsequent integrated analysis.

[0098] For example, in actual applications, smart contracts will encode categorical variables such as the user's country / region. For example, for the nationality field, the smart contract encodes A1 nationality as 1, A2 nationality as 2, A3 nationality as 3, and so on, ensuring that all categorical variables are converted to numerical data. This process not only facilitates subsequent statistical analysis, but also improves the efficiency of data integration. After completing the data preprocessing, the smart contract will standardize the data, calculate the mean and standard deviation for each variable, and scale the data to ensure that all variables are on the same standard scale. The standardization process includes: Calculate the mean and standard deviation of each variable. Use the calculated mean and standard deviation to scale the data to achieve the standard of zero mean and unit variance. Center the data, that is, subtract the mean, and then scale it, that is, divide it by the standard deviation.

[0099] Among them, Table 1 is the data of some variable data after standardization.

[0100] Table 1

[0101]

[0102]

[0103] The second phase of the smart contract focuses on building a clustering model and identifying key cluster centers in order to lay a solid foundation for subsequent outlier detection. In the scenario of this application, the cluster analysis targets two categories, representing the final loss and non-loss status of bank customers. The specific implementation process of this phase is as follows:

[0104] Initialize cluster centers: The smart contract randomly selects two sample points in the data set as the initial cluster centers, which will be used as reference points for subsequent allocation of data points.

[0105] Iterative assignment and center point update: The system calculates the distance from each sample point in the data set to the two initial cluster centers, and then assigns each sample point to the cluster center closest to it to form a preliminary cluster. Subsequently, the smart contract will recalculate the location of the cluster center based on all sample points in the current cluster. This process aims to make the cluster center better represent the characteristics of the sample points in the cluster.

[0106] Repeat until stable: The above steps of assignment and center update will be repeatedly executed by the smart contract until a stable state is reached, that is, no sample points are reallocated to other clusters, and the location of the cluster center no longer changes significantly. This process ensures that the clustering model can accurately reflect the structure in the data set.

[0107] Determine the final cluster center: When the iteration is over, the smart contract will finally determine two cluster centers as representatives of the bank's customer churn and non-churn status. These cluster centers are crucial for subsequent outlier identification, and they will be used as benchmarks to measure the degree of abnormality of data points.

[0108] After the clustering model is built in the second phase, the smart contract enters the outlier detection phase (the third phase). This process is based on the results of cluster analysis and uses the following steps to identify and mark outliers:

[0109] Calculate the distance from the cluster center: The smart contract calculates the distance between each sample point in the data set and the cluster center to which it belongs. This distance measures the degree of deviation of the sample point from the cluster core.

[0110] Outlier identification: Based on the calculated distance, the smart contract selects the 25 sample points farthest from the cluster center as outliers. Considering that the total number of samples in the data set is 10,000, this screening ratio is 2.5 per thousand, aiming to efficiently identify those data points that significantly deviate from the clustering trend.

[0111] Storing outlier coordinates: The smart contract outputs and stores the 25 identified outliers and their specific coordinates in the data set on the blockchain to ensure data transparency and immutability. This storage step not only records the original data location of the outliers, but also facilitates other smart contracts or system modules to further process these special data points.

[0112] Optionally, the coordinates of the outliers finally outputted can be seen in Table 2.

[0113] Table 2

[0114]

[0115]

[0116] After data preprocessing, cluster modeling, and outlier detection, the fourth phase of the smart contract focuses on returning the visualization results and specific coordinate information of the outliers to the client to intuitively display the analysis results. The implementation process of this phase is as follows:

[0117] Draw a two-dimensional coordinate graph: The smart contract selects "deposit and loan status" and "number of products used" as two key dimensions and constructs a two-dimensional coordinate system to depict the locations of cluster centers and outliers. This choice helps to intuitively display the distribution of bank customers in the above two dimensions.

[0118] Marking cluster centers and outliers: In the constructed coordinate map, cluster centers are prominently marked with asterisks, while outliers are represented by plus signs. This intuitive visualization method makes it easy for users to quickly identify the core areas and outliers of the cluster.

[0119] Return outlier coordinates: The smart contract returns the coordinate information of the identified outliers, along with their specific locations in the data set, to the client through an encrypted secure channel. These coordinate data clearly indicate which data points are considered outliers, making it easier for users to further analyze and process them.

[0120] Data inverse preprocessing and display: After the client receives the outlier coordinates, it will perform inverse preprocessing and inverse standardization operations. This process aims to restore the standardized data to its original state so that business personnel can understand and analyze it. Specifically, it includes converting the standardized values ​​back to their original values ​​and converting the coded fields such as region and gender into readable text information.

[0121] Client data display: Finally, the client displays the inverse processed data, including customer credit score, region, gender, age, user banking history, deposit and loan details, product usage, credit card holding status, user activity level, and income estimation, to business analysts in a user-friendly interface, so that they can conduct in-depth research on the characteristics and impact of outliers.

[0122] in, Figure 4 is a schematic diagram of an outlier according to an embodiment of the present application, such as Figure 4 As shown, cluster centers are marked with asterisks and outliers are marked with “+” signs.

[0123] In an optional embodiment, before signing the transaction proposal through the client and submitting the signed transaction proposal to the sorting role node of the blockchain, the user data processing method based on the blockchain also includes: receiving response information of X endorsement nodes to the transaction proposal through the client, wherein X is an integer greater than 1, and the response information includes the execution result of the endorsement node for the smart contract and the signature information of the endorsement node on the transaction proposal; performing a consistency check on the response information of the X endorsement nodes to the transaction proposal through the client, wherein the consistency check is used to detect whether the transaction proposal is supported by at least Y endorsement nodes among the X endorsement nodes, wherein Y is a positive integer less than or equal to X; if the transaction proposal is supported by at least Y endorsement nodes, determining that the transaction proposal meets the consistency condition; if the transaction proposal is not supported by at least Y endorsement nodes, determining that the transaction proposal does not meet the consistency condition.

[0124] Optionally, when a client submits a transaction proposal to the blockchain network, the proposal is broadcast to multiple endorsing nodes. The number of endorsing nodes X is pre-set, and X is greater than 1, which means that at least two or more endorsing nodes will participate in the execution and verification of the proposal. Each endorsing node executes the smart contract logic specified in the proposal and returns two main pieces of information: the execution result of the smart contract and the signature information of the node on the transaction proposal. This information is the basis for further inspection and decision-making by the client. After the client receives the response information from X endorsing nodes, it will perform a consistency check to ensure that the proposal has sufficient support. The consistency check sets a threshold Y (Y is a positive integer less than or equal to X), requiring the proposal to receive positive responses from at least Y endorsing nodes. This threshold is set to prevent the errors or malicious behavior of a few nodes from affecting the decision-making process of the entire network. If the proposal receives support from at least Y endorsing nodes, the client will determine that the proposal meets the consistency condition. Otherwise, it is considered that the proposal does not meet the consistency condition and may need to be resubmitted or revised.

[0125] During the consistency check, the client verifies the signature information of the endorsement node to confirm the source and integrity of the response information, and compares the execution results of each endorsement node to ensure consistency between them. If the results are consistent and the number of endorsement nodes that support it reaches the threshold Y, the client will determine that the proposal is valid and can continue with the subsequent consensus and writing process to the blockchain ledger. Finally, the client determines whether the transaction proposal meets the consistency conditions of the network based on the results of the consistency check. If the proposal is supported by at least Y endorsement nodes, that is, the execution results are consistent and the signature information is valid, then the client will determine that the proposal meets the consistency conditions. Conversely, if the proposal is not supported by at least Y endorsement nodes, the client will determine that the proposal does not meet the consistency conditions. In this case, the proposal may need to be revoked, or the client needs to resubmit the proposal, which may be accompanied by modifications to the proposal content in order to obtain support from more nodes. Proposals that do not meet the consistency conditions cannot continue to be further executed and verified in the blockchain network, ensuring the stability and security of the network.

[0126] In an optional embodiment, consensus is reached on the signed transaction proposals through a sorting role node, and all consensus results are sorted according to the generation time of the consensus results; according to the sorting result of the consensus results, the data on which consensus is completed in the transaction proposal is packaged into blocks and sent to the submission node of the blockchain, including: detecting whether the signature information of the transaction proposal is correct and whether there is any missing information in the transaction proposal through the sorting role node; when it is detected that the signature information of the transaction proposal is correct and there is no missing information in the transaction proposal, consensus is reached on the data in the transaction proposal through multiple sorting role nodes to obtain at least one consensus result, wherein each consensus result represents whether multiple sorting role nodes have reached a consensus on part of the data in the transaction proposal; according to the generation time of each consensus result, the data on which consensus is completed in the transaction proposal is packaged into blocks and sent to the submission node of the blockchain.

[0127] Optionally, when a transaction proposal is submitted by a client, it will first undergo a preliminary check by the sorting role node. The sorting service node verifies whether the signature information in the proposal is correct, which is the first line of defense to ensure the authenticity of the proposal source and prevent data tampering. The signature information is generated by the client and is based on an asymmetric encryption algorithm to ensure that only clients holding the correct private key can generate a valid signature. In addition, the sorting role node will check whether there is any missing information in the proposal, ensure that the proposal content is complete, and all necessary parameters and smart contract identifiers are correctly included to prepare for the subsequent consensus process. The transaction proposal that passes the signature information and integrity verification will be broadcast to multiple sorting role nodes in the network. These nodes will reach a consensus on the data in the proposal according to the network's consensus algorithm, that is, determine the consistency of all nodes on the proposal data. The consensus process may involve multiple stages and ultimately generate at least one consensus result, each of which reflects the recognition of the nodes in the network for a specific data or operation in the proposal. Once multiple sorting role nodes reach a consensus on the data in the transaction proposal, the next step is to sort the data according to the generation time of the consensus result. Time sorting is crucial in distributed ledger systems. It ensures that the execution order of transactions is consistent with the actual submission order, preventing data inconsistencies caused by transaction conflicts and time differences. The timestamp mechanism combined with the consensus algorithm provides accurate data timing for the blockchain network and maintains the integrity and consistency of the ledger.

[0128] In an optional embodiment, the submission node detects whether the data state of each data in the block conflicts with the state of the blockchain; when it is detected that the data state of each data in the block does not conflict with the state of the blockchain, it is determined that the data state of the data in the block matches the state of the blockchain, and the hash value of the block is linked to the hash value of the block already recorded in the blockchain, so as to append the block to the blockchain. When it is detected that the data state of at least one data in the block conflicts with the state of the blockchain, it is determined that the data state of the data in the block does not match the state of the blockchain, and it is prohibited to link the hash value of the block with the hash value of the block already recorded in the blockchain.

[0129] Optionally, after the consensus process is complete and the new block is generated, the block will be submitted to the commit node of the blockchain network. The commit node performs a critical task, which is to detect whether the data state of each data module (transaction) in the new block conflicts with the state of the current blockchain ledger. Data state conflicts may arise from a variety of situations, including but not limited to: repeated transactions of the same account, invalid transactions due to insufficient account balance, and execution failures caused by unsatisfied smart contract conditions. This detection step ensures that the transaction data in the new block matches the current state of the ledger and avoids the writing of inconsistent or invalid data. If each data state in the new block passes the conflict detection, that is, it completely matches the state of the blockchain ledger and no conflicts are detected, the commit node confirms that the data state of the new block matches the state of the blockchain. Next, the hash value of the new block (a unique digital fingerprint generated by the block content) will be linked to the hash value of the previous block recorded in the blockchain. This linking mechanism is the basis of the blockchain chain data structure, which ensures that the addition of new blocks does not destroy the integrity of the blockchain and the continuity of the data. The hash value of the new block is linked to the hash value of the previous block, forming a seamless data chain. The new block is appended to the blockchain to complete the distributed storage of data and the update of the consensus status.

[0130] However, if a conflict is detected between the data state of at least one data in the new block and the state of the blockchain, the commit node will immediately determine that the new block does not match the state of the blockchain. In this case, the hash value of the new block will not be linked to the chain structure of the blockchain, and the new block will be blocked from being written to the ledger. This mechanism protects the accuracy and consistency of the ledger, avoids the widespread dissemination of erroneous or inconsistent data, and ensures the robustness and security of the blockchain network.

[0131] In an optional embodiment, updating the world state database corresponding to the blockchain includes: obtaining all key-value pairs related to the data in the block in the update ledger of the blockchain; and updating the world state database according to the state information of the key-value pairs.

[0132] Optionally, after the new block is verified and successfully added to the blockchain, all transaction data contained in the block will be read and parsed. In the blockchain, transaction data is usually represented as key-value pairs, where the "key" represents the unique identifier of the data and the "value" contains the specific transaction information or status update. In this step, the commit node extracts all key-value pairs related to the transaction from the new block in preparation for the subsequent update of the world state database. The extracted key-value pairs are further parsed to understand their state information. The state information reflects the results of the transaction execution, including but not limited to account balance updates, contract status changes, data record modifications, etc. At this stage, the commit node verifies the correctness and validity of the state information to ensure that they comply with the rules of the blockchain ledger and the logic of the smart contract. This verification process is a key step to ensure the security and consistency of the ledger. Once the state information of the key-value pair is verified, the commit node will update the world state database based on the state information. The world state database is a lightweight database that stores the latest status of all keys in the blockchain ledger. Updating the world state database means synchronizing the state information in the new block to the database, ensuring that the database reflects the latest distributed ledger state. This update process is instant, ensuring the real-time and efficiency of the blockchain system.

[0133] In an optional embodiment, consensus is performed on the signed transaction proposal through the sorting role node, including: determining Z speaker nodes based on the Z dimensions of user data in the transaction proposal, wherein Z is an integer greater than 1, the speaker node belongs to the sorting role node, and each speaker node is responsible for the consensus process of variable data of one dimension; after the consensus process is initiated by the speaker node, consensus operations are performed on the variable data of one dimension that the speaker node is responsible for through multiple councilor nodes corresponding to the speaker node, wherein the councilor nodes belong to the sorting role nodes that maintain communication connection with the speaker node.

[0134] Given that the scale of bank customer churn data processed by this solution is huge, reaching millions, the Speaker Node mechanism of the Authorized Byzantine Fault Tolerant Consensus Algorithm can be adopted. The Speaker Node mechanism distributes the data by variable dimensions, and assigns a Speaker Node to each dimension to be responsible for the consensus process of the data in that dimension. For example, if the user data involves 11 key variables (customer credit score, user location, user gender, age, user bank years, deposit and loan status, number of products used, credit card holding status, user activity, income estimate, and outlier information), each key variable has its own dedicated Speaker Node. This design reduces the overall pressure on the system during data analysis and improves the efficiency of the consensus process.

[0135] In addition, the mechanism for selecting the speaker node according to the variable dimension and its consensus algorithm process include the determination of the list of members, the selection of the speaker, the initiation of consensus, the participation of members, and the update of views. The list of members is composed of the variables involved in the execution of the smart contract. The speaker selection algorithm is based on the current variable data volume, view number and number of nodes, and determines the subscript through modular operation to ensure fairness and randomness. After the speaker initiates the consensus, if the time interval meets the set conditions (for example, 10 seconds), the consensus process is immediately started. After receiving the consensus request from the speaker, the member node first performs public key verification to ensure the reliability of the information source, and then participates in the consensus process.

[0136] The optimization points of the consensus algorithm lie in two aspects: first, by selecting the speaker node to reach consensus on specific variables, the pressure of big data processing on the system consensus mechanism is reduced; second, the update mechanism of the speaker node ensures the dynamic adjustment of the speaker role, avoids the consensus deviation that may be caused by a single node controlling the speaker position for a long time, and improves the accuracy of the consensus process and the overall robustness of the system.

[0137] In an optional embodiment, the process of determining the i-th speaker node among Z speaker nodes includes the following steps: obtaining the data volume of the variable data of the i-th dimension in the user data, where i is an integer less than or equal to Z; obtaining the view number of the client, where the view number is the identifier of the view layer of the client; obtaining the number of all nodes in the blockchain that can serve as councilor nodes; determining the node subscript value based on the data volume of the variable data of the i-th dimension, the view number, and the number of all nodes in the blockchain that can serve as councilor nodes; and using the node in the blockchain corresponding to the node subscript value as the i-th speaker node.

[0138] Optionally, Figure 5 is an overall architecture diagram of an optional blockchain-based user data processing system according to an embodiment of the present application, such as Figure 5 As shown, the user data processing system includes: client, SDK component and blockchain network. Among them, the client includes view layer and control layer; SDK component is used to realize the interaction between client and database. Blockchain network includes: chain code, ledger, state database and history database. Among them, the ledger records blocks, and the state update of blocks needs to be synchronized to the state database and history database.

[0139] Optionally, the following formula (1) can be used to calculate the index value of the i-th speaker node:

[0140] Mod(s+1-v,Q)(1)

[0141] In formula (1), Mod is the remainder function, that is, the remainder after (s+1-v) is divided by Q, s refers to the data volume of the variable data of the i-th dimension, v refers to the current view number, and Q refers to the number of nodes of the councilor node.

[0142] Optionally, after the speaker node updates the view number, if the current time from the last time a new block was written exceeds the predetermined interval between each round of consensus (e.g. 10s), a new round of consensus will be started immediately, otherwise it will be initiated after the interval. Then the councillor nodes participate in the consensus process. When the speaker node initiates the consensus, it will be broadcast to the councillor nodes. At this time, the councillor nodes will start to verify the public key of the transaction proposal after receiving it, and then reach a consensus.

[0143] In an optional embodiment, after the node corresponding to the node subscript value in the blockchain is used as the i-th speaker node, the blockchain-based user data processing method also includes: when the view number of the client is updated and the blockchain has not reached a consensus on the variable data of the i-th dimension, initiating a view update request through any member node, wherein the view update request is used to request to determine a new speaker node based on the number of variable data in the i-th dimension, the latest view number, the total number of member nodes and a preset ratio; wherein the preset ratio is used to adjust the number of variable data in the i-th dimension; when the view update request is supported by the consensus of the target number of member nodes, the i-th speaker node is updated.

[0144] Optionally, when a view life cycle is completed, if consensus has not been reached, a broadcast request (corresponding to the above view update request) is sent through the representative node to enter the next view cycle and re-select the speaker node. When re-selecting the speaker node, a percentage (corresponding to the above preset ratio) is selected, and then the subscript of the new speaker node is calculated using the following formula (2):

[0145] Mod(s*c+1-v1,Q)(2)

[0146] In formula (2), Mod is the modulo function, s is the amount of variable data in the i-th dimension, c is the preset ratio, and v1 is the latest view number. When the request to update the view is supported by 2 / 3 of the councilor nodes, the entire network reaches a consensus and enters the next view cycle to re-consensus.

[0147] It should be noted that the consensus algorithm is optimized for two main points. The first is to select the speaker node based on the variable data, and reduce the impact of big data processing on the system consensus through the speaker system. The second is the speaker node update system. Timely updating of the speaker is conducive to reducing the hidden danger of malicious nodes occupying the speaker position due to the speaker not being updated, thereby improving the accuracy of the consensus.

[0148] In an optional embodiment, Figure 6 is a schematic diagram of an optional blockchain network structure according to an embodiment of the present application, such as Figure 6 As shown in the figure, the blockchain network includes: CA certificate management component, MSP, orderer node, channel channel, peer0 node and peer1 node, among which each peer node corresponds to a chain code and a ledger.

[0149] In an optional embodiment, Table 3 shows the data structure of variable data in user data:

[0150] Table 3

[0151] Table field English name Table field Chinese name Customer Credit Score Customer credit score User's country / region User location User Gender User Gender Age age User Years How many years have you been a customer of this bank? Deposit and loan situation Deposit and loan situation Quantity of products used Number of products used Cardholder Do you have a credit card from this bank? Active user Active user? Estimated income Estimated income

[0152] Alternatively, if Figure 7 As shown, an optional transaction proposal processing flow is as follows:

[0153] Step 1: The client calls the member service through the SDK to register and enroll, and the user obtains the identity certificate from it.

[0154] Step 2: The client initiates a transaction proposal to the blockchain network through the SDK. The transaction proposal sends the smart contract identifier to be called for this transaction, the contract method (the specific implementation logic of the smart contract method), parameter information (the required input items for calling the corresponding smart contract and the input flag that can uniquely identify the smart contract), and the client signature (an identifier that can identify which transaction channel the customer is in and a label to verify the identity) to the endorsing node.

[0155] Step 3: After receiving the transaction proposal, the endorsement node verifies the signature and confirms whether the submitter has the right to perform the operation. At the same time, it simulates the execution of the smart contract according to the endorsement policy and returns the result and its respective CA signature to the application client (i.e., responds to the transaction proposal).

[0156] Step 4: After receiving the information returned by the endorsement node, the client determines the acquiring transaction scenario to which the transaction belongs, whether the proposal result is consistent, and whether it is executed in accordance with the specified endorsement policy. The client packages the data together to form the transaction data, signs it, and sends it to the sorting role node.

[0157] Step 5: The sorting role node performs consensus sorting on the received transaction data, and finally packages a batch of transaction data together according to the block generation strategy, generates a new block, and sends it to the submission node.

[0158] Step 6: After receiving the block, the submitting node will verify each transaction data in the block to check whether the input and output that the transaction data depends on are consistent with the current state of the blockchain. After completion, the block will be appended to the local blockchain and the world state will be modified.

[0159] According to another aspect of the present application, a user data processing device based on blockchain is also provided, such as Figure 8 As shown, the blockchain-based user data processing device includes: a first processing unit 801, a second processing unit 802, a third processing unit 803, and a fourth processing unit 804.

[0160] Optionally, the first processing unit 801 is used to initiate a transaction proposal to the blockchain through the client, wherein the transaction proposal includes at least smart contract information and user data of lost users of the financial institution; the second processing unit 802 is used to execute the smart contract through the endorsement node in the blockchain, and when it is determined that the transaction proposal meets the consistency condition, the transaction proposal is signed through the client, and the signed transaction proposal is submitted to the sorting role node of the blockchain, wherein the sorting role node is a node participating in consensus decision-making in the blockchain; the third processing unit 803 is used to reach a consensus on the signed transaction proposal through the sorting role node, and sort all consensus results according to the generation time of the consensus result; according to the sorting result of the consensus result, the data that has completed the consensus in the transaction proposal is packaged into a block and sent to the submission node of the blockchain; the fourth processing unit 804 is used to append the block to the blockchain through the submission node when the submission node determines that the data state of the data in the block matches the state of the blockchain, and update the world state database corresponding to the blockchain.

[0161] Optionally, the first processing unit 801 includes: a registration subunit, used to register an identity certificate through a client, wherein the identity certificate is used to represent that the client has the authority to access the blockchain to process transaction proposals; and a sending subunit, used to periodically initiate transaction proposals to the blockchain through the client after the client successfully registers the identity certificate.

[0162] Optionally, the blockchain-based user data processing device also includes: a first verification unit, used to verify the client signature in the transaction proposal based on the client public key in the transaction proposal, wherein the condition for the client signature verification to pass is that the client public key matches the client private key; a first detection unit, used to check whether the submitter of the transaction proposal has the authority to execute the smart contract through the endorsement node after the client signature verification passes; a simulation detection unit, used to simulate the execution of the operation logic defined in the smart contract according to the content of the transaction proposal through the endorsement node when it is determined that the submitter has the authority to execute the smart contract, wherein the simulated execution is used to verify whether the logic of the smart contract conflicts with the transaction rules of the blockchain without changing the actual ledger state of the blockchain.

[0163] Optionally, the blockchain-based user data processing device also includes: a first determination unit, used to execute a smart contract through an endorsement node in the blockchain to determine variable data from the user data, wherein the variable data includes at least the credit score and geographic location data of the lost user; a second determination unit, used to determine outliers in the user data based on the variable data, wherein the similarity between the data corresponding to the outliers and the data corresponding to the non-outliers is less than a preset threshold; a third determination unit, used to take the outliers and the data positions corresponding to the outliers in the user data as target data; an encapsulation unit, used to encapsulate the target data through the signature of the endorsement node, and send the encapsulated target data to the client; a deletion unit, used to delete the data corresponding to the outliers from the user data in response to the outlier deletion instruction received by the client.

[0164] Optionally, the blockchain-based user data processing device further includes: a receiving unit, configured to receive, through a client, response information of X endorsement nodes to the transaction proposal, wherein X is an integer greater than 1, and the response information includes the execution result of the endorsement node for the smart contract and the signature information of the endorsement node for the transaction proposal; a consistency detection unit, configured to perform a consistency check on the response information of the X endorsement nodes to the transaction proposal through the client, wherein the consistency check is used to detect whether the transaction proposal is supported by at least Y endorsement nodes among the X endorsement nodes, wherein Y is a positive integer less than or equal to X; a fourth determination unit, configured to determine that the transaction proposal satisfies the consistency condition if the transaction proposal is supported by at least Y endorsement nodes; and a fifth determination unit, configured to determine that the transaction proposal does not satisfy the consistency condition if the transaction proposal is not supported by at least Y endorsement nodes.

[0165] Optionally, the third processing unit 803 includes: a first detection subunit, used to detect whether the signature information of the transaction proposal is correct and whether there is any missing information in the transaction proposal through the sorting role node; a consensus subunit, used to, when it is detected that the signature information of the transaction proposal is correct and there is no missing information in the transaction proposal, reach a consensus on the data in the transaction proposal through multiple sorting role nodes to obtain at least one consensus result, wherein each consensus result represents whether multiple sorting role nodes reach a consensus on part of the data in the transaction proposal; a block generation subunit, used to package the data that has completed consensus in the transaction proposal into blocks according to the generation time of each consensus result and send them to the submission node of the blockchain.

[0166] Optionally, the fourth processing unit 804 includes: a second detection subunit, used to detect whether the data state of each data in the block conflicts with the state of the blockchain through the submission node; a first determination subunit, used to determine that the data state of the data in the block matches the state of the blockchain when it is detected that the data state of each data in the block does not conflict with the state of the blockchain, and link the hash value of the block with the hash value of the block recorded in the blockchain to append the block to the blockchain; a second determination subunit, used to determine that the data state of the data in the block does not match the state of the blockchain when it is detected that the data state of at least one data in the block conflicts with the state of the blockchain, and prohibit linking the hash value of the block with the hash value of the block recorded in the blockchain.

[0167] Optionally, the fourth processing unit 804 includes: a first acquisition subunit, used to acquire all key-value pairs related to the data in the block in the update ledger of the blockchain; and an update subunit, used to update the world state database according to the state information of the key-value pairs.

[0168] Optionally, the third processing unit 803 includes: a third determination sub-unit, used to determine Z speaker nodes according to Z dimensions of user data in the transaction proposal, wherein Z is an integer greater than 1, the speaker node belongs to a sorting role node, and each speaker node is responsible for the consensus process of variable data of one dimension; a consensus operation sub-unit, used to perform a consensus operation on the variable data of one dimension that the speaker node is responsible for through multiple councilor nodes corresponding to the speaker node after initiating the consensus process through the speaker node, wherein the councilor nodes belong to sorting role nodes that maintain a communication connection with the speaker node.

[0169] Optionally, the third determination subunit includes: a first acquisition module, used to obtain the data volume of the variable data of the i-th dimension in the user data, wherein i is an integer less than or equal to Z; a second acquisition module, used to obtain the view number of the client, wherein the view number is the identifier of the view layer of the client; a third acquisition module, used to obtain the number of all nodes in the blockchain that can serve as councillor nodes; a first determination module, used to determine the node subscript value according to the data volume of the variable data of the i-th dimension, the view number and the number of all nodes in the blockchain that can serve as councillor nodes; a first processing module, used to use the node in the blockchain corresponding to the node subscript value as the i-th speaker node.

[0170] Optionally, the blockchain-based user data processing device also includes: a view update unit, which is used to initiate a view update request through any member node when the view number of the client is updated and the blockchain has not reached a consensus on the variable data of the i-th dimension, wherein the view update request is used to request to determine a new speaker node based on the number of variable data in the i-th dimension, the latest view number, the total number of member nodes and a preset ratio; wherein the preset ratio is used to adjust the number of variable data in the i-th dimension; a node update unit, which is used to update the i-th speaker node when the view update request is supported by the consensus of the target number of member nodes.

[0171] According to another aspect of the present application, a computer-readable storage medium is also provided, wherein the computer-readable storage medium includes a stored executable program, wherein when the executable program is running, the device where the computer-readable storage medium is located is controlled to execute the above-mentioned blockchain-based user data processing method.

[0172] According to another aspect of the present application, an electronic device is also provided, wherein the electronic device includes: a memory storing an executable program; and a processor for running the program, wherein the above-mentioned blockchain-based user data processing method is executed when the program is running.

[0173] According to another aspect of the present application, a computer program product is also provided, comprising computer instructions, wherein when the computer instructions are executed by a processor, the above-mentioned blockchain-based user data processing method is implemented.

[0174] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0175] In the above embodiments of the present application, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.

[0176] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units can be a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.

[0177] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

Claims

1. A user data processing method based on blockchain, characterized in that: include: Initiate a transaction proposal to the blockchain through the client, wherein the transaction proposal includes at least smart contract information and user data of lost users of the financial institution; The smart contract is executed through the endorsement node in the blockchain. When it is determined that the transaction proposal meets the consistency condition, the transaction proposal is signed by the client, and the signed transaction proposal is submitted to the sorting role node of the blockchain, wherein the sorting role node is a node in the blockchain that participates in consensus decision-making; The signed transaction proposals are consensus-based through the sorting role node, and all the consensus results are sorted according to the generation time of the consensus results; according to the sorting results of the consensus results, the consensus-based data in the transaction proposals are packaged into blocks and sent to the submission node of the blockchain; When the commit node determines that the data state of the data in the block matches the state of the blockchain, the block is appended to the blockchain through the commit node, and the world state database corresponding to the blockchain is updated.

2. The user data processing method based on blockchain according to claim 1 is characterized in that: Initiate a transaction proposal to the blockchain through the client, including: Registering an identity certificate through the client, wherein the identity certificate is used to indicate that the client has the authority to access the blockchain to process the transaction proposal; After the client successfully registers the identity certificate, the transaction proposal is regularly initiated to the blockchain through the client.

3. The user data processing method based on blockchain according to claim 1 is characterized in that: Before executing the smart contract through the endorsement node in the blockchain, the blockchain-based user data processing method further includes: Verifying the client signature in the transaction proposal according to the client public key in the transaction proposal, wherein the client signature verification passes if the client public key matches the client private key; After the client signature is verified, the endorsement node is used to check whether the submitter of the transaction proposal has the authority to execute the smart contract; When it is determined that the submitter has the authority to execute the smart contract, the endorsement node simulates the execution of the operation logic defined in the smart contract according to the content of the transaction proposal, wherein the simulated execution is used to verify whether the logic of the smart contract conflicts with the transaction rules of the blockchain without changing the actual ledger state of the blockchain.

4. The user data processing method based on blockchain according to claim 1 is characterized in that: The blockchain-based user data processing method further includes: Executing the smart contract through an endorsement node in the blockchain to determine variable data from the user data, wherein the variable data at least includes a credit score and geographic location data of the lost user; Determine an outlier in the user data according to the variable data, wherein a similarity between data corresponding to the outlier and data corresponding to the non-outlier is less than a preset threshold; Taking the outlier point and the data position of the outlier point corresponding to the user data as target data; Encapsulating the target data through the signature of the endorsing node, and sending the encapsulated target data to the client; In response to the outlier deletion instruction received by the client, data corresponding to the outlier is deleted from the user data.

5. The user data processing method based on blockchain according to claim 1 is characterized in that: Before signing the transaction proposal through the client and submitting the signed transaction proposal to the sorting role node of the blockchain, the blockchain-based user data processing method further includes: Receiving, through the client, response information of X endorsement nodes to the transaction proposal, where X is an integer greater than 1, and the response information includes the execution result of the endorsement node for the smart contract and the signature information of the endorsement node for the transaction proposal; performing, by the client, a consistency check on response information of the X endorsing nodes to the transaction proposal, wherein the consistency check is used to detect whether the transaction proposal is supported by at least Y endorsing nodes among the X endorsing nodes, wherein Y is a positive integer less than or equal to X; When the transaction proposal is supported by at least Y of the endorsing nodes, determining that the transaction proposal satisfies the consistency condition; When the transaction proposal is not supported by at least Y of the endorsing nodes, it is determined that the transaction proposal does not satisfy the consistency condition.

6. The user data processing method based on blockchain according to claim 1 is characterized in that: The signed transaction proposals are consensus-generated through the sorting role node, and all the consensus results are sorted according to the generation time of the consensus results; According to the sorting result of the consensus result, the data that has completed the consensus in the transaction proposal is packaged into blocks and sent to the submission node of the blockchain, including: Detecting, by the sorting role node, whether the signature information of the transaction proposal is correct and whether there is any missing information in the transaction proposal; When it is detected that the signature information of the transaction proposal is correct and there is no missing information in the transaction proposal, a plurality of the sorting role nodes reach a consensus on the data in the transaction proposal to obtain at least one consensus result, wherein each consensus result indicates whether a plurality of the sorting role nodes reach a consensus on part of the data in the transaction proposal; According to the generation time of each consensus result, the data that has completed the consensus in the transaction proposal is packaged into blocks and sent to the submission node of the blockchain.

7. The user data processing method based on blockchain according to claim 1 is characterized in that: In a case where the commit node determines that the data in the block matches the state of the blockchain, appending the block to the blockchain by the commit node includes: Detecting, by the commit node, whether the data state of each data in the block conflicts with the state of the blockchain; When it is detected that there is no conflict between the data state of each data in the block and the state of the blockchain, it is determined that the data state of the data in the block matches the state of the blockchain, and the hash value of the block is linked to the hash value of the block already recorded in the blockchain, so as to append the block to the blockchain.

8. The method for processing user data based on blockchain according to claim 7, characterized in that: The blockchain-based user data processing method further includes: In the event that a conflict is detected between the data state of at least one data in the block and the state of the blockchain, it is determined that the data state of the data in the block does not match the state of the blockchain, and linking the hash value of the block with the hash value of the block already recorded in the blockchain is prohibited.

9. The user data processing method based on blockchain according to claim 1 is characterized in that: Updating the world state database corresponding to the blockchain, including: Obtaining all key-value pairs related to the data in the block in the updated ledger of the blockchain; The world state database is updated according to the state information of the key-value pair.

10. The user data processing method based on blockchain according to claim 1 is characterized in that: The signed transaction proposal is consensus-based through the sorting role node, including: Determine Z speaker nodes according to the Z dimensions of user data in the transaction proposal, where Z is an integer greater than 1, and the speaker node belongs to the sorting role node, and each speaker node is responsible for the consensus process of variable data of one dimension; After the consensus process is initiated by the speaker node, a consensus operation is performed on the variable data of a dimension that the speaker node is responsible for through multiple councilor nodes corresponding to the speaker node, wherein the councilor nodes belong to the sorting role nodes that maintain communication connection with the speaker node.

11. The method for processing user data based on blockchain according to claim 10, characterized in that: The process of determining the i-th speaker node among the Z speaker nodes comprises the following steps: Obtaining the data volume of the variable data of the i-th dimension in the user data, where i is an integer less than or equal to Z; Acquire a view number of the client, wherein the view number is an identifier of a view layer of the client; Obtain the number of all nodes in the blockchain that can serve as the councillor nodes; Determine a node index value according to the amount of variable data of the i-th dimension, the view number, and the number of all nodes in the blockchain that can serve as the councillor nodes; The node corresponding to the node index value in the blockchain is used as the i-th speaker node.

12. The method for processing user data based on blockchain according to claim 11, characterized in that: After taking the node corresponding to the node index value in the blockchain as the i-th speaker node, the blockchain-based user data processing method further includes: In the case where the view number of the client is updated and the blockchain has not reached a consensus on the variable data of the i-th dimension, a view update request is initiated through any one of the councillor nodes, wherein the view update request is used to request to determine a new speaker node according to the number of variable data of the i-th dimension, the latest view number, the total number of councillor nodes and a preset ratio; wherein the preset ratio is used to adjust the number of variable data of the i-th dimension; When the view update request is supported by the consensus of the target number of parliamentarian nodes, the i-th speaker node is updated.

13. A user data processing device based on blockchain, characterized in that: include: A first processing unit, configured to initiate a transaction proposal to the blockchain through a client, wherein the transaction proposal includes at least smart contract information and user data of lost users of the financial institution; A second processing unit is configured to execute the smart contract through an endorsement node in the blockchain, and when it is determined that the transaction proposal meets the consistency condition, sign the transaction proposal through the client, and submit the signed transaction proposal to a sorting role node of the blockchain, wherein the sorting role node is a node in the blockchain that participates in consensus decision-making; The third processing unit is used to reach a consensus on the signed transaction proposal through the sorting role node, and sort all the consensus results according to the generation time of the consensus results; according to the sorting result of the consensus results, the consensus data in the transaction proposal is packaged into blocks and sent to the submission node of the blockchain; and a fourth processing unit, configured to append the block to the blockchain through the submission node and update a world state database corresponding to the blockchain when the submission node determines that the data state of the data in the block matches the state of the blockchain.

14. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored executable program, wherein when the executable program is running, the device where the computer-readable storage medium is located is controlled to execute the blockchain-based user data processing method described in any one of claims 1 to 12.

15. An electronic device, characterized in that: include: A memory storing an executable program; A processor, configured to run the program, wherein the program, when running, executes the blockchain-based user data processing method described in any one of claims 1 to 12.

16. A computer program product comprising computer instructions, characterized in that When the computer instructions are executed by the processor, the steps of the blockchain-based user data processing method described in any one of claims 1 to 12 are implemented.

Citation Information

Patent Citations

  • Method and equipment for implementing blockchain operating smart contract

    CN108769173A

  • Transaction processing method of block chain network and blockchain network

    CN110544095A

  • Block chain network data processing method and device, electronic equipment and storage medium

    CN110602138A

  • Data processing method and device based on blockchain network, electronic equipment and storage medium

    CN110933108A

  • Transaction processing method of block chain network and block chain network

    CN111047319A