KR102277389B1 - Method, apparatus and computer-readable medium of voting management and aggregation that guarantees transparency using blockchain - Google Patents

Method, apparatus and computer-readable medium of voting management and aggregation that guarantees transparency using blockchain Download PDF

Info

Publication number
KR102277389B1
KR102277389B1 KR1020200141373A KR20200141373A KR102277389B1 KR 102277389 B1 KR102277389 B1 KR 102277389B1 KR 1020200141373 A KR1020200141373 A KR 1020200141373A KR 20200141373 A KR20200141373 A KR 20200141373A KR 102277389 B1 KR102277389 B1 KR 102277389B1
Authority
KR
South Korea
Prior art keywords
voting
account
information
voter
votes
Prior art date
Application number
KR1020200141373A
Other languages
Korean (ko)
Inventor
황헌주
Original Assignee
에스지에이비엘씨 주식회사
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 에스지에이비엘씨 주식회사 filed Critical 에스지에이비엘씨 주식회사
Priority to KR1020200141373A priority Critical patent/KR102277389B1/en
Application granted granted Critical
Publication of KR102277389B1 publication Critical patent/KR102277389B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C13/00Voting apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q2220/00Business processing using cryptography
    • G06Q2220/10Usage protection of distributed data files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Voting or election arrangements
    • H04L2209/38
    • 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

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)

Abstract

In electronic voting and counting using online, when voting, voting information is stored in physically distributed terminals in a blockchain manner so that a voted ballot cannot be retrieved. Even if the voting information is read from the distributed terminals, it is possible to prevent a voter from knowing the result of voting, and the matching relationship between voting rights and voters is also not known, so that complete confidentiality of votes can be maintained during elections. To this end, the method in the present invention includes: a voting data receiving step; a data storing step; and a vote counting step.

Description

블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 방법, 장치 및 컴퓨터-판독가능 기록매체{METHOD, APPARATUS AND COMPUTER-READABLE MEDIUM OF VOTING MANAGEMENT AND AGGREGATION THAT GUARANTEES TRANSPARENCY USING BLOCKCHAIN}Transparency-assured voting management and counting method, device and computer-readable recording medium using blockchain {METHOD, APPARATUS AND COMPUTER-READABLE MEDIUM OF VOTING MANAGEMENT AND AGGREGATION THAT GUARANTEES TRANSPARENCY USING BLOCKCHAIN}

본 발명은 블록 체인 방식을 이용한 선거 운용을 위한 투표 관리 및 집계 기술에 관한 것으로, 구체적으로는 투표 시 투표된 투표권을 검색할 수 없도록 블록 체인 방식으로 물리적으로 분산된 단말에 투표 정보를 저장하되, 분산된 단말로부터 투표 정보를 독출하더라도 해당 투표자가 투표한 결과를 알 수 없도록 할 수 있고, 투표권과 투표자의 매칭 관계 역시 알 수 없도록 하여, 선거 진행 시 투표에 대한 완전한 보안성을 얻을 수 있는 기술에 관한 것이다.The present invention relates to a voting management and counting technology for election operation using a block chain method. Specifically, the voting information is stored in a physically distributed terminal in a block chain method so that the voted voting right cannot be retrieved during voting, Even if voting information is read from distributed terminals, it is possible to prevent the voter from knowing the result of the vote, and the matching relationship between the voting right and the voter is also unknown, so that complete security for voting can be obtained during the election. is about

블록체인(Block Chain) 기술은 관리 대상 데이터를 '블록'이라고 하는 소규모 데이터들이 P2P 방식을 기반으로 생성된 체인 형태의 연결고리 기반 분산 데이터 저장 환경에 저장하여 누구라도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술 기반의 원장 관리 기술이다. 이는 근본적으로 분산 데이터 저장기술의 한 형태로, 지속적으로 변경되는 데이터를 모든 참여 노드에 기록한 변경 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가능하도록 고안되었다. 블록체인 기술은 비트코인을 비롯한 대부분의 암호화폐 거래에 사용된다. 암호화폐의 거래과정은 탈중앙화된 전자장부에 쓰이기 때문에 블록체인 소프트웨어를 실행하는 많은 사용자들의 각 컴퓨터에서 서버가 운영되어, 중앙에 존재하는 은행 없이 개인 간의 자유로운 거래가 가능하다.In the block chain technology, small data called 'blocks' of managed data are stored in a chain-type, link-based distributed data storage environment created based on the P2P method, so that no one can arbitrarily modify it, and anyone can change the result of the change. It is a ledger management technology based on distributed computing technology that can view This is essentially a form of distributed data storage technology, and it is a change list that records continuously changing data to all participating nodes, and is designed to prevent arbitrary manipulation by the operator of the distributed node. Blockchain technology is used for most cryptocurrency transactions, including Bitcoin. Since the transaction process of cryptocurrency is used in a decentralized electronic ledger, a server is operated on each computer of many users running blockchain software, enabling free transactions between individuals without a central bank.

이러한 절처한 보안성에 따라서 최근에는 블록체인 기술이 금융 거래 분야에 그치지 않고 다양한 방식으로 사용되고 있다. 특히 최근에 부정 선거 등의 이슈가 지적되면서 보안성이 철저한 블록체인 기술 기반의 선거 제도 운용 시스템이 새로운 선거 방식으로 제안되고 있다. 특히 선거 제도에 있어서 전자 투표가 가능하도록 함으로써, 투표율을 높일 수 있고 다양한 정치 참여 및 투표 방식에의 활용이 가능한바, 이러한 블록체인 기술을 응용한 선거 기술에 대한 필요성이 증가되고 있다.According to such desperate security, recently, blockchain technology has been used in various ways, not just in the field of financial transactions. In particular, as issues such as fraudulent elections have recently been pointed out, a secure blockchain technology-based election system operation system has been proposed as a new election method. In particular, by enabling electronic voting in the election system, it is possible to increase the turnout and to use it for various political participation and voting methods. Therefore, the need for election technology applying such block chain technology is increasing.

이러한 블록체인 기반의 선거 기술로는 한국 등록특허 제10-2143530호로서, 투표권을 갖는 사용자에게 블록체인 지갑 주소를 발급하고, 투표 집계처리를 하는 방식으로서, 투표에 대한 데이터를 블록체인 방식으로 저장하여 보안성을 높이는 기술이 제시되어 있다.As such a block chain-based election technology, Korean Patent Registration No. 10-2143530 is a method of issuing a block chain wallet address to a user with voting rights and processing vote counting, and storing voting data in a block chain method Thus, a technique for increasing security has been proposed.

그러나 이러한 기술은, 비교적 복잡한 블록체인 기반의 데이터 보안 기술이 적용되어야 하고, 편집이 불가능한 무결성은 지켜질 수 있으나, 선거의 대원직인 무기명성 및 비밀성이 확보되기 위해서는 데이터 자체에 대한 보안성이 필요하여 블록체인 기반의 기술들 중에서도 고도의 많은 기능들이 적용되어야 하는 문제가 있다. 특히 고도의 암호화 기술이 적용되어야 하기 때문에 실질적으로 블록체인의 베이스 기술로서 물리적 서버에 대한 분리 저장의 특징을 실질적으로 활용하여 무기명 및 비밀선거의 특징을 확보하지 못하고, 특히 특정 단말이 해킹 등에 의하여 정보가 유출되는 경우, 특정 투표자가 어느 후보자에 투표하였는지 여부를 파악할 수 있어, 해킹에 비교적 취약한 문제점이 지적되어 왔다. However, these technologies require a relatively complex blockchain-based data security technology to be applied, and the integrity that cannot be edited can be maintained. However, in order to secure the anonymity and confidentiality of the election representatives, the security of the data itself is required. Therefore, there is a problem that many high-level functions have to be applied among blockchain-based technologies. In particular, since high-level encryption technology must be applied, it is not possible to secure the characteristics of anonymous and secret elections by practically utilizing the features of separate storage for physical servers as the base technology of the block chain. is leaked, it is possible to determine which candidate a specific voter voted for, and thus, a problem relatively vulnerable to hacking has been pointed out.

이에 본 발명은, 암호화가 되지 않더라도 보안성이 완전히 보장될 수 있는, 즉 개표 시까지 투표자가 어느 후보자에 투표했는지 여부를 파악할 수 없는 다수 단말에 대한 분산 저장 특징을 활용한 새로운 투표 기술을 제공하여, 매우 간단한 방식으로 완전한 무기명성, 비밀성 및 보안성을 높이는 투표 기술을 제공하는 데 일 목적이 있다.Accordingly, the present invention provides a new voting technology that utilizes the distributed storage feature for multiple terminals in which security can be completely guaranteed even if encryption is not performed, that is, which candidate voted until the vote counting time. , aims to provide voting technology that increases complete anonymity, confidentiality and security in a very simple manner.

또한, 선거인명부 관리 및 투표권의 등록에 있어서의 복잡한 암호화의 필요 없이 투표권에 대한 완전한 무기명성, 비밀성 및 보안성이 지켜질 수 있는 기술을 제공하여, 투표의 관리 및 집계의 투명성이 완전히 보장되는 기술을 제공하는 데 다른 목적이 있다.In addition, it provides technology that allows complete anonymity, confidentiality and security of voting rights without the need for complicated encryption in electoral register management and voting rights registration, so that the transparency of voting management and counting is completely guaranteed. Another purpose is to provide technology.

상술한 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 방법은, 하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 하나 이상의 메모리를 포함하는 컴퓨팅 장치로 구현되는 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 방법에 관한 것으로, 투표권이 유효하게 발급된 투표자 계정으로부터 복수의 후보자들 중 자신이 투표할 것으로 결정하여 투표를 수행 시, 투표 대상이 되는 후보자 계정인 제1 계정 정보 및 암호화된 투표자 계정 정보를 수신하는 투표 데이터 수신 단계; 상기 투표자 계정에 대해서 복수의 후보자들에 대한 투표수를 할당한 뒤 투표자 계정 정보와 각 후보자 계정에 대한 투표수를 포함하는 투표 정보를 저장하되, 상기 제1 계정 정보에 대응하는 후보자 계정에 가장 많은 투표수인 제1 투표수를 할당하고, 상기 제1 계정 정보를 제외한 후보자 계정인 제2 계정 정보에 상기 제1 투표수보다 작은 제2 투표수를 할당하여 일 투표자 계정에 대한 모든 후보자에 대한 상기 투표 정보를 생성한 뒤, 블록 체인을 구성하는 복수의 분산 단말에 상기 투표 정보를 적어도 각 투표수의 정보의 비교가 불가능하도록 독립된 상태로 저장하는 데이터 저장 단계; 및 투표가 완료된 것으로 판단되어 개표를 수행 시, 복수의 분산 단말로부터 상기 데이터 저장 단계에 의하여 저장된 투표 정보를 수집하여 투표자 계정별로 그룹화하고, 투표자 계정에 할당된 모든 후보자 계정에 대한 투표수 정보를 비교하여, 가장 투표수가 큰 후보자 계정의 누적 득표수에 투표자 계정에 할당된 투표권에 대한 수치를 가산하는 개표 처리 단계;를 포함하는 것을 특징으로 한다. In order to achieve the above object, a voting management and counting method with guaranteed transparency using a block chain according to an embodiment of the present invention includes one or more processors and one or more memories for storing instructions executable in the processor It relates to a voting management and counting method that guarantees transparency using a blockchain implemented as a computing device, and when voting is performed by deciding that one of a plurality of candidates will vote from a voter account with validly issued voting rights, Voting data receiving step of receiving the first account information and the encrypted voter account information that is a candidate account; After allocating the number of votes for a plurality of candidates with respect to the voter account, voting information including voter account information and the number of votes for each candidate account is stored, but the candidate account corresponding to the first account information has the largest number of votes. Allocating a first number of votes that is the number of votes, and assigning a second number of votes smaller than the first number of votes to the second account information that is a candidate account except for the first account information for all candidates for one voter account After generating the voting information, a data storage step of storing the voting information in a plurality of distributed terminals constituting the block chain in an independent state so that comparison of at least the information of each vote is impossible; And when it is determined that voting is complete and ballot counting is performed, the voting information stored by the data storage step is collected from a plurality of distributed terminals, grouped by voter account, and the number of votes information for all candidate accounts allocated to the voter account is compared and a vote counting processing step of adding the number of votes allocated to the voter account to the cumulative number of votes of the candidate account having the largest number of votes.

