CN112509206A - Voting system and method based on Ether house - Google Patents

Voting system and method based on Ether house Download PDF

Info

Publication number
CN112509206A
CN112509206A CN202011277720.4A CN202011277720A CN112509206A CN 112509206 A CN112509206 A CN 112509206A CN 202011277720 A CN202011277720 A CN 202011277720A CN 112509206 A CN112509206 A CN 112509206A
Authority
CN
China
Prior art keywords
voting
information
ticket
queue
voter
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
CN202011277720.4A
Other languages
Chinese (zh)
Other versions
CN112509206B (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.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
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 Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN202011277720.4A priority Critical patent/CN112509206B/en
Publication of CN112509206A publication Critical patent/CN112509206A/en
Application granted granted Critical
Publication of CN112509206B publication Critical patent/CN112509206B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C13/00Voting apparatus
    • 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

Abstract

The invention discloses a voting system and a system based on an Ether house, wherein the voting system comprises: the system comprises a voting initiator moving end, a plurality of voting participant moving ends, an Ether house and a separator. The invention utilizes the tamper-proof property of the Etheng and combines the separator to disorder the sequence of the identity information of the voting participants and the vote information, so that the identity information and the vote information can not correspond to each other, thereby ensuring the anonymity of the voting.

Description

Voting system and method based on Ether house
Technical Field
The invention relates to the technical field of voting management, in particular to a voting system and a voting method based on an Ether house.
Background
The implementation of electronic voting can be roughly classified into 3 types: based on the hybrid network technology, the blind signature technology and the homomorphic encryption technology. These voting techniques all have respective disadvantages, and electronic voting schemes based on blind signatures and ring signatures generally need to assume anonymous channels and trusted signature mechanisms; the electronic voting scheme based on the hybrid network can theoretically realize the public verifiability of the decrypted vote counting, but the algorithm is too complex and the efficiency is lower; although the electronic voting scheme based on homomorphic encryption can realize ciphertext calculation to protect the privacy of votes, the calculation complexity of the current fully homomorphic encryption is too high, and the electronic voting scheme cannot be effective and practical. The schemes are realized based on centralization, so that the votes and voting results of voters cannot be guaranteed to be not tampered in the voting process, and the anonymity of the voters cannot be guaranteed.
How to ensure that the voters' votes and voting results are not tampered and anonymous in the voting process becomes a technical problem to be solved urgently.
Disclosure of Invention
The invention aims to provide a voting system and a voting method based on an Ethenhouse, which are used for ensuring that votes and voting results of voters are not tampered and anonymity in the voting process.
In order to achieve the purpose, the invention provides the following scheme:
an etherhouse-based voting system, the voting system comprising: the system comprises a voting initiator moving end, a plurality of voting participant moving ends, an Ethenhouse and a separator;
the voting initiator moving end is connected with the Ether house and used for initiating voting, generating voting information and sending the voting information to the Ether house;
the ether house is respectively connected with the voting participant moving ends and is used for sending the voting information to the voting participant moving ends;
the voting participant moving end is used for voting according to the voting information, generating ticket information with a time stamp and sending the voting participant identity information and the ticket information with the time stamp to the separator;
the separator is used for separating the voting participant identity information and the ticket information with the timestamp sent by each voting participant moving end, randomly storing the voting participant identity information into one voter queue of a plurality of voter queues, and randomly storing the ticket information with the timestamp into one vote queue of the plurality of vote queues;
the voting initiator moving end is connected with the separator and used for randomly acquiring voting participant identity information from a plurality of voter queues of the separator and randomly acquiring ticket information with time stamps from a plurality of ticket queues, sending the randomly acquired voting participant identity information and the ticket information with the time stamps to the ether house, and destroying the voter queues and the ticket queues in the separator after all the voting participant identity information and the ticket information with the time stamps are acquired;
the Ethenhouse is used for arranging all randomly acquired identity information of voting participants into a voter queue after the sequential disorder, arranging randomly acquired ticket information with time stamps into a ticket queue after the sequential disorder, determining a voting result according to the ticket queue after the sequential disorder, and sending the voting result to a voting initiator moving end and a voting participant moving end;
and the voting participant moving end is also used for acquiring the voter queue after the order disorder and the vote queue after the order disorder from the Etherhouse, and verifying whether the vote is falsified according to the voter queue after the order disorder and the vote queue after the order disorder.
Optionally, the splitter includes a flip-flop, a logic processor, and a memory;
the trigger is respectively connected with the plurality of voting participant moving ends and the logic processor and is used for generating a starting signal and starting the logic processor when the user passwords sent by the plurality of voting participant moving ends are all correct;
the logic processor is respectively connected with the plurality of voting initiator moving terminals and the memory, and is used for separating voting participant identity information and time-stamped ticket information sent by each voting participant moving terminal, randomly storing the voting participant identity information into one of a plurality of voter queues in the memory, and randomly storing the time-stamped ticket information into one of the plurality of ticket queues in the memory;
the memory is connected with the voting initiator mobile terminal.
Optionally, the trigger, the logic processor, and the memory are all disposed in a cloud.
Optionally, the trigger is http trigger.
Optionally, the voting information includes a voting name, a voting purpose, a voting option, a voting deadline and a voting property;
a voting method based on an Ether house comprises the following steps:
initiating a vote through a moving end of a vote initiator to generate vote information, and sending the vote information to an Ether house;
sending the voting information to a plurality of voting participant moving ends through an ether house;
voting is carried out through the voting participant moving end according to the voting information, ticket information with a time stamp is generated, and the identity information of the voting participants and the ticket information with the time stamp are sent to the separator;
separating the voting participant identity information and the ticket information with the timestamp sent by each voting participant moving end through a separator, randomly storing the voting participant identity information into one voter queue of a plurality of voter queues, and randomly storing the ticket information with the timestamp into one vote queue of the plurality of vote queues;
randomly obtaining voting participant identity information and randomly obtaining ticket information with time stamps from a plurality of voter queues of a separator through the voting initiator mobile terminal, and sending the randomly obtained voting participant identity information and the randomly obtained ticket information with the time stamps to the ether house; destroying the voter queue and the ticket queue in the separator after acquiring all the identity information of the voting participants and the ticket information with time stamps;
arranging all randomly acquired identity information of voting participants into a voter queue after the sequential disorder through an Ethenhouse, arranging randomly acquired ticket information with time stamps into a ticket queue after the sequential disorder, determining a voting result according to the ticket queue after the sequential disorder, and sending the voting result to a voting initiator mobile terminal and a voting participant mobile terminal.
Optionally, the randomly obtaining the identity information of the voting participants and the randomly obtaining the ticket information with the time stamp from the plurality of voter queues of the separator through the voting initiator moving terminal specifically includes:
generation of intervals [1, N ] using random number generating function1]The first random number n1 and the interval [1, Mn1]Second random number m of innern1Wherein N is1Indicating the number of voter queues, Mn1A number of pieces representing identity information of voting participants in the n1 th voter's queue;
obtaining the m-th voter in the n 1-th voter queue from a plurality of voter queuesn1Individual voting participant identity information;
generation of intervals [1, N ] using random number generating function2]The first random number n2 and the interval [1, Mn2]Second random number m of innern2(ii) a Wherein N is2Indicating the number of ticket queues, Mn2A number of pieces representing ticket information with time stamps in the n2 th ticket queue;
obtaining the m-th of the n 2-th ticket queue from a plurality of the ticket queuesn2Time-stamped ticket information.
Optionally, all randomly acquired identity information of voting participants is arranged into a voter queue after the sequential disorder through an ethernet, randomly acquired ticket information with timestamps is arranged into a ticket queue after the sequential disorder, a voting result is determined according to the ticket queue after the sequential disorder, and the voting result is sent to a voting initiator mobile terminal and a voting participant mobile terminal, and then the method further comprises the following steps:
the voting participant moving end acquires the voter queue after the sequence is disordered from the Ethenhouse, judges whether the voter queue after the sequence is disordered has voting participant identity information of the voting participant moving end or not, and obtains a first judgment result;
if the first judgment result shows that the order is disordered, obtaining a sequential disordered ticket queue from an access ether house, judging whether a timestamp generated when the voting of the voting participant moving end exists in the sequential disordered ticket queue, and obtaining a second judgment result;
if the second judgment result is yes, judging whether the ticket information corresponding to the timestamps in the ticket queue after the sequence disorder is consistent with the ticket information generated when the voting participant moving end votes, and obtaining a third judgment result;
if the third judgment result shows that the vote is not tampered, outputting a verification result that the vote is not tampered;
and if the first judgment result, the second judgment result or the third judgment result is negative, outputting a verification result that the vote is tampered, and sending the tampered result to an administrator.
Optionally, the voting information includes a voting name, a voting purpose, a voting option, a voting deadline and a voting property.
According to the specific embodiment provided by the invention, the invention discloses the following technical effects:
the invention discloses a voting system based on an Ether house, which comprises: the system comprises a voting initiator moving end, a plurality of voting participant moving ends, an Ethenhouse and a separator; the voting initiator moving end is connected with the Ether house and used for initiating voting, generating voting information and sending the voting information to the Ether house; the ether house is respectively connected with the voting participant moving ends and is used for sending the voting information to the voting participant moving ends; the voting participant moving end is used for voting according to the voting information, generating ticket information with a time stamp and sending the voting participant identity information and the ticket information with the time stamp to the separator; the separator is used for separating the voting participant identity information and the ticket information with the timestamp sent by each voting participant moving end, randomly storing the voting participant identity information into one voter queue of a plurality of voter queues, and randomly storing the ticket information with the timestamp into one vote queue of the plurality of vote queues; the voting initiator moving end is connected with the separator and used for randomly acquiring voting participant identity information from a plurality of voter queues of the separator and randomly acquiring ticket information with time stamps from a plurality of ticket queues, sending the randomly acquired voting participant identity information and the ticket information with the time stamps to the ether house, and destroying the voter queues and the ticket queues in the separator after all the voting participant identity information and the ticket information with the time stamps are acquired; the Ether house is used for arranging all randomly acquired identity information of voting participants into a voter queue after the sequence is disordered, arranging randomly acquired ticket information with time stamps into a ticket queue after the sequence is disordered, determining a voting result according to the ticket queue after the sequence is disordered, and sending the voting result to a voting initiator moving end and a voting participant moving end. The invention utilizes the tamper-proof property of the Etheng and combines the separator to disorder the sequence of the identity information of the voting participants and the vote information, so that the identity information and the vote information can not correspond to each other, thereby ensuring the anonymity of the voting.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings needed to be used in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings without inventive exercise.
Fig. 1 is a structural diagram of a voting system based on an ethernet bay according to the present invention;
fig. 2 is an interface diagram of the moving end (the voting initiator moving end and the voting participant moving end) provided by the present invention;
FIG. 3 is a functional schematic of a separator provided by the present invention;
FIG. 4 is a functional schematic diagram of an Etherhouse provided by the present invention;
FIG. 5 is a real code diagram of the Etherhouse provided by the present invention;
fig. 6 is a flowchart of a voting method based on an etherhouse according to the present invention.
Detailed Description
The invention aims to provide a voting system and a voting method based on an Ethenhouse, which are used for ensuring that votes and voting results of voters are not tampered and anonymity in the voting process.
In order to make the aforementioned objects, features and advantages of the present invention comprehensible, embodiments accompanied with figures are described in further detail below.
As shown in fig. 1, the present invention provides a voting system based on an etherhouse, the voting system comprising: the system comprises a voting initiator moving end, a plurality of voting participant moving ends, an Ethenhouse and a separator; the voting initiator moving end is connected with the Ether house and used for initiating voting, generating voting information and sending the voting information to the Ether house; the ether house is respectively connected with the voting participant moving ends and is used for sending the voting information to the voting participant moving ends; the voting participant moving end is used for voting according to the voting information, generating ticket information with a time stamp and sending the voting participant identity information and the ticket information with the time stamp to the separator; the separator is used for separating the voting participant identity information and the ticket information with the time stamp sent by each voting participant moving end, randomly storing the voting participant identity information into one of the plurality of voter queues, and randomly storing the ticket information with the time stamp into one of the plurality of ticket queues. The voting initiator moving end is connected with the separator and used for randomly acquiring voting participant identity information from a plurality of voter queues of the separator and randomly acquiring ticket information with time stamps from a plurality of ticket queues, sending the randomly acquired voting participant identity information and the ticket information with the time stamps to the ether house, and destroying the voter queues and the ticket queues in the separator after all the voting participant identity information and the ticket information with the time stamps are acquired. The voting initiator mover of the present invention automatically retrieves voting information about the local ballot that has been separated from the separator at intervals t and interacts this information through the web3 to the etherhouse (the etherhouse contract). The Ether house is used for arranging all randomly acquired identity information of voting participants into a voter queue after the sequence is disordered, arranging randomly acquired ticket information with time stamps into a ticket queue after the sequence is disordered, determining a voting result according to the ticket queue after the sequence is disordered, and sending the voting result to a voting initiator moving end and a voting participant moving end. And the voting participant moving end is also used for acquiring the voter queue after the order disorder and the vote queue after the order disorder from the Etherhouse, and verifying whether the vote is falsified according to the voter queue after the order disorder and the vote queue after the order disorder. The voting initiator moving end and the voting participant moving end select different modes to display the voting results, and the display modes comprise open display, non-open display and the like.
The invention issues intelligent contracts on an ether house chain, and the intelligent contracts realize the following functions:
1. parameters for creating a vote: vote name, vote description, vote options, deadline, allowed users (optional), user weight (optional);
2. creating public and weightless voting;
3. creating public, weighted votes;
4. creating private and weightless voting;
5. creating private, weighted votes;
6. using a separator;
7. participating in voting;
8. calculating a voting hash value;
9. and acquiring current voting information.
Because the etherhouses belong to the blockchain 2.0, the etherhouses and the smart contracts released on the etherhouses share the advantages brought by the blockchain, including characteristics of openness, non-tampering and the like. The system draws the advantage of the non-tamper-proof property and overcomes the disadvantage of the non-anonymity caused by the block chain openness by adopting the separator.
Wherein, the voter queue: a list of saved voting participant identity information obtained after the separator performs the separation operation and subsequently stored on the ether house. A ticket queue: a list holding the votes cast by the voting participants and timestamp information of the votes obtained after the separator performs the separating operation and subsequently stored on the ether house.
The interface of the mobile terminal of the ticket sponsor or the mobile terminal of the voting participants is shown in fig. 2, and the implemented functions are as follows:
1) an app interface is realized;
2) generating user address and ticket information;
3) sending the user address and the ticket information to the separator;
4) and verifying that the client voting information is not tampered.
The separator comprises a trigger, a logic processor and a memory; the trigger is respectively connected with the plurality of voting participant moving ends and the logic processor and is used for generating a starting signal and starting the logic processor when the user passwords sent by the plurality of voting participant moving ends are all correct; the logic processor is respectively connected with the plurality of voting initiator moving terminals and the memory, and is used for separating voting participant identity information and time-stamped ticket information sent by each voting participant moving terminal, randomly storing the voting participant identity information into one of a plurality of voter queues in the memory, and randomly storing the time-stamped ticket information into one of the plurality of ticket queues in the memory; the memory is connected with the voting initiator mobile terminal. The working principle of the separator is as follows: when receiving the voting information transmitted from the mobile terminal, the separator randomly stores the separated user information in one of a plurality of queues, as well as the ticket information. The voting initiator locally acquires the information in the queues according to a random sequence, so that even a developer cannot acquire the corresponding relation between the user information and the bill information, and complete anonymity is realized. The trigger, the logic processor and the memory are all arranged at the cloud end. The trigger is HTTPtrigger. The separator of the invention eliminates the corresponding relation between the voting participants and the ticket information, and effectively realizes the safe anonymity. Even if the information is leaked due to attack on the separator, the leaked information is only two unrelated queues, and an attacker, a user, a system developer and a manager cannot obtain the corresponding relation between the voting participants and the information of the votes, namely, cannot know who casts which vote.
The working principle of the separator is shown in fig. 3.
(1) Description of the function:
anonymity is realized, and a password of multiple persons is needed for opening;
receiving and temporarily storing the address and ticket information sent by the front end (user end);
scrambling the information to obtain an address table and a tuple table;
sending the address table and the tuple table to an Ether house;
self-destruction is achieved.
(2) The splitter logic implements:
the operation of the separator is divided into the following parts: and starting the separator, temporarily storing the data of the persons and the tickets, disturbing the corresponding relation between the persons and the tickets, returning the disturbed data, and destroying the separator.
Starting a separator: the users input the stored passwords, and the separator is started after the passwords are verified to be correct.
Temporarily storing data of people and tickets, and disturbing the corresponding relation between the people and the tickets: when receiving the voting information transmitted from the mobile terminal, the separator randomly stores the separated user information in one of a plurality of queues, as well as the ticket information. The voting initiator locally acquires the information in the queues according to a random sequence, so that even a developer cannot acquire the corresponding relation between the user information and the bill information, and complete anonymity is realized.
Returning the scrambled data: because the separator cannot take the role of an ether house user, the invention needs to return the data list after the separator performs the separation operation to an ether house user (such as a voting creator or a voting administrator), and then sends the two disordered lists to the rear end of the ether house for storage in a contract interaction mode by using the address at one time. Therefore, data chaining and persistent storage of voting information are realized.
Destroying the separator: in order to avoid the leakage of the voting information, the separator is destroyed after one voting is finished, so that the voting information in the separator is also completely destroyed, and the leakage of the information (including developers) is avoided.
(3) The separator physically realizes that:
serverless application: considering that the splitter only completes a single work, the invention uses the Azure Function provided by the Microsoft Azure platform to realize the splitter, uses the HTTP trigger as a trigger, and when receiving the HTTP request sent by the mobile terminal, the Function deployed on the cloud is started, and receives the data of the person and the ticket and performs the splitting.
The design framework of the separator is as follows: the separator framework consists of three parts, namely a trigger responsible for triggering Funtion, a function responsible for logic processing and a Storage responsible for Storage, which are respectively communicated with the outside to jointly complete the information separation function. In fig. 3, the user interacts with the splitter through the HTTP protocol, and the Sponsor interacts with the storage queue at the mobile end;
the cloud is developed by adopting C # language, and the mobile terminal communicates with the cloud by adopting Java and Azure SDK for Java provided by Microsoft.
(4) Description of the separator characteristics:
using a serverless application: business logic is hosted that performs data separation without the need for a management or provisioning infrastructure.
Mimicking von neumann structure: the logic processing and the storage are separated, so that only the storage queue is required to be operated when the information is destroyed, and the whole separator is not required to be destroyed.
Data structure: random storage is adopted, and anonymous separation is guaranteed in one hundred percent. The queue for maintaining the user information and the bill information in the memory is realized by adopting a plurality of storage queues, and the data structure is applied to realize an algorithm for anonymous separation.
The idea of the separation algorithm is as follows: when receiving the voting information transmitted from the mobile terminal, the separator randomly stores the separated user information in one of a plurality of queues, as well as the ticket information. The voting initiator locally acquires the information in the queues according to a random sequence, so that even a developer cannot acquire the corresponding relation between the user information and the bill information, and complete anonymity is realized.
Information destruction: when the voting is finished, all the information related to the voting in the storage queue is thoroughly destroyed, so that anyone including a developer cannot inquire and track the information (a user himself holds a secret key to track his bill, which is described in the following description);
description of information destruction 1: the destruction of the splitter after each vote as mentioned above is not practical for multi-user modes of application, which is rather overloaded with splitters, and the present invention employs a von neumann architecture so that the destruction of information can directly operate the storage queue instead of destroying the splitter, which greatly reduces splitter load and greatly increases feasibility.
Description of information destruction 2: the storage queue is completely afraid of any access by irrelevant people, because the voter and ticket information in the queue is separated, and the stage includes that no one can find the corresponding relation between the voter and the ticket for the developer and the voter, so that the separator is perfectly designed to realize anonymity.
Azure Function parallel: when the speed of occurrence of a plurality of trigger events exceeds the processing speed of running of the single-thread function, the function can be called for many times in parallel during running. Each Function App instance may process concurrent Function calls in parallel using multiple threads. The maximum number of calls for the concurrent Function in each Function App instance varies depending on the type of trigger used and the resources used by the other functions in the Function App.
The separator realizes anonymity by disturbing the data correspondence, but needs to further verify the authenticity of the information, i.e. the ticket information is not tampered.
The voting information includes a voting name, a voting purpose (voting description), voting options, a voting deadline, and a voting property (private or not).
The functional schematic diagram of the ether house at the rear end of the ether house is shown in fig. 4.
(1) Description of function of Ether house:
a) providing an intelligent contract to realize non-tamper property and decentralization of app;
b) and receiving and storing the address table and the tuple table transmitted by the separator.
(2) Design implementation of Ethenhouse
i. The voting basic function is as follows: the voting function is accomplished by a Vote. sol Smart contract deployed on the Etherhouse. A UML diagram for the votes is shown in fig. 5.
In fig. 5, the member variable Poll represents a vote and is a structure type, which includes all information of a vote, such as the name of the vote, options, the result of the vote, whether to disclose, the end time, etc., wherein the hasVoted variable is a mapping type from an address to a pool (similar to Map in Java) for recording whether a user at a certain address has cast a vote.
The all hashes and the all publichashes record the Hash values of all votes and all public votes respectively, and the two are recorded separately for the convenience of front-end development.
The Hash2Poll, the addr2Hash and the addr2DeletedPoll are three mapping types, and the mapping from the voting Hash to the voting structure body, from the initiator address to the voting Hash and from the initiator address to the deleted votes are recorded respectively.
The calcPollHash () method encodes the name of the vote together with the address of the originator as ABI type and computes a hash value using the keccak256 algorithm and returns. ABI is an abbreviation for Application Binary Interface, which is a standard method for interacting with intelligent contracts specified in Taifang.
The createPoll () method creates a Poll type variable according to parameters such as the name, description and options of the vote input by the user, stores the Poll type variable in the storage of the contract, and calls a calPollHash () method to calculate the hash value of the vote and returns the hash value. The createPoll method realizes the functions of creating public/private, voter weighted and voter unweighted through heavy load respectively.
Parameters of the vote () method are voting Hash and options, and the function of voting for a certain option of a certain Poll is realized.
The cancel poll () method functions to cancel a vote, which can only be canceled by the originator of the vote.
The addadowedusers () method adds a user address for a private vote that can be voted, which only the voting initiator can do.
The parameter of getWinner () method is the hash value of a certain vote, and the option with the highest vote count of the vote is returned.
User tracking query: the voted user can verify that the vote information has not been tampered with by temporarily storing the Time stamp referred to in the data phase of the person and the vote (information unique to each user during a vote, generated by the user and stored locally). The following is a detailed process.
When the user needs to be authenticated, the user Addr sends a request to the intelligent contract of the ethernet by means of contract interaction, and the intelligent contract sends two lists L1 and L2 to the user.
The user side traverses the L1 table, and if the Addr exists in the L1 table, the ticket information of the user is uploaded to the Etherhouse; if the voting event does not exist, a notification request can be sent to the administrator to indicate that the voting information has deviation, the separator is required to be destroyed, and the voting event is restarted.
And the user side traverses the L2 table, if the L2 table has the unique timestamp Time of the user, Ticket information Ticket bound with the timestamp is taken out, and the user side judges whether the Ticket information is the Ticket information thrown by the user side. If the information is consistent, the information is not tampered; otherwise, the separator destruction operation is directly executed, and the voting activity is restarted.
By 5 stages of the separator and 2 authentication operations at the user end, the anonymity and the non-tamper-ability of the vote can be guaranteed.
As shown in fig. 6, the present invention provides a voting method based on an etherhouse, which includes the following steps:
step 601, initiating a vote through a moving end of a vote initiator, generating vote information, and sending the vote information to an Etherhouse. Wherein the voting information comprises a voting name, a voting purpose, a voting option, a voting deadline and a voting property.
Step 602, sending the voting information to a plurality of voting participant moving terminals through an ethernet.
And 603, voting by the voting participant moving end according to the voting information to generate the ticket information with the time stamp, and sending the voting participant identity information and the ticket information with the time stamp to the separator.
And step 604, separating the voting participant identity information and the time-stamped ticket information sent by each voting participant moving end through a separator, randomly storing the voting participant identity information into one of a plurality of voter queues, and randomly storing the time-stamped ticket information into one of the plurality of ticket queues.
Step 605, randomly obtaining the voting participant identity information and the ticket information with the time stamp from the plurality of voter queues of the separator through the voting initiator moving terminal, and sending the randomly obtained voting participant identity information and the ticket information with the time stamp to the ether house; and destroying the voter queue and the ticket queue in the separator after acquiring all the identity information of the voting participants and the ticket information with time stamps.
The step 605 of obtaining randomly the identity information of the voting participants and obtaining randomly the ticket information with time stamps in the plurality of ticket queues from the plurality of voter queues of the separator through the voting initiator moving terminal specifically includes: generation of intervals [1, N ] using random number generating function1]The first random number n1 and the interval [1, Mn1]Second random number m of innern1Wherein N is1Indicating the number of voter queues, Mn1A number of pieces representing identity information of voting participants in the n1 th voter's queue; obtaining the m-th voter in the n 1-th voter queue from a plurality of voter queuesn1Individual voting participant identity information; benefit toGeneration of intervals [1, N ] using random number generating functions2]The first random number n2 and the interval [1, Mn2]Second random number m of innern2(ii) a Wherein N is2Indicating the number of ticket queues, Mn2A number of pieces representing ticket information with time stamps in the n2 th ticket queue; obtaining the m-th of the n 2-th ticket queue from a plurality of the ticket queuesn2Time-stamped ticket information.
And 606, arranging all randomly acquired identity information of the voting participants into a voter queue after the sequence is disturbed through an ether house, arranging randomly acquired ticket information with time stamps into a ticket queue after the sequence is disturbed, determining a voting result according to the ticket queue after the sequence is disturbed, and sending the voting result to the voting initiator moving end and the voting participant moving end.
If a user has a need to verify whether the own ticket is tampered, the user requests the ether house through the web3j, and the requested content obtains two queues for applying, namely a voter queue and a ticket queue. The intelligent contract interacts the two queues to the mobile terminal applying for verification, and the voting participant mobile terminal checks whether the bill information is tampered according to the following algorithm: when the user needs to be authenticated, the voting participant moving terminal Addr sends a request to an ethernet intelligent contract in a contract interaction mode, and the intelligent contract sends two list voter queues L1 and a vote queue L2 to the voting participant moving terminal. The voting participant moving end traverses the L1 table, and if Addr exists in the L1 table, the result shows that the user's ticket information is uploaded to an Etherhouse; if the voting event does not exist, a notification request can be sent to the administrator to indicate that the voting information has deviation, the separator is required to be destroyed, and the voting event is restarted. And the user side traverses the L2 table, if the L2 table has the unique timestamp Time of the user, Ticket information Ticket bound with the timestamp is taken out, and the user side judges whether the Ticket information is the Ticket information thrown by the user side. If the information is consistent, the information is not tampered; otherwise, a notification request can be sent to the administrator to indicate that the voting information is deviated, the separator is required to be destroyed, and the voting activity is restarted.
Specifically, the step 606 arranges all randomly acquired identity information of voting participants into a voter queue after the sequential disorder through an ethernet, arranges randomly acquired ticket information with timestamps into a vote queue after the sequential disorder, determines a voting result according to the vote queue after the sequential disorder, and sends the voting result to a voting initiator moving end and a voting participant moving end, and then further includes: the voting participant moving end acquires the voter queue after the sequence is disordered from the Ethenhouse, judges whether the voter queue after the sequence is disordered has voting participant identity information of the voting participant moving end or not, and obtains a first judgment result; if the first judgment result shows that the order is disordered, obtaining a sequential disordered ticket queue from an access ether house, judging whether a timestamp generated when the voting of the voting participant moving end exists in the sequential disordered ticket queue, and obtaining a second judgment result; if the second judgment result is yes, judging whether the ticket information corresponding to the timestamps in the ticket queue after the sequence disorder is consistent with the ticket information generated when the voting participant moving end votes, and obtaining a third judgment result; if the third judgment result shows that the vote is not tampered, outputting a verification result that the vote is not tampered; and if the first judgment result, the second judgment result or the third judgment result is negative, outputting a verification result that the vote is tampered, and sending the tampered result to an administrator.
The invention has the advantages that:
1. decentralization of the vote creation process;
2. the bill information can not be tampered;
3. the vote is anonymous.
Point 1 and point 2 are from the block chain technology of the Ether house, namely the rear end of the Ether house; blockchains are a term of art in information technology. In essence, the system is a shared database, and the data or information stored in the shared database has the characteristics of 'unforgeability', 'whole-course trace', 'traceability', 'public transparency', 'collective maintenance', and the like. An etherhouse intelligent contract is a piece of code that can be executed by an etherhouse virtual machine. Stored on the blockchain in an etherhouse-specific binary form and interpreted by the etherhouse virtual machine, called etherhouse virtual machine code (Bytecode). Due to the self characteristics of the block chain, transaction information, contracts and the like on the chain cannot be tampered, and the non-tampering characteristics are just suitable for voting activities, so that the project adopts an Ethengfang to carry out rear-end development. The macro idea is to store the voting information on the Etherhouse nodes and then use the information to complete the required functions.
Point 3 originates from the separator; the Ethernet voting system without the separator cannot ensure the anonymity of voting, because each user uploads the address of the user to an Ethernet block chain during voting, and although the user can not be seen from the address, the address and the user are in one-to-one correspondence, and after a plurality of votes in a certain specific range are analyzed, the correspondence between the user and the address is easily obtained, so that the Ethernet voting system without the separator can only ensure the non-real-name property but cannot ensure the anonymity. The separator is used for disordering the relationship between voting information (which option is cast) in one voting and user (voter) information, simultaneously ensuring that the content of the separator is not obtained or interfered by the outside, and automatically destroying the content after one-time separation is completed, thereby realizing the anonymity of the voting system.
The embodiments in the present description are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
The principle and the implementation manner of the present invention are explained by applying specific examples, the above description of the embodiments is only used to help understanding the method of the present invention and the core idea thereof, the described embodiments are only a part of the embodiments of the present invention, not all embodiments, and all other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative efforts belong to the protection scope of the present invention.

