테크
"말하지 않아도 알아~" 정보 검증에 필수, 영지식증명
2019년 주목할 블록체인 기술 톱10 ⓹ 영지식증명
강민승 기자
등록일: 2019-03-18  수정일: 2019-03-20


이더리움의 창시자인 비탈린 부테릭은 최근 인터뷰에서 응용기술이 2019년에 다시 올 것으로 예상되는 암호화폐 붐을 이끌 것이라고 밝힌 바 있습니다. 작년부터 시작된 ICO 열풍이 사그라들고 거래량도 감소하면서 블록체인 업계가 보릿고개에 시달리고 있지만 한편으로는 이를 계기로 좀더 유용하고 의미있는 기술을 개발하자는 움직임에도 힘이 실리고 있습니다. 디스트리트는 블로코가 추진중인 기업용 블록체인 프로젝트 아르고와 함께 2019년 주목할 블록체인 기술 톱10을 선정해 분석하는 기획 연재를 시작합니다. 이번 기획이 블록체인과 암호화폐 업계의 뱃길을 비추는 작은 등대가 되기를 소망합니다. <편집자 주>


“블록체인 사용 시 매우 중요한 이슈가 바로 정보의 투명성이 너무 높아 개인정보가 공공연하게 모두 드러나게 된다는 점이다. 개인정보를 블록체인에 저장하기에는 프라이버시 이슈가 따른다. 때문에 개인 정보를 노출하지 않고도 유효하다는 검증 기술이 필요하다.”


전범준 아르고 수석연구원은 영지식증명의 중요성을 강조하며 이같이 말했다. 영지식증명이란 내용을 보여주지 않고도 해당 내용이 유효함을 증명하는 기술을 말한다. 즉 내용을 알지 못하지만 증명자가 제출한 데이터가 유효하다는 증명을 생성하는 기술이다. 영지식증명은 증명자가 영지식으로 증명을 만들어낸다는 의미로 쓰이는데 중요한 지식의 전달이 없으면서도 유효한 증명을 만들어낼 수 있어 영지식이라는 별명이 붙었다.


영지식증명을 구현하는 방식은 여러 가지가 있지만 그 중 지케이스나크(zk-SNARK)는 민감한 개인 정보를 감추면서도 정보의 유효성을 간결하고 단답형식으로 검증할 수 있어 지캐시에 실제로 적용돼 사용중이다. 이더리움에서도 지케이스나크를 도입해 확장성을 높이는 프로젝트를 추진하고 있다. 이미 올 연초 플라즈마와 유사한 방식의 롤업 프로젝트에서 지케이스나크를 도입해 초당 500트랜잭션(TPS)을 달성한 바 있다. 여기에 정보를 노출하지 않으면서 트랜잭션을 압축하고 검증 시간을 줄여줘 확장성 솔루션으로도 주목받고 있다.


알리바바 동굴의 비극과 영지식증명

영지식증명 프로토콜을 설명하기 위해 알리바바 동굴의 우화가 흔히 제시된다. 쇼핑을 하고 집에 가던 알리바바는 구매한 물건들을 도적들에게 빼앗긴다. 도적은 동굴로 숨어 들어갔고 알리바바는 바로 뒤쫓는다. 동굴 안에는 갈림길이 있었다. 도적은 왼쪽과 오른쪽 둘 중 하나의 길로 도망쳤을 것이다. 확률은 절반이다.

알리바바는 왼쪽을 택했다. 막다른 골목이 나왔고 도적은 저멀리 약을 올리는 소리를 지르며 달아났다. 알리바바는 자신의 운을 탓했다. 다음날 똑같은 도적이 알리바바의 가방을 훔쳐 달아났다. 이번에도 도적은 문제의 동굴로 향했다. 알리바바는 이번에는 오른쪽 길로 들어갔다. 역시 막다른 골목이 나왔고 도적은 없었다. 도적은 반대편에서 웃으며 도망쳤다. 이렇게 40번을 당했다. 이정도면 단순한 우연은 아니다.