상기 제1 투표수 및 상기 제2 투표수는 기설정된 자연수 범위에서 랜덤하게 설정되는 것이 바람직하다.It is preferable that the first number of votes and the second number of votes are randomly set within a preset natural number range.

상기 투표 데이터 수신 단계 전, 선거인명부 서버가 투표자 계정이 유효하게 투표권의 보유가 가능한지 여부를 판단하는 유효 계정 판단 단계; 및 상기 선거인명부 서버가, 상기 유효 계정 판단 단계에 의하여 상기 투표자 계정이 투표권 보유가 가능한 것으로 판단한 경우, 상기 투표자 계정에 투표를 위한 투표권의 인증 정보를 등록하여 상기 투표자 계정에 투표권을 등록하는 투표권 등록 단계; 를 더 포함하는 것이 바람직하다.Before the voting data receiving step, the electoral list server, a valid account determination step of determining whether the voter account can hold the voting rights validly; and when the electoral list server determines that the voter account can hold the voting right by the valid account determination step, registers the voting right authentication information for voting in the voter account and registers the voting right in the voter account step; It is preferable to further include

상기 투표권 등록 단계는, 투표자 계정으로부터 적어도 투표권에 대한 비밀번호인 제1 암호키를 수신하는 제1 암호키 수신 단계; 상기 제1 암호키를 수신 시, 상기 투표자 계정에 대한 제1 아이디(ID)를 생성하고, 상기 제1 암호키 및 상기 제1 아이디를 인증 정보로서 등록하는 인증 정보 저장 단계; 상기 투표자 계정에 상기 제1 아이디 정보를 전송하는 제1 아이디 전송 단계; 및 상기 투표자 계정으로부터 제1 암호키와 다른 제2 암호키에 대한 설정을 요청하고, 상기 선거인명부 서버와 독립된 투표권 서버가 상기 투표자 계정으로부터 상기 제1 아이디 및 상기 제2 암호키를 수신하여 상기 투표자 계정에 대한 투표권을 저장하는 투표권 저장 단계;를 포함하는 것이 바람직하다.The voting right registration step may include: a first encryption key receiving step of receiving a first encryption key that is at least a password for voting rights from a voter account; an authentication information storage step of generating a first ID (ID) for the voter account when receiving the first encryption key, and registering the first encryption key and the first ID as authentication information; a first ID transmission step of transmitting the first ID information to the voter account; and requesting the setting of a second encryption key different from the first encryption key from the voter account, and the voting right server independent of the electoral list server receives the first ID and the second encryption key from the voter account, and the voter It is preferable to include; a voting right storage step of storing the voting rights for the account.

상기 투표 데이터 수신 단계는, 상기 투표자 계정으로부터 아이디 및 비밀번호 정보를 수신 시, 투표권 서버와의 데이터 비교를 통해, 상기 투표자 계정으로부터 수신한 아이디 및 비밀번호 정보가 상기 제1 아이디 및 상기 제2 암호키와 동일한 경우 상기 투표자 계정에 상기 투표권이 유효하게 발급된 것으로 판단하는 것이 바람직하다.The voting data receiving step, when receiving the ID and password information from the voter account, through data comparison with the voting right server, the ID and password information received from the voter account with the first ID and the second encryption key In the same case, it is preferable to determine that the voting right is validly issued to the voter account.

상기 투표 데이터 수신 단계는, 상기 제1 계정 정보와 상기 제1 아이디 정보를 투표 데이터로서 수신 시, 상기 투표자 계정의 제1 아이디 및 제2 암호키를 상기 선거인명부 서버와 독립된 중개 서버가 상기 제1 아이디 이외의 제2 아이디로 변환하여 상기 암호화된 투표자 계정 정보를 생성하는 투표권 암호화 단계; 및 상기 암호화된 투표자 계정 정보와 상기 제1 아이디 및 상기 제2 암호키 정보를 상기 투표권 서버에 저장하고, 중개 서버의 데이터를 초기화하는 암호화 투표권 저장 단계;를 포함하는 것이 바람직하다.In the voting data receiving step, when receiving the first account information and the first ID information as voting data, the first ID and the second encryption key of the voter account are obtained by an intermediary server independent of the electoral list server. Voting right encryption step of converting to a second ID other than the ID to generate the encrypted voter account information; and an encrypted voting right storing step of storing the encrypted voter account information and the first ID and the second encryption key information in the voting right server, and initializing the data of the intermediary server.

상기 개표 처리 단계는, 상기 투표자 계정별로 투표 정보를 그룹화 시, 득표를 위해 연결된 투표권 서버를 통해 상기 암호화된 투표자 계정에 대응하는 제1 아이디를 도출하고, 상기 제1 아이디별로 투표 정보를 그룹화하는 것이 바람직하다.The ballot count processing step is, when grouping the voting information for each voter account, derive a first ID corresponding to the encrypted voter account through a voting right server connected for voting, and grouping the voting information by the first ID desirable.

한편, 본 발명의 일 실시예에 따른 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 장치는, 하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 하나 이상의 메모리를 포함하는 컴퓨팅 장치로 구현되는 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 장치에 관한 것으로, 투표권이 유효하게 발급된 투표자 계정으로부터 복수의 후보자들 중 자신이 투표할 것으로 결정하여 투표를 수행 시, 투표 대상이 되는 후보자 계정인 제1 계정 정보 및 암호화된 투표자 계정 정보를 수신하는 투표 데이터 수신부; 상기 투표자 계정에 대해서 복수의 후보자들에 대한 투표수를 할당한 뒤 투표자 계정 정보와 각 후보자 계정에 대한 투표수를 포함하는 투표 정보를 저장하되, 상기 제1 계정 정보에 대응하는 후보자 계정에 가장 많은 투표수인 제1 투표수를 할당하고, 상기 제1 계정 정보를 제외한 후보자 계정인 제2 계정 정보에 상기 제1 투표수보다 작은 제2 투표수를 할당하여 일 투표자 계정에 대한 모든 후보자에 대한 상기 투표 정보를 생성한 뒤, 블록 체인을 구성하는 복수의 분산 단말에 상기 투표 정보를 적어도 각 투표수의 정보의 비교가 불가능하도록 독립된 상태로 저장하는 데이터 저장부; 및 투표가 완료된 것으로 판단되어 개표를 수행 시, 복수의 분산 단말로부터 상기 데이터 저장부에 의하여 저장된 투표 정보를 수집하여 투표자 계정별로 그룹화하고, 투표자 계정에 할당된 모든 후보자 계정에 대한 투표수 정보를 비교하여, 가장 투표수가 큰 후보자 계정의 누적 득표수에 투표자 계정에 할당된 투표권에 대한 수치를 가산하는 개표 처리부;를 포함하는 것이 바람직하다.On the other hand, the apparatus for managing and counting votes with guaranteed transparency using a block chain according to an embodiment of the present invention is a block implemented as a computing device including one or more processors and one or more memories for storing instructions executable in the processor It relates to a voting management and counting device that guarantees transparency using a chain. When voting is performed by deciding to vote among a plurality of candidates from a voter account with valid voting rights, 1 Voting data receiver for receiving account information and encrypted voter account information; After allocating the number of votes for a plurality of candidates with respect to the voter account, voting information including voter account information and the number of votes for each candidate account is stored, but the candidate account corresponding to the first account information has the largest number of votes. Allocating a first number of votes that is the number of votes, and assigning a second number of votes smaller than the first number of votes to the second account information that is a candidate account except for the first account information for all candidates for one voter account After generating the voting information, a data storage unit for storing the voting information in a plurality of distributed terminals constituting the block chain in an independent state so that comparison of at least the information of each number of votes is impossible; And when it is determined that voting is complete and ballot counting is performed, voting information stored by the data storage unit is collected from a plurality of distributed terminals, grouped by voter account, and the number of votes information for all candidate accounts allocated to the voter account is compared Thus, it is preferable to include a; vote count processing unit for adding the number of votes allocated to the voter account to the cumulative number of votes of the candidate account with the largest number of votes.

투표자 계정이 유효하게 투표권의 보유가 가능한지 여부를 판단하는 유효 계정 판단부; 및 상기 유효 계정 판단부에 의하여 상기 투표자 계정이 투표권 보유가 가능한 것으로 판단한 경우, 상기 투표자 계정에 투표를 위한 투표권의 인증 정보를 등록하여 상기 투표자 계정에 투표권을 등록하는 투표권 등록부;를 더 포함하는 선거인명부 서버;가 연동되는 것이 바람직하다.a valid account determination unit for determining whether the voter account can effectively hold voting rights; and a voting right registration unit that registers voting rights in the voter account by registering authentication information of voting rights for voting in the voter account when it is determined by the valid account determination unit that the voter account can hold the voting rights; Directory server; is preferably linked.

본 발명에 의하면, 투표자 계정이 특정 후보자에게 투표 시, 해당 후보자에게 투표를 한 것으로 중간 집계가 이루어지지 않고 모든 후보자에게 특정 수의 투표수를 투표한 것으로 이루어지며, 특정 후보자에게 가장 많은 투표수가 되도록 자동으로 투표수라 설정된다. According to the present invention, when a voter account votes for a specific candidate, it is composed of voting for a specific number of votes for all candidates without interim counting as a vote for that candidate, and so that the highest number of votes for a specific candidate It is automatically set as the number of votes.

이에 의하여, 분산 저장되는 투표수에 대한 정보의 특징에 의하여 특정 단말로부터 투표한 결과에 대한 정보가 유출되더라도, 그것만으로는 투표자 계정이 실질적으로 누구에게 투표를 했는지 여부를 전혀 파악할 수 없어, 매우 간단한 기술, 특히 고도의 암호화 기술이 전혀 필요하지 않고도 투표 결과가 집계 전까지 보안성이 완전하게 유지될 수 있는 효과가 있다.Accordingly, even if information on the voting result is leaked from a specific terminal due to the characteristics of the information about the number of votes that are distributed and stored, it is not possible to determine who the voter account actually voted for. It has the effect that security can be completely maintained until voting results are counted without requiring any technology, especially advanced encryption technology.

또한, 투표권 등록에 있어서 물리적으로 완전히 분리된 단말 사이에서 투표자의 아이디 및 비밀번호가 서로 다르게 저장 및 관리되기 때문에, 투표 전 투표자에 대한 투표권 관리 역시 보안성이 높게 유지되어 투표자와 투표결과의 분리를 통한 비밀 선거의 유지성이 보장되는 효과가 있다.In addition, since the voter's ID and password are stored and managed differently between physically separated terminals in the registration of voting rights, the voting rights management for voters before voting is also highly secure, It has the effect of ensuring the maintainability of secret elections.

도 1 내지 4는 본 발명의 일 실시예에 따른 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 방법의 플로우차트.
도 5는 본 발명의 일 실시예에 따른 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 장치의 구성 및 연계 블록도.
도 6은 본 발명의 일 실시예의 구현을 위한 선거인명부 서버의 구체적인 구성도.
도 7은 본 발명의 일 실시예의 구현에 따른 투표권 등록 관리 흐름의 예.
도 8은 본 발명의 일 실시예의 구현에 따라 암호화 기술 없이 투표권에 대한 정보들을 암호화하는 흐름의 예.
도 9는 본 발명의 일 실시예의 구현에 따라서 투표 결과가 저장되고 집계되는 흐름을 설명하기 위한 예.
도 10은 본 발명의 일 실시 예에 따른 컴퓨팅 장치의 내부 구성의 일 예.
1 to 4 are flowcharts of a voting management and counting method that guarantees transparency using a block chain according to an embodiment of the present invention.
5 is a block diagram showing the configuration and connection of a voting management and counting device that guarantees transparency using a block chain according to an embodiment of the present invention.
Figure 6 is a detailed configuration diagram of the electoral list server for the implementation of an embodiment of the present invention.
7 is an example of a voting right registration management flow according to an implementation of an embodiment of the present invention.
8 is an example of a flow of encrypting information on voting rights without encryption technology according to an implementation of an embodiment of the present invention.
9 is an example for explaining a flow in which voting results are stored and aggregated according to an implementation of an embodiment of the present invention;
10 is an example of an internal configuration of a computing device according to an embodiment of the present invention.