Claims (9)

1. A voting system based on an Ether house is characterized in that the voting system comprises a voting initiator moving end, a plurality of voting participant moving ends, the Ether house and a separator;
the voting initiator moving end is connected with the Ether house and used for initiating voting, generating voting information and sending the voting information to the Ether house;
the ether house is respectively connected with the voting participant moving ends and is used for sending the voting information to the voting participant moving ends;
the voting participant moving end is used for voting according to the voting information, generating ticket information with a time stamp and sending the voting participant identity information and the ticket information with the time stamp to the separator;
the separator is used for separating the voting participant identity information and the ticket information with the timestamp sent by each voting participant moving end, randomly storing the voting participant identity information into one voter queue of a plurality of voter queues, and randomly storing the ticket information with the timestamp into one vote queue of the plurality of vote queues;
the voting initiator moving end is connected with the separator, and is also used for randomly acquiring voting participant identity information from a plurality of voter queues of the separator and randomly acquiring ticket information with timestamps from a plurality of ticket queues, sending the randomly acquired voting participant identity information and the ticket information with the timestamps to the Ether house, and destroying the voter queues and the ticket queues in the separator after all the voting participant identity information and the ticket information with the timestamps are acquired;
the Ethenhouse is also used for arranging all randomly acquired identity information of voting participants into a voter queue after the sequence is disordered, arranging randomly acquired ticket information with time stamps into a ticket queue after the sequence is disordered, determining a voting result according to the ticket queue after the sequence is disordered, and sending the voting result to a voting initiator moving end and a voting participant moving end;
and the voting participant moving end is also used for acquiring the voter queue after the order disorder and the vote queue after the order disorder from the Etherhouse, and verifying whether the vote is falsified according to the voter queue after the order disorder and the vote queue after the order disorder.
2. The etherhouse-based voting system of claim 1, wherein the splitter comprises a trigger, a logical processor, and a memory;
the trigger is respectively connected with the plurality of voting participant moving ends and the logic processor and is used for generating a starting signal and starting the logic processor when the user passwords sent by the plurality of voting participant moving ends are all correct;
the logic processor is respectively connected with the plurality of voting initiator moving terminals and the memory, and is used for separating voting participant identity information and time-stamped ticket information sent by each voting participant moving terminal, randomly storing the voting participant identity information into one of a plurality of voter queues in the memory, and randomly storing the time-stamped ticket information into one of the plurality of ticket queues in the memory;
the memory is connected with the voting initiator mobile terminal.
3. The etherhouse-based voting system of claim 2, wherein the trigger, the logical processor, and the memory are all disposed in a cloud.
4. An etherhouse-based voting system according to claim 2, wherein the trigger is HTTPTrigger.
5. An etherhouse-based voting system according to claim 1, wherein the voting information comprises a vote name, a voting purpose, a voting choice, a voting deadline and a voting nature.
6. A voting method based on an Ether house is characterized by comprising the following steps:
initiating a vote through a moving end of a vote initiator to generate vote information, and sending the vote information to an Ether house;
sending the voting information to a plurality of voting participant moving ends through an ether house;
voting is carried out through the voting participant moving end according to the voting information, ticket information with a time stamp is generated, and the identity information of the voting participants and the ticket information with the time stamp are sent to the separator;
separating the voting participant identity information and the ticket information with the timestamp sent by each voting participant moving end through a separator, randomly storing the voting participant identity information into one voter queue of a plurality of voter queues, and randomly storing the ticket information with the timestamp into one vote queue of the plurality of vote queues;
randomly obtaining voting participant identity information and randomly obtaining ticket information with time stamps from a plurality of voter queues of a separator through the voting initiator mobile terminal, and sending the randomly obtained voting participant identity information and the randomly obtained ticket information with the time stamps to the ether house; destroying the voter queue and the ticket queue in the separator after acquiring all the identity information of the voting participants and the ticket information with time stamps;
arranging all randomly acquired identity information of voting participants into a voter queue after the sequential disorder through an Ethenhouse, arranging randomly acquired ticket information with time stamps into a ticket queue after the sequential disorder, determining a voting result according to the ticket queue after the sequential disorder, and sending the voting result to a voting initiator mobile terminal and a voting participant mobile terminal.
7. A voting method according to claim 6, wherein the randomly obtaining voting participant identity information from a plurality of voter queues of a separator and randomly obtaining time-stamped vote information from a plurality of vote queues by the voting initiator mobile terminal comprises:
generation of intervals [1, N ] using random number generating function1]The first random number n1 and the interval [1, Mn1]Second random number m of innern1Wherein N is1Indicating the number of voter queues, Mn1A number of pieces representing identity information of voting participants in the n1 th voter's queue;
obtaining the m-th voter in the n 1-th voter queue from a plurality of voter queuesn1Individual voting participant identity information;
generation of intervals [1, N ] using random number generating function2]The first random number n2 and the interval [1, Mn2]Second random number m of innern2(ii) a Wherein N is2Indicating the number of ticket queues, Mn2A number of pieces representing ticket information with time stamps in the n2 th ticket queue;
obtaining the m-th of the n 2-th ticket queue from a plurality of the ticket queuesn2Time-stamped ticket information.
8. A voting method according to claim 6, wherein all randomly acquired voting participant identity information is arranged into a sequentially shuffled voter queue through the ethernet, randomly acquired time-stamped vote information is arranged into a sequentially shuffled vote queue, a voting result is determined according to the sequentially shuffled vote queue, and the voting result is transmitted to the voting initiator mobile terminal and the voting participant mobile terminal, and then further comprising:
the voting participant moving end acquires the voter queue after the sequence is disordered from the Ethenhouse, judges whether the voter queue after the sequence is disordered has voting participant identity information of the voting participant moving end or not, and obtains a first judgment result;
if the first judgment result shows that the order is disordered, obtaining a sequential disordered ticket queue from an accessed ether house, judging whether a timestamp generated when the voting of the voting participant moving end exists in the sequential disordered ticket queue, and obtaining a second judgment result;
if the second judgment result is yes, judging whether the ticket information corresponding to the timestamps in the ticket queue after the sequence disorder is consistent with the ticket information generated when the voting participant moving end votes, and obtaining a third judgment result;
if the third judgment result shows that the vote is not tampered, outputting a verification result that the vote is not tampered;
and if the first judgment result, the second judgment result or the third judgment result is negative, outputting a verification result that the vote is tampered, and sending the tampered result to an administrator.
9. An etherhouse-based voting method according to claim 6, wherein the voting information comprises a vote name, a voting purpose, a voting choice, a voting deadline, and a voting nature.
CN202011277720.4A 2020-11-16 2020-11-16 Voting system and method based on Ether house Active CN112509206B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011277720.4A CN112509206B (en) 2020-11-16 2020-11-16 Voting system and method based on Ether house

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011277720.4A CN112509206B (en) 2020-11-16 2020-11-16 Voting system and method based on Ether house

Publications (2)

Publication Number Publication Date
CN112509206A true CN112509206A (en) 2021-03-16
CN112509206B CN112509206B (en) 2022-05-03

Family

ID=74957879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011277720.4A Active CN112509206B (en) 2020-11-16 2020-11-16 Voting system and method based on Ether house

Country Status (1)

Country Link
CN (1) CN112509206B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009193544A (en) * 2008-02-18 2009-08-27 Univ Of Fukui Electronic voting method, electronic voting system and program
CN106408734A (en) * 2016-10-25 2017-02-15 西华大学 Network-based secret ballot method and device
CN108833082A (en) * 2018-06-25 2018-11-16 东北大学秦皇岛分校 A kind of secret protection ballot system based on block chain decentralization
CN109523683A (en) * 2018-12-29 2019-03-26 杭州趣链科技有限公司 A kind of blank electronic voting method based on block chain technology
CN110232764A (en) * 2019-05-16 2019-09-13 暨南大学 Anonymous Electronic Voting method and system based on block chain
CN110958253A (en) * 2019-12-05 2020-04-03 全链通有限公司 Electronic voting method, device and storage medium based on block chain
CN111817855A (en) * 2020-06-10 2020-10-23 北京航空航天大学 Electronic voting method and system based on Ether house block chain

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009193544A (en) * 2008-02-18 2009-08-27 Univ Of Fukui Electronic voting method, electronic voting system and program
CN106408734A (en) * 2016-10-25 2017-02-15 西华大学 Network-based secret ballot method and device
CN108833082A (en) * 2018-06-25 2018-11-16 东北大学秦皇岛分校 A kind of secret protection ballot system based on block chain decentralization
CN109523683A (en) * 2018-12-29 2019-03-26 杭州趣链科技有限公司 A kind of blank electronic voting method based on block chain technology
CN110232764A (en) * 2019-05-16 2019-09-13 暨南大学 Anonymous Electronic Voting method and system based on block chain
CN110958253A (en) * 2019-12-05 2020-04-03 全链通有限公司 Electronic voting method, device and storage medium based on block chain
CN111817855A (en) * 2020-06-10 2020-10-23 北京航空航天大学 Electronic voting method and system based on Ether house block chain

Also Published As

Publication number Publication date
CN112509206B (en) 2022-05-03

Similar Documents

Publication Publication Date Title
Khoury et al. Decentralized voting platform based on ethereum blockchain
Shukla et al. Online voting application using ethereum blockchain
CN108881167A (en) A kind of intelligent contract of finite field block catenary system
CN109584432A (en) Object select method and device, electronic equipment
CN109243045A (en) A kind of voting method, device, computer equipment and computer readable storage medium
CN110009494A (en) A kind of method and device monitoring the transaction content in block chain
Xiao et al. A survey of accountability in computer networks and distributed systems
Teja et al. Secured voting through Blockchain technology
Khelifi et al. M-Vote: a reliable and highly secure mobile voting system
Vairam et al. Blockchain based voting system in local network
Vijayalakshmi et al. A novel p2p based system with blockchain for secured voting scheme
CN110278246B (en) Certificate storage service transfer method, device and equipment for alliance chain
CN110647583A (en) Block chain construction method, device, terminal and medium
CN112509206B (en) Voting system and method based on Ether house
Chaudhary et al. Decentralized voting platform based on Ethereum blockchain
EP1813052A1 (en) Method of securing transactions performed remotely over an open communication network
Singh et al. Blockchain-based decentralized voting system security Perspective: Safe and secure for digital voting system
Auerbach et al. Inverse-sybil attacks in automated contact tracing
Kumar et al. VOTEETH: An E-voting system using blockchain
CN115118434A (en) Key management method and device based on block chain
Donepudi et al. Blockchain oriented hyperledger based performance driven framework for mass e-voting
Nagar et al. Implementation of Blockchain for Fair polling System
Bonthu et al. Blockchain for Electronic Voting System
Solanki et al. Proposed Secure and Robust Voting System Using Blockchain Conceptual Framework
WO2017084080A1 (en) Method and apparatus for generating winning numbers

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