Data processing method based on block chain network and related equipment

By using blind processing and blind signature technologies on the blockchain network to generate anonymous voting vouchers, the existing inefficiency and fairness of anonymous voting technology is solved, and the privacy protection of voters and the fairness of voting results is achieved.

CN119561705APending Publication Date: 2025-03-04TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202311136206.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-04
Publication Date
2025-03-04

AI Technical Summary

Technical Problem

Existing anonymous voting technology is inefficient when facing large groups and cannot guarantee the fairness of the voting results and the privacy of voters.

Method used

Using data processing methods based on blockchain networks, anonymous voting vouchers are generated through blind processing and blind signature technology to ensure the anonymity and fairness of the voting process.

Benefits of technology

It realizes the privacy of voters during anonymous voting, and ensures the fairness of the voting results, avoiding the problem of repeated voting.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119561705A_ABST
    Figure CN119561705A_ABST
Patent Text Reader

Abstract

The invention discloses a data processing method based on a block chain network and related equipment, and the method comprises the steps that a first terminal carries out the blind processing of voting information through a blind factor, obtains a blind vote, and transmits the blind vote to a voting management server through the block chain network; the voting management server performs signature processing on the blind vote by using the blind signature private key to obtain a first vote signature; and the node of the block chain network sends the first vote signature to the first terminal, and the first terminal performs blind removal processing on the first vote signature by using the blinding factor to obtain an anonymous voting voucher corresponding to the first terminal. And the first terminal generates a voting transaction by using the anonymous voting voucher and the voting information, and sends the voting transaction to the block chain network, and nodes of the block chain network determine a voting result of the first terminal. Voting and statistical voting are carried out through the generated anonymous voting voucher, so that the privacy of voters can be protected, the fairness of voting results can be ensured, and the problem of repeated voting is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to blockchain technology, and specifically to a data processing method based on a blockchain network, a data processing device based on a blockchain network, a computer device, a computer-readable storage medium, and a computer program product. Background Art

[0002] Anonymous voting allows voters to vote according to their true wishes and ensures the fairness of the voting results. Anonymous voting has been used in various scenarios, such as opinion polls and corporate governance.

[0003] At present, the technical solutions for anonymous voting mainly include group signature and ring signature technology. The former achieves anonymity by generating signatures in a predetermined signature group. When facing a large group, the time cost of the corresponding signature and verification will increase significantly, resulting in low efficiency. The latter allows the signer to select a subset from a group of potential signers and generate a signature to achieve anonymity. Since this method generates a signature by selecting any potential signer in the subset, it is impossible to determine the uniqueness of the voter's vote. At the same time, the voter information of these two methods is known to the reviewer. If the reviewer is negligent or malicious, the voter's privacy will be leaked, and repeated voting may occur.

[0004] Therefore, how to protect voters' privacy during anonymous voting and ensure the fairness of voting results has become a technical problem that needs to be solved urgently. Summary of the invention

[0005] The embodiments of the present application provide a data processing method and related equipment based on a blockchain network, which can protect the privacy of voters through anonymous voting credentials and ensure the fairness of voting results through anonymous voting credentials.

[0006] On the one hand, an embodiment of the present application discloses a data processing method based on a blockchain network, the method comprising:

[0007] Receive a first ballot signature sent by a voting management server, where the first ballot signature is obtained by the voting management server signing the blinded ballot using a blind signature private key after receiving the blinded ballot sent by a node of the blockchain network, and the blinded ballot is obtained by the first terminal blinding the voting information using a blinding factor;

[0008] Sending the first ballot signature to the first terminal, so that the first terminal uses the blinding factor to perform a deblinding process on the first ballot signature to obtain an anonymous voting certificate corresponding to the first terminal;

[0009] A voting transaction sent by the first terminal is received, and a voting result of the first terminal is determined according to the voting transaction, wherein the voting transaction is generated according to the anonymous voting voucher and the voting information.

[0010] On the one hand, an embodiment of the present application discloses a data processing method based on a blockchain network, the method comprising:

[0011] Receive a first ballot signature sent by a node of the blockchain network, where the first ballot signature is obtained by the voting management server signing the blinded ballot using a blind signature private key after obtaining the blinded ballot from the blockchain, and the blinded ballot is obtained by blinding the voting information using a blinding factor;

[0012] Deblinding the first ballot signature using the blinding factor to obtain an anonymous voting certificate corresponding to the first terminal;

[0013] A voting transaction is sent to a node of the blockchain network according to the anonymous voting credential and the voting information, so that the node of the blockchain network determines the voting result of the first terminal according to the voting transaction.

[0014] On the one hand, an embodiment of the present application discloses a data processing device based on a blockchain network, the device comprising:

[0015] A receiving unit, configured to receive a first ballot signature sent by a voting management server, wherein the first ballot signature is obtained by the voting management server signing the blinded ballot using a blind signature private key after receiving the blinded ballot sent by a node of the blockchain network, and the blinded ballot is obtained by the first terminal blinding the voting information using a blinding factor;

[0016] A sending unit, configured to send the first ballot signature to the first terminal, so that the first terminal uses the blinding factor to perform a deblinding process on the first ballot signature to obtain an anonymous voting certificate corresponding to the first terminal;

[0017] The determining unit is further configured to determine a target flow calculation strategy according to a flow sparseness of the indicator to be detected in the second sliding window;

[0018] A determination unit is configured to receive a voting transaction sent by the first terminal, and determine a voting result of the first terminal according to the voting transaction, wherein the voting transaction is generated according to the anonymous voting voucher and the voting information.

[0019] On the one hand, an embodiment of the present application discloses a data processing device based on a blockchain network, the device comprising:

[0020] A receiving unit, configured to receive a first ballot signature sent by a node of the blockchain network, wherein the first ballot signature is obtained by the voting management server signing the blinded ballot using a blind signature private key after obtaining the blinded ballot from the blockchain, and the blinded ballot is obtained by blinding the voting information using a blinding factor;

[0021] A processing unit, configured to perform a deblinding process on the first ballot signature using the blinding factor to obtain an anonymous voting certificate corresponding to the first terminal;

[0022] A sending unit is used to send a voting transaction to a node of the blockchain network according to the anonymous voting credential and the voting information, so that the node of the blockchain network determines the voting result of the first terminal according to the voting transaction.

[0023] On the one hand, an embodiment of the present application discloses a computer device, which includes a processor suitable for implementing one or more computer programs; and a computer storage medium, wherein the computer storage medium stores one or more computer programs, and the one or more computer programs are suitable for being loaded and executed by the processor to implement the above-mentioned blockchain network-based data processing method.

[0024] On the one hand, the present application discloses a computer-readable storage medium, which stores one or more computer programs, and the one or more computer programs are suitable for being loaded by a processor and executing the above-mentioned blockchain network-based data processing method.

[0025] In one aspect, the present application discloses a computer program product, which includes a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium, and the processor executes the computer program, so that the computer device executes the above-mentioned data processing method based on a blockchain network.

