
zkTLS 및 그 활용에 대해 웹3 프라이버시 전문가가 알려드립니다
본문 필자: Xavier, 공동창립자@Primus Lab
암호학 박사로, MPC/ZK/PPML 등 프라이버시 관련 분야에서 10년 이상의 연구 경험 보유
zkSNARKs를 중심으로 한 ZK 기술이 블록체인 산업에서 전례 없는 발전을 이뤘음에도 불구하고, 여전히 산업계가 예상하는 궁극의 목표(end game)와는 거리가 멀다. 한편으로는 zkRollup이 이더리움의 성능 향상에 어느 정도 기여했지만, 체인 상의 애플리케이션이 점점 줄어들며 인프라만 있고 실제 활용이 부족한 어려움을 극복하지 못하고 있다. 다른 한편으로는 ZK 기술 자체가 아직 고부가가치의 ZK 애플리케이션을 만들어내지 못했다. 프라이버시 중심의 체인 상 거래 및 기밀 결제부터 다양한 zk+XXX(zkEmail, zkLogin, zkPassport 등)까지 모두 수요가 불명확하거나 강제로 ZK를 붙이고 기술적으로 과장하는 수준에 머물러 있으며, 실제로 사용 사례의 핵심 문제를 해결하지 못하고 있다.
zkTLS란 무엇인가?
일반적인 예시로, 당신은 어떻게 다른 사람에게 당신의 은행 계좌에 많은 돈이 있다는 것을 증명할 수 있을까? 전통적인 방법은 은행에 자산 증명서를 요청하는 것이다. 이러한 종이 증명서는 은행의 공식 도장을 포함하며, 진위성(authenticity)이 명확하다.

(이미지 출처: 인터넷)
그렇다면, 만약 질문이 "당신의 신용 점수, 전자상거래 소비 금액, 게임 플레이 시간 등을 어떻게 타인에게 증명할 수 있느냐"로 바뀐다면 어떨까? 개인 데이터를 보유한 웹사이트들이 개별적으로 이를 입증해주고 관련 증명 서비스를 제공할 것이라고 기대하기는 어렵다. 혹은 화면 캡처를 통해 타인을 납득시킬 수는 있겠지만, 여전히 위조 가능성이 의심받을 수 있으며 민감 정보 유출 위험도 발생한다.
zkTLS는 TLS 프로토콜 기반의 데이터 검증 기술로, 인터넷 기반의 임의 데이터에 대해 객관적으로 진위성을 증명할 수 있게 해준다.
최초의 zkTLS 기반 기술 제품은 2015년 TLSNotary 프로젝트가 발표한 PageSigner이며, Chrome 브라우저 기반이다. 이름에서 알 수 있듯이, TLSNotary의 초창기 목적은 웹페이지 데이터의 진위성을 증명할 수 있는 도구를 만드는 것이었다. 사실상 2020년까지 ChainLink 팀이 DECO 논문을 발표하기 전까지는 zkTLS가 산업계의 주목을 받지 못했으며, 그때 비로소 체인 외부의 비공개 데이터를 가져올 수 있는 또 다른 형태의 오라클(Oracle)이 존재한다는 것이 알려졌다.
객관적으로 말해, 2023년 이전까지 zkTLS 기술은 실제 비즈니스 요구사항에 대응하는 수준에서 겨우 '사용 가능' 상태에 머물렀으며, '편리하게 사용 가능' 수준에는 크게 미달하였다. 단일 증명에 보통 몇 분 이상이 소요되었다. 2023년, 기존의 zkTLS 기술이 안전한 다자간 계산(MPC)을 사용하면서 통신 오버헤드가 너무 크다는 문제를 감안하여, reclaim은 프록시 모드(proxy mode) 기반의 zkTLS 기술을 제안했다. 기존의 zkSNARKs 기술과 신뢰 가능한 프록시 노드를 도입함으로써 TLS 데이터의 검증 가능성을 달성한 것이다. 2023년 중반, Primus 팀(당시 이름은 "PADO")은 garble-then-prove 기술과 quicksilver 알고리즘을 결합하여, 안전한 다자간 계산 방식 기반의 zkTLS 기술 전체 성능을 10배 이상 향상시켰으며, 프록시 모드에서도 기존의 zkSNARKs를 quicksilver 알고리즘으로 대체함으로써 전체 성능을 다시 10배 이상 향상시켰다. 현재로서는 Primus의 zkTLS 기술이 성능 측면에서 대부분의 비즈니스 시나리오의 요구를 기본적으로 충족할 수 있다.

독자는 관련 벤치마크 평가를 참고하여 zkTLS의 성능에 대해 더 자세히 알아볼 수 있다.
(https://hackmd.io/@-fI_Eu_rR8qs02aOhOPWNg/HkRyz5OF1g)
zkTLS 기술 분류
일반적으로 zkTLS는 웹페이지 데이터의 진위성 검증을 위해 제3자 Attestor에 의존한다. Attestor는 관찰자와 유사하며, TLS 프로토콜 실행 과정에서의 요청 및 응답 메시지를 '읽음'으로써 사용자의 데이터(서버로부터의 응답 메시지)가 특정 데이터 소스(데이터 소스는 서버 도메인 및 관련 API 엔드포인트를 의미함)에서 실제로 나온 것임을 보장한다.
TLS 프로토콜은 일반적으로 두 단계로 나뉜다: 핸드셰이크(handshake) 및 세션(session). 핸드셰이크 단계에서는 클라이언트와 서버가 일련의 통신을 통해 세션 키를 공동으로 계산하여 다음 단계의 암호화 통신에 사용한다. 세션 단계에서는 클라이언트가 요청 메시지를 서버에 보내면, 서버는 응답 메시지를 반환하며, 모든 메시지는 세션 키로 암호화되어 제3자가 내용을 유출하지 못하도록 한다.
zkTLS는 핵심 기술 구성 요소에 따라 크게 두 가지로 나뉘며, 하나는 안전한 다자간 계산(MPC) 기반, 다른 하나는 프록시 기반 기술이다.
MPC 모드
MPC 모드는 주로 안전한 다자간 계산 기술의 사용에 의존한다. MPC 방식에서는 Attestor와 Client(클라이언트)가 양자간 계산(2PC) 프로토콜을 통해 TLS 핸드셰이크 과정의 클라이언트 부분을 공동으로 시뮬레이션한다. 즉, 핸드셰이크 단계가 끝난 후 클라이언트는 직접 완전한 세션 키를 획득하지 못한다. Attestor가 응답 암호문을 수신한 후에야 비로소 클라이언트에게 키 조각(key share)을 전송하여, 클라이언트가 모든 암호문을 복호화할 수 있도록 한다.
「참고 지식: MPC는 안전한 다자간 계산(Secure Multi-Party Computation)의 약자로, 일반적으로 두 당사자 참여(즉, 2PC) 또는 세 당사자 이상 참여(MPC라고 함)를 의미한다. 2PC든 MPC든 모두 각 참여자가 자신의 계산 입력 정보를 다른 참가자에게 노출하지 않으면서도 특정한 계산 작업을 협력하여 수행해야 한다. 예를 들어, 각자의 급여 정보를 공개하지 않고 평균 급여를 계산하거나, 각각의 데이터를 공개하지 않은 채 여러 데이터 제공자가 함께 AI 모델 훈련을 수행하는 경우 등이 있다.」

MPC 모드의 직관적인 흐름은 다음과 같다:
-
핸드셰이크 단계: Client와 Attestor가 2PC 프로토콜을 실행하여 세션 키를 공동으로 계산한다. 이 과정에서 Client와 Attestor는 완전한 키가 아닌 각자의 키 조각만을 보유한다.
-
요청 암호화: Client와 Attestor가 다시 2PC 프로토콜을 실행하여 암호화된 요청 데이터를 계산한다.
-
응답 처리: Client가 데이터 소스로부터 응답 암호문을 수신하고 이를 Attestor에게 전달한다.
-
키 해제 및 검증: Attestor가 키 조각을 Client에게 전송하여 Client가 완전한 세션 키를 획득하게 한다. Client는 해당 키로 응답을 복호화하고, Attestor에게 암호문이 유효하며 프로토콜에서 정의한 보안 속성을 만족함을 증명한다. 주의할 점은, Client와 Attestor가 2PC 프로토콜을 사용하여 응답 암호문을 복호화하지 않는다는 점이며, 복호화는 Client가 완전한 키를 확보한 후 독립적으로 수행된다.
Proxy 모드
프록시 모드에서는 Attestor가 프록시 역할을 하여, Client(클라이언트)와 Data Source(데이터 소스) 사이에서 모든 TLS 상호작용 데이터(핸드셰이크 정보 및 암호화된 통신 데이터 포함)를 전달한다. TLS 프로토콜 종료 시, Client는 Attestor에게 제로지식 방식(ZK)으로 암호문의 유효성을 증명해야 한다.
Proxy 모드의 설계 목적은 MPC-TLS 내의 2PC 프로토콜을 제거하는 것이다. 2PC는 계산 오버헤드가 가장 큰 부분이므로, 이를 제거함으로써 계산 복잡도를 줄이고 프로토콜 전체의 실행 효율성을 향상시키는 것이 목적이다.

zkTLS가 우리에게 주는 가치는 무엇인가?
zkTLS의 핵심 가치는 검증 가능성(Verifiability)이다.
이전까지는 신뢰 없이도 사용자가 신뢰할 수 있는 개인 데이터를 제공할 수 있는 좋은 방법이 없었다. 이러한 검증 가능성은 광범위하고 실용적인 유연성을 갖추고 있으며, 다음과 같은 특징이 있다:
-
- 데이터 소스 비침습적: 데이터 소스는 자신이 새로운 zkTLS 프로토콜과 상호작용하고 있다는 것을 인지하지 못하며, 전통적인 TLS 프로토콜 로직에 따라 동작할 뿐이다. 이는 이론적으로 TLS 프로토콜 기반의 모든 데이터 소스 또는 API 서비스에 zkTLS를 광범위하게 접속할 수 있음을 의미한다. 다만 반복적인 이상 상호작용이 데이터 소스 측의 리스크 관리 정책을 유발할 수는 있다.
-
- 범용성: 보이는 모든 것은 증명 가능하다. 이론적으로 공개적이든 개인적이든, 민감하든 비민감하든 모든 웹페이지 데이터는 Attestor의 검증을 거쳐 zkTLS 방식으로 획득할 수 있다.
-
- 체인 무관성: zkTLS는 순수하게 암호학 기반의 오프체인 행동이며, 프로토콜 출력은 일반적으로 Attestor의 서명이 포함된 데이터로, 체인 외부에서 검증 가능하며, 스마트 컨트랙트 내에서 체인 상으로 올려 검증하는 것도 가능하다.
-
- 프라이버시 친화적: 제로지식 증명의 특성상, 공유가 필요한 민감 정보에 대해 최소한의 정보만 공개할 수 있다. 간단히 말해, TLS 프로토콜의 응답 메시지에서 계산 가능한 데이터(수치형)에 대해 연령이 18세 이상인지, 잔액이 10,000 이상인지 등의 제약 조건을 설정할 수 있으며, 해당 계산 증명 결과를 출력 데이터에 반영할 수 있다.
zkTLS의 적용 사례
당신은 zkTLS 기반의 데이터 공유가 어떤 실제 사용 사례에 적용될 수 있을지 궁금할지도 모른다. 아래는 우리가 탐색해볼 만한 가치가 있다고 생각하는 아이디어들이다:

-
저담보 대출: zkTLS를 통해 오프체인의 신용 점수, 은행 잔고, 수입 및 기타 재무 데이터를 증명함으로써, 대출 프로토콜이 자본 활용 효율을 더욱 높일 수 있도록 할 수 있다.
-
오프체인 신원 인증: 전통 기관의 사용자 KYC 정보를 획득하여 체인 상 금융 프로토콜에서 활용할 수 있다.
-
P2P 거래: 우리는 디지털 상품의 P2P 시장을 만들 수 있다. 구매자는 zkTLS 기술을 통해 전자티켓, 도메인, 게임 아이템, 심지어 법정화폐에 이르기까지 소유권 변경을 증명할 수 있으며, 판매자는 스마트 컨트랙트를 통해 토큰 양도를 통제할 수 있다.
-
AI Agent: zkTLS를 활용하면 AI Agent의 행동이 완전히 신뢰 가능함을 보장할 수 있다. 이는 시장 영향력을 가진 소셜미디어 에이전트의 발언 검증뿐 아니라, AI 트레이딩 로봇과 AI가 DAO 거버넌스에 참여하는 것을 가능하게 하여 프로세스의 신뢰 비용을 낮춘다.
-
팬 증명: 예를 들어, 사용자가 팬身份임을 증명하고 KOL/아티스트로부터 관련 보상을 받을 수 있도록 할 수 있다.
-
소셜 계정 후원/결제: 누구든지 상대방의 지갑 주소를 알지 못한 채로 한 개 이상의 소셜 계정에 암호자산을 보낼 수 있게 된다. 반면, 사용자는 본인 소유의 토큰을 수령하기 위해 zkTLS를 통해 관련 소셜 계정 소유권을 증명해야 한다.
-
소셜 로그인: zkTLS를 통해 사용자의 소셜 플랫폼 계정 소유권을 검증하여, 새로운 로그인 메커니즘을 개발할 수 있다. 사용자는 Google이나 Meta 계정에 의존하지 않고도 임의의 웹서비스 제공자의 계정으로 로그인할 수 있다.
가치 있는 데이터 검증 및 계산의 새로운 패러다임
zkTLS는 단순히 Web2 데이터가 Web3 생태계에서 활용 가능해졌다는 것을 의미하는 것을 넘어서, 데이터 소유권의 전환을 나타낸다. 과거에는 플랫폼에 의해 제한되었던 데이터가 이제 자유롭게 이동할 수 있으며, 프라이버시가 보호되고 프로그래밍 가능해졌다. 이러한 진화는 사용자를 더 이상 수동적인 수용자가 아니라 데이터의 진정한 통제자로 만든다.
zkTLS의 채택이 가속화됨에 따라, 검증 가능한 데이터가 만들어내는 시너지 효과를 목격하게 될 것이다—더 많은 검증 가능한 데이터가 더 강력한 애플리케이션을 뒷받침하게 될 것이다. 반면, 이러한 검증 가능한 데이터가 애플리케이션 간에 가치를 전달함에 따라, 새로운 문제가 제기되는데, 바로 이 핵심 데이터에 대해 어떻게 계산을 수행하고 계산 결과의 정확성을 보장할 것인가 하는 것이다.
사실, 체인 상 민감 데이터의 계산은 일반적으로 완전동형암호(FHE)와 같은 더욱 복잡한 암호학 기술에 의존한다. Primus는 완전동형암호 알고리즘에 제로지식 증명을 결합하여 재설계함으로써, zkFHE(검증 가능한 완전동형암호) 프로토콜을 제안하였으며, 신뢰 없이도 체인 상 데이터의 기밀 계산을 지원하고 있다. 이는 zkTLS라는 사이버 공간을 초월하는 데이터 검증 기술을 데이터 계산 영역까지 확장하여, 더 많은 혁신적 애플리케이션의 가능성을 열어주고 있다.
면책 고지:
본 문서는 Primus 팀의 Xavier가 작성하였으며, 일부 내용은 이해관계 관련 언급을 포함하고 있으므로 독자들의 판단에 맡긴다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