이하에서는, 다양한 실시 예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 인식될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다.Hereinafter, various embodiments and/or aspects are disclosed with reference to the drawings. In the following description, for purposes of explanation, numerous specific details are set forth to provide a thorough understanding of one or more aspects. However, it will also be recognized by one of ordinary skill in the art that such aspect(s) may be practiced without these specific details. The following description and accompanying drawings set forth in detail certain illustrative aspects of one or more aspects. These aspects are illustrative, however, and some of various methods may be employed in the principles of various aspects, and the descriptions set forth are intended to include all such aspects and their equivalents.

본 명세서에서 사용되는 "실시 예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다.As used herein, “embodiment”, “example”, “aspect”, “exemplary”, etc. may not be construed as an advantage or an advantage in any aspect or design described herein over other aspects or designs. .

또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.Also, the terms "comprises" and/or "comprising" mean that the feature and/or element is present, but excludes the presence or addition of one or more other features, elements and/or groups thereof. should be understood as not

또한, 제 1, 제 2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Also, terms including an ordinal number, such as first, second, etc., may be used to describe various elements, but the elements are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

또한, 본 발명의 실시 예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시 예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, in the embodiments of the present invention, unless otherwise defined, all terms used herein, including technical or scientific terms, are those commonly understood by those of ordinary skill in the art to which the present invention belongs. have the same meaning. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in an embodiment of the present invention, an ideal or excessively formal meaning is not interpreted as

도 1 내지 4는 본 발명의 일 실시예에 따른 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 방법의 플로우차트, 도 5는 본 발명의 일 실시예에 따른 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 장치의 구성 및 연계 블록도, 도 6은 본 발명의 일 실시예의 구현을 위한 선거인명부 서버의 구체적인 구성도, 도 7은 본 발명의 일 실시예의 구현에 따른 투표권 등록 관리 흐름의 예, 도 8은 본 발명의 일 실시예의 구현에 따라 암호화 기술 없이 투표권에 대한 정보들을 암호화하는 흐름의 예, 도 9는 본 발명의 일 실시예의 구현에 따라서 투표 결과가 저장되고 집계되는 흐름을 설명하기 위한 예이다.1 to 4 are flowcharts of a voting management and counting method that guarantees transparency using a block chain according to an embodiment of the present invention, and FIG. 5 is a voting that guarantees transparency using a block chain according to an embodiment of the present invention. Configuration and linkage block diagram of the management and counting device, Figure 6 is a detailed configuration diagram of the electoral list server for the implementation of an embodiment of the present invention, Figure 7 is an example of a voting right registration management flow according to the implementation of an embodiment of the present invention, 8 is an example of a flow of encrypting information on voting rights without encryption technology according to an embodiment of the present invention, and FIG. 9 is for explaining a flow in which voting results are stored and aggregated according to an implementation of an embodiment of the present invention Yes.

도 1 내지 4를 설명하기에 앞서, 본 발명의 일 실시예에 따른 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 방법은, 도 5에 도시된 본 발명의 일 실시예에 따른 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 장치의 각 구성, 선거인명부 서버, 투표권 서버 및 중개 서버가 각각 수행의 주체로 언급될 수 있다.Before explaining FIGS. 1 to 4, the voting management and counting method that guarantees transparency using a block chain according to an embodiment of the present invention uses a block chain according to an embodiment of the present invention shown in FIG. Each component of the transparent voting management and counting device, the electoral list server, the voting right server, and the mediation server may be referred to as the subject of execution, respectively.

이때, 상술한 장치 및 서버는, 후술하는 도 10의 컴퓨팅 장치 및 컴퓨팅 장치가 그룹화된 장치군으로 구성되는 것으로 이해될 것이며, 특히, 물리적으로 분리된 것으로 언급되는 경우, 이는 별도의 컴퓨팅 장치, 즉 물리적으로 완전히 서로 분리되는 단말로 이루어지는 것으로 이해되어야 할 것이다.At this time, it will be understood that the above-described device and server are composed of a device group in which the computing device and computing device of FIG. 10 to be described later are grouped. In particular, when it is referred to as physically separated, it is a separate computing device, that is, It should be understood that the terminals are physically completely separated from each other.

도 1 내지 4를 참조하면, 컴퓨팅 장치는 먼저, 투표권이 유효하게 발급된 투표자 계정으로부터 복수의 후보자들 중 자신이 투표할 것으로 결정하여 투표를 수행 시, 투표 대상이 되는 후보자 계정인 제1 계정 정보 및 암호화된 투표자 계정 정보를 수신하는 투표 데이터 수신 단계(S30)를 수행한다. Referring to FIGS. 1 to 4 , the computing device first determines that one of a plurality of candidates will vote from a voter account for which the voting right is validly issued and performs a vote, first account information that is a candidate account to be voted on. And performing a voting data receiving step (S30) of receiving the encrypted voter account information.

본 발명에서 투표자 계정은 후술하는 도 2 내지 3의 실시예에 따라서 계정을 등록하고 투표권을 발급받아서, 선거 시 특정 후보자에게 투표를 수행할 수 있는 지위를 갖는 계정을 의미한다. 이에 따라서 투표자 계정은 각 선거시마다 새롭게 각 투표자마다 생성되어 관리될 수 있으며, 이때 투표자 계정의 아이디(ID)는 자동 또는 계정 생성을 요청한 투표자로부터 입력된 정보에 의하여 생성 및 관리될 수 있다. In the present invention, the voter account refers to an account having a position to vote for a specific candidate during an election by registering an account and receiving a voting right according to embodiments of FIGS. 2 to 3 to be described later. Accordingly, a voter account may be newly created and managed for each voter at each election, and the ID of the voter account may be created and managed automatically or by information input from the voter who requested the account creation.

또한 투표자 계정에 투표권이 발급됨은, 예를 들어 기본적으로 국가 선거직 공무원 또는 의원 선거 시 1인 당 1표가 발급되는 경우, 투표권에 관한 정보로서 관리될 시 그 투표권 개수가 별도로 관리되지 않을 것이나, 이외의 선거로서 예를 들어 투표권이 투표자마다 서로 다르게, 즉 특정 투표자에게 2표 이상의 투표권이 설정되는 경우, 발급, 등록 및 관리되는 투표권에 대한 정보에는 투표권의 유효성뿐 아니라 그 개수에 대한 정보가 포함된다. In addition, the issuance of voting rights to the voter account means that, for example, when one vote is issued per person in an election for a national election official or member of the National Assembly, the number of votes will not be separately managed when managed as information about voting rights; In elections other than that, where, for example, voting rights differ from voter to voter, i.e., where more than one vote is assigned to a particular voter, information about the voting rights issued, registered and managed includes information about the number of votes as well as the validity of the voting rights. do.

한편 투표권의 유효성은 상술한 각 투표자 계정의 유효성 및 기 투표여부에 대한 정보를 통해 관리되는 정보로서, 현재 투표할 수 있는 권리가 유효하게 있는지 여부에 대한 정보이다. 물론 상술한 바와 같이 각 투표자의 인적 정보를 통해서 투표권이 발급되는 경우, 투표권이 유효하게 발급되는 것은, 투표자의 인적 정보에 따라서 투표자가 투표할 수 있는 선거에 대한 투표권이 자동으로 결정 및 관리됨을 의미한다. 예를 들어 특정 투표자가 투표권을 발급받는 경우, 투표자의 주민등록지에 따라서 선거구가 결정될 것이며, 이에 따라서 투표자가 투표할 수 있는 선거구 및 선거에 대한 투표권이 자동으로 결정되어 발급될 것이다.On the other hand, the validity of the voting right is information managed through information on the validity of each voter's account and whether the voter has already voted, and is information on whether the current right to vote is valid. Of course, as described above, when the voting right is issued through each voter's personal information, the valid issuance of the voting right means that the voting right for the election in which the voter can vote is automatically determined and managed according to the voter's personal information do. For example, when a specific voter is issued a voting right, the constituency will be determined according to the voter's resident registration address, and accordingly, the constituency in which the voter can vote and the right to vote for the election will be automatically determined and issued.

이때 투표자 계정은 상술한 바와 같이 투표권을 유효하게 발급받은 상태에서 투표를 행사할 수 있다. 이때 투표의 행사는 투표자가 자신의 단말을 통해 도 5에 도시된 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계(10)에 접속하고, 접속 결과 유저 단말(20)에 출력되는 투표 인터페이스의 조작을 통해서 특정 후보자의 선택 및 투표 수행 입력을 수행함으로써, 상술한 투표 대상이 되는 후보자와 투표를 한 투표자 계정 정보가 생성됨을 의미한다. In this case, the voter account may cast a vote in a state in which the voting right is validly issued as described above. At this time, the voting is performed by the voter through his/her terminal accessing the voting management and counting 10 that guarantees transparency using the block chain shown in FIG. 5, and manipulation of the voting interface output to the user terminal 20 as a result of the connection By performing selection of a specific candidate and input of voting performance through the , it means that the above-mentioned candidate to be voted and the voter account information who voted are generated.

이때 투표 대상이 되는 후보자라 함은, 투표자가 특정 선거에 있어서 자신이 선택하여 투표권을 행사함으로써 해당 후보자가 득표하도록 입력한 후보자를 의미한다. 물론, 투표자 계정이 복수의 투표를 수행하는 경우, 각 선거에 따라서 각 투표가 관리될 수 있을 것이다. 예를 들어 특정 투표 기회 시 국회의권, 구의원, 시의원 등에 대한 선거가 동시에 이루어지는 경우, 투표자 계정은 다수의 투표를 진행할 것이며, 이때 S30 단계는 상술한 각 선거별로 관리되는 데이터구조 하에 각 선거별 투표가 구분되어 수행될 것이다.In this case, the candidate to be voted means a candidate entered by the voter so that the candidate can vote by selecting and exercising the right to vote in a specific election. Of course, when the voter account performs a plurality of votes, each vote may be managed according to each election. For example, if an election for the National Assembly right, a district councilor, a city council member, etc. is held at the same time at a specific voting opportunity, the voter account will conduct a plurality of votes, and in this case, step S30 is a vote for each election under the data structure managed for each election described above. will be performed separately.

암호화된 투표자 계정 정보라 함은, 후술하는 도 2 및 3에 대한 설명에서 언급될 투표권 발급 및 등록과 함께 S30 단계에서 투표자 계정에 대한 특정 암호화 기술이 적용됨이 아니라, 계정 정보의 랜덤화 및 물리적으로 분산된 단말에 대한 정보 저장을 통한 암호화가 됨을 의미한다. Encrypted voter account information does not mean that a specific encryption technology for the voter account is applied in step S30 together with the issuance and registration of voting rights, which will be mentioned in the description of FIGS. 2 and 3, which will be described later, but rather the randomization of account information and physically It means that encryption is achieved by storing information about distributed terminals.