[0026] In an embodiment of the present application, in order to generate an anonymous voting voucher, the first terminal first uses a blinding factor to blind the voting information to obtain a blinded ballot, and sends the blinded ballot to the voting management server through the blockchain network; after receiving the blinded ballot sent by the node of the blockchain network, the voting management server uses a blind signature private key to sign the blinded ballot to obtain a first ballot signature; after receiving the first ballot signature, the node of the blockchain network sends it to the first terminal, and the first terminal uses the blinding factor to deblind the first ballot signature to obtain the anonymous voting voucher corresponding to the first terminal. The first terminal generates a voting transaction using the anonymous voting voucher and the voting information, and sends it to the node of the blockchain network. The node of the blockchain network calls the voting contract to determine the voting result of the first terminal. Voting and counting the voting results through the generated anonymous voting voucher can not only protect the privacy of the voters, but also ensure the fairness of the voting results and avoid the problem of repeated voting. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0028] Figure 1 This is a schematic diagram of the network architecture of a data processing system based on a blockchain network disclosed in an embodiment of the present application;

[0029] Figure 2 It is a flowchart of a data processing method based on a blockchain network disclosed in an embodiment of the present application;

[0030] Figure 3 It is a flowchart of another data processing method based on a blockchain network disclosed in an embodiment of the present application;

[0031] Figure 4 It is a flowchart of another data processing method based on a blockchain network disclosed in an embodiment of the present application;

[0032] Figure 5 is a structural schematic diagram of a data processing device disclosed in an embodiment of the present application;

[0033] Figure 6 is a structural schematic diagram of another data processing device disclosed in an embodiment of the present application;

[0034] Figure 7 It is a structural schematic diagram of a computer device disclosed in an embodiment of the present application. DETAILED DESCRIPTION

[0035] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0036] The data processing method based on the blockchain network provided in the embodiment of the present application integrates blockchain technology and blind signature technology, aiming to fully guarantee the anonymity and fairness of the voting process. Among them, blockchain, as an open and decentralized data structure, can ensure that the voting process is carried out in a trustless environment, and prevent the voting information from being modified by utilizing the tamper-proof characteristics. The blind signature technology provides privacy protection for voters. Each voter can vote anonymously on the basis of identity authentication to prevent personal information leakage. By combining the two technologies, the public is provided with a highly available anonymous voting solution that guarantees both fairness and privacy.

[0037] Among them, blockchain is a new application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, encryption algorithm, etc. Blockchain is essentially a decentralized database, a string of data blocks generated by cryptographic methods. Each data block contains a batch of network transaction information, which is used to verify the validity of its information (anti-counterfeiting) and generate the next block. Blockchain can include the underlying blockchain platform, platform product service layer, and application service layer.

[0038] The underlying blockchain platform can include processing modules such as user management, basic services, smart contracts, and operational statistics. Among them, the user management module is responsible for the identity information management of all blockchain participants, including maintaining public and private key generation (account management), key management, and the corresponding relationship between the user's real identity and the blockchain address (authority management), etc., and, under authorization, manages the transaction status of certain real identities and provides management rule configuration; the basic service module is deployed on all blockchain node devices to verify the validity of business requests, and records valid requests to storage after consensus is reached. For a new business request, the basic service first performs interface adaptation analysis and authentication processing (interface adaptation), and then encrypts the business information through the consensus algorithm (consensus management). After that, it is completely and consistently transmitted to the shared ledger (network communication) and recorded and stored; the smart contract module is responsible for the registration and issuance of contracts, as well as contract triggering and contract execution. Developers can define the contract logic in a certain programming language and publish it to the blockchain (contract registration). According to the logic of the contract terms, the key or other events are called to trigger the execution to complete the contract logic. At the same time, it also provides the function of contract upgrade and cancellation; the operation statistics module is mainly responsible for the deployment, configuration modification, contract setting, cloud adaptation and real-time status visualization output of the product during the product release process, such as alarms, statistical network conditions, statistical node equipment health status, etc.

[0039] The platform product service layer provides the basic capabilities and implementation framework of typical applications. Developers can superimpose business features based on these basic capabilities to complete the blockchain implementation of business logic. The application service layer provides application services based on blockchain solutions for business participants to use.

[0040] Blind signature is a digital signature technology that allows an entity to sign a document without the signer being able to see the contents of the document. This technology ensures the privacy of the document itself, and only the entity that submits the signature request can see the document content. Blind signatures are mainly used in anonymous payment systems, electronic voting, cryptocurrency and other fields to help achieve privacy protection and secure transactions.

[0041] Blind signatures work as follows:

[0042] The user generates an original document M (such as a ticket, voting form, or transaction information) that needs to be signed. The user uses a blinding function to blind the document M and generates a transformed document M'. Blinding is a reversible process that uses the user's own blinding factor to obfuscate the original document so that the signer cannot recognize the true content of the document.

[0043] The user sends the blinded document M' to the signer. The signer signs M' and generates a blind signature S'. At this point, since the document has been blinded, the signer cannot know the actual content of the document M.

[0044] After the user receives the blind signature S', he uses the unblinding function to convert S' into the signature S corresponding to the original document M. The unblinding operation uses the same blinding factor as the blinding operation, which can associate the signer's signature with the original document.

[0045] The user now has the original document M and its corresponding signature S, and can provide this signature to other entities for verification. During the signature verification process, since the signer signs a blinded document, the content of the original document cannot be identified, thus protecting the privacy of the document.

[0046] The key point of blind signature is that during the entire process, the signer cannot see or know the actual content of the document, and the user can use the signer's signature to prove the authenticity of the document. In this way, privacy is protected, while the signing process remains authoritative.

[0047] Based on blockchain technology and blind signature technology, the execution process of the data processing method based on blockchain network provided by the embodiment of the present application is as follows: ① The voting party (the user corresponding to the first terminal) blinds the voting information based on the blind signature technology to obtain a blind ballot, then signs the blind ballot and sends it to the blockchain. ② The node of the blockchain network calls the voting contract to verify the signed blind ballot. After the verification is passed, the blind ballot is stored in the blockchain corresponding to the blockchain network. ③ After receiving the download request from the voting management server, the node of the blockchain network sends the blind ballot to the voting management server, and the voting management server signs the blind ballot with the blind signature private key to obtain the first ballot signature, and returns the first ballot signature to the voting party through the blockchain network. ④ After receiving the first ballot signature, the voting party deblinds the first ballot signature to obtain a valid signature associated with the voting event, that is, an anonymous voting voucher; the voting party creates a voting transaction through the anonymous voting voucher and voting information, and sends it to the blockchain network. ⑤ The node of the blockchain network calls the voting contract to process the voting transaction and determine the voting result of the voting party. Obtaining anonymous voting credentials related to voting events based on blind signature technology can not only protect the privacy information of the voters, but also use anonymous voting credentials to detect whether there is a problem of duplicate voting, thereby ensuring the fairness of the voting results.

[0048] Combine the following Figure 1The data processing system suitable for implementing the data processing solution based on the blockchain network provided in the embodiment of the present application is introduced. Figure 1 As shown, the data processing system may include a blockchain network 10 and multiple first terminals 20 connected to the blockchain network 10, a voting management server 30, and the voting management server 30 is connected to the second terminal 40. There are multiple nodes 101 included in the blockchain network 10, and the nodes 101 in the blockchain network 10 can be terminals or servers. Multiple first terminals 20 and voting management servers 30 can establish communication connections with the nodes 101 of the blockchain network. Among them, the terminal mentioned in the embodiment of the present application can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, a car terminal, a smart TV, etc., but is not limited to this; the server mentioned in the embodiment of the present application can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network, content distribution network), and big data and other basic cloud computing services, and the embodiment of the present application does not limit this. The node 101, the first terminal 20 and the voting management server 30 of the blockchain network 10 in the data processing system are introduced below respectively:

[0049] First terminal 20: In the embodiment of the present application, the first terminal 20 corresponds to the terminal used by the voter. In the display interface of the first terminal 20, the voter can perform voting operations in the interface. The first terminal 20 is mainly used to perform the following steps: 1. Register the identity information of the party to the blockchain network so that the voting management server 30 verifies the identity of the voter on the first terminal side. After the verification is passed, the voter is authorized as a voting user, and the identity of the voter is published in the voting contract in the blockchain. 2. Determine the voting information according to the voting event. 3. Process the voting information through the blind signature technology to obtain a blinded ballot, and then use the object private key corresponding to the first terminal to sign the blinded ballot, and send it to the blockchain network to request the generation of an anonymous voting certificate. 4. Receive the first ballot signature sent by the blockchain, and perform deblinding on the first ballot information to obtain an anonymous voting certificate, wherein the first ballot signature is obtained after the voting management server 30 signs the blinded ballot using the blind signature private key. 5. Generate a voting transaction based on the anonymous voting certificate and voting information, and submit the voting transaction to the voting contract of the blockchain to count the votes.

[0050] It should be noted that there are multiple first terminals 20 , each of which corresponds to a different voter. All voters authorized by the voting management server 30 can vote on the voting event.

[0051] Node 101 of blockchain network 10: Each node 101 can be a server or a terminal, and each node 101 has the ability to call a voting contract. In this application, node 101 is mainly used to perform the following steps: 1. Receive the voting private key, blind signature public key and authorized identification certificate list sent by the voting management server, and save them in the blockchain. 2. Receive the signed blinded ballot (i.e., the second ballot signature) sent by the first terminal 20, call the voting contract to verify the signature of the blinded ballot, obtain the identification certificate of the first terminal, and determine whether the identification certificate of the first terminal is in the authorized identification certificate list. If so, it indicates that the vote of the first terminal is valid. 3. Call the voting contract to store the blinded ballot in the blockchain corresponding to the blockchain network. 4. Receive the voting transaction sent by the first terminal 20, verify the transaction in the transaction pool, and after the verification is passed, call the voting contract to verify the fairness and validity of the anonymous voting certificate to ensure that the voting results are valid. 5. Call the voting contract to count the voting results of all voters within the voting time and count the votes.

[0052] Voting management server 30 and second terminal 40: The voting initiator creates a voting event through the second terminal 40, including voting content, voting time, etc. The voting management server 30 is connected to the second terminal 40 and is responsible for the corresponding services on the voting initiator's side. Specifically, in the embodiment of the present application, the voting management server 30 is mainly used to perform the following steps: 1. Create a voting event and receive a voting event created by the voting initiator, including voting content and voting time. 2. Based on the voting event, generate a voting private key and a blind signature key pair, and publish the voting event, voting private key and blind signature public key to the voting contract on the blockchain. 3. Obtain the identity information submitted by the first terminal 20 and verify it. If the verification passes, the voter corresponding to the first terminal 20 is published to the blockchain. 4. Download the blinded ballot from the blockchain, and use the blind signature private key to sign the blinded ballot to obtain the first ballot information, and send it to the blockchain.

[0053] In one implementation, the data processing method based on the blockchain network can be applied to various voting activities, including but not limited to opinion polls and corporate governance. By voting through this data processing method, the fairness, reliability and privacy of the voting process can be ensured, and repeated voting behavior can be effectively reduced.

[0054] It should be noted that in this application, the relevant data involved in the data processing process, such as the information of the voter corresponding to the first terminal. When the above embodiments of this application are applied to specific products or technologies, user permission or consent must be obtained, and the relevant data collection, use and processing processes must comply with relevant laws, regulations and standards, and comply with the principles of legality, legitimacy and necessity, and do not involve the acquisition of data types prohibited or restricted by laws and regulations. In some optional embodiments, the relevant data involved in the embodiments of this application are obtained after the object has been authorized separately. In addition, when obtaining the separate authorization of the object, the purpose of the relevant data involved is indicated to the object.

[0055] The data processing method based on the blockchain network proposed in the embodiment of the present application is introduced in detail below.

[0056] See also Figure 2 , is a flow chart of a data processing method based on a blockchain network disclosed in an embodiment of the present application. The data processing method of the blockchain network is described with the nodes of the blockchain network as the execution subject. The nodes of the blockchain network can be Figure 1 Any node 101 shown. Specifically, the data processing method based on the blockchain network may include but is not limited to the following steps:

[0057] S201: Receive the first ballot signature sent by the voting management server. The first ballot signature is obtained by the voting management server signing the blinded ballot using the blind signature private key after receiving the blinded ballot sent by the node of the blockchain network. The blinded ballot is obtained by the first terminal blinding the voting information using the blinding factor.

[0058] In a possible implementation, the nodes of the blockchain network receive voting events, authorized identification credential lists, voting private keys, and blind signature public keys reported by the voting management server, and send these data to the voting contract. Among them, the voting event includes the specific voting content and voting time, and the voting time includes the voting start time and voting end time, that is, the voting validity period; the authorized identification credential list is used to indicate which voters can vote; the voting private key and blind signature public key are generated by the voting management server according to the voting event, which can be understood as unique. One voting event corresponds to one voting private key and one blind signature key pair. The above-mentioned authorized identification credential list is also determined by the voting management server. The specific process is: the voting management server receives the identity information registered by the voter, and then compares the identity information registered by the voter with the data set by the voting initiator. If they are consistent, it proves that the voter can vote, and then adds the identification credential of the voter to the authorized identification credential list, and reports the authorized identification credential list to the blockchain corresponding to the blockchain network. The data set by the voting initiator may be hashed data. Similarly, the identity information of the voter may also be hashed. Therefore, when comparing the data, the data needs to be converted to obtain data in a uniform format for comparison.

[0059] In a possible implementation, a node of the blockchain network receives the second ballot signature sent by the first terminal. After the voting management server publishes a voting event, if there are N voters who want to vote, the voters determine the voting information, the first terminal uses the blinding factor to blind the voting information, obtains a blinded ballot, and then uses the object private key corresponding to the first terminal to sign the blinded ballot to obtain the second ballot signature, and then sends the second ballot signature to the blockchain network. Since the message sent by the first terminal is blinded, the voter's privacy can be protected. The node of the blockchain network receives the second ballot signature sent by the first terminal. After receiving the second ballot signature sent by the first terminal, the voting contract is called to decrypt the second ballot signature using the object public key (corresponding to the object private key corresponding to the first terminal) to obtain the identification certificate of the first terminal. The identification certificate is carried when signing, so it can be obtained after decryption. If the identification certificate of the first terminal exists in the authorized identification certificate list, it is determined that the first terminal can vote, and then the voting contract is called to store the blinded ballot in the blockchain corresponding to the blockchain network (equivalent to the chain process, so that each node of the blockchain network stores the blinded ballot).

[0060] In a possible implementation, a node of the blockchain network receives the first ballot signature sent by the voting management server. After the blinded ballot is stored in the blockchain corresponding to the blockchain network, the voting management server can download the blinded ballot from any node of the blockchain network after receiving the request for obtaining the anonymous voting certificate sent by the first terminal. The voting management server signs the blinded ballot using the blind signature private key to obtain the first ballot signature.

