미래로 보내는 영지식 증명:
정해진 시간이 지나야 검증되는 암호기술


먼저 알아야 할 세 가지 개념
영지식 증명이란 무엇인가?
영지식 증명은 다음과 같은 상황을 가능하게 한다.
“나는 어떤 비밀을 알고 있으며, 그 비밀이 특정 조건을 만족시킨다는 사실을 증명할 수 있다. 하지만 그 비밀 자체는 공개하지 않겠다.”
예를 들어 사용자가 은행 잔고의 정확한 금액을 공개하지 않고도 “잔고가 특정 기준 이상”이라는 조건을 만족한다고 증명할 수 있다. 검증자는 비밀값을 직접 확인하지 않고도 증명의 유효성만 판단한다.
영지식 증명은 개인정보 보호형 인증, 블록체인 거래, 전자서명, 신원 증명 등에서 활용된다. 다만 기존 방식에서는 증명이 전달된 뒤 검증자가 비교적 즉시 유효성을 확인할 수 있다.
시간 방출 암호란 무엇인가?
시간 방출 암호(Time-Release Cryptography)는 정보를 미래의 특정 시점까지 잠가 두는 암호기술이다. 대표적인 도구가 시간 잠금 퍼즐(Time-Lock Puzzle)이다.
시간 잠금 퍼즐은 특정 계산을 충분히 빠르게 병렬화하기 어렵도록 설계된다. 따라서 공격자가 아무리 많은 계산 자원을 동원하더라도, 정해진 순차 계산을 직접 수행해야 하며 일정 시간이 걸린다. 반면 퍼즐을 만든 사람만 알고 있는 비밀 정보가 있으면 더 빠르게 풀 수 있다.
중요한 점은 여기서 말하는 시간이 실제 시계에만 의존하지 않는다는 것이다. 연구의 TRZKP는 계산 난이도를 이용해 지연을 강제하므로, 별도의 온라인 시간 서버를 신뢰하지 않아도 된다.
검증 가능한 시간제한 서명이란 무엇인가?
검증 가능한 시간제한 서명은 서명 안에 유효한 다른 서명이 들어 있지만, 수신자가 정해진 시간이 지나기 전에는 그 내부 서명을 꺼낼 수 없도록 만든 구조다. 동시에 수신자는 해당 서명이 실제로 나중에 유효한 서명을 복원할 수 있는 구조인지 확인할 수 있어야 한다.
이 기술은 공정한 교환, 블록체인 결제 채널, 다중 서명 거래, 블록체인 기반의 공정한 다자간 계산 등에 활용될 수 있다. 예를 들어 한쪽이 먼저 서명 정보를 공개하고 상대방이 이를 즉시 악용하는 상황을 막으면서, 일정 시간이 지나면 양쪽이 필요한 정보를 얻도록 설계할 수 있다.
TRZKP는 어떻게 작동하는가?
연구진의 핵심 아이디어는 영지식 증명의 검증에 필요한 도전값(challenge)을 바로 제공하지 않고, 시간 잠금 퍼즐의 결과에서 도출하는 것이다.
Schnorr 계열의 3단계 증명을 단순화해 생각해 보자.
1.증명자는 첫 번째 메시지 a를 만든다.
2.검증자는 도전값 e를 보낸다.
3.증명자는 비밀 정보를 이용해 응답 z를 계산한다.
Fiat–Shamir 변환을 사용하면 이 과정을 비대화형 증명으로 바꿀 수 있다. 연구진은 여기에 시간 잠금 퍼즐을 삽입한다. 증명자는 퍼즐에서 난수를 추출해 원래 도전값을 변형하고, 변형된 도전값에 맞춰 응답을 계산한다.
검증자는 증명을 받은 뒤 먼저 시간 잠금 퍼즐을 순차적으로 푼다. 퍼즐의 결과를 이용해야만 실제 도전값을 복원할 수 있고, 그 다음에야 a, 도전값, z 사이의 관계를 검증할 수 있다.
즉, 증명의 내용이 공개되는 시점과 증명의 유효성을 확인할 수 있는 시점 사이에 계산 지연을 삽입한 것이다.
‘시간이 지나기 전에는 검증할 수 없다’는 것을 어떻게 보장할까?
TRZKP는 단순히 검증 알고리즘을 일부러 느리게 만든 것이 아닙니다. 연구진은 다음 네 가지 보안 속성을 정의했다.

