CN110933098A - 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
CN110933098A
CN110933098A CN201911237443.1A CN201911237443A CN110933098A CN 110933098 A CN110933098 A CN 110933098A CN 201911237443 A CN201911237443 A CN 201911237443A CN 110933098 A CN110933098 A CN 110933098A
Authority
CN
China
Prior art keywords
voting
node
electronic
supervision
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.)
Granted
Application number
CN201911237443.1A
Other languages
Chinese (zh)
Other versions
CN110933098B (en
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 CN201911237443.1A priority Critical patent/CN110933098B/en
Publication of CN110933098A publication Critical patent/CN110933098A/en
Application granted granted Critical
Publication of CN110933098B publication Critical patent/CN110933098B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1854Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
    • 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
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

The embodiment of the invention provides an electronic voting method, electronic voting equipment and a storage medium based on a block chain. The method broadcasts voting qualification conditions, identification information of a supervision node and information to be voted in a block chain network through an electronic voting initiator node, the supervision node audits the voting qualification of the voting node, if the voting qualification of the voting node is approved, the supervision node sends voting permission information to the voting node, the voting node adopts the permission information signed by the supervision node private key to vote, after the electronic voting initiator node receives the voting content which is sent by the voting node and carries the permission information, verifying the private key signature of the supervision node in the permission information, if the verification is passed, determining that the identity verification of the voting node is passed, therefore, the voting node can perform anonymous voting, the identity verification of the electronic voting initiator node on the voting node is realized, and the security of the voting node and the security of electronic voting are improved.

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, the identity verification of a node of an electronic voting initiator on the voting node is realized, and the security of the voting node and the security of electronic voting are improved.
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 broadcasts electronic voting announcement information in a block chain network, wherein the electronic voting announcement information comprises: voting qualification conditions, identification information of supervision nodes and information to be voted;
the electronic voting initiator node receives voting content sent by the voting nodes in the blockchain network, wherein the voting content comprises permission information of the supervising node for carrying out electronic voting on the voting nodes and private key signatures of the voting nodes, and the permission information comprises identification information of the electronic voting, blockchain identifications of the voting nodes and private key signatures of the supervising node;
the electronic voting initiator node verifies the private key signature of the voting node according to the public key of the voting node;
after the electronic voting initiator node passes the verification of the signature of the private key of the voting node, verifying the signature of the private key of the supervision node according to the public key of the supervision node and verifying the identification information of the electronic voting in the permission information;
when the electronic voting initiator node passes the signature verification of the private key of the supervision node and the identification information of the electronic voting is correct, determining that the identity verification of the voting node passes;
wherein the blockchain network comprises the electronic voting initiator node, the supervising node and the voting node.
In a second aspect, an embodiment of the present invention provides an electronic voting method based on a block chain, including:
the voting node receives electronic voting announcement information broadcasted by an electronic voting initiator node in a block chain network, wherein the electronic voting announcement information comprises: voting qualification conditions, identification information of supervision nodes and information to be voted;
when the voting node meets the qualification condition, sending a voting qualification verification request to the supervision node according to the identification information of the supervision node;
when the voting node is determined to meet the qualification condition by the supervision node according to the voting qualification verification request, the voting node receives permission information sent by the supervision node, wherein the permission information comprises identification information of the electronic voting, block chain identification of the voting node and a private key signature of the supervision node;
the voting nodes broadcast voting content in the blockchain network, the voting content including the license information and a private key signature of the voting nodes.
In a third aspect, an embodiment of the present invention provides an electronic voting initiator 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:
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 supervision nodes and information to be voted;
receiving voting content sent by the voting nodes in the block chain network through the communication interface, wherein the voting content comprises permission information of electronic voting of the supervising nodes on the voting nodes and private key signatures of the voting nodes, and the permission information comprises identification information of the electronic voting, block chain identifications of the voting nodes and private key signatures of the supervising nodes;
verifying the private key signature of the voting node according to the public key of the voting node;
after the electronic voting initiator node passes the verification of the signature of the private key of the voting node, verifying the signature of the private key of the supervision node according to the public key of the supervision node and verifying the identification information of the electronic voting in the permission information;
when the electronic voting initiator node passes the signature verification of the private key of the supervision node and the identification information of the electronic voting is correct, determining that the identity verification of the voting node passes;
wherein the blockchain network comprises the electronic voting initiator node, the supervising node and the voting node.
In a fourth aspect, an embodiment of the present invention provides a voting 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 block chain network through the communication interface, wherein the electronic voting announcement information comprises: voting qualification conditions, identification information of supervision nodes and information to be voted;
when the voting node meets the qualification condition, sending a voting qualification verification request to the supervision node according to the identification information of the supervision node;
when the supervising node determines that the voting node meets the qualification condition according to the voting qualification verification request, receiving permission information sent by the supervising node through the communication interface, wherein the permission information comprises identification information of the electronic voting, block chain identification of the voting node and a private key signature of the supervising node;
broadcasting voting content in the blockchain network through the communication interface, wherein the voting content comprises the license information and a private key signature of the voting node.
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.
The electronic voting method, the device and the storage medium based on the block chain provided by the embodiment of the invention broadcast the voting qualification condition, the identification information of the supervision node and the information to be voted in the block chain network through the electronic voting initiator node, the supervision node audits the voting qualification of the voting node, if the supervision node passes the voting qualification audit of the voting node, the supervision node sends voting permission information to the voting node, the voting node votes by adopting the permission information signed by the private key of the supervision node, when the electronic voting initiator node receives the voting content which is sent by the voting node and carries the permission information, the private key signature of the supervision node in the permission information is verified, and the verification passes, the identity verification of the voting node is determined, so that the voting node can vote anonymously, and the identity verification of the voting node by the electronic voting initiator node is realized, the safety of the voting nodes is improved, and meanwhile, the electronic voting initiator node can effectively supervise the voting nodes through the supervision nodes, so that the safety of electronic voting is improved.
Drawings
Fig. 1 is a schematic diagram of an application scenario provided in 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 according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of a voting 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 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 broadcasts electronic voting announcement information in the block chain network, where the electronic voting announcement information includes: voting qualification conditions, identification information of the supervision node and information to be voted.
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.
Specifically, the electronic voting initiator node broadcasts electronic voting announcement information in a broadcast message manner in the blockchain network, and the electronic voting announcement information may include voting qualification conditions, identification information of the supervision node, and information to be voted. 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 information such as options and voting deadline 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 202, the electronic voting initiator node receives voting content sent by the voting node in the block chain network, where the voting content includes permission information of the supervising node for performing electronic voting on the voting node and a private key signature of the voting node, and the permission information includes identification information of the electronic voting, a block chain identification of the voting node, and a private key signature of the supervising node.
When the voting 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 verification is passed, whether the voting node meets the voting qualification condition is determined according to the voting qualification condition included in the electronic voting notice information. If so, the voting node can send a voting qualification verification request to the supervising node according to the identification information of the supervising node. The supervising node can verify the voting qualification of the voting node according to the voting qualification verification request of the voting node. When the voting qualification of the supervising node for voting passes, the supervising node can send voting permission information to the voting node.
Specifically, the voting node may send a voting qualification verification request to the supervising node in a block chain-down manner according to the identification information of the supervising node. The supervising node can also send voting permission information to the voting node in a block chain-down mode.
In addition, the supervision node can also adopt a private key of the supervision node to sign the license information and send the signed license information to the voting node.
Optionally, the voting qualification verification request includes identification information of the electronic vote, a private key signature of the voting node, and a public key of the voting node; wherein the identification information of the electronic vote is used for the supervising node to acquire the qualification condition; the public key of the voting node is used for the supervision node to acquire the identity information of the voting node; and the private key signature of the voting node is used for verifying the authenticity of the identity information of the voting node by the supervision node.
For example, the voting qualification verification request sent by the voting node to the supervising node includes the identification information of the electronic vote, the private key signature of the voting node and the public key of the voting node. The identification information of the electronic vote may be a number of the electronic vote.
In addition, the voting node can also encrypt the voting qualification verification request according to a predetermined algorithm by using the public key of the supervision node, and further send the encrypted voting qualification verification request to the supervision node. The pre-agreed algorithm refers to an encryption algorithm and a corresponding decryption algorithm which are agreed by the voting node and the voting node in advance. For security, the voting node may not provide the identity information of the voting node in the voting qualification validation request.
And when the supervision node receives the encrypted voting qualification verification request, decrypting the encrypted voting qualification verification request by using a private key of the supervision node according to a predetermined decryption algorithm to obtain the voting qualification verification request. Further, the supervising node queries a block chain account book according to the public key of the voting node included in the voting qualification verification request, and acquires the identity information of the voting node from the block chain account book. In addition, the supervising node can also verify the private key signature of the voting node included in the voting qualification verification request, and further determine the authenticity of the identity information of the voting node. In addition, the supervising node can also obtain the voting qualification condition from the blockchain account book according to the number of the electronic vote included in the voting qualification verification request. The supervising node determines whether the voting node has voting qualification or not according to the identity information of the voting node and the voting qualification condition, namely whether the voting node meets the voting qualification condition or not, and if so, the supervising node sends permission information to the voting node. In addition, the supervision node can sign the license information by adopting a private key of the supervision node, and send the signed license information to the voting node in a block chain mode. Wherein, the permission information may include identification information of the electronic vote and a blockchain identification of the voting node.
After the voting node receives the signed license information in a mode under the blockchain, voting content is broadcast in the blockchain network, and the voting content can comprise the signed license information and an option result of the content to be voted. For security, the voting content may not include identity information of the voting node, i.e., the voting node may perform an anonymous vote.
In addition, the voting node can also adopt a private key of the voting node to sign the voting content to obtain the signed voting content. The signed voting content can be understood as that the voting content includes a private key signature of the voting node. The signed license information may be understood as that the license information includes a private key signature of the supervising node.
Accordingly, the electronic voting initiator node may receive the signed voting content in the blockchain network.
And 203, the electronic voting initiator node verifies the private key signature of the voting node according to the public key of the voting node.
When the electronic voting initiator node receives the signed voting content broadcasted by the voting node in the blockchain network, the electronic voting initiator node firstly verifies the private key signature of the voting node in the voting content.
And 204, after the electronic voting initiator node passes the verification of the private key signature of the voting node, verifying the private key signature of the supervision node according to the public key of the supervision node, and verifying the identification information of the electronic voting in the permission information.
If the electronic voting initiator node passes the verification of the private key signature of the voting node in the voting content, the electronic voting initiator node analyzes the signed license information from the voting content and verifies the private key signature of the supervision node in the license information by adopting the public key of the supervision node.
And step 205, when the electronic voting initiator node passes the signature verification of the private key of the supervision node and the identification information of the electronic voting is correct, determining that the identity verification of the voting node passes.
If the signature of the electronic voting initiator node to the private key of the supervision node in the permission information is verified, the electronic voting initiator node compares the identification information of the electronic voting in the permission information with the identification information of the electronic voting included in the voting qualification verification request, and if the two are consistent, the electronic voting initiator node determines that the identity verification of the voting node is passed, namely the voting node is the node meeting the voting qualification condition.
The embodiment of the invention broadcasts voting qualification conditions, identification information of a supervision node and information to be voted in a block chain network through an electronic voting initiator node, the supervision node audits the voting qualification of the voting node, if the supervision node audits the voting qualification of the voting node, the supervision node sends voting permission information to the voting node, the voting node votes by adopting the permission information signed by a private key of the supervision node, when the electronic voting initiator node receives the voting content which is sent by the voting node and carries the permission information, the private key signature of the supervision node in the permission information is verified, if the verification is passed, the identity verification of the voting node is determined to be passed, thereby ensuring that the voting node can vote anonymously, simultaneously realizing the identity verification of the electronic voting initiator node on the voting node and improving the safety of the voting node, meanwhile, the node of the electronic voting initiator can effectively supervise the voting node through the supervision node, so that the safety of electronic voting is improved.
On the basis of the above embodiment, when the voting node broadcasts the voting content in the blockchain network, the accounting node in the blockchain network may also verify the voting content, if the verification passes, the accounting node writes the voting content into the blockchain, and if the verification fails, the accounting node does not write the voting content into the blockchain. Thus, unfairness caused by selective voting statistics of the electronic voting initiator node can be avoided.
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 voting node receives electronic voting announcement information broadcasted by an electronic voting initiator node in a block chain network, where the electronic voting announcement information includes: voting qualification conditions, identification information of the supervision node and information to be voted.
Specifically, the electronic voting initiator node broadcasts electronic voting announcement information in a broadcast message manner in the blockchain network, and the electronic voting announcement information may include voting qualification conditions, identification information of the supervision node, and information to be voted. Accordingly, the voting node in the blockchain network can receive the electronic voting advertisement message. The number of voting nodes is not limited in this embodiment, and may be one or more. After the electronic voting initiator node generates the electronic voting announcement information, the electronic voting announcement information can adopt a private key of the electronic voting announcement information to sign the electronic voting announcement information, and further, the signed electronic voting announcement information is broadcasted to the block chain network.
Step 302, when the voting node meets the qualification condition, sending a voting qualification verification request to the supervision node according to the identification information of the supervision node.
When the voting 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 verification is passed, whether the voting node meets the voting qualification condition is determined according to the voting qualification condition included in the electronic voting notice information. If so, the voting node can send a voting qualification verification request to the supervising node according to the identification information of the supervising node.
Optionally, before sending the voting qualification verification request to the supervising node according to the identification information of the supervising node, the method further includes: encrypting the voting qualification verification request by adopting the public key of the voting node to obtain the encrypted voting qualification verification request; the sending a voting qualification verification request to the supervising node according to the identification information of the supervising node comprises: and sending the voting qualification verification request after the voting qualification verification request is encrypted to the supervision node according to the identification information of the supervision node.
For example, before the voting node sends the voting qualification validation request to the supervising node according to the identification information of the supervising node, the voting node may also encrypt the voting qualification validation request according to a pre-agreed algorithm by using the public key of the supervising node, and further send the encrypted voting qualification validation request to the supervising node.
Optionally, the sending a voting qualification verification request to the supervising node according to the identification information of the supervising node includes: and sending a voting qualification verification request to the supervision node in a block chain-down mode according to the identification information of the supervision node.
Step 303, when the supervising node determines that the voting node meets the qualification condition according to the voting qualification verification request, the voting node receives permission information sent by the supervising node, where the permission information includes identification information of the electronic vote, a blockchain identification of the voting node, and a private key signature of the supervising node.
For example, the voting qualification verification request sent by the voting node to the supervising node includes the identification information of the electronic vote, the private key signature of the voting node and the public key of the voting node.
And when the supervision node receives the encrypted voting qualification verification request, decrypting the encrypted voting qualification verification request by using a private key of the supervision node according to a predetermined decryption algorithm to obtain the voting qualification verification request. Further, the supervising node queries a block chain account book according to the public key of the voting node included in the voting qualification verification request, and acquires the identity information of the voting node from the block chain account book. In addition, the supervising node can also verify the private key signature of the voting node included in the voting qualification verification request, and further determine the authenticity of the identity information of the voting node. In addition, the supervising node can also obtain the voting qualification condition from the blockchain account book according to the number of the electronic vote included in the voting qualification verification request. The supervising node determines whether the voting node has voting qualification or not according to the identity information of the voting node and the voting qualification condition, namely whether the voting node meets the voting qualification condition or not, and if so, the supervising node sends permission information to the voting node. The permission information comprises identification information of the electronic vote, a block chain identification of the voting node and a private key signature of the supervision node. Accordingly, the voting node receives the permission information sent by the supervising node.
Optionally, the receiving, by the voting node, the permission information sent by the supervising node includes: and the voting node receives the permission information sent by the supervision node in a block chain-down mode.
Step 304, the voting node broadcasts voting content in the blockchain network, wherein the voting content comprises the license information and a private key signature of the voting node.
After the voting node receives the signed license information in a mode under the blockchain, voting content is broadcast in the blockchain network, and the voting content can comprise the signed license information and an option result of the content to be voted. For security, the voting content may not include identity information of the voting node, i.e., the voting node may perform an anonymous vote. In addition, the voting node can also adopt a private key of the voting node to sign the voting content to obtain the signed voting content. Accordingly, the electronic voting initiator node may receive the signed voting content in the blockchain network. When the electronic voting initiator node receives the signed voting content broadcasted by the voting node in the blockchain network, the electronic voting initiator node firstly verifies the private key signature of the voting node in the voting content. If the electronic voting initiator node passes the verification of the private key signature of the voting node in the voting content, the electronic voting initiator node analyzes the signed license information from the voting content and verifies the private key signature of the supervision node in the license information by adopting the public key of the supervision node. If the signature of the electronic voting initiator node to the private key of the supervision node in the permission information is verified, the electronic voting initiator node compares the identification information of the electronic voting in the permission information with the identification information of the electronic voting included in the voting qualification verification request, and if the two are consistent, the electronic voting initiator node determines that the identity verification of the voting node is passed, namely the voting node is the node meeting the voting qualification condition.
The embodiment of the invention broadcasts voting qualification conditions, identification information of a supervision node and information to be voted in a block chain network through an electronic voting initiator node, the supervision node audits the voting qualification of the voting node, if the supervision node audits the voting qualification of the voting node, the supervision node sends voting permission information to the voting node, the voting node votes by adopting the permission information signed by a private key of the supervision node, when the electronic voting initiator node receives the voting content which is sent by the voting node and carries the permission information, the private key signature of the supervision node in the permission information is verified, if the verification is passed, the identity verification of the voting node is determined to be passed, thereby ensuring that the voting node can vote anonymously, simultaneously realizing the identity verification of the electronic voting initiator node on the voting node and improving the safety of the voting node, meanwhile, the node of the electronic voting initiator can effectively supervise the voting node through the supervision node, so that the safety of electronic voting is improved.
Fig. 4 is a schematic structural diagram of an electronic voting initiator node according to an embodiment of the present invention. The electronic voting initiator 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. 4, the electronic voting initiator node 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: 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 supervision nodes and information to be voted; receiving voting content sent by the voting nodes in the block chain network through the communication interface, wherein the voting content comprises permission information of electronic voting of the supervising nodes on the voting nodes and private key signatures of the voting nodes, and the permission information comprises identification information of the electronic voting, block chain identifications of the voting nodes and private key signatures of the supervising nodes; verifying the private key signature of the voting node according to the public key of the voting node; after the electronic voting initiator node passes the verification of the signature of the private key of the voting node, verifying the signature of the private key of the supervision node according to the public key of the supervision node and verifying the identification information of the electronic voting in the permission information; when the electronic voting initiator node passes the signature verification of the private key of the supervision node and the identification information of the electronic voting is correct, determining that the identity verification of the voting node passes; wherein the blockchain network comprises the electronic voting initiator node, the supervising node and the voting node.
The electronic voting initiator node of the embodiment shown in fig. 4 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.
Fig. 5 is a schematic structural diagram of a voting node according to an embodiment of the present invention. The voting 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 voting 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 block chain network through the communication interface, wherein the electronic voting announcement information comprises: voting qualification conditions, identification information of supervision nodes and information to be voted; when the voting node meets the qualification condition, sending a voting qualification verification request to the supervision node according to the identification information of the supervision node; when the supervising node determines that the voting node meets the qualification condition according to the voting qualification verification request, receiving permission information sent by the supervising node through the communication interface, wherein the permission information comprises identification information of the electronic voting, block chain identification of the voting node and a private key signature of the supervising node; broadcasting voting content in the blockchain network through the communication interface, wherein the voting content comprises the license information and a private key signature of the voting node.
Optionally, the voting qualification verification request includes identification information of the electronic vote, a private key signature of the voting node, and a public key of the voting node; wherein the identification information of the electronic vote is used for the supervising node to acquire the qualification condition; the public key of the voting node is used for the supervision node to acquire the identity information of the voting node; and the private key signature of the voting node is used for verifying the authenticity of the identity information of the voting node by the supervision node.
Optionally, before the processor sends the voting qualification verification request to the supervising node according to the identification information of the supervising node, the processor is further configured to: encrypting the voting qualification verification request by adopting the public key of the voting node to obtain the encrypted voting qualification verification request; when the processor sends a voting qualification verification request to the supervising node according to the identification information of the supervising node, the processor is specifically configured to: and sending the voting qualification verification request after the voting qualification verification request is encrypted to the supervision node according to the identification information of the supervision node.
Optionally, when the processor sends the voting qualification verification request to the supervising node according to the identification information of the supervising node, the processor is specifically configured to: sending a voting qualification verification request to the supervision node in a block chain mode according to the identification information of the supervision node; when the processor receives the permission information sent by the supervisory node through the communication interface, the processor is specifically configured to: and receiving the permission information sent by the supervision node in a block chain-down mode.
The voting 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 broadcasts electronic voting announcement information in a block chain network, wherein the electronic voting announcement information comprises: voting qualification conditions, identification information of supervision nodes and information to be voted;
the electronic voting initiator node receives voting content sent by the voting nodes in the blockchain network, wherein the voting content comprises permission information of the supervising node for carrying out electronic voting on the voting nodes and private key signatures of the voting nodes, and the permission information comprises identification information of the electronic voting, blockchain identifications of the voting nodes and private key signatures of the supervising node;
the electronic voting initiator node verifies the private key signature of the voting node according to the public key of the voting node;
after the electronic voting initiator node passes the verification of the signature of the private key of the voting node, verifying the signature of the private key of the supervision node according to the public key of the supervision node and verifying the identification information of the electronic voting in the permission information;
when the electronic voting initiator node passes the signature verification of the private key of the supervision node and the identification information of the electronic voting is correct, determining that the identity verification of the voting node passes;
wherein the blockchain network comprises the electronic voting initiator node, the supervising node and the voting node.
2. An electronic voting method based on a block chain is characterized by comprising the following steps:
the voting node receives electronic voting announcement information broadcasted by an electronic voting initiator node in a block chain network, wherein the electronic voting announcement information comprises: voting qualification conditions, identification information of supervision nodes and information to be voted;
when the voting node meets the qualification condition, sending a voting qualification verification request to the supervision node according to the identification information of the supervision node;
when the voting node is determined to meet the qualification condition by the supervision node according to the voting qualification verification request, the voting node receives permission information sent by the supervision node, wherein the permission information comprises identification information of the electronic voting, block chain identification of the voting node and a private key signature of the supervision node;
the voting nodes broadcast voting content in the blockchain network, the voting content including the license information and a private key signature of the voting nodes.
3. The method of claim 2, wherein the vote qualification verification request includes identification information of the electronic vote, a private key signature of the voting node, and a public key of the voting node;
wherein the identification information of the electronic vote is used for the supervising node to acquire the qualification condition;
the public key of the voting node is used for the supervision node to acquire the identity information of the voting node;
and the private key signature of the voting node is used for verifying the authenticity of the identity information of the voting node by the supervision node.
4. The method of claim 2 or 3, wherein before sending the voting qualification request to the supervising node based on the identity information of the supervising node, the method further comprises:
encrypting the voting qualification verification request by adopting the public key of the voting node to obtain the encrypted voting qualification verification request;
the sending a voting qualification verification request to the supervising node according to the identification information of the supervising node comprises:
and sending the voting qualification verification request after the voting qualification verification request is encrypted to the supervision node according to the identification information of the supervision node.
5. The method of claim 2, wherein sending a voting qualification request to the supervising node based on the identity information of the supervising node comprises:
sending a voting qualification verification request to the supervision node in a block chain mode according to the identification information of the supervision node;
the voting node receives the permission information sent by the supervision node, and the permission information comprises:
and the voting node receives the permission information sent by the supervision node in a block chain-down mode.
6. An electronic voting initiator 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:
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 supervision nodes and information to be voted;
receiving voting content sent by the voting nodes in the block chain network through the communication interface, wherein the voting content comprises permission information of electronic voting of the supervising nodes on the voting nodes and private key signatures of the voting nodes, and the permission information comprises identification information of the electronic voting, block chain identifications of the voting nodes and private key signatures of the supervising nodes;
verifying the private key signature of the voting node according to the public key of the voting node;
after the electronic voting initiator node passes the verification of the signature of the private key of the voting node, verifying the signature of the private key of the supervision node according to the public key of the supervision node and verifying the identification information of the electronic voting in the permission information;
when the electronic voting initiator node passes the signature verification of the private key of the supervision node and the identification information of the electronic voting is correct, determining that the identity verification of the voting node passes;
wherein the blockchain network comprises the electronic voting initiator node, the supervising node and the voting node.
7. A voting 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 block chain network through the communication interface, wherein the electronic voting announcement information comprises: voting qualification conditions, identification information of supervision nodes and information to be voted;
when the voting node meets the qualification condition, sending a voting qualification verification request to the supervision node according to the identification information of the supervision node;
when the supervising node determines that the voting node meets the qualification condition according to the voting qualification verification request, receiving permission information sent by the supervising node through the communication interface, wherein the permission information comprises identification information of the electronic voting, block chain identification of the voting node and a private key signature of the supervising node;
broadcasting voting content in the blockchain network through the communication interface, wherein the voting content comprises the license information and a private key signature of the voting node.
8. A voting node according to claim 7, wherein the vote eligibility verification request comprises identification information of the electronic vote, a private key signature of the voting node and a public key of the voting node;
wherein the identification information of the electronic vote is used for the supervising node to acquire the qualification condition;
the public key of the voting node is used for the supervision node to acquire the identity information of the voting node;
and the private key signature of the voting node is used for verifying the authenticity of the identity information of the voting node by the supervision node.
9. A voting node according to claim 7 or 8, wherein before the processor sends a vote qualification validation request to the supervising node in dependence on the identity information of the supervising node, the processor is further configured to:
encrypting the voting qualification verification request by adopting the public key of the voting node to obtain the encrypted voting qualification verification request;
when the processor sends a voting qualification verification request to the supervising node according to the identification information of the supervising node, the processor is specifically configured to:
and sending the voting qualification verification request after the voting qualification verification request is encrypted to the supervision node according to the identification information of the supervision node.
10. A voting node according to claim 7, wherein the processor, when sending a voting qualification validation request to the supervising node based on the identifying information of the supervising node, is further configured to:
sending a voting qualification verification request to the supervision node in a block chain mode according to the identification information of the supervision node;
when the processor receives the permission information sent by the supervisory node through the communication interface, the processor is specifically configured to:
and receiving the permission information sent by the supervision node in a block chain-down mode.
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.
CN201911237443.1A 2019-12-05 2019-12-05 Electronic voting method, device and storage medium based on block chain Active CN110933098B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911237443.1A CN110933098B (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
CN201911237443.1A CN110933098B (en) 2019-12-05 2019-12-05 Electronic voting method, device and storage medium based on block chain

Publications (2)

Publication Number Publication Date
CN110933098A true CN110933098A (en) 2020-03-27
CN110933098B CN110933098B (en) 2022-04-08

Family

ID=69857219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911237443.1A Active CN110933098B (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) CN110933098B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021196473A1 (en) * 2020-04-03 2021-10-07 深圳壹账通智能科技有限公司 Electronic voting method and device, computer, and storage medium
WO2022134783A1 (en) * 2020-12-22 2022-06-30 深圳壹账通智能科技有限公司 Construction method for blockchain network, method for adding node, and medium and device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108109257A (en) * 2018-01-05 2018-06-01 杭州电子科技大学 A kind of Anonymous Electronic Voting method based on block chain
CN108711212A (en) * 2018-05-21 2018-10-26 中国联合网络通信集团有限公司 Card method, apparatus and system are deposited in ballot
CN109286497A (en) * 2018-09-06 2019-01-29 贵阳信息技术研究院(中科院软件所贵阳分部) A method of secret ballot and many condition count of votes based on block chain
KR20190023894A (en) * 2017-08-30 2019-03-08 세종대학교산학협력단 System and method for electronic voting
CN110224993A (en) * 2019-05-16 2019-09-10 暨南大学 Anonymous Electronic Voting method and system of calling to account based on block chain
CN110519268A (en) * 2019-08-27 2019-11-29 深圳前海微众银行股份有限公司 Voting method, device, equipment, system and storage medium based on block chain

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190023894A (en) * 2017-08-30 2019-03-08 세종대학교산학협력단 System and method for electronic voting
CN108109257A (en) * 2018-01-05 2018-06-01 杭州电子科技大学 A kind of Anonymous Electronic Voting method based on block chain
CN108711212A (en) * 2018-05-21 2018-10-26 中国联合网络通信集团有限公司 Card method, apparatus and system are deposited in ballot
CN109286497A (en) * 2018-09-06 2019-01-29 贵阳信息技术研究院(中科院软件所贵阳分部) A method of secret ballot and many condition count of votes based on block chain
CN110224993A (en) * 2019-05-16 2019-09-10 暨南大学 Anonymous Electronic Voting method and system of calling to account based on block chain
CN110519268A (en) * 2019-08-27 2019-11-29 深圳前海微众银行股份有限公司 Voting method, device, equipment, system and storage medium based on block chain

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021196473A1 (en) * 2020-04-03 2021-10-07 深圳壹账通智能科技有限公司 Electronic voting method and device, computer, and storage medium
WO2022134783A1 (en) * 2020-12-22 2022-06-30 深圳壹账通智能科技有限公司 Construction method for blockchain network, method for adding node, and medium and device

Also Published As

Publication number Publication date
CN110933098B (en) 2022-04-08

Similar Documents

Publication Publication Date Title
CN109067801B (en) Identity authentication method, identity authentication device and computer readable medium
CN111464980B (en) Electronic evidence obtaining device and method based on block chain in Internet of vehicles environment
WO2018076762A1 (en) Block chain-based transaction verification method and system, electronic device, and medium
CN110958253A (en) Electronic voting method, device and storage medium based on block chain
CN102984156B (en) A kind of distributed private data Comparison and ranking method of verifying and device
CN112651037B (en) Out-of-chain data access method and system for block chain system
CN108769010B (en) Method and device for node invited registration
CN110958107A (en) Electronic voting method, device and storage medium based on block chain
CN110830452A (en) Block chain-based electronic bidding method, device and storage medium
CN109242404B (en) Resume information management method, resume information management device, computer equipment and readable storage medium
CN110351276B (en) Data processing method, device and computer readable storage medium
CN110933098B (en) Electronic voting method, device and storage medium based on block chain
CN107613316A (en) A kind of network direct broadcasting plug-flow verification method and system
CN111914293A (en) Data access authority verification method and device, computer equipment and storage medium
CN102546528B (en) Stream media playing method and stream media playing equipment
CN105554018A (en) Network real name verification method
CN110532734A (en) A kind of digital publishing rights method and system of the privacy timestamp based on multi-party computations
CN104104650A (en) Data file visit method and terminal equipment
CN111585995A (en) Method and device for transmitting and processing safety wind control information, computer equipment and storage medium
CN111047763A (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
CN110796447A (en) Electronic bid supervision method and device based on block chain and storage medium
CN111858753A (en) Block chain-based training parameter processing method, device and storage medium
CN110995711A (en) Electronic voting method, device and storage medium based on block chain
CN107395350B (en) Method and system for generating key and key handle and intelligent key safety equipment

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

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.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant