CN111817855A - Electronic voting method and system based on Ether house block chain - Google Patents

Electronic voting method and system based on Ether house block chain Download PDF

Info

Publication number
CN111817855A
CN111817855A CN202010524266.1A CN202010524266A CN111817855A CN 111817855 A CN111817855 A CN 111817855A CN 202010524266 A CN202010524266 A CN 202010524266A CN 111817855 A CN111817855 A CN 111817855A
Authority
CN
China
Prior art keywords
voting
addr
blind
intelligent contract
sending
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
CN202010524266.1A
Other languages
Chinese (zh)
Other versions
CN111817855B (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN202010524266.1A priority Critical patent/CN111817855B/en
Publication of CN111817855A publication Critical patent/CN111817855A/en
Application granted granted Critical
Publication of CN111817855B publication Critical patent/CN111817855B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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 discloses an electronic voting method and system based on an Ether house block chain, wherein the method comprises the following steps: voting terminal ViTo select people PiIdentity information of and the blinded Etherhouse account { Addri}blindSending to an authentication server to get an authentication signature { { Addr { (Addr) }i}blind}signAnd to { { Addr { (Addr) }i}blind}signBlind operation is removed to obtain voting authority signature { Addri}signWherein i is an integer which is more than 0 and less than or equal to M, and M is the number of voters; the voting management end initializes the election information in the intelligent contract and synchronizes the information to the public platform; voting terminal ViGenerating a random number aiAnd salts of the random number siCalculating a commitment value H of the random numberi=hash(Addri,ai,si) Then receive the voter PiInput vote value viAccording to aiAnd viCalculating an encrypted vote value
Figure DDA0002533238920000011
And sending the contract to an intelligent contract; stopping receiving the voting when the preset voting end time is reached, and sending the voting information according to the initialized voting information,
Figure DDA0002533238920000012
Addri、aiAnd siVerification viIs valid, v is validiAnd sending the information to a voting management end, and counting the votes by the voting management end. Therefore, the method can reduce the voting cost, ensure the correctness, fairness and stability of the voting result and improve the voting flexibility.

Description

Electronic voting method and system based on Ether house block chain
Technical Field
The invention relates to the technical field of information security, in particular to an electronic voting method based on an Ethernet house block chain and an electronic voting system based on the Ethernet house block chain.
Background
With the rapid development of the block chain technology, the congenital advantages of decentralization, traceability, non-falsification and openness are well applied to the electronic voting field, and a large number of electronic voting methods are realized by means of the block chain technology. At present, voting methods implemented based on block chains are mainly divided into two types: a self-vote voting method and a non-self-vote voting method.
The self-vote voting method has the advantages that the privacy of votes can be protected to the greatest extent, a trusted third party is not depended on, and the relevance between the votes and voter identities is cut off. However, the method has limited voter scale, insufficient bearing capacity, only supports small-scale conference room voting, has poor robustness, causes interruption of voting protocols when voters quit in the midway, has high calculation cost in the voting process, and is difficult to support a complex scene of one person with multiple votes.
The non-self-vote voting method has the advantages that the voting content and the vote counting method are simple and efficient, and the robustness is good. However, the dependence of the method on a trusted third party is ubiquitous, the design and practice of the voter carrying capacity are lacked, the fairness guarantee of the voting process is guaranteed, and an effective restriction means for the behavior of the voter is lacked.
Disclosure of Invention
The present invention is directed to solving, at least to some extent, one of the technical problems in the related art. Therefore, an object of the present invention is to provide an electronic voting method based on an etherhouse block chain, so as to reduce voting cost, ensure correctness, fairness and stability of voting results, and improve voting flexibility.
The second purpose of the invention is to provide an electronic voting system based on an Etherhouse block chain.
In order to achieve the above object, an embodiment of a first aspect of the present invention provides an electronic voting method based on an etherhouse block chain, where the method includes the following steps: voting terminal ViTo select people PiIdentity information of and the blinded Etherhouse account { Addri}blindSending to an authentication server to obtain an authentication signature { { Addr { (Addr) }i}blind}signAnd to { { Addr { (Addr) }i}blind}signObtaining a voting authority signature { Addr after carrying out blind removing operationi}signWherein i is an integer which is more than 0 and less than or equal to M, and M is the number of voters; the voting management end initializes the election information in the intelligent contract of the Ethermen and synchronizes the initialized election information to the public platform, wherein the initialized election information comprises preset voting end time, the number of candidates, the minimum number of selectable people and the maximum number of selectable people; voting terminal ViGenerating a random number aiAnd said random number aiSalts of (I) with (II)iAnd according to Addri、aiAnd siCalculating to obtain the commitment value H of the random numberiAnd H andisending the contract to the intelligent contract; voting terminal ViReceiving voter PiInput vote value viAccording to aiAnd viCalculating an encrypted vote value
Figure BDA0002533238900000021
And will be
Figure BDA0002533238900000022
Sending the contract to the intelligent contract; voting terminal ViAddr of Ether house accountiA random number aiAnd said random number aiSalts of (I) with (II)iSending the contract to the intelligent contract; after the preset voting end time is reached, the intelligent contract stops receiving the votes and starts to vote according to the initialized voting information,
Figure BDA0002533238900000023
Addri、aiAnd siVerification viIs valid, and will be combinedV of methodiAnd sending the data to the voting management terminal so that the voting management terminal can count the votes.
According to the voting method provided by the embodiment of the invention, firstly, the identity information of the voter and the blinded Ether house account are authenticated and blinded to obtain the voting authority signature of the voter, the voting value is input at the voting end and then encrypted, the encrypted voting value is sent to an intelligent contract, the Ether house account number and the random number are also sent to the intelligent contract, and finally, the validity of the voting value is verified according to the initialized voting information, the encrypted voting value, the Ether house account number and the random number. Therefore, the method can reduce the voting cost, ensure the correctness, fairness and stability of the voting result and improve the voting flexibility
In some examples of the invention, at voting end ViTo select people PiIdentity information of and the blinded Etherhouse account { Addri}blindBefore sending to the authentication server, the method further comprises: the voting management end issues an intelligent contract address Addr, generates a public key (n, e) and a private key d required by RSA signature, publicly verifies the public key (n, e), and synchronizes the public key (n, e) to the intelligent contract and the public platform; wherein, the blinded Ether house account { Addri}blindAccording to the formula { Addri}blind=Addri·ke(modn) get, the voting authority signature { Addri}signAccording to the formula { Addri}sign=k-1Addri(modn), where k is a blinding factor, generated from the public key (n, e), and satisfies (n, k) 1; the authentication server according to the formula { { Addri}blind}sign=({Addri}blind)d(modn) pairs { Addri}blindPerforming RSA signature to obtain an authentication signature { { Addr { (Addr) }i}blind}sign
In some examples of the invention, the authentication server is obtaining an authentication signature { { Addr { (Addr) }i}blind}signThe method further comprises: the authentication server will elect people PiThe identity information and the current number count of the authenticated voters are synchronized to the public platform.
In some examples of the invention, the voting end ViAfter obtaining the voting authority signature (Addr)i}signThereafter, the method further comprises: voting terminal ViSigning the voting authority { Addr) using the public key (n, e)i}signThe verification is carried out, and after the verification is passed, the account Addr of the Etherhouse is logged iniAnd sending check-in transaction information to the intelligent contract, wherein the check-in transaction information comprises { Addri}sign(ii) a The smart contract uses the public key (n, e) to pair the { Addri}signPerforming verification, and after the verification is passed, adding AddriAnd adding a legal voter address set S.
In some examples of the present invention, the public key (n, e) and the private key d required for generating the RSA signature include: generating a large prime number p, q, wherein,
Figure BDA0002533238900000031
n is 1024 bits in length; calculating n ═ pq and
Figure BDA0002533238900000032
a positive integer e is randomly selected, wherein,
Figure BDA0002533238900000033
and is
Figure BDA0002533238900000034
The integer d is calculated using an extended euclidean algorithm, wherein,
Figure BDA0002533238900000035
and is
Figure BDA0002533238900000036
d>2N/2And N is the number of bits of N.
In some examples of the invention, the method further comprises: voting terminal ViIn the generation of random number aiWhile generatingOrganic salt siAnd using a hash algorithm to the Addri、aiAnd siCalculating to obtain the commitment value H of the random numberi=hash(Addri,ai,si) And H andi=hash(Addri,ai,si) Sending to the intelligent contract and voting terminal ViIn-store Etherhouse account AddriAnd aiSending s to the intelligent contract and simultaneously sending siSending the contract to the intelligent contract; wherein the intelligent contract is based on the initialized election information,
Figure BDA0002533238900000037
AddriAnd aiVerification viThe legitimacy of (a) includes: the voting management terminal adopts a hash algorithm to carry out the Addri、aiAnd siCalculating to obtain the acceptance verification value H of the random numberi', and verify Hi' and HiWhether they are consistent, and in Hi' and HiWhen the data are consistent, selecting information is initialized,
Figure BDA0002533238900000038
And aiVerification viThe validity of (2).
In some examples of the invention, the election information according to initialization and aiVerification viThe legitimacy of (a) includes: according to
Figure BDA0002533238900000039
And aiGet the voter PiThe voting value v ofi(ii) a According to the voting value viDetermining a candidate count cnt; determining whether the number of candidates cnt satisfies kmin≤cnt≤kmaxWherein k isminTo the minimum number of selectable persons, kmaxThe maximum number of selectable people; if cnt satisfies kmin≤cnt≤kmaxThen, the voting value v is determinediAnd (4) legality.
In some examples of the invention, the initialized election information further includes a random number commitment value commit time, a random number commit timeAnd guaranteeing the amount of the gold, wherein the method further comprises the following steps: voting terminal ViIn the reaction of Hi=hash(Addri,ai,si) While sending to the said intelligent contract, still submit the guarantee fund d ether of the said amount to the said intelligent contract; wherein, if the voting end ViIf no guarantee fund is submitted before the commitment value submission time of the random number, the intelligent contract submits the voting end ViCorresponding voter PiRecording into a blacklist; if the voting terminal ViUncommitted random numbers before the random number commit time, or, viIf the verification process of (2) is wrong, or no voting is carried out before the preset voting end time, the intelligent contract will use the voting end ViCorresponding voter PiEnter into black list and do not receive voter PiThe guarantee gold.
In some examples of the invention, the initialized election information further includes a ticket counting result publication time, the method further comprising: the voting management end issues a vote counting result to an Ethernet block chain through the intelligent contract and synchronizes the vote counting result to the public display platform; and after the ticket counting result is published or the current time exceeds the time for publishing the ticket counting result, the intelligent contract returns the guarantee funds of all the voters which are not listed in the blacklist, and averagely distributes the unreceived guarantee funds to the voters which are not listed in the blacklist.
In order to achieve the above object, a second aspect of the present invention provides an electronic voting system based on an etherhouse blockchain, where the system includes M voting terminals, an authentication server, a presentation platform, a voting management terminal, and an etherhouse blockchain, where the voting terminal V is a public terminal, and the etherhouse blockchain is a public terminal, and the electronic voting terminal V is a public terminal, and the etherhouse blockchain is a public terminal, and the public terminal is a public terminal, a public terminaliFor choosing voter PiIdentity information of and the blinded Etherhouse account { Addri}blindSending to an authentication server to obtain an authentication signature { { Addr { (Addr) }i}blind}signAnd to { { Addr { (Addr) }i}blind}signObtaining a voting authority signature { Addr after carrying out blind removing operationi}signWherein i is an integer which is more than 0 and less than or equal to M, and M is the number of voters; voting management terminal for the intelligence of Ether houseInitializing election information in a contract, and synchronizing the initialized election information to the public display platform, wherein the initialized election information comprises preset voting end time, candidate number, minimum selectable number and maximum selectable number; voting terminal ViAnd also for generating random numbers aiAnd said random number aiSalts of (I) with (II)iAnd according to Addri、aiAnd siCalculating to obtain the commitment value H of the random numberiAnd H andisending the contract to the intelligent contract and receiving the voter PiInput vote value viAccording to aiAnd viCalculating an encrypted vote value
Figure BDA0002533238900000041
And will be
Figure BDA0002533238900000042
Sending the result to the intelligent contract and sending the Addr of the Ether house accountiA random number aiAnd said random number aiSalts of (I) with (II)iSending the contract to the intelligent contract; an Ether house block chain for stopping receiving the voting after the preset voting end time is reached and sending the voting information to the Ether house block chain according to the initialized voting information,
Figure BDA0002533238900000043
Addri、aiAnd siVerification viAnd v to be legaliAnd sending the data to the voting management terminal so that the voting management terminal can count the votes.
According to the voting system provided by the embodiment of the invention, identity information of voters and blind ether house accounts are authenticated by a voting end, blind removal operation is carried out to obtain voting authority signatures of the voters, the voting end inputs voting values, then encryption is carried out, the encrypted voting values are sent to an intelligent contract, ether house account numbers and random numbers are also sent to the intelligent contract, and finally the legality of the voting values is verified according to initialized voting information, the encrypted voting values, the ether house account numbers and the random numbers. Therefore, the method can reduce the voting cost, ensure the correctness, fairness and stability of the voting result and improve the voting flexibility.
Additional aspects and advantages of the invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.
Drawings
FIG. 1 is a flow diagram of an electronic voting method according to one embodiment of the present invention;
FIG. 2 is a flowchart of a method for determining whether a voting result is legal according to an embodiment of the present invention;
FIG. 3 is a flow chart of the vote counting step of the electronic voting method according to one embodiment of the invention;
fig. 4 is a block diagram of an electronic voting system according to an embodiment of the present invention.
Detailed Description
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the drawings are illustrative and intended to be illustrative of the invention and are not to be construed as limiting the invention.
The electronic voting method and system based on the ether house block chain according to the embodiment of the present invention are described below with reference to the accompanying drawings.
Fig. 1 is a flow chart of an electronic voting method according to an embodiment of the present invention.
In this embodiment, as shown in fig. 1, the electronic voting method based on the ether house block chain includes the following steps:
s10, voting end ViTo select people PiIdentity information of and the blinded Etherhouse account { Addri}blindSending to an authentication server to obtain an authentication signature { { Addr { (Addr) }i}blind}signAnd to { { Addr { (Addr) }i}blind}signObtaining a voting authority signature { Addr after carrying out blind removing operationi}signWherein i is an integer greater than 0 and less than or equal to M, and M is the number of voters.
Specifically, before voting, voters need to acquire voting authority at a voting end, and each voter needs to register an etherhouse account AddriThe voter can be guaranteed to normally participate in the voting. For example, if i is 5 and the voter number M is 10, i is an integer greater than 0 and smaller than 10, which meets the requirement. In this example, the voter P5The registered Ether Fang account number is Addr5Voting terminal V5To select people P5Identity information of and the blinded Etherhouse account { Addr5}blindSending to an authentication server to obtain an authentication signature { { Addr { (Addr) }5}blind}sign. It should be noted that the identity information of the voter must be unique in the voting process, such as the correspondence between the seat number and the name, or the correspondence between the identity card and the fingerprint information, so as to improve the authentication accuracy. After obtaining the authentication signature { { Addr { (Addr)5}blind}signAnd then, carrying out blind removing operation on the signature to obtain a voting authority signature { Addr5}sign. It will be appreciated that all voters participating in a ballot must be authenticated prior to the ballot to obtain a corresponding voting authority signature, thereby ensuring that the voters can vote normally and improving the validity of the ballot.
Additionally, in some embodiments, at the voting end ViTo select people PiIdentity information of and the blinded Etherhouse account { Addri}blindBefore sending to the authentication server, issuing an intelligent contract address Addr through a voting management end, generating a public key (n, e) and a private key d required by RSA signature and a public signature verification public key (n, e), and synchronizing the public key (n, e) to an intelligent contract and a public display platform.
Wherein, the blinded Ether house account { Addri}blindAccording to the formula { Addri}blind=Addri·ke(modn) get, the voting authority signature { Addri}signAccording to the formula { Addri}sign=k-1Addri(modn) where k is a blinding factor, is generated from the public key (n, e), and satisfies (n)K) 1; the authentication server follows the formula { { Addri}blind}sign=({Addri}blind)d(modn) pairs { Addri}blindPerforming RSA signature to obtain an authentication signature { { Addr { (Addr) }i}blind}sign
In particular, the blinding function may be defined as { Addr }i}blind=Addri·ke(modn), define the de-blinding function as { Addri}sign=k-1Addri(modn) each voter needs to execute the program locally against his Etherhouse account number AddriA blinding function and a de-blinding function are performed. For voter P at authentication serveriAfter passing the identity authentication, the voter P can be authenticatediProvided { Addri}blindPerforming RSA signature, specifically passing the authentication formula { { Addr { (Addr)i}blind}sign=({Addri}blind)d(modn) and outputs the corresponding authentication signature { { Addr { (mod n) }i}blind}signSending the authentication signature to the voter Pi. In some examples, the authentication server may also be obtaining the authentication signature { { Addr { (Addr) }i}blind}signThen, the voter PiThe identity information and the current authenticated voter number count are synchronized to the public display platform. It will be appreciated that if the voter finds that his name is not publicized or knows that there are voters in the publicity results who are not actually participating in the vote, the administrator can make a complaint at the publicity platform and require correction.
It should be noted that the public key (n, e) and the private key d required for generating the RSA signature include: generating a large prime number p, q, wherein,
Figure BDA0002533238900000061
n is 1024 bits in length; calculating n ═ pq and
Figure BDA0002533238900000062
a positive integer e is randomly selected, wherein,
Figure BDA0002533238900000063
and is
Figure BDA0002533238900000064
The integer d is calculated using an extended euclidean algorithm, wherein,
Figure BDA0002533238900000065
and is
Figure BDA0002533238900000066
d>2N/2And N is the number of bits of N.
Optionally, the length of n may be selected according to the encryption degree of the voting method, and the longer the length, the higher the encryption degree, and the higher the safety factor.
In some examples, the voting end ViAfter obtaining the voting authority signature (Addr)i}signThen, the voting terminal ViSigning the voting authority { Addr) using the public key (n, e)i}signThe verification is carried out, and after the verification is passed, the account Addr of the Etherhouse is logged iniAnd sending the check-in transaction information to the intelligent contract, wherein the check-in transaction information comprises { Addri}sign
Intelligent contracts use public key (n, e) pairs { Addri}signPerforming verification, and after the verification is passed, adding AddriAnd adding a legal voter address set S.
Specifically, the voter gets a verified voting authority signature { Addr }i}signThen, firstly pass through the voting end ViLogin Ether house account AddriSending sign-in transaction information to the intelligent contract, wherein the sign-in transaction information comprises a voting authority signature { Addri}signThe smart contract pairs { Addr with the public key (n, e) in the authentication serveri}signVerification is performed if AddriIn accordance with the address source of the transaction, address Addr is addediAdding a legal voter address set S, wherein the address set S is publicly available and can be checked, and when the check-in time t is exceededSignUpPeople who later voter compares legal voter address set SAnd if the number is consistent with the registered people count published by the website, the election manager can be required to suspend the contract, meanwhile, the voter can be required to register the account number of the Etheng again, and the steps are repeated to check in, so that the authentication server can be prevented from influencing the accuracy of the voting result due to the fact that the illegal voters participate in voting.
Alternatively, when the voting end ViSigning the voting authority { Addr) using the public key (n, e)i}signWhen the verification result is wrong in the verification, the voter can complain through the platform.
And S20, the voting management end initializes the election information in the intelligent contract of the Ethermen and synchronizes the initialized election information to the public platform, wherein the initialized election information comprises the preset voting end time, the number of candidates, the minimum number of selectable people and the maximum number of selectable people.
Specifically, after the voter address set S is confirmed to be error-free, the voting management end needs to initialize voting information in the intelligent contract, where the voting information includes basic information such as a voting theme, a deposit amount, and a number corresponding to a candidate, in addition to a preset voting end time, the number of candidates, a minimum number of candidates, and a maximum number of candidates, and these pieces of information are synchronized to the formula platform.
S30, voting end ViGenerating a random number aiAnd the random number aiSalts of (I) with (II)iAnd according to Addri、aiAnd siCalculating to obtain the commitment value H of the random numberiAnd H andiand sending the contract to the intelligent contract.
S40, voting end ViReceiving voter PiInput vote value viAccording to aiAnd viCalculating an encrypted vote value
Figure BDA0002533238900000072
And will be
Figure BDA0002533238900000073
And sending the contract to the intelligent contract.
S50, throwTicket terminal ViAddr of Ether house accountiA random number aiAnd the random number aiSalts of (I) with (II)iAnd sending the contract to the intelligent contract.
Specifically, aiIs to protect the ballot value
Figure BDA0002533238900000071
Random number of (1), voting terminal ViGenerating a random number aiCan be used for disclosing the voting result of the user in the later period, and the voting end ViWill be provided with
Figure BDA0002533238900000081
Etherhouse account AddriAnd a random number aiAnd sending the voting result to an intelligent contract for commitment so as to improve the accuracy of the voting result.
In some examples, the voting end ViIn the generation of random number aiWhile generating random salt siAnd using a hash algorithm to the Addri、aiAnd siCalculating to obtain the commitment value H of the random numberi=hash(Addri,ai,si) And H andi=hash(Addri,ai,si) Sending to intelligent contract, voting terminal ViThen Addr of Ether house accountiAnd aiWhile sending to the intelligent contract, also sending siAnd sending the contract to the intelligent contract.
Wherein, the intelligent contract is based on the initialized election information,
Figure BDA0002533238900000082
AddriAnd aiVerification viThe legitimacy of (a) includes: the voting management terminal adopts a hash algorithm to carry out the Addri、aiAnd siCalculating to obtain the acceptance verification value H of the random numberi', and verify Hi' and HiWhether they are consistent, and in Hi' and HiWhen the data are consistent, selecting information is initialized,
Figure BDA0002533238900000083
And aiVerification viThe validity of (2).
In particular, the voting end ViLocally generating a random number aiAnd random salts siThe length of both should be determined by the security parameter lambda, in this example both can be chosen to be 64 bits. After obtaining the random number aiAnd random salts siThen, the Addr is subjected to hashing algorithmi、aiAnd siCalculating to obtain the commitment value H of the random numberi=hash(Addri,ai,si) And sent to the intelligent contract. It should be noted that, by setting a preset time, the elector does not commit the random number to the value H within the preset timei=hash(Addri,ai,si) And sending the voter to an intelligent contract to list the voter in a blacklist.
Alternatively, the Hash Algorithm is selected from SHA-256 Algorithm (Secure Hash Algorithm).
In some examples, election information and a from initializationiVerification viThe legitimacy of (c) includes: according to
Figure BDA0002533238900000084
And aiGet the voter PiThe voting value v ofi(ii) a According to the voting value viDetermining a candidate count cnt; determining whether the cnt number of the candidate satisfies kmin≤cnt≤kmaxWherein k isminTo the minimum number of selectable persons, kmaxThe maximum number of selectable people; if cnt satisfies kmin≤cnt≤kmaxThen, the voting value v is determinediAnd (4) legality.
Specifically, the section [ k ] of the number of people selected during voter votingmin,kmax]For example, by kmin=1,kmaxFor example, L is 10, where L is the number of the participants, and the number of 10 participants should be 1, …,10 in turn, so it can be expressed as 10bit in binary form, j (j belongs to [1,10 ])]) A bit equal to 1 indicates a vote to candidate number j, and a bit equal to 0 indicates no vote to the candidate. Taking the example of voting for candidate No. 1 and 3, the bit string is selected as 0000000101 and converted into decimal systemKnown vote value vi=20+225. Because a vote value v is judgediWhether the voting value is legal or not is actually to judge whether the number of 1 in the binary system is in the interval [ k ]min,kmax]As shown in fig. 2, the specific determination method is as follows: let the number of candidates cnt be 0 for saving the selected number of candidates, kminAnd kmaxRespectively assigning values to variables m and n; calculating vi&(vi-1) and assigning the result to viIf v isiCnt +1 if not 0; the previous step is circularly operated until viStopping when the value is 0; if m is less than or equal to cnt and less than or equal to n, the voting value is proved to be legal.
In some examples, the initialized election information further includes a commitment value submission time of a random number, a commitment time of the random number, and a deposit amount when the voting end V is in the initial stateiIn the reaction of Hi=hash(Addri,ai,si) And while sending the intelligent contract, submitting the amount of the guarantee fund d ether to the intelligent contract.
Wherein, if the voting end ViIf no guarantee fund is submitted before the commitment value submission time of the random number, the intelligent contract submits the voting end ViCorresponding voter PiRecording into a blacklist; if the voting terminal ViUncommitted random numbers before the random number commit time, or, viIf the verification process of (2) is wrong or the voting is not carried out before the preset voting end time, the intelligent contract sends the voting end V to the intelligent contractiCorresponding voter PiEnter into black list and do not receive voter PiThe guarantee gold.
Specifically, the voter P in the voting stageiAt the voting end ViCalculating ballot
Figure BDA0002533238900000091
And submitting to an intelligent contract, after the voting time is over, each voter sends the random number and the random salt of the voter to the intelligent contract, and the intelligent contract checks H after receiving the random number and the random salti=hash(Addri,ai,si) If it is consistent with the previous commitment, if the result is oneCause calculation
Figure BDA0002533238900000092
Revalidation of the vote value viAnd if the vote is legal, the vote management terminal takes all the voting data after confirming that the vote is correct and then counts the votes under the link. Optionally, in order to enhance fairness and encourage the voter to disclose the random number as soon as possible, a reward fund can be introduced to encourage the voter to disclose the random number as soon as possible, and the voter who discloses the random number earlier can obtain a richer reward fund.
In this example, the initialized election information further includes a vote counting result publishing time, and in the vote counting result publishing time, the voting management terminal issues a vote counting result to the ethernet block chain through an intelligent contract and synchronizes to the public display platform; after the ticket counting result is published or the current time exceeds the ticket counting result publishing time, the intelligent contract returns all the guarantee funds of the voters which are not logged into the blacklist, and distributes the unreceivable guarantee funds to the voters which are not logged into the blacklist on average.
Alternatively, a non-repudiated deposit from the blacklist may be awarded to all or some (e.g. earlier submission of the random number) of the voters.
S60, after reaching the preset voting end time, the intelligent contract stops receiving the voting, and according to the initialized voting information,
Figure BDA0002533238900000093
Addri、aiAnd siVerification viAnd v to be legaliAnd sending the data to a voting management terminal so that the voting management terminal counts the votes.
Specifically, after the voting management end collects all the legal voting data, the voting can be performed under the link, as shown in fig. 3, the specific voting steps are as follows: s100, converting all viSpread out to binary. S200, calculating all the v after expansioniThe number of 1's corresponding bit of different candidates is the number of votes obtained. S300, directly updating and issuing the ticket counting result to a block chain for the voter to inquire through an intelligent contract after the calculation is finished, and synchronizing toAnd (4) displaying on the platform.
Alternatively, if the result has been published or the time exceeds the invoicing result publication time, the intelligent contract will refund all voters' guarantees, which will include the evenly distributed guarantees of the offending voter. Because the block chain leaves a non-falsifiable deposit certificate for the data in the process, other voters can check and verify the counting result, and if the result is found to be incorrect, the voter can complain to the voting management terminal.
In summary, the electronic voting method based on the Ether house block chain in the embodiment of the invention can reduce the voting cost, ensure the correctness, fairness and stability of the voting result, and improve the voting flexibility.
Fig. 4 is a block diagram of an electronic voting system according to an embodiment of the present invention.
Further, the present invention provides an electronic voting system based on an ether house block chain, as shown in fig. 4, the system 100 includes a voting end ViThe system comprises an authentication server 102, a public platform 103, a voting management terminal 104 and an ether house blockchain 105, wherein the voting terminal 101 comprises a plurality of voting terminals, which are respectively denoted as a first voting terminal V in this example1A second voting terminal V2…, Mth voting end VM
Wherein, the voting end ViFor choosing voter PiIdentity information of and the blinded Etherhouse account { Addri}blindSent to the authentication server 102 to get the authentication signature { { Addr { {i}blind}signAnd to { { Addr { (Addr) }i}blind}signObtaining a voting authority signature { Addr after carrying out blind removing operationi}signWherein i is an integer which is more than 0 and less than or equal to M, and M is the number of voters; the voting management terminal 104 is configured to initialize voting information in the intelligent contract of the ethereal house and synchronize the initialized voting information to the public platform 103, where the initialized voting information includes a preset voting end time, a candidate number, a minimum selectable number, and a maximum selectable number; voting terminal ViAnd also for generating random numbers aiAnd the random number aiSalts of (I) with (II)iAnd according to Addri、aiAnd siCalculating to obtain the commitment value H of the random numberiAnd H andisending to the intelligent contract, receiving the voter PiInput vote value viAccording to aiAnd viCalculating an encrypted vote value
Figure BDA0002533238900000101
And will be
Figure BDA0002533238900000102
Sending the result to an intelligent contract and adding the Addr of the Ether house accountiA random number aiAnd a random number aiSalts of (I) with (II)iSending the contract to an intelligent contract; the Etherhouse blockchain 105 is used for stopping receiving the votes after reaching the preset voting end time, and according to the initialized election information,
Figure BDA0002533238900000103
Addri、aiAnd siVerification viAnd v to be legaliAnd sending the data to a voting management terminal so that the voting management terminal counts the votes.
In some examples, at voting end ViTo select people PiIdentity information of and the blinded Etherhouse account { Addri}blindBefore sending to the authentication server 102, the voting management terminal 104 issues an intelligent contract address Addr, generates a public key (n, e) and a private key d required by RSA signature, and a public signature verification public key (n, e), and synchronizes the public key (n, e) to the intelligent contract and the public presentation platform 103; wherein, the blinded Ether house account { Addri}blindAccording to the formula { Addri}blind=Addri·ke(modn) get, the voting authority signature { Addri}signAccording to the formula { Addri}sign=k-1Addri(modn), where k is a blinding factor, generated from the public key (n, e), and satisfies (n, k) 1; the authentication server 102 follows the formula { { Addri}blind}sign=({Addri}blind)d(modn) pairs { Addri}blindPerforming RSA signature to obtain an authentication signature { { Addr { (Addr) }i}blind}sign
In some examples, the authentication server 102 is getting the authentication signature { { Addr { (Addr) }i}blind}signWhen the authentication server 102 authenticates the voter PiThe identity information and the current authenticated voter number count are synchronized to the public display platform.
In some examples, the voting end ViAfter obtaining the voting authority signature (Addr)i}signThen, the voting terminal ViSigning the voting authority { Addr) using the public key (n, e)i}signThe verification is carried out, and after the verification is passed, the account Addr of the Etherhouse is logged iniAnd sending the check-in transaction information to the intelligent contract, wherein the check-in transaction information comprises { Addri}sign(ii) a Intelligent contracts use public key (n, e) pairs { Addri}signPerforming verification, and after the verification is passed, adding AddriAnd adding a legal voter address set S.
In some examples, the public key (n, e) and private key d required to generate the RSA signature include: generating a large prime number p, q, wherein,
Figure BDA0002533238900000111
n is 1024 bits in length; calculating n ═ pq and
Figure BDA0002533238900000112
a positive integer e is randomly selected, wherein,
Figure BDA0002533238900000113
and is
Figure BDA0002533238900000114
The integer d is calculated using an extended euclidean algorithm, wherein,
Figure BDA0002533238900000115
and is
Figure BDA0002533238900000116
d>2N/2And N is the number of bits of N.
In some examples, the voting end ViIn the generation of random number aiWhile generating random salt siAnd using a hash algorithm to the Addri、aiAnd siCalculating to obtain the commitment value H of the random numberi=hash(Addri,ai,si) And H andi=hash(Addri,ai,si) Sent to the intelligent contract and the voting terminal ViIn-store Etherhouse account AddriAnd aiWhile sending to the intelligent contract, also sending siSending the contract to an intelligent contract; wherein, the intelligent contract is based on the initialized election information,
Figure BDA0002533238900000117
AddriAnd aiVerification viThe legitimacy of (c) includes: the voting management terminal 104 adopts a hash algorithm to pair Addri、aiAnd siCalculating to obtain the acceptance verification value H of the random numberi', and verify Hi' and HiWhether they are consistent, and in Hi' and HiWhen the data are consistent, selecting information is initialized,
Figure BDA0002533238900000118
And aiVerification viThe validity of (2).
In some examples, election information and a from initializationiVerification viThe legitimacy of (c) includes: according to
Figure BDA0002533238900000119
And aiGet the voter PiThe voting value v ofi(ii) a According to the voting value viDetermining a candidate count cnt; determining whether the cnt number of the candidate satisfies kmin≤cnt≤kmaxWherein k isminTo the minimum number of selectable persons, kmaxThe maximum number of selectable people; if cnt satisfies kmin≤cnt≤kmaxThen, the voting value v is determinediAnd (4) legality.
In some examplesThe initialized election information also comprises the commitment value submission time of the random number, the amount of the deposit and the voting end ViIn the reaction of Hi=hash(Addri,ai,si) While sending to the intelligent contract, also submit the guarantee fund d ether of the amount to the intelligent contract; wherein, if the voting end ViIf no guarantee fund is submitted before the commitment value submission time of the random number, the intelligent contract submits the voting end ViCorresponding voter PiRecording into a blacklist; if the voting terminal ViUncommitted random numbers before the random number commit time, or, viIf the verification process of (2) is wrong or the voting is not carried out before the preset voting end time, the intelligent contract sends the voting end V to the intelligent contractiCorresponding voter PiEnter into black list and do not receive voter PiThe guarantee gold.
In some examples, the initialized election information further includes a vote counting result publishing time, and the voting management end 104 issues the vote counting result to the ethernet blockchain through an intelligent contract and synchronizes to the public platform 103; after the ticket counting result is published or the current time exceeds the ticket counting result publishing time, the intelligent contract returns all the guarantee funds of the voters which are not logged into the blacklist, and distributes the unreceivable guarantee funds to the voters which are not logged into the blacklist on average.
It should be noted that, for other specific implementations of the electronic voting system based on the etherhouse block chain according to the embodiment of the present invention, reference may be made to the specific implementation of the electronic voting method based on the etherhouse block chain according to the above-mentioned embodiment of the present invention.
In summary, the electronic voting system based on the ether house block chain in the embodiment of the invention can reduce the voting cost, ensure the correctness, fairness and stability of the voting result, and improve the voting flexibility.
In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. In this specification, the schematic representations of the terms used above do not necessarily refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
In the description of the present invention, it is to be understood that the terms "central," "longitudinal," "lateral," "length," "width," "thickness," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," "outer," "clockwise," "counterclockwise," "axial," "radial," "circumferential," and the like are used in the orientations and positional relationships indicated in the drawings for convenience in describing the invention and to simplify the description, and are not intended to indicate or imply that the referenced devices or elements must have a particular orientation, be constructed and operated in a particular orientation, and are therefore not to be considered limiting of the invention.
Furthermore, the terms "first", "second" and "first" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In the description of the present invention, "a plurality" means at least two, e.g., two, three, etc., unless specifically limited otherwise.
In the present invention, unless otherwise expressly stated or limited, the terms "mounted," "connected," "secured," and the like are to be construed broadly and can, for example, be fixedly connected, detachably connected, or integrally formed; can be mechanically or electrically connected; they may be directly connected or indirectly connected through intervening media, or they may be connected internally or in any other suitable relationship, unless expressly stated otherwise. The specific meanings of the above terms in the present invention can be understood by those skilled in the art according to specific situations.
In the present invention, unless otherwise expressly stated or limited, the first feature "on" or "under" the second feature may be directly contacting the first and second features or indirectly contacting the first and second features through an intermediate. Also, a first feature "on," "over," and "above" a second feature may be directly or diagonally above the second feature, or may simply indicate that the first feature is at a higher level than the second feature. A first feature being "under," "below," and "beneath" a second feature may be directly under or obliquely under the first feature, or may simply mean that the first feature is at a lesser elevation than the second feature.
Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention, and that variations, modifications, substitutions and alterations can be made to the above embodiments by those of ordinary skill in the art within the scope of the present invention.