화가 머리끝까지 난 알리바바는 도적을 꼭 잡겠노라 결심하고 막다른 골목에 숨어 감시하다가 잠들었다. 이때 도적이 또 다른 행인의 가방을 훔쳐 동굴로 들어왔다. 도적은 알리바바가 숨어있는 막다른 골목으로 들어왔다. 알리바바가 잡으려 일어난 순간 도적은 열려라 참깨를 외쳤다. 막다른 곳인줄만 알았던 골목이 열렸다. 골목은 다른 골목으로 통해 있었다. 도적은 쫓아오는 행인을 따돌리며 유유히 빠져나갔다.


알리바바는 신기한 비밀을 알게돼 기뻤다. 그리고 누군가에게 동굴을 통과할수 있다고 증명하고 싶었다. 하지만 마법의 주문은 누구에게도 들키고 싶지 않았다. 며칠후 알리바바는 영상을 찍어 증명하려고 카메라맨과 동행했다. 카메라맨은 동굴 입구에 있다가 알리바바가 막다른 골목에 도달하면 동전을 던졌다. 앞면이 나오면 왼쪽으로 나오도록 지시하고 뒷면이 나오면 오른쪽으로 나오도록 지시했다. 


지시에 맞게 모두 수행하면 알리바바가 동굴의 비밀을 알고 있다고 증명하는 셈이다. 카메라맨은 알리바바가 실제로 왼쪽으로 나오는지 오른쪽으로 나오는지 카메라에 담았다. 알리바바는 자신이 비밀을 알고 있음을 누구에게도 들키지 않고 증명해냈다고 생각해 기뻤다. 한편 며칠 후 이웃 사람이 자신도 동굴의 비밀을 똑같이 알고 있다는 영상을 유튜브에 올렸다. 그는 알리바바처럼 마법의 주문을 알고있는게 아니라 진입한 골목과 동전의 방향이 우연히 맞아떨어진 경우였다. 


알리바바는 생각했다. 선택지가 2개일 경우 이렇게 우연히 맞출수도 있다. 하지만 각 사건이 일어날 확률이 독립시행이기 때문에 여러번 시도하면 상대방의 거짓도 자연스레 들통날 것이다. 첫번째는 50%, 2번 반복하면 25%, 3번하면 12.5%로 우연히 맞출 확률이 줄어들 것이다.


하지만 성공한 비디오만 편집해 올리는 악의적인 상대방에게는 충분치 않았다. 알리바바는 아예 동굴의 골목을 수천개를 만들겠다고 다짐했다. 그리하여 동굴속에는 수천개의 통로가 생겼다. 그런데 일각에서는 카메라맨과 알리바바가 지령을 미리 짜고치는게 아니냐는 주장이 제기된다. 이제는 비밀의 주문을 말하지 않고도 증명과 검증을 가능하게 할 암호 프로토콜이 등장했다. 바로 지케이스나크(zk-SNARK)를 통한 영지식 증명이다.


트랜잭션을 비밀리에 보내기 위한 암호화 기법

지케이스나크는 알리바바 동굴의 난해한 문제를 해결한 영지식증명 기술로 꼽힌다. 영지식증명을 구현하는 방식은 실제로 여럿 존재한다. 이전에는 검증을 위해 증명자와 검증자 간 변수를 주고 받는 과정이 여러 단계에 걸쳐 필요했다. 하지만 이 과정에서 검증자가 특정 증명을 위조하거나 악의적인 변수를 전달해 증명자의 정보를 캐내기도 하는 등 문제가 많았다. 반면 지케이스나크는 영지식증명 프로토콜의 검증 과정을 단답식으로 간소화를 이뤘고 검증 로직도 간결하게 개선했다.


그렇다고 암호학적 기저까지 단순하다는 소리는 아니다. 지케이스나크는 생년월일 등 증명자의 특정 정보값이 일치하는지 확인하는 단순한 수준이 아니다. 지케이스나크는 증명자가 민감정보 등을 재료로 해 생성한 수식을 검증자가 옳은지 검산하는 방식이다.


지케이스나크 영지식 프로토콜에서 증명자는 자신의 정보를 토대로 생성하고 암호화한 수식의 일부를 트랙잭션으로 검증자에게 전송한다. 검증자는 제출된 암호화된 일부 수식값을 토대로 나눗셈 연산을 하고 나머지가 없으면 수식이 옳다고 간주해 트랜잭션을 승인한다. 증명자의 수식이 옳다면 증명자의 민감정보 역시 유효하다고 지케이스나크에서는 판단하는 셈이다. 한편 검증자의 역할은 주로 스마트 컨트랙트가 수행한다.


이같은 영지식증명의 생성과 간결한 검증은 여러 암호화 함수를 복합적으로 사용했기 때문에 가능하다. 때문에 영지식증명 기술을 제대로 이해하려면 기존 암호화 기법을 사전에 이해해야 한다. 이해를 돕기 위해 지케이스나크 정복을 위한 '초중급' 암호학 부록기사에서 암호화 기법의 오디세이와 지케이스나크의 동작 방식을 자세히 다뤘다. 


암호화 기법은 서로 신뢰할 수 없는 환경에서 어떤 메시지를 다른 사람에게 들키지 않고 전송하기 위해 등장했다. 누구나 보면 내용을 이해할 수 있는 문서를 평문이라고 하며 그 자체만으로는 내용을 이해할수 없는 문서를 암호문이라고 한다. 평문을 암호문으로 변환하는 과정과 암호문을 다시 평문으로 변환하는 과정에서 사용되는 알고리즘 모두를 암호 알고리즘이라고 한다.


암호 알고리즘의 성능은 암호화, 복호화의 연산 복잡도로 정해진다. 평문을 암호문으로 바꾸는 과정을 암호화라고 하며 반대의 과정을 복호화라고 하는데 암호화에 드는 연산은 간단할수록 좋고 복호화에 드는 연산은 복잡할수록 좋다. 영지식 증명인 지케이스나크에서는 암호화를 사용해 하나의 평문으로부터 두개의 암호문을 생성한다. 여기에 동형암호화라는 기술을 사용하면 암호문 간의 연산이 가능한데 두 암호문을 비교해 일정한 규칙에 부합하면 평문을 알고 있다는 것을 역으로 증명할 수 있다.


암호학에서 문자열을 포함한 메시지는 암호 메커니즘의 알고리즘 연산을 위해 숫자로 바꾸는 일종의 인코딩 작업을 거친다. 예를 들어 'love'라는 단어를 유니코드로 인코딩하면 108 111 118 101이 된다. 이로써 평문은 숫자로 바뀌고 사칙연산을 통해 메시지는 더욱 비밀스럽게 암호화된다. 메시지를 이렇게 사칙연산 등을 통해 암호화하는 함수를 비밀통로 일방향 함수(트랩도어)라고 부른다. 여기에는 소수를 활용해 암호화를 수행하는 RSA, 타원곡선의 스칼라곱 연산, 타원곡선에서 곡선 좌표의 페어링 등이 있다. 


블록체인 네트워크에서 트랜잭션이 발행되려면 서명이 필요하다. 여기에는 보내는 사람의 서명이 적힌다. 서명은 해당 트랜잭션이 옳음을 보장하는 의미로 사용된다. 이와 더불어 트랜잭션에는 받는 사람 주소나 컨트랙트 주소, 값, 트랜잭션의 순서에 해당하는 논스값, 수수료 가스값, 데이터 변수가 적힌다. 트랜잭션에 기록되는 데이터 변수는 사실상 아무 데이터나 제한없이 보낼 수 있는데 여기에 적힌 데이터는 전송받는 스마트 컨트랙트에서 정해진 규칙으로 파싱해 인자로 사용한다. 영지식증명 관련 데이터도 여기에 들어간다. 컨트랙트는 전송받은 트랜잭션에 포함된 영지식증명 데이터를 토대로 간단한 검증을 수행한다.


한편 영지식증명을 통한 트랜잭션 발행은 축약된 증명데이터만 블록에 올리고 실제 데이터는 참여자들끼리만 공유하는 세컨드 레이어 방식이다. 영지식증명 트랜잭션 데이터에 들어가는 값은 암호화된 값이지만 암호화 이전의 트랜잭션의 원본 내용들은 비밀성의 원칙에 따라 해당 컨트랙트의 사용자만 선택적으로 볼 수 있는 공유 저장소나 클라우드, 웹서버, P2P 등의 오프체인에서 주로 교환된다.


이더리움의 릴레이어, 데이터 축약이 주된 목적

지케이스나크에는 일반적으로 두 가지 용도가 있는데 비밀유지 기능과 데이터 축약 기능이 바로 그것이다. 이더리움에서는 그중에서 영지식증명 기술을 활용해 블록체인의 확장성을 개선하는데 주안점을 두고 있다. 이더리움에서는 먼저 토큰 소유자와 수량은 공개되도 괜찮은 정보로 판단해 인터플래내터리 파일 시스템(IPFS)과 같은 곳에 올릴 예정이다. 릴레이어는 이를 취합해 영지식증명을 만들어낸다. 이더리움의 릴레이어는 지케이스나크의 여러 트랜잭션의 증명을 하나로 묶어 이더리움으로 전송한다. 


비탈릭 부테린은 이처럼 여러 건의 트랜잭션을 하나로 축약해 여러개의 트랜잭션을 처리한 효과를 낼 수 있는 배치 트랜스퍼 기능을 제안한 바 있다. 하지만 트랜잭션을 어디에 어떻게 저장할지 구체적인 계획은 아직 없다. 이같은 방식을 통하면 겉으로는 하나의 트랜잭션이 버거워 보이지만 모든 트랜잭션을 하나하나 검증하는 방식보다 전체적인 가성비가 훨씬 높다. 때문에 TPS를 더욱 끌어올릴 수 있을 것으로 전망된다. 


지캐시에서는 비밀유지 기능에 초점을 맞춰 퍼블릭 입력값에 톡식 웨이스트를 곱해 은닉하는 트러스티드 셋업 등 복잡한 절차가 있었지만 이더리움에서는 데이터 축약 기능에 집중하기 때문에 복잡한 단계 없이 정교하게 바뀌는 비밀값 대신 적당한 값을 정해놓고 쓸 것으로 추정된다.


한편 이더리움에서 영지식증명을 통해 보안을 높이려는 시도가 아예 없는 건 아니다. 지케이스나크를 사용해 보안성을 높이기 위한 베이비 조 같은 프로젝트가 진행됐다. 하지만 애초에 이더리움가상머신(EVM)에서는 구현이 불가능한 제약이 많이 따랐다. 영지식 트랜잭션을 만들기 위한 연산이 무겁기 때문인데 실제로 한건의 지케이스나크 트랜잭션을 위해 투입되는 컴퓨팅 파워가 블록 한개의 한계치를 넘어 메인체인에서는 수행이 불가능했다.


이처럼 지케이스나크는 검증과정에서 수수료 상한선을 초과하는 문제로 이더리움의 테스트 네트워크에서만 구동할 수 있다. 높은 수수료의 원인은 이더리움이 해시검증에 sha3 알고리즘을 사용하기 때문인데 이더리움 2.0에서는 비콘체인을 도입하고 기존의 해시 알고리즘을 MiMC 해시 알고리즘으로 대체하면 수수료가 상당히 절감될 것으로 예상된다.


이더리움에서 지케이스나크가 작동하는 방법

이더리움은 EVM이 처리할 수 있는 한도 내에서 영지식 증명 프로토콜을 구현할 예정이다. 이후 작동될 지케이스나크 기술도 컨트랙트와 애플리케이션의 조합인 디앱으로 구동될 예정이다. 영지식증명은 이더리움에서는 샤딩이 적용됐을 때 분할된 샤드의 스테이트 루트에서 발생하는 내역의 증명을 위해서도 쓰일 수 있다. 이더리움에서는 샤드의 복잡한 연산을 수행해 증명을 만들어낸 노드에게 인센티브를 줄 예정이다. 