S30 단계의 수행이 완료되면, 컴퓨팅 장치는, 투표자 계정에 대해서 복수의 후보자들에 대한 투표수를 할당한 뒤 투표자 계정 정보와 각 후보자 계정에 대한 투표수를 포함하는 투표 정보를 저장하되, 상기 제1 계정 정보에 대응하는 후보자 계정에 가장 많은 투표수인 제1 투표수를 할당하고, 상기 제1 계정 정보를 제외한 후보자 계정인 제2 계정 정보에 상기 제1 투표수보다 작은 제2 투표수를 할당하여 일 투표자 계정에 대한 모든 후보자에 대한 상기 투표 정보를 생성한 뒤, 블록 체인을 구성하는 복수의 분산 단말에 상기 투표 정보를 적어도 각 투표수의 정보의 비교가 불가능하도록 독립된 상태로 저장하는 데이터 저장 단계(S40)를 수행한다. When step S30 is completed, the computing device allocates the number of votes for a plurality of candidates to the voter account and then stores voter information including voter account information and the number of votes for each candidate account, Allocating the first number of votes, which is the largest number of votes, to the candidate account corresponding to the first account information, and allocating the second number of votes smaller than the first number of votes to the second account information that is the candidate account except for the first account information After generating the voting information for all candidates for one voter account, the voting information is stored in a plurality of distributed terminals constituting the block chain in an independent state so that at least the information of each voter cannot be compared. Step S40 is performed.

투표자가 투표를 수행하게 되면, 투표자 계정에 대한 정보와 함께, 투표자가 투표를 한 결과 피투표자가 되는 상술한 제1 계정에 대한 정보가 전달된다. 이때, 컴퓨팅 장치는, 제1 계정에 대한 정보를 그대로 저장하지 않는다. 이는 투표가 계정에 대한 정보와 함께 제1 계정에 대한 정보가 그대로 저장되는 경우, 아무리 블록체인 방식을 이용하여 정보를 분산저장하더라도, 그 무결성이 보장될 뿐이어서 정보의 유출이 가능한 특징에 의하여, 집계 전에 투표자가 투표한 후보자에 대한 투표 결과가 유출될 수 있기 때문이다.When a voter performs a vote, information on the above-described first account that becomes a voteee as a result of the voter voting is transmitted along with information on the voter account. In this case, the computing device does not store information about the first account as it is. This is because, in the case where the information about the first account is stored as it is with the information about the account, no matter how distributed and stored the information using the block chain method, the integrity is only guaranteed, so information can be leaked. This is because voting results for candidates voted by voters before counting may be leaked.

본 발명의 핵심은 투표에 대한 조작의 방지를 위한 데이터의 무결성을 확보하는 것뿐 아니라, 특히 투표에 대한 선거의 대원칙인 무기명성 및 비밀성을 완전하게 확보하기 위함이다. 이때 복잡한 암호화 기술을 사용하지 않기 위해서 S40 단계를 수행하게 된다. The core of the present invention is not only to secure the integrity of data to prevent manipulation of the vote, but also to completely secure the anonymity and confidentiality, which are the grand principles of the election, especially for the vote. At this time, step S40 is performed in order not to use complex encryption technology.

이에 대한 예가 도 9에 도시되어 있다. 도 9를 함께 참조하면, 투표자 단말(20)을 통해서 투표자가 투표를 수행하게 되면, 상술한 바와 같이 투표자 계정에 대한 정보 및 제1 계정에 대한 정보가 전달된다. 이때, S40 단계를 통해서 컴퓨팅 장치는 제1 계정에 해당하는 후보자(C)에 대해서 가장 많은 투표수(5)의 투표를 제1 투표수로 할당하며, 제1 계정을 제외한 후보자 계정인 제2 계정 정보(A, B, D)에는 제1 투표수보다 낮은(2, 3, 4) 수의 투표수인 제2 투표수를 할당하게 된다. An example of this is shown in FIG. 9 . Referring to FIG. 9 together, when a voter performs a vote through the voter terminal 20, information on the voter account and information on the first account are transmitted as described above. At this time, through step S40, the computing device allocates the votes of the largest number of votes (5) to the candidate (C) corresponding to the first account as the first number of votes, and the second account that is the candidate account excluding the first account The information (A, B, D) is assigned a second number of votes, which is a lower number of votes (2, 3, 4) than the first number of votes.

이 결과 해당 투표자 계정은 C 후보자에게 투표를 수행하더라도 데이터 상으로는 모든 후보자(A, B, C, D)에게 투표를 수행한 것으로 투표 정보가 생성된다. 이 정보는 블록 체인을 구성하는 물리적으로 분산된 복수의 분산 단말에 하나의 단말의 해킹을 통해 투표자 계정이 어느 후보자에게 투표했는지 여부를 파악할 수 없는 상태, 즉 서로 해당 정보를 다시 결합하여 비교하기 전까지 투표수가 어느 후보자에 대해서 가장 많이 했는지 여부를 파악할 수 없는 독립된 상태로 저장하게 된다. As a result, even if the voter account votes for candidate C, voting information is created as voting for all candidates (A, B, C, D) on the data. This information is stored in a state in which it is impossible to determine which candidate the voter account voted for through the hacking of one terminal to a plurality of physically distributed distributed terminals constituting the block chain, that is, until the information is recombined and compared with each other. It is stored in an independent state where it is not possible to determine whether or not the votes were cast for which candidate the most.

한편 상술한 제1 투표수 및 제2 투표수는 기설정된 자연수(예를 들어 5) 범위에서 랜덤하게 설정된다. 즉 제1 투표수가 제2 투표수보다 크다는 대원칙 하에서 랜덤하게 투표수가 부여되도록 함으로써, 투표수 부여의 규칙을 파악하여 투표수에 대한 해킹이 불가능하도록 하는 것이다.On the other hand, the above-described first number of votes and the second number of votes are randomly set within a preset natural number (eg, 5) range. In other words, by allowing the number of votes to be randomly assigned under the grand principle that the number of first votes is greater than the number of votes for the second, it is impossible to hack the number of votes by understanding the rules for granting votes.

이 경우, 개표를 위해서 해당 정보를 다시 결합하여 어떤 후보자에 대한 투표수가 가장 많은지 여부를 비교하기 전까지는, 어느 후보자에게 투표를 수행했는지 여부를 전혀 파악하지 못하게 된다. In this case, it is impossible to know at all which candidate a vote was performed until the information is recombined for the purpose of counting the votes and compared to which candidate has the highest number of votes.

즉 그 어떤 암호화 기술을 적용하지 않더라도, 상술한 S40 단계를 통해서 투표의 기밀성, 즉 무기명성 및 비밀성이 완전하게 보장되고, 중간 집계가 불가능한 효과가 있다.That is, even if no encryption technology is applied, the confidentiality of the vote, that is, anonymity and confidentiality, is completely guaranteed through the above-described step S40, and there is an effect that intermediate counting is impossible.

이후, 컴퓨팅 장치는 투표가 완료된 것으로 판단되어 개표를 수행 시, 복수의 분산 단말로부터 데이터 저장 단계(S40)에 의하여 저장된 투표 정보를 수집하여 투표자 계정별로 그룹화하고, 투표자 계정에 할당된 모든 후보자 계정에 대한 투표수 정보를 비교하여, 가장 투표수가 큰 후보자 계정의 누적 득표수에 투표자 계정에 할당된 투표권에 대한 수치를 가산하는 개표 처리 단계(S50)를 수행하게 된다. After that, the computing device collects the voting information stored by the data storage step (S40) from a plurality of distributed terminals when it is determined that the voting has been completed and performs the counting, grouping them by voter account, and to all candidate accounts assigned to the voter account By comparing the number of votes information for the vote counting step (S50) of adding the number of votes allocated to the voter account to the cumulative number of votes of the candidate account with the largest number of votes is performed.

이때 투표자 계정별로 그룹화함은, 상술한 복수 선거(투표) 동시 수행 시 각 선거별로 그룹화하는 개념을 포함하는 것으로 이해되어야 할 것이다. S50 단계에서 컴퓨팅 장치는 투표자 계정에 할당된 모든 후보가 계정에 대한 투표수를 비교한 뒤, 가장 투표수가 큰 후보자 계정, 즉 제1 투표수를 갖는 계정을 제1 계정으로 설정하고, 제1 계정에 해당하는 후보자의 득표수를 가산하게 된다. In this case, grouping by voter account should be understood as including the concept of grouping by each election when the above-described multiple elections (voting) are simultaneously performed. In step S50, the computing device compares the number of votes for all candidates assigned to the voter account for the account, and then sets the candidate account with the highest number of votes, that is, the account with the first number of votes, as the first account, and the first account The number of votes received by the candidates corresponding to

이때, 상술한 비교 대상이 되는 투표수가 아니라, 예를 들어 투표수가 1투표자에게 2 이상이 부여될 수 있는 경우라면, 투표 정보에 해당 투표자 계정이 해당 선거에서 보유한 투표수가 저장될 것이고, 이때 가산되는 득표수는 상술한 투표자 계정이 보유한 투표사가 될 것이다. 이를 위해서 S60 단계에서는 투표자 계정에 대한 정보에 상술한 투표자가 보유한 투표권의 개수에 대한 정보를 함께 도출하여, 득표수 가산에 활용할 수 있다. 이러한 S60 단계가 모든 투표자 계정에 대해서 반복수행되면, 득표수 누적에 의하여 선거 결과가 도출될 것이다.At this time, if it is not the number of votes to be compared as described above, for example, if the number of votes can be given to one voter or more, the number of votes held by the voter account in the corresponding election will be stored in the voting information, and the number of votes added at this time The number of votes cast will be the voters held by the aforementioned voter account. To this end, in step S60, information on the number of voting rights held by the above-mentioned voter may be derived together with the information on the voter account, and may be used to add the number of votes. If this step S60 is repeatedly performed for all voter accounts, the election result will be derived by the accumulation of votes.

한편 본 발명에서는 투표자 계정을 관리 시, 선거인명부, 즉 투표자에 대한 투표권 등록 및 투표자 계정의 관리를 수행하는 서버가 투표자 계정의 정보를 관리하기 때문에, 선거인명부 서버를 해킹 시 유권자(투표자)가 누구에게 투표했는지 여부를 알 수 있어, 무기명성 및 비밀성이 유지되지 못할 수 있다. On the other hand, in the present invention, when managing the voter account, the voter (voter) is the voter (voter) when hacking the electoral list server because the server that performs the registration of voting rights for the voter and management of the voter account manages the information of the voter account when managing the voter account. You can see whether you voted for or not, so anonymity and confidentiality may not be maintained.

이러한 문제를 해결하기 위해서, 본 발명에서는 상술한 S30 내지 S50 단계의 수행 전, 투표권 등록에 있어서 투표자 계정에 대한 보안성을 확보하고, S30 단계의 수행 시 투표자 계정과 투표 결과를 매칭하지 못하도록 하는 기술을 포함하고 있다. In order to solve this problem, the present invention secures the security of the voter account in the registration of voting rights before performing the above-described steps S30 to S50, and prevents the voter account from matching the voting result when performing the step S30 contains

먼저 도 2 및 3과 도 7을 참조하면, S30 단계의 수행 전, 선거인명부 서버가 투표자 계정이 유효하게 투표권의 보유가 가능한지 여부를 판단하는 유효 계정 판단 단계(S10)를 수행한다. 이는, 선거인명무 서버가 투표자 계정으로부터 공인인증서 인증, 신분증 인증 등을 통해서, 특정 선거에서 투표권의 보유가 가능한 유권자인지 여부를 판단하는 과정을 의미한다. First, referring to FIGS. 2 and 3 and 7, before performing step S30, the electoral list server performs a valid account determination step (S10) of determining whether the voter account can effectively hold the voting right. This refers to a process in which the electoral service server determines whether or not the voter is capable of holding the right to vote in a specific election through authentication of an official certificate from a voter account, identification of an identification card, and the like.

이후 선거인명수 서버는, 선거인명부 서버가, 상기 유효 계정 판단 단계에 의하여 상기 투표자 계정이 투표권 보유가 가능한 것으로 판단한 경우, 상기 투표자 계정에 투표를 위한 투표권의 인증 정보를 등록하여 상기 투표자 계정에 투표권을 등록하는 투표권 등록 단계(S20)를 수행한다. After that, the number of voters server, when the voter list server determines that the voter account can hold the voting right by the valid account determination step, registers the voting right authentication information for voting in the voter account and gives the voter account the right to vote Performs a voting right registration step (S20) to register.