Claims (10)

1. An electronic voting method based on an Ether house block chain is characterized by comprising the following steps:
voting terminal ViTo select people PiIdentity information of and the blinded Etherhouse account { Addri}blindSending to an authentication server to obtain an authentication signature { { Addr { (Addr) }i}blind}signAnd to { { Addr { (Addr) }i}blind}signObtaining a voting authority signature { Addr after carrying out blind removing operationi}signWherein i is an integer which is more than 0 and less than or equal to M, and M is the number of voters;
the voting management end initializes the election information in the intelligent contract of the Ethermen and synchronizes the initialized election information to the public platform, wherein the initialized election information comprises preset voting end time, the number of candidates, the minimum number of selectable people and the maximum number of selectable people;
voting terminal ViGenerating a random number aiAnd said random number aiSalts of (I) with (II)iAnd according to Addri、aiAnd siIs calculated toTo random number commitment value HiAnd H andisending the contract to the intelligent contract;
voting terminal ViReceiving voter PiInput vote value viAccording to aiAnd viCalculating an encrypted vote value
Figure FDA0002533238890000011
And will be
Figure FDA0002533238890000012
Sending the contract to the intelligent contract;
voting terminal ViAddr of Ether house accountiA random number aiAnd said random number aiSalts of (I) with (II)iSending the contract to the intelligent contract;
after the preset voting end time is reached, the intelligent contract stops receiving the votes and starts to vote according to the initialized voting information,
Figure FDA0002533238890000013
Addri、aiAnd siVerification viAnd v to be legaliAnd sending the data to the voting management terminal so that the voting management terminal can count the votes.
2. The Etherhouse block chain-based electronic voting method according to claim 1, characterized in that at the voting end ViTo select people PiIdentity information of and the blinded Etherhouse account { Addri}blindBefore sending to the authentication server, the method further comprises:
the voting management end issues an intelligent contract address Addr, generates a public key (n, e) and a private key d required by RSA signature, publicly verifies the public key (n, e), and synchronizes the public key (n, e) to the intelligent contract and the public platform;
wherein, the blinded Ether house account { Adari}blindAccording to the formula { Addri}blind=Addri·ke(mod n) get, the voting authority signature { Addri}signAccording to the formula { Addri}sign=k-1Addri(mod n), where k is a blinding factor, generated from the public key (n, e), and satisfies (n, k) 1;
the authentication server according to the formula { { Addri}blind}sign=({Addri}blind)d(modn) pairs { Addri}blindPerforming RSA signature to obtain an authentication signature { { Addr { (Addr) }i}blind}sign
3. The Etherhouse block chain-based electronic voting method according to claim 2, wherein the authentication server is obtaining an authentication signature { { Addr { (Addr) }i}blind}signThe method further comprises:
the authentication server will elect people PiThe identity information and the current number count of the authenticated voters are synchronized to the public platform.
4. The Etherhouse block chain-based electronic voting method according to claim 2, wherein the voting end V isiAfter obtaining the voting authority signature (Addr)i}signThereafter, the method further comprises:
voting terminal ViSigning the voting authority { Addr) using the public key (n, e)i}signThe verification is carried out, and after the verification is passed, the account Addr of the Etherhouse is logged iniAnd sending check-in transaction information to the intelligent contract, wherein the check-in transaction information comprises { Addri}sign
The smart contract uses the public key (n, e) to pair the { Addri}signPerforming verification, and after the verification is passed, adding AddriAnd adding a legal voter address set S.
5. The electronic voting method based on the etherhouse block chain according to claim 2, wherein the public key (n, e) and the private key d required for generating the RSA signature comprise:
generating a large prime number p, q, wherein,
Figure FDA0002533238890000021
n is 1024 bits in length;
calculating n ═ pq and
Figure FDA0002533238890000022
a positive integer e is randomly selected, wherein,
Figure FDA0002533238890000023
and is
Figure FDA0002533238890000024
The integer d is calculated using an extended euclidean algorithm, wherein,
Figure FDA0002533238890000025
and is
Figure FDA0002533238890000026
d>2N/2And N is the number of bits of N.
6. The Etherhouse blockchain-based electronic voting method of claim 1, wherein the Addr is paired using a hash algorithmi、aiAnd siCalculating to obtain the commitment value H of the random numberi=hash(Addri,ai,si) Wherein the intelligent contract is based on the initialized election information,
Figure FDA0002533238890000027
Addri、aiAnd siVerification viThe legitimacy of (a) includes:
the voting management terminal adopts a hash algorithm to carry out the Addri、aiAnd siCalculating to obtain the acceptance verification value H of the random numberi', and verify Hi' and HiWhether they are consistent, and in Hi' and HiWhen the data are consistent, selecting information is initialized,
Figure FDA0002533238890000031
And aiVerification viThe validity of (2).
7. The Etherhouse block chain-based electronic voting method according to claim 6, wherein the election information according to initialization and aiVerification viThe legitimacy of (a) includes:
according to
Figure FDA0002533238890000032
And aiGet the voter PiThe voting value v ofi
According to the voting value viDetermining a candidate count cnt;
determining whether the number of candidates cnt satisfies kmin≤cnt≤kmaxWherein k isminTo the minimum number of selectable persons, kmaxThe maximum number of selectable people;
if cnt satisfies kmin≤cnt≤kmaxThen, the voting value v is determinediAnd (4) legality.
8. The electronic voting method based on the etherhouse block chain of claim 6, wherein the initialized election information further includes a nonce commitment value submission time, a nonce submission time, a deposit amount, the method further comprising:
voting terminal ViIn the reaction of Hi=hash(Addri,ai,si) While sending to the said intelligent contract, still submit the guarantee fund d ether of the said amount to the said intelligent contract;
wherein, if the voting end Vi(ii) no deposit is committed before the time of commitment of the random number, thenThe intelligent contract sends the voting terminal ViCorresponding voter PiRecording into a blacklist;
if the voting terminal ViUncommitted random numbers before the random number commit time, or, viIf the verification process of (2) is wrong, or no voting is carried out before the preset voting end time, the intelligent contract will use the voting end ViCorresponding voter PiEnter into black list and do not receive voter PiThe guarantee gold.
9. The electronic voting method based on the etherhouse block chain of claim 8, wherein the initialized election information further includes a vote count result publication time, the method further comprising:
the voting management end issues a vote counting result to an Ethernet block chain through the intelligent contract and synchronizes the vote counting result to the public display platform;
and after the ticket counting result is published or the current time exceeds the time for publishing the ticket counting result, the intelligent contract returns the guarantee funds of all the voters which are not listed in the blacklist, and averagely distributes the unreceived guarantee funds to the voters which are not listed in the blacklist.
10. An electronic voting system based on an Ether house block chain is characterized by comprising M voting ends, an authentication server, a presentation platform, a voting management end and the Ether house block chain, wherein,
voting terminal ViFor choosing voter PiIdentity information of and the blinded Etherhouse account { Addri}blindSending to an authentication server to obtain an authentication signature { { Addr { (Addr) }i}blind}signAnd to { { Addr { (Addr) }i}blind}signObtaining a voting authority signature { Addr after carrying out blind removing operationi}signWherein i is an integer which is more than 0 and less than or equal to M, and M is the number of voters;
the voting management terminal is used for initializing the election information in the intelligent contract of the Ethermen and synchronizing the initialized election information to the public platform, wherein the initialized election information comprises preset voting end time, the number of candidates, the minimum number of optional people and the maximum number of optional people;
voting terminal ViAnd also for generating random numbers aiAnd said random number aiSalts of (I) with (II)jAnd according to Addri、aiAnd siCalculating to obtain the commitment value H of the random numberiAnd H andisending the contract to the intelligent contract and receiving the voter PiInput vote value viAccording to aiAnd viCalculating an encrypted vote value
Figure FDA0002533238890000041
And will be
Figure FDA0002533238890000042
Sending the result to the intelligent contract and sending the Addr of the Ether house accountiA random number aiAnd said random number aiSalts of (I) with (II)iSending the contract to the intelligent contract;
an Ether house block chain for stopping receiving the voting after the preset voting end time is reached and sending the voting information to the Ether house block chain according to the initialized voting information,
Figure FDA0002533238890000043
Addri、aiAnd siVerification viAnd v to be legaliAnd sending the data to the voting management terminal so that the voting management terminal can count the votes.
CN202010524266.1A 2020-06-10 2020-06-10 Electronic voting method and system based on Ether house block chain Active CN111817855B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010524266.1A CN111817855B (en) 2020-06-10 2020-06-10 Electronic voting method and system based on Ether house block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010524266.1A CN111817855B (en) 2020-06-10 2020-06-10 Electronic voting method and system based on Ether house block chain