[0061] S202: Send the first ballot signature to the first terminal, so that the first terminal uses a blinding factor to de-blind the first ballot signature to obtain an anonymous voting certificate corresponding to the first terminal.

[0062] In order to determine the anonymous voting credentials, after receiving the first ballot signature sent by the voting management server, the node of the blockchain network sends the first ballot signature to the first terminal, so that the first terminal uses the blinding factor to de-blind the first ballot signature and obtains the anonymous voting credentials corresponding to the first terminal. In this process, the first terminal first verifies the first ballot signature using the blind signature public key. If the verification passes, the first ballot signature is de-blinded using the same blinding factor as that used in the blinding process to obtain the anonymous voting credentials corresponding to the first terminal. Regardless of how many voting terminals (i.e., first terminals) there are, the unique anonymous voting credentials corresponding to each terminal can be determined based on this.

[0063] S203: receiving a voting transaction sent by the first terminal, and determining a voting result of the first terminal according to the voting transaction, wherein the voting transaction is generated according to the anonymous voting voucher and the voting information.

[0064] In one possible implementation, a voting transaction sent by a first terminal is received, and the voting result of the first terminal is determined based on the voting transaction. After the first terminal determines the anonymous voting voucher based on the signature of the first ballot, a voting transaction is generated based on the anonymous voting voucher and the voting information, and the voting transaction is signed using the voting private key to obtain the signature information, and then the voting transaction and the signature information are sent to the node of the blockchain network. The node of the blockchain network first calls the voting contract to verify the signature information using the voting public key. If the verification is successful, it means that the voting event corresponds to the voting information, and then the voting contract is called to compare the anonymous voting voucher in the voting transaction with the anonymous voting voucher included in the voting voucher list to obtain the voting result of the first terminal.

[0065] When determining the voting result of the first terminal, first verify the fairness of the anonymous voting voucher, and then verify the validity of the voting time. Specifically, if the list of voted vouchers does not include the anonymous voting voucher in the voting transaction, it proves that the first terminal has not voted before and is unique; then obtain the voting time of the voting information corresponding to the first terminal, and send the voting time of the voting information to the voting contract. The voting contract includes the effective voting time set by the voting management server (including the voting start time and voting end time of the voting event). If the voting time of the voting information is within the effective voting time, the voting contract is called to determine that the voting result of the first terminal is a valid vote. If the list of voted vouchers includes the anonymous voting voucher in the voting transaction, or if the list of voted vouchers does not include the anonymous voting voucher in the voting transaction, but the voting time of the voting information is not within the effective voting time, the voting contract is called to determine that the voting result of the first terminal is an invalid vote.

[0066] Furthermore, after the voting time of the voting event ends, the voting contract can be called to count the votes, including the total number of votes. If it is a voting event for a certain activity, the voting statistics obtained are the total number of votes of each candidate. For example, if the candidates are A and B, the voting statistics can be: A-30 votes, B-80 votes. Optionally, the voting contract can also be called to count the votes regularly, so that the initiator of the vote can grasp the voting situation in real time.

[0067] In the embodiment of the present application, the data processing method is mainly described with the nodes of the blockchain network as the execution subject. Due to the participation of the blockchain and the voting contract, the statistics of the voting results do not require a third party, and the fairness of the voting results can be guaranteed. At the same time, voting through anonymous voting credentials can not only protect the privacy of voters, but also ensure the fairness of the voting results and avoid the problem of repeated voting.

[0068] See also Figure 3 , is a flow chart of another data processing method based on a blockchain network disclosed in an embodiment of the present application. The data processing method of the blockchain network is described with the first terminal as the execution subject. The first terminal can be Figure 1 Any first terminal 20 shown. Specifically, the data processing method based on the blockchain network may include but is not limited to the following steps:

[0069] S301: Receive the first ballot signature sent by the node of the blockchain network. The first ballot signature is obtained by the voting management server using the blind signature private key to sign the blinded ballot after obtaining the blinded ballot from the blockchain. The blinded ballot is obtained by blinding the voting information using a blinding factor.

[0070] Among them, the first terminal refers to the terminal of any voter, and one voter corresponds to one terminal. After the voting management server releases the voting event, the voter first requests to obtain the voting event, and then fills in his own voting information on the terminal interface and submits it to the first terminal. The first terminal uses the blinding factor to blind the voting information to obtain a blinded ballot. The blinding process is to hide the real information of the voter to prevent the voter's information from being leaked. For example, the blinding factor can randomly select a number, and after the voting information is digitized, it can be multiplied by the blinding factor to obtain a blinded ballot. Optionally, the voting information and the blinding factor can also be added, subtracted, and divided. Then, the first terminal uses the object private key corresponding to the first terminal to sign the blinded ballot, obtain the second ballot signature, and send the second ballot signature to the node of the blockchain network, so that the node of the blockchain network calls the voting contract to use the object public key corresponding to the first terminal to decrypt the second ballot signature, obtain the identification certificate of the first terminal, and after determining that the identification certificate of the first terminal exists in the authorized identification certificate list, write the blinded ballot into the blockchain corresponding to the blockchain network.

[0071] Further, the voting management server downloads the blinded ballot from the blockchain, and then uses the blind signature private key to sign the blinded ballot to obtain the first ballot signature, and then sends the first ballot signature to the blockchain. The first terminal then receives the first ballot signature sent from the blockchain.

[0072] S302: Deblinding the first ballot signature using a blinding factor to obtain an anonymous voting certificate corresponding to the first terminal.

[0073] After receiving the first ballot signature, the first terminal first uses the blind signature public key (obtained from the blockchain) to verify whether the first ballot signature belongs to the first terminal. If so, the first ballot signature is deblinded using the same blinding factor as that used in the blinding process to obtain a valid signature associated with the voting event, i.e., an anonymous voting voucher. This anonymous voting voucher is unique, and is different for different terminals. Deblinding is to extract the blinding factor from the blinded ballot, and the inverse process of the blinding process is deblinding. For example, blinding is to add the processed voting information to the blinding factor to obtain a blinded ballot; then deblinding is to subtract the blinding factor from the first ballot signature after verification to obtain the anonymous voting voucher.

[0074] S303: Send a voting transaction to a node of the blockchain network according to the anonymous voting credential and the voting information, so that the node of the blockchain network determines the voting result of the first terminal according to the voting transaction.

[0075] After obtaining the anonymous voting voucher, the first terminal generates a voting transaction based on the anonymous voting voucher and the voting information; then obtains the voting private key from the blockchain, which is uploaded to the blockchain by the voting management server, and uses the voting private key to sign the voting transaction to obtain signature information; finally, the voting transaction and signature information are sent to the node of the blockchain network, so that the node of the blockchain network calls the voting contract to determine the voting result of the first terminal based on the voting transaction and the signature information carried. The process of the blockchain network determining the voting result of the first terminal has been described in detail in step S203, and will not be repeated here.

[0076] The embodiment of the present application mainly uses the first terminal as the execution subject to explain the data processing method based on the blockchain network, and explains that the first terminal uses blind signature technology to blind the voting information and deblind the signature of the determined blinded ballot, so as to obtain the anonymous voting certificate of the first terminal. On the one hand, voting through the anonymous voting certificate can protect the privacy of the voter; on the other hand, the blockchain can also ensure the fairness of the voting results and avoid the problem of repeated voting by conducting voting adjustment through anonymous voting.

