CN110995711A - Electronic voting method, device and storage medium based on block chain - Google Patents

Electronic voting method, device and storage medium based on block chain Download PDF

Info

Publication number
CN110995711A
CN110995711A CN201911237872.9A CN201911237872A CN110995711A CN 110995711 A CN110995711 A CN 110995711A CN 201911237872 A CN201911237872 A CN 201911237872A CN 110995711 A CN110995711 A CN 110995711A
Authority
CN
China
Prior art keywords
voting
node
information
target node
identity information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911237872.9A
Other languages
Chinese (zh)
Inventor
路成业
王凌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Iallchain Co Ltd
Original Assignee
Iallchain Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Iallchain Co Ltd filed Critical Iallchain Co Ltd
Priority to CN201911237872.9A priority Critical patent/CN110995711A/en
Publication of CN110995711A publication Critical patent/CN110995711A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Abstract

The embodiment of the invention provides an electronic voting method, electronic voting equipment and a storage medium based on a block chain. Broadcasting electronic voting announcement information in the blockchain network through the electronic voting initiator node, and after a target node in the blockchain network receives the electronic voting announcement information, encrypting the identity information of the target node, the random number of the current vote or the identification information of the current vote by adopting the public key of the target node to obtain encryption information, carrying the encryption information in the voting content broadcast by the target node, after the electronic voting initiator node receives the voting content sent by the target node in the block chain network, extracting the encryption information from the voting content, and detecting whether the encryption information is in the encrypted identity information list, therefore, the voting qualification of the target node can be verified, so that the voting node can perform anonymous voting, and meanwhile, the identity verification of the electronic voting initiator node on the voting node is realized.

Description

Electronic voting method, device and storage medium based on block chain
Technical Field
The embodiment of the invention relates to the technical field of communication, in particular to an electronic voting method, electronic voting equipment and a storage medium based on a block chain.
Background
In the prior art, electronic voting can be implemented based on a blockchain network, for example, an electronic voting initiator node in the blockchain network broadcasts content to be voted in the blockchain network, and after receiving the content to be voted, a node participating in voting in the blockchain network broadcasts the voting content in the blockchain network.
However, in the prior art, it is difficult to consider both the requirements of anonymous voting and voting qualification verification, for example, if a voting node performs anonymous voting, the node of the electronic voting initiator cannot verify the voting qualification of the voting node, thereby bringing about a certain potential safety hazard. If the voting node carries out real-name voting, the electronic voting initiator node can verify the voting qualification of the voting node, but because the voting content is broadcasted in the blockchain network, other nodes in the blockchain network can determine the identity information of the voting node, so that the voting node cannot be effectively protected.
Disclosure of Invention
The embodiment of the invention provides an electronic voting method, equipment and a storage medium based on a block chain, so that a voting node can perform anonymous voting, and meanwhile, the identity verification of the electronic voting initiator node on the voting node is realized.
In a first aspect, an embodiment of the present invention provides an electronic voting method based on a block chain, including:
the electronic voting initiator node receives an encrypted identity information list from a supervision node, wherein the encrypted identity information list comprises a plurality of pieces of encrypted identity information, and the encrypted identity information is obtained by encrypting the identity information of the voting node, the random number of the current vote or the identification information of the current vote by adopting a block chain public key of the voting node which accords with the voting qualification;
the electronic voting initiator node broadcasts electronic voting announcement information in a block chain network, wherein the electronic voting announcement information comprises: voting qualification conditions, identification information of the supervision nodes, information to be voted, voting deadline time, random numbers of the current voting or identification information of the current voting;
the electronic voting initiator node receives voting content sent by a target node in the block chain network, wherein the voting content comprises a private key signature of the target node and encryption information obtained by encrypting the identity information of the target node, the random number of the current vote or the identification information of the current vote by the target node by adopting a block chain public key of the target node;
after the electronic voting initiator node verifies the private key signature of the target node, detecting whether the encrypted identity information list comprises the encrypted information;
and if the encrypted identity information list comprises the encrypted information, determining that the identity information of the target node passes the verification.
In a second aspect, an embodiment of the present invention provides an electronic voting method based on a block chain, including:
the target node receives electronic voting announcement information broadcasted by an electronic voting initiator node in a blockchain network, wherein the electronic voting announcement information comprises: voting qualification conditions, identification information of the supervision nodes, information to be voted, voting deadline time, random numbers of the current voting or identification information of the current voting;
the target node determines whether the target node meets the voting qualification condition;
when the target node determines that the target node meets the voting qualification condition, the target node encrypts identity information of the target node, the random number of the current vote or the identification information of the current vote by using a public key of the target node to obtain encrypted information;
the target node broadcasts voting content in the blockchain network, wherein the voting content comprises a private key signature of the target node and the encryption information.
In a third aspect, an embodiment of the present invention provides an electronic voting initiator node device, including:
a memory;
a processor;
a communication interface; and
a computer program;
wherein the computer program is stored in the memory and configured to be executed by the processor to:
receiving an encrypted identity information list from a monitoring node through the communication interface, wherein the encrypted identity information list comprises a plurality of encrypted identity information, and the encrypted identity information is obtained by encrypting the identity information of the voting node, the random number of the current vote or the identification information of the current vote by adopting a block chain public key of the voting node which accords with the voting qualification;
broadcasting electronic voting announcement information in a blockchain network through the communication interface, wherein the electronic voting announcement information comprises: voting qualification conditions, identification information of the supervision nodes, information to be voted, voting deadline time, random numbers of the current voting or identification information of the current voting;
receiving voting content sent by a target node in the block chain network through the communication interface, wherein the voting content comprises a private key signature of the target node and encryption information obtained by encrypting identity information of the target node, a random number of the current vote or identification information of the current vote by the target node by adopting a block chain public key of the target node;
after the private key signature of the target node passes verification, detecting whether the encrypted identity information list comprises the encrypted information;
and if the encrypted identity information list comprises the encrypted information, determining that the identity information of the target node passes the verification.
In a fourth aspect, an embodiment of the present invention provides a target node, including:
a memory;
a processor;
a communication interface; and
a computer program;
wherein the computer program is stored in the memory and configured to be executed by the processor to:
receiving electronic voting announcement information broadcasted by an electronic voting initiator node in a blockchain network through the communication interface, wherein the electronic voting announcement information comprises: voting qualification conditions, identification information of the supervision nodes, information to be voted, voting deadline time, random numbers of the current voting or identification information of the current voting;
determining whether the target node meets the voting qualification condition;
when the target node is determined to meet the voting qualification condition, encrypting the identity information of the target node, the random number of the current vote or the identification information of the current vote by using the public key of the target node to obtain encrypted information;
broadcasting voting content in the blockchain network through the communication interface, wherein the voting content comprises a private key signature of the target node and the encryption information.
In a fifth aspect, the present invention provides a computer-readable storage medium, on which a computer program is stored, the computer program being executed by a processor to implement the method of the first aspect or the second aspect.
In the electronic voting method, device, and storage medium based on the block chain provided in the embodiments of the present invention, an electronic voting announcement information is broadcast by an electronic voting initiator node in a block chain network, after a target node in the block chain network receives the electronic voting announcement information, an encrypted information is obtained by encrypting, with a public key of the target node, identity information of the target node, a random number of the current voting, or identification information of the current voting, and the encrypted information is carried in voting content broadcast by the target node, after the electronic voting initiator node receives voting content sent by the target node in the block chain network, the encrypted information is extracted from the voting content, and it is detected whether the encrypted information is in an encrypted identity information list locally stored in the electronic voting initiator node, where the encrypted identity information list includes a voting node to which a supervision node uses a block chain of voting node that conforms to the voting qualification for the voting, and the public key of the supervision node performs the voting on the voting nodes The electronic voting node comprises a point identity information, a random number of the current voting or an identification information of the current voting, and the point identity information, the random number of the current voting or the identification information of the current voting is encrypted to obtain the encrypted identity information, so that the voting qualification of the target node can be verified, the voting node can perform anonymous voting, the identity verification of the electronic voting initiator node on the voting node is realized, the safety of the voting node is improved, and meanwhile, the electronic voting initiator node can effectively supervise the voting node through a supervision node, and the safety of the electronic voting is improved.
Drawings
Fig. 1 is a schematic diagram of a communication system according to an embodiment of the present invention;
fig. 2 is a flowchart of an electronic voting method based on a block chain according to an embodiment of the present invention;
fig. 3 is a flowchart of an electronic voting method based on a block chain according to another embodiment of the present invention;
fig. 4 is a schematic structural diagram of an electronic voting initiator node device according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of a target node according to an embodiment of the present invention.
With the foregoing drawings in mind, certain embodiments of the disclosure have been shown and described in more detail below. These drawings and written description are not intended to limit the scope of the disclosed concepts in any way, but rather to illustrate the concepts of the disclosure to those skilled in the art by reference to specific embodiments.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the exemplary embodiments below are not intended to represent all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
The electronic voting method based on the block chain provided by the embodiment of the invention can be applied to the communication system shown in fig. 1. As shown in fig. 1, the communication system includes: the system comprises a billing node, an electronic voting initiator node, a supervision node and a voting node, wherein the billing node, the electronic voting initiator node, the supervision node, the target node and the voting node are participating nodes in a block chain network. It is understood that the description is only illustrative and does not limit the number and types of nodes in the blockchain network. The accounting node can be one or a plurality of cloud servers, the cloud servers are a server cluster, a plurality of servers are arranged, the server cluster is similar to a universal computer framework, and the cloud servers comprise processors, hard disks, memories, system buses and the like. The electronic voting initiator node or the voting node may specifically be a user terminal, e.g. a smartphone, a tablet, a personal computer, etc. In addition, in the embodiment of the present application, the blockchain network is a decentralized peer-to-peer (P2P) communication network.
The embodiment of the invention provides an electronic voting method based on a block chain, and aims to solve the technical problems in the prior art.
The following describes the technical solutions of the present invention and how to solve the above technical problems with specific embodiments. The following several specific embodiments may be combined with each other, and details of the same or similar concepts or processes may not be repeated in some embodiments. Embodiments of the present invention will be described below with reference to the accompanying drawings.
Fig. 2 is a flowchart of an electronic voting method based on a block chain according to an embodiment of the present invention. The embodiment of the invention provides an electronic voting method based on a block chain aiming at the technical problems in the prior art, which comprises the following specific steps:
step 201, the electronic voting initiator node receives an encrypted identity information list from the supervising node, where the encrypted identity information list includes a plurality of encrypted identity information, and the encrypted identity information is obtained by encrypting the identity information of the voting node, the random number of the current vote, or the identification information of the current vote with a block chain public key of the voting node that meets the voting qualification.
In an embodiment of the present application, the blockchain network includes the electronic voting initiator node, the supervising node, and the voting node.
The electronic voting initiator node may be any participant node in the blockchain network, that is, any participant node in the blockchain network may serve as an initiator node of the electronic voting, and the initiator node may set qualification conditions that the voting node needs to satisfy and specific information to be voted.
The monitoring node may specifically be a database storing complete user identity information, and the monitoring node may generate the identity authentication information of the voting node according to the qualification condition of the voting node. The supervising node may specifically be a notarized third party node, for example, a database of a public security department.
The voting node may be any one or more participating nodes in a blockchain network.
Optionally, before the electronic voting initiator node receives the encrypted identity information list from the supervising node, the method further includes: and the electronic voting initiator node sends a voting qualification condition or an identity information list to the supervision node, wherein the supervision node is used for determining the voting nodes meeting the voting qualification according to the voting qualification condition, or the supervision node is used for determining the identity information of the voting nodes meeting the voting qualification in the identity information list.
Specifically, the electronic voting initiator node may send a voting qualification condition to the supervising node in a manner of a block chain, and the supervising node queries and obtains identity information of a plurality of voting nodes meeting the voting qualification according to the voting qualification condition, for example, the identity information may specifically be a block chain identifier of the voting node, and the block chain identifier is hereinafter referred to as an identifier for short. The identity information of the voting nodes meeting the voting qualification can form an identity information list, for example, the voting nodes meeting the voting qualification comprise a voting node 1, a voting node 2 and a voting node 3, wherein the identity of the voting node 1 is denoted as ID1, the identity of the voting node 2 is denoted as ID2, the identity of the voting node 3 is denoted as ID3, and the identity information list is denoted as { ID1, ID2 and ID3 }. Further, the supervising node queries and obtains the blockchain public key of the voting node 1 in the blockchain account book according to the ID1, queries and obtains the blockchain public key of the voting node 2 in the blockchain account book according to the ID2, and queries and obtains the blockchain public key of the voting node 3 in the blockchain account book according to the ID 3. In addition, the node of the electronic voting initiator can also send the random number of the voting or the identification information of the voting to the supervision node in a block chain mode. The electronic voting initiator node may send the voting qualification condition, the random number of the current vote, or the identification information of the current vote to the supervising node at the same time in a block chain mode, or may not send the voting qualification condition, the random number of the current vote, or the identification information of the current vote at the same time.
Further, the supervising node encrypts the ID1, the random number of the current vote or the identification information of the current vote by using the block chain public key of the voting node 1 according to a predetermined encryption algorithm to obtain encrypted identity information, and the encrypted identity information is recorded as ID1 c. And the supervision node encrypts the ID2, the random number of the current vote or the identification information of the current vote by using the block chain public key of the voting node 2 according to a pre-agreed encryption algorithm to obtain encrypted identity information, and the encrypted identity information is recorded as ID2 c. And the supervision node encrypts the ID3, the random number of the current vote or the identification information of the current vote by using the block chain public key of the voting node 3 according to a pre-agreed encryption algorithm to obtain encrypted identity information, and the encrypted identity information is recorded as ID3 c. Thereby obtaining an encrypted identity information list { ID1c, ID2c, ID3c }. Further, the supervision node sends the encrypted identity information list { ID1c, ID2c, ID3c } to the electronic voting initiator node in a blockchain-down mode, and the electronic voting initiator node stores the encrypted identity information list { ID1c, ID2c, ID3c } locally.
Or, the electronic voting initiator node sends an identity information list to the supervising node in a block chain-down manner, where the identity information list includes identities of a plurality of voting nodes, and for example, the identities of the plurality of voting nodes are ID1, ID2, ID3, ID4, and ID5 in sequence. And the supervision node determines whether the voting node meets the voting qualification or not according to the identifier of each voting node. For example, the voting nodes 1, 2, and 3 are eligible for the current voting, and the voting nodes corresponding to ID4 and ID5 are not eligible for the current voting. Further, the supervising node queries and obtains the blockchain public key of the voting node 1 in the blockchain account book according to the ID1, queries and obtains the blockchain public key of the voting node 2 in the blockchain account book according to the ID2, and queries and obtains the blockchain public key of the voting node 3 in the blockchain account book according to the ID 3. Further, the supervising node encrypts the ID1, the random number of the current vote or the identification information of the current vote by using the block chain public key of the voting node 1 according to a predetermined encryption algorithm to obtain encrypted identity information, and the encrypted identity information is recorded as ID1 c. And the supervision node encrypts the ID2, the random number of the current vote or the identification information of the current vote by using the block chain public key of the voting node 2 according to a pre-agreed encryption algorithm to obtain encrypted identity information, and the encrypted identity information is recorded as ID2 c. And the supervision node encrypts the ID3, the random number of the current vote or the identification information of the current vote by using the block chain public key of the voting node 3 according to a pre-agreed encryption algorithm to obtain encrypted identity information, and the encrypted identity information is recorded as ID3 c. Thereby obtaining an encrypted identity information list { ID1c, ID2c, ID3c }. Further, the supervision node sends the encrypted identity information list { ID1c, ID2c, ID3c } to the electronic voting initiator node in a blockchain-down mode, and the electronic voting initiator node stores the encrypted identity information list { ID1c, ID2c, ID3c } locally.
Optionally, the receiving, by the electronic voting initiator node, the encrypted identity information list from the supervising node includes: and the electronic voting initiator node receives the encrypted identity information list from the supervision node in a block chain-down mode.
Step 202, the electronic voting initiator node broadcasts electronic voting announcement information in a block chain network, where the electronic voting announcement information includes: the voting qualification condition, the identification information of the supervision node, the information to be voted, the voting deadline, the random number of the current vote or the identification information of the current vote.
Specifically, the electronic voting initiator node broadcasts electronic voting announcement information in a block chain network in a broadcast message manner, where the electronic voting announcement information may include a voting qualification condition, identification information of a supervision node, information to be voted, a voting deadline, a random number of the current vote, or identification information of the current vote. The identification information of the monitoring node may specifically be a blockchain identification of the monitoring node in the blockchain network and identity information of the monitoring node in the real society. The information to be voted may specifically include an option of the content to be voted.
In some embodiments, after the electronic voting initiator node generates the electronic voting announcement information, the electronic voting announcement information may use its own private key to sign the electronic voting announcement information, and further, the signed electronic voting announcement information is broadcast to the blockchain network.
Step 203, the electronic voting initiator node receives voting content sent by a target node in the blockchain network, where the voting content includes a private key signature of the target node and encryption information obtained by encrypting, by the target node, identity information of the target node, a random number of the current vote, or identification information of the current vote with a blockchain public key of the target node.
When a target node in the block chain network receives the signed electronic voting notice information, firstly, the private key signature of the electronic voting initiator node is verified, and if the private key signature passes the verification, whether the target node meets the voting qualification condition is determined according to the voting qualification condition included in the electronic voting notice information. If yes, the target node acquires the random number of the current vote or the identification information of the current vote from the electronic voting notice information. Further, the target node encrypts the identity information of the target node, the random number of the current vote or the identification information of the current vote by using the block chain public key of the target node and according to a pre-agreed encryption algorithm. For example, the identity information of the target node is IDn, and the target node encrypts the random number of the current vote of IDn or the identification information of the current vote by using the block chain public key of the target node to obtain encrypted information IDnc. Since IDnc is encrypted identity information and is not identity information of the target node, the target node can vote anonymously.
Further, the target node broadcasts its voting content in the blockchain network, the voting content including the private key signature and IDnc of the target node. Accordingly, the electronic voting initiator node in the blockchain network can receive the voting content of the target node.
And 204, after the electronic voting initiator node passes the signature verification of the private key of the target node, detecting whether the encrypted identity information list comprises the encrypted information.
When an electronic voting initiator node in the blockchain network receives the voting content of the target node, firstly, the private key signature of the target node is verified, after the verification is passed, IDnc is extracted from the voting content, and further, whether the IDnc is in an encrypted identity information list { ID1c, ID2c and ID3c } locally stored in the electronic voting initiator node is determined.
Step 205, if the encrypted identity information list includes the encrypted information, determining that the identity information of the target node is verified.
If IDnc is in { ID1c, ID2c, ID3c }, the electronic voting initiator node determines that the target node qualifies for voting, thereby determining that the identity information of the target node is verified. If IDnc is not in { ID1c, ID2c, ID3c }, the electronic voting initiator node determines that the target node is ineligible for voting. In addition, after the voting deadline time of the electronic voting initiator node is over, the voting contents of a plurality of voting nodes can be counted, and the same voting node can only vote once in one electronic voting event, and if the voting is carried out for a plurality of times, the voting contents can be kept once.
The electronic voting notice information is broadcasted in a block chain network by an electronic voting initiator node, after a target node in the block chain network receives the electronic voting notice information, the public key of the target node is adopted to encrypt the identity information of the target node, the random number of the current voting or the identification information of the current voting to obtain encrypted information, the encrypted information is carried in the voting content broadcasted by the target node, after the electronic voting initiator node receives the voting content sent by the target node in the block chain network, the encrypted information is extracted from the voting content, whether the encrypted information is in an encrypted identity information list locally stored by the electronic voting initiator node is detected, and the encrypted identity information list comprises the identity information of the voting node, the identity information list comprises the identification information of the voting node, the public key of the block chain of the voting node and the block chain of the supervising node, wherein the public key of the voting node meets the voting qualification, The random number of the voting or the identification information of the voting is encrypted to obtain the encrypted identity information, so that the voting qualification of the target node can be verified, the voting node can perform anonymous voting, the identity verification of the electronic voting initiator node on the voting node is realized, the safety of the voting node is improved, and meanwhile, the electronic voting initiator node can effectively supervise the voting node through the supervision node, and the safety of electronic voting is improved.
Fig. 3 is a flowchart of an electronic voting method based on a block chain according to another embodiment of the present invention. On the basis of the foregoing embodiment, the electronic voting method based on the block chain provided in this embodiment specifically includes the following steps:
step 301, a target node receives electronic voting announcement information broadcasted by an electronic voting initiator node in a blockchain network, where the electronic voting announcement information includes: the voting qualification condition, the identification information of the supervision node, the information to be voted, the voting deadline, the random number of the current vote or the identification information of the current vote.
Optionally, the receiving, by the target node, the electronic voting advertisement information broadcasted by the electronic voting initiator node in the blockchain network includes: the target node receives electronic voting announcement information which is broadcasted by the electronic voting initiator node in the block chain network and is signed by the private key of the electronic voting initiator node.
Specifically, the electronic voting initiator node broadcasts electronic voting announcement information in a block chain network in a broadcast message manner, where the electronic voting announcement information may include a voting qualification condition, identification information of a supervision node, information to be voted, a voting deadline, a random number of the current vote, or identification information of the current vote. The identification information of the monitoring node may specifically be a blockchain identification of the monitoring node in the blockchain network and identity information of the monitoring node in the real society. The information to be voted may specifically include an option of the content to be voted.
In some embodiments, after the electronic voting initiator node generates the electronic voting announcement information, the electronic voting announcement information may use its own private key to sign the electronic voting announcement information, and further, the signed electronic voting announcement information is broadcast to the blockchain network.
Step 302, the target node determines whether it meets the voting qualification.
Optionally, the determining, by the target node, whether it meets the voting qualification includes: and when the target node verifies the private key signature of the electronic voting initiator node, the target node determines whether the target node meets the voting qualification condition.
When a target node in the block chain network receives the signed electronic voting notice information, firstly, the private key signature of the electronic voting initiator node is verified, and if the private key signature passes the verification, whether the target node meets the voting qualification condition is determined according to the voting qualification condition included in the electronic voting notice information.
Step 303, when the target node determines that the target node meets the voting qualification condition, the target node encrypts, by using the public key of the target node, the identity information of the target node, the random number of the current vote, or the identification information of the current vote, to obtain encrypted information.
If the target node meets the voting qualification condition, the target node acquires the random number of the current vote or the identification information of the current vote from the electronic voting notice information. Further, the target node encrypts the identity information of the target node, the random number of the current vote or the identification information of the current vote by using the block chain public key of the target node and according to a pre-agreed encryption algorithm. For example, the identity information of the target node is IDn, and the target node encrypts the random number of the current vote of IDn or the identification information of the current vote by using the block chain public key of the target node to obtain encrypted information IDnc. Since IDnc is encrypted identity information and is not identity information of the target node, the target node can vote anonymously.
Step 304, the target node broadcasts voting content in the blockchain network, wherein the voting content comprises the private key signature of the target node and the encryption information.
Further, the target node broadcasts its voting content in the blockchain network, the voting content including the private key signature and IDnc of the target node. Accordingly, the electronic voting initiator node in the blockchain network can receive the voting content of the target node. When an electronic voting initiator node in the blockchain network receives the voting content of the target node, firstly, the private key signature of the target node is verified, after the verification is passed, IDnc is extracted from the voting content, and further, whether the IDnc is in an encrypted identity information list { ID1c, ID2c and ID3c } locally stored in the electronic voting initiator node is determined. If IDnc is in { ID1c, ID2c, ID3c }, the electronic voting initiator node determines that the target node qualifies for voting, thereby determining that the identity information of the target node is verified. If IDnc is not in { ID1c, ID2c, ID3c }, the electronic voting initiator node determines that the target node is ineligible for voting. In addition, after the voting deadline time of the electronic voting initiator node is over, the voting contents of a plurality of voting nodes can be counted, and the same voting node can only vote once in one electronic voting event, and if the voting is carried out for a plurality of times, the voting contents can be kept once.
The electronic voting notice information is broadcasted in a block chain network by an electronic voting initiator node, after a target node in the block chain network receives the electronic voting notice information, the public key of the target node is adopted to encrypt the identity information of the target node, the random number of the current voting or the identification information of the current voting to obtain encrypted information, the encrypted information is carried in the voting content broadcasted by the target node, after the electronic voting initiator node receives the voting content sent by the target node in the block chain network, the encrypted information is extracted from the voting content, whether the encrypted information is in an encrypted identity information list locally stored by the electronic voting initiator node is detected, and the encrypted identity information list comprises the identity information of the voting node, the identity information list comprises the identification information of the voting node, the public key of the block chain of the voting node and the block chain of the supervising node, wherein the public key of the voting node meets the voting qualification, The random number of the voting or the identification information of the voting is encrypted to obtain the encrypted identity information, so that the voting qualification of the target node can be verified, the voting node can perform anonymous voting, the identity verification of the electronic voting initiator node on the voting node is realized, the safety of the voting node is improved, and meanwhile, the electronic voting initiator node can effectively supervise the voting node through the supervision node, and the safety of electronic voting is improved.
Fig. 4 is a schematic structural diagram of an electronic voting initiator node device according to an embodiment of the present invention. The electronic voting initiator node device provided in the embodiment of the present invention may execute the processing flow provided in the embodiment of the block chain-based electronic voting method, and as shown in fig. 4, the electronic voting initiator node device 40 includes: memory 41, processor 42, computer programs and communication interface 43; wherein the computer program is stored in the memory 41 and is configured to be executed by the processor 42 for: receiving an encrypted identity information list from a monitoring node through the communication interface, wherein the encrypted identity information list comprises a plurality of encrypted identity information, and the encrypted identity information is obtained by encrypting the identity information of the voting node, the random number of the current vote or the identification information of the current vote by adopting a block chain public key of the voting node which accords with the voting qualification; broadcasting electronic voting announcement information in a blockchain network through the communication interface, wherein the electronic voting announcement information comprises: voting qualification conditions, identification information of the supervision nodes, information to be voted, voting deadline time, random numbers of the current voting or identification information of the current voting; receiving voting content sent by a target node in the block chain network through the communication interface, wherein the voting content comprises a private key signature of the target node and encryption information obtained by encrypting identity information of the target node, a random number of the current vote or identification information of the current vote by the target node by adopting a block chain public key of the target node; after the private key signature of the target node passes verification, detecting whether the encrypted identity information list comprises the encrypted information; and if the encrypted identity information list comprises the encrypted information, determining that the identity information of the target node passes the verification.
Optionally, before the processor receives the encrypted identity information list from the supervisory node through the communication interface, the processor is further configured to: and sending a voting qualification condition or an identity information list to the supervision node through the communication interface, wherein the supervision node is used for determining voting nodes meeting voting qualifications according to the voting qualification condition, or the supervision node is used for determining the identity information of the voting nodes meeting the voting qualifications in the identity information list.
Optionally, when the processor receives the encrypted identity information list from the supervisory node through the communication interface, the processor is specifically configured to: and receiving the encrypted identity information list from the supervision node through the communication interface in a mode of block chaining.
The node device of the electronic voting initiator according to the embodiment shown in fig. 4 can be used to implement the technical solution of the above method embodiment, and the implementation principle and technical effect are similar, which are not described herein again.
Fig. 5 is a schematic structural diagram of a target node according to an embodiment of the present invention. The target node provided in the embodiment of the present invention may execute the processing flow provided in the embodiment of the block chain-based electronic voting method, and as shown in fig. 5, the target node 50 includes: memory 51, processor 52, computer programs and communication interface 53; wherein the computer program is stored in the memory 51 and is configured to be executed by the processor 52 for: receiving electronic voting announcement information broadcasted by an electronic voting initiator node in a blockchain network through the communication interface, wherein the electronic voting announcement information comprises: voting qualification conditions, identification information of the supervision nodes, information to be voted, voting deadline time, random numbers of the current voting or identification information of the current voting; determining whether the target node meets the voting qualification condition; when the target node is determined to meet the voting qualification condition, encrypting the identity information of the target node, the random number of the current vote or the identification information of the current vote by using the public key of the target node to obtain encrypted information; broadcasting voting content in the blockchain network through the communication interface, wherein the voting content comprises a private key signature of the target node and the encryption information.
Optionally, when the processor receives the electronic voting announcement information broadcasted by the electronic voting initiator node in the blockchain network through the communication interface, the processor is specifically configured to: receiving electronic voting announcement information which is broadcasted by an electronic voting initiator node in a block chain network and is signed by a private key of the electronic voting initiator node through the communication interface; when the processor determines whether the target node meets the voting qualification condition, the processor is specifically configured to: and when the processor passes the verification of the private key signature of the electronic voting initiator node, determining whether the target node meets the voting qualification condition.
The target node of the embodiment shown in fig. 5 may be used to implement the technical solution of the above method embodiment, and the implementation principle and technical effect are similar, which are not described herein again.
In addition, the embodiment of the present invention also provides a computer-readable storage medium, on which a computer program is stored, where the computer program is executed by a processor to implement the electronic voting method based on the block chain described in the above embodiment.
In the embodiments provided in the present invention, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, or in a form of hardware plus a software functional unit.
The integrated unit implemented in the form of a software functional unit may be stored in a computer readable storage medium. The software functional unit is stored in a storage medium and includes several instructions to enable a computer device (which may be a personal computer, a server, or a network device) or a processor (processor) to execute some steps of the methods according to the embodiments of the present invention. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
It is obvious to those skilled in the art that, for convenience and simplicity of description, the foregoing division of the functional modules is merely used as an example, and in practical applications, the above function distribution may be performed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to perform all or part of the above described functions. For the specific working process of the device described above, reference may be made to the corresponding process in the foregoing method embodiment, which is not described herein again.
Finally, it should be noted that: the above embodiments are only used to illustrate the technical solution of the present invention, and not to limit the same; while the invention has been described in detail and with reference to the foregoing embodiments, it will be understood by those skilled in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present invention.

