웹3란 무엇인가
목차 / 제3부
제3부 · 쉽게 풀어낸 기술적 토대

9. 고급 암호학: 영지식 증명과 프라이버시의 최전선

9장 · 8 분 분량 · 구독자

앞 장(8장 '비전공자를 위한 암호학' 참조)에서 우리는 웹3 전체가 딛고 선 원초적 도구들을 확인했다. 데이터의 '지문'을 뜨는 해시 함수, 그리고 비밀을 한 번도 주고받지 않고도 낯선 사람끼리 메시지에 서명하고 검증하게 해 주는 공개키–개인키 쌍이 그것이다. 강력한 도구들이지만, 어떤 의미에서는 보수적인 도구이기도 하다. 데이터를 지키고 신원을 확인한다는 점에서, 밀랍 봉인이나 자필 서명이 늘 해 오던 일을 하기 때문이다. 이 장은 그보다 낯설고 최근에 등장한, 때로 "이색"(exotic) 암호학 또는 "고급" 암호학이라 불리는 연구 영역으로 눈을 돌린다. 이 기술들은 밀랍 봉인이 결코 할 수 없는 일을 해낸다. 한쪽 당사자가 '어떤 명제가 참이라는 사실만 남기고 그 밖의 아무것도 드러내지 않으면서 그 명제를 증명'하게 하고, 서로 믿지 않는 당사자들이 '누구도 공개하지 않을 데이터를 놓고 공동의 답을 계산'하게 하며, 서버가 '결코 읽도록 허락받지 않은 정보를 처리'하게 한다. 이 장의 논지는 이렇다. 이 기술들은 웹3의 각주가 아니라 개념적 핵심에 가깝고, 제대로 이해한 웹3는 "블록체인"이라기보다 '웹의 암호학적 재설계'라고 부르는 편이 정확하다.

이 장을 무료로 읽기

친구 1명이 구독하면 이 장이 여기서 열립니다.

쉽게 말해

보통의 블록체인은 모두가 모든 것을 볼 수 있기 때문에 작동한다. 부정행위자를 잡는 데는 더없이 좋지만 프라이버시에는 최악이다. 빚을 갚았음을 증명할 유일한 방법이 온 동네 이웃에게 일기장을 읽히는 것뿐인 마을과 같다. 고급 암호학이 던지는 질문은 이것이다. '검증은 그대로 두고 노출만 걷어 낼 수는 없는가?'

영지식 증명은, 잠긴 방의 열쇠를 갖고 있음을 증명하되 열쇠를 보여 주기는커녕 슬쩍 보이지도 않으면서, 상대가 지목하는 문으로 걸어 나오기를 — 우연이라고는 도저히 설명할 수 없을 때까지 — 거듭하는 것과 같다. 지켜보던 사람은 당신에게 열쇠가 있다고 확신하게 되지만, 그 밖에는 아무것도 알지 못한다.

둘 다 증명하려는 대상보다 훨씬 작은 증명서를 써 내려가는 방법이어서, 누구든 한순간에 검사할 수 있다. SNARK는 가장 작고 값싼 증명을 만들지만, 믿고 넘어가야 하는 까다로운 일회성 설정 의식을 요구한다. STARK는 그런 의식이 필요 없고 양자 컴퓨터에도 더 잘 대비되어 있지만, 증명이 더 투박하다. 어느 쪽이 일방적으로 낫지는 않다. 엔지니어들은 무엇을 내줄지 따져 보고 고른다.

평균 연봉은 알고 싶지만 자기 연봉은 누구에게도 말하지 않겠다는 사람들이 모인 방을 상상해 보라. MPC는 그들 사이에서 돌리면 정확한 평균이 튀어나오되, 그 누구도 — 계산을 돌리는 사람조차 — 어느 한 사람의 연봉은 결코 알 수 없음이 보장되는 수학적 절차다. 입력을 자물쇠로 채워 둔 채 하는 공동 산수인 셈이다.

완전동형암호를 쓰면 가장 민감한 데이터를 믿을 수 없는 컴퓨터 — 이를테면 클라우드 서버 — 에 맡겨 실제 작업을 시키고 올바른 답을 돌려받을 수 있는데, 그동안 그 컴퓨터는 당신의 데이터가 실제로 무엇인지 단 한 번도 보지 못한다. 잠긴 금고를 회계사에게 부치면, 회계사가 금고를 열지도 않은 채 안에 든 현금을 합산해 잠긴 합계를 다시 부쳐 주는 것과 같다.

임계 서명은 열쇠를 여러 조각으로 잘라 서로 다른 수호자들에게 맡기는 것이다. 서명하려면 여럿이 함께 움직여야 하므로, 도둑 하나 — 또는 부주의한 실수 하나 — 로는 돈을 옮길 수 없다. BLS 서명은 두 번째 재주를 보탠다. 수천 개의 개별 승인을, 전원이 동의했음을 증명하는 작은 도장 하나로 접어 넣는 것이다. 큰 네트워크가 속도를 따라잡을 수 있는 것은 이 덕분이다.

웹3가 '곧' 블록체인이고 암호학은 곁다리라고 생각하기 쉽다. 이 장은 그 반대에 가깝다고 논증한다. 고급 암호학이 이 기획의 심장이고, 블록체인은 여러 장기 중 하나다. 웹3의 가장 큰 약속들 — 자신을 노출하지 않고 자신을 증명하기, 결코 공개하지 않을 데이터로 계산하기, 기록을 비공개로 두면서도 검사 가능하게 하기 — 가운데 몇몇은 블록체인이 거의 또는 전혀 없이도 지켜질 수 있다.

이 장에서 다루는 내용

  1. 급진적 투명성은 왜 풀어야 할 문제인가
  2. 영지식 증명: 아는 것을 보여 주지 않고 안다는 사실을 증명하기
  3. zk-SNARK와 zk-STARK: 증명을 작고 자기완결적으로 만들기
  4. 지캐시: 최초의 본격 실전 사례
  5. 안전한 다자간 연산: 비공개 입력에서 공동의 답을
  6. 완전동형암호: 읽을 수 없는 데이터로 계산하기
  7. 임계 서명과 BLS 서명: 어느 누구도 통째로 쥐지 않는 키
  8. 커밋먼트 스킴: 봉인된 봉투
  9. 이 책의 논지: 웹의 암호학적 재설계로서의 웹3
  10. 정직한 한계: 비용, 복잡성, 그리고 '달나라 수학'
  11. 종합

이 장에서 설명하는 용어

전체 내용은 책에 실려 있습니다.

전체 책 구매