CN110519268B - Voting method, device, equipment, system and storage medium based on block chain - Google Patents

Voting method, device, equipment, system and storage medium based on block chain Download PDF

Info

Publication number
CN110519268B
CN110519268B CN201910799568.7A CN201910799568A CN110519268B CN 110519268 B CN110519268 B CN 110519268B CN 201910799568 A CN201910799568 A CN 201910799568A CN 110519268 B CN110519268 B CN 110519268B
Authority
CN
China
Prior art keywords
voting
blockchain
address
background server
offer
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.)
Active
Application number
CN201910799568.7A
Other languages
Chinese (zh)
Other versions
CN110519268A (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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201910799568.7A priority Critical patent/CN110519268B/en
Publication of CN110519268A publication Critical patent/CN110519268A/en
Application granted granted Critical
Publication of CN110519268B publication Critical patent/CN110519268B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0435Network 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 symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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 invention relates to the technical field of blockchains and discloses a voting method, device, equipment, system and storage medium based on a blockchain. The voting method based on the block chain comprises the following steps: when the voting solicitation of the voting notice contract on the blockchain is monitored to comprise a target user, sending a character string feed application request to a voting background server, and receiving reply information returned by the voting background server based on the feed application request; generating a block chain address through the block chain, and encrypting the block chain address by adopting seed in the reply message; sending the encrypted blockchain address to a voting background server for the voting background server to write the blockchain address into a voting offer; when the blockchain address exists in the voting offer is monitored, corresponding prompt information can be generated to remind the target user to vote through the blockchain address. The invention can solve the problems of poor flexibility and complex encryption system architecture of the existing anonymous voting method.

Description

Voting method, device, equipment, system and storage medium based on block chain
Technical Field
The present invention relates to the field of Blockchain (Blockchain) technologies, and in particular, to a Blockchain-based voting method, device, equipment, system, and storage medium.
Background
With the development of computer technology, more and more technologies (big data, distributed, blockchain, artificial intelligence, etc.) are applied in the financial field, and the traditional financial industry is gradually changing to the financial technology (Fintech), but due to the requirements of security and real-time performance of the financial industry, higher requirements are also put forward on the technologies.
Generally, the anonymous voting is performed by using the blockchain technology, so that the advantages of cryptography and blockchain can be combined, vote data can be recorded in the blockchain, the true reliability of the data can be ensured without being tampered, and the true traceability characteristic of an election result is ensured. At present, the encryption scheme of electronic voting is mainly based on homomorphic encryption, group/ring signature or blind signature technology, specifically, a user generates a blockchain address, then the address is converted through the technology to obtain an anonymous address, and the effect that the converted address (namely the anonymous address) cannot be matched with the original address can be achieved. However, in the practical application scenario, it is difficult to effectively associate the real identity with the anonymous address, and often operations related to the real identity cannot be effectively processed, for example, a voter is specified, the number/range of voters are limited, and the like, that is, the existing anonymous voting method has poor flexibility. In addition, the group/ring signature-based technology often requires trust of a trusted third party, adding unnecessary trust risk; the whole encryption architecture is complex to deploy and operate.
Disclosure of Invention
The invention mainly aims to provide a voting method, a voting device, a voting system and a voting storage medium based on a blockchain, and aims to solve the problems that the conventional anonymous voting method is poor in flexibility and meanwhile an encryption system architecture is complex.
In order to achieve the above object, the present invention provides a blockchain-based voting method, including:
when a voting solicitation of a voting announcement contract on a blockchain is monitored to comprise a target user, sending a character string seed application request to a voting background server, and receiving reply information returned by the voting background server based on the seed application request;
generating a block chain address through the block chain, and encrypting the block chain address by adopting seed in the reply message;
sending the encrypted blockchain address to the voting background server for the voting background server to write the blockchain address into the voting offer;
when the blockchain address exists in the voting offer is monitored, corresponding prompt information can be generated to remind a target user to vote through the blockchain address.
Optionally, the reply message further includes a signature of the voting background server, where the signature is generated based on a voting private key, and before the step of generating a blockchain address by the blockchain and encrypting the blockchain address by using the seed in the reply message, the method further includes:
obtaining a voting public key from the voting offer, and verifying whether the signature is valid or not through the voting public key;
if the signature verification is valid, the steps are executed: generating a block chain address through the block chain, and encrypting the block chain address by adopting seed in the reply message.
Optionally, the step of generating a blockchain address through the blockchain and encrypting the blockchain address using the seed in the reply message includes:
generating a blockchain address through the blockchain, symmetrically encrypting the blockchain address by adopting seed in the reply information, and secondarily encrypting the encrypted blockchain address by adopting the voting public key;
the step of sending the encrypted blockchain address to the voting background server for the voting background server to write the blockchain address into the voting offer comprises the steps of:
And sending the block chain address after secondary encryption to the voting background server for the voting background server to write the block chain address into the voting offer.
Optionally, the block chain based voting method includes:
generating a key pair through the blockchain, the key pair including an encrypted private key;
when a voting request triggered by a target user is received, voting information is acquired according to the voting request;
and signing the voting information and the blockchain address by adopting the encryption private key, and sending the signed voting information and blockchain address to the blockchain to vote.
Optionally, when the voting offer of the voting announcement contract on the monitored blockchain includes the target user, the step of sending a string seed application request to a voting background server and receiving reply information returned by the voting background server based on the seed application request includes:
monitoring whether a new voting offer appears in a voting announcement contract on the blockchain in real time or at fixed time;
if the new voting offers appear in the voting announcement contracts on the blockchain, acquiring the information of the offer users in the voting offers, and detecting whether the user information of the target users exists in the information of the offer users or not so as to determine whether the voting offers comprise the target users or not.
Optionally, the step of sending a string seed application request to the voting background server includes:
sending a character string seed application request to a voting background server through a preset transmission protocol;
the step of sending the encrypted blockchain address to the voting background server for the voting background server to write the blockchain address into the voting offer comprises the steps of:
and sending the encrypted blockchain address to the voting background server through the preset transmission protocol so that the voting background server can write the blockchain address into the voting offer.
In addition, in order to achieve the above object, the present invention also provides a voting apparatus based on a blockchain, the voting apparatus based on a blockchain including:
the first sending module is used for sending a character string seed application request to a voting background server when a voting offer of a voting announcement contract on a blockchain is monitored to comprise a target user, and receiving reply information returned by the voting background server based on the seed application request;
the address encryption module is used for generating a blockchain address through the blockchain and encrypting the blockchain address by adopting the seed in the reply information;
The second sending module is used for sending the encrypted blockchain address to the voting background server so that the voting background server can write the blockchain address into the voting offer;
and the voting reminding module is used for generating corresponding prompting information when the fact that the blockchain address exists in the voting offer is monitored, so as to remind a target user to vote through the blockchain address.
In addition, to achieve the above object, the present invention also provides a blockchain-based voting apparatus including: a memory, a processor, and a voting program stored on the memory and executable on the processor, which when executed by the processor, performs the steps of the blockchain-based voting method as described above.
In addition, in order to achieve the above object, the present invention also provides a blockchain-based voting system including a blockchain-based voting device and a voting background server; wherein,
the blockchain-based voting device is a blockchain-based voting device as described above;
the voting background server is used for creating a voting announcement contract and a voting intelligent contract on the blockchain, and creating a voting invitation in the voting announcement contract, wherein the voting invitation comprises voting details, invitation user information, a white list address and a voting public key;
The voting background server is further used for verifying whether a user has voting qualification or not based on the user account ID and the user information when the user account ID and the user information carried in the seed application request are acquired when the seed application request is received; when the verification is passed, randomly generating a seed, generating corresponding reply information based on the seed and a pre-generated voting public key, and returning to a block chain-based voting device corresponding to the seed application request;
the voting background server is further configured to decrypt the encrypted blockchain address through the seed when the encrypted blockchain address is received, and write the decrypted blockchain address into the white list address of the voting offer.
Optionally, the blockchain-based voting system further includes a blockchain for:
when a voting instruction is received, a blockchain address, voting information and a signature generated based on an encryption private key carried in the voting instruction are acquired;
verifying the signature generated based on the encryption private key by adopting an encryption public key in a key pair;
when the verification is passed, detecting whether the blockchain address is in a white list address of the voting offer;
If the blockchain address is in the white list address of the voting offer, storing the voting information;
when the number of the stored voting information is detected to reach the preset number, the stored voting information is counted through the voting intelligent contract, and the counted voting result is sent to the voting background server.
In addition, in order to achieve the above object, the present invention also provides a storage medium having a voting program stored thereon, which when executed by a processor, implements the steps of the blockchain-based voting method as described above.
The invention provides a voting method, a device, equipment, a system and a storage medium based on a blockchain, which are used for sending a seed application request to a voting background server and receiving reply information returned by the voting background server based on the seed application request when a voting solicitation of a voting notice contract on the blockchain is monitored to comprise a target user; generating a block chain address through the block chain, and encrypting the block chain address by adopting seed in the reply message; sending the encrypted blockchain address to a voting background server for the voting background server to write the blockchain address into a voting offer; when the blockchain address exists in the voting offer, corresponding prompt information can be generated to remind the target user to vote through the blockchain address. By the method, the organizer can specify the voter in the voting offer through the voting background server, the voting equipment can send the blockchain address to the voting background server to write into the voting offer when hearing that the target user is the specified voter, and then the target user can vote based on the blockchain address, and the organizer can not know the association relation between the blockchain address and the identity of the specified voter, so that the anonymity of the vote can be ensured. Therefore, the invention can support the anonymity characteristic of the voting process on the premise of supporting the execution of related operations (such as designating voters) based on the true identity, and can improve the flexibility of the anonymity voting method compared with the prior art. Meanwhile, the invention only uses a conventional encryption method, and does not need to deploy a complex encryption system architecture or use a complex cryptography suite, namely, the invention provides a light anonymous voting method, which solves the problem that the encryption system architecture of the existing anonymous voting method is complex.
Drawings
FIG. 1 is a schematic diagram of a hardware operating environment according to an embodiment of the present invention;
FIG. 2 is a flow chart of a first embodiment of a blockchain-based voting method of the present invention;
fig. 3 is a functional block diagram of a first embodiment of a blockchain-based voting device according to the present invention.
The achievement of the objects, functional features and advantages of the present invention will be further described with reference to the accompanying drawings, in conjunction with the embodiments.
Detailed Description
It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the invention.
Referring to fig. 1, fig. 1 is a schematic device structure diagram of a hardware running environment according to an embodiment of the present invention.
The voting equipment based on the blockchain in the embodiment of the invention can be a smart phone, or can be terminal equipment such as a PC (Personal Computer ), a tablet personal computer, a portable computer and the like.
As shown in fig. 1, the blockchain-based voting device may include: a processor 1001, such as a CPU, a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. Wherein the communication bus 1002 is used to enable connected communication between these components. The user interface 1003 may include a Display, an input unit such as a Keyboard (Keyboard), and the optional user interface 1003 may further include a standard wired interface, a wireless interface. The network interface 1004 may optionally include a standard wired interface, a wireless interface (e.g., wi-Fi interface). The memory 1005 may be a high-speed RAM memory or a stable memory (non-volatile memory), such as a disk memory. The memory 1005 may also optionally be a storage device separate from the processor 1001 described above.
Those skilled in the art will appreciate that the blockchain-based voting device structure shown in fig. 1 does not constitute a limitation of the blockchain-based voting device and may include more or fewer components than shown, or may combine certain components, or may be a different arrangement of components.
As shown in fig. 1, an operating system, a network communication module, a user interface module, and a voting program may be included in the memory 1005, which is a type of computer storage medium.
In the terminal shown in fig. 1, the network interface 1004 is mainly used for connecting to a background server and performing data communication with the background server; the user interface 1003 is mainly used for connecting a client and communicating data with the client; and the processor 1001 may be configured to call a voting program stored in the memory 1005 and perform the following steps of the blockchain-based voting method.
Based on the above hardware structure, various embodiments of the blockchain-based voting method of the present invention are presented.
The invention provides a voting method based on a block chain.
Referring to fig. 2, fig. 2 is a flowchart illustrating a first embodiment of a blockchain-based voting method according to the present invention.
In this embodiment, the blockchain-based voting method includes:
Step S10, when a voting offer of a voting announcement contract on a blockchain is monitored to comprise a target user, a character string seed application request is sent to a voting background server, and reply information returned by the voting background server based on the seed application request is received;
in this embodiment, before the step S10, the block chain-based voting method further includes:
step A, monitoring whether a new voting offer appears in a voting announcement contract on the blockchain in real time or at regular time;
and step B, if the new voting offers appear in the voting announcement contracts on the blockchain, acquiring the offer user information in the voting offers, and detecting whether the user information of the target user exists in the offer user information so as to determine whether the voting offers comprise the target user.
The voting method based on the blockchain in this embodiment is implemented by a voting device based on the blockchain, where the voting device may be a smart phone, or may be a terminal device such as a PC, a tablet computer, or a portable computer, and a corresponding voting App (Application program) is installed in the voting device, and the voting device may access the blockchain and have a read-write capability of the blockchain.
In this embodiment, when an organizer organizes a vote, a voting announcement contract and a voting intelligent contract are created on a blockchain through a voting background server, and a voting invitation is created in the voting announcement contract, wherein the voting invitation comprises voting details, invitation user information, a white list address and a voting public key, and the voting details comprise voting events, voting options, voting beard and the like; the information of the invited users, namely the information of the appointed voter, can be real-name information; the white list address is used for storing the blockchain address of the appointed voter; the voting public key is pre-generated and its corresponding voting private key is maintained by the voting backend server, i.e., known only to the organizer.
Correspondingly, in order to detect whether the voting invitation of the target user exists, the voting equipment can monitor whether a new voting offer appears in the voting announcement contract on the block chain in real time or at regular time, if the new voting offer appears in the voting announcement contract on the block chain, acquire the information of the invited user in the voting offer, and detect whether the user information of the target user exists in the information of the invited user, so as to determine whether the voting offer comprises the target user.
Further, when it is detected that the user information of the target user exists in the offer user information, that is, when the target user is included in the voting offer of the voting announcement contract on the blockchain is monitored, a seed (a randomly generated character string) application request is sent to the voting background server, and a reply message returned by the voting background server based on the seed application request is received, wherein the reply message includes a seed, which is generated randomly by the voting background service through a random character string generating tool, and of course, a signature of the voting background server may be included in the reply message, which is generated based on the voting private key, in order to facilitate the determination that the reply message is sent by the voting background server by the designated voter (that is, the target user).
In addition, it can be understood that in the practical application scenario, the user needs to register the voting App account in advance through the real name of the voting App before voting. Namely, when a registration request of a user is received, acquiring user information carried in the registration request; and then, verifying the user identity according to the user information, and responding to the registration request and storing the user information and an App account carried in the registration request in a correlated manner when the user identity passes the verification, so that the registered user information and the App account information can be sent to a voting background server, and an organizer can conveniently pick voters for voting each time. Of course, the App account may also be generated by the voting App.
Step S20, generating a block chain address through the block chain, and encrypting the block chain address by adopting the seed in the reply information;
after receiving the reply message returned by the voting background server, generating a blockchain address through the blockchain, encrypting the blockchain address by adopting a seed in the reply message, wherein the corresponding encryption mode is symmetric encryption, the adopted encryption algorithm is symmetric encryption algorithm such as AES (Advanced Encryption Standard ), DES (Data Encryption Algorithm, data encryption algorithm) and the like, and the seed is a symmetric encryption key. The specific symmetric encryption process is similar to the prior art and will not be described in detail herein. It should be noted that encrypting the blockchain address with seed allows the voting background server to determine which of the specified voters the blockchain address was sent by, but not which of the specified voters.
Further, to ensure the security of information transmission, a preset transmission protocol may be adopted for transmission, where the step of "sending a string seed application request to the voting background server" includes:
sending a character string seed application request to a voting background server through a preset transmission protocol;
That is, the string seed application request is sent to the voting background server via a preset transmission protocol, which may optionally be https (Hypertext Transfer Protocol Secure, hypertext transfer security protocol) transmission protocol.
Further, to ensure that the reply message is sent by the voting background server, the blockchain-based voting method further includes, before step S20 above:
step C, obtaining a voting public key from the voting offer, and verifying whether the signature is valid or not through the voting public key;
if the signature verification is valid, step S20 is executed: generating a block chain address through the block chain, and encrypting the block chain address by adopting seed in the reply message.
That is, after receiving the reply message returned by the voting background server, the voting public key is firstly obtained from the voting offer, then whether the signature is valid or not is verified through the voting public key, if the signature verification is valid, the reply message is indicated to be sent by the voting background server, at this time, the blockchain address is generated through the blockchain, and the blockchain address is encrypted by adopting the seed in the reply message.
Step S30, the encrypted blockchain address is sent to the voting background server so that the voting background server can write the blockchain address into the voting offer;
After encrypting the blockchain address, the encrypted blockchain address is sent to a voting background server for the voting background server to write the blockchain address into a voting offer, and when the corresponding blockchain address is received by the voting background server, the encrypted blockchain address can be decrypted through a corresponding symmetric encryption algorithm and seed to obtain the blockchain address, and then the blockchain address is written into the voting offer, and in particular, the blockchain address can be written into a white list address of the voting offer. It should be noted that, in the process of sending the encrypted blockchain address to the voting background server, no other information related to the identity of the target user is transmitted.
Further, in order to ensure the security of the information transmission, a preset transmission protocol may also be adopted for transmission during the information transmission process, and step S30 includes: and sending the encrypted blockchain address to the voting background server through the preset transmission protocol so that the voting background server can write the blockchain address into the voting offer.
That is, the encrypted blockchain address is sent to the voting background server through a preset transmission protocol, so that the voting background server writes the blockchain address into the voting offer, wherein the preset transmission protocol is optionally https transmission protocol.
Step S40, when the existence of the blockchain address in the voting offer is monitored, corresponding prompt information can be generated to remind a target user to vote through the blockchain address.
Finally, the voting device monitors whether the blockchain address (namely, the blockchain address corresponding to the target user) exists in the voting offer of the voting announcement contract on the blockchain in real time or at regular time, and when the blockchain address exists in the voting offer, the voting device can generate corresponding prompt information to remind the target user to vote through the blockchain address. Of course, before the corresponding prompt information is generated, the voting details can be obtained from the voting offer, so that the corresponding prompt information is generated according to the voting details, and the user can be conveniently informed of the voting details while reminding the target user to vote. Because the target user votes based on the blockchain address and the voting background server cannot know the association relationship between the blockchain address and the identity of the designated voter, the anonymity of the vote can be ensured.
The embodiment of the invention provides a voting method based on a blockchain, which comprises the steps of sending a seed application request to a voting background server when a voting solicitation of a voting notice contract on the blockchain is monitored to comprise a target user, and receiving reply information returned by the voting background server based on the seed application request; generating a block chain address through the block chain, and encrypting the block chain address by adopting seed in the reply message; sending the encrypted blockchain address to a voting background server for the voting background server to write the blockchain address into a voting offer; when the blockchain address exists in the voting offer, corresponding prompt information can be generated to remind the target user to vote through the blockchain address. By the method, the organizer can specify the voter in the voting offer through the voting background server, the voting equipment can send the blockchain address to the voting background server to write into the voting offer when hearing that the target user is the specified voter, and then the target user can vote based on the blockchain address, and the organizer can not know the association relation between the blockchain address and the identity of the specified voter, so that the anonymity of the vote can be ensured. Therefore, the embodiment of the invention can support the anonymity characteristic of the voting process on the premise of supporting the execution of related operations (such as designating voters) based on the true identity, and can improve the flexibility of the anonymity voting method compared with the prior art. Meanwhile, in the embodiment of the invention, only a conventional encryption method is used, and a complex encryption system architecture is not required to be deployed or a complex cryptography suite is not required to be used, namely, a light anonymous voting method is provided, and the problem that the encryption system architecture of the conventional anonymous voting method is complex is solved.
Further, based on the first embodiment shown in fig. 2, a second embodiment of the blockchain-based voting method of the present invention is presented.
In this embodiment, step S20 includes:
generating a blockchain address through the blockchain, symmetrically encrypting the blockchain address by adopting seed in the reply information, and secondarily encrypting the encrypted blockchain address by adopting the voting public key;
in this embodiment, to further ensure that only the voting background server can obtain the blockchain address, and ensure anonymity of the vote, the encrypted blockchain address may be encrypted twice by the voting public key, so that only the voting background server having the voting private key corresponding to the voting public key may decrypt to obtain the blockchain address of the target user. Specifically, the blockchain address is generated through the blockchain, then the seed in the reply message is adopted to perform symmetric encryption on the blockchain address, and the voting public key is adopted to perform secondary encryption on the encrypted blockchain address, where the symmetric encryption process can refer to the first embodiment, when the voting public key is adopted to perform secondary encryption on the encrypted blockchain address, the corresponding encryption mode is asymmetric encryption, the adopted encryption algorithm is an asymmetric encryption algorithm, such as RSA (RSA algorithm) algorithm, ECC (Elliptic curve cryptography, elliptic encryption algorithm) and the like, and the specific asymmetric encryption process is similar to the prior art and is not repeated herein.
At this time, step S30 includes:
and sending the block chain address after secondary encryption to the voting background server for the voting background server to write the block chain address into the voting offer.
After the blockchain is secondarily encrypted, the secondarily encrypted blockchain address is sent to the voting background server, so that the voting background server writes the blockchain address into the voting offer, further the subsequent steps are executed, and the specific execution process can refer to the first embodiment and is not repeated herein.
In the embodiment, the secondary encryption process of the blockchain address is introduced, and the blockchain address is encrypted by adopting seed first, so that the voting background server can determine that the blockchain address is sent by a specified voter, but cannot determine which specified voter is; and secondly encrypting the encrypted blockchain address by the voting public key, so that only the voting background server can acquire the blockchain address, and the anonymity of the voting can be further ensured.
Further, based on the first embodiment shown in fig. 2, a third embodiment of the blockchain-based voting method of the present invention is presented.
In this embodiment, after the step S40, the block chain-based voting method further includes:
Step D, generating a key pair through the blockchain, wherein the key pair comprises an encryption private key;
in this embodiment, a key pair may also be generated by the blockchain, wherein the key pair includes an encrypted private key, and of course an encrypted public key, which may be stored in the blockchain. It should be noted that, the step D is performed simultaneously with the step of generating the blockchain address through the blockchain.
E, when a voting request triggered by a target user is received, acquiring voting information according to the voting request;
when the target user sees the prompt information, the voting device can vote, specifically, the voting device can log in a voting App to select voting options so as to vote, and after the voting is completed, a voting request can be triggered, at this time, when the voting device receives the voting request triggered by the target user, the voting device acquires the voting information according to the voting request, and the voting information is the voting performed by the target user for voting details.
And F, signing the voting information and the blockchain address by adopting the encryption private key, and sending the signed voting information and blockchain address to the blockchain to vote.
After the voting information is obtained, signing the voting information and the blockchain address by adopting the generated encryption private key, and sending the signed voting information and the signed blockchain address to the blockchain to vote. Specifically, the voting device can generate a voting instruction based on the signed voting information and the blockchain address, and send the voting instruction to the blockchain, when the corresponding blockchain receives the voting instruction, the voting information and the blockchain address carried in the voting instruction are firstly obtained, and a signature is generated based on an encryption private key, and then the encryption public key in a key pair is adopted to verify the signature generated based on the encryption private key; when the verification is passed, detecting whether the blockchain address is in a white list address of the voting offer; if the blockchain address is in the white list address of the voting offer, the user is proved to have voting qualification, and at the moment, voting information is stored; and finally, counting the stored voting information through the voting intelligent contract when the quantity of the stored voting information reaches the preset quantity, and sending the counted voting result to the voting background server.
In this embodiment, the target user may vote based on the blockchain address, and anonymity of the vote may be ensured.
Based on the above embodiments, it should be noted that, in the present invention, the communication between the voting device and the voting background server may optionally use https encryption, that is, use https transmission protocol to transmit information, so as to resist interception and man-in-the-middle attack, but not resist tracing based on IP (Internet Protocol Address )/MAC (Media Access Control Address, media access control address), so that an attacker may still track the common terminal device of the voter through the IP/MAC of the voter. However, in practical applications, the present invention may be used with any common network confusion scheme (application layer/transport layer), and the present invention is not limited in particular. Among other things, network confusion schemes may include, but are not limited to: network agents, such as internet agents, hardware agents; or encryption, like dynamic encryption, etc.
The invention also provides a voting system based on the block chain, which comprises voting equipment based on the block chain and a voting background server. The blockchain-based voting device is a blockchain-based voting device as shown in fig. 1, and is used for executing each step in the above-mentioned blockchain-based voting method embodiment, and specific functions and implementation processes may refer to the above-mentioned embodiment and are not described herein.
The voting background server is used for creating a voting announcement contract and a voting intelligent contract on the blockchain, and creating a voting invitation in the voting announcement contract, wherein the voting invitation comprises voting details, invitation user information, a white list address and a voting public key;
in this embodiment, the organizer may create a voting announcement contract and a voting intelligence contract on the blockchain through the voting background server and create a voting invitation in the voting announcement contract when organizing the votes. The voting background server is also provided with a corresponding voting App for an organizer to log in, and can access the blockchain and have the reading and writing capabilities of the blockchain.
A voting background server which can pre-create a voting notice contract and a voting intelligent contract on a blockchain and create a voting invitation in the voting notice contract, wherein the voting invitation comprises voting details, invitation user information, a white list address and a voting public key, and the voting details comprise voting events, voting options, voting beard and the like; the information of the invited users, namely the information of the appointed voter, can be real-name information; the white list address is used for storing the blockchain address of the appointed voter; the voting public key is pre-generated and its corresponding voting private key is maintained by the voting backend server, i.e., known only to the organizer.
The voting background server is further used for verifying whether a user has voting qualification or not based on the user account ID and the user information when the user account ID and the user information carried in the seed application request are acquired when the seed application request is received; when the verification is passed, randomly generating a seed, generating corresponding reply information based on the seed and a pre-generated voting public key, and returning to a block chain-based voting device corresponding to the seed application request;
in this embodiment, when receiving a seed application request sent by a voting device, the voting background server acquires a user account ID and user information carried in the seed application request, verifies whether a user has a voting qualification based on the user account ID and the user information, specifically, can detect whether the user information is included in the offer user information of a voting offer, and detects whether the user account ID is associated with the user information, and when the user information is included in the offer user information, and the user account ID is associated with the user information, the verification is passed, at this time, a seed can be randomly generated by a random string generating tool, then corresponding reply information is generated based on the seed and a pre-generated voting public key, and returns to the block chain-based voting device corresponding to the seed application request. Wherein the reply message includes the seed and a signature of the voting background server, the signature being generated based on the voting private key. When the verification fails, a piece of non-authority information can be generated, and the corresponding non-authority information can be signed by using the voting private key and then returned to the voting equipment.
In addition, it should be noted that, to ensure the security of information transmission, the voting background server may use a preset transmission protocol to return the reply information or the unauthorized information to the voting device. Wherein the predetermined transmission protocol is optionally https transmission protocol.
The voting background server is further configured to decrypt the encrypted blockchain address through the seed when the encrypted blockchain address is received, and write the decrypted blockchain address into the white list address of the voting offer.
In this embodiment, when the voting background server receives the encrypted blockchain address sent by the voting device, the voting background server may decrypt the encrypted blockchain address through the seed, and write the decrypted blockchain address into the whitelist address of the voting offer. Since the blockchain address is symmetrically encrypted using seed, the corresponding can be decrypted using the same key (i.e., seed).
If the second encrypted blockchain address is received by the voting background server, the second decryption is performed by the seed after the first decryption is performed by the voting private key, so as to obtain the blockchain address, and then the blockchain address is written into the white list address of the voting offer.
The embodiment provides a blockchain-based voting system, which comprises a blockchain-based voting device and a voting background server, wherein by constructing the blockchain-based voting system, an organizer can designate a voter in a voting offer through the voting background server, when the voting device monitors that a target user is the designated voter, the voting background server can apply for a feed, generate a blockchain address through the blockchain, encrypt the blockchain address by the feed and send the blockchain address to the voting background server so that the voting background server can write the blockchain address into the voting offer; and finally, reminding the target user to vote through the blockchain address when the blockchain address exists in the voting offer. That is, by constructing the voting system, the anonymity characteristic of the voting process can be supported on the premise of supporting the execution of related operations (such as designating a voter) based on the true identity, and the flexibility of the anonymity voting method can be improved compared with the prior art. Meanwhile, the voting system can realize a light anonymous voting method, and in the process of realizing anonymous voting, only a conventional encryption method is used, and a complex encryption system architecture or a complex cryptography suite is not required to be deployed, so that the problem that the encryption system architecture of the conventional anonymous voting method is complex is solved.
Further, the blockchain-based voting system also includes a blockchain that is configured to:
when a voting instruction is received, a blockchain address, voting information and a signature generated based on an encryption private key carried in the voting instruction are acquired;
verifying the signature generated based on the encryption private key by adopting an encryption public key in a key pair;
when the verification is passed, detecting whether the blockchain address is in a white list address of the voting offer;
if the blockchain address is in the white list address of the voting offer, storing the voting information;
when the number of the stored voting information is detected to reach the preset number, the stored voting information is counted through the voting intelligent contract, and the counted voting result is sent to the voting background server.
In this embodiment, the blockchain-based voting system further includes a blockchain, when the blockchain receives a voting instruction sent by the voting device, the blockchain obtains a blockchain address, voting information and a signature generated based on an encryption private key carried in the voting instruction, and then verifies the signature generated based on the encryption private key by adopting an encryption public key in a key pair; when the verification is passed, detecting whether the blockchain address is in a white list address of the voting offer; if the blockchain address is in the white list address of the voting offer, the user is proved to have voting qualification, and at the moment, voting information is stored; and finally, counting the stored voting information through the voting intelligent contract when the quantity of the stored voting information reaches the preset quantity, and sending the counted voting result to the voting background server. The preset number may be the number of the user information in the voting offer, or may be the product of the number of the user information in the voting offer and a preset percentage (e.g. 90%). In addition, in practical application, the blockchain can actively send the counted voting result to the voting background server, and can return the counted voting result to the voting background server when receiving the voting result acquisition request sent by the voting background server.
The embodiment provides a voting system based on a blockchain, which comprises a blockchain, a voting device based on the blockchain and a voting background server, wherein the blockchain can acquire a corresponding blockchain address, voting information and a signature generated based on an encryption private key when receiving a voting instruction of the voting device, and further adopts an encryption public key to verify the signature; when the verification is passed, detecting whether the blockchain address is in a white list address of the voting offer; if the blockchain address is in the white list address of the voting offer, the user is informed of voting qualification, at the moment, voting information is stored, and further, when the stored voting information is detected to reach the preset quantity, the stored voting information is counted through the voting intelligent contract, and the counted voting result is sent to the voting background server. Through the mode, the block chain can intelligently verify the voting request, and meanwhile, corresponding voting results can be obtained through intelligent statistics.
The invention also provides a voting device based on the block chain.
Referring to fig. 3, fig. 3 is a schematic functional block diagram of a first embodiment of a voting apparatus based on blockchain in accordance with the present invention.
As shown in fig. 3, the block chain-based voting apparatus includes:
a first sending module 10, configured to send a string seed application request to a voting background server when a voting offer of a voting announcement contract on a blockchain is monitored to include a target user, and receive reply information returned by the voting background server based on the seed application request;
an address encryption module 20, configured to generate a blockchain address through the blockchain, and encrypt the blockchain address using a seed in the reply message;
a second sending module 30, configured to send the encrypted blockchain address to the voting background server, so that the voting background server writes the blockchain address into the voting offer;
and the voting reminding module 40 is used for generating corresponding prompting information to remind a target user to vote through the blockchain address when the existence of the blockchain address in the voting offer is monitored.
Further, the reply message further includes a signature of the voting background server, the signature is generated based on a voting private key, and the blockchain-based voting device further includes:
The verification module is used for acquiring a voting public key from the voting offer and verifying whether the signature is valid or not through the voting public key;
the address encryption module 20 is specifically configured to generate a blockchain address through the blockchain if the signature verification is valid, and encrypt the blockchain address by using the seed in the reply message.
Further, the address encryption module 20 is further specifically configured to generate a blockchain address through the blockchain, symmetrically encrypt the blockchain address by using the seed in the reply message, and secondarily encrypt the encrypted blockchain address by using the voting public key;
the second sending module 30 is further specifically configured to send the second encrypted blockchain address to the voting background server, so that the voting background server writes the blockchain address into the voting offer.
Further, the block chain based voting apparatus further comprises:
a generation module for generating a key pair through the blockchain, the key pair including an encrypted private key;
the acquisition module is used for acquiring voting information according to the voting request when receiving the voting request triggered by the target user;
And the voting module is used for signing the voting information and the blockchain address by adopting the encryption private key and sending the signed voting information and the signed blockchain address to the blockchain so as to vote.
Further, the block chain based voting apparatus further comprises:
the monitoring module is used for monitoring whether a new voting offer appears in the voting announcement contracts on the blockchain in real time or at regular time;
and the detection module is used for acquiring the user information of the invitees in the voting offers if the new voting offers appear in the voting announcement contracts on the blockchain, and detecting whether the user information of the target users exists in the user information of the invitees so as to determine whether the voting offers comprise the target users.
Further, the first sending module 10 is specifically configured to send a string seed application request to the voting background server through a preset transmission protocol;
the second sending module 30 is specifically configured to send the encrypted blockchain address to the voting background server through the preset transmission protocol, so that the voting background server writes the blockchain address into the voting offer.
The function implementation of each module in the block chain-based voting device corresponds to each step in the block chain-based voting method embodiment, and the function and implementation process thereof are not described in detail herein.
The present invention also provides a storage medium having stored thereon a voting program which, when executed by a processor, performs the steps of a blockchain-based voting method as described in any of the above embodiments.
The specific embodiment of the storage medium of the present invention is substantially the same as the above-mentioned embodiments of the voting method based on blockchain, and will not be described herein.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or system. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or system that comprises the element.
The foregoing embodiment numbers of the present invention are merely for the purpose of description, and do not represent the advantages or disadvantages of the embodiments.
From the above description of the embodiments, it will be clear to those skilled in the art that the above-described embodiment method may be implemented by means of software plus a necessary general hardware platform, but of course may also be implemented by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art in the form of a software product stored in a storage medium (e.g. ROM/RAM, magnetic disk, optical disk) as described above, comprising instructions for causing a terminal device (which may be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to perform the method according to the embodiments of the present invention.
The foregoing description is only of the preferred embodiments of the present invention, and is not intended to limit the scope of the invention, but rather is intended to cover any equivalents of the structures or equivalent processes disclosed herein or in the alternative, which may be employed directly or indirectly in other related arts.

Claims (11)

1. A blockchain-based voting method, the blockchain-based voting method comprising:
when a voting solicitation of a voting announcement contract on a blockchain is monitored to comprise a target user, sending a character string seed application request to a voting background server, and receiving reply information returned by the voting background server based on the seed application request;
generating a block chain address through the block chain, and encrypting the block chain address by adopting seed in the reply message;
sending the encrypted blockchain address to the voting background server for the voting background server to write the blockchain address into the voting offer;
when the blockchain address exists in the voting offer is monitored, corresponding prompt information can be generated to remind a target user to vote through the blockchain address.
2. The blockchain-based voting method of claim 1, wherein the reply message further includes a signature of the voting background server, the signature being generated based on a voting private key, and before the step of generating a blockchain address by the blockchain and encrypting the blockchain address using the seed in the reply message, further comprising:
Obtaining a voting public key from the voting offer, and verifying whether the signature is valid or not through the voting public key;
if the signature verification is valid, the steps are executed: generating a block chain address through the block chain, and encrypting the block chain address by adopting seed in the reply message.
3. The blockchain-based voting method of claim 2, wherein the step of generating a blockchain address by the blockchain and encrypting the blockchain address using the seed in the reply message comprises:
generating a blockchain address through the blockchain, symmetrically encrypting the blockchain address by adopting seed in the reply information, and secondarily encrypting the encrypted blockchain address by adopting the voting public key;
the step of sending the encrypted blockchain address to the voting background server for the voting background server to write the blockchain address into the voting offer comprises the steps of:
and sending the block chain address after secondary encryption to the voting background server for the voting background server to write the block chain address into the voting offer.
4. The blockchain-based voting method of claim 1, wherein the blockchain-based voting method comprises:
generating a key pair through the blockchain, the key pair including an encrypted private key;
when a voting request triggered by a target user is received, voting information is acquired according to the voting request;
and signing the voting information and the blockchain address by adopting the encryption private key, and sending the signed voting information and blockchain address to the blockchain to vote.
5. The blockchain-based voting method of claim 1, wherein when the voting offer for hearing the voting announcement contract on the blockchain includes the target user, the steps of transmitting a string seed application request to a voting background server, and receiving reply information returned by the voting background server based on the seed application request, include:
monitoring whether a new voting offer appears in a voting announcement contract on the blockchain in real time or at fixed time;
if the new voting offers appear in the voting announcement contracts on the blockchain, acquiring the information of the offer users in the voting offers, and detecting whether the user information of the target users exists in the information of the offer users or not so as to determine whether the voting offers comprise the target users or not.
6. A blockchain-based voting method according to any one of claims 1 to 5, wherein the step of sending a string feed application request to a voting background server comprises:
sending a character string seed application request to a voting background server through a preset transmission protocol;
the step of sending the encrypted blockchain address to the voting background server for the voting background server to write the blockchain address into the voting offer comprises the steps of:
and sending the encrypted blockchain address to the voting background server through the preset transmission protocol so that the voting background server can write the blockchain address into the voting offer.
7. A blockchain-based voting apparatus, the blockchain-based voting apparatus comprising:
the first sending module is used for sending a character string seed application request to a voting background server when a voting offer of a voting announcement contract on a blockchain is monitored to comprise a target user, and receiving reply information returned by the voting background server based on the seed application request;
the address encryption module is used for generating a blockchain address through the blockchain and encrypting the blockchain address by adopting the seed in the reply information;
The second sending module is used for sending the encrypted blockchain address to the voting background server so that the voting background server can write the blockchain address into the voting offer;
and the voting reminding module is used for generating corresponding prompting information when the fact that the blockchain address exists in the voting offer is monitored, so as to remind a target user to vote through the blockchain address.
8. A blockchain-based voting apparatus, the blockchain-based voting apparatus comprising: a memory, a processor, and a voting program stored on the memory and executable on the processor, which when executed by the processor, performs the steps of the blockchain-based voting method of any of claims 1 to 6.
9. A blockchain-based voting system, comprising a blockchain-based voting device and a voting background server; wherein,
the blockchain-based voting device is the blockchain-based voting device of claim 8;
the voting background server is used for creating a voting announcement contract and a voting intelligent contract on the blockchain, and creating a voting invitation in the voting announcement contract, wherein the voting invitation comprises voting details, invitation user information, a white list address and a voting public key;
The voting background server is further used for verifying whether a user has voting qualification or not based on the user account ID and the user information when the user account ID and the user information carried in the seed application request are acquired when the seed application request is received; when the verification is passed, randomly generating a seed, generating corresponding reply information based on the seed and a pre-generated voting public key, and returning to a block chain-based voting device corresponding to the seed application request;
the voting background server is further configured to decrypt the encrypted blockchain address through the seed when the encrypted blockchain address is received, and write the decrypted blockchain address into the white list address of the voting offer.
10. The blockchain-based voting system of claim 9, further comprising a blockchain for:
when a voting instruction is received, a blockchain address, voting information and a signature generated based on an encryption private key carried in the voting instruction are acquired;
verifying the signature generated based on the encryption private key by adopting an encryption public key in a key pair;
When the verification is passed, detecting whether the blockchain address is in a white list address of the voting offer;
if the blockchain address is in the white list address of the voting offer, storing the voting information;
when the number of the stored voting information is detected to reach the preset number, the stored voting information is counted through the voting intelligent contract, and the counted voting result is sent to the voting background server.
11. A storage medium having stored thereon a voting program which when executed by a processor performs the steps of the blockchain-based voting method of any of claims 1 to 6.
CN201910799568.7A 2019-08-27 2019-08-27 Voting method, device, equipment, system and storage medium based on block chain Active CN110519268B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910799568.7A CN110519268B (en) 2019-08-27 2019-08-27 Voting method, device, equipment, system and storage medium based on block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910799568.7A CN110519268B (en) 2019-08-27 2019-08-27 Voting method, device, equipment, system and storage medium based on block chain

Publications (2)

Publication Number Publication Date
CN110519268A CN110519268A (en) 2019-11-29
CN110519268B true CN110519268B (en) 2024-03-05

Family

ID=68628288

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910799568.7A Active CN110519268B (en) 2019-08-27 2019-08-27 Voting method, device, equipment, system and storage medium based on block chain

Country Status (1)

Country Link
CN (1) CN110519268B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110933098B (en) * 2019-12-05 2022-04-08 全链通有限公司 Electronic voting method, device and storage medium based on block chain
CN110958253A (en) * 2019-12-05 2020-04-03 全链通有限公司 Electronic voting method, device and storage medium based on block chain
CN112995111B (en) * 2019-12-17 2022-12-23 中国移动通信集团河南有限公司 Block chain-based Internet of things security detection method, equipment, system and medium
CN111416709B (en) * 2020-03-18 2021-07-30 腾讯科技(深圳)有限公司 Voting method, device, equipment and storage medium based on block chain system
CN115147976A (en) * 2022-06-28 2022-10-04 肖峻峰 Voting method and system based on block chain decentralization
CN117040928B (en) * 2023-10-08 2024-02-09 广州市悦智计算机有限公司 Method for realizing voting right privacy distribution based on blockchain intelligent contract

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016173264A1 (en) * 2015-04-28 2016-11-03 一铂有限公司 Electronic data protection method and device, and terminal device
CN106411503A (en) * 2016-11-28 2017-02-15 中国银行股份有限公司 Accounting method, accounting system, voting node and accounting node under block chain voting and accounting mode
CN108109257A (en) * 2018-01-05 2018-06-01 杭州电子科技大学 A kind of Anonymous Electronic Voting method based on block chain
KR101887964B1 (en) * 2017-04-28 2018-08-13 주식회사 더블체인 Blockchain core server having security ability based on quantum random number, blockchain security method and electronic cash exchange system
KR101908677B1 (en) * 2017-09-29 2018-10-16 숭실대학교산학협력단 System and method for managementing electronic vote using blockchain
CN109274505A (en) * 2018-11-22 2019-01-25 浙江工商大学 A kind of anonymous electronic voting method based on block chain technology
CN109785494A (en) * 2018-12-21 2019-05-21 暨南大学 Traceable Anonymous Electronic Voting method based on block chain

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170109955A1 (en) * 2015-10-20 2017-04-20 Follow My Vote, Inc. Blockchain electronic voting system and method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016173264A1 (en) * 2015-04-28 2016-11-03 一铂有限公司 Electronic data protection method and device, and terminal device
CN106411503A (en) * 2016-11-28 2017-02-15 中国银行股份有限公司 Accounting method, accounting system, voting node and accounting node under block chain voting and accounting mode
KR101887964B1 (en) * 2017-04-28 2018-08-13 주식회사 더블체인 Blockchain core server having security ability based on quantum random number, blockchain security method and electronic cash exchange system
KR101908677B1 (en) * 2017-09-29 2018-10-16 숭실대학교산학협력단 System and method for managementing electronic vote using blockchain
CN108109257A (en) * 2018-01-05 2018-06-01 杭州电子科技大学 A kind of Anonymous Electronic Voting method based on block chain
CN109274505A (en) * 2018-11-22 2019-01-25 浙江工商大学 A kind of anonymous electronic voting method based on block chain technology
CN109785494A (en) * 2018-12-21 2019-05-21 暨南大学 Traceable Anonymous Electronic Voting method based on block chain

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
采用源地址验证选项的IPv6源地址验证研究;王相林;卢庆菲;;计算机应用与软件(12);全文 *

Also Published As

Publication number Publication date
CN110519268A (en) 2019-11-29

Similar Documents

Publication Publication Date Title
CN110519268B (en) Voting method, device, equipment, system and storage medium based on block chain
US9219722B2 (en) Unclonable ID based chip-to-chip communication
CN109243045B (en) Voting method, voting device, computer equipment and computer readable storage medium
CN109413096B (en) A kind of login method and device more applied
US8453220B2 (en) Device association
CN102427442A (en) Combining request-dependent metadata with media content
CN110933484A (en) Management method and device of wireless screen projection equipment
CN105490997B (en) Safe checking method, device, terminal and server
CN105447715A (en) Method and apparatus for anti-theft electronic coupon sweeping by cooperating with third party
CN107733639A (en) Key management method, device and readable storage medium storing program for executing
US11949688B2 (en) Securing browser cookies
CN115001841A (en) Identity authentication method, identity authentication device and storage medium
CN114240347A (en) Business service secure docking method and device, computer equipment and storage medium
CN109120576B (en) Data sharing method and device, computer equipment and storage medium
CN112399392A (en) Communication connection method, device, equipment and storage medium of home care terminal
CN116684102A (en) Message transmission method, message verification method, device, equipment, medium and product
CN112948894A (en) Block chain-based anti-counterfeiting method, device, equipment and medium for tally inspection report
Mengjun et al. Privacy-preserving distributed location proof generating system
CN111181831B (en) Communication data processing method and device, storage medium and electronic device
JP2022091498A (en) Encryption communication system, encryption communication method, and encryption communication device
CN112927026A (en) Coupon processing method and device, electronic equipment and computer storage medium
CN105610811A (en) Authentication method and related device and system thereof
KR101971428B1 (en) Contents exchange method based on interaction between users and system performing the same
CN108243148B (en) Method and apparatus for authentication
Vasile Securing encrypted communication

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
GR01 Patent grant
GR01 Patent grant