[0077] Combined with the above explanation, the following Figure 1 Taking the system shown as an example, the data processing method based on the blockchain network provided by the embodiment of the present application is described in detail in an interactive form, that is, the interaction between the voting management server, the blockchain network and the first terminal. Figure 4 , is a flow chart of another data processing method based on a blockchain network disclosed in an embodiment of the present application. Correspondingly, the steps of the data processing method include the following steps:

[0078] S401: The voting management server creates a voting event, and generates a voting private key and a blind signature key pair according to the voting event.

[0079] S402: The voting management server publishes the voting event, the voting private key, and the blind signature public key included in the blind signature key pair to the voting contract on the blockchain.

[0080] S403: The voting management server verifies the identity information of the voter. If the voter is authorized to vote, the voter's identification credentials are added to the authorized identification credentials list.

[0081] S404: The voting management server publishes the list of authorized identification credentials to the voting contract on the blockchain.

[0082] The voter's identity information carries the identification certificate of the first terminal.

[0083] S405: The first terminal obtains voting information, and blinds the voting information using a blinding factor to obtain a blinded ballot.

[0084] S406: The first terminal uses the object private key to sign the blinded ballot to obtain a second ballot signature.

[0085] S407: The first terminal sends the second ballot signature to the node of the blockchain network.

[0086] S408: The node of the blockchain network calls the voting contract and uses the object public key to decrypt the second ballot signature to obtain the identification certificate of the first terminal.

[0087] The object public key and the object private key correspond to each other and both belong to the first terminal.

[0088] S409: If the identification credential of the first terminal exists in the authorized identification credential list, the voting contract is called to store the blinded ballot in the blockchain corresponding to the blockchain network.

[0089] S410: The voting management server downloads the blinded ballot from the blockchain.

[0090] S411: The voting management server signs the blinded ballot using the blind signature private key to obtain the first ballot signature.

[0091] S412: The voting management server sends the first ballot signature to the node of the blockchain network.

[0092] S413: The node of the blockchain network sends the first ballot signature to the first terminal.

[0093] S414: The first terminal uses the blinding factor to de-blind the first ballot signature to obtain an anonymous voting certificate corresponding to the first terminal.

[0094] S415: The first terminal generates a voting transaction according to the anonymous voting certificate and the voting information, and signs the voting transaction using the voting private key to obtain signature information.

[0095] S416: The first terminal sends the voting transaction and signature information to the node of the blockchain network.

[0096] S417: The nodes of the blockchain network call the voting contract and use the voting public key to verify the signature information.

[0097] S418: If the verification is successful, the voting contract is called to compare the anonymous voting certificate in the voting transaction with the anonymous voting certificate included in the voted certificate list to obtain the voting result of the first terminal.

[0098] S419: The nodes of the blockchain network return the voting results to the voting management server.

[0099] The nodes of the blockchain network can send a voting result to the voting management server every time a voting result is obtained, or they can send all voting results to the voting management server together after the voting event is completed.

[0100] The embodiment of the present application elaborates on the data processing method of the embodiment of the present application from the perspective of interaction, and combines blockchain and blind signature technology to produce the following beneficial effects: First, it ensures the fairness and transparency of the voting process, and each voter's ballot can be publicly reviewed. Secondly, through the blind signature technology, the privacy of the voter is protected, so that the voter does not need to worry about privacy leakage when participating in the vote. In addition, the scheme of the present application can also combat voting fraud and malicious behavior, such as repeated voting, and reduce the occurrence of unfair behavior. At the same time, because the data processing method of the present application is highly efficient and scalable, it can quickly adapt to voting needs of different scales.

[0101] Based on the above method embodiment, the present application embodiment also provides a data processing device based on a blockchain network. Figure 5 , is a schematic diagram of the structure of a data processing device provided in an embodiment of the present application, and the data processing device can be run in any node of the blockchain network, Figure 5 The data processing device 500 shown can run the following units:

[0102] The receiving unit 501 is used to receive a first ballot signature sent by a voting management server, wherein the first ballot signature is obtained by the voting management server signing the blinded ballot using a blind signature private key after receiving the blinded ballot sent by a node of the blockchain network, and the blinded ballot is obtained by the first terminal blinding the voting information using a blinding factor;

[0103] The sending unit 502 is configured to send the first ballot signature to the first terminal, so that the first terminal uses the blinding factor to perform a deblinding process on the first ballot signature to obtain an anonymous voting certificate corresponding to the first terminal;

[0104] The determining unit 503 is configured to receive a voting transaction sent by the first terminal, and determine a voting result of the first terminal according to the voting transaction, wherein the voting transaction is generated according to the anonymous voting voucher and the voting information.

[0105] In a possible implementation, the receiving unit 501 is further configured to receive a second ballot signature sent by the first terminal, where the second ballot signature is obtained by the first terminal signing the blinded ballot using the object private key corresponding to the first terminal;

[0106] Processing unit 504 is used to call the voting contract to decrypt the second ballot signature using the object public key corresponding to the first terminal to obtain the identification certificate of the first terminal;

[0107] The processing unit 504 is also used to call the voting contract to store the blinded ballot in the blockchain corresponding to the blockchain network if the identification credential of the first terminal exists in the authorized identification credential list.

[0108] In a possible implementation, the voting transaction further carries signature information, where the signature information is obtained by signing the voting transaction using a voting private key; when the determining unit 503 determines the voting result of the first terminal according to the voting transaction, it is specifically used to perform the following steps:

[0109] Call the voting contract to verify the signature information using the voting public key;

[0110] If the verification is successful, the voting contract is called to compare the anonymous voting certificate in the voting transaction with the anonymous voting certificate included in the voted certificate list to obtain the voting result of the first terminal.

[0111] In a possible implementation, the processing unit 504 calls the voting contract to compare the anonymous voting credential in the voting transaction with the anonymous voting credential included in the voted credential list, and when obtaining the voting result of the first terminal, is specifically used to perform the following steps:

[0112] If the list of voted credentials does not include the anonymous voting credentials in the voting transaction, calling the voting contract to determine that the voting result of the first terminal is a valid vote, and adding the anonymous voting credentials in the voting transaction to the list of voted credentials;

[0113] If the list of voted credentials includes the anonymous voting credentials in the voting transaction, the voting contract is called to determine that the voting result of the first terminal is an invalid vote.

[0114] In a possible implementation, when the determining unit 503 calls the voting contract to determine that the voting result of the first terminal is a valid vote, it is specifically configured to perform the following steps:

[0115] Obtaining the voting time of the voting information corresponding to the first terminal;

[0116] Sending the voting time of the voting information to the voting contract, wherein the voting contract includes the valid voting time set by the voting management server;

[0117] If the voting time of the voting information is within the valid voting time, the voting contract is called to determine that the voting result of the first terminal is a valid vote.

[0118] It can be understood that the functions of each functional unit of the data processing device provided in the embodiment of the present application can be specifically implemented according to the method in the above method embodiment, and its specific implementation process can refer to the relevant description in the above method embodiment, which will not be repeated here.