S20 단계는 투표권에 대해서 등록을 진행하는 프로세스를 의미하는데, 구체적으로, 투표권을 투표자가 상술한 투표 인터페이스에서 수행할 수 있도록 하기 위한 아이디 및 비밀번호 등의 설정을 위해서, 아이디 및 비밀번호가 생성되고 암호화된 결과인 인증 정보를 등록하는 것을 의미한다. 즉, S20 단계에서의 인증 정보는, 투표권을 수행하기 위해서 투표자가 입력해야 하는 아이디 및 비밀번호 등의 인증을 위한 정보인 것으로 이해되어야 할 것이다.Step S20 refers to the process of registering for voting rights. Specifically, for setting IDs and passwords to enable voters to perform voting rights in the above-mentioned voting interface, IDs and passwords are created and encrypted. It means registering the resulting authentication information. That is, it should be understood that the authentication information in step S20 is information for authentication such as an ID and password that a voter must input in order to perform voting rights.

이때 도 3 과 7을 동시에 참조하면, 투표자 계정은 먼저 사전 단계로서, 선거인명부를 관리하는 선거인명부 서버(40)에, 자신의 투표권 등록을 요청하는 투표권 발급 요청과정(1.)을 수행한다. 이때 인증번호 입력 등의 과정을 거치게 되는 과정(2. 3.)에 있어서 투표자 계정으로부터 투표권에 대한 비밀번호로 설정하는 제1 암호키를 수신하는 제1 암호키 수신 단계(S21, 도 7의 3.)를 수행하게 된다. 제1 암호키는 투표자가 자신의 단말(20)을 통해서 비밀번호로 활용할 수 있도록 입력 가능한 모든 정보(텍스트, 이미지, 영상, 음성)를 포함한다. At this time, referring to FIGS. 3 and 7 , the voter account first performs, as a preliminary step, a voting right issuance request process (1.) for requesting registration of their own voting rights in the electoral list server 40 that manages the electoral list. At this time, in the process (2.3.3) through which the authentication number input is performed, the first encryption key receiving step of receiving the first encryption key set as the password for the voting right from the voter account (S21, 3. in FIG. 7) ) will be performed. The first encryption key includes all information (text, image, video, voice) that can be input so that the voter can use it as a password through his or her terminal 20 .

이후, 선거인명부 서버(40)는, 제1 암호키를 수신 시, 투표자 계정에 대한 제1 아이디(ID)를 생성하고, 제1 암호키 및 제1 아이디를 인증 정보로서 등록하는 인증 정보 저장 단계(S22)를 수행하고, 투표자 계정에 상기 제1 아이디 정보를 전송하는 제1 아이디 전송 단계(S23)를 수행한다. Thereafter, the electoral list server 40, upon receiving the first encryption key, generates a first ID (ID) for the voter account, and an authentication information storage step of registering the first encryption key and the first ID as authentication information (S22) and performs a first ID transmission step (S23) of transmitting the first ID information to the voter account.

이로써, 선거인명부 서버(40)에는 제1 아이디 및 제1 암호키 정보가 투표자에 대한 인증 정보로서 저장된다. 이후, 선거인명부 서버(40) 또는 선거인명부 서버(40)와 물리적으로 완전히 독립된 별도의 투표권 서버(50)에서는 투표자 계정으로부터 제1 암호키와 다른 제2 암호키에 대한 설정을 요청하고, 투표권 서버(50)가 상기 투표자 계정으로부터 제1 아이디 및 제2 암호키를 수신하여 투표자 계정에 대한 투표권을 저장하는 투표권 저장 단계(S24)를 수행한다. As a result, the electoral list server 40 stores the first ID and the first encryption key information as authentication information for the voters. Thereafter, the electoral list server 40 or the electoral list server 40 and a separate voting right server 50 physically independent from the voter account requests the setting of the second encryption key different from the first encryption key from the voter account, and the voting right server 50 receives the first ID and the second encryption key from the voter account and performs a voting right storage step (S24) of storing the voting right for the voter account.

즉 이때 제2 암호키는 선거인명부 서버(40)와 완전히 분리되어 관리되기 때문에, 투표자 본인만이 알 수 있어, 투표자의 인증 정보에 대한 보안성이 자동으로 확보된다. That is, at this time, since the second encryption key is managed completely separated from the electoral list server 40, only the voter himself/herself can know, and the security of the voter's authentication information is automatically secured.

이러한 환경 하에서, S30 단계에 있어서 투표자 계정에 대한 인증 정보를 수신하여 투표권이 유효하게 해당 투표자 계정에 발급됨을 판단하기 위해서, 컴퓨팅 장치는, 투표자 계정으로부터 아이디 및 비밀번호 정보를 수신 시, 투표권 서버(50)와의 데이터 비교를 통해, 투표자 계정으로부터 수신한 아이디 및 비밀번호 정보가 제1 아이디 및 제2 암호키와 동일한 경우 상기 투표자 계정에 상기 투표권이 유효하게 발급된 것으로 판단할 것이다.In this environment, in order to receive the authentication information for the voter account in step S30 and determine that the voting right is effectively issued to the voter account, the computing device, when receiving the ID and password information from the voter account, the voting rights server 50 ), if the ID and password information received from the voter account are the same as the first ID and the second encryption key, it will be determined that the voting right is validly issued to the voter account.

즉 선거인명부를 실질적으로 관리하는 선거인명부 서버(40)는 투표자의 인증 여부를 포함하여 투표자 계정에 대한 그 어떤 선거 과정에서의 정보도 접근할 수 없기 때문에 선거의 기밀성이 완전하게 유지될 수 있는 것이다.That is, the electoral list server 40, which actually manages the electoral register, cannot access any information in the election process for the voter account, including whether the voter is authenticated, so that the confidentiality of the election can be completely maintained. .

한편, 본 발명에서 선거 시 선거인명부 서버(30)를 통하여 투표자에게 부여한 상술한 제1 아이디를 통해서, 유권자가 누구에게 투표했는지를 알 수 없도록 함으로써 기밀성을 더욱 견고하게 확보하게 위해서, 도 4 및 8에 도시된 기술적 특징을 더 포함할 수 있다. On the other hand, in the present invention, through the above-mentioned first ID given to the voter through the electoral list server 30 at the time of an election in the present invention, in order to ensure confidentiality more firmly by making it impossible for the voter to know who voted, FIGS. 4 and 8 It may further include the technical features shown in.

상술한 도면을 참고하면, 투표 데이터 수신 단계(S30)의 수행에 있어서 컴퓨팅 장치는 투표자의 단말(20)로부터 투표를 수행하기 위해서 투표권에 대한 교환 요청을 수신(1.)하게 되면, 이를 선거인명부 서버(40) 및 투표권 서버(50)와 완전히 물리적으로 독립된 중개 서버(60)에 해당 교환 요청을 전달하게 된다. Referring to the above-mentioned drawings, in performing the voting data receiving step (S30), the computing device receives (1.) an exchange request for voting rights in order to perform a vote from the voter's terminal 20, it The exchange request is transmitted to the server 40 and the intermediate server 60 completely physically independent from the voting rights server 50 .

이때 컴퓨팅 장치 또는 중개 서버(60)는, 투표자 계정의 제1 아이디 및 제2 암호키를 상기 선거인명부 서버와 독립된 중개 서버가 제1 아이디 이외의 제2 아이디로 변환하여 암호화된 투표자 계정 정보를 생성하는 투표권 암호화 단계 (S31, 도 8의 2. 3. 4. 5. 6.)를 수행한다. 이때 암호화된 투표자 계정 정보는 예를 들어 제2 아이디 그 자체가 될 수 있다.At this time, the computing device or the intermediary server 60 converts the first ID and the second encryption key of the voter account into a second ID other than the first ID by the intermediary server independent of the electoral list server to generate encrypted voter account information. performing the voting right encryption step (S31, 2. 3. 4. 5. 6. of FIG. 8). In this case, the encrypted voter account information may be, for example, the second ID itself.

이후, 암호화된 투표자 계정 정보와 제1 아이디 및 상기 제2 암호키 정보를 투표권 서버에 저장하고, 중개 서버의 데이터를 초기화하는 암호화 투표권 저장 단계(S32)를 수행한다. S32 단계에 있어서 중개 서버의 데이터를 초기화함은, 베타적 관계자가 관리하는 중개 서버(60)를 도 5에 도시된 바와 같이 다수의 중개 단말(61)로 운영하는 개념으로 대체될 수 있다. 이 경우, 특정한 서버에 기록이 남아도 투표자를 특정할 수 없게 된다. Thereafter, the encrypted voter account information, the first ID, and the second encryption key information are stored in the voting right server, and the encrypted voting right storage step (S32) of initializing the data of the intermediary server is performed. Initializing the data of the intermediary server in step S32 may be replaced by the concept of operating the intermediary server 60 managed by an exclusive person with a plurality of intermediary terminals 61 as shown in FIG. 5 . In this case, even if a record is left on a specific server, the voter cannot be specified.

이러한 경우에 있어서 개표 처리 단계(S50)는, 투표자 계정별로 투표 정보를 그룹화 시에 있어서 득표를 위해 연결된 투표권 서버를 통해 암호화된 투표자 계정에 대응하는 제1 아이디를 도출하고, 제1 아이디별로 투표 정보를 그룹화하여 정확한 투표 집계가 가능하도록 한다. In this case, the ballot count processing step (S50) derives a first ID corresponding to the encrypted voter account through a voting right server connected for voting in grouping voting information by voter account, and voting information for each first ID group to enable accurate vote counting.

도 5는 본 발명의 일 실시예에 따른 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 장치의 구성 및 연계 블록도이며, 도 6은 본 발명의 일 실시예의 구현을 위한 선거인명부 서버의 구체적인 구성도이다. 이하의 설명에서 있어서 상술한 도 1 내지 4 및 도 7 내지 9에 대한 설명에서 언급한 내용과 중복되는 설명에 대해서는 생략하기로 한다. 5 is a block diagram showing the configuration and connection of a voting management and counting device that guarantees transparency using a block chain according to an embodiment of the present invention, and FIG. 6 is a detailed configuration of an electoral list server for implementing an embodiment of the present invention. It is also In the following description, descriptions overlapping with those described in the descriptions of FIGS. 1 to 4 and 7 to 9 will be omitted.

먼저 도 5를 참조하면, 본 발명의 일 실시예에 따른 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 장치(10, 이하 본 발명의 장치라 함)는, 투표 데이터 수신부(11), 데이터 저장부(12) 및 개표 처리부(13)를 포함한다. First, referring to FIG. 5 , the voting management and counting device 10 (hereinafter referred to as the device of the present invention) that guarantees transparency using a block chain according to an embodiment of the present invention includes a voting data receiving unit 11, data storage It includes a section 12 and a ballot count processing section 13 .

투표 데이터 수신부(11)는, 투표권이 유효하게 발급된 투표자 계정으로부터 복수의 후보자들 중 자신이 투표할 것으로 결정하여 투표를 수행 시, 투표 대상이 되는 후보자 계정인 제1 계정 정보 및 암호화된 투표자 계정 정보를 수신하는 기능을 수행하는 구성이다. 즉, 상술한 도 1의 S30 단계 및 도 4의 S31 및 S32 단계에 대한 설명에서 언급된 모든 기능을 수행하는 구성으로 이해되어야 할 것이다. 특히, 도 4에 대한 설명에 있어서 투표권 서버(50) 및 중개 서버(60, 61)가 특정 기능을 수행하는 것으로 설명되는 단계는, 예를 들어 투표 데이터 수신부(11)의 기능, 즉 제어에 의하여 투표권 서버(50) 및 중개 서버(60, 61)의 해당 기능이 수행되는 것으로 그 수행 주체 및 제어 주체가 이해되어야 할 r섯이다.The voting data receiving unit 11 determines that one of a plurality of candidates will vote from the voter account for which the voting right is validly issued and performs a vote, the first account information and the encrypted voter account as the candidate account to be voted on It is a configuration that performs the function of receiving information. That is, it should be understood as a configuration that performs all functions mentioned in the description of steps S30 of FIG. 1 and steps S31 and S32 of FIG. 4 described above. In particular, in the description of FIG. 4, the step described as the voting right server 50 and the mediation server 60, 61 performing a specific function, for example, by the function of the voting data receiving unit 11, that is, by control Voting rights server 50 and the mediation server (60, 61) that the corresponding function is performed, the performing subject and the controlling subject is 5 to be understood.