Publications (2)

Publication Number Publication Date
CN111817855A true CN111817855A (en) 2020-10-23
CN111817855B CN111817855B (en) 2023-02-24

Family

ID=72844851

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010524266.1A Active CN111817855B (en) 2020-06-10 2020-06-10 Electronic voting method and system based on Ether house block chain

Country Status (1)

Country Link
CN (1) CN111817855B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112509206A (en) * 2020-11-16 2021-03-16 哈尔滨工业大学 Voting system and method based on Ether house
CN112632629A (en) * 2021-03-10 2021-04-09 腾讯科技(深圳)有限公司 Voting management method, device, medium and electronic equipment based on block chain
CN112768018A (en) * 2020-12-15 2021-05-07 扬州大学 Electronic medical record security sharing method based on integrated credit evaluation intelligent contract
CN114598508A (en) * 2022-02-21 2022-06-07 北京航空航天大学 Hidden information transmission method and device based on Ether shop transaction

Citations (5)

* 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
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
CN110224993A (en) * 2019-05-16 2019-09-10 暨南大学 Anonymous Electronic Voting method and system of calling to account based on block chain
CN110232764A (en) * 2019-05-16 2019-09-13 暨南大学 Anonymous Electronic Voting method and system based on block chain

Patent Citations (5)