[0119] In a feasible embodiment, the data processing device provided in the embodiment of the present application can be implemented in software. The data processing device can be stored in a memory. It can be software in the form of programs and plug-ins, and includes a series of units, including a receiving unit, a sending unit, a determination unit and a processing unit; wherein the receiving unit, the sending unit, the determination unit and the processing unit are used to implement the data processing method based on the blockchain network provided in the embodiment of the present application.

[0120] In other feasible embodiments, the data processing device provided in the embodiments of the present application may also be implemented in a combination of software and hardware. As an example, the data processing device provided in the embodiments of the present application may be a processor in the form of a hardware decoding processor, which is programmed to execute the data processing method based on the blockchain network provided in the embodiments of the present application. For example, the processor in the form of a hardware decoding processor may adopt one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs) or other electronic components.

[0121] In the present embodiment, the blockchain network receives the first ballot signature sent by the voting management server. The first ballot signature is obtained by the voting management server using the blind signature private key to sign the blind ballot after receiving the blind ballot sent by the node of the blockchain network. The blind ballot is obtained by the first terminal using the blinding factor to blind the voting information; then the first ballot signature is sent to the first terminal, so that the first terminal uses the blinding factor to deblind the first ballot signature and obtains the anonymous voting certificate corresponding to the first terminal; finally, the voting transaction sent by the first terminal is received, and the voting result of the first terminal is determined according to the voting transaction. The voting transaction is generated according to the anonymous voting certificate and the voting information. In this process, the blockchain network receives the blinded voting information, which can protect the privacy of users. Moreover, the nodes of the blockchain network call the voting contract to determine the voting results, which can ensure the fairness of the voting results and avoid repeated voting.

[0122] Based on the description of the above method embodiment, the embodiment of the present application also proposes a data processing device based on a blockchain network, which can be run in the first terminal or a computer program (including program code) running in the first terminal; see Figure 6 As shown, the data processing device 600 can run the following units:

[0123] A receiving unit 601 is used to receive a first ballot signature sent by a node of the blockchain network, wherein the first ballot signature is obtained by the voting management server signing the blinded ballot using a blind signature private key after obtaining the blinded ballot from the blockchain, and the blinded ballot is obtained by blinding the voting information using a blinding factor;

[0124] The processing unit 602 is used to perform a deblinding process on the first ballot signature using the blinding factor to obtain an anonymous voting certificate corresponding to the first terminal;

[0125] The sending unit 603 is used to send a voting transaction to the node of the blockchain network according to the anonymous voting certificate and the voting information, so that the node of the blockchain network determines the voting result of the first terminal according to the voting transaction.

[0126] In a possible implementation, before the receiving unit 601 receives the first ballot signature sent by the node of the blockchain network, the acquiring unit 604 is used to acquire the voting information, where the voting information is determined according to the voting event initiated by the voting management server;

[0127] The processing unit 602 is further configured to perform blinding processing on the voting information using the blinding factor to obtain the blinded ballot;

[0128] The sending unit 603 is also used to send the blinded ballot to the nodes of the blockchain network.

[0129] In a possible implementation, when the sending unit 603 sends the blinded ballot to the node of the blockchain network, it is specifically used to perform the following steps:

[0130] The blinded ballot is signed using the object private key corresponding to the first terminal to obtain a second ballot signature;

[0131] The second ballot signature is sent to the node of the blockchain network, so that the node of the blockchain network calls the voting contract to use the object public key corresponding to the first terminal to decrypt the second ballot signature, obtain the identification credential of the first terminal, and after determining that the identification credential of the first terminal exists in the authorized identification credential list, write the blinded ballot into the blockchain network.

[0132] In a possible implementation, when the sending unit 603 sends the voting transaction to the node of the blockchain network according to the anonymous voting credential and the voting information, it is specifically used to perform the following steps:

[0133] generating a voting transaction according to the anonymous voting voucher and the voting information;

[0134] Obtaining a voting private key from the blockchain, where the voting private key is uploaded to the blockchain by the voting management server;

[0135] Using the voting private key to sign the voting transaction information to obtain signature information;

[0136] Sending the voting transaction and the signature information to a node of the blockchain network.

[0137] It can be understood that the functions of each functional unit of the data processing device provided in the embodiment of the present application can be specifically implemented according to the method in the above method embodiment, and its specific implementation process can refer to the relevant description in the above method embodiment, which will not be repeated here.

[0138] In a feasible embodiment, the data processing device provided in the embodiment of the present application can be implemented in software. The data processing device can be stored in a memory. It can be software in the form of programs and plug-ins, and includes a series of units, including a receiving unit, a sending unit, a determination unit and a processing unit; wherein the receiving unit, the sending unit, the determination unit and the processing unit are used to implement the data processing method based on the blockchain network provided in the embodiment of the present application.

[0139] In other feasible embodiments, the data processing device provided in the embodiments of the present application may also be implemented in a combination of software and hardware. As an example, the data processing device provided in the embodiments of the present application may be a processor in the form of a hardware decoding processor, which is programmed to execute the data processing method based on the blockchain network provided in the embodiments of the present application. For example, the processor in the form of a hardware decoding processor may adopt one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs) or other electronic components.

[0140] In the present embodiment, the first terminal receives the first ballot signature sent by the node of the blockchain network. The first ballot signature is obtained by the voting management server using the blind signature private key to sign the blind ballot after obtaining the blind ballot from the blockchain. The blind ballot is obtained by blinding the voting information using the blinding factor; then the first ballot signature is deblinded using the blinding factor to obtain the anonymous voting certificate corresponding to the first terminal; finally, a voting transaction is sent to the node of the blockchain network based on the anonymous voting certificate and the voting information, so that the node of the blockchain network determines the voting result of the first terminal based on the voting transaction. In this process, anonymous voting certificates can be obtained for each voter based on blind signature technology and blockchain technology. Voting through the anonymous certificate can protect the voter's privacy; the blockchain network determines the voting result based on the anonymous voting certificate by calling the voting contract, which can ensure the fairness of the voting result and avoid repeated voting.

[0141] Based on the description of the above method embodiment and the device embodiment, the present application embodiment also provides a computer device; the computer device can be the node of the blockchain network mentioned above, or the first terminal mentioned above, or the voting management server mentioned above. Figure 7 The computer device may include at least a processor 701, an input interface 702, an output interface 703 and a computer-readable storage medium 704; wherein the processor 701, the input interface 702, the output interface 703 and the computer storage medium 704 may be connected via a bus or other connection methods.

[0142] The computer-readable storage medium 704 may be stored in a memory of a computer device. The computer-readable storage medium 704 is used to store a computer program. The computer program includes computer instructions. The processor 601 is used to execute the program instructions stored in the computer-readable storage medium 704. The processor 601 (or CPU (Central Processing Unit)) is the computing core and control core of the computer device, which is suitable for implementing one or more computer instructions, and is specifically suitable for loading and executing one or more computer instructions to implement a corresponding method flow or a corresponding function.

[0143] The embodiment of the present application also provides a computer-readable storage medium (Memory), which is a memory device in a computer device for storing programs and data. It is understandable that the computer-readable storage medium here can include both built-in storage media in the computer device and, of course, extended storage media supported by the computer device. The computer-readable storage medium provides a storage space that stores the operating system of the computer device. In addition, one or more computer instructions suitable for being loaded and executed by the processor are also stored in the storage space. These computer instructions can be one or more computer programs (including program codes). It should be noted that the computer-readable storage medium here can be a high-speed RAM memory, or a non-volatile memory (Non-VolatileMemory), such as at least one disk storage; optionally, it can also be at least one computer-readable storage medium located away from the aforementioned processor.

[0144] In some embodiments, when the computer device is a node of a blockchain network, the processor 701 may load and execute one or more computer instructions stored in the computer-readable storage medium 704 to implement the above-mentioned Figure 2 as well as Figure 4 In a specific implementation, the computer instructions in the computer-readable storage medium 704 are loaded by the processor 701 and execute the following steps:

[0145] Receive a first ballot signature sent by a voting management server, where the first ballot signature is obtained by the voting management server signing the blinded ballot using a blind signature private key after receiving the blinded ballot sent by a node of the blockchain network, and the blinded ballot is obtained by the first terminal blinding the voting information using a blinding factor;

[0146] Sending the first ballot signature to the first terminal, so that the first terminal uses the blinding factor to perform a deblinding process on the first ballot signature to obtain an anonymous voting certificate corresponding to the first terminal;

[0147] A voting transaction sent by the first terminal is received, and a voting result of the first terminal is determined according to the voting transaction, wherein the voting transaction is generated according to the anonymous voting voucher and the voting information.

[0148] In a possible implementation, the computer instructions in the computer-readable storage medium 704 are further used by the processor 701 to load and execute the following steps:

[0149] receiving a second ballot signature sent by the first terminal, where the second ballot signature is obtained by the first terminal signing the blinded ballot using the object private key corresponding to the first terminal;

[0150] Calling the voting contract to decrypt the second ballot signature using the object public key corresponding to the first terminal to obtain the identification certificate of the first terminal;

[0151] If the identification credential of the first terminal exists in the authorized identification credential list, the voting contract is called to store the blinded ballot in the blockchain corresponding to the blockchain network.

[0152] In a possible implementation, the voting transaction further carries signature information, where the signature information is obtained by signing the voting transaction using a voting private key; when the computer instructions in the computer-readable storage medium 704 are used by the processor 701 to load and execute to determine the voting result of the first terminal according to the voting transaction, the computer instructions are specifically used to perform the following steps:

[0153] Call the voting contract to verify the signature information using the voting public key;

[0154] If the verification is successful, the voting contract is called to compare the anonymous voting certificate in the voting transaction with the anonymous voting certificate included in the voted certificate list to obtain the voting result of the first terminal.

[0155] In a possible implementation, the computer instructions in the computer-readable storage medium 704 are used by the processor 701 to load and execute the calling of the voting contract to compare the anonymous voting credentials in the voting transaction with the anonymous voting credentials included in the voted credentials list, and when obtaining the voting result of the first terminal, specifically to perform the following steps:

[0156] If the list of voted credentials does not include the anonymous voting credentials in the voting transaction, calling the voting contract to determine that the voting result of the first terminal is a valid vote, and adding the anonymous voting credentials in the voting transaction to the list of voted credentials;

[0157] If the list of voted credentials includes the anonymous voting credentials in the voting transaction, the voting contract is called to determine that the voting result of the first terminal is an invalid vote.

[0158] In a possible implementation, the computer instructions in the computer-readable storage medium 704 are used by the processor 701 to load and execute the calling of the voting contract to determine that the voting result of the first terminal is a valid vote, specifically for performing the following steps:

[0159] Obtaining the voting time of the voting information corresponding to the first terminal;

[0160] Sending the voting time of the voting information to the voting contract, wherein the voting contract includes the valid voting time set by the voting management server;

[0161] If the voting time of the voting information is within the valid voting time, the voting contract is called to determine that the voting result of the first terminal is a valid vote.

[0162] In some embodiments, when the computer device is a first terminal, the processor 701 may load and execute one or more computer instructions stored in the computer-readable storage medium 704 to implement the above-mentioned Figure 3 as well as Figure 4 In a specific implementation, the computer instructions in the computer-readable storage medium 704 are loaded by the processor 701 and execute the following steps:

[0163] Receive a first ballot signature sent by a node of the blockchain network, where the first ballot signature is obtained by the voting management server signing the blinded ballot using a blind signature private key after obtaining the blinded ballot from the blockchain, and the blinded ballot is obtained by blinding the voting information using a blinding factor;

[0164] Deblinding the first ballot signature using the blinding factor to obtain an anonymous voting certificate corresponding to the first terminal;

[0165] A voting transaction is sent to a node of the blockchain network according to the anonymous voting credential and the voting information, so that the node of the blockchain network determines the voting result of the first terminal according to the voting transaction.

[0166] In one possible implementation, before receiving the first ballot signature sent by the node of the blockchain network, the computer instructions in the computer-readable storage medium 704 are also used by the processor 701 to load and execute the following steps:

[0167] Acquiring the voting information, where the voting information is determined according to a voting event initiated by the voting management server;

[0168] Using the blinding factor to blind the voting information to obtain the blinded ballot;

[0169] Sending the blinded ballot to a node of the blockchain network.

[0170] In one possible implementation, the computer instructions in the computer-readable storage medium 704 are used by the processor 701 to load and execute the following steps when sending the blinded ballot to the node of the blockchain network:

[0171] The blinded ballot is signed using the object private key corresponding to the first terminal to obtain a second ballot signature;

[0172] The second ballot signature is sent to the node of the blockchain network, so that the node of the blockchain network calls the voting contract to use the object public key corresponding to the first terminal to decrypt the second ballot signature, obtain the identification credential of the first terminal, and after determining that the identification credential of the first terminal exists in the authorized identification credential list, write the blinded ballot into the blockchain network.

[0173] In a possible implementation, the computer instructions in the computer-readable storage medium 704 are used by the processor 701 to load and execute when sending a voting transaction to a node of the blockchain network according to the anonymous voting credential and the voting information, specifically for performing the following steps:

[0174] generating a voting transaction according to the anonymous voting voucher and the voting information;

[0175] Obtaining a voting private key from the blockchain, where the voting private key is uploaded to the blockchain by the voting management server;

[0176] Using the voting private key to sign the voting transaction information to obtain signature information;

[0177] Sending the voting transaction and the signature information to a node of the blockchain network.

[0178] The embodiment of the present application also provides a computer storage medium (Memory), which is a memory device in the client for storing programs and data. It is understandable that the computer storage medium here can include both the built-in storage medium in the client and the extended storage medium supported by the computer device. The computer storage medium provides a storage space, which stores the operating system of the computer device. In addition, one or more first computer programs suitable for being loaded and executed by the processor are also stored in the storage space. It should be noted that the computer storage medium here can be a high-speed RAM memory or a non-volatile memory, such as at least one disk storage; optionally, it can also be at least one computer storage medium located away from the aforementioned processor.

[0179] According to one aspect of the present application, a computer program product or a computer program is provided, the computer program product or the computer program comprising computer instructions, the computer instructions being stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the data processing method based on a blockchain network provided in the above-mentioned various optional modes.

[0180] It should be noted that, for the above-mentioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the order of the actions described, because according to the present application, some steps may be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.

[0181] In the several embodiments provided in this application, it should be understood that the disclosed device can be implemented in other ways. For example, the device embodiments described above are only schematic, and the division of the modules described above is only a logical function division. There may be other division methods in actual implementation, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed.

[0182] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A data processing method based on a blockchain network, characterized in that: The method comprises: Receive a first ballot signature sent by a voting management server, where the first ballot signature is obtained by the voting management server signing the blinded ballot using a blind signature private key after receiving the blinded ballot sent by a node of the blockchain network, and the blinded ballot is obtained by the first terminal blinding the voting information using a blinding factor; Sending the first ballot signature to the first terminal, so that the first terminal uses the blinding factor to perform a deblinding process on the first ballot signature to obtain an anonymous voting certificate corresponding to the first terminal; A voting transaction sent by the first terminal is received, and a voting result of the first terminal is determined according to the voting transaction, wherein the voting transaction is generated according to the anonymous voting voucher and the voting information.

2. The method according to claim 1, characterized in that The method further comprises: receiving a second ballot signature sent by the first terminal, where the second ballot signature is obtained by the first terminal signing the blinded ballot using the object private key corresponding to the first terminal; Calling the voting contract to decrypt the second ballot signature using the object public key corresponding to the first terminal to obtain the identification certificate of the first terminal; If the identification credential of the first terminal exists in the authorized identification credential list, the voting contract is called to store the blinded ballot in the blockchain corresponding to the blockchain network.

3. The method according to claim 1 or 2, characterized in that: The voting transaction also carries signature information, where the signature information is obtained by signing the voting transaction using a voting private key; and determining the voting result of the first terminal according to the voting transaction includes: Call the voting contract to verify the signature information using the voting public key; If the verification is successful, the voting contract is called to compare the anonymous voting certificate in the voting transaction with the anonymous voting certificate included in the voted certificate list to obtain the voting result of the first terminal.

4. The method according to claim 3, characterized in that The calling of the voting contract to compare the anonymous voting voucher in the voting transaction with the anonymous voting voucher included in the voted voucher list to obtain the voting result of the first terminal includes: If the list of voted credentials does not include the anonymous voting credentials in the voting transaction, calling the voting contract to determine that the voting result of the first terminal is a valid vote, and adding the anonymous voting credentials in the voting transaction to the list of voted credentials; If the list of voted credentials includes the anonymous voting credentials in the voting transaction, the voting contract is called to determine that the voting result of the first terminal is an invalid vote.

5. The method according to claim 4, characterized in that The calling of the voting contract to determine that the voting result of the first terminal is a valid vote includes: Obtaining the voting time of the voting information corresponding to the first terminal; Sending the voting time of the voting information to the voting contract, wherein the voting contract includes the valid voting time set by the voting management server; If the voting time of the voting information is within the valid voting time, the voting contract is called to determine that the voting result of the first terminal is a valid vote.

6. A data processing method based on a blockchain network, characterized in that: The method comprises: Receive a first ballot signature sent by a node of the blockchain network, where the first ballot signature is obtained by the voting management server signing the blinded ballot using a blind signature private key after obtaining the blinded ballot from the blockchain, and the blinded ballot is obtained by blinding the voting information using a blinding factor; Deblinding the first ballot signature using the blinding factor to obtain an anonymous voting certificate corresponding to the first terminal; A voting transaction is sent to a node of the blockchain network according to the anonymous voting credential and the voting information, so that the node of the blockchain network determines the voting result of the first terminal according to the voting transaction.

7. The method according to claim 6, characterized in that Before receiving the first ballot signature sent by the node of the blockchain network, the method further includes: Acquiring the voting information, where the voting information is determined according to a voting event initiated by the voting management server; Using the blinding factor to blind the voting information to obtain the blinded ballot; Sending the blinded ballot to a node of the blockchain network.

8. The method according to claim 7, characterized in that The sending the blinded ballot to the node of the blockchain network includes: The blinded ballot is signed using the object private key corresponding to the first terminal to obtain a second ballot signature; The second ballot signature is sent to the node of the blockchain network, so that the node of the blockchain network calls the voting contract to use the object public key corresponding to the first terminal to decrypt the second ballot signature, obtain the identification credential of the first terminal, and after determining that the identification credential of the first terminal exists in the authorized identification credential list, write the blinded ballot into the blockchain network.

9. The method according to any one of claims 6 to 8, characterized in that: The sending of a voting transaction to a node of the blockchain network according to the anonymous voting credential and the voting information includes: generating a voting transaction according to the anonymous voting voucher and the voting information; Obtaining a voting private key from the blockchain, where the voting private key is uploaded to the blockchain by the voting management server; Using the voting private key to sign the voting transaction information to obtain signature information; Sending the voting transaction and the signature information to a node of the blockchain network.

10. A data processing device based on a blockchain network, characterized in that: The device comprises: A receiving unit, configured to receive a first ballot signature sent by a voting management server, wherein the first ballot signature is obtained by the voting management server signing the blinded ballot using a blind signature private key after receiving the blinded ballot sent by a node of the blockchain network, and the blinded ballot is obtained by the first terminal blinding the voting information using a blinding factor; A sending unit, configured to send the first ballot signature to the first terminal, so that the first terminal uses the blinding factor to perform a deblinding process on the first ballot signature to obtain an anonymous voting certificate corresponding to the first terminal; The determining unit is further configured to determine a target flow calculation strategy according to a flow sparseness of the indicator to be detected in the second sliding window; A determination unit is configured to receive a voting transaction sent by the first terminal, and determine a voting result of the first terminal according to the voting transaction, wherein the voting transaction is generated according to the anonymous voting voucher and the voting information.

11. A data processing device based on a blockchain network, characterized in that: The device comprises: A receiving unit, configured to receive a first ballot signature sent by a node of the blockchain network, wherein the first ballot signature is obtained by the voting management server signing the blinded ballot using a blind signature private key after obtaining the blinded ballot from the blockchain, and the blinded ballot is obtained by blinding the voting information using a blinding factor; A processing unit, configured to perform a deblinding process on the first ballot signature using the blinding factor to obtain an anonymous voting certificate corresponding to the first terminal; A sending unit is used to send a voting transaction to a node of the blockchain network according to the anonymous voting credential and the voting information, so that the node of the blockchain network determines the voting result of the first terminal according to the voting transaction.

12. A computer device, characterized in that: The computer device comprises: a processor adapted to implement one or more computer programs; and, A computer storage medium storing one or more computer programs, wherein the one or more computer programs are suitable for being loaded by the processor and executing the data processing method based on the blockchain network as described in any one of claims 1 to 5, or any one of claims 6 to 9.

13. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores one or more computer programs, and the one or more computer programs are suitable for being loaded by a processor and executing the blockchain network-based data processing method as described in any one of claims 1 to 5, or any one of 6 to 9.

14. A computer program product, characterized in that The computer program product includes a computer program, which is stored in a computer-readable storage medium. The processor of the computer device reads the computer program from the computer-readable storage medium, and the processor executes the computer program, so that the computer device executes the data processing method based on the blockchain network as described in any one of claims 1 to 5, or any one of 6 to 9.

Citation Information

Cited By

  • Method for determining specific event to be performed on content based on results of votes obtained through staking of secondary stakable tokens acquired by staking primary stakable tokens and content providing server using the same

    US20250086600A1

  • Decentralized Stakeholder Voting Layer for Trust-Weighted Blockchain Governance

    US20250391219A1