데이터 저장부(12)는 투표자 계정에 대해서 복수의 후보자들에 대한 투표수를 할당한 뒤 투표자 계정 정보와 각 후보자 계정에 대한 투표수를 포함하는 투표 정보를 저장하되, 제1 계정 정보에 대응하는 후보자 계정에 가장 많은 투표수인 제1 투표수를 할당하고, 제1 계정 정보를 제외한 후보자 계정인 제2 계정 정보에 상기 제1 투표수보다 작은 제2 투표수를 할당하여 일 투표자 계정에 대한 모든 후보자에 대한 상기 투표 정보를 생성한 뒤, 블록 체인을 구성하는 복수의 분산 단말(30)에 투표 정보를 적어도 각 투표수의 정보의 비교가 불가능하도록 독립된 상태로 저장하는 기능을 수행한다. 즉 상술한 도 2의 S40 단계에 대한 서명에서 언급된 모든 기능을 수행하는 구성으로 이해될 것이다.After allocating the number of votes for a plurality of candidates for the voter account, the data storage unit 12 stores vote information including voter account information and the number of votes for each candidate account, but corresponding to the first account information Allocating the first number of votes, which is the largest number of votes, to the candidate account, and allocating the second number of votes smaller than the first number of votes to the second account information that is the candidate account except for the first account information, After generating the voting information for the candidate, it performs a function of storing the voting information in a plurality of distributed terminals 30 constituting the block chain in an independent state so that at least the information of each vote count cannot be compared. That is, it will be understood as a configuration that performs all functions mentioned in the signature for step S40 of FIG. 2 described above.

한편, 개표 처리부(13)는 투표가 완료된 것으로 판단되어 개표를 수행 시, 복수의 분산 단말(30)로부터 데이터 저장부(12)에 의하여 저장된 투표 정보를 수집하여 투표자 계정별로 그룹화하고, 투표자 계정에 할당된 모든 후보자 계정에 대한 투표수 정보를 비교하여, 가장 투표수가 큰 후보자 계정의 누적 득표수에 투표자 계정에 할당된 투표권에 대한 수치를 가산하는 기능을 수행한다. 즉 도 1의 S50 단계에 대한 설명 및 도 4, 8에 대한 설명에서 언급된 모든 기능을 수행하는 구성으로 이해될 것이다.On the other hand, the ballot count processing unit 13 collects the voting information stored by the data storage unit 12 from the plurality of distributed terminals 30 when it is determined that the voting has been completed and performs the counting, grouping them by voter account, and adding the voter account to the voter account. By comparing the number of votes information for all the allocated candidate accounts, it performs a function of adding the number of votes allocated to the voter account to the cumulative number of votes of the candidate account with the highest number of votes. That is, it will be understood as a configuration that performs all functions mentioned in the description of step S50 of FIG. 1 and the description of FIGS. 4 and 8 .

한편 도 6을 참조하면, 선거인명부 서버(40)는 유효계정 판단부(41)와 투표권 등록부(42)를 포함한다. 이때 유효계정 판단부(41)는 투표자 계정이 유효하게 투표권의 보유가 가능한지 여부를 판단하는 기능을 수행하는 구성으로서, 도 2의 S10 단계에 대한 설명에서 언급한 모든 기능을 수행하는 구성으로 이해될 것이다.Meanwhile, referring to FIG. 6 , the electoral list server 40 includes an effective account determination unit 41 and a voting right registration unit 42 . At this time, the effective account determination unit 41 is a configuration that determines whether the voter account can effectively hold the voting right, and it will be understood as a configuration that performs all the functions mentioned in the description of step S10 of FIG. 2 . will be.

한편, 투표권 등록부(42)는 유효 계정 판단부(41)에 의하여 투표자 계정이 투표권 보유가 가능한 것으로 판단한 경우, 투표자 계정에 투표를 위한 투표권의 인증 정보를 등록하여 투표자 계정에 투표권을 등록하는 구성을 의미한다. 즉 도 2의 S20 단계 및 도 3의 S21 내지 S24 단계에 대한 설명에서 언급한 모든 기능을 수행하는 구성으로 이해될 것이다. On the other hand, the voting rights registration unit 42 registers the voting rights in the voter account by registering the voting rights authentication information for voting in the voter account when it is determined by the valid account determination unit 41 that the voter account can hold the voting rights. it means. That is, it will be understood as a configuration that performs all the functions mentioned in the description of steps S20 to S24 of FIG. 2 and steps S21 to S24 of FIG. 3 .

한편, 상술한 선거인명부 서버(40)는 도 5에 도시된 바와 같이 본 발명의 장치(10)에 연동됨으로써, 상술한 기능을 효과적으로 수행하게 된다.On the other hand, the above-described electoral list server 40 is linked to the device 10 of the present invention as shown in FIG. 5, thereby effectively performing the above-described function.

도 10은 본 발명의 일 실시 예에 따른 컴퓨팅 장치의 내부 구성의 일 예를 도시하였으며, 이하의 설명에 있어서, 상술한 도 1 내지 9에 대한 설명과 중복되는 불필요한 실시 예에 대한 설명은 생략하기로 한다.10 illustrates an example of an internal configuration of a computing device according to an embodiment of the present invention, and in the following description, descriptions of unnecessary embodiments that overlap with those of FIGS. 1 to 9 will be omitted. do it with

도 10에 도시한 바와 같이, 컴퓨팅 장치(10000)은 적어도 하나의 프로세서(processor)(11100), 메모리(memory)(11200), 주변장치 인터페이스(peripheral interface)(11300), 입/출력 서브시스템(I/O subsystem)(11400), 전력 회로(11500) 및 통신 회로(11600)를 적어도 포함할 수 있다. 이때, 컴퓨팅 장치(10000)은 촉각 인터페이스 장치에 연결된 유저 단말이기(A) 혹은 전술한 컴퓨팅 장치(B)에 해당될 수 있다.10, the computing device 10000 includes at least one processor 11100, a memory 11200, a peripheral interface 11300, an input/output subsystem ( It may include at least an I/O subsystem) 11400 , a power circuit 11500 , and a communication circuit 11600 . In this case, the computing device 10000 may correspond to a user terminal connected to the tactile interface device (A) or the aforementioned computing device (B).

메모리(11200)는, 일례로 고속 랜덤 액세스 메모리(high-speed random access memory), 자기 디스크, 에스램(SRAM), 디램(DRAM), 롬(ROM), 플래시 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(11200)는 컴퓨팅 장치(10000)의 동작에 필요한 소프트웨어 모듈, 명령어 집합 또는 그밖에 다양한 데이터를 포함할 수 있다.The memory 11200 may include, for example, a high-speed random access memory, a magnetic disk, an SRAM, a DRAM, a ROM, a flash memory, or a non-volatile memory. have. The memory 11200 may include a software module, an instruction set, or other various data required for the operation of the computing device 10000 .

이때, 프로세서(11100)나 주변장치 인터페이스(11300) 등의 다른 컴포넌트에서 메모리(11200)에 액세스하는 것은 프로세서(11100)에 의해 제어될 수 있다.In this case, access to the memory 11200 from other components such as the processor 11100 or the peripheral device interface 11300 may be controlled by the processor 11100 .

주변장치 인터페이스(11300)는 컴퓨팅 장치(10000)의 입력 및/또는 출력 주변장치를 프로세서(11100) 및 메모리 (11200)에 결합시킬 수 있다. 프로세서(11100)는 메모리(11200)에 저장된 소프트웨어 모듈 또는 명령어 집합을 실행하여 컴퓨팅 장치(10000)을 위한 다양한 기능을 수행하고 데이터를 처리할 수 있다.Peripheral interface 11300 may couple input and/or output peripherals of computing device 10000 to processor 11100 and memory 11200 . The processor 11100 may execute a software module or an instruction set stored in the memory 11200 to perform various functions for the computing device 10000 and process data.

입/출력 서브시스템(11400)은 다양한 입/출력 주변장치들을 주변장치 인터페이스(11300)에 결합시킬 수 있다. 예를 들어, 입/출력 서브시스템(11400)은 모니터나 키보드, 마우스, 프린터 또는 필요에 따라 터치스크린이나 센서 등의 주변장치를 주변장치 인터페이스(11300)에 결합시키기 위한 컨트롤러를 포함할 수 있다. 다른 측면에 따르면, 입/출력 주변장치들은 입/출력 서브시스템(11400)을 거치지 않고 주변장치 인터페이스(11300)에 결합될 수도 있다.The input/output subsystem 11400 may couple various input/output peripherals to the peripheral interface 11300 . For example, the input/output subsystem 11400 may include a controller for coupling a peripheral device such as a monitor, keyboard, mouse, printer, or a touch screen or sensor as needed to the peripheral interface 11300 . According to another aspect, input/output peripherals may be coupled to peripheral interface 11300 without going through input/output subsystem 11400 .

전력 회로(11500)는 단말기의 컴포넌트의 전부 또는 일부로 전력을 공급할 수 있다. 예를 들어 전력 회로(11500)는 전력 관리 시스템, 배터리나 교류(AC) 등과 같은 하나 이상의 전원, 충전 시스템, 전력 실패 감지 회로(power failure detection circuit), 전력 변환기나 인버터, 전력 상태 표시자 또는 전력 생성, 관리, 분배를 위한 임의의 다른 컴포넌트들을 포함할 수 있다.The power circuit 11500 may supply power to all or some of the components of the terminal. For example, the power circuit 11500 may include a power management system, one or more power sources such as batteries or alternating current (AC), a charging system, a power failure detection circuit, a power converter or inverter, a power status indicator, or a power source. It may include any other components for creation, management, and distribution.

통신 회로(11600)는 적어도 하나의 외부 포트를 이용하여 다른 컴퓨팅 장치와 통신을 가능하게 할 수 있다.The communication circuit 11600 may enable communication with another computing device using at least one external port.

또는 상술한 바와 같이 필요에 따라 통신 회로(11600)는 RF 회로를 포함하여 전자기 신호(electromagnetic signal)라고도 알려진 RF 신호를 송수신함으로써, 다른 컴퓨팅 장치와 통신을 가능하게 할 수도 있다.Alternatively, as described above, if necessary, the communication circuit 11600 may include an RF circuit to transmit and receive an RF signal, also known as an electromagnetic signal, to enable communication with other computing devices.

이러한 도 10의 실시 예는, 컴퓨팅 장치(10000)의 일례일 뿐이고, 컴퓨팅 장치(11000)은 도 10에 도시된 일부 컴포넌트가 생략되거나, 도 10에 도시되지 않은 추가의 컴포넌트를 더 구비하거나, 2개 이상의 컴포넌트를 결합시키는 구성 또는 배치를 가질 수 있다. 예를 들어, 모바일 환경의 통신 단말을 위한 컴퓨팅 장치는 도 10에도시된 컴포넌트들 외에도, 터치스크린이나 센서 등을 더 포함할 수도 있으며, 통신 회로(1160)에 다양한 통신방식(WiFi, 3G, LTE, Bluetooth, NFC, Zigbee 등)의 RF 통신을 위한 회로가 포함될 수도 있다. 컴퓨팅 장치(10000)에 포함 가능한 컴포넌트들은 하나 이상의 신호 처리 또는 어플리케이션에 특화된 집적 회로를 포함하는 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 양자의 조합으로 구현될 수 있다.This embodiment of FIG. 10 is only an example of the computing device 10000, and the computing device 11000 may omit some components shown in FIG. 10, or further include additional components not shown in FIG. 10, or 2 It may have a configuration or arrangement that combines two or more components. For example, a computing device for a communication terminal in a mobile environment may further include a touch screen or a sensor in addition to the components shown in FIG. 10 , and various communication methods (WiFi, 3G, LTE) are provided in the communication circuit 1160 . , Bluetooth, NFC, Zigbee, etc.) may include a circuit for RF communication. Components that may be included in the computing device 10000 may be implemented in hardware, software, or a combination of both hardware and software including an integrated circuit specialized for one or more signal processing or applications.

