영지식 증명과 zk-rollup

by Evan greene


Zero-knowledge proofs | ethereum.org





?src=%22https%3A%2F%2Fethereum.org%2Fimages%2Fhome%2Fhero.png%22&type=ff500_300

Zero-knowledge proofs | ethereum.org

A non-technical introduction to zero-knowledge proofs for beginners.

ethereum.org





블록체인의 본질은 신뢰다. 문제는 신뢰를 모두가 직접 확인하려 들면, 시스템은 필연적으로 느려진다는 점이다. 모든 거래를 모든 노드가 다시 계산하는 구조는 투명하지만 비효율적이다. Ethereum이 오랫동안 씨름해온 질문도 바로 이것이다.



"검증은 유지하면서, 계산은 줄일 수 없을까?"




그 질문에 대한 가장 정교한 답이 영지식 증명(Zero-Knowledge Proof)과 zk-rollup이다.



영지식 증명은 "내가 규칙을 지켰다는 사실만 증명하고, 그 과정은 숨긴다"는 암호학적 도구다.



회계에 비유하면, 장부의 모든 거래 내역을 공개하지 않고도 "이 결산은 회계 기준을 정확히 따랐다"는 감사보고서만 제출하는 것과 비슷하다. 중요한 건 누가 증명하느냐가 아니라, 수학적으로 거짓이 불가능한 구조라는 점이다. 증명이 통과되었다는 사실 자체가 곧 신뢰의 근거가 된다.



이 개념이 실제로 구현된 형태가 zk-rollup이다. 구조는 명확하다. L1은 이더리움 메인체인으로, 최종 기록과 검증을 담당한다. L2는 zk-rollup으로, 실제 거래 실행과 계산을 맡는다.






zero-knowledge-proofs-zkps-5706b5409ebe0c8c50644e9c35e47b68.jpeg






사용자가 L2에서 거래를 하면 수천 건의 송금, 스왑, 컨트랙트 호출이 빠르게 처리된다. 이후 L2는 “이 모든 계산을 규칙대로 실행했다”는 영지식 증명 하나와 함께 결과를 L1에 제출한다. L1은 거래를 다시 계산하지 않는다. 대신 그 증명만 검증하고, 통과되면 결과를 공식 상태로 확정한다. 계산은 외주를 주되, 판정권은 끝까지 쥐고 있는 셈이다.



이때 L1으로 올라가는 데이터는 우리가 흔히 떠올리는 거래 내역이 아니다. “A가 B에게 1 ETH를 보냈다” 같은 문장이 아니라, 이전 상태 해시와 새로운 상태 해시, 그리고 그 사이의 변화가 정당하다는 zk-proof다. 상태 해시는 수많은 계정 잔고와 스마트컨트랙트 상태를 하나의 값으로 요약한 결과인데, 단 1비트만 달라져도 전혀 다른 값이 나온다. 이는 해시 함수의 핵심 성질인 눈사태 효과(avalanche effect) 때문이다.



눈사태 효과란, 입력이 아주 조금만 바뀌어도 출력 전체가 무작위처럼 뒤바뀌는 현상을 말한다. 함수 자체는 완전히 고정되어 있고 결정적이지만, 내부에서 비트들이 극단적으로 섞이도록 설계되어 있어 인간이 패턴을 읽어낼 수 없다. 마치 레시피는 정확히 같은데, 재료 하나를 바꾸는 순간 맛이 완전히 달라지는 요리와 비슷하다. 이 성질 덕분에 해시는 “요약본”인 동시에 “위조 방지 봉인” 역할을 한다.



결국 이더리움의 L1–L2 구조는 이렇게 요약할 수 있다. L2는 빠르게 계산하고, L1은 그 계산이 정직했는지만 확인한다. 영지식 증명은 그 둘 사이의 신뢰를 사람 대신 수학으로 연결한다. 그래서 zk-rollup은 단순한 확장 기술이 아니라, 이더리움이 장기적으로 선택한 철학에 가깝다. 모든 것을 직접 하지 않아도, 최종 판단자로서의 신뢰는 결코 양보하지 않겠다는 선택이다.



이 구조를 이해하면, 이더리움의 진화는 속도 경쟁이 아니라 신뢰를 보존한 채 역할을 분업하는 과정임이 보인다. 그리고 영지식 증명은 그 분업을 가능하게 만든, 가장 정교한 도구다.




매거진의 이전글Ethereum, Fusaka 업그레이드