Blockchain Based E-Voting Recording System Design: Rifa Hanifatunnisa (Author) Budi Rahardjo
Blockchain Based E-Voting Recording System Design: Rifa Hanifatunnisa (Author) Budi Rahardjo
chain.
These advantages make the blockchain attractive for use in Figure 2. Flow Chart Design
recording systems on e-voting.
This process begins when the voting process at each node has
B. Election and Blockchain Technology been completed. Before the election process begins, each node
generates a private key and a public key. Public key of each
E-voting currently widely used by some countries in the
node sent to all nodes listed in the election process, so each
world, for example in Estonia. The country has been using the
node has a public key list of all nodes. When the election
e-voting system since 2005 and in 2007 conducted online
occurs, each node gathers the election results from each voter.
voting and was the first country in the world to conduct online
When the selection process is completed, the nodes will wait
voting [9]. Since then, a legally binding online voting system
their turn to create the block. Upon arrival of the block on
has been implemented in various other organizations and
each node, then done verification to determine whether the
countries such as the Austrian Federation of Students,
block is valid.
Switzerland, the Netherlands, Norway, and so on [10]. But it
Once valid, then the database added with the data in the block.
still has considerable security issues and the selection is often
After the database update, the node will check whether the
canceled [8]. Although getting a lot of attention, online voting
node ID that was brought as a token is his or not. If the node
system is still not widely done in various countries around the
gets a turn, it will create and submit a block that has been
world. The traditional voting system has several problems
filled in digital signature to broadcast to all nodes by using
encountered when managed by an organization that has full
turn rules in blockchain creation to avoid collision and ensure
control over the system and database, therefore the
that all nodes into blockchain. The submitted block contains
organization can tamper with the database, and when the
the id node, the next id node as used as the token, timestamp,
database changes the traces can be easily eliminated [11].
voting result, hash of the previous node, and the digital
The solution is to make the database public, the database
signature of the node.
owned by many users, which is useful to compare if there are
any discrepancies. The solution to the e-voting system is A. Verification and Update
compatible with using blockchain technology. Blockchain The verification process starts from the acquisition of a block
technology allows in support of e-voting applications. Each containing the voting result, the previous hash of the hash
voter's vote serves as a transaction that can be created into value originating from the previously valid block, and the
blockchain that can work to track voice counting. In this way, digital signature. Then separated between electronic
everyone can approve the final calculation because of the open documents (result of voting and previous hash) and digital
blockchain audit trail, the vote count can be verified that no signature. The electronic document is calculated its hash
data is altered or deleted nor is there any unauthorized data value. As for the digital signature is done by decryption
entered in the blockchain. process using the public key of the node that makes the
electronic document. These two hash values are then
III. DESIGN
compared, if the value is the same then the digital signature is
This research proposed a database recording system on e- valid and the process continues, but if the value is not equal it
voting using blockchain technology. The blockchain is considered invalid and the system will refuse the block to
technology used mostly works the same as the blockchain continue the process.
technology contained in the Bitcoin system and focuses on After the digital signature verified and proven to be valid,
database recording. The nodes involved in Blockchain that further verification of the previous hash begins with the
capture of the voting result, and the previous hash contained in If the verification was successful, then the node (the node that
the most recent in database, and searched hash values with the is in turn) starts creating a new block which will then be
SHA-256 algorithm. Then compare it with the previous hash broadcast to all nodes in the system. In a condition where the
carried by the block being done verification. node that gets the turn is problematic either down in the
If the value is the same, then the hash value is valid and the network or so the system will not stop. In each node it has its
whole block is verified as a valid block and sent by the node own counter time according to the length of time the block is
contained in the system, but if the value is not the same added with the broadcast time then multiplied by the order of
considered invalid and the system will reject the block. The the nodes getting the turn. Node that get counter time = 0, then
verification process has proven to be valid, so the next process it can be interpreted that turn to make new block even though
is update the database by adding the existing data on the not get node ID as token because there is node or some
block. number of previous node has trouble. After the destination
Refer to the Bitcoin system using the Blockchain system, the node knows that its turn has arrived, it is verified to ensure
ECDSA (Elliptic Curve Digital Signature Algorithm) method that the previously received block is from the legitimate node
is used in digital signature techniques, the small key size in in the system.
this method can support the desired security. In other words,
C. Create New Block and Broadcast
the key size of less than or more than 160 bits in the ECDSA
Nodes collect votes from each selector, then calculated and
algorithm is equivalent to security using RSA algorithm with a
combined with the previous hash as an electronic document in
key of 1024 bits, the performance on the signature using any
the system. The electronic document is processed with a hash
ECDSA algorithm component and its security level is always
function to generate a message digest. It encrypts the hash
faster than the RSA algorithm [13]. The ECDSA (Elliptic
value using the private key ECC. The proposed block refers to
Curve Digital Signature Algorithm) algorithm is the most
the research referred to [19] consisting of an id node, a
widely used elliptic curve-based digital signature scheme [14].
timestamp, and three validation sections also in this study plus
The algorithm was proposed by Scott Vanstone in 1992 [15],
an id node of the node that earned a next turn.
which is the analog elliptic curve of the Digital Signature
The validation section consists of the results of the general
Algorithm (DSA). The main advantage of ECDSA is the same
election in the node, followed by the hash of the previous
level of security as DSA but with a smaller key length,
block in the database, lastly inserted with a digital signature
allowing for faster calculation. This algorithm is a
which means the node uses the private key to encrypt the
development of generalized digital signature algorithm using
message digest of the block, which then broadcasts to the
ECC algorithm in digital signature generation process and its
entire node. After the nodes that get the turn finished creating
verification.
a new block, then the block is broadcast to all nodes. This
Breaking ECDSA is tantamount to solving the Elliptic Curve
process generates a new block performed by each node.
Discrete Logarithm Problem (ECDLP) problem. Means, if one
The hash function is one of the cryptographic techniques in
manages to complete ECDLP, he will get Bitcoin access
calculating the unique value that can be likened to the
equivalent to 4.5 billion USD [16]. Selection of Kobiltz curves
fingerprint of a data. Two different documents will have
can have a real impact on ECDSA performance. The Kobiltz
different hash values. A document of any length will produce
curve belongs to the NIST Digital Signature Standard [17] and
a hash value of a certain length according to hash function
also recommended for government since 2000 [18]. This
algorithm used.
indicates that the curve provides adequate security in the use
SHA-256 is a standard hash function by NIST in 2002 as a
of ECDSA.
second-generation SHA and its description details can be
B. Get A Turn found in NIST standard documents [20]. SHA-256 will
The voting time will begin and end simultaneously. When the produce 256 bits output. The hash function used in the
voting time has been completed, each node will wait its turn to research is SHA-256, has been used by U.S. Government
create a block. The system will always broadcast the database Applications and is strongly recommended to use because it
followed by the ID of a given node. The node ID serves as a has been set under the law, with its algorithm has been proven
token, if a node detects that the broadcast ID belongs to it, safe including used with cryptographic algorithms and other
then it is the node's turn to create a new block. But to create a protocols that serve to secure documents containing
new block it is necessary to clarify that the sender of the block information [21].
is a valid sender and part of the election, then the verification In terms of security can be searched for possible attacks that
process is done. can be done on SHA-256. The possibility of brute force attack
work is 2L where L is the number of bits in Message Digest In the database stored data block of all nodes that each block
and Collision attack with possibly 2L / 2, in case of document contains the Node ID, Next ID Node, List of Votes, Previous
signing even the attacker is difficult to make a fake digital Hash, Digital Signature, and timestamp. In this simulation, if
signature even though the attacker makes it from the original the node is down on the network or any other disturbance that
document, the attacker must pair from Documents by working causes the node can’t broadcast block and then the node is
on each one for the complete document and the corrupted disabled and the system has succeeded in continuing the
document to obtain the private key holder [21]. The possibility sequence to the next node because there is counter time for
of a meet in the middle attack whose research has been done each node which when the time has expired counter, Then the
for the complexity of the time in one round is 2 253.3 and node knows that its turn has arrived "My Turn = TRUE".
requires 210.10 words of memory then for now this hash
method is still considered safe [22].