이더리움 네트워크의 사용자인 클라이언트는 사용자 경험 입장에서 다른점은 크게 없다. 그저 정해진 컨트랙트의 양식에 맞추어 트랜잭션을 생성하고 서명해 릴레이어에게 제출하면 된다. 만약 클라이언트가 제출한 트랜잭션이 잘 전송됐는지 혹은 누군가 보내온 트랜잭션이 유효한지 확인하려면 이더리움에 올라간 검증 트랜잭션을 확인하면 된다.


이더리움의 릴레이어는 플라즈마와 마찬가지로 온체인과 스마트 컨트랙트를 통해 연결된다. 릴레이어는 스마트 컨트랙트를 통해 이더리움 블록체인에 압축된 트랜잭션을 전송한다. 전송된 트랜잭션은 영지식증명과 연결된 스마트 컨트랙트에 의해 검산 등의 과정을 거치고 이상이 없으면 메인 블록에 포함된다. 영지식증명과 연결되는 스마트컨트랙트가 수행하는 역할은 체인에서 정의해주기 나름이다. 


영지식증명이 노드에 최소한의 정보만을 보유하고 실제 데이터는 신뢰할 수 있는 외부 공간에 보관한다는 점에서 블록 헤더만을 받아 동기화하는 라이트 노드와 성격이 비슷하다. 이더리움의 오프체인에 해당하는 릴레이어는 여러 건의 트랜잭션을 오프체인으로 관리하고 머클 증명을 유지하는 역할을 수행한다. 이때 온체인에 따로 들어가는 데이터는 없기에 개인 PC나 모바일 폰 등 저사양의 노드에서도 유효성을 가볍게 검사하기 위해 효율적으로 사용될 전망이다.


셀프소버린 서비스와 찰떡궁합, 지케이스나크

정보보안에서는 여러 인증이 있지만 가장 중요한 부분이 바로 사용자 인증이다. 인증은 식별과 검증이 합쳐진 말로 주장된 내용을 검증하는 행위를 말하며 사용자 인증이란 주장된 신원을 검증하는 서비스를 말한다. 인터넷에서 사용자의 신원을 인증하려면 사용자의 주민등록번호 앞자리, 핸드폰 번호, 계좌번호, 집 주소 등의 개인정보가 과정 상 오고가게 된다.


영지식증명을 사용하면 이러한 민감한 정보를 나타내지 않고도 본인을 증명할 수 있다. 즉 개인정보를 노출하지 않고도 본인인증이 가능해져 커다란 변화가 생긴다. 이를 구현하려면 블록체인, 개인정보 인증기관 혹은 셀프소버린 서비스, 스마트컨트랙트, 지케이스나크 레이어가 필요하다.


셀프소버린 서비스는 자기주권 신원 인증 서비스라고도 불리며 본인 스스로 정보를 공유하는 범위를 결정하는 기능이다. 모바일 등 기기에 적용될 경우 자신의 개인정보를 외부에 노출시키지 않고 본인의 기기에만 암호화해 저장하는 서비스를 말한다. 셀프소버린 서비스의 사용자는 셀프소버린 지갑을 프로그램을 통해 자신이 공개를 원하는 개인정보만 노출을 켜고 끌 수 있다.


이를 사용하면 인터넷을 자유롭게 사용해도 사용자의 프라이버시 정보는 서버에 수집이 되지 않는 장점이 있다. 영지식증명 레이어는 셀프소버린 서비스와 궁합이 좋을 것으로 기대되고 있다. 셀프소버린 기능이 설치된 기기에 영지식증명 기술을 추가하면 사용자의 개인정보를 더욱 적극적으로 보호할 수 있기 때문이다.