Claims (11)

1. An electronic voting method based on a block chain is characterized by comprising the following steps:
the electronic voting initiator node receives an encrypted identity information list from a supervision node, wherein the encrypted identity information list comprises a plurality of pieces of encrypted identity information, and the encrypted identity information is obtained by encrypting the identity information of the voting node, the random number of the current vote or the identification information of the current vote by adopting a block chain public key of the voting node which accords with the voting qualification;
the electronic voting initiator node broadcasts electronic voting announcement information in a block chain network, wherein the electronic voting announcement information comprises: voting qualification conditions, identification information of the supervision nodes, information to be voted, voting deadline time, random numbers of the current voting or identification information of the current voting;
the electronic voting initiator node receives voting content sent by a target node in the block chain network, wherein the voting content comprises a private key signature of the target node and encryption information obtained by encrypting the identity information of the target node, the random number of the current vote or the identification information of the current vote by the target node by adopting a block chain public key of the target node;
after the electronic voting initiator node verifies the private key signature of the target node, detecting whether the encrypted identity information list comprises the encrypted information;
and if the encrypted identity information list comprises the encrypted information, determining that the identity information of the target node passes the verification.
2. The method of claim 1, wherein before the electronic voting initiator node receives the encrypted list of identity information from the supervising node, the method further comprises:
and the electronic voting initiator node sends a voting qualification condition or an identity information list to the supervision node, wherein the supervision node is used for determining the voting nodes meeting the voting qualification according to the voting qualification condition, or the supervision node is used for determining the identity information of the voting nodes meeting the voting qualification in the identity information list.
3. The method according to claim 1 or 2, wherein the electronic voting initiator node receives the encrypted identity information list from the supervising node, and comprises:
and the electronic voting initiator node receives the encrypted identity information list from the supervision node in a block chain-down mode.
4. An electronic voting method based on a block chain is characterized by comprising the following steps:
the target node receives electronic voting announcement information broadcasted by an electronic voting initiator node in a blockchain network, wherein the electronic voting announcement information comprises: voting qualification conditions, identification information of the supervision nodes, information to be voted, voting deadline time, random numbers of the current voting or identification information of the current voting;
the target node determines whether the target node meets the voting qualification condition;
when the target node determines that the target node meets the voting qualification condition, the target node encrypts identity information of the target node, the random number of the current vote or the identification information of the current vote by using a public key of the target node to obtain encrypted information;
the target node broadcasts voting content in the blockchain network, wherein the voting content comprises a private key signature of the target node and the encryption information.
5. The method of claim 4, wherein the target node receives electronic voting advertisement information broadcast by an electronic voting initiator node in a blockchain network, and comprises:
the target node receives electronic voting announcement information which is broadcasted by the electronic voting initiator node in a block chain network and is signed by a private key of the electronic voting initiator node;
the target node determining whether it meets the voting qualification, comprising:
and when the target node verifies the private key signature of the electronic voting initiator node, the target node determines whether the target node meets the voting qualification condition.
6. An electronic voting initiator node device, comprising:
a memory;
a processor;
a communication interface; and
a computer program;
wherein the computer program is stored in the memory and configured to be executed by the processor to:
receiving an encrypted identity information list from a monitoring node through the communication interface, wherein the encrypted identity information list comprises a plurality of encrypted identity information, and the encrypted identity information is obtained by encrypting the identity information of the voting node, the random number of the current vote or the identification information of the current vote by adopting a block chain public key of the voting node which accords with the voting qualification;
broadcasting electronic voting announcement information in a blockchain network through the communication interface, wherein the electronic voting announcement information comprises: voting qualification conditions, identification information of the supervision nodes, information to be voted, voting deadline time, random numbers of the current voting or identification information of the current voting;
receiving voting content sent by a target node in the block chain network through the communication interface, wherein the voting content comprises a private key signature of the target node and encryption information obtained by encrypting identity information of the target node, a random number of the current vote or identification information of the current vote by the target node by adopting a block chain public key of the target node;
after the private key signature of the target node passes verification, detecting whether the encrypted identity information list comprises the encrypted information;
and if the encrypted identity information list comprises the encrypted information, determining that the identity information of the target node passes the verification.
7. An electronic voting initiator node device according to claim 6, wherein before the processor receives the encrypted list of identity information from the supervising node via the communication interface, the processor is further configured to:
and sending a voting qualification condition or an identity information list to the supervision node through the communication interface, wherein the supervision node is used for determining voting nodes meeting voting qualifications according to the voting qualification condition, or the supervision node is used for determining the identity information of the voting nodes meeting the voting qualifications in the identity information list.
8. The electronic voting initiator node device of claim 6 or 7, wherein the processor, when receiving the encrypted identity information list from the supervising node via the communication interface, is specifically configured to:
and receiving the encrypted identity information list from the supervision node through the communication interface in a mode of block chaining.
9. A target node, comprising:
a memory;
a processor;
a communication interface; and
a computer program;
wherein the computer program is stored in the memory and configured to be executed by the processor to:
receiving electronic voting announcement information broadcasted by an electronic voting initiator node in a blockchain network through the communication interface, wherein the electronic voting announcement information comprises: voting qualification conditions, identification information of the supervision nodes, information to be voted, voting deadline time, random numbers of the current voting or identification information of the current voting;
determining whether the target node meets the voting qualification condition;
when the target node is determined to meet the voting qualification condition, encrypting the identity information of the target node, the random number of the current vote or the identification information of the current vote by using the public key of the target node to obtain encrypted information;
broadcasting voting content in the blockchain network through the communication interface, wherein the voting content comprises a private key signature of the target node and the encryption information.
10. The target node of claim 9, wherein the processor, when receiving the electronic voting announcement information broadcast by the electronic voting initiator node in the blockchain network via the communication interface, is specifically configured to:
receiving electronic voting announcement information which is broadcasted by an electronic voting initiator node in a block chain network and is signed by a private key of the electronic voting initiator node through the communication interface;
when the processor determines whether the target node meets the voting qualification condition, the processor is specifically configured to:
and when the processor passes the verification of the private key signature of the electronic voting initiator node, determining whether the target node meets the voting qualification condition.
11. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the method according to any one of claims 1-5.
CN201911237872.9A 2019-12-05 2019-12-05 Electronic voting method, device and storage medium based on block chain Pending CN110995711A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911237872.9A CN110995711A (en) 2019-12-05 2019-12-05 Electronic voting method, device and storage medium based on block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911237872.9A CN110995711A (en) 2019-12-05 2019-12-05 Electronic voting method, device and storage medium based on block chain