특히 중요한 속성이 지연 검증 가능성(delayed verifiability)이다. 연구진은 시간 제한을 가진 공격자가 비밀 증명값을 모르는 시뮬레이터가 만든 증명과 정직한 증명을 구별하기 어렵도록 설계했다.
이 정의는 일반적인 영지식성보다 시간 요소를 더 강하게 반영한다. 일반적인 영지식성에서는 시뮬레이터가 특정 시뮬레이션용 비밀 정보나 상호작용 제어 권한을 사용할 수 있다. 반면 TRZKP의 지연 검증 가능성에서는 시간 제한을 가진 공격자를 속이기 위해 그러한 지식을 사용하지 않는 시뮬레이터를 요구한다.
난수 비콘이 필요한 이유
연구의 구성에서는 난수 비콘(randomness beacon)도 사용한다. 난수 비콘은 특정 시점에 공개되는 예측 불가능한 난수다.
증명자가 원하는 난수를 미리 골라 시간 잠금 퍼즐에 넣을 수 있다면, 퍼즐을 사전에 계산해 두거나 특정 대상에게만 미리 유출하는 공격이 가능해질 수 있다. 난수 비콘을 사용하면 증명 공개 시점에 맞춰 외부에서 정해진 난수를 사용하게 되므로, 증명자가 시간 조건을 임의로 조작하기 어려워진다.
연구진은 난수 비콘을 사용할 수 없는 환경에서는 신뢰할 수 있는 설정 과정이나 증명자가 생성한 난수로 대체할 수 있다고 설명한다. 다만 이런 대체 방식은 적용 환경에 따라 별도의 신뢰 가정이 필요할 수 있다.
VTS 성능은 얼마나 좋아졌나?
연구진은 TRZKP를 Fiat–Shamir 서명에 적용해 VTS를 구성하고, 기존 VTS 및 adaptor signature 기반 방식과 비교했다. 논문은 이론 분석과 실험에서 다음과 같은 장점을 보고한다.
서명 생성 시간
제안 방식의 서명 생성 시간은 지연 시간의 크기가 증가해도 사실상 일정하게 유지된다. 논문 실험에서 제안 방식의 외부 서명 생성 시간은 여러 지연 설정에서 약 15.2초로 측정되었다.
반면 비교 대상인 VTAS+는 지연 시간이 커질수록 서명 생성 시간이 증가하는 경향을 보였다. 논문에 인용된 비교값에 따르면 log T가 10일 때 약 4초였지만, 80에서는 13초까지 늘어났다. 연구진은 더 긴 지연에서는 이 증가폭이 커질 수 있다고 분석한다.

