신문은 선생님

[IT·AI·로봇] 블록체인 투표 개발 착수… "데이터 공유로 조작 불가능"

입력 : 2018.06.12 03:00

[블록체인 전자 투표]
현재는 빛으로 도장 인식해 선거 개표
중앙 서버식 전자 투표는 해킹 우려… 블록체인은 개별 블록마다 내용 저장

오는 13일은 제7회 전국 동시 지방선거일이에요. 우리나라 선거는 지난 2002년부터 전자 개표기로 투표지를 분류해 집계하는 방식으로 치러지고 있는데요. 투표 마감 4~5시간 만에 당선자 윤곽이 나올 정도로 개표가 신속하게 이루어지고 있답니다.

요즘 선거는 IT·과학 기술과 많이 연결돼 있습니다. 지금은 투표소를 직접 방문한 뒤 투표지에 도장을 찍는 방식으로 선거를 치르고 있지만, 조만간 내 집 소파에 누워 컴퓨터나 휴대전화로 전자 투표를 하는 날이 올지 몰라요. 그래서 많은 전문가가 블록체인(blockchain) 기술을 선거에 도입하는 방안을 생각하고 있지요. 오늘은 첨단 선거 기술에 대해 알아볼게요.

◇광학 인식 기술에 기반한 전자 개표

우리나라에서 시행 중인 전자 개표는 광학(光學) 인식 기술을 이용한 것이에요. 투표지 분류기가 어느 후보자 칸에 유권자의 도장이 찍혔는지 빛으로 인식한 뒤 이를 후보자별로 분류해 계산하는 거지요.

[IT·AI·로봇] 블록체인 투표 개발 착수…
/그림=정서용
분류기는 기계 안으로 들어온 투표지에 일정한 빛을 쏘아서 기표 위치가 어디에 있는지 판독하는데요. 이때 반사된 광선을 특정한 전기 신호로 바꿔서 컴퓨터에 입력한답니다. 만약 두 명의 후보자 칸 모두에 도장이 찍혀 있거나 중간에 찍힌 경우는 무효표로 분류돼요.

과거에는 투표소마다 수만~수십만 장에 이르는 투표지를 개표 관리원들이 일일이 세고 구분해서 집계했어요. 이러다 보니 밤샘 개표로 개표자들의 피로가 쌓이고 개표의 정확성과 신속성이 현저하게 떨어졌지요.

투표지 분류기는 기계가 투표지를 인식하고 집계하는 역할만 하기 때문에 오프라인(인터넷이나 통신에 연결되지 않은 상태)으로 작동돼요. 인터넷 접속이 불가능하고 원격으로 통제할 수 없어 해당 프로그램을 해킹하거나 조작하는 것이 거의 불가능하다고 합니다. 중앙선거관리위원회에 따르면 올해 지방선거에 투표지 분류기 총 2558대를 사용할 예정인데 1분당 340매, 1시간당 2만400매를 분류할 수 있다고 해요.

전문가들은 머지않은 미래에 투표지 없이 컴퓨터나 휴대전화로 대통령을 뽑는 '전자 투표'가 도입될 것이라고 보고 있어요. 전자 투표는 말 그대로 온라인으로 특정 후보에게 표를 던지면 선관위 중앙 서버에 투표 정보가 저장되고 이를 컴퓨터가 합산하는 방식입니다. 제대로만 되면 투표소에 가지 않고 편하게 투표할 수 있는 데다 아주 빠른 개표가 가능하고 투·개표 비용이 크게 줄어드는 장점이 있지요.

하지만 전자 투표의 가장 치명적인 단점이 있어요. 누군가 선관위 중앙 서버를 해킹하거나 관리자 이름으로 접속한 뒤 투표 내용을 조작하거나 숫자를 바꿔버릴 수 있다는 거예요. 이럴 경우 투·개표 과정에 의혹이 제기되고 패배한 후보자 측에서 결과를 받아들이지 못해 전 사회적 낭비와 혼란을 초래할 수 있어요.