영지식증명 레이어인 지케이스나크 프로그램은 메인 블록체인과 사용자와 인증기관을 연결하는 역할을 수행한다. 지케이스나크와 메인 블록체인은 스마트 컨트랙트로 연결된다. 사용자 입장에서는 큰 차이는 없다. 똑같이 생년월일을 입력하거나 셀프소버린 서비스에서 개인정보를 공개해 인증을 수행하는 과정은 변함이 없다. 여기에 영지식 레이어가 추가되면 일시적으로 인증을 위해 공개된 개인정보의 비밀성을 한 층 더 끌어올리게 된다. 하지만 완벽하지는 않다. 오프체인인 릴레이어가 기록을 할 수도 있는 우려가 있어 인증 과정에서 높은 비밀 수준을 유지하려면 지캐시처럼 트러스트 셋업과 같은 복잡한 과정은 피할수 없다.


양날의 검이 될 '암호학 지성' 지케이스나크

학술적으로 존재하던 이론과 암호화 기법은 비트코인과 프라이버시 문제를 다루는 것을 계기로 블록체인에 비로소 들어오게 됐다. 영지식증명을 통해 생성한 증명은 비밀의 수준이 높고 강력하기에 이를 취급하는 릴레이어의 역할이 특히 중요하다. 릴레이어는 요청자의 트랜잭션을 모아서 공용망에 태우며 수수료를 얻는 중간사업자에 해당하기 때문이다.


이에 대해 영지식증명의 전문가인 실비오 미칼리 MIT 명예교수는 지난 1월 알고랜드 기자간담회에서 기자와 만나 영지식증명 기술의 올바른 사용이 필요하다고 강조했다. 그는 “프라이버시를 위해 탄생한 강력한 기술이지만 이를 역이용해 자금세탁이나 블랙머니에 사용하는 등 부정적인 사례를 만들지 않도록 주의깊은 태도가 필요하다”고 말했다. 그는 영지식증명을 사용하면 스토리지 문제를 해결할 수 있지만 무조건적인 블록체인의 확장성을 위해 영지식증명을 도입하는 건 옳지 못하다고 강조했다.


전범준 아르고 수석연구원은 “프라이버시를 보호하고 암호화된 블록체인 통신을 만들기 위해 영지식증명 기술이 각광받을 것”이라며 “영지식증명을 수행하는 릴레이어의 역할도 이오스의 블록프로듀서(BP)처럼 커질 전망”이라고 말했다. 이같은 역할을 수행하는 릴레이어의 하드웨어와 서비스 안정성과 이중화 처리를 위한 신뢰도 등의 평판도 중요할 전망이다.


하지만 아직 넘어야 할 성능과 기술적인 문제도 무시할 수 없다. 전범준 수석연구원은 “전통적인 영지식증명 방식은 블록체인의 특성상 검증자와 증명자가 실시간으로 검증에 필요한 정보를 주고 받기에는 제약이 따랐고 영지식증명을 생성하려면 많은 컴퓨팅자원이 소모됐던 게 사실"이라고 진단했다. 하지만 그는 “이제는 비상호적이고 효율적인 알고리즘이 여럿 개발됨에 따라 블록체인에 영지식 증명이 본격적으로 곳곳에 적용되는 추세”라며 "보안성을 높인 영지식증명 방식은 뛰어난 유용성을 기반으로 여러 곳에 적용될 것"이라고 전망했다.


기사작성에 참여하고 검수를 진행한 전범준 아르고 수석연구원은 티맥스에서 룰엔진 및 데이터베이스를 개발했고 에스코어에서 노에스큐엘(NoSQL) 데이터베이스 서비스 및 검색엔진을 개발했다. 지난 2016년 블로코에 합류해 블록체인 백엔드 모듈 개발과 에코시스템 구축을 담당하고 있다. 이밖에 최지혁 해치랩스 개발자, 박정원 온더 연구원의 도움도 함께 받았다.


[강민승 기자]


D.VIP 2기 모집
북마크
좋아요 : 1
공유
https://dstreet.io/news/view-detail?id=N20190227101404574618
URL복사
댓글 0
댓글쓰기
댓글 쓰기
에어드랍코리아