따라서 짧은 지연 시간에서는 제안 방식이 항상 더 빠르다고 말하기 어렵다. 그러나 지연 시간이 길어질수록 제안 방식의 일정한 생성 시간이 상대적으로 유리해진다.
검증 시간
검증 시간에서는 차이가 더 뚜렷하다. 기존 방식은 수 초 수준의 검증 시간이 필요할 수 있지만, 제안 방식은 수 밀리초 수준의 검증 시간을 보였다.
논문에서 인용한 비교 결과에 따르면 Thyagarajan 등의 기존 VTS는 공유 수를 30으로 설정했을 때 검증 시간이 약 7.5초에 이르렀다. Zhou 등의 VTAS+는 log T = 20에서 1초를 넘었다. 반면 제안 방식은 지연 시간이 증가해도 검증 시간이 거의 일정했고, log T = 1000에서도 지연과 관련된 핵심 연산은 약 1밀리초 수준으로 보고되었다.
다만 전체 검증에 필요한 난수 해시와 VDF 검증 등 추가 연산도 존재한다. 연구진은 이 추가 비용 역시 수 밀리초 수준이라고 설명한다.
서명 크기
제안 방식의 외부 서명 크기는 지연 시간이나 기존 VTS의 공유 수, 반복 횟수에 크게 의존하지 않고 일정한 구조를 가진다. 논문은 제안 방식의 크기가 기존 최첨단 방식보다 약 67배 작다고 보고한다.
이 차이는 블록체인처럼 저장 공간과 통신 비용이 중요한 환경에서 특히 의미가 있다. 다만 이 수치는 특정 파라미터와 비교 대상에 대한 결과이므로, 모든 시스템에서 동일한 비율이 보장된다는 뜻은 아니다.
어디에 활용할 수 있을까?
시간 기반 접근 제어
기관은 사용자의 자격을 영지식 방식으로 확인하면서도, 그 자격이 특정 시점 이후에만 유효하도록 만들 수 있다. 예를 들어 사용자가 특정 자산 범위의 지급 능력을 갖췄다는 사실을 공개하지 않고 증명하되, 그 증명이 계약된 시간 이후에만 검증되도록 할 수 있다.
블록체인과 결제 채널
블록체인에서는 거래 순서와 공개 시점이 중요하다. TRZKP와 VTS를 사용하면 상대방이 필요한 정보를 즉시 얻지 못하도록 하면서도, 지정된 시간이 지나면 누구나 검증 가능한 방식으로 정보를 복원할 수 있다.
공정한 다자간 계산
여러 참여자가 결과를 함께 만들어야 하지만 어느 한쪽이 먼저 결과를 얻어 유리해지는 상황을 막아야 할 때 시간 방출 증명이 활용될 수 있다. 모든 참여자가 같은 조건에서 결과를 확인하도록 지연을 강제하는 방식이다.
예약 공개와 미래 조건부 인증
특정 문서나 자격이 “지금 존재한다”는 사실은 공개하되, 그 유효성 검증은 미래 시점 이후에만 가능하도록 만들 수도 있다. 다만 실제 서비스에서는 컴퓨팅 시간과 현실의 시각을 어떻게 대응시킬지, 그리고 사용자가 충분한 계산 자원을 확보했는지 함께 고려해야 한다.
아직 남아 있는 과제
TRZKP는 흥미로운 기본 개념과 효율적인 구성 가능성을 제시하지만, 실서비스에 바로 적용할 수 있다는 의미는 아니다.
첫째, 시간 잠금 퍼즐의 지연 시간은 절대적인 벽시계 시간이 아니라 특정 계산 환경에서 필요한 순차 연산량으로 표현된다. 하드웨어 성능이 바뀌면 실제 소요 시간도 달라질 수 있다.
둘째, 논문에서 제시한 실험은 특정 환경과 파라미터를 사용했다. 연구진은 1024비트 RSA 수를 VDF에 사용하고, Groth16 기반 SNARK를 이용해 실험했다. 다른 보안 수준, 다른 하드웨어, 다른 증명 시스템에서는 결과가 달라질 수 있다.
셋째, 일부 응용에서는 지연 시간이 서명 내부에서 드러나면 안 될 수 있다. 연구진은 이 문제를 해결하기 위해 시간 잠금 퍼즐의 지연 파라미터와 기반값을 커밋하고, 그 계산의 정확성을 zkSNARK로 증명하는 확장 방향을 제시한다. 그러나 이 방식은 추가적인 증명 회로와 구현 복잡성을 요구한다.
넷째, 난수 비콘의 운영 방식도 중요하다. 온체인 시간이나 공개 난수를 활용할 수 없는 환경에서는 신뢰 설정이나 별도의 난수 생성 정책이 필요하다.
마무리
이번 연구의 핵심은 영지식 증명에 ‘언제 검증할 수 있는가’라는 시간 축을 결합했다는 데 있다. 기존 영지식 증명이 정보 공개를 최소화하는 기술이었다면, TRZKP는 여기에 검증 시점까지 통제하는 기능을 더한다.
연구진은 이를 형식적으로 정의하고, 시간 잠금 퍼즐과 난수 추출 도구를 이용한 구체적 구성까지 제시했다. 또한 TRZKP를 검증 가능한 시간제한 서명으로 확장해, 긴 지연 시간에서 일정한 서명 생성 시간, 수 밀리초 수준의 검증 시간, 기존 방식 대비 크게 줄어든 서명 크기를 보고했다.
아직 실제 서비스 적용을 위해서는 하드웨어별 지연 시간 보정, 파라미터 안전성, 난수 비콘 운영, 증명 시스템의 구현 비용을 추가로 검토해야 한다. 그럼에도 TRZKP는 “비밀을 숨긴 채 참임을 증명한다”는 영지식의 개념을 “정해진 시간이 지나야 참인지 확인할 수 있다”는 방향으로 확장했다는 점에서, 시간 기반 인증과 블록체인 보안 연구에 중요한 출발점을 제시한다.



