Data processing method and device based on blockchain system, equipment and medium
Patent Information
- Application Number
- CN202210650940.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-09
- Publication Date
- 2026-09-11
- Estimated Expiration
- 2042-06-09
AI Technical Summary
[0004]可见,只要交易发起方发起交易操作,则需要提供其自身与实名验证相关的信息,该过程较为繁琐,影响了实名验证所对应交易操作的执行效率,并且实名验证相关信息易于泄露
[0023] According to one aspect of the embodiments of this application, the embodiments of this application provide a computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the data processing method based on a blockchain system as described above.
Smart Images

Figure CN117255081B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of blockchain technology, and more specifically, to a data processing method based on a blockchain system, a data processing device based on a blockchain system, an electronic device, and a computer-readable medium. Background Technology
[0002] Blockchain technology is widely used in finance, credit reporting, banking, and other fields. Currently, before initiating a transaction, the party initiating the transaction must undergo real-name verification. Specifically, the real-name verification process for the transaction initiator involves the following technologies:
[0003] The transaction initiator initiates a transaction operation carrying real-name verification information to the verification requester. The verification requester will initiate real-name verification against the transaction initiator through the centralized system based on the real-name verification information of the transaction initiator. Then, the centralized system will verify the real-name of the transaction initiator through the connected authoritative institution (the real-name verification information of the transaction initiator contained on the authoritative institution side is trustworthy) and send the real-name verification result to the verification requester. The verification requester will determine whether to execute the transaction operation based on the real-name verification result. This transaction operation involves interaction with the blockchain system.
[0004] It is evident that whenever a transaction initiator initiates a transaction, they need to provide their own information related to real-name verification. This process is rather cumbersome, affecting the execution efficiency of the transaction operation corresponding to real-name verification, and real-name verification-related information is easily leaked.
[0005] Therefore, how to simplify real-name verification in order to improve the execution efficiency of the corresponding transaction operations is an urgent problem to be solved. Summary of the Invention
[0006] To address the aforementioned technical problems, embodiments of this application provide a data processing method, apparatus, device, and medium based on a blockchain system, thereby improving the ease of real-name verification to at least a certain extent, and correspondingly improving the execution efficiency of transaction operations corresponding to real-name verification.
[0007] According to one aspect of the embodiments of this application, this application provides a data processing method based on a blockchain system. The method includes: receiving a first registration request sent by a credential issuer; wherein the first registration request includes credential information of a transaction initiator, the credential information being generated by the credential issuer after verifying the identifier information of the transaction initiator; invoking a first smart contract based on the first registration request; registering the credential information on the blockchain system through the first smart contract and generating an on-chain identifier corresponding to the transaction initiator; and sending the on-chain identifier to the credential issuer, so that the credential issuer returns the on-chain identifier to the transaction initiator.
[0008] According to one aspect of the embodiments of this application, this application provides a data processing method based on a blockchain system. The method includes: receiving a second registration request sent by a transaction initiator; wherein the second registration request includes identification information of the transaction initiator; verifying the transaction initiator based on the identification information, and generating credential information of the transaction initiator after successful verification; generating a first registration request based on the credential information, and sending the first registration request to a blockchain node, so that the blockchain node calls a first smart contract based on the first registration request; and registering the credential information on the blockchain system through the first smart contract, and generating an on-chain identifier corresponding to the transaction initiator; receiving the on-chain identifier sent by the blockchain node, and returning the on-chain identifier to the transaction initiator, so that the transaction initiator initiates a transaction operation based on the on-chain identifier.
[0009] According to one aspect of the embodiments of this application, this application provides a data processing apparatus based on a blockchain system. The apparatus includes: a first receiving module configured to receive a first registration request sent by a credential issuer; wherein the first registration request includes credential information of a transaction initiator, the credential information being generated by the credential issuer after verifying the identifier information of the transaction initiator; a calling module configured to call a first smart contract based on the first registration request; a registration and generation module configured to register the credential information on the blockchain system through the first smart contract and generate an on-chain identifier corresponding to the transaction initiator; and a sending module configured to send the on-chain identifier to the credential issuer, so that the credential issuer returns the on-chain identifier to the transaction initiator.
[0010] In one embodiment of this application, based on the aforementioned scheme, the registration and generation module is specifically configured to: calculate the credential information using a zero-knowledge proof algorithm to generate an on-chain identifier corresponding to the transaction initiator.
[0011] In one embodiment of this application, based on the aforementioned scheme, the first registration request further includes the signature information of the credential issuer; the registration and generation module is specifically configured to: obtain the credential information and the signature information of the credential issuer from the first registration request; and generate an on-chain identifier corresponding to the transaction initiator based on the signature information of the credential issuer and the credential information.
[0012] In one embodiment of this application, based on the aforementioned scheme, the first registration request further includes business type information to be processed when the transaction initiator initiates the second registration request; the registration and generation module is specifically configured to: obtain the credential information and the business type information from the first registration request; determine a business type identifier that matches the business type information; and generate an on-chain identifier corresponding to the transaction initiator based on the business type identifier and the credential information.
[0013] In one embodiment of this application, based on the aforementioned scheme, the registration and generation module is specifically configured to: generate timestamp information based on the current time and obtain a specified valid duration; generate an on-chain identifier corresponding to the transaction initiator based on the timestamp information, the specified valid duration, and the credential information; wherein, the on-chain identifier is valid for the specified valid duration from the time represented by the timestamp information.
[0014] In one embodiment of this application, based on the foregoing scheme, the device further includes: a fourth receiving module configured to receive a verification request sent by a verification requester; wherein the verification request is generated by the verification requester in response to a transaction operation initiated by a transaction initiator, and the verification request contains an on-chain identifier corresponding to the transaction initiator; the calling module is further configured to call a second smart contract based on the verification request; the verification module is configured to verify the on-chain identifier of the transaction initiator through the second smart contract to obtain a target verification result; and the return module is configured to return the target verification result to the verification requester, so that the verification requester determines whether to execute the transaction operation based on the target verification result.
[0015] In one embodiment of this application, based on the foregoing scheme, the calling module is specifically configured to: call the first smart contract through the second smart contract; verify the on-chain identifier of the transaction initiator through the first smart contract, and obtain the target verification result.
[0016] In one embodiment of this application, based on the foregoing scheme, the verification module is specifically configured as follows: verifying the signature information of the certificate issuer contained in the on-chain identifier of the transaction initiator through the second smart contract to obtain a first verification result; verifying the business type identifier contained in the on-chain identifier of the transaction initiator to obtain a second verification result; verifying the validity of the on-chain identifier of the transaction initiator to obtain a third verification result; and obtaining the target verification result based on the first verification result, the second verification result, and the third verification result.
[0017] In one embodiment of this application, based on the foregoing scheme, the verification module is further specifically configured to: obtain the current time and the valid time period of the on-chain identifier, and verify the validity of the on-chain identifier of the transaction initiator based on the current time and the valid time period to obtain the third verification result; or, obtain the on-chain identifier cancellation record from the blockchain system, and verify the validity of the on-chain identifier of the transaction initiator based on the on-chain identifier cancellation record to obtain the third verification result.
[0018] In one embodiment of this application, based on the aforementioned scheme, the transaction operation is a transfer operation of virtual resources, and the verification request further includes the target account address to which the virtual resources are to be transferred; the verification module is specifically configured to: verify the on-chain identifier of the transaction initiator through the second smart contract to obtain a verification result for the on-chain identifier of the transaction initiator; verify the target account address to obtain a verification result for the target account address; verify the on-chain identifier associated with the target account address to obtain a verification result for the on-chain identifier associated with the target account address; and obtain the target verification result based on the verification result for the on-chain identifier of the transaction initiator, the verification result for the target account address, and the verification result for the on-chain identifier associated with the target account address.
[0019] In one embodiment of this application, based on the aforementioned scheme, the transaction operation is a transfer operation of virtual resources, and the verification request further includes the target account address to which the virtual resources are to be transferred; the verification module is specifically configured to: verify the on-chain identifier of the transaction initiator through the second smart contract to obtain a verification result for the on-chain identifier of the transaction initiator; and verify the signature information of the transaction initiator to obtain a verification result for the signature information of the transaction initiator. Based on the verification result for the on-chain identifier of the transaction initiator and the verification result for the signature information of the transaction initiator, the target verification result is obtained.
[0020] In one embodiment of this application, based on the foregoing scheme, the device further includes: a fifth receiving module configured to receive a cancellation request sent by the transaction initiator; wherein the cancellation request includes an on-chain identifier to be cancelled; and a cancellation module configured to cancel the on-chain identifier to be cancelled on the blockchain system based on the cancellation request.
[0021] According to one aspect of the embodiments of this application, this application provides a data processing apparatus based on a blockchain system. The apparatus includes: a second receiving module configured to receive a second registration request sent by a transaction initiator; wherein the second registration request includes identification information of the transaction initiator; a verification and sending module configured to verify the transaction initiator based on the identification information, and generate credential information of the transaction initiator after successful verification, and generate a first registration request based on the credential information, and send the first registration request to a blockchain node, so that the blockchain node calls a first smart contract based on the first registration request, and registers the credential information on the blockchain system through the first smart contract, and generates an on-chain identifier corresponding to the transaction initiator; and a third receiving module configured to receive the on-chain identifier sent by the blockchain node, and return the on-chain identifier to the transaction initiator, so that the transaction initiator initiates a transaction operation based on the on-chain identifier.
[0022] According to one aspect of the embodiments of this application, an electronic device is provided, including one or more processors; and a storage device for storing one or more programs, which, when executed by the one or more processors, cause the electronic device to implement the data processing method based on a blockchain system as described above.
[0023] According to one aspect of the embodiments of this application, the embodiments of this application provide a computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the data processing method based on a blockchain system as described above.
[0024] According to one aspect of the embodiments of this application, the embodiments of this application provide a computer program product, including computer instructions, which, when executed by a processor, implement the data processing method based on a blockchain system as described above.
[0025] In the technical solution provided by the embodiments of this application: after the certificate issuer verifies the transaction initiator, it registers the certificate information of the transaction initiator on the blockchain system through the first smart contract pre-set in the blockchain system, and generates an on-chain identifier corresponding to the transaction initiator. Then, the on-chain identifier is returned to the transaction initiator through the certificate issuer. In this way, an on-chain identifier is assigned to the transaction initiator. When the transaction initiator has a transaction need in the future, it can initiate a transaction operation based on the on-chain identifier.
[0026] Firstly, in this embodiment, the transaction initiator is only required to provide real-name verification information when allocating an on-chain identifier, and the number of times the initiator provides this information is relatively small (possibly only once). In contrast, related technologies require the initiator to provide real-name verification information every time they initiate a transaction, resulting in a significantly higher frequency of such requests. On one hand, by allocating an on-chain identifier to the transaction initiator, the cumbersome process of providing real-name verification information (such as identifier information) to the verification requester and centralized system every time the initiator initiates a transaction is avoided, thus simplifying real-name verification and improving the execution efficiency of the corresponding transaction operations. On the other hand, it is understandable that the more times real-name verification information is provided, the greater the risk of its leakage. Since this embodiment only requires the initiator to provide real-name verification information when allocating an on-chain identifier, the protection of this information is better, and the security of the real-name verification process is higher.
[0027] Secondly, in this embodiment of the application, the on-chain identifier is implemented through a pre-built smart contract in the blockchain system. This process is simple, easy to implement, and applicable to many application scenarios.
[0028] Correspondingly, the real-name verification of the transaction initiator can be achieved by verifying the on-chain identifier later. This verification process no longer relies on the certificate issuer and centralized system. It can be achieved through the blockchain system (or through a pre-built smart contract), which further simplifies the real-name verification process, improves the execution efficiency of the transaction operation corresponding to the real-name verification, reduces the complexity of the business corresponding to the transaction operation, and requires fewer parties to maintain, resulting in lower maintenance costs.
[0029] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description
[0030] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application. It is obvious that the drawings described below are merely some embodiments of this application, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.
[0031] Figure 1 This is a schematic diagram of the blockchain network structure;
[0032] Figure 2 This is a diagram illustrating the connection relationships between blocks in a blockchain.
[0033] Figure 3 This is a schematic diagram illustrating an exemplary implementation environment in which the technical solutions of the embodiments of this application can be applied;
[0034] Figure 4 This is a flowchart illustrating a data processing method based on a blockchain system, as shown in an exemplary embodiment of this application;
[0035] Figure 5 This is a flowchart illustrating a data processing method based on a blockchain system, as shown in another exemplary embodiment of this application;
[0036] Figure 6 This is a flowchart illustrating a data processing method based on a blockchain system, as shown in another exemplary embodiment of this application;
[0037] Figure 7 This is a flowchart illustrating a data processing method based on a blockchain system, as shown in another exemplary embodiment of this application;
[0038] Figure 8 This is a flowchart illustrating a data processing method based on a blockchain system, as shown in another exemplary embodiment of this application;
[0039] Figure 9 This is a flowchart illustrating a data processing method based on a blockchain system, as shown in another exemplary embodiment of this application;
[0040] Figure 10 This is a flowchart illustrating a data processing method based on a blockchain system, as shown in another exemplary embodiment of this application;
[0041] Figure 11 This is a flowchart illustrating a data processing method based on a blockchain system, as shown in another exemplary embodiment of this application;
[0042] Figure 12 This is a flowchart illustrating a data processing method based on a blockchain system, as shown in another exemplary embodiment of this application;
[0043] Figure 13 This is a flowchart illustrating a data processing method based on a blockchain system, as shown in an exemplary embodiment of this application;
[0044] Figure 14 This is a schematic diagram illustrating an exemplary implementation environment in which the technical solutions of the embodiments of this application can be applied;
[0045] Figure 15 This is a schematic diagram illustrating a data processing method based on a blockchain system, as shown in another exemplary embodiment of this application;
[0046] Figure 16 This is a flowchart illustrating a data processing method based on a blockchain system, as shown in an exemplary embodiment of this application;
[0047] Figure 17 This is a flowchart illustrating a data processing method based on a blockchain system, as shown in an exemplary embodiment of this application;
[0048] Figure 18 This is a flowchart illustrating a data processing method based on a blockchain system, as shown in an exemplary embodiment of this application;
[0049] Figure 19 This is a block diagram of a data processing apparatus based on a blockchain system according to an embodiment of this application;
[0050] Figure 20 This is a block diagram of a data processing apparatus based on a blockchain system according to an embodiment of this application;
[0051] Figure 21 This is a schematic diagram of the structure of a computer system suitable for implementing the electronic devices of the present application embodiments. Detailed Implementation
[0052] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments identical to those of this application. Rather, they are merely examples of apparatuses and methods identical to some aspects of this application as detailed in the appended claims.
[0053] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0054] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.
[0055] It should be noted that "multiple" as mentioned in this application refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.
[0056] Before introducing the technical solutions of the embodiments of this application, the blockchain technology used in the embodiments of this application will be introduced first.
[0057] Blockchain is a novel application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanisms, and cryptographic algorithms. Essentially, a blockchain is a decentralized database, a chain of data blocks (i.e., blocks) linked together using cryptographic methods. Each data block contains information about a batch of network transactions, used to verify the validity of the information (anti-counterfeiting) and to generate the next block. A blockchain can include an underlying platform, a platform product and service layer, and an application service layer.
[0058] As mentioned above, a blockchain is essentially a decentralized database, and it is maintained collaboratively by nodes within a blockchain network. For example, please refer to [link to relevant documentation]. Figure 1 ,exist Figure 1 The blockchain network shown may include multiple nodes 101, which can be various clients forming the blockchain network. Each node 101, in its normal operation, receives input information and maintains shared data within the blockchain network based on this information. To ensure information exchange within the blockchain network, information connections can exist between each node, allowing for information transmission. For example, when any node in the blockchain network receives input information, other nodes in the network obtain this input information according to a consensus algorithm and store it as shared data, ensuring data consistency across all nodes in the blockchain network.
[0059] Each node in a blockchain network has a corresponding node identifier, and each node can store the node identifiers of other nodes. This allows for the broadcast of generated blocks to other nodes in the blockchain network based on their node identifiers. Each node can maintain a list of node identifiers, storing the node name and its corresponding node identifier in this list. The node identifier can be an IP (Internet Protocol) address or any other information that can be used to identify the node.
[0060] Each node in a blockchain network stores the same blockchain. A blockchain consists of multiple blocks; please refer to [link to relevant documentation]. Figure 2 A blockchain consists of multiple blocks. The genesis block includes a block header and a block body. The block header stores input information features, version number, timestamp, and difficulty value, while the block body stores the input information. The next block after the genesis block is the parent block of the genesis block. The next block also includes a block header and a block body. The block header stores the input information features of the current block, the block header features of the parent block, version number, timestamp, and difficulty value, and so on. This ensures that the block data stored in each block is related to the block data stored in the parent block, guaranteeing the security of the input information in the blocks.
[0061] In a blockchain network, each node can be a server or a terminal device. A server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and intelligent platforms. Terminal devices can be smartphones, tablets, laptops, desktop computers, smart speakers, smartwatches, etc., but are not limited to these. Nodes can be directly or indirectly connected via wired or wireless communication, and this application does not impose any restrictions on this.
[0062] The aforementioned cloud computing refers to the delivery and usage model of IT infrastructure, specifically the acquisition of required resources through the network in an on-demand and easily scalable manner. In a broader sense, cloud computing refers to the delivery and usage model of services, namely, the acquisition of required services through the network in an on-demand and easily scalable manner. These services can be IT and software-related, internet-related, or other services. Cloud computing is a product of the convergence and development of traditional computer and network technologies such as grid computing, distributed computing, parallel computing, utility computing, network storage technologies, virtualization, and load balancing. Driven by the development of the internet, real-time data streams, the diversification of connected devices, and the demands of search services, social networks, mobile commerce, and open collaboration, cloud computing has rapidly developed. Unlike previous parallel and distributed computing, the emergence of cloud computing will, conceptually, drive a revolutionary change in the entire internet model and enterprise management model.
[0063] Blockchains are generally classified into three types: public blockchains, private blockchains, and consortium blockchains. Furthermore, combinations of these types are possible, such as private blockchains + consortium blockchains, or consortium blockchains + public blockchains.
[0064] Among them, public blockchains offer the highest degree of decentralization. Ethereum, a prime example of a public blockchain, allows participants (also known as nodes in the blockchain) to read data records on the chain, participate in transactions, and compete for the right to record new blocks. Furthermore, nodes can freely join or leave the network and perform related operations.
[0065] In contrast, private blockchains control write permissions within a single organization or institution, and read permissions are governed by organizational regulations. Simply put, a private blockchain can be a weakly centralized system with strict restrictions on the number of nodes and a relatively small node count. This type of blockchain is more suitable for use within specific organizations.
[0066] Consortium blockchains are a type of blockchain that falls between public and private blockchains, enabling "partial decentralization." Each node in a consortium blockchain typically has a corresponding entity or organization; nodes join the network through authorization and form a consortium of stakeholders to jointly maintain the blockchain's operation.
[0067] In practical applications, public, private, and consortium blockchains can all potentially offer smart contract functionality. A smart contract on a blockchain is a contract that can be triggered and executed through transactions. Smart contracts can be defined in the form of code.
[0068] Smart contracts can be executed independently on each node of the blockchain network in a prescribed manner. All execution records and data are stored on the blockchain. Therefore, after a transaction is completed, the blockchain stores an immutable and unlost transaction certificate.
[0069] Taking Ethereum as an example, it allows users to create and invoke complex logic within the Ethereum network. As a programmable blockchain, Ethereum's core is the Ethereum Virtual Machine (EVM), which can be run by every Ethereum node. The EVM is a Turing-complete virtual machine that can implement various complex logics. Users publish and invoke smart contracts on Ethereum, which run on the EVM. In fact, the EVM directly runs virtual machine code (i.e., virtual machine bytecode), so smart contracts deployed on the blockchain can be virtual machine bytecode.
[0070] Creating a smart contract in Ethereum involves writing the smart contract, converting it into virtual machine bytecode, and deploying it to the blockchain. Calling a smart contract in Ethereum involves initiating a transaction that points to the smart contract's address. The EVM on each node can execute this transaction, distributing the smart contract code across the virtual machines of every node in the Ethereum network.
[0071] Currently, before initiating a transaction, the party initiating the transaction must undergo real-name verification. Specifically, the real-name verification process for the transaction initiator involves the following technical aspects:
[0072] The transaction initiator initiates a transaction operation carrying real-name verification information to the verification requester. The verification requester will initiate real-name verification against the transaction initiator through the centralized system based on the real-name verification information of the transaction initiator. Then, the centralized system will verify the real-name of the transaction initiator through the connected authoritative institution (the real-name verification information of the transaction initiator contained on the authoritative institution side is trustworthy) and send the real-name verification result to the verification requester. The verification requester will determine whether to execute the transaction operation based on the real-name verification result. This transaction operation involves interaction with the blockchain system.
[0073] The inventors of this application discovered through research that:
[0074] Firstly, whenever the transaction initiator initiates a transaction, they need to provide their own information related to real-name verification. This process is quite cumbersome and affects the execution efficiency of the transaction corresponding to real-name verification. Furthermore, information related to real-name verification is easily leaked, resulting in low security for real-name verification.
[0075] Secondly, the real-name verification process relies on multi-party interaction, which further affects the execution efficiency of the corresponding transaction operations. Furthermore, due to the involvement of multi-party interaction, the business complexity of the corresponding transaction operations is also high. At the same time, there are many parties that need to be maintained, resulting in high maintenance costs.
[0076] Thirdly, centralized systems require separate setup, which incurs setup costs, resulting in higher costs for real-name verification. Furthermore, as the number of transaction initiators increases, the centralized system may crash, causing the transaction operations corresponding to real-name verification to fail.
[0077] Based on the aforementioned blockchain technology and the series of problems existing in related technologies, embodiments of this application provide a data processing scheme based on a blockchain system. Wherein:
[0078] First, the credential issuer (which may be the aforementioned authoritative institution) verifies the identification information of the transaction initiator, and after successful verification, assigns an on-chain identifier to the transaction initiator through the first smart contract pre-installed in the blockchain system; the on-chain identifier can then be used for real-name verification of the transaction initiator.
[0079] Subsequently, when the transaction initiator has a transaction need, it can initiate a transaction operation to the verification requester based on the on-chain identifier. If the on-chain identifier is verified successfully through the second smart contract pre-set in the blockchain system, it indicates that the real-name verification of the transaction initiator is successful, and the verification requester can then execute the transaction operation. If the on-chain identifier is not verified successfully through the second smart contract pre-set in the blockchain system, it indicates that the real-name verification of the transaction initiator is unsuccessful, and the verification requester may choose not to execute the transaction operation.
[0080] That is, the embodiments of this application involve two processes: one is the preparation process (i.e., allocating an on-chain identifier to the transaction initiator) and the other is the application process (i.e., the transaction initiator initiates a transaction operation based on the on-chain identifier and verifies the on-chain identifier).
[0081] The technical solution adopted in this application can bring at least the following effective effects:
[0082] Firstly, in this embodiment, the transaction initiator is only required to provide real-name verification information when allocating an on-chain identifier, and the number of times the initiator provides such information is relatively small (possibly only once). In contrast, related technologies require the initiator to provide real-name verification information every time a transaction is initiated, resulting in a significantly higher frequency of such requests. Firstly, by allocating an on-chain identifier to the transaction initiator, the cumbersome process of providing real-name verification information (such as identifier information) to the verification requester and centralized system every time the initiator initiates a transaction is avoided, thus simplifying real-name verification and improving the execution efficiency of the corresponding transaction operations. Secondly, it is understandable that the more times real-name verification information is provided, the greater the risk of its leakage. Since this embodiment only requires the initiator to provide real-name verification information when allocating an on-chain identifier, the protection of this information is better, and the security of the real-name verification process is higher.
[0083] Secondly, the real-name verification of the transaction initiator can be achieved by verifying the on-chain identifier later. This verification process no longer relies on the certificate issuer and centralized system. It can be achieved through the blockchain system (or through a pre-built smart contract), which further simplifies the real-name verification process, improves the execution efficiency of the transaction operation corresponding to the real-name verification, reduces the complexity of the business corresponding to the transaction operation, and requires fewer parties to maintain, resulting in lower maintenance costs.
[0084] Thirdly, since no centralized system is built separately, the cost of building a centralized system can be reduced, thus lowering the cost of real-name verification; and the failure of transaction operations corresponding to real-name verification caused by the collapse of the centralized system can be avoided.
[0085] Fourthly, the allocation and verification of the on-chain identifier of the transaction initiator are achieved through smart contracts pre-built in the blockchain system. The process is simple, easy to implement, and applicable to many application scenarios.
[0086] In one application scenario of this application, please refer to Figure 3 This mainly includes the transaction initiator (301), the credential issuer (302), the verification requester (303), and the blockchain system (304). Among them:
[0087] The transaction initiator 301 is the party that initiates the transaction operation, which can trigger the transaction through any electronic device with an object input interface. Such electronic devices include, but are not limited to, smartphones, tablets, laptops, computers, smart voice interaction devices, smart home appliances, in-vehicle terminals, and aircraft. The object input interface includes, but is not limited to, touchscreens, keyboards, physical buttons, and audio pickup devices.
[0088] The credential issuer 302 is the party that verifies the identification information of the transaction initiator. It may be an authoritative institution or the like. When it receives the registration request (hereinafter referred to as the second registration request) initiated by the transaction initiator 301, it verifies the identification information of the transaction initiator contained in the second registration request, generates the credential information of the transaction initiator after the verification is successful, and generates a registration request (hereinafter referred to as the first registration request) based on the credential information and sends the first registration request to the blockchain system 304, so that the blockchain system 304 can allocate an on-chain identifier to the transaction initiator through the first smart contract.
[0089] The verification requester 303 is a party to the system or platform that the transaction initiator 301 enters. It can be an entertainment system or platform, etc. When it receives the transaction operation initiated by the transaction initiator 301, it generates a verification request and sends the verification request to the blockchain system 304, so that the blockchain system 304 can verify the on-chain identifier of the transaction initiator contained in the verification request through a second smart contract.
[0090] Blockchain system 304 is the aforementioned blockchain system, in which a first smart contract is pre-installed for registering the credential information of the transaction initiator on the blockchain system and generating the on-chain identifier corresponding to the transaction initiator, and a second smart contract is pre-installed for verifying the on-chain identifier of the transaction initiator and obtaining the target verification result.
[0091] It should be noted that in the specific implementation of this application, data related to the object is involved. When the embodiments of this application are applied to specific products or technologies, permission or consent from the object is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0092] The following details the various implementation details of the technical solutions in the embodiments of this application:
[0093] Please see Figure 4 , Figure 4 This is a flowchart illustrating a data processing method based on a blockchain system, as shown in one embodiment of this application. This data processing method can be executed by any node (i.e., a blockchain node) in the blockchain system 304. Figure 4As shown, this data processing method based on a blockchain system includes at least steps S401 to S404, which are described in detail below:
[0094] Step S401: Receive a first registration request sent by the credential issuer; wherein the first registration request contains the credential information of the transaction initiator, which is generated by the credential issuer after verifying the identification information of the transaction initiator.
[0095] In this embodiment of the application, the first registration request is sent by the credential issuer when the transaction initiator has a registration requirement, in order to instruct the allocation of an on-chain identifier to the transaction initiator. Therefore, the first registration request contains the credential information of the transaction initiator, and the credential information is generated by the credential issuer after the identifier information of the transaction initiator has been verified.
[0096] Both the credential information and the identification information are used to uniquely identify the transaction initiator. However, the credential information is generated by the credential issuer after verifying the identification information of the transaction initiator, while the identification information is sent by the transaction initiator. The two can be the same or different.
[0097] In other words, the credential issuer verifies the identifier information of the transaction initiator, generates credential information of the transaction initiator after successful verification, generates a first registration request based on the credential information, and then sends the first registration request to the blockchain node; accordingly, the blockchain node can receive the first registration request sent by the credential issuer containing the credential information of the transaction initiator.
[0098] Step S402: Invoke the first smart contract based on the first registration request.
[0099] In this embodiment of the application, the blockchain node receives the first registration request sent by the credential issuer, and then can call the first smart contract based on the first registration request.
[0100] In this embodiment, the first smart contract is pre-written by relevant developers, converted into virtual machine bytecode, and deployed on the blockchain system. It is used to register the credential information of the transaction initiator on the blockchain system and generate the on-chain identifier corresponding to the transaction initiator.
[0101] Step S403: Register the credential information on the blockchain system through the first smart contract and generate an on-chain identifier corresponding to the transaction initiator.
[0102] In this embodiment of the application, the blockchain node calls the first smart contract based on the first registration request. Since the first smart contract is used to register the credential information of the transaction initiator on the blockchain system and generate the on-chain identifier corresponding to the transaction initiator, the registration of credential information on the blockchain system and the generation of the on-chain identifier corresponding to the transaction initiator can be realized through the first smart contract.
[0103] It is understandable that the on-chain identifier corresponding to the transaction initiator generated by the blockchain node through the first smart contract is based on the registration status of the credential information on the blockchain system. Only when the registration status indicates that the registration is successful will the on-chain identifier corresponding to the transaction initiator be generated, and when the registration status indicates that the registration is unsuccessful, the on-chain identifier corresponding to the transaction initiator will not be generated.
[0104] It is understood that the on-chain identifier corresponding to the generated transaction initiator is stored on the blockchain, which facilitates the verification of the on-chain identifier later. Please refer to the following example for details.
[0105] Optionally, the process of generating the on-chain identifier corresponding to the transaction initiator in step S403 can be achieved by calculating the credential information to obtain the on-chain identifier corresponding to the transaction initiator. The calculation of the credential information can employ any algorithm, including but not limited to hash algorithms, zero-knowledge proof (zkp) algorithms, etc.
[0106] A hash algorithm is an algorithm that can map binary plaintext of arbitrary length to a shorter binary string, and different plaintexts are unlikely to be mapped to the same hash value. It can also be simply understood as a space mapping function, mapping from a very large value space to a very small value space. Because it is not a one-to-one mapping, the hash function transformation is irreversible, meaning it is impossible to recover the original value from the hash value through the inverse operation. It includes, but is not limited to, Message-Digest Algorithm 5 (MD5) and Secure Hash Algorithm (SHA).
[0107] For example, if the certificate information A is calculated using a hash algorithm, hash(A) is obtained. In this case, hash(A) is the on-chain identifier corresponding to the transaction initiator.
[0108] Zero-knowledge proof algorithms are algorithms that allow the prover to demonstrate the correctness of a statement without providing any useful information to the verifier. These include, but are not limited to, zero-knowledge succinct non-interactive argument of knowledge (zk-SNARK) algorithms, elliptic curve cryptography algorithms, and RSA algorithms.
[0109] For example, if the zero-knowledge proof algorithm is used to calculate the credential information A, we can obtain zkp(A). At this time, zkp(A) is the on-chain identifier corresponding to the transaction initiator.
[0110] It is understandable that in related technologies, the transmission of transaction initiator verification information (such as credential information) between the verification requester and a separately built centralized system may lead to the leakage of this information due to improper maintenance. However, in this embodiment, a zero-knowledge proof algorithm is used to calculate the credential information. Due to the characteristics of the zero-knowledge proof algorithm, the resulting on-chain identifier corresponding to the transaction initiator does not expose the transaction initiator's verification information, thus better protecting this information. Accordingly, when initiating a transaction based on the transaction initiator's on-chain identifier, the verification process is more secure because the on-chain identifier does not expose the transaction initiator's verification information.
[0111] Step S404: Send the on-chain identifier to the credential issuer so that the credential issuer can return the on-chain identifier to the transaction initiator.
[0112] In this embodiment, the blockchain node registers the credential information on the blockchain system through a first smart contract and generates an on-chain identifier corresponding to the transaction initiator. Then, it can send the on-chain identifier corresponding to the transaction initiator to the credential issuer that initiated the first registration request. Correspondingly, the credential issuer that initiated the first registration request can receive the on-chain identifier corresponding to the transaction initiator sent by the blockchain node. Then, the credential issuer can return the on-chain identifier corresponding to the transaction initiator to the transaction initiator. In this way, the transaction initiator has its corresponding on-chain identifier and can initiate transaction operations based on the on-chain identifier later.
[0113] In this embodiment of the application, by assigning an on-chain identifier to the transaction initiator, the real-name verification is simplified and the execution efficiency of the transaction operation corresponding to the real-name verification is improved.
[0114] In one embodiment of this application, another data processing method based on a blockchain system is provided, which can be executed by any node in the blockchain system 304. For example... Figure 5As shown, the data processing method based on the blockchain system may include steps S501 to S502, steps S401 to S402, and step S404. The first registration request also includes the signature information of the credential issuer.
[0115] Steps S501 to S502 are described in detail below:
[0116] Step S501: Obtain credential information and the signature information of the credential issuer from the first registration request.
[0117] As described in the previous embodiments, an on-chain identifier corresponding to the transaction initiator can be generated based on the credential information. Therefore, during real-name verification, the credential information contained in the on-chain identifier is verified. If the verification of the credential information contained in the on-chain identifier passes, the real-name verification is successful; if the verification fails, the real-name verification fails.
[0118] Therefore, in order to further improve the accuracy and comprehensiveness of real-name verification, the first registration request may include not only the credential information of the transaction initiator, but also the signature information of the credential issuer.
[0119] In other words, the credential issuer verifies the transaction initiator, generates credential information for the transaction initiator after successful verification, and signs the credential information using its own private key to generate signature information. Based on the credential information and signature information, the issuer generates a first registration request and then sends the first registration request to the blockchain node. Accordingly, the blockchain node can receive the first registration request sent by the credential issuer, which contains the credential information of the transaction initiator and the signature information of the credential issuer.
[0120] Therefore, in this embodiment of the application, the blockchain node can obtain the credential information of the transaction initiator and the signature information of the credential issuer from the first registration request.
[0121] Step S502: Generate an on-chain identifier corresponding to the transaction initiator based on the signature information of the certificate issuer and the certificate information.
[0122] In this embodiment, the blockchain node obtains the credential information of the transaction initiator and the signature information of the credential issuer from the first registration request. Then, it can generate an on-chain identifier corresponding to the transaction initiator based on the signature information of the credential issuer and the credential information of the transaction initiator.
[0123] Therefore, during real-name verification, the signature information of the certificate issuer contained in the on-chain identifier and the certificate information of the transaction initiator are verified together. If both the signature information of the certificate issuer and the certificate information of the transaction initiator contained in the on-chain identifier are verified successfully, the real-name verification is successful. If either the signature information of the certificate issuer or the certificate information of the transaction initiator contained in the on-chain identifier fails to be verified, the real-name verification fails.
[0124] Thus, in the later stages of this application embodiment, the accuracy and comprehensiveness of real-name verification can be improved through dual verification (first, verifying the signature information of the credential issuer contained in the on-chain identifier, and second, verifying the credential information of the transaction initiator contained in the on-chain identifier).
[0125] It should be noted that, Figure 5 For detailed descriptions of steps S401 to S402 and S404 shown, please refer to [link to relevant documentation]. Figure 4 Steps S401 to S402 and S404 shown will not be repeated here.
[0126] In one embodiment of this application, another data processing method based on a blockchain system is provided, which can be executed by any node in the blockchain system 304. For example... Figure 6 As shown, the data processing method based on the blockchain system may include steps S601 to S603, steps S401 to S402, and step S404. The first registration request also includes information on the business type to be processed when the transaction initiator initiates the second registration request.
[0127] Steps S601 to S603 are described in detail below:
[0128] Step S601: Obtain credential information and business type information from the first registration request.
[0129] In this embodiment, the business type information refers to the business type of the transaction to be processed by the transaction initiator. For example, in application scenario 1, the transaction initiator can initiate a transaction operation for business type A, based on an on-chain identifier matching business type A. In application scenario 2, the transaction initiator can initiate a transaction operation for business type B, again based on an on-chain identifier matching business type B. Therefore, this business type information is what the transaction initiator informs the credential issuer or blockchain system about the business type of the transaction to be processed, so that a business type identifier matching the business type can be assigned later.
[0130] As described in the previous embodiments, an on-chain identifier corresponding to the transaction initiator can be generated based on the credential information. Therefore, during real-name verification, the credential information contained in the on-chain identifier is verified. If the verification of the credential information contained in the on-chain identifier passes, the real-name verification is successful; if the verification fails, the real-name verification fails.
[0131] Therefore, in order to further improve the accuracy and comprehensiveness of real-name verification in this embodiment of the application, the first registration request may include not only the credential information of the transaction initiator, but also the business type information to be processed when the transaction initiator initiates the second registration request.
[0132] In other words, when a transaction initiator needs to register, it generates a second registration request based on its own identification information and the business type information to be processed, and sends the second registration request to the credential issuer. Then, the credential issuer verifies the transaction initiator based on the identification information contained in the second registration request, and generates the transaction initiator's credential information after successful verification. Based on the credential information and the business type information, it generates a first registration request and then sends the first registration request to the blockchain node. Accordingly, the blockchain node can receive the first registration request sent by the credential issuer, which contains the transaction initiator's credential information and business type information.
[0133] Therefore, in this embodiment of the application, the blockchain node can obtain the credential information of the transaction initiator and the business type information from the first registration request.
[0134] Step S602: Determine the business type identifier that matches the business type information.
[0135] In this embodiment, the blockchain node obtains the credential information and business type information of the transaction initiator from the first registration request, and then determines the business type identifier that matches the business type information.
[0136] Step S603: Generate an on-chain identifier corresponding to the transaction initiator based on the business type identifier and the certificate information.
[0137] In this embodiment, the blockchain node determines the business type identifier that matches the business type information, and then generates an on-chain identifier corresponding to the transaction initiator based on the business type identifier and the certificate information.
[0138] When performing real-name verification, the business type identifier contained in the on-chain identifier and the credential information of the transaction initiator are verified together. If both the business type identifier contained in the on-chain identifier and the credential information of the transaction initiator are verified successfully, the real-name verification is successful. If either the business type identifier contained in the on-chain identifier or the credential information of the transaction initiator fails to be verified, the real-name verification fails.
[0139] Thus, in the later stages of this application embodiment, the accuracy and comprehensiveness of real-name verification can be improved through dual verification (first, verifying the business type identifier contained in the on-chain identifier, and second, verifying the credential information of the transaction initiator contained in the on-chain identifier).
[0140] It should be noted that, Figure 6 For detailed descriptions of steps S401 to S402 and S404 shown, please refer to [link to relevant documentation]. Figure 4 Steps S401 to S402 and S404 shown will not be repeated here.
[0141] In one embodiment of this application, another data processing method based on a blockchain system is provided, which can be executed by any node in the blockchain system 304. For example... Figure 7 As shown, the data processing method based on the blockchain system may include steps S701 to S702, steps S401 to S402, and step S404.
[0142] Steps S701 to S702 are described in detail below:
[0143] Step S701: Generate timestamp information based on the current time and obtain the specified valid duration.
[0144] As described in the previous embodiments, an on-chain identifier corresponding to the transaction initiator can be generated based on the credential information. Therefore, during real-name verification, the credential information contained in the on-chain identifier is verified. If the verification of the credential information contained in the on-chain identifier passes, the real-name verification is successful; if the verification fails, the real-name verification fails.
[0145] Therefore, in this embodiment of the application, to further improve the accuracy and comprehensiveness of real-name verification, a specified validity period can be set. That is, the on-chain identifier is only valid within the specified validity period and is invalid outside the specified period, thus improving the real-time performance of the on-chain identifier. The validity of the on-chain identifier within the specified validity period, or its invalidity outside the specified period, needs to be based on a specific moment. Ideally, this moment is the moment the on-chain identifier was generated (the current moment is slightly close to the moment the on-chain identifier was generated), i.e., the timestamp information is generated based on the current moment.
[0146] Step S702: Generate an on-chain identifier corresponding to the transaction initiator based on timestamp information, specified validity period, and credential information; wherein, the on-chain identifier is valid for the specified validity period from the time represented by the timestamp information.
[0147] In this embodiment of the application, the blockchain node generates timestamp information based on the current time and obtains a specified valid duration. Then, it can generate an on-chain identifier corresponding to the transaction initiator based on the timestamp information, the specified valid duration, and the credential information.
[0148] Therefore, real-name verification involves verifying both the validity of the on-chain identifier and the credential information of the transaction initiator contained within the on-chain identifier. If both the validity of the on-chain identifier and the credential information of the transaction initiator contained within the on-chain identifier are verified successfully, the real-name verification is successful. If either the validity of the on-chain identifier or the credential information of the transaction initiator contained within the on-chain identifier fails to be verified, the real-name verification fails.
[0149] Thus, in the later stages of this application embodiment, the accuracy and comprehensiveness of real-name verification can be improved through dual verification (first, verifying the validity of the on-chain identifier, and second, verifying the credential information of the transaction initiator contained in the on-chain identifier).
[0150] It should be noted that, Figure 7 For detailed descriptions of steps S401 to S402 and S404 shown, please refer to [link to relevant documentation]. Figure 4 Steps S401 to S402 and S404 shown will not be repeated here.
[0151] In practical applications, the aforementioned Figures 4 to 7 In the illustrated embodiment, the process of generating the on-chain identifier corresponding to the transaction initiator can be combined arbitrarily.
[0152] It should be noted that, Figures 4 to 7 The illustrated embodiment is a description of the process of assigning on-chain identifiers to the transaction initiator, as follows: Figures 8 to 12 The illustrated embodiment describes the process of the transaction initiator initiating a transaction operation based on an on-chain identifier and verifying the on-chain identifier.
[0153] In one embodiment of this application, another data processing method based on a blockchain system is provided, which can be executed by any node in the blockchain system 304. For example... Figure 8 As shown, this data processing method based on a blockchain system... Figure 4 Step S801 to step S804 are added after step S404 shown.
[0154] Steps S801 to S804 are described in detail below:
[0155] Step S801: Receive a verification request sent by the verification requester; wherein the verification request is generated by the verification requester in response to the transaction operation initiated by the transaction initiator, and the verification request contains the on-chain identifier corresponding to the transaction initiator.
[0156] In this embodiment of the application, the verification request is sent by the verification requester when there is a verification requirement (the transaction initiator initiates a transaction operation to the verification requester, at which point there is a verification requirement). It is used to instruct the on-chain identifier corresponding to the transaction initiator to be verified. Therefore, the verification request contains the on-chain identifier corresponding to the transaction initiator.
[0157] In other words, the transaction initiator initiates a transaction operation to the verification requester based on its corresponding on-chain identifier; then the verification requester generates a verification request based on the on-chain identifier corresponding to the transaction initiator and sends the verification request to the blockchain node; accordingly, the blockchain node can receive the verification request sent by the verification requester containing the on-chain identifier corresponding to the transaction initiator.
[0158] Step S802: Invoke the second smart contract based on the verification request.
[0159] In this embodiment of the application, the blockchain node receives the verification request sent by the verification requester, and then can call the second smart contract based on the verification request.
[0160] In this embodiment, the second smart contract is also pre-written by relevant developers, converted into virtual machine bytecode, and deployed on the blockchain system. It is used to verify the on-chain identifier of the transaction initiator in order to obtain the target verification result.
[0161] Step S803: The on-chain identifier of the transaction initiator is verified through the second smart contract to obtain the target verification result.
[0162] In this embodiment of the application, the blockchain node calls the second smart contract based on the verification request. Since the second smart contract is used to verify the on-chain identifier of the transaction initiator in order to obtain the target verification result, the on-chain identifier of the transaction initiator can be verified and the target verification result can be obtained through the second smart contract.
[0163] Optionally, the process of verifying the on-chain identifier of the transaction initiator through the second smart contract in step S803 to obtain the target verification result may include the following steps:
[0164] The first smart contract is invoked through the second smart contract;
[0165] The on-chain identifier of the transaction initiator is verified through the first smart contract to obtain the target verification result.
[0166] That is, the optional embodiment utilizes the feature that different smart contracts can call each other; in the embodiment of this application, the second smart contract can also call the first smart contract, and verify the on-chain identifier of the transaction initiator through the first smart contract to obtain the target verification result.
[0167] Step S804: Return the target verification result to the verification requester so that the verification requester can determine whether to execute the transaction operation based on the target verification result.
[0168] In this embodiment, the blockchain node verifies the on-chain identifier of the transaction initiator through a second smart contract to obtain the target verification result. Then, it can return the target verification result to the verification requester who initiated the verification request. In this way, the verification requester can determine whether to execute the transaction operation based on the target verification result.
[0169] In this embodiment of the application, the real-name verification of the transaction initiator can be achieved by verifying the on-chain identifier. This verification process no longer relies on the certificate issuer and centralized system, which further simplifies the real-name verification process, improves the execution efficiency of the transaction operation corresponding to the real-name verification, reduces the complexity of the business corresponding to the transaction operation, and requires fewer parties to maintain, resulting in lower maintenance costs.
[0170] It should be noted that, Figure 8 For detailed information on steps S401 to S404 shown, please refer to [link to relevant documentation]. Figure 4 Steps S401 to S404 shown will not be repeated here.
[0171] In one embodiment of this application, another data processing method based on a blockchain system is provided, which can be executed by any node in the blockchain system 302. For example... Figure 9As shown, the data processing method based on the blockchain system may include steps S901 to S904, steps S801 to S802, step S804, and steps S401 to S404.
[0172] Steps S901 to S904 are described in detail below:
[0173] Step S901: The signature information of the certificate issuer contained in the on-chain identifier of the transaction initiator is verified through the second smart contract to obtain the first verification result.
[0174] In this embodiment, the second smart contract verifies the three pieces of information contained in the on-chain identifier (specifically, the signature information of the credential issuer, the business type identifier, and the validity of the on-chain identifier).
[0175] Optionally, in this embodiment of the application, the three pieces of information contained in the on-chain identifier (specifically, the signature information of the credential issuer, the business type identifier, and the validity of the on-chain identifier) are verified. First, it can be determined whether the credential information contained in the on-chain identifier matches the credential information contained in the on-chain identifier stored in the blockchain system. If the two match, it indicates that the two are the same transaction initiator (at this time, it is necessary to determine whether the other three pieces of information have been verified). That is, it is necessary to verify the signature information of the credential issuer, the business type identifier, and the validity of the on-chain identifier. If the two do not match, it indicates that the two are definitely not the same transaction initiator, and it is not necessary to verify the signature information of the credential issuer, the business type identifier, and the validity of the on-chain identifier.
[0176] In this embodiment of the application, verifying the signature information of the credential issuer contained in the on-chain identifier of the transaction initiator can be achieved by matching the signature information of the credential issuer contained in the on-chain identifier of the transaction initiator with the signature information of the credential issuer contained in the on-chain identifier of the same transaction initiator stored in the blockchain system. If the two match, a first verification result is obtained to indicate that the signature information of the credential issuer contained in the on-chain identifier of the transaction initiator has been verified successfully. If the two do not match, a first verification result is obtained to indicate that the signature information of the credential issuer contained in the on-chain identifier of the transaction initiator has not been verified successfully.
[0177] Step S902: Verify the business type identifier contained in the on-chain identifier of the transaction initiator to obtain the second verification result.
[0178] In this embodiment of the application, the verification of the business type identifier contained in the on-chain identifier of the transaction initiator can be achieved by matching the business type identifier contained in the on-chain identifier of the transaction initiator with the business type identifier contained in the on-chain identifier of the same transaction initiator stored in the blockchain system. If the two match, a second verification result is obtained to indicate that the verification of the business type identifier contained in the on-chain identifier of the transaction initiator has passed. If the two do not match, a second verification result is obtained to indicate that the verification of the business type identifier contained in the on-chain identifier of the transaction initiator has failed.
[0179] Step S903 verifies the validity of the on-chain identifier of the transaction initiator to obtain the third verification result.
[0180] Optionally, the process of verifying the validity of the on-chain identifier of the transaction initiator in step S903 to obtain a third verification result may include at least the following two methods:
[0181] Method 1: Obtain the current time and the valid time period of the on-chain identifier, and based on the current time and the valid time period, verify the validity of the on-chain identifier of the transaction initiator to obtain the third verification result.
[0182] That is, in the optional embodiment, the on-chain identifier of the same transaction initiator stored in the blockchain system contains timestamp information and a specified valid duration. Based on the timestamp information and the specified valid duration, it can be determined that it is a valid time period. Then, based on the current time and the valid time period, the validity of the on-chain identifier of the transaction initiator is verified to obtain a third verification result.
[0183] If the current time is within the valid time period, then the on-chain identifier used to identify the transaction initiator is valid, and if the current time is outside the valid time period, then the on-chain identifier used to identify the transaction initiator is invalid, and so on.
[0184] Method 2: Obtain the on-chain identifier cancellation record from the blockchain system, and verify the validity of the on-chain identifier of the transaction initiator based on the on-chain identifier cancellation record to obtain the third verification result.
[0185] In other words, in the optional embodiment, the blockchain system stores on-chain identifier cancellation records. This means that for the same on-chain identifier, there is not only a generation process but also a cancellation process, and both processes can be initiated by the transaction initiator. Specifically, the on-chain identifier cancellation record records the transaction initiator who initiated the cancellation request, as well as relevant information such as the successfully cancelled on-chain identifier. Therefore, in the optional embodiment, the on-chain identifier cancellation record can be obtained from the blockchain system, and based on this record, the validity of the transaction initiator's on-chain identifier can be verified to obtain a third verification result.
[0186] Specifically, if no matching on-chain identifier is found in the on-chain identifier cancellation record, then a third verification result indicating that the on-chain identifier of the transaction initiator is valid can be obtained. If a matching on-chain identifier is found in the on-chain identifier cancellation record, then a third verification result indicating that the on-chain identifier of the transaction initiator is invalid can be obtained.
[0187] It is understandable that steps S901, S902, and S903 can be executed in any order, or in parallel.
[0188] Step S904: Based on the first verification result, the second verification result, and the third verification result, the target verification result is obtained.
[0189] In this embodiment of the application, the blockchain node obtains a first verification result, a second verification result, and a third verification result, and then can obtain the target verification result based on the first verification result, the second verification result, and the third verification result.
[0190] Optionally, if the first verification result, the second verification result, and the third verification result all pass verification, a target verification result is obtained to characterize the verification as passed. If any one of the first verification result, the second verification result, and the third verification result represents the verification as failed, a target verification result is obtained to characterize the verification as failed.
[0191] Thus, this application embodiment improves the accuracy and comprehensiveness of real-name verification through triple verification (first, verifying the signature information of the certificate issuer; second, verifying the business type identifier; and third, verifying the validity of the on-chain identifier), thereby improving the execution accuracy of the transaction operation corresponding to real-name verification.
[0192] It should be noted that, Figure 9 For detailed descriptions of steps S801 to S802 and S804 shown, please refer to [link to relevant documentation]. Figure 8 Steps S801 to S802 and step S804 are shown. Figure 9For detailed information on steps S401 to S404 shown, please refer to [link to relevant documentation]. Figure 4 Steps S401 to S404 shown will not be repeated here.
[0193] In practical applications, Figure 9 In the illustrated embodiment, when verifying the information contained in the on-chain identifier through the second smart contract, any amount of information can be selected for verification.
[0194] In one embodiment of this application, another data processing method based on a blockchain system is provided, which can be executed by any node in the blockchain system 302. For example... Figure 10 As shown, the data processing method based on the blockchain system may include steps S1001 to S1004, steps S801 to S802, step S804, and steps S401 to S404. The transaction operation is a transfer operation for virtual resources, and the verification request also includes the target account address to which the virtual resources are to be transferred.
[0195] Steps S1001 to S1004 are described in detail below:
[0196] Step S1001: The on-chain identifier of the transaction initiator is verified through the second smart contract to obtain the verification result of the on-chain identifier of the transaction initiator.
[0197] In this application embodiment, the virtual resources are replicable resources that can be stored on various storage devices such as servers, computers, mobile phones, and cloud storage; they include, but are not limited to, paintings, audio, video, equipment in games, pets, coupons, etc.
[0198] In this application embodiment, for the application scenario of virtual resource transfer operations, the verification request may include not only the on-chain identifier of the transaction initiator, but also the target account address to which the virtual resource is to be transferred. For this virtual resource transfer operation application scenario, this application embodiment verifies the data from three aspects (specifically, the on-chain identifier, the target account address, and the on-chain identifier associated with the target account address) through a second smart contract.
[0199] Optionally, in this embodiment of the application, the on-chain identifier of the transaction initiator is verified to obtain the verification result of the on-chain identifier of the transaction initiator. This can be done by verifying any one or more of the three pieces of information contained in the on-chain identifier (specifically, the signature information of the certificate issuer, the business type identifier, and the validity of the on-chain identifier). For details, please refer to the foregoing embodiments, which will not be repeated here.
[0200] Step S1002: Verify the target account address and obtain the verification result for the target account address.
[0201] It is understandable that, since this is a transfer operation for virtual resources, this embodiment of the application takes into account the accuracy of the execution of the transfer operation for virtual resources, and can also verify the target account address to obtain the verification result for the target account address.
[0202] In this embodiment of the application, the target account address is verified to obtain a verification result for the target account address. This can be achieved by matching the target account address with the corresponding account address in the blockchain system. If the two match, a verification result indicating that the target account address has been verified is obtained. If the two do not match, a verification result indicating that the target account address has not been verified is obtained.
[0203] Step S1003: Verify the on-chain identifier associated with the target account address to obtain the verification result of the on-chain identifier associated with the target account address.
[0204] It is understandable that, since this is a transfer operation for virtual resources, this embodiment of the application further considers the accuracy of the execution of the transfer operation for virtual resources, and can also verify the on-chain identifier associated with the target account address, thereby obtaining the verification result of the on-chain identifier associated with the target account address.
[0205] In this embodiment of the application, the on-chain identifier associated with the target account address is verified to obtain a verification result for the on-chain identifier associated with the target account address. This can be achieved by matching the on-chain identifier associated with the target account address with the on-chain identifier associated with the corresponding account address in the blockchain system. If the two match, a verification result indicating that the on-chain identifier associated with the target account address has been verified is obtained. If the two do not match, a verification result indicating that the on-chain identifier associated with the target account address has not been verified is obtained.
[0206] It is understandable that steps S1001, S1002, and S1003 can be executed in any order, or in parallel.
[0207] Step S1004: Based on the verification results of the on-chain identifier of the transaction initiator, the verification results of the target account address, and the verification results of the on-chain identifier associated with the target account address, the target verification result is obtained.
[0208] In this embodiment, the blockchain node obtains the verification results for the on-chain identifier of the transaction initiator, the verification results for the target account address, and the verification results for the on-chain identifier associated with the target account address. Then, based on the verification results for the on-chain identifier of the transaction initiator, the verification results for the target account address, and the verification results for the on-chain identifier associated with the target account address, the target verification result can be obtained.
[0209] Optionally, if all three aspects of the verification result pass the verification, a target verification result is obtained to characterize the verification as passed; if any of the three aspects of the verification result represents the verification as failed, a target verification result is obtained to characterize the verification as failed.
[0210] Thus, this application embodiment, for the application scenario of virtual resource transfer operation, improves the accuracy and comprehensiveness of real-name verification through triple verification (first, verifying the on-chain identifier, second, verifying the target account address, and third, verifying the on-chain identifier associated with the target account address), thereby improving the execution accuracy of virtual resource transfer operation.
[0211] It should be noted that, Figure 10 For detailed descriptions of steps S801 to S802 and S804 shown, please refer to [link to relevant documentation]. Figure 8 Steps S801 to S802 and step S804 are shown. Figure 10 For detailed information on steps S401 to S404 shown, please refer to [link to relevant documentation]. Figure 4 Steps S401 to S404 shown will not be repeated here.
[0212] In one embodiment of this application, another data processing method based on a blockchain system is provided, which can be executed by any node in the blockchain system 302. For example... Figure 11 As shown, the data processing method based on the blockchain system may include steps S1101 to S1103, S801 to S802, S804, and S401 to S404. The transaction operation is a transfer operation for virtual resources, and the verification request also includes the target account address to which the virtual resources are to be transferred.
[0213] Steps S1101 to S1103 are described in detail below:
[0214] Step S1101: The on-chain identifier of the transaction initiator is verified through the second smart contract to obtain the verification result of the on-chain identifier of the transaction initiator.
[0215] It should be noted that for a detailed introduction to virtual resources, please refer to the foregoing embodiments, which will not be repeated here.
[0216] In this embodiment of the application, for the application scenario of virtual resource transfer, the verification request may include not only the on-chain identifier of the transaction initiator, but also the target account address to which the virtual resource is to be transferred. For this virtual resource transfer application scenario, this embodiment of the application verifies the data from two aspects (specifically, the on-chain identifier and the signature information of the transaction initiator) through a second smart contract.
[0217] Optionally, in this embodiment of the application, the on-chain identifier of the transaction initiator is verified to obtain the verification result of the on-chain identifier of the transaction initiator. This can be done by verifying any one or more of the three pieces of information contained in the on-chain identifier (specifically, the signature information of the certificate issuer, the business type identifier, and the validity of the on-chain identifier). For details, please refer to the foregoing embodiments, which will not be repeated here.
[0218] Step S1102: Verify the signature information of the transaction initiator to obtain the verification result of the signature information of the transaction initiator.
[0219] It is understandable that, since this is a transfer operation for virtual resources, this embodiment of the application takes into account the accuracy of the execution of the transfer operation for virtual resources, and can also verify the signature information of the transaction initiator, so as to obtain the verification result of the signature information of the transaction initiator.
[0220] In this embodiment of the application, the signature information of the transaction initiator is verified to obtain a verification result for the signature information of the transaction initiator. This can be achieved by matching the signature information of the transaction initiator with the signature information of the transaction initiator stored in the blockchain system. If the two match, a verification result indicating that the signature information of the transaction initiator has passed verification is obtained; if the two do not match, a verification result indicating that the signature information of the transaction initiator has failed verification is obtained.
[0221] It is understandable that steps S1101 and S1102 can be executed either first or last, or in parallel.
[0222] Step S1103: Based on the verification results of the on-chain identifier of the transaction initiator and the verification results of the signature information of the transaction initiator, the target verification result is obtained.
[0223] In this embodiment of the application, the blockchain node obtains the verification result of the on-chain identifier of the transaction initiator and the verification result of the signature information of the transaction initiator. Then, based on the verification result of the on-chain identifier of the transaction initiator and the verification result of the signature information of the transaction initiator, the target verification result can be obtained.
[0224] Optionally, if both of the verification results pass, a target verification result is obtained to characterize the successful verification; if either of the two verification results fails, a target verification result is obtained to characterize the unsuccessful verification.
[0225] Thus, this application embodiment, for the application scenario of virtual resource transfer operations, improves the accuracy and comprehensiveness of real-name verification through two verifications (one is to verify the on-chain identifier, and the other is to verify the signature information of the transaction initiator), thereby improving the execution accuracy of virtual resource transfer operations.
[0226] It should be noted that, Figure 11 For detailed descriptions of steps S801 to S802 and S804 shown, please refer to [link to relevant documentation]. Figure 8 Steps S801 to S802 and step S804 are shown. Figure 11 For detailed information on steps S401 to S404 shown, please refer to [link to relevant documentation]. Figure 4 Steps S401 to S404 shown will not be repeated here.
[0227] In practical applications, the aforementioned Figures 10 to 11 In the illustrated embodiment, when obtaining the target verification result through verification from multiple aspects via a second smart contract, verification can be performed arbitrarily from a corresponding number of aspects; simultaneously Figures 10 to 11 In the illustrated embodiment, the process of obtaining the target verification result can be combined in any way.
[0228] In one embodiment of this application, another data processing method based on a blockchain system is provided, which can be executed by any node in the blockchain system 302. For example... Figure 12 As shown, this data processing method based on a blockchain system... Figure 4 Steps S1201 to S1202 are added after step S404 shown.
[0229] Steps S1201 to S1202 are described in detail below:
[0230] Step S1201: Receive a cancellation request sent by the transaction initiator; wherein the cancellation request contains an on-chain identifier to be cancelled.
[0231] In this embodiment of the application, the cancellation request is sent by the transaction initiator when there is a cancellation requirement, in order to instruct the cancellation of the on-chain identifier corresponding to the transaction initiator. Therefore, the cancellation request contains the on-chain identifier to be cancelled.
[0232] In other words, the transaction initiator sends a cancellation request to the blockchain node based on its corresponding on-chain identifier; accordingly, the blockchain node can receive the cancellation request sent by the transaction initiator containing the on-chain identifier to be cancelled.
[0233] Step S1202: Based on the cancellation request, cancel the on-chain identifier to be cancelled on the blockchain system.
[0234] In this embodiment, the blockchain node receives a cancellation request from the transaction initiator and then cancels the on-chain identifier to be cancelled based on the cancellation request. The blockchain node can record information such as the transaction initiator who initiated the cancellation request and the successfully cancelled on-chain identifier to generate an on-chain identifier cancellation record for easy management and use later.
[0235] Optionally, the cancellation request may also include the signature information of the transaction initiator; the process of cancelling the on-chain identifier to be cancelled on the blockchain system based on the cancellation request in step S1202 may include the following steps:
[0236] If the signature information of the transaction initiator is verified, the on-chain identifier to be cancelled will be cancelled on the blockchain system.
[0237] In other words, in the optional embodiment, the blockchain node can first verify the signature information of the transaction initiator. If the verification of the signature information of the transaction initiator is successful, the on-chain identifier to be cancelled can be cancelled on the blockchain system. If the verification of the signature information of the transaction initiator fails, no processing is performed, that is, the on-chain identifier to be cancelled is not cancelled on the blockchain system.
[0238] Optionally, the process of cancelling the on-chain identifier to be canceled on the blockchain system based on the cancellation request in step S1202 may include the following steps:
[0239] Invoking a third-party smart contract based on a cancellation request;
[0240] The on-chain identifier of the transaction initiator is cancelled through a third-party smart contract on the blockchain system.
[0241] In one of the optional embodiments, the third smart contract is also pre-written by relevant developers, turned into virtual machine bytecode, and deployed on the blockchain system. It is used to cancel the on-chain identifier corresponding to the transaction initiator on the blockchain system.
[0242] In other words, in the optional embodiment, the blockchain node calls the third smart contract based on the cancellation request. Since the third smart contract is used to cancel the on-chain identifier corresponding to the transaction initiator in the blockchain system, the cancellation of the on-chain identifier corresponding to the transaction initiator in the blockchain system can be achieved through the third smart contract.
[0243] In this way, the embodiments of this application can realize the cancellation of on-chain identifiers according to the actual needs of the transaction initiator, which is more flexible and can save a certain amount of storage space.
[0244] It should be noted that, Figure 12 For detailed information on steps S401 to S404 shown, please refer to [link to relevant documentation]. Figure 4 Steps S401 to S404 shown will not be repeated here.
[0245] It should be noted that, Figures 4 to 12 The illustrated embodiments are presented from the perspective of a blockchain system. The following will combine... Figure 13 The implementation details of the technical solution of this application embodiment are described in detail from the perspective of the credential issuer (it is understood that this involves the process of allocating on-chain identifiers to the transaction initiator):
[0246] Please see Figure 13 , Figure 13 This is a flowchart illustrating a data processing method based on a blockchain system, as shown in one embodiment of this application. This data processing method can be executed by the credential issuer 302. Figure 13 As shown, the data processing method based on the blockchain system includes at least steps S1301 to S1303, which are described in detail below:
[0247] Step S1301: Receive a second registration request sent by the transaction initiator; wherein the second registration request contains the identification information of the transaction initiator.
[0248] In this embodiment of the application, the second registration request is sent when the transaction initiator has a registration requirement, in order to instruct the verification of the transaction initiator's identification information, so that an on-chain identifier is assigned to the transaction initiator after the verification is passed. Therefore, the second registration request contains the transaction initiator's identification information.
[0249] Step S1302: Verify the transaction initiator based on the identification information, generate the transaction initiator's credential information after successful verification, generate a first registration request based on the credential information, and send the first registration request to the blockchain node so that the blockchain node calls the first smart contract based on the first registration request, and registers the credential information on the blockchain system through the first smart contract, and generates the on-chain identifier corresponding to the transaction initiator.
[0250] In this embodiment, the credential issuer receives a second registration request from the transaction initiator. It can then verify the transaction initiator based on the identification information, generate credential information for the transaction initiator upon successful verification, and generate a first registration request based on the credential information. The first registration request is then sent to the blockchain node. Correspondingly, the blockchain node receives the first registration request, calls the first smart contract based on the first registration request, registers the credential information on the blockchain system through the first smart contract, and generates an on-chain identifier corresponding to the transaction initiator. For details, please refer to the aforementioned embodiments; further elaboration is omitted here.
[0251] Step S1303: Receive the on-chain identifier sent by the blockchain node and return the on-chain identifier to the transaction initiator so that the transaction initiator can initiate a transaction operation based on the on-chain identifier.
[0252] In this embodiment of the application, the blockchain node will send the on-chain identifier corresponding to the transaction initiator to the certificate issuer; accordingly, the certificate issuer can receive the on-chain identifier corresponding to the transaction initiator sent by the blockchain node, and send the on-chain identifier to the transaction initiator who initiated the second registration request. In this way, the transaction initiator will have its corresponding on-chain identifier, and can initiate transaction operations based on the on-chain identifier later.
[0253] The following provides a detailed description of a specific application scenario of this application:
[0254] Please see Figure 14 This mainly includes the transaction initiator, the credential issuer, the verification requester, and the blockchain system. Optionally, the credential issuer can be an authoritative institution, and the verification requester can be multiple platforms, specifically Platform 1, Platform 2, and Platform 3. Optionally, the blockchain system has a pre-built first smart contract for registering the credential information of the transaction initiator on the blockchain system and generating an on-chain identifier corresponding to the transaction initiator, and a second smart contract for verifying the on-chain identifier of the transaction initiator and obtaining the target verification result, and the second smart contract can call the first smart contract.
[0255] Please see Figure 15 This primarily includes the transaction initiator, the credential issuer, the verification requester, and the blockchain system. Optionally, the credential issuer can obtain the on-chain identifier corresponding to the transaction initiator by sending a first registration request to the blockchain system and then issue it to the transaction initiator. Optionally, the transaction initiator can cancel its corresponding on-chain identifier by sending a cancellation request to the blockchain system. Optionally, the transaction initiator can initiate a transaction operation with the verification requester based on its corresponding on-chain identifier, after which the verification requester can obtain the verification result of the on-chain identifier corresponding to the transaction initiator by sending a verification request to the blockchain system.
[0256] First, let's explain in detail the process of assigning on-chain identifiers to the transaction initiator:
[0257] Please see Figure 16 , Figure 16 This is a flowchart illustrating a data processing method based on a blockchain system, as shown in one embodiment of this application. Figure 16 As shown, the data processing method based on the blockchain system includes at least steps S1601 to S1607, which are described in detail below:
[0258] Step S1601: The transaction initiator sends a second registration request to the credential issuer.
[0259] The second registration request contains the identification information of the transaction initiator.
[0260] In step S1602, the credential issuer verifies the transaction initiator based on the identification information and generates credential information for the transaction initiator after successful verification.
[0261] In step S1603, the credential issuer generates a first registration request based on the credential information and sends the first registration request to the blockchain node.
[0262] The first registration request contains the credential information of the transaction initiator.
[0263] Step S1604: The blockchain node invokes the first smart contract based on the first registration request.
[0264] In step S1605, the blockchain node registers the credential information on the blockchain system through the first smart contract and generates an on-chain identifier corresponding to the transaction initiator.
[0265] Optionally, the on-chain identifier can be a DID (Decentralized Identifier), which can determine the identity of the transaction initiator without exposing the initiator's real-name verification information. The specific form of the on-chain identifier can be: did:example:123456789abcdefjhi; where did indicates that this is an on-chain identifier, example indicates that this is the service that generated the did, and 123456789abcdefjhi represents a unique decentralized identity string.
[0266] Step S1606: The blockchain node sends the on-chain identifier to the credential issuer.
[0267] Step S1607: The credential issuer sends an on-chain identifier to the transaction initiator.
[0268] It should be noted that, Figure 16For a detailed description of steps S1601 to S1607 shown, please refer to the foregoing embodiments, which will not be repeated here.
[0269] Secondly, the process of verifying the on-chain identifier by initiating a transaction based on the on-chain identifier will be described in detail:
[0270] Please see Figure 17 , Figure 17 This is a flowchart illustrating a data processing method based on a blockchain system, as shown in one embodiment of this application. Figure 17 As shown, the data processing method based on the blockchain system includes at least steps S1701 to S1706, which are described in detail below:
[0271] Step S1701: The transaction initiator initiates a transaction operation from the verification requester.
[0272] In step S1702, the verification requester generates a verification request based on the transaction operation and sends the verification request to the blockchain system.
[0273] The verification request contains the on-chain identifier of the transaction initiator.
[0274] In step S1703, the blockchain system invokes the second smart contract based on the verification request.
[0275] In step S1704, the blockchain system verifies the on-chain identifier of the transaction initiator through the second smart contract and obtains the target verification result.
[0276] Step S1705: The blockchain system sends the target verification result to the verification requester.
[0277] Step S1706: The verification requester determines whether to execute the transaction operation based on the target verification result.
[0278] It should be noted that, Figure 17 For a detailed description of steps S1701 to S1706 shown, please refer to the foregoing embodiments, which will not be repeated here.
[0279] Optionally, the embodiments of this application can be application scenarios for the transfer of virtual resources; for example, the application scenario can be: both platform 1 and platform 2 have issued NFT digital collectibles on the same blockchain, the transaction initiator has purchased the digital collectibles on platform 1 and platform 2 respectively, and now the transaction initiator wants to transfer the digital product to another platform 3; at this time, the transaction initiator can initiate transfer operations for the purchased NFT digital collectibles to platform 1 and platform 2 respectively based on the on-chain identifier.
[0280] Please see Figure 18 , Figure 18This is a flowchart illustrating a data processing method based on a blockchain system, as shown in one embodiment of this application. Figure 18 As shown, the data processing method based on the blockchain system includes at least steps S1801 to S1805, which are described in detail below:
[0281] Step S1801: Verify the credential information of the transaction initiator contained in the on-chain identifier through the second smart contract; if the verification is successful, proceed to step S1802; if the verification fails, the process ends.
[0282] Step S1802: Verify the target account address to which the virtual resources are to be transferred through the second smart contract; if the verification is successful, proceed to step S1803; if the verification fails, end the process.
[0283] Step S1803: Verify the on-chain identifier associated with the target account address to which the virtual resources are to be transferred through the second smart contract; if the verification is successful, proceed to step S1804; if the verification fails, the process ends.
[0284] Step S1804: Verify the signature information of the transaction initiator through the second smart contract; if the verification is successful, proceed to step S1805; if the verification fails, end the process.
[0285] Step S1805: Verify that the requester has performed the virtual resource transfer operation.
[0286] Understandable Figure 18 The illustrated embodiment describes the verification-related process. For other detailed processes, please refer to the foregoing embodiments, which will not be repeated here.
[0287] Figure 19 This is a block diagram illustrating a data processing apparatus based on a blockchain system, as shown in one embodiment of this application. Figure 19 As shown, the data processing device based on the blockchain system is configured in the blockchain node, and the device includes:
[0288] The first receiving module 1901 is configured to receive a first registration request sent by the credential issuer; wherein the first registration request contains the credential information of the transaction initiator, and the credential information is generated by the credential issuer after the identification information of the transaction initiator is verified.
[0289] Module 1902 is configured to invoke the first smart contract based on the first registration request.
[0290] The registration and generation module 1903 is configured to register the credential information on the blockchain system through the first smart contract and generate the on-chain identifier corresponding to the transaction initiator.
[0291] Sending module 1904 is configured to send an on-chain identifier to the credential issuer so that the credential issuer can return the on-chain identifier to the transaction initiator.
[0292] In one embodiment of this application, the registration and generation module 1903 is specifically configured as follows:
[0293] The zero-knowledge proof algorithm is used to calculate the credential information and generate an on-chain identifier corresponding to the transaction initiator.
[0294] In one embodiment of this application, the first registration request further includes the signature information of the credential issuer; the registration and generation module 1903 is specifically configured as follows:
[0295] Obtain the credential information and the signature information of the credential issuer from the first registration request;
[0296] The on-chain identifier corresponding to the transaction initiator is generated based on the signature information of the certificate issuer and the certificate information.
[0297] In one embodiment of this application, the first registration request further includes business type information to be processed when the transaction initiator initiates the second registration request; the registration and generation module 1903 is specifically configured as follows:
[0298] Obtain credential information and business type information from the first registration request;
[0299] Determine the business type identifier that matches the business type information;
[0300] Generate an on-chain identifier for the transaction initiator based on the business type identifier and certificate information.
[0301] In one embodiment of this application, the registration and generation module 1903 is specifically configured as follows:
[0302] Generate timestamp information based on the current time and obtain the specified valid duration;
[0303] Based on timestamp information, a specified validity period, and credential information, an on-chain identifier corresponding to the transaction initiator is generated; the on-chain identifier is valid for the specified validity period from the time represented by the timestamp information.
[0304] In one embodiment of this application, the apparatus further includes:
[0305] The fourth receiving module is configured to receive verification requests sent by the verification requester; wherein the verification request is generated by the verification requester in response to the transaction operation initiated by the transaction initiator, and the verification request contains the on-chain identifier corresponding to the transaction initiator.
[0306] Module 1902 is also configured to invoke the second smart contract based on a verification request;
[0307] The verification module is configured to verify the on-chain identifier of the transaction initiator through a second smart contract to obtain the target verification result;
[0308] The return module is configured to return the target verification result to the verification requester, so that the verification requester can determine whether to execute the transaction operation based on the target verification result.
[0309] In one embodiment of this application, module 1902 is invoked, specifically configured as follows:
[0310] The first smart contract is invoked through the second smart contract;
[0311] The on-chain identifier of the transaction initiator is verified through the first smart contract to obtain the target verification result.
[0312] In one embodiment of this application, the verification module is specifically configured as follows:
[0313] The second smart contract verifies the signature information of the credential issuer contained in the on-chain identifier of the transaction initiator, obtaining the first verification result; and
[0314] The business type identifier contained in the on-chain identifier of the transaction initiator is verified to obtain a second verification result; and
[0315] The validity of the on-chain identifier of the transaction initiator is verified to obtain a third verification result;
[0316] Based on the first verification result, the second verification result, and the third verification result, the target verification result is obtained.
[0317] In one embodiment of this application, the verification module is further configured as follows:
[0318] Obtain the current time and the valid time period of the on-chain identifier, and based on the current time and the valid time period, verify the validity of the on-chain identifier of the transaction initiator to obtain the third verification result;
[0319] or,
[0320] Obtain the on-chain identifier cancellation record from the blockchain system, and based on the on-chain identifier cancellation record, verify the validity of the on-chain identifier of the transaction initiator to obtain the third verification result.
[0321] In one embodiment of this application, the transaction operation is a transfer operation of virtual resources, and the verification request also includes the target account address to which the virtual resources are to be transferred; the verification module is specifically configured as follows:
[0322] The on-chain identifier of the transaction initiator is verified through a second smart contract, yielding a verification result for the on-chain identifier of the transaction initiator; and
[0323] Verify the target account address and obtain the verification result for the target account address; and
[0324] Verify the on-chain identifier associated with the target account address to obtain the verification result for the on-chain identifier associated with the target account address;
[0325] The target verification result is obtained based on the verification results of the on-chain identifier of the transaction initiator, the verification results of the target account address, and the verification results of the on-chain identifier associated with the target account address.
[0326] In one embodiment of this application, the transaction operation is a transfer operation of virtual resources, and the verification request also includes the target account address to which the virtual resources are to be transferred; the verification module is specifically configured as follows:
[0327] The on-chain identifier of the transaction initiator is verified through a second smart contract, yielding a verification result for the on-chain identifier of the transaction initiator; and
[0328] Verify the signature information of the transaction initiator to obtain the verification result for the signature information of the transaction initiator;
[0329] The target verification result is obtained based on the verification results of the on-chain identifier of the transaction initiator and the verification results of the signature information of the transaction initiator.
[0330] In one embodiment of this application, the apparatus further includes:
[0331] The fifth receiving module is configured to receive cancellation requests sent by the transaction initiator; wherein the cancellation request contains an on-chain identifier to be cancelled;
[0332] The cancellation module is configured to cancel the on-chain identifier to be cancelled on the blockchain system based on the cancellation request.
[0333] Figure 20 This is a block diagram illustrating a data processing apparatus based on a blockchain system, as shown in one embodiment of this application. Figure 20 As shown, the data processing device based on the blockchain system is configured in the credential issuer, and the device includes:
[0334] The second receiving module 2001 is configured to receive a second registration request sent by the transaction initiator; wherein the second registration request contains the identification information of the transaction initiator;
[0335] The verification and sending module 2002 is configured to verify the transaction initiator based on the identification information, generate the transaction initiator's credential information after the verification is successful, generate a first registration request based on the credential information, and send the first registration request to the blockchain node so that the blockchain node calls the first smart contract based on the first registration request, and registers the credential information on the blockchain system through the first smart contract, and generates the on-chain identifier corresponding to the transaction initiator.
[0336] The third receiving module 2003 is configured to receive the on-chain identifier sent by the blockchain node and return the on-chain identifier to the transaction initiator, so that the transaction initiator can initiate a transaction operation based on the on-chain identifier.
[0337] It should be noted that the apparatus provided in the foregoing embodiments and the method provided in the foregoing embodiments belong to the same concept, and the specific way in which each module and unit performs operations has been described in detail in the method embodiments.
[0338] Embodiments of this application also provide an electronic device, including: one or more processors; and a storage device for storing one or more programs, which, when executed by one or more processors, enable the electronic device to implement the aforementioned data processing method based on a blockchain system.
[0339] Figure 21 This is a schematic diagram of the structure of a computer system suitable for implementing the electronic devices of the present application embodiments.
[0340] It should be noted that, Figure 21 The computer system 2100 of the electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.
[0341] like Figure 21 As shown, the computer system 2100 includes a Central Processing Unit (CPU) 2101, which can perform various appropriate actions and processes, such as executing the methods described in the above embodiments, based on programs stored in Read-Only Memory (ROM) 2102 or programs loaded from storage portion 2108 into Random Access Memory (RAM) 2103. The RAM 2103 also stores various programs and data required for system operation. The CPU 2101, ROM 2102, and RAM 2103 are interconnected via a bus 2104. An Input / Output (I / O) interface 2105 is also connected to the bus 2104.
[0342] The following components are connected to I / O interface 2105: an input section 2106 including a keyboard, mouse, etc.; an output section 2107 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 2108 including a hard disk, etc.; and a communication section 2109 including a network interface card such as a LAN (Local Area Network) card, modem, etc. The communication section 2109 performs communication processing via a network such as the Internet. A drive 2110 is also connected to I / O interface 2105 as needed. Removable media 2111, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., are installed on drive 2110 as needed so that computer programs read from them can be installed into storage section 2108 as needed.
[0343] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program including a computer program for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 2109, and / or installed from removable medium 2111. When the computer program is executed by central processing unit (CPU) 2101, it performs various functions defined in the system of this application.
[0344] It should be noted that the computer-readable medium shown in the embodiments of this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. For example, a computer-readable medium can be an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, portable compact disc read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying a computer-readable computer program. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media can also be any computer-readable medium other than computer-readable storage media, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The computer program contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to wireless, wired, etc., or any suitable combination thereof.
[0345] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. Each block in a flowchart or block diagram may represent a module, segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0346] The units described in the embodiments of this application can be implemented in software or hardware, and the described units can also be located in a processor. The names of these units do not necessarily limit the specific unit itself.
[0347] Another aspect of this application provides a computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the aforementioned data processing method based on a blockchain system. This computer-readable medium may be included in the electronic device described in the above embodiments, or it may exist independently and not incorporated into the electronic device.
[0348] Another aspect of this application provides a computer program product or computer program including computer instructions stored in a computer-readable medium. A processor of a computer device reads the computer instructions from the computer-readable medium and executes the computer instructions, causing the computer device to perform the data processing method based on the blockchain system provided in the various embodiments described above.
[0349] The above description is merely a preferred exemplary embodiment of this application and is not intended to limit the implementation of this application. Those skilled in the art can easily make corresponding modifications or alterations based on the main concept and spirit of this application. Therefore, the scope of protection of this application should be determined by the scope of protection claimed in the claims.
Claims
1. A data processing method based on a blockchain system, characterized in that, Applied to blockchain nodes, the method includes: Receive a first registration request sent by the credential issuer; wherein the first registration request contains credential information of the transaction initiator, the credential information being generated by the credential issuer after verifying the identification information of the transaction initiator; The first smart contract is invoked based on the first registration request; The first smart contract registers the credential information on the blockchain system, generates timestamp information based on the current time, obtains a specified valid duration, and generates an on-chain identifier corresponding to the transaction initiator based on the timestamp information, the specified valid duration, and the credential information; wherein, the on-chain identifier is valid for the specified valid duration from the time represented by the timestamp information. Send the on-chain identifier to the credential issuer so that the credential issuer returns the on-chain identifier to the transaction initiator; Receive a verification request sent by the verification requester; wherein the verification request is generated by the verification requester in response to the transaction operation initiated by the transaction initiator, and the verification request contains the on-chain identifier corresponding to the transaction initiator. The second smart contract is invoked based on the verification request; The second smart contract verifies the validity of the on-chain identifier of the transaction initiator and the credential information contained in the on-chain identifier of the transaction initiator to obtain the target verification result. The target verification result is returned to the verification requester so that the verification requester can determine whether to execute the transaction operation based on the target verification result.
2. The method of claim 1, wherein, The method further includes: The credential information is calculated using a zero-knowledge proof algorithm to generate an on-chain identifier corresponding to the transaction initiator.
3. The method of claim 1, wherein, The first registration request also includes the signature information of the credential issuer; the method further includes: Obtain the credential information and the signature information of the credential issuer from the first registration request; Based on the signature information of the certificate issuer and the certificate information, an on-chain identifier corresponding to the transaction initiator is generated.
4. The method of claim 1, wherein, The first registration request also includes information on the business type to be processed when the transaction initiator initiates the second registration request; the method further includes: Obtain the credential information and the business type information from the first registration request; Determine the business type identifier that matches the business type information; Based on the business type identifier and the credential information, an on-chain identifier corresponding to the transaction initiator is generated.
5. The method of claim 1, wherein, The verification of the validity of the on-chain identifier of the transaction initiator and the credential information contained in the on-chain identifier of the transaction initiator through the second smart contract to obtain the target verification result includes: The first smart contract is invoked through the second smart contract; The first smart contract verifies the validity of the on-chain identifier of the transaction initiator and the credential information contained in the on-chain identifier of the transaction initiator to obtain the target verification result.
6. The method of claim 1, wherein, The verification of the validity of the on-chain identifier of the transaction initiator and the credential information contained in the on-chain identifier of the transaction initiator through the second smart contract to obtain the target verification result includes: The validity of the on-chain identifier of the transaction initiator is verified through the second smart contract, resulting in a third verification result; and The credential information contained in the on-chain identifier of the transaction initiator is verified to obtain the fourth verification result; Based on the third verification result and the fourth verification result, the target verification result is obtained.
7. The method of claim 6, wherein, The verification of the validity of the on-chain identifier of the transaction initiator to obtain a third verification result includes: Obtain the current time and the valid time period of the on-chain identifier, and based on the current time and the valid time period, verify the validity of the on-chain identifier of the transaction initiator to obtain the third verification result; or, The on-chain identifier cancellation record is obtained from the blockchain system, and the validity of the on-chain identifier of the transaction initiator is verified based on the on-chain identifier cancellation record to obtain the third verification result.
8. The method of claim 1, wherein, The transaction operation is a transfer operation of virtual resources, and the verification request also includes the target account address to which the virtual resources are to be transferred; the method further includes: The on-chain identifier of the transaction initiator is verified through the second smart contract to obtain a verification result for the on-chain identifier of the transaction initiator; and Verify the target account address to obtain a verification result for the target account address; and The on-chain identifier associated with the target account address is verified to obtain the verification result for the on-chain identifier associated with the target account address; The target verification result is obtained based on the verification result of the on-chain identifier of the transaction initiator, the verification result of the target account address, and the verification result of the on-chain identifier associated with the target account address.
9. The method of claim 1, wherein, The transaction operation is a transfer operation for virtual resources, and the verification request also includes the signature information of the transaction initiator; the method further includes: The on-chain identifier of the transaction initiator is verified through the second smart contract to obtain a verification result for the on-chain identifier of the transaction initiator; and The signature information of the transaction initiator is verified to obtain a verification result for the signature information of the transaction initiator; and The target verification result is obtained based on the verification result of the on-chain identifier of the transaction initiator and the verification result of the signature information of the transaction initiator.
10. The method of any one of claims 1 to 3, wherein, After sending the on-chain identifier to the credential issuer, the method further includes: Receive a cancellation request sent by the transaction initiator; wherein the cancellation request contains an on-chain identifier to be cancelled; Based on the cancellation request, the on-chain identifier to be cancelled is cancelled on the blockchain system. 11.A data processing method based on a blockchain system, characterized in that, Applied to the credential issuer, the method includes: Receive a second registration request sent by the transaction initiator; wherein the second registration request contains the identification information of the transaction initiator; The transaction initiator is verified based on the identification information, and upon successful verification, credential information of the transaction initiator is generated. A first registration request is generated based on the credential information and sent to the blockchain node. This allows the blockchain node to invoke a first smart contract based on the first registration request, and register the credential information on the blockchain system through the first smart contract. A timestamp is generated based on the current time, a specified valid duration is obtained, and an on-chain identifier corresponding to the transaction initiator is generated based on the timestamp information, the specified valid duration, and the credential information. The on-chain identifier is valid for the specified valid duration from the time represented by the timestamp information. The system receives the on-chain identifier sent by the blockchain node and returns the on-chain identifier to the transaction initiator, enabling the transaction initiator to initiate a transaction operation to the verification requester based on the on-chain identifier. The blockchain node receives a verification request sent by the verification requester. The verification request is generated by the verification requester in response to the transaction operation initiated by the transaction initiator and contains the on-chain identifier corresponding to the transaction initiator. A second smart contract is invoked based on the verification request. The second smart contract verifies the validity of the transaction initiator's on-chain identifier and the credential information contained in the transaction initiator's on-chain identifier to obtain a target verification result. The target verification result is returned to the verification requester, enabling the verification requester to determine whether to execute the transaction operation based on the target verification result. 12.A data processing apparatus based on a blockchain system, characterized by comprising: The device is configured on a blockchain node, and the device includes: The first receiving module is configured to receive a first registration request sent by the credential issuer; wherein the first registration request contains credential information of the transaction initiator, and the credential information is generated by the credential issuer after verifying the identification information of the transaction initiator. The calling module is configured to call the first smart contract based on the first registration request; The registration and generation module is configured to register the credential information on the blockchain system through the first smart contract, generate timestamp information based on the current time, obtain a specified valid duration, and generate an on-chain identifier corresponding to the transaction initiator based on the timestamp information, the specified valid duration, and the credential information; wherein the on-chain identifier is valid for the specified valid duration from the time represented by the timestamp information. The sending module is configured to send the on-chain identifier to the credential issuer, so that the credential issuer returns the on-chain identifier to the transaction initiator; The fourth receiving module is configured to receive a verification request sent by the verification requester; wherein the verification request is generated by the verification requester in response to the transaction operation initiated by the transaction initiator, and the verification request contains the on-chain identifier corresponding to the transaction initiator. The calling module is also configured to call the second smart contract based on the verification request; The verification module is configured to verify the validity of the on-chain identifier of the transaction initiator and the credential information contained in the on-chain identifier of the transaction initiator through the second smart contract, and obtain the target verification result. The return module is configured to return the target verification result to the verification requester, so that the verification requester can determine whether to execute the transaction operation based on the target verification result. 13.A data processing apparatus based on a blockchain system, characterized by, The device is configured at the credential issuer, and the device includes: The second receiving module is configured to receive a second registration request sent by the transaction initiator; wherein the second registration request contains the identification information of the transaction initiator; The verification and sending module is configured to verify the transaction initiator based on the identification information, generate credential information of the transaction initiator after successful verification, generate a first registration request based on the credential information, and send the first registration request to the blockchain node. This allows the blockchain node to invoke a first smart contract based on the first registration request, register the credential information on the blockchain system through the first smart contract, generate timestamp information based on the current time, obtain a specified valid duration, and generate an on-chain identifier corresponding to the transaction initiator based on the timestamp information, the specified valid duration, and the credential information. The on-chain identifier is valid for the specified valid duration from the time represented by the timestamp information. The third receiving module is configured to receive the on-chain identifier sent by the blockchain node and return the on-chain identifier to the transaction initiator, so that the transaction initiator can initiate a transaction operation to the verification requester based on the on-chain identifier. The blockchain node receives the verification request sent by the verification requester. The verification request is generated by the verification requester in response to the transaction operation initiated by the transaction initiator and contains the on-chain identifier corresponding to the transaction initiator. The module calls a second smart contract based on the verification request. The second smart contract verifies the validity of the on-chain identifier of the transaction initiator and the credential information contained in the on-chain identifier of the transaction initiator to obtain a target verification result. The module returns the target verification result to the verification requester, so that the verification requester can determine whether to execute the transaction operation based on the target verification result.
14. An electronic device, characterized in that, include: One or more processors; A storage device for storing one or more programs, which, when executed by the electronic device, cause the electronic device to implement the data processing method based on a blockchain system as described in any one of claims 1 to 11.
15. A computer-readable medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the data processing method based on a blockchain system as described in any one of claims 1 to 11.
16. A computer program product comprising computer instructions, characterized in that, When the computer instructions are executed by the processor, they implement the data processing method based on the blockchain system as described in any one of claims 1 to 11.
Citation Information
Patent Citations
Transaction verification method and device in block chain, node equipment and storage medium
CN111985929A
Certificate issuing method and certificate verification method in block chain
CN114418573A