본 발명의 실시 예에 따른 방법들은 다양한 컴퓨팅 장치를 통하여 수행될 수 있는 프로그램 명령(instruction) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 특히, 본 실시 예에 따른 프로그램은 PC 기반의 프로그램 또는 모바일 단말 전용의 어플리케이션으로 구성될 수 있다. 본 발명이 적용되는 애플리케이션은 파일 배포 시스템이 제공하는 파일을 통해 이용자 단말에 설치될 수 있다. 일 예로, 파일 배포 시스템은 이용자 단말이기의 요청에 따라 상기 파일을 전송하는 파일 전송부(미도시)를 포함할 수 있다.Methods according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed through various computing devices and recorded in a computer-readable medium. In particular, the program according to the present embodiment may be configured as a PC-based program or an application dedicated to a mobile terminal. The application to which the present invention is applied may be installed in the user terminal through a file provided by the file distribution system. As an example, the file distribution system may include a file transmission unit (not shown) that transmits the file according to a request of the user terminal.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시 예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술 분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, the devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨팅 장치상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. may be permanently or temporarily embody in The software may be distributed over networked computing devices and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

실시 예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시 예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and used by those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시 예들이 비록 한정된 실시 예와 도면에 의해 설명되었으나, 해당 기술 분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시 예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다As described above, although the embodiments have been described with reference to the limited embodiments and drawings, various modifications and variations are possible by those skilled in the art from the above description. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result. Therefore, other implementations, other embodiments, and equivalents to the claims also fall within the scope of the following claims.

Claims (10)

하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 하나 이상의 메모리를 포함하는 컴퓨팅 장치로 구현되는 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 방법에 관한 것으로,
투표권이 유효하게 발급된 투표자 계정으로부터 복수의 후보자들 중 자신이 투표할 것으로 결정하여 투표를 수행 시, 투표 대상이 되는 후보자 계정인 제1 계정 정보 및 암호화된 투표자 계정 정보를 수신하는 투표 데이터 수신 단계;
상기 투표자 계정에 대해서 복수의 후보자들에 대한 투표수를 할당한 뒤 투표자 계정 정보와 각 후보자 계정에 대한 투표수를 포함하는 투표 정보를 저장하되, 상기 제1 계정 정보에 대응하는 후보자 계정에 가장 많은 투표수인 제1 투표수를 할당하고, 상기 제1 계정 정보를 제외한 후보자 계정인 제2 계정 정보에 상기 제1 투표수보다 작은 제2 투표수를 할당하여 일 투표자 계정에 대한 모든 후보자에 대한 상기 투표 정보를 생성한 뒤, 블록 체인을 구성하는 복수의 분산 단말에 상기 투표 정보를 서로 독립된 상태로 저장하여, 적어도 개표를 위해서 상기 투표 정보를 다시 결합하여 어떤 후보자에 대한 투표수가 가장 많은지 여부를 비교하기 전까지는, 어느 후보자에게 투표를 수행했는지 여부의 파악이 불가능하도록 저장하는 데이터 저장 단계; 및
투표가 완료된 것으로 판단되어 개표를 수행 시, 복수의 분산 단말로부터 상기 데이터 저장 단계에 의하여 저장된 투표 정보를 수집하여 투표자 계정별로 그룹화하고, 투표자 계정에 할당된 모든 후보자 계정에 대한 투표수 정보를 비교하여, 가장 투표수가 큰 후보자 계정의 누적 득표수에 투표자 계정에 할당된 투표권에 대한 수치를 가산하는 개표 처리 단계;를 포함하는 것을 특징으로 하는 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 방법.
It relates to a voting management and counting method that guarantees transparency using a blockchain implemented as a computing device including one or more processors and one or more memories for storing instructions executable in the processor,
Voting data receiving step of receiving first account information and encrypted voter account information, which are candidate accounts to be voted upon, when voting is performed by deciding to vote among a plurality of candidates from a voter account with valid voting rights ;
After allocating the number of votes for a plurality of candidates with respect to the voter account, voting information including voter account information and the number of votes for each candidate account is stored, but the candidate account corresponding to the first account information has the largest number of votes. Allocating a first number of votes, which is the number of votes, and assigning a second number of votes smaller than the first number of votes to second account information that is a candidate account except for the first account information, for all candidates for one voter account After generating the voting information, the voting information is stored in a state independent of each other in a plurality of distributed terminals constituting the block chain, and at least the voting information is recombined for counting to compare whether the number of votes for which candidate has the most a data storage step of storing so that it is impossible to determine which candidate voted for; and
When it is determined that voting is complete and ballot counting is performed, the voting information stored by the data storage step is collected from a plurality of distributed terminals, grouped by voter account, and the number of votes information for all candidate accounts assigned to the voter account is compared. , a vote counting processing step of adding the number of votes allocated to the voter account to the cumulative number of votes of the candidate account with the largest number of votes; Voting management and counting method that guarantees transparency using a block chain, comprising: a.
제1항에 있어서,
상기 제1 투표수 및 상기 제2 투표수는 기설정된 자연수 범위에서 랜덤하게 설정되는 것을 특징으로 하는 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 방법.
According to claim 1,
The vote management and counting method that guarantees transparency using a block chain, characterized in that the first number of votes and the number of second votes are randomly set within a preset natural number range.
제1항에 있어서,
상기 투표 데이터 수신 단계 전,
선거인명부 서버가 투표자 계정이 유효하게 투표권의 보유가 가능한지 여부를 판단하는 유효 계정 판단 단계; 및
상기 선거인명부 서버가, 상기 유효 계정 판단 단계에 의하여 상기 투표자 계정이 투표권 보유가 가능한 것으로 판단한 경우, 상기 투표자 계정에 투표를 위한 투표권의 인증 정보를 등록하여 상기 투표자 계정에 투표권을 등록하는 투표권 등록 단계; 를 더 포함하는 것을 특징으로 하는 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 방법.
According to claim 1,
Before the voting data receiving step,
A valid account determination step of determining whether the electoral list server can hold the voting right in a valid voter account; and
When the voter list server determines that the voter account can hold the voting right by the valid account determination step, registering the voting right authentication information for voting in the voter account and registering the voting right in the voter account. ; Voting management and counting method that guarantees transparency using a block chain, characterized in that it further comprises.
제3항에 있어서,
상기 투표권 등록 단계는,
투표자 계정으로부터 적어도 투표권에 대한 비밀번호인 제1 암호키를 수신하는 제1 암호키 수신 단계;
상기 제1 암호키를 수신 시, 상기 투표자 계정에 대한 제1 아이디(ID)를 생성하고, 상기 제1 암호키 및 상기 제1 아이디를 인증 정보로서 등록하는 인증 정보 저장 단계;
상기 투표자 계정에 상기 제1 아이디 정보를 전송하는 제1 아이디 전송 단계; 및
상기 투표자 계정으로부터 제1 암호키와 다른 제2 암호키에 대한 설정을 요청하고, 상기 선거인명부 서버와 독립된 투표권 서버가 상기 투표자 계정으로부터 상기 제1 아이디 및 상기 제2 암호키를 수신하여 상기 투표자 계정에 대한 투표권을 저장하는 투표권 저장 단계;를 포함하는 것을 특징으로 하는 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 방법.
4. The method of claim 3,
The voting right registration step is,
A first encryption key receiving step of receiving a first encryption key that is a password for at least voting rights from the voter account;
an authentication information storage step of generating a first ID (ID) for the voter account when receiving the first encryption key, and registering the first encryption key and the first ID as authentication information;
a first ID transmission step of transmitting the first ID information to the voter account; and
The voter account requests the setting of a second encryption key different from the first encryption key from the voter account, and the voting right server independent of the electoral list server receives the first ID and the second encryption key from the voter account, and the voter account Voting management and counting method that guarantees transparency using a block chain, characterized in that it includes; a voting right storage step of storing the voting right for the .
제4항에 있어서,
상기 투표 데이터 수신 단계는,
상기 투표자 계정으로부터 아이디 및 비밀번호 정보를 수신 시, 투표권 서버와의 데이터 비교를 통해, 상기 투표자 계정으로부터 수신한 아이디 및 비밀번호 정보가 상기 제1 아이디 및 상기 제2 암호키와 동일한 경우 상기 투표자 계정에 상기 투표권이 유효하게 발급된 것으로 판단하는 것을 특징으로 하는 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 방법.
5. The method of claim 4,
The voting data receiving step is,
When receiving the ID and password information from the voter account, through data comparison with the voting right server, if the ID and password information received from the voter account are the same as the first ID and the second encryption key, the information is stored in the voter account. A voting management and counting method that guarantees transparency using a block chain, characterized in that it is judged that the voting right is validly issued.
제4항에 있어서,
상기 투표 데이터 수신 단계는,
상기 제1 계정 정보와 상기 제1 아이디 정보를 투표 데이터로서 수신 시, 상기 투표자 계정의 제1 아이디 및 제2 암호키를 상기 선거인명부 서버와 독립된 중개 서버가 상기 제1 아이디 이외의 제2 아이디로 변환하여 상기 암호화된 투표자 계정 정보를 생성하는 투표권 암호화 단계; 및
상기 암호화된 투표자 계정 정보와 상기 제1 아이디 및 상기 제2 암호키 정보를 상기 투표권 서버에 저장하고, 중개 서버의 데이터를 초기화하는 암호화 투표권 저장 단계;를 포함하는 것을 특징으로 하는 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 방법
5. The method of claim 4,
The voting data receiving step is,
When receiving the first account information and the first ID information as voting data, the first ID and the second encryption key of the voter account are converted to a second ID other than the first ID by an intermediary server independent of the electoral list server. Voting right encryption step of converting to generate the encrypted voter account information; and
Storing the encrypted voter account information, the first ID, and the second encryption key information in the voting right server, and an encrypted voting right storage step of initializing the data of the intermediary server; Transparency using a block chain comprising: This guaranteed way to manage and count votes
제6항에 있어서,
상기 개표 처리 단계는,
상기 투표자 계정별로 투표 정보를 그룹화 시, 득표를 위해 연결된 투표권 서버를 통해 상기 암호화된 투표자 계정에 대응하는 제1 아이디를 도출하고, 상기 제1 아이디별로 투표 정보를 그룹화하는 것을 특징으로 하는 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 방법.
7. The method of claim 6,
The counting process step is,
When the voting information is grouped by voter account, a first ID corresponding to the encrypted voter account is derived through a voting right server connected for voting, and the voting information is grouped by the first ID Block chain characterized in that Voting management and counting method with guaranteed transparency.
하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 하나 이상의 메모리를 포함하는 컴퓨팅 장치로 구현되는 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 장치에 관한 것으로,
투표권이 유효하게 발급된 투표자 계정으로부터 복수의 후보자들 중 자신이 투표할 것으로 결정하여 투표를 수행 시, 투표 대상이 되는 후보자 계정인 제1 계정 정보 및 암호화된 투표자 계정 정보를 수신하는 투표 데이터 수신부;
상기 투표자 계정에 대해서 복수의 후보자들에 대한 투표수를 할당한 뒤 투표자 계정 정보와 각 후보자 계정에 대한 투표수를 포함하는 투표 정보를 저장하되, 상기 제1 계정 정보에 대응하는 후보자 계정에 가장 많은 투표수인 제1 투표수를 할당하고, 상기 제1 계정 정보를 제외한 후보자 계정인 제2 계정 정보에 상기 제1 투표수보다 작은 제2 투표수를 할당하여 일 투표자 계정에 대한 모든 후보자에 대한 상기 투표 정보를 생성한 뒤, 블록 체인을 구성하는 복수의 분산 단말에 상기 투표 정보를 서로 독립된 상태로 저장하여, 적어도 개표를 위해서 상기 투표 정보를 다시 결합하여 어떤 후보자에 대한 투표수가 가장 많은지 여부를 비교하기 전까지는, 어느 후보자에게 투표를 수행했는지 여부의 파악이 불가능하도록 저장하는 데이터 저장부; 및
투표가 완료된 것으로 판단되어 개표를 수행 시, 복수의 분산 단말로부터 상기 데이터 저장부에 의하여 저장된 투표 정보를 수집하여 투표자 계정별로 그룹화하고, 투표자 계정에 할당된 모든 후보자 계정에 대한 투표수 정보를 비교하여, 가장 투표수가 큰 후보자 계정의 누적 득표수에 투표자 계정에 할당된 투표권에 대한 수치를 가산하는 개표 처리부;를 포함하는 것을 특징으로 하는 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 장치.
It relates to a voting management and counting device that guarantees transparency using a block chain implemented as a computing device including one or more processors and one or more memories for storing instructions executable in the processor,
Voting data receiving unit for receiving first account information and encrypted voter account information, which is a candidate account to be voted upon, when voting is performed by determining that one of a plurality of candidates will vote from the voter account for which the voting right is validly issued;
After allocating the number of votes for a plurality of candidates with respect to the voter account, voting information including voter account information and the number of votes for each candidate account is stored, but the candidate account corresponding to the first account information has the largest number of votes. Allocating a first number of votes, which is the number of votes, and assigning a second number of votes smaller than the first number of votes to second account information that is a candidate account except for the first account information, for all candidates for one voter account After generating the voting information, the voting information is stored in a state independent of each other in a plurality of distributed terminals constituting the block chain, and at least the voting information is recombined for counting to compare whether the number of votes for which candidate has the most Until, a data storage unit for storing so that it is impossible to determine which candidate has voted; and
When it is determined that voting is complete and ballot counting is performed, voting information stored by the data storage unit is collected from a plurality of distributed terminals, grouped by voter account, and the number of votes information for all candidate accounts assigned to the voter account is compared. , Voting management and counting device that guarantees transparency using a block chain comprising a; a vote count processing unit that adds the number of votes allocated to the voter account to the cumulative number of votes of the candidate account with the largest number of votes.
제8항에 있어서,
투표자 계정이 유효하게 투표권의 보유가 가능한지 여부를 판단하는 유효 계정 판단부; 및 상기 유효 계정 판단부에 의하여 상기 투표자 계정이 투표권 보유가 가능한 것으로 판단한 경우, 상기 투표자 계정에 투표를 위한 투표권의 인증 정보를 등록하여 상기 투표자 계정에 투표권을 등록하는 투표권 등록부;를 더 포함하는 선거인명부 서버;가 연동되는 것을 특징으로 하는 블록 체인을 이용한 투명성이 보장되는 투표 관리 및 집계 장치.
9. The method of claim 8,
a valid account determination unit for determining whether the voter account can effectively hold voting rights; and a voting right registration unit that registers voting rights in the voter account by registering authentication information of voting rights for voting in the voter account when it is determined by the valid account determination unit that the voter account can hold the voting rights; Voting management and counting device that guarantees transparency using a block chain characterized in that it is linked with a directory server.
컴퓨터-판독가능 기록매체로서,
상기 컴퓨터-판독가능 기록매체는, 컴퓨팅 장치로 하여금 이하의 단계들을 수행하도록 하는 명령들을 저장하며, 상기 단계들은:
투표권이 유효하게 발급된 투표자 계정으로부터 복수의 후보자들 중 자신이 투표할 것으로 결정하여 투표를 수행 시, 투표 대상이 되는 후보자 계정인 제1 계정 정보 및 암호화된 투표자 계정 정보를 수신하는 투표 데이터 수신 단계;
상기 투표자 계정에 대해서 복수의 후보자들에 대한 투표수를 할당한 뒤 투표자 계정 정보와 각 후보자 계정에 대한 투표수를 포함하는 투표 정보를 저장하되, 상기 제1 계정 정보에 대응하는 후보자 계정에 가장 많은 투표수인 제1 투표수를 할당하고, 상기 제1 계정 정보를 제외한 후보자 계정인 제2 계정 정보에 상기 제1 투표수보다 작은 제2 투표수를 할당하여 일 투표자 계정에 대한 모든 후보자에 대한 상기 투표 정보를 생성한 뒤, 블록 체인을 구성하는 복수의 분산 단말에 상기 투표 정보를 서로 독립된 상태로 저장하여, 적어도 개표를 위해서 상기 투표 정보를 다시 결합하여 어떤 후보자에 대한 투표수가 가장 많은지 여부를 비교하기 전까지는, 어느 후보자에게 투표를 수행했는지 여부의 파악이 불가능하도록 저장하는 데이터 저장 단계; 및
투표가 완료된 것으로 판단되어 개표를 수행 시, 복수의 분산 단말로부터 상기 데이터 저장 단계에 의하여 저장된 투표 정보를 수집하여 투표자 계정별로 그룹화하고, 투표자 계정에 할당된 모든 후보자 계정에 대한 투표수 정보를 비교하여, 가장 투표수가 큰 후보자 계정의 누적 득표수에 투표자 계정에 할당된 투표권에 대한 수치를 가산하는 개표 처리 단계;를 포함하는 것을 특징으로 하는 컴퓨터-판독가능 기록매체.
A computer-readable recording medium comprising:
The computer-readable recording medium stores instructions for causing a computing device to perform the following steps, the steps of:
Voting data receiving step of receiving first account information and encrypted voter account information, which are candidate accounts to be voted upon, when voting is performed by deciding to vote among a plurality of candidates from a voter account with valid voting rights ;
After allocating the number of votes for a plurality of candidates with respect to the voter account, voting information including voter account information and the number of votes for each candidate account is stored, but the candidate account corresponding to the first account information has the largest number of votes. Allocating a first number of votes, which is the number of votes, and assigning a second number of votes smaller than the first number of votes to second account information that is a candidate account except for the first account information, for all candidates for one voter account After generating the voting information, the voting information is stored in a state independent of each other in a plurality of distributed terminals constituting the block chain, and at least the voting information is recombined for counting to compare whether the number of votes for which candidate has the most a data storage step of storing so that it is impossible to determine which candidate voted for; and
When it is determined that voting is complete and ballot counting is performed, the voting information stored by the data storage step is collected from a plurality of distributed terminals, grouped by voter account, and the number of votes information for all candidate accounts assigned to the voter account is compared. , a ballot count processing step of adding the number of votes assigned to the voter account to the cumulative number of votes of the candidate account with the highest number of votes; computer-readable recording medium comprising a.
KR1020200141373A 2020-10-28 2020-10-28 Method, apparatus and computer-readable medium of voting management and aggregation that guarantees transparency using blockchain KR102277389B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200141373A KR102277389B1 (en) 2020-10-28 2020-10-28 Method, apparatus and computer-readable medium of voting management and aggregation that guarantees transparency using blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200141373A KR102277389B1 (en) 2020-10-28 2020-10-28 Method, apparatus and computer-readable medium of voting management and aggregation that guarantees transparency using blockchain

Publications (1)

Publication Number Publication Date
KR102277389B1 true KR102277389B1 (en) 2021-07-14

Family

ID=76863170

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200141373A KR102277389B1 (en) 2020-10-28 2020-10-28 Method, apparatus and computer-readable medium of voting management and aggregation that guarantees transparency using blockchain

Country Status (1)

Country Link
KR (1) KR102277389B1 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155789A (en) * 1998-11-19 2000-06-06 Nec Software Ltd System and method for electronic polling and storage medium
JP2003316925A (en) * 2002-04-23 2003-11-07 Nippon Telegr & Teleph Corp <Ntt> Information reliability evaluating device and information ranking system
KR20120028157A (en) * 2010-09-14 2012-03-22 주식회사 이맥소프트 An electron vote symtem
KR101205385B1 (en) * 2004-06-30 2012-11-27 프랑스 텔레콤 Method and system for electronic voting over a high-security network
US20170109955A1 (en) * 2015-10-20 2017-04-20 Follow My Vote, Inc. Blockchain electronic voting system and method
KR101908677B1 (en) * 2017-09-29 2018-10-16 숭실대학교산학협력단 System and method for managementing electronic vote using blockchain
JP2019053713A (en) * 2017-09-15 2019-04-04 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Electronic voting system, and, control method
KR102120882B1 (en) * 2019-09-11 2020-06-09 이민재 Block chain based contest system and method for contesting

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155789A (en) * 1998-11-19 2000-06-06 Nec Software Ltd System and method for electronic polling and storage medium
JP2003316925A (en) * 2002-04-23 2003-11-07 Nippon Telegr & Teleph Corp <Ntt> Information reliability evaluating device and information ranking system
KR101205385B1 (en) * 2004-06-30 2012-11-27 프랑스 텔레콤 Method and system for electronic voting over a high-security network
KR20120028157A (en) * 2010-09-14 2012-03-22 주식회사 이맥소프트 An electron vote symtem
US20170109955A1 (en) * 2015-10-20 2017-04-20 Follow My Vote, Inc. Blockchain electronic voting system and method
JP2019053713A (en) * 2017-09-15 2019-04-04 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Electronic voting system, and, control method
KR101908677B1 (en) * 2017-09-29 2018-10-16 숭실대학교산학협력단 System and method for managementing electronic vote using blockchain
KR102120882B1 (en) * 2019-09-11 2020-06-09 이민재 Block chain based contest system and method for contesting

Similar Documents

Publication Publication Date Title
JP2010533344A (en) Identity authentication and protection access system, components, and methods
CN103827811A (en) Managing basic input/output system (BIOS) access
KR20200085553A (en) A voter terminal, an authentication server, a voting server, and Electronic voting system
Abayomi-Zannu et al. Implementing a mobile voting system utilizing blockchain technology and two-factor authentication in Nigeria
CN116235460A (en) Authentication system and method
Gupta et al. End to end secure e-voting using blockchain & quantum key distribution
TW200427284A (en) Personal authentication device and system and method thereof
KR102014647B1 (en) Electronic voting method based on blockchain
Awalu et al. Development of a distributed blockchain evoting system
CN116324772A (en) Verification system and method
WO2021101632A1 (en) Know your customer (kyc) and anti-money laundering (aml) verification in a multi-decentralized private blockchains network
Lopes et al. Blockchain based e-voting system: A proposal
Faruk et al. Development of blockchain-based E-voting system: requirements, design and security perspective
US20240015033A1 (en) Physically unclonable functions
Fan et al. A privacy preserving e-voting system based on blockchain
CN116235465A (en) Storing physical unclonable functions of response values in a data store
KR102277389B1 (en) Method, apparatus and computer-readable medium of voting management and aggregation that guarantees transparency using blockchain
US20200151989A1 (en) Systems and Methods for Verifying Voters and Managing Votes Associated With Elections
CN116235466A (en) Challenge-response protocol based on physically unclonable functions
CN116349201A (en) Physically unclonable functions that store response values on blockchains
KR100544795B1 (en) Method for issuing a civil petition certificate using official recognition certificate
KR20210014865A (en) Method and system for signing digital signature on fido protocol with threshold signature method in multiple devices
Khaleelullah et al. A Novel Blockchain based Decentralised Ballot System
KR20020048178A (en) A System &amp; Method for the Electronic Voting
KR102467441B1 (en) Providing method, apparatus and computer-readable medium of encryptiing unstructured data using tendermint bft algorithm

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant