[블록체인] 블록체인을 적용한 전자투표시스템
<목차>
- 개요(문제정의 및 필요성)
- 전자투표 기대효과 및 문제점
- 블록체인이란?
- 블록체인 적용 전자투표시스템 동작원리
- 장점 및 기대효과
- 해외사례
- 한계점 및 향후 과제
우리는 4차산업혁명이 진행되는 가운데 정보통신기술을 기반으로 편리한 생활을 하고 있다. 기술의 발전은 정치∙사회∙경제 등 우리 삶의 모든 면을 변화시키고 있다. 2018년 현재 국내 스마트폰 보급률은 94%에 이르며 누구나 인터넷을 쓸 수 있는 디지털시대이다. 하지만 국민의 의견을 보여주는 민주주의 꽃이라 불리는 투표는 기존의 종이투표 방식을 벗어나지 못하고 있다.
시대적 흐름에 따라 각 국에서 전자투표를 도입하고 있다. 투표는 익명성과 공정성 신뢰성이 중요하다. 아직 전자 투표 시스템의 기술적 안정성에 대한 신뢰와 유용성에 대한 공감대 형성이 부진하다.
전자 투표시스템의 보안성을 강화하여 기술에 대한 신뢰를 확보하는 것이 문제이다.
이를 해결하기 위해 최근 패러다임의 변혁을 주도할 핵심기술로 주목 받고 있는
"블록체인"을 적극 활용 중에 있다. 블록체인이 어떻게 전자투표의 보안성과 신뢰성 문제를 해결할 수 있을지 자세히 알아보고자 한다.
전자투표(e-Voting)란?
종이가 아닌 컴퓨터 기반의 전산기기를 사용하는 투표행위를 의미한다. 전자투표의 대표적인 방법으로는 직접 투표소에서 투표기를 사용하는 방법과 가정이나 직장 등에서 인터넷 접속을 통하여 실시하는 투표가 있다.
전자 투표로 다음과 같은 효과를 기대할 수 있다.
- 선거를 보다 효과적으로 관리할 수 있다.
- 편리한 투표 방식을 통해 투표소 직접 방문이 어려운 노인,장애인,여행 중인 유권자,
바쁜 2030 젊은층 유권자 등의 참여율을 향상한다. - 컴퓨터를 이용한 투표 시스템으로 투표의 정확성과 투표집계의 효율성을 높일 수 있다.
- 무효표에 의한 불공정한 판단을 방지할 수 있다.(개표 작업에 참여하는 사람에 따라 무효표에 대해 다른 판단을 할 수 있음)
- 투표에 사용되는 종이나 인건비와 같은 비용을 절감할 수 있다.
- 투표 내역 처리가 눈에 보이지 않아 유권자들의 신뢰도가 떨어진다.
- 본인인증 과정에서 투표자가 유권자로 등록되어 있는 사람인지에 대한 신원 확인이 어렵다
- 이중 투표의 위험이 있다.
- 보안상의 문제
- 투표 과정과 투표 내역들이 저장되는 DB에 대한 사이버 공격으로 인한 투표 결과 위·변조
- 투표 내역과 투표자 상세 정보에 대한 유출
즉, 사람들에게 아직 전자투표 시스템이 익숙하지 않고, 기술에 대한 신뢰가 부족하다고 볼 수 있다.
블록체인이란? - 블록체인 기술 설명
블록체인은 블록(Block)과 체인(Chain)의 합성어로, 거래 내역이 담긴 블록이 체인처럼 연결되어 있다는 의미를 담고 있다. 블록체인은 거래 정보를 기록한 공유장부를 특정 기관의 중앙 서버가 아닌 P2P(Peer-to-Peer)네트워크에 분산하여 참여자가 공동으로 기록하고 관리한다. 각 참여자가 거래 내역을 공유하고 대조하는 과정을 통해 거래 내역의 진위를 판별하고 승인된 블록만이 기존 블록체인에 연결되며 거래가 이루어진다. 거래의 위・변조를 막아 무결성을 확보하고 보안성을 우수하며 투명성도 보장되는 기술이다.
특징은 크게 2가지이다.
1) 블록은 시간별로 정렬
거래가 이루어지면 블록에는 일정 시간 동안 확정된 거래 내역이 담긴다. 온라인에서 거래 내용이 담긴 블록이 형성되는 것이다. 한 블록에는 앞의 블록과 뒤의 블록과 연결되는 연결 정보가 포함돼 있고, 앞 블록의 내용을 변경하면 뒤에 이어지는 모든 블록을 다시 생성해야 한다.
2) 분산형 원장 기술(Distributed Ledger Technology)
블록체인에는 중앙 서버가 없다. 대신 블록체인 네트워크에 참가한 모든 사람이 모든 거래를 기록한 똑같은 장부를 만들어 나눠 갖는다. 디지털에서 어차피 원본과 복제본의 구분은 의미 없다. 개개인의 컴퓨터가 모두 서버 역할을 한다.
블록체인 기술 구성 요소는 4가지이다.
1) P2P 네트워크
컴퓨터끼리 같은 목적으로 연결해 네트워크를 형성하는 방식이다. 어떤 컴퓨터도 같은 처리를 할 수 있기 때문에 1대가 정지해도 시스템 전체에는 영향을 주지 않는 특징을 가진다.
2) 전자서명∙해시함수
트랜잭션(거래)을 발생시킨 사람의 정당성을 보증하거나 거래∙블록체인 변조 방지,암호화 등 보안과 관련된 기능이다.
3) 합의 알고리즘
어떤 것을 사실로 받아들여서(결정 합의를 통해) 공유저장소에 기록하고 유지할 것인가(사실 합의)에 대한 프로세스이다. P2P네트워크과 같은 분산 네트워크에서 합의 형성을 수행하기 위한 알고리즘이다. 블록체인을 여러 노드에서 공유하기 위한 가장 중요한 구조라고 할 수 있다.
4) 스마트 계약
블록체인 네트워크에서 동작하는 프로그램이다. 블록 체인 기반 기술 중에서 가장 자유도가 높은 프로그램을 만들 수 있다.
위를 요약한 블록체인의 주요기술 특징은 아래 그림과 같다.
블록체인과 전자투표
블록체인 기반 전자투표 시스템 구성도는 위와 같다. 구축된 블록체인 네트워크의 사용자는 관리자와 유권자 두 부류로 나눌 수 있으며, 각각은 네트워크에 하나의 노드로서 참여하게된다. 관리자는 투표를 시행할 선거 정보와 해당 유권자 명부,본인인증방법 등을 블록체인에 등록한다. 유권자들은 투표 값을 블록체인에 기록하게 된다. 개인키를 사용하여 투표자 정보와 투표 기록이 암호화되어 기록된다. 이는 개표 서버로 넘어가 복호화 과정을 거쳐 집계 되고 결과가 도출된다. 해시값 비교를 통해 투표 검증도 가능하다.
블록체인 기술을 바탕으로 전자투표의 특장점은 다음과 같다.
부정선거 방지 : 투명성
블록체인은 '분산원장(Distributed Ledger Technology, DLT)'을 이용한다. 블록체인 기반 분산원장은 개별 거래 내용을 네트워크에 참여하고 있는 모든 사람이 공유하는 기술이다. 모두가 일종의 디지털 계약서를 담은 원장을 보관하고 있기 때문에 거래 내용을 투명하게 살펴볼 수 있고, 거래에 대한 신뢰가 보장된다. 투표 종료 후 국민 누구나 결과에 대한 정당성을 단시간 내에 검증할 수 있다. 한 번 블록에 들어간 거래정보(transaction)는 분산된 장부의 정보를 변경하지 않는 한 삭제하기도 힘들다. 때문에 투표이력의 영구보존이 가능하다.보안성 향상 : 무결성,안전성
전자서명과 해시함수를 통해 블록이 연결되어 있어 임의의 수정이나 누락이 불가능이다. 만약 위∙변조 및 해킹을 하고 싶다면 분산원장 절반 이상을 변경 해야 하고 난이도도 매우 어렵다. 이러한 보안 위협으로부터 무결성을 지킬 수 있다.
시장 참여자가 많은 국민 투표일경우 참여자 다수가 전체 거래 내역을 보유하고 있고 수천 대 컴퓨터가 연결되어 있어 물리적인 해킹은 거의 불가능하다. 시스템 오류 및 성능저하 등 예상치 못한 사고가 발생해도 P2P 네트워크로 모든 노드가 동등하기에 원활한 프로세스 이행이 가능하며 안정성을 보장한다.비용절감
수백만에서 수천 만 명이 투표할 경우 투표 결과를 알기 위해 수 많은 검수 요원과 많은 시간이 소요된다. 하지만 블록체인 기반 분산원장은 투표 결과가 보관된 투표 블록 별로 클라우드에서 집계할 수 있어 투표 결과를 거의 즉시 확인할 수 있다. 투표에서 개표까지 전 과정을 자동화 처리하며 프로세스를 간소화한다. 이로 인해 관리 비용을 절감할 수 있다. 클라우드 컨테이너 기술을 이용해 유휴 클라우드 자원을 일시적으로 이용하는 기술을 쓴다면 국민 투표 결과를 분석하는데 드는 비용이 단돈 몇 천원으로 끝나게 된다. PC와 모바일의 보편적인 보급으로 전자투표의 초기 인프라 구축 비용이 적게 예상된다. 중앙서버에 집중되어 높은 보안성이 요구되었던 전통적인 투표 방식에 비해 분산구조로 이루어져 있어 보안비용 또한 줄일 수 있다. 투표소에 사람들이 몰리는 물리적인 문제가 해결되며 시간도 절약할 수 있다.
블록체인 관련 세부 기술은 꾸준히 개발 중에 있다. 그 예로 2013년 투표정보를 암호화해 보장하는 '제트케이-스낙(zk-snark)' 기술이 개발됐다. 제트케이-스낙'기술은 다음과 같은 세 가지를 동시에 보장한다. 블록에 들어가는 투표 정보를 입력하는 A라는 유권자가 진짜 시민이라는 것과 A가 단 한번 투표했다는 점, 그리고 서버 측에서 A가 누구인지는 알 수 없게 감추는 것이 포함된다.
기대효과
특장점을 바탕으로 블록체인을 적용한 전자투표는 기존 전자투표의 문제를 해결할 수 있다. 중개기관이 없어도 뛰어난 기술적 특징이 대체가 가능함을 증명하여 신뢰성을 확보한다. 그 외 예상되는 기대효과는 다음과 같다.
- 온라인투표시스템(K-Voting) 및 전자투표 제도개선 참고자료로 활용
- 유권자 중심의 투표시스템 구축과 투표참여 제고를 위한 정책방안으로 활용
- 국민 참여를 통한 선거의 신뢰성 및 안전성 제고 방안으로 활용
- 모든 사람이 참여하기 힘든 직접투표의 물리적 한계를 극복하고 더 많은 시민이 정책 의사 결정 참가
- 투표 프로세스가 간소화되었고 이로 인해 투표 비용 절감 효과도 기대 가능
- 기존 종이 투표와는 다르게 언제 어디서든 쉽게 참여할 수 있어 전체 투표율 증가 효과
해외사례
그렇다면, 실제 블록체인기반 전자투표 도입 사례를 통해 실제 어떻게 전자투표가 이루어지는지 알아보자.
국가 | 적용 분야 | 적용 규모 | 주요 효과 |
---|---|---|---|
스페인 | 당내 의사결정 | 중· 소규모 | 시민 참여 증가 |
미국 | 당내 대선후보 선정 | 중 ·소규모 | 투표 절차 간소화 |
에스토니아 | 의회 선거 | 국가적 규모 | 투표율 증가 |
스페인
포데모스 정당은 시민 참여를 촉진하고 공정한 투표 시스템 구현을 위해 Agora Voting 사용
-현재 nVotes 라고 불리며 사용자는 웹을 통해 편리하게 유권자 등록 및 투표 진행 가능
-투표 프로그램을 ‘프리웨어’로 출시, 무료로 사용하면서, 시스템 설정을 사용자가 필요에 따라
변경할 수 있다는 게 최대 장점이다. 사용자 편의에 따른 변형이 가능한 만큼 아고라보팅에선
다중투표, 선호반영, 선택사항 위임 등 섬세한 투표 설계를 할 수 있다.
(간단한 사전 조작을 통해 온갖 투표에 활용 가능함, 웹기반 모듈형 소프트웨어로 만들어 최대한 다양한 기기에서 설치, 작동 가능)
미국
유타주 공화당 대선후보 선정을 위해 Smartmatic이 온라인 투표 인프라 제공
-End-to-end 암호화와 private 블록체인 사용하여 발생할 수 있는 모든 결과의 불일치와 오류
모니터링 가능
-유타주 대부분 교인으로 많은 주민들이 선교 사업 위해 해외 거주하므로 우편 투표해왔으나,
등록 유권자는 플랫폼에 액세스하여 손쉽게 온라인으로 투표할 수 있었다. 또한 온라인 투표
용지에서 각 후보자에 대한 정보에 관한 링크가 제공되어 기존 투표보다 더 쉽고 빠르게 정보
를 얻을 수 있었다.에스토니아
전 세계적으로 가장 선진적인 인터넷 방식의 투표 시행 국가다. 디지털 주민등록증과 같은 ID카드로 전자투표에 참여 가능하도록 했습니다. 에스토니아 정보 교환 플랫폼인 ‘엑스로드’에 ID카드로 접속하여 투표를 진행한다.
(엑스로드는 국가의 개별 기관뿐만 아니라 사기업까지 포함해 분산된 정보를 공유하고 연결해주는 정보 교환 플랫폼, 엑스로드가 뼈대 역할을 한다면, 전자신분증(ID-Card)은 블록체인 민주주의 세계로 들어가게 해주는 열쇠)
두 개의 별개의 블록체인 사용 (유권자의 익명성 보장)
- 유권자가 등록을 했는지 (투표를 안 한 유권자 확인하기 위한 트랜잭션 기록)
- 어떤 정당에 투표했는지
- 2007년 국회의원 선거 전자투표율이 5.5%에 불과했지만 2011년 25%까지 높아졌다.
- 유럽 의회 선거에서는 에스토니아 투표자가 98개국에서 블록체인 전자투표를 통해 선거 참여,
지지 후보 투표 마지막까지 바꿀 수 있음 (참정권 확대)
투표 방법
본인 확인
ID 카드로 자격 확인 (웹사이트, 휴대폰으로 세계 어느곳에서도 로그인 후 투표 가능)투표
블록체인 기반 투표 네트워크 = 전국단위,선거구단위, 지역단위
지역단위: 전국의 모든 디지털 투표소를 포함하여 각각은 선거구 노드와 연관
선거구 단위: 선거구 단계에 있는 것으로 여겨지는 모든 노드를 포함하여 서로의 위치에 따른 하위 집합으로 연결
국가 단위: 위치에 얽매이지 않는 노드의 집합이고 트랜잭션을 채굴, 블록을 추가
모든 선거구 노드는 국가 노드와 통신, 국가 노드는 서로 통신 가능개표 및 검표
안전한 투표를 위해 공개키와 개인키에 기반한 암호화 방식을 사용하여 데이터가 블록체인 내에서 분리되어 있는 구조이다. 선거구 노드가 키 쌍을 생성하여 공개키는 투표소 노드에 배포가 되고 공개키를 사용하여 해당 투표소의 모든 투표를 암호화한다.
투표는 공개적으로 접근 가능한 투표 포워딩 서버에서 온라인 투표 기간이 끝날 때까지 암호화되고 저장되는 투표 저장 서버로 옮겨간다. 후에 서버에서 모든 식별가능한 정보가 삭제되고 모든 네트워크로부터 단절된 투표 카운팅 서버로 DVD에 의해 운반된다. 투표 카운팅 서버에서는 투표를 복호화하고 카운트를 한 뒤 결과를 집계한다. 이러한 모든 과정은 로그화 되고 검표작업은 감시된다.
블록체인 방식의 전자투표 시스템의 한계점
다양한 편의성을 제공하고 우리 삶의 디지털 변화를 가져올 것으로 기대되는 블록체인 방식의 전자투표 시스템이다. 아직 도입 초기 단계라 제도와 기술적 측면의 한계점을 보여준다.
<제도적 측면>
직접 선거의 원칙
모바일 기기를 통해 원격투표를 진행할 경우, 타인이 신분증을 가지고 있는 경우도 고려된다.
즉 유권자 본인인증을 하는 데에 한계가 있다.비밀 선거의 원칙
기존의 투표소처럼 기표소가 따로 설치되지 않기 때문에 비밀 투표가 보장되지 않고, 다른 사람으 로부터 투표의 자유를 침해 받을 가능성이 있다.공표 이전에 득표율 및 결과가 노출되는 문제가 발생 가능성
공직선거법에 따르면 공식적인 발표 이전에 후보자 별 득표수는 보도할 수 없다.
그러나 전자방식에서는 의도치 않게 노출될 가능성이 있다.
<기술적 측면>
평등 선거의 원칙
디지털 격차로 인한 정치적 불평등 문제가 초래될 수 있다. PC나 모바일 사용이 익숙하지 않은 계 층에서 전자투표는 부담으로 작용하여 해당 계층의 투표율 하락으로 이어질 수 있기 때문이다.익명성의 문제
블록체인은 익명성 보장이 장점이기도 하다. 그러나 블록체인 특성 상 모든 참가자가 거래 내역을 소유하기 때문에 선거인의 개인정보를 통해 인증한다면, 선거인의 정보와 투표 내역에 대해 추정
하는 것이 가능하다.
향후 과제
관련 법∙제도의 개정
블록체인을 적용한 전자투표는 기존 종이 투표와 시스템이 다르다. 현재 국내 공직선거법에는 분산시스템을 염두 하지 않았다. 이는 위에서 언급한 전자투표의 한계점 중 개표처리 및 발표에 문제의 원인을 제공한다.디지털 약자를 위한 기존 시스템과 병행 논의
PC나 모바일 사용에 취약한 노인 및 저학력 계층의 투표 참여를 위한 보완적 시스템이 요구된다. 이를 고려하지 않을 시 정치적 불평등 및 갈등 요인으로 작용할 수 있다.블록체인 플랫폼 구축
중∙소규모에 적합한 현존시스템에서 나아가 대규모 유권자를 대상으로 하는 선거에 적용할 수 있는 시스템이 요구된다. 참가자 범위 정의에 따라 Private과 Public 중 유형 선택에 문제가 제시된다. Private 선택시 네트워크 인증 과정에서 누락되는 선거인이 없도록 표준화가 요구되며
Public 선택시 인증 프로세스 및 익명성 보장 기술이 요구된다.키 관리 문제 해결
블록체인은 비대칭키 암호체계를 활용하여 본인의 개인키로 전자서명을 하고 있다. 전자 투표시에 사용되는 개인키 생성 및 제공 과정에서 키 관리가 중요하다. 개인키 관리 대상을 개인으로 할지 선거관리위원회에서 관리할지 정하는 것이 필요하다. 아니면 에스토니아처럼 키 없는 전자서명 인프라(KSI)를 구축하는 것도 방법이라 할 수 있다.대중의 반응
범국가적 선거에 전자투표가 채택되어 시행된다면 초반에 대중의 거부 반응이 있을 것으로 예상된다. 선거관리위원회 같이 투표에 대한 책임 및 신뢰를 주는 존재가 사라지고 아직 대중들에게 보편화 되지 않은 블록체인을 직관적으로 이해하기 힘들다. 전자투표를 현실에 적용할 때는 블록체인기술에 대한 신뢰와 혜택을 대중에게 전달 하는 것이 관건이라 판단된다.
블록체인 기반의 전자투표시스템이 기존 투표시스템의 대체 가능성에 대해 논의 중이고 연구 중이다.
전자투표의 보안성과 신뢰성 확보에 블록체인이 해결도구
가 될 수 있는지가 이 글의 주제였다. 블록체인의 기술적 장점을 적용한다면 충분히 문제를 해결할 수 있을 것이다. 앞으로 제시된 한계점과 과제를 보완해간다면 범국민적인 투표에도 충분히 적용할 수 있다고 긍정적으로 예상하며 긴 글을 마치도록 하겠다.
[출처 및 참고자료]
한국인터넷정보학회,"블록체인 방식을 활용한 온라인 투표시스템 적용 가능성 연구", 2017
이루다,"블록체인을 활용한 전자투표 시스템 구축", 2017
박연아,"전자투표 시스템 신뢰성 확보를 위한 블록체인기술 적용 사례 연구".2018
https://medium.com/@argongroup/on-zero-knowledge-proofs-in-blockchains-14c48cfd1dd1
한국정보화진흥원,”블록체인 활용 전자투표 주요 사례 및 시사점”
지디넷코리아,“블록체인은 어떻게 부정선거 시비 막을 수 있나”
동아사이언스,“비밀투표 보장하는 블록체인 선거 시스템 만든다”
아카하네요시하루,아이케이마나부,”블록체인 구조와 이론 예제로 배우는 핀테크 핵심기술”,위키북스,2017.
와.... 제가 한참 전에 읽었던 책 내용보다 더 구체적입니다. 발표하려고 만든 내용인가요?
긴 글 읽어주셔서 감사합니다 :)
팀원들과 블록체인과 전자투표를 결합한 시스템에 대해 공부하고 발표 자료를 위해 포스팅했습니다
Congratulations @iwantyou! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
Click here to view your Board of Honor
If you no longer want to receive notifications, reply to this comment with the word
STOP
Do not miss the last post from @steemitboard:
Congratulations @iwantyou! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
Click here to view your Board of Honor
If you no longer want to receive notifications, reply to this comment with the word
STOP
Do not miss the last post from @steemitboard:
Thank you so much for sharing this amazing post with us!
Have you heard about Partiko? It’s a really convenient mobile app for Steem! With Partiko, you can easily see what’s going on in the Steem community, make posts and comments (no beneficiary cut forever!), and always stayed connected with your followers via push notification!
Partiko also rewards you with Partiko Points (3000 Partiko Point bonus when you first use it!), and Partiko Points can be converted into Steem tokens. You can earn Partiko Points easily by making posts and comments using Partiko.
We also noticed that your Steem Power is low. We will be very happy to delegate 15 Steem Power to you once you have made a post using Partiko! With more Steem Power, you can make more posts and comments, and earn more rewards!
If that all sounds interesting, you can:
Thank you so much for reading this message!
Congratulations @iwantyou! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!