◇블록체인, 전자 투표의 새바람

그런데 이 전자 투표에 새로운 바람이 불고 있습니다. 바로 '블록체인 기술' 때문인데요. 블록체인이라고 하면 '비트코인' 같은 암호 화폐가 먼저 떠오를 거예요. 실제 블록체인이 가장 잘 작동하는 분야가 금융이지만 그 못지않게 적합한 분야가 투표입니다.

은행이든, 전자 투표든 온라인에서 어떤 서비스를 진행하려면 모든 데이터를 통합해서 관리하는 중앙 서버가 필요합니다. 예를 들어 A가 통장에 있는 돈 10만원을 B에게 송금하려고 하는 경우, 해당 은행은 중앙 서버에 저장된 A의 통장 내역을 확인한 후 돈을 상대방에게 보내주지요. 이때 두 사람의 거래 내역은 은행의 중앙 서버에 저장되고 고객들의 통장에 기록됩니다. 은행은 이 서버에 아무나 접근할 수 없도록 철저한 보안을 유지하지요.

그런데 블록체인을 이용하면 은행이 없어도 A와 B가 돈거래를 할 수 있어요. A가 B에게 돈을 송금하면 이 내역이 두 사람의 거래 장부(블록)에 동시에 저장되기 때문이에요. 즉, 제3자가 관리하는 중앙 서버 대신 모든 참여자가 전체 데이터와 일부 데이터를 나누어 갖는 구조인데, 바로 이 데이터가 '블록'이고 이것이 차례차례 연결된 것이 '블록체인'이랍니다. 개별 블록 안에는 일정 기간(보통 10분) 두 사람이 거래한 모든 정보가 암호로 저장돼 있기 때문에 어떤 한 사람이나 몇 사람이 작정해서 A의 계정을 해킹해도 그 값을 조작할 수 없어요. 똑같은 장부가 B에게도 있기 때문이지요.

이를 전자 투표에 적용해 보면, 유권자가 온라인으로 특정 후보에게 투표한 내용이 한 블록에 암호화돼 저장됩니다. 이렇게 수백만 유권자가 투표한 모든 내역이 개별 블록에 저장되고 서로 차례차례 연결되는 거예요. 모든 데이터는 선거에 참여한 모든 유권자에게 똑같이 공유되지요. 개표할 때는 후보자와 참관인이 각각 자기가 갖고 있는 블록체인 장부에서 투표 결과를 확인하고, 이를 중앙선관위 중앙 서버에 별도로 저장된 개표 결과와 비교할 수 있습니다. 마치 똑같은 투표함을 여러 명이 비교·검증하는 것과 같아요.

이처럼 블록체인은 모든 데이터를 참여자 모두가 공유하기 있기 때문에 조작이 매우 어렵습니다. 단, 선거에 참여한 유권자 절반 이상(51%)이 작정하고 데이터에 똑같이 손을 대면 정보를 조작할 수 있어요. 하지만 이는 이론적 상황일 뿐 거의 불가능에 가까워요. 게다가 선거에선 유권자의 절반 이상이 투표 내용을 똑같이 조작해야겠다고 마음먹을 필요가 없지요. 과반수가 지지하는 후보라면 그렇게 하지 않아도 원하는 선거 결과를 얻을 수 있기 때문이지요.

최근 우리나라 선관위도 블록체인에 기반한 전자 투표 시스템을 개발하는 데 착수했다고 해요. 미국, 호주, 덴마크 등 여러 나라에서도 블록체인 방식의 전자 투표 시행을 준비 중이지요. 참여자 모두가 정보를 공유한다는 점에서 블록체인은 민주주의가 추구하는 기본 정신을 갖추고 있는 셈이에요.


최호섭 IT 칼럼니스트 기획·구성=박세미 기자