CN112789823B - Block chain-based competitive election network system and competitive election method - Google Patents
Block chain-based competitive election network system and competitive election method Download PDFInfo
- Publication number
- CN112789823B CN112789823B CN201980041782.4A CN201980041782A CN112789823B CN 112789823 B CN112789823 B CN 112789823B CN 201980041782 A CN201980041782 A CN 201980041782A CN 112789823 B CN112789823 B CN 112789823B
- Authority
- CN
- China
- Prior art keywords
- node
- candidate
- voting
- public key
- transaction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000002860 competitive effect Effects 0.000 title description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 32
- 238000011835 investigation Methods 0.000 claims description 6
- 238000013215 result calculation Methods 0.000 claims description 5
- 238000011156 evaluation Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 230000007246 mechanism Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
- H04L9/3252—Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2230/00—Voting or election arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic voting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic 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 election method of an election network system based on a block chain. The election method of the block chain-based election network system according to the embodiment comprises the following steps: step (A), the superior node of the superior meeting sponsor as the meeting to be sponsored forms a alliance by requesting meeting generation from a platform manager; step (B), the superior node or the subordinate node of the subordinate party sponsor generates a private key public key pair of the candidate of the party and registers the party candidate; step (C), the manager node only generates a private key public key pair by the authenticated user, and registers the optional person of the participant by adding an account number to the network; step (D), the voter node registered as the voter generates a voting transaction through the public key of the candidate; and step (E), the verifier node generates a query transaction, confirms the detailed information of the transaction generated from the election account to the candidate account through the generated query transaction, and calculates a voting result.
Description
Technical Field
The present invention relates to an election network system and an election method based on a blockchain, and more particularly, to an election network system and a voting result calculation method in which an election sponsor can register candidates, only a network member can inquire a voting detail recorded in a blockchain, and a plurality of votes can be performed in a single platform.
Background
Unless otherwise indicated herein, what is described herein is not prior art to the extent that it pertains to the scope of the claimed invention and, even though it is in this section, is not admitted to be prior art.
The blockchain is a scattered account book technology, a central centralized mechanism is not needed, and system participants can record, verify and store transaction information together to ensure the reliability of the transaction information. Blockchains are governed by protocols for peer-to-peer networks between participants to collectively authenticate new blocks, so if someone wants to manipulate a transaction record, all blocks connected between participants need to be manipulated before the new block is generated.
That is, many blocks in the blockchain need to be manipulated within a specified time, but this is practically impossible, and therefore, blockchain technology has high transaction security.
In addition, the blockchain can solve the dual payment problems of fraud and the like by only realizing the transaction of a new unit value, and the transaction cost can be greatly reduced because the mediation can be realized without an intermediation mechanism. Blockchains have unlimited creative potential in a number of fields such as user authentication, smart contracts, securities distribution and transactions, overseas money transfers, trade financing, real estate registration, authentication of luxury goods, digital identification number management, electronic voting, personal health record management, and the like.
With the development of wireless communication technologies such as networks, electronic voting, which replaces the conventional paper voting method, is being studied. The electronic voting has an effect that the voting is performed by using a node capable of communication as an electronic voting using a network, and thus is not limited in time and space. Despite this advantage, many problems are found in existing electronic voting schemes. As a specific example, if a node is maliciously occupied by a hacker or the like, a data packet containing voting contents may be manipulated or damaged, and information about which persons cast a vote to which candidates may be revealed by reversely tracking the target node that exercises the electronic vote.
The electronic voting is a four-major principle that the election cannot be guaranteed due to the problem, and the current technology has limitation in the introduction of the electronic voting technology. Therefore, there is a need to develop a technique capable of ensuring reliability of voting process and results in an electronic voting process, but patent techniques related to existing electronic voting focus on protecting personal information of a voter, preventing fraud in the voting process, and there is no sponsor-related technique of registering candidates and managing votes.
Disclosure of Invention
Technical problem
The invention provides a block chain-based election network system and an election method, wherein an authenticated party sponsor can register candidates, only network members can inquire voting details recorded in a block chain, a plurality of participant related votes can be carried out in a single platform, and voting results of legal participants can be automatically calculated. In addition, the general ledger data can be generated to prove the voting detail in the condition that the fraud dispute is generated for the voting, so that the notarization and the reliability of the voting can be improved.
Technical proposal
The election method of the block chain-based election network system according to the embodiment comprises the following steps: step (A), the superior node of the superior meeting sponsor as the meeting to be sponsored forms a alliance by requesting meeting generation from a platform manager; step (B), the upper node or the lower node serving as the host of the lower party generates a private key public key pair of the candidate of the party and registers the party candidate; step (C), the manager node only generates a private key public key pair by the authenticated user, and registers the optional person of the participant by adding an account number to the network; step (D), the voter node registered as the voter generates a voting transaction through the public key of the candidate; and step (E), the verifier node generates a query transaction, confirms the detailed information of the transaction generated from the election account to the candidate account through the generated query transaction, and calculates a voting result.
A blockchain-based election network system according to another embodiment includes: the upper node forms a alliance by requesting a system manager for a meeting generation; a party sponsor node for generating a private key public key pair of a party candidate and registering the party candidate; the manager node only generates a private key public key pair by the authenticated user, and registers the optional person of the participant by adding an account number to the network; the voter node generates a voting transaction through the public key of the candidate; and a verifier node generating a query transaction, confirming detailed information of a transaction generated from the voter account to the candidate account by the generated query transaction, and calculating a voting result.
ADVANTAGEOUS EFFECTS OF INVENTION
The block chain-based election network system and the election method have the effect that the reliability of electronic voting is improved by recording voting details in the block chain, and meanwhile, only participants allowed by representative nodes (manager nodes) can generate transactions on the network, so that privacy can be ensured and the safety of voting process and results can be improved.
In addition, because a plurality of meetings are organized on a single platform, users who want to participate in voting can be easily gathered on the meeting sponsor standpoint, so that the method is beneficial to propaganda and popularization of the meetings.
And, when a winner of a regional meeting enters a positive choice meeting or a domestic meeting winner enters an international meeting, an upper meeting sponsor needs to select and manage a lower meeting sponsor, in an embodiment, a private key of a lower authority may be generated by adding a private key of the upper authority and a serial number (alliance identification number) of the lower authority and using a hash function, and the private key generates a public key through an Elliptic Curve Digital Signature Algorithm (ECDSA), whereby the upper meeting sponsor may manage a plurality of lower meetings.
In addition, since the voting details of the participants are stored in the blockchain, manipulation or hacking intrusion can be prevented, and reliability and security of the meeting can be improved.
The effects of the present invention are not limited to the above-described effects, and it is to be understood that all effects derivable from the detailed description of the present invention or the structure of the invention described in the scope of the invention claimed below are included.
Drawings
FIG. 1a is a diagram illustrating a node structure of a blockchain-based election network system of an embodiment.
FIG. 1b is a diagram illustrating a meeting platform generated by the system of an embodiment.
Fig. 2 is a diagram showing data processing blocks of manager nodes and upper nodes of the embodiment.
Fig. 3 is a diagram showing a data processing structure of a verifier node of the embodiment.
Fig. 4 is a diagram showing a party generation flow for explaining an embodiment.
Fig. 5 is a diagram showing the structure of the blockchain-based election network system of the embodiment.
FIG. 6 is a signal flow diagram illustrating an exemplary blockchain-based election network system.
Fig. 7 is a diagram illustrating a general ledger data structure generated by the blockchain-based election network system of an embodiment.
Detailed Description
The competitive election method of the competitive election network system based on the block chain comprises the following steps: step (A), the superior node of the superior meeting sponsor as the meeting to be sponsored forms a alliance by requesting meeting generation from a platform manager; step (B), the upper node or the lower node serving as the host of the lower party generates a private key public key pair of the candidate of the party and registers the party candidate; step (C), the manager node only generates a private key public key pair by the authenticated user, and registers the optional person of the participant by adding an account number to the network; step (D), the voter node registered as the voter generates a voting transaction through the public key of the candidate; and step (E), the verifier node generates a query transaction, confirms the detailed information of the transaction generated from the election account to the candidate account through the generated query transaction, and calculates a voting result.
The advantages, features and methods of accomplishing the same may be understood by reference to the accompanying drawings and the detailed description of various embodiments. However, the present invention is not limited to the examples disclosed below, and the present invention may be implemented by various embodiments, which are only for complete disclosure of the present invention, so that those skilled in the art to which the present invention pertains will fully understand the scope of the present invention, which is defined only by the scope of the claims of the present invention. Throughout this specification, like reference numerals refer to like elements.
In describing the embodiments of the present invention, when it is determined that a detailed description about a well-known function or structure is likely to unnecessarily obscure the gist of the present invention, a detailed description thereof will be omitted. Also, terms in the following are terms defined in consideration of functions of the embodiments of the present invention, and may become different according to intention or convention of a user, an operator, or the like. Therefore, it should be defined based on the content of the present specification.
FIG. 1a is a diagram illustrating a node structure of a blockchain-based election network system of an embodiment.
Referring to fig. 1a, a blockchain-based election network system of an embodiment may include an administrator node 100, a verifier node 101, an upper level node 200, lower level nodes 301, 302, and an election person node 401.
The manager node 100 constitutes a requested meeting federation by receiving a meeting generation request from a higher node 200 that is to hold a meeting, as a terminal or server of a platform (system) manager constituting the federation. After the federation is formed, the superordinate node 200, which is the sponsor of each meeting, registers the meeting candidate. In an embodiment, the upper node 200 may register the candidate by generating a public key pair (pair) of the private key of the candidate participating in the meeting. In an embodiment, the meeting candidate may be registered by a superior node or a subordinate node that is a meeting sponsor node.
The upper node 200, which is an upper party sponsor, generates a party sponsor request message and transmits it to the manager node 100, and then generates a private key of a lower node through a hash function by combining the private key of the party with a serial number (e.g., a federation identification number) of the lower node. In an embodiment, the public key is generated by applying an elliptic curve digital signature algorithm (ECDSA, elliptic Curve Digital Signature Algorithm) to the private key. Elliptic Curve Digital Signature Algorithm (ECDSA) is used as a digital signature algorithm using Elliptic Curve Cryptography (ECC) as a Digital Signature Algorithm (DSA). As an encryption scheme having a 160-bit key, a scheme having security equivalent to a 1024-bit asymmetric key (RSA) scheme and capable of reducing a processing speed is suitable for a mobile terminal.
In an embodiment, the private key of the lower authority is generated by combining the private key of the upper authority and the serial number (for example, the alliance identification number) of the lower authority and through the hash function encryption process, so that the upper node serving as the host of the upper party can manage a plurality of lower nodes.
Further, since the voting details are stored in the blockchain, manipulation or hacking can be prevented, and reliability of the meeting can be improved.
To add candidates of a participating party, the lower nodes 301 and 302 calculate the candidate voting address as a public key of the candidate in the form of an output value by adding the key of the corresponding party sponsor as a non-public key and the candidate serial number, then calculating the private key by using a hash function, and inputting the calculated private key to an elliptic curve digital signature algorithm.
And, when the participant who is the voter to participate in the voting normally completes the client investigation (KYC, know Your Customer) step of mobile phone authentication, account real name authentication, etc., the manager node 100 issues the public key by adding the password directly registered by the participant and the voter serial number and generating the private key through a hash function, and then inputting to the elliptic curve digital signature algorithm.
The voting participant that receives the private key and the public key that encrypts the private key, i.e., the voter node 401, may participate in the vote by generating a transaction encrypted with its own private key as the public key address of the meeting candidate.
The verifier node 101 verifies whether the generated transaction belongs to the normal participant who has undergone the authentication step by decoding the transaction generated from the voting voter node by the public key of the voting participant. Also, in an embodiment, the verifier node 101 verifies whether each voter node exceeds the voteable number of times.
In an embodiment, the voting details verified by the verifier node 101 are again encrypted by the public key of the voting participants and recorded in blocks. The voting details recorded in the block can only be decoded by the private key of the voting participant, so that only the person who performs the voting can query the voting details.
In the embodiment, the verifier node 101 records, in each block, details of encryption by the public key of the candidate and details of encryption by the public key of the subordinate party sponsor. In this case, the candidate may decode the recorded details encrypted by the candidate's public key with the principal's private key. And, because the private key of the lower party can be known to the upper party sponsor, the detail encrypted by the public key of the lower party sponsor can be decoded by both the lower party sponsor and the upper party sponsor.
As described in the embodiments, transactions generated from the election nodes, respectively, may be encrypted and recorded in the blockchain, so that an upper node, which is an upper party sponsor, may query all transactions of a plurality of lower nodes, which are lower party sponsors, and conversely, the lower party sponsor may disable transaction queries related to the upper party and other lower parties. In an embodiment, when the voting of the next-level party is finished, the node also adds the private key of the node and the serial number of the candidate to calculate the private key and generates the public key of the candidate through an elliptic curve digital signature algorithm.
Thereafter, the manner of voting and recording in blocks is the same as the procedure described previously.
Although fig. 1 illustrates an embodiment using a node structure in a vertical structure (Hierarchical) manner, the election network system based on a blockchain of the embodiment may form not only a node system in a vertical structure manner, but also a node system in various structures such as a Bus (Bus), a Ring (Ring), a star (star), an Extended star (Extended star), and a Mesh (Mesh) manner.
FIG. 1b is a diagram illustrating a meeting platform generated by the system of an embodiment.
The blockchain-based election network system of the embodiments may host multiple meetings simultaneously. Referring to fig. 1b, the meeting platform of the embodiment shares all the gatherers, the general ledger blocks for sponsors, the general ledger blocks for candidates and the general ledger blocks for the gatherers through the first meeting network and the second meeting network, and is connected with the meeting sponsor nodes belonging to the corresponding meeting. The first meeting network is connected with a first upper-level mechanism node, a selector and a general ledger block shared by the whole meeting network, and the first upper-level mechanism node is connected with a candidate pool, a first lower-level mechanism node and a second lower-level mechanism node. The first subordinate mechanism node and the second subordinate mechanism node are respectively connected with the candidate pool. The second party network is connected with the election person, the general ledger block and the upper node (upper mechanism) shared by the whole network, and the upper node can be connected with the lower node (lower mechanism).
Fig. 2 is a diagram showing data processing blocks of manager nodes and upper nodes of the embodiment.
The manager node, the upper node, and the lower node of an embodiment may include a key generation module 110, an encryption module 130, and a candidate registration module 150. The term "module" as used in this specification may include software, hardware, or a combination thereof, depending on the context in which the term is used. For example, the software may be a mechanical language, firmware (firmware), embedded code (embedded code), and application software. As another example, the hardware may be circuitry, a processor, a computer, an integrated circuit die, a sensor, a microelectromechanical system (MEMS), a manual device, or a combination thereof.
The key generation module 110 evaluates the meeting fitness by generating a message through the meeting received by the manager node, and issues a private key to the senior meeting sponsor if the sponsor is approved according to the evaluation result. In the embodiment, the suitability of the large party can be evaluated by whether or not the input information included in the large party generation request message is present or not and whether or not the large party generation is determined, authentication of the manager, and the like. In an embodiment, the generated private key may be a key generated using a date, time, name, detailed information of a superordinate node, and the like.
The encryption module 130 generates a public key using Elliptic Curve Digital Signature Algorithm (ECDSA) on a private key issued by the hash function. For example, after adding the private key of the upper-level meeting and the serial number of the lower-level node such as the alliance identification number, the private key of the lower-level node is generated by a hash function, and the public key is generated by applying an elliptic curve digital signature algorithm to the private key.
When a candidate of a participating party is added to a lower node, the candidate registration module 150 calculates a candidate voting address as a public key of the candidate in an output value manner by calculating a private key using a hash function after adding a key of a corresponding party sponsor as a non-public key and a candidate serial number, and inputting the calculated private key to an elliptic curve digital signature algorithm.
Next, the interviewer node performs a client investigation (KYC, know Your Customer) step of confirming the user identity, and when registering a password by the interviewer of the client investigation, the manager node adds the password and the interviewer serial number and issues a secret key of the interviewer by a hash function, and the issued secret key generates a public key by an elliptic curve digital signature algorithm. The voter node then performs a vote by generating a transaction encrypted with the issued private key via the public key address of the big-candidate.
In an embodiment, a public key generated by implementing an elliptic curve digital signature algorithm on a private key may be used as an address for transceiving transactions when it is disclosed externally.
Fig. 3 is a diagram showing a data processing structure of a verifier node of the embodiment.
Referring to fig. 3, verifier node 101 of an embodiment may include a decode module 1011, a transaction determination module 1013, and a record module 1015.
The decode module 1011 is used to decode transactions encrypted by the voting participant public key.
The transaction determination module 1013 is configured to confirm whether the transaction is generated from a normal election node for which identity has been confirmed. And, the verifier node is operable to verify whether the voteable number of times has been exceeded. In the embodiment, the transaction determination module 1013 calculates the voting result by grasping the final state information of the candidate account, and when the result calculation transaction and the result inquiry transaction are generated from the account to which the manager node has not been added, generates the voting transaction only at the participant terminal for which the verification is completed by prohibiting the access transaction. In an embodiment, the transaction determination module 1013 may verify the transaction by comparing detailed information of the transaction with registered information. For example, it is possible to verify a transaction by grasping the transaction generation time point, the data transmission/reception address, the packet capacity, and the like, and grasping whether or not data is transmitted to the transmission/reception address of a registered node, whether or not the packet capacity is within a predetermined range, and the like.
The logging module 1015 encrypts the verified voting details again with the voting participants' public key and logs in blocks. For example, the recording module 1015 generates and records details of the voting details encrypted by the candidate's public key, details of the public key encryption by the subordinate party sponsor, and details of the public key encryption by the voter.
Fig. 4 is a diagram showing a party generation flow for explaining an embodiment.
The blockchain-based election network system of the embodiments may conduct multiple conferences simultaneously. For example, by employing a sequential encryption hierarchy of issuing federation identification numbers and keys, an upper party sponsor (upper node) can generate and manage a lower party (lower node). Further, since the voting details are stored in the blockchain, manipulation and hacking hazards can be eliminated, and the general ledger for the external authentication mechanism can be separately generated in order to prevent possible disputes in the future.
An embodiment of the generation flow is described in further detail below with reference to fig. 4.
Big meeting generating flow
In the embodiment, first, in order to generate a meeting, when a higher node serving as a host of a higher-level meeting requests the meeting platform to generate a meeting, a platform manager assigns any meeting number that is not repeated after evaluating the suitability of the meeting. The assigned meeting serial number will be disclosed in the form of a federation identity number. Then, the platform manager adds the password and the meeting serial number input by the host party of the upper-level meeting, calculates the private key of the upper-level meeting through a hash function, and generates the public key by implementing an elliptic curve digital signature algorithm on the private key.
The lower-level meeting sponsor requests the meeting generation from the upper-level meeting sponsor on the platform. The upper node serving as the upper party sponsor will assign a non-duplicate lower party serial number after evaluating the suitability of the party. The assigned serial number will be disclosed in the manner of the next-level meeting alliance identity number. In an embodiment, with the value implementing the hash function as the private key, the public address may be generated by implementing an elliptic curve digital signature algorithm on the private key.
Fig. 5 is a diagram showing the structure of the blockchain-based election network system of the embodiment. The data processing flow disclosed in the embodiment is further described in detail below by means of fig. 5.
Candidate registration process
First, when a party sponsor is to register candidates, a 64-bit value is obtained by encrypting the value added by the private key of the corresponding party and the candidate sequence number by the SHA256 hash function algorithm. The encrypted 64-bit value will be known only to the candidate as a key for the candidate. The value obtained by applying elliptic curve digital signature algorithm to the candidate private key will become the public address of the candidate for the transmissible blockchain token.
As shown in fig. 5, if the first superordinate sponsor a is to register a candidate, encryption is performed by adding the private key of the principal and the candidate number and by a hash function.
If the third subordinate sponsor D registers the candidate of the corresponding party, a private key and a candidate serial number are added, a key of the candidate is generated through a hash function, and then an elliptic curve digital signature algorithm is performed on the generated key to become a public address of the candidate.
Voting process
When the entry is completed through the personal authentication (mobile phone, bank account authentication), the voter (voter node) registers a password of 8 digits or more which can inquire the voting details of the user. If the password is registered, the manager node assigns any user serial number. In an embodiment, a user who is a voting candidate for a registered password may obtain a token that can participate in voting in a free or paid manner according to a meeting prescription. The voter may then transmit the token and participate in the vote via the candidate public address assigned in the candidate registration procedure.
Next, a method of voting a big meeting in the block chain-based election network system will be described in order. Essentially, the roles (functions) of the big voting method of the blockchain-based election network system of the embodiment are the same as those on the blockchain-based election network system, and thus, the description repeated with the contents of fig. 1 to 5 will be omitted.
FIG. 6 is a signal flow diagram illustrating an exemplary blockchain-based election network system.
In step S100, the upper node 200, which is an upper-level meeting sponsor to hold the meeting, composes a federation by requesting meeting generation from the platform manager node 100.
If the federation is formed in step S200, the superior node or the subordinate node as the party sponsor generates a private key public key pair of the candidate participating in the party, and the superior party or the subordinate party sponsor registers the party candidate in step S300. For example, if the manager node 100 evaluates suitability of the meeting through the meeting received by the manager node and approves the holding according to the evaluation result in step S200, the superior meeting sponsor will directly register the password, the manager node generates the private key by adding the password and the meeting serial number, and calculates the public key by applying an elliptic curve digital signature algorithm to the private key. When the upper node adds the lower node, as described above, the private key is generated by adding the upper private key and the serial number as the federation identification number, followed by generation of the public key.
In step S300, when the node of the next party sponsor adds the candidate of the party, in order to add the candidate of the party, the key of the corresponding party sponsor as the non-public key and the candidate serial number are added, the private key is calculated by using the hash function, and the calculated private key is input to the elliptic curve digital signature algorithm, so that the candidate voting address of the public key as the candidate is calculated in an output value manner, and the candidate can be registered. In the embodiment, the candidate registration step is described as a step performed in the sponsor node of the meeting, and the step performed by the lower node is illustrated in fig. 6, but the upper node, which is the sponsor of the upper meeting, may perform the candidate registration.
In an embodiment, a public key generated by applying an elliptic curve digital signature algorithm to a private key may be used as an address for transceiving transactions when it is disclosed externally.
If authentication information is transmitted from the election node 401 to the lower node 301 in step S400, the lower node 301 performs an authentication step such as user real name authentication based on the received authentication information in step S500. When authentication for the election node is normally completed, in step S600, the manager node 100 generates a private key public key pair as a secret key of the election, and adds a network account number through step S700. Subsequently, in step S800, the manager node registers the election node as a normal election.
In an embodiment, if the voter node participating in the vote performs a client investigation (KYC, know Your Customer) step for confirming the identity of the user in step S600, the voter node may perform the vote by generating a transaction encrypted with a private key issued to the public key address of the party candidate, issuing a private key of each participant and applying a public key generated by elliptic curve digital signature algorithm to each participant' S private key.
In step S900, a voter node registered as a voter to participate in the vote generates a voting transaction with the candidate' S public key.
In step S1000, the verifier node 101 generates a query transaction, and in step S1010, the verifier node 101 confirms detailed information of a transaction generated from a voter account to a candidate account through the generated query transaction, thereby calculating a voting result. In step S1000, the verifier node may also verify whether the voted number of times has been exceeded.
In an embodiment, if the verifier node 101 decodes the transaction encrypted by the voting party public key to confirm whether the transaction was generated from a normal voter node for which identity was confirmed in step S1010, the verifier node may encrypt again the verified voting details by the voting party public key and record them in a block.
Also, in an embodiment, the step of the verifier node encrypting again the verified voting details by the voting participant public key and recording in the block may include the step of generating at the verifier node a detail encrypted by the public key of the candidate and a detail encrypted by the key of the subordinate party sponsor and recording the generated detail in the block, respectively.
Further, in step S1010, the voting result is calculated by grasping the final state information of the candidate account, and when a result calculation transaction and a result query transaction are generated from the account to which the manager node has not been added, access to the voter node that generated the transaction is prohibited or an abnormal transaction is invalidated.
Fig. 7 is a diagram illustrating a general ledger data structure generated by the blockchain-based election network system of an embodiment.
When a voting transaction is generated from a voter node, the manager node confirms whether the voter node has authority to transmit a token and performs a flow of generating general ledger data for votes having no problem. In an embodiment, the general ledger data is recorded data that increases fairness and accuracy of voting results by recording detailed information of a meeting sponsor, a voting participant, and the like. In an embodiment, general ledger data may be generated in 3 categories, namely, for meeting sponsors, candidate validation, voting participant validation.
The general ledger data generation process for the sponsor of the party, for the confirmation of the candidate, and for the confirmation of the voting participant will be described in further detail below with reference to fig. 7.
General ledger data (a) generation flow as superordinate node or subordinate node of party sponsor
As shown in part (a) of FIG. 7, the general ledger for the sponsor of the meeting may be generated by recording the superior sponsor alliance identification number, the inferior meeting alliance identification number, and the encrypted voting details. The encrypted voting details contained in the general ledger data can only be decoded by the lower party key. The upper node, which is the host of the upper party, can calculate the key of the lower party, and thus can decode all the voting details implemented in the lower party. That is, as shown in FIG. 5, the first superordinate sponsor node A may decode the voting details of all meetings A, B, C, D. Instead, the first lower sponsor B may only decode the details of meeting B and meeting D. While the second lower sponsor C may decode the details of the meeting C, it cannot. In an embodiment, since the federation identification number is recorded in the general ledger data, when the general ledger is queried by the identification number, the voting details of the desired party can be easily filtered and confirmed. In an embodiment, since the general ledger data is recorded in the blockchain, the details of the recording once cannot be forged or changed.
General ledger data (b) generation flow for candidate
In an embodiment, general ledger data for candidates may be generated, whereby candidates participating in a meeting can confirm details of votes to themselves. In an embodiment, the candidate has public addresses and encrypted voting details of the candidate recorded with general ledger data. The encrypted voting details recorded in the general ledger data for the candidate can only be revoked by the secret key of the candidate. Unlike other general ledger data, the candidate is recorded in the server inside the system (platform) by using general ledgers, and is not a blockchain, and when the general ledgers are all finished, the whole details are all uploaded to the blockchain at one time. After the meeting ends, the candidate can decode the details of the vote to the principal by using the principal's key. Since the candidate public address is recorded in the general ledger data for the candidate, the candidate can easily filter the voting details of the candidate.
General ledger data (c) generation flow for voting participants
In an embodiment, general ledger data for voting participants may be generated, whereby voting participants may confirm the details of their votes. The voting participants record the user serial numbers and the encrypted voting details with general ledger data. The encrypted voting details can be decoded by the secret key of the voter, and the secret key can be matched in the platform as long as the secret code input by the user of the system is known, so that the voting details can be confirmed by the matched secret key.
The user serial number is recorded in the general ledger, so that the voting details of the user can be easily filtered.
The block chain-based election network system and the election method have the effect that the reliability of electronic voting is improved by recording voting details in the block chain, and meanwhile, only participants allowed by representative nodes (manager nodes) can generate transactions on the network, so that privacy can be ensured and the safety of voting process and results can be improved. In addition, because a plurality of meetings are organized on a single platform, users who want to participate in voting can be easily gathered on the meeting sponsor standpoint, so that the method is beneficial to propaganda and popularization of the meetings. And, when a winner of a regional meeting enters a positive choice meeting or a domestic meeting winner enters an international meeting, an upper-level meeting sponsor needs to select and manage a lower-level meeting sponsor, in an embodiment, a private key of a lower-level authority may be generated through a step of combining a private key of an upper-level authority and a public key of a lower-level authority and encrypting with a hash function, whereby a plurality of lower-level nodes may be managed as upper-level nodes of the above-mentioned meeting sponsor.
The disclosure is merely illustrative and many modifications may be made by one of ordinary skill in the art without departing from the spirit of the invention as claimed and the scope of the disclosure is not limited to the specific embodiments described above.
Industrial applicability
The election network system and the election method based on the block chain improve the reliability of electronic voting by recording voting details in the block chain, and meanwhile, only participants allowed by representative nodes (manager nodes) can generate transactions on the network, thereby ensuring privacy and improving the safety of voting process and results.
Claims (12)
1. An election method of an election network system based on a block chain for calculating an election voting result of the election network system based on the block chain, comprising the following steps:
step A, an upper node serving as an upper-level party sponsor for a party forms a alliance by requesting party generation from a platform manager;
step B, the upper node or the lower node serving as a host of the lower party generates a private key public key pair of the candidate of the party and registers the party candidate;
step C, the manager node only generates a private key public key pair by the authenticated user, and registers the participant participating in the conference by adding an account number to the network;
step D, the voter node registered as the voter generates a voting transaction through the public key of the candidate; and
step E, the verifier node generates a query transaction, confirms the detailed information of the transaction generated from the election account to the candidate account through the generated query transaction and calculates a voting result,
the step A comprises the following steps:
step A-1, generating a message to evaluate the suitability of the meeting through the meeting received by the manager node, issuing a private key to the upper node when the meeting is approved to hold according to an evaluation result, and generating a public key according to the private key and through an elliptic curve digital signature algorithm; and
step A-2, after adding the private key and the serial number of the upper node, the upper node calculates the private key of the lower node by utilizing a hash function and generates the public key of the lower node by an elliptic curve digital signature algorithm,
the step B comprises the following steps:
when adding the candidate of the reference party, the lower node calculates the private key of the candidate by using a hash function after adding the private key of the lower node and the serial number of the candidate, and generates the public key serving as the voting address of the candidate by using an elliptic curve digital signature algorithm.
2. The method of claim 1, wherein,
step C described above includes step C-1, in which the voter node participating in the vote performs a client investigation step of confirming the identity of the user, and receives the public key by implementing an elliptic curve digital signature algorithm on the private key of each participant,
step D includes step D-1, where the voter node generates a transaction encrypted with the issued private key to the public key address of the party candidate to perform the vote.
3. The method of claim 1, wherein the step E further comprises:
e-1, verifying whether the transaction is generated from the normal voter node with the confirmed identity or not by decoding the transaction encrypted by the public key of the voting participant; and
step E-2, the verifier node encrypts the verified voting details again with the public key of the voting party and records the encrypted voting party's public key in a block.
4. The method of claim 3, wherein in the step E-2, the verifier node generates a list of voting details encrypted by the public key of the candidate and a list of voting details encrypted by the public key of the subordinate party sponsor, respectively, and records the generated list in the block, respectively.
5. The method of claim 3, wherein the step E-1 includes the step of verifying that the verifier node verifies that the voted number is exceeded.
6. The method of claim 1, wherein the public key generated by encrypting the private key by elliptic curve digital signature algorithm is used as an address for a transaction.
7. The method according to claim 1, wherein in the step E, the voting result is calculated by grasping the final state information of the candidate account, and when the result calculation transaction and the result inquiry transaction are generated from the account to which the manager node has not been added, the access to the transaction is prohibited or the voting based on the transaction is invalidated.
8. A blockchain-based election network system, comprising:
the upper node forms a alliance by requesting a system manager for a meeting generation;
a party sponsor node for generating a private key public key pair of a party candidate and registering the party candidate;
the manager node only generates a private key public key pair by the authenticated user, and registers the optional person of the participant by adding an account number to the network;
the voter node generates a voting transaction through the public key of the candidate; and
a verifier node for generating a query transaction, confirming detailed information of a transaction generated from a voter account to a candidate account by the generated query transaction, and calculating a voting result,
the suitability of the meeting is evaluated by the meeting generation message received by the manager node, when the meeting is approved to be held according to the evaluation result, the private key is issued to the upper node, the public key is generated according to the private key and through an elliptic curve digital signature algorithm, the upper node calculates the private key of the lower node by utilizing a hash function after adding the private key of the upper node and the serial number, and generates the public key of the lower node through the elliptic curve digital signature algorithm,
when adding the candidate of the reference party, the lower node calculates the private key of the candidate by using a hash function after adding the private key of the lower node and the serial number of the candidate, and generates the public key serving as the voting address of the candidate by using an elliptic curve digital signature algorithm.
9. The blockchain-based election network system of claim 8, wherein said election node performs a customer investigation step of confirming the identity of the user and receives from the manager node a private key of each participant and a public key generated by applying an elliptic curve digital signature algorithm to said private key, the election node generating a transaction encrypted with said issued private key to a public key address of the party candidate to perform the vote.
10. The blockchain-based election network system of claim 8, wherein said verifier node confirms whether said transaction was generated from a normal voter node for which identity was confirmed by decoding a transaction encrypted using the public key of the voting party, encrypts the verified voting details again by the public key of the voting party, and records the encrypted voting party's public key in a block.
11. The blockchain-based election network system of claim 10, wherein the verifier node generates details of the public key encryption voting details by the candidate and details of the public key encryption by the subordinate party sponsor, respectively, and records the generated details in blocks, respectively.
12. The blockchain-based election network system of claim 10, wherein the voting result is calculated by grasping final state information of the candidate account, and access to the transaction is prohibited or the voting based on the transaction is invalidated when a result calculation transaction and a result query transaction are generated from an account to which the manager node has not been added.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0112996 | 2019-09-11 | ||
KR1020190112996A KR102120882B1 (en) | 2019-09-11 | 2019-09-11 | Block chain based contest system and method for contesting |
PCT/KR2019/013319 WO2021049702A1 (en) | 2019-09-11 | 2019-10-11 | Blockchain-based contest network system and contest method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112789823A CN112789823A (en) | 2021-05-11 |
CN112789823B true CN112789823B (en) | 2023-12-22 |
Family
ID=71082528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980041782.4A Active CN112789823B (en) | 2019-09-11 | 2019-10-11 | Block chain-based competitive election network system and competitive election method |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR102120882B1 (en) |
CN (1) | CN112789823B (en) |
WO (1) | WO2021049702A1 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114299655B (en) * | 2020-09-23 | 2023-09-05 | 成都中科信息技术有限公司 | Electronic voting system and working method thereof |
KR102277389B1 (en) * | 2020-10-28 | 2021-07-14 | 에스지에이비엘씨 주식회사 | Method, apparatus and computer-readable medium of voting management and aggregation that guarantees transparency using blockchain |
CN112927414A (en) * | 2021-01-29 | 2021-06-08 | 福建中科星泰数据科技有限公司 | Service public identification system and method based on alliance block chain |
WO2023204410A1 (en) * | 2022-04-19 | 2023-10-26 | 주식회사 블로코 | Method for generating user intention information identifier and system for same |
KR102479988B1 (en) * | 2022-04-19 | 2022-12-22 | 주식회사 블로코 | Method for generating user decision intention information identifier and system therefor |
CN114844891B (en) * | 2022-04-21 | 2024-04-12 | 浪潮云信息技术股份公司 | Block chain consensus method and system based on Raft algorithm |
CN114785598A (en) * | 2022-04-22 | 2022-07-22 | 博智安全科技股份有限公司 | Encryption and decryption method, device, equipment and storage medium for player identity |
CN115115367B (en) * | 2022-08-30 | 2023-03-31 | 平安银行股份有限公司 | Transaction information query method and device based on block chain and electronic equipment |
KR102568098B1 (en) * | 2022-12-13 | 2023-08-17 | 이민재 | A method to prevent tampering of audition votes by transferring blockchain-based tokens |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105592098A (en) * | 2016-01-16 | 2016-05-18 | 杭州复杂美科技有限公司 | Management method of vote and CA certificate of block chain |
CN108809624A (en) * | 2018-07-18 | 2018-11-13 | 杭州安恒信息技术股份有限公司 | A kind of electronic voting method, system, equipment and computer readable storage medium |
KR20190023894A (en) * | 2017-08-30 | 2019-03-08 | 세종대학교산학협력단 | System and method for electronic voting |
WO2019142076A1 (en) * | 2018-01-18 | 2019-07-25 | nChain Holdings Limited | Computer-implemented decision making system and method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100984275B1 (en) * | 2008-08-28 | 2010-09-30 | 경희대학교 산학협력단 | Method for generating secure key using certificateless public key in insecure communication channel |
KR101908677B1 (en) * | 2017-09-29 | 2018-10-16 | 숭실대학교산학협력단 | System and method for managementing electronic vote using blockchain |
KR102417067B1 (en) | 2017-12-08 | 2022-07-05 | 한국전자통신연구원 | Method and apparatus for generating blocks in node on a block-chain network |
KR102377841B1 (en) | 2017-12-11 | 2022-03-25 | 한국전자통신연구원 | Method and apparatus for performing hierarchically agreement based on service zone |
-
2019
- 2019-09-11 KR KR1020190112996A patent/KR102120882B1/en active IP Right Grant
- 2019-10-11 CN CN201980041782.4A patent/CN112789823B/en active Active
- 2019-10-11 WO PCT/KR2019/013319 patent/WO2021049702A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105592098A (en) * | 2016-01-16 | 2016-05-18 | 杭州复杂美科技有限公司 | Management method of vote and CA certificate of block chain |
KR20190023894A (en) * | 2017-08-30 | 2019-03-08 | 세종대학교산학협력단 | System and method for electronic voting |
WO2019142076A1 (en) * | 2018-01-18 | 2019-07-25 | nChain Holdings Limited | Computer-implemented decision making system and method |
CN108809624A (en) * | 2018-07-18 | 2018-11-13 | 杭州安恒信息技术股份有限公司 | A kind of electronic voting method, system, equipment and computer readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN112789823A (en) | 2021-05-11 |
KR102120882B1 (en) | 2020-06-09 |
WO2021049702A1 (en) | 2021-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112789823B (en) | Block chain-based competitive election network system and competitive election method | |
RU2652443C1 (en) | Voters votes quantity collected by electronic voting determining system and method | |
US10367817B2 (en) | Systems and methods for challengeless coauthentication | |
JP7203829B2 (en) | Systems and methods for communicating, storing, and processing data provided by entities on a blockchain | |
JP4603252B2 (en) | Security framework and protocol for universal general transactions | |
KR102171568B1 (en) | A voter terminal, an authentication server, a voting server, and Electronic voting system | |
US9189777B1 (en) | Electronic commerce with cryptographic authentication | |
US7802104B2 (en) | Context sensitive dynamic authentication in a cryptographic system | |
CN112437938A (en) | System and method for block chain address and owner verification | |
CN115758444A (en) | Method and system for realizing block chain | |
KR20180123709A (en) | Method and system for recording multiple transactions in a block chain | |
US20080105742A1 (en) | Device and method of electronic voting using mobile terminal | |
JP6293716B2 (en) | Anonymous communication system and method for joining the communication system | |
CN110414270B (en) | Personal data protection system and method based on block chain | |
CN109791660A (en) | Data protection system and method | |
TW200427284A (en) | Personal authentication device and system and method thereof | |
Pathak et al. | Blockchain based e-voting system | |
US20230259899A1 (en) | Method, participant unit, transaction register and payment system for managing transaction data sets | |
KR20200051135A (en) | Method for connecting dapp service with cryptocurrency wallet server and cryptocurrency wallet server therefor | |
KR20210058784A (en) | Method for providing virtual asset service based on dicentralized identity and virtual asset service providing server using them | |
CN111931230A (en) | Data authorization method and device, storage medium and electronic device | |
Osho et al. | Framework for an e-voting system applicable in developing economies | |
Hölzl et al. | Real-world identification: towards a privacy-aware mobile eID for physical and offline verification | |
US20240013170A1 (en) | Method for secure, traceable and privacy-preserving digital currency transfer with anonymity revocation on a distributed ledger | |
Wang et al. | Not yet another digital ID: privacy-preserving humanitarian aid distribution |
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 |