* 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
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
CN110224993A (en) * 2019-05-16 2019-09-10 暨南大学 Anonymous Electronic Voting method and system of calling to account based on block chain
CN110232764A (en) * 2019-05-16 2019-09-13 暨南大学 Anonymous Electronic Voting method and system based on block chain

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ALI KAAN KOÇ等: "Towards Secure E-Voting Using Ethereum Blockchain", 《IEEE XPLORE》 *
周振等: "基于区块链技术的匿名电子投票协议设计", 《软件导刊》 *
颜晶晶: "基于Internet的电子投票系统的设计与实现", 《中国优秀硕士学位论文全文数据库(电子期刊)》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112509206A (en) * 2020-11-16 2021-03-16 哈尔滨工业大学 Voting system and method based on Ether house
CN112509206B (en) * 2020-11-16 2022-05-03 哈尔滨工业大学 Voting system and method based on Ether house
CN112768018A (en) * 2020-12-15 2021-05-07 扬州大学 Electronic medical record security sharing method based on integrated credit evaluation intelligent contract
CN112632629A (en) * 2021-03-10 2021-04-09 腾讯科技(深圳)有限公司 Voting management method, device, medium and electronic equipment based on block chain
CN112632629B (en) * 2021-03-10 2021-07-02 腾讯科技(深圳)有限公司 Voting management method, device, medium and electronic equipment based on block chain
CN114598508A (en) * 2022-02-21 2022-06-07 北京航空航天大学 Hidden information transmission method and device based on Ether shop transaction
CN114598508B (en) * 2022-02-21 2023-06-27 北京航空航天大学 Hidden information transmission method and device based on Ethernet transaction