Publications (1)

Publication Number Publication Date
CN110995711A true CN110995711A (en) 2020-04-10

Family

ID=70090828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911237872.9A Pending CN110995711A (en) 2019-12-05 2019-12-05 Electronic voting method, device and storage medium based on block chain

Country Status (1)

Country Link
CN (1) CN110995711A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117040928A (en) * 2023-10-08 2023-11-10 广州市悦智计算机有限公司 Method for realizing voting right privacy distribution based on blockchain intelligent contract

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104392534A (en) * 2014-11-21 2015-03-04 西南交通大学 Electronic voting system based on finger vein feature recognition
WO2018136991A1 (en) * 2017-01-30 2018-08-02 EXO One Pty Ltd Voting system and method
CN108616362A (en) * 2018-04-16 2018-10-02 广州杰赛科技股份有限公司 Vote information generation method and device
CN109286497A (en) * 2018-09-06 2019-01-29 贵阳信息技术研究院(中科院软件所贵阳分部) A method of secret ballot and many condition count of votes based on block chain
US20190057567A1 (en) * 2017-08-18 2019-02-21 Oracle International Corporation Associating Voting Sessions With Tabulation Machines in Electronic Voting
CN110060403A (en) * 2019-03-21 2019-07-26 杭州电子科技大学 The more ticket electronic voting methods of a people and system based on block chain
CN110110555A (en) * 2019-04-24 2019-08-09 深圳前海微众银行股份有限公司 Voting method and device in a kind of block chain
CN110245183A (en) * 2019-05-05 2019-09-17 上海链度科技有限公司 A kind of encrypted electronic voting system and method based on alliance's block chain technology
CN110400410A (en) * 2019-07-31 2019-11-01 中钞信用卡产业发展有限公司杭州区块链技术研究院 A kind of electronic voting system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104392534A (en) * 2014-11-21 2015-03-04 西南交通大学 Electronic voting system based on finger vein feature recognition
WO2018136991A1 (en) * 2017-01-30 2018-08-02 EXO One Pty Ltd Voting system and method
US20190057567A1 (en) * 2017-08-18 2019-02-21 Oracle International Corporation Associating Voting Sessions With Tabulation Machines in Electronic Voting
CN108616362A (en) * 2018-04-16 2018-10-02 广州杰赛科技股份有限公司 Vote information generation method and device
CN109286497A (en) * 2018-09-06 2019-01-29 贵阳信息技术研究院(中科院软件所贵阳分部) A method of secret ballot and many condition count of votes based on block chain
CN110060403A (en) * 2019-03-21 2019-07-26 杭州电子科技大学 The more ticket electronic voting methods of a people and system based on block chain
CN110110555A (en) * 2019-04-24 2019-08-09 深圳前海微众银行股份有限公司 Voting method and device in a kind of block chain
CN110245183A (en) * 2019-05-05 2019-09-17 上海链度科技有限公司 A kind of encrypted electronic voting system and method based on alliance's block chain technology
CN110400410A (en) * 2019-07-31 2019-11-01 中钞信用卡产业发展有限公司杭州区块链技术研究院 A kind of electronic voting system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117040928A (en) * 2023-10-08 2023-11-10 广州市悦智计算机有限公司 Method for realizing voting right privacy distribution based on blockchain intelligent contract
CN117040928B (en) * 2023-10-08 2024-02-09 广州市悦智计算机有限公司 Method for realizing voting right privacy distribution based on blockchain intelligent contract

Similar Documents

Publication Publication Date Title
CN108734028B (en) Data management method based on block chain, block chain link point and storage medium
CN110958253A (en) Electronic voting method, device and storage medium based on block chain
US10091230B1 (en) Aggregating identity data from multiple sources for user controlled distribution to trusted risk engines
CN111314067B (en) Block storage method and device, computer equipment and storage medium
CN102984156B (en) A kind of distributed private data Comparison and ranking method of verifying and device
CN110958107A (en) Electronic voting method, device and storage medium based on block chain
CN111949953A (en) Identity authentication method, system and device based on block chain and computer equipment
CN108769010B (en) Method and device for node invited registration
CN110351276B (en) Data processing method, device and computer readable storage medium
CN110830452A (en) Block chain-based electronic bidding method, device and storage medium
CN105007301A (en) Electronic evidence processing system and method based on social platform
CN110827121A (en) Block chain-based electronic bidding method, device and storage medium
CN111104691A (en) Sensitive information processing method and device, storage medium and equipment
CN110933098B (en) Electronic voting method, device and storage medium based on block chain
CN110351364B (en) Data storage method, device and computer readable storage medium
CN110866261A (en) Data processing method and device based on block chain and storage medium
CN111047763A (en) Electronic voting method, device and storage medium based on block chain
CN110995711A (en) Electronic voting method, device and storage medium based on block chain
CN110958120B (en) Electronic voting method, device and storage medium based on block chain
CN111314095B (en) Electronic voting method, device and storage medium based on block chain
CN110796447A (en) Electronic bid supervision method and device based on block chain and storage medium
CN115001720B (en) Optimization method, device, medium and equipment for safe transmission of federal learning modeling
CN108924089B (en) Client device identification method and device and client device
CN113094675B (en) User authentication method and device based on distributed model training
CN111641695B (en) Block chain-based application program authorized use method, device and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100191 1107c, 11 / F, Xueyuan international building, 1 Zhichun Road, Haidian District, Beijing

Applicant after: IALLCHAIN Co.,Ltd.

Address before: 100043 5158, 5 floor, 11 Shixing street, Shijingshan District, Beijing.

Applicant before: IALLCHAIN Co.,Ltd.

AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20220920