Also Published As

Publication number Publication date
CN111817855B (en) 2023-02-24

Similar Documents

Publication Publication Date Title
CN111817855B (en) Electronic voting method and system based on Ether house block chain
CN112637189B (en) Multi-layer block chain cross-domain authentication method in application scene of Internet of things
US8650403B2 (en) Crytographic method for anonymous authentication and separate identification of a user
US20070150744A1 (en) Dual authentications utilizing secure token chains
JP2019053269A (en) System and method for determining ballot of voter collected by electronic voting
Au et al. PERM: Practical reputation-based blacklisting without TTPs
CN110232764A (en) Anonymous Electronic Voting method and system based on block chain
CN111445334A (en) Aggregation signature method and device for block chain system and storage medium
CN113129518B (en) Electric vehicle charging system and resource management method thereof
US11831761B2 (en) Computer-implemented systems and methods for an accumulator-based protocol for the distribution of tasks across a computer network
CN101257380A (en) User entity for self-generating public key certificate and system and method for managing public key certificate
JP2023503607A (en) Method and device for automatic digital certificate verification
CN111989892B (en) Authentication system and computer-readable recording medium
WO2023201962A1 (en) Blockchain-based anonymous trusted voting method, apparatus and related device
CN110990790B (en) Data processing method and equipment
CN114463009B (en) Method for improving transaction security of large-scale energy nodes
CN111787034B (en) Block generation method, synchronization method, device, blockchain system and storage medium
CN111937348B (en) Authentication system and computer-readable recording medium
CN115147975B (en) Encryption network voting method based on block chain
CN113507373A (en) Identity authentication data modeling method, equipment and system based on privacy protection
CN112116461A (en) Block chain and consensus method thereof
CN113055370B (en) Block chain random number consensus boost BCR method
US20240137212A1 (en) Computer-implemented systems and methods for an accumulator-based protocol for the distribution of tasks across a computer network
JP2001076061A (en) Electronic bidding method, recording medium with electronic bidding method recorded therein, and electronic bidding apparatus
CN116311661A (en) Voting system and method for multi-device consensus of electric power Internet of things based on block chain

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