블록체인과 프라이버시, 그리고 ZK

블록체인 기술은 투명성, 불변성, 보안성이 좋다고 널리 알려져 있다. 그러나 이러한 투명성은 프라이버시 측면에서 봤을 때 치명적인 단점을 가지고 있다. 맨 처음에 비트코인이...

Read more


 

Bringing Privacy to Blockchain

*본 아티클은 Korea Blockchain Week 2023의 'Brining Privacy to Public Blockchain’ 세션과 관련되어 작성되었습니다.

면책 조항: 본 글은 일반적인 정보 제공을 목적으로 작성되었으며, 법률, 사업, 투자 또는 세금 관련 조언을 제공하지 않습니다. 본 글을 기반으로 투자 결정을 내리거나 이를 회계, 법률, 세무 지침으로 사용해서는 안됩니다. 특정 자산이나 증권에 대한 언급은 정보 제공의 목적일 뿐, 투자에 대한 추천이 아님을 밝힙니다. 본 글에서 표현된 의견은 저자의 개인적인 의견이며, 관련된 기관, 조직 또는 개인의 견해를 반영하지 않을 수 있습니다. 본 글에 반영된 의견은 사전고지 없이 변경될 수 있음을 유의하십시오.


 

1. 소개

블록체인 기술은 투명성, 불변성, 보안성이 좋다고 널리 알려져 있다. 그러나 이러한 투명성은 프라이버시 측면에서 봤을 때 치명적인 단점을 가지고 있다. 맨 처음에 비트코인이 나왔을 때, 많은 사람들은 비트코인이 익명 화폐라고 이야기 했지만 이는 사실이 아니다. 오히려 퍼블릭 블록체인의 모든 거래는 공개적으로 볼 수 있기 때문에 누구나 거래 내역을 보고 자금의 흐름을 추적할 수 있다. 이러한 프라이버적 측면에서의 부족함은 금융, 의료, 이커머스 등 다양한 분야에서 블록체인 기술을 채택하는 데 큰 장벽이 되고 있다고 봐도 과언이 아니다. 이 문제를 해결하기 위해 영지식 증명, 링 서명, 스텔스 주소와 같은 여러 가지 개인 정보 보호 강화 기술(PET)이 개발되고 있고. 이러한 기술 중 영지식 증명은 블록체인 프라이버시를 위한 가장 유망한 솔루션 중 하나로 간주되고 있다. 해서, 이번 글은 프라이버시와 퍼블릭 블록체인, 그리고 최근 zk 기술을 도입하여 프라이버시를 확보하고 있는 레이어1 체인들에 대해서 알아보고자 한다.



2. 영지식 증명이란?

Zero Knowledge Proofs | Source: Towards Data Science

영지식 증명(ZKP)은 증명자가 정보 자체를 공개하지 않고도 검증자에게 특정 정보에 대한 지식이 있다는 것을 증명할 수 있는 암호화 프로토콜이다. 즉, ZKP를 사용하면 자신이 알고 있는 정보를 실제로 공개하지 않고도 자신이 무언가를 알고 있음을 증명할 수 있다.

ZK 증명은 비대화형 영지식 증명(NIZK)과 대화형 영지식 증명(IZK)의 두 가지 범주로 나뉜다. NIZK는 증명자와 검증자 간의 상호작용이 필요하지 않은 ZK 증명의 한 유형인 반면, IZK는 증명자와 검증자 간의 상호작용이 필요하다.

ZKP는 인증, 신원 확인, 개인정보 보호 등 다양한 애플리케이션에서 사용할 수 있다. ZKP의 가장 중요한 응용 분야 중 하나는 블록체인 기술의 맥락에서 블록체인의 무결성을 유지하면서 사용자의 개인 정보를 보호하는 데 도움이 될 수 있다.



2.1 ZKP는 어떻게 작동할까?

ZKP는 정보 자체를 공개하지 않고도 증명자가 검증자에게 특정 정보에 대한 지식이 있음을 증명할 수 있도록 하는 방식으로 작동한다. 이는 증명자가 정보 자체를 공개하지 않고도 해당 정보에 대한 지식을 증명할 수 있는 증명을 생성할 수 있는 복잡한 수학적 알고리즘을 사용하여 이루어지게 된다.

그런 다음 검증자는 증명자가 생성한 증명을 사용하여 증명자가 해당 정보를 실제로 알지 못하더라도 해당 정보에 대한 지식이 실제로 있는지 확인할 수 있는 방식이다.



3. ZKP를 사용하여 레이어 1 블록체인에 프라이버시 제공

블록체인은 본질적으로 노드 네트워크에 의해 유지되는 분산화된 장부다. 레이어 1 블록체인에서는 네트워크의 모든 노드가 동일한 데이터에 액세스하고 합의 프로세스에 참여해야한다. 즉, 블록체인의 모든 트랜잭션은 모든 노드가 공개적으로 볼 수 있어야 한다. 해서 블록체인은 기본적으로 ‘퍼블릭 블록체인’이라고 불리며, 공공재의 성격을 띄고 있는 것도 이 때문이다.

ZK 증명은 사용자가 트랜잭션 자체에 대한 정보를 공개하지 않고도 트랜잭션의 유효성을 증명할 수 있도록 하여 레이어 1 블록체인에 프라이버시를 제공하는 데 사용할 수 있다. ZK 증명을 지원하는 블록체인에서는 트랜잭션에 대한 정보를 공개하지 않고도 트랜잭션이 유효함을 증명하는 ZK 증명을 통해 트랜잭션이 검증된다. 이는 블록체인의 보안과 불변성을 유지하면서 트랜잭션의 프라이버시를 보장하는 방식으로, 블록체인의 장점을 살리면서도 투명성에서 나오는 단점들을 보완할 수 있게 된다.

How Does ZK-SNARK Wrok? | source: HALBORN

블록체인에서 ZK 증명을 가장 유망하게 구현한 사례 중 하나는 지캐시 프로토콜이다. 지캐시는 ZK 증명을 사용하여 비공개 거래를 가능하게 하는 암호자산으로, 지캐시는 개인 거래를 가능하게 하기 위해 zk-SNARK(zk-SNARK는 "Zero Knowledge Succint Non-Interactive Argument of Knowledge"의 약자로, 영지식 증명(ZKP)의 한 유형이자 가장 잘 알려진 유형이라고 할 수 있다. 블록체인의 맥락에서 zk-SNARK는 블록체인의 보안과 불변성을 유지하면서 거래에 대한 프라이버시를 제공하는 데 사용할 수 있다. 필자가 이 글 후반부에 설명할 Namada 블록체인의 핵심 기술도 ZK-SNARK를 기반으로 구현했다고 볼 수 있다)라는 특수한 유형의 ZKP를 사용한다.

ZKP는 레이어 1 블록체인에서 다른 개인 정보 보호 기능을 활성화하는 데에도 사용할 수 있다. 예를 들어, 블록체인에서 익명 투표를 활성화하는 데 ZK 증명을 사용할 수 있다. 유권자(Voter)는 ZKP를 사용하여 자신의 신원이나 누구에게 투표했는지 밝히지 않고도 투표할 자격이 있음을 증명할 수 있다.



4. 블록체인 프라이버시를 위한 ZKP 사용의 장점
4.1 개인 정보 보호 강화

블록체인 개인 정보 보호를 위해 ZK 증명을 사용할 때의 주요 장점 중 하나는 개인 정보 보호가 강화된다는 것이다. ZK 증명을 사용하면 트랜잭션 자체에 대한 정보를 공개하지 않고도 트랜잭션을 검증할 수 있기 때문에 블록체인의 보안과 불변성을 유지하면서 트랜잭션의 프라이버시를 보장할 수 있다. 필자가 위에서 거듭 언급했듯, 퍼블릭 블록체인이 가지고 있는 단점을 상쇄할 수 있는 것이다.



4.2 향상된 보안

ZKP는 해킹과 사이버 공격의 위험을 줄임으로써 블록체인의 보안을 향상시킬 수도 있다. ZKP를 사용하면 트랜잭션 자체에 대한 정보를 공개하지 않고도 트랜잭션을 검증할 수 있으므로 해커가 민감한 정보를 훔치기가 더 어려워진다.

4.3 확장성

ZKP는 블록체인에 저장해야 하는 데이터의 양을 줄여 블록체인의 확장성을 개선할 수도 있다. ZK 증명을 사용하면 클레임을 증명하는 데 사용된 데이터를 공개하지 않고도 클레임의 진실성을 검증할 수 있으므로, 블록체인에 저장해야 하는 데이터의 양이 줄어든다. 실제로 이더리움의 수많은 롤업 체인들이 ZKP를 활용하여 데이터를 이더리움에 전달하는 방식을 선택했다. 이를 통해서 훨씬 적은 양의 데이터로도 이더리움 메인체인에서 롤업체인의 트랜잭션을 검증할 수 있기 때문에 ZKP를 이용한 ZK롤업이 이더리움 롤업이 나아가야하는 방향이라고 주장하는 사람들도 적지 않다.

지금까지 우리는 ZKP의 개요와 방법론, 그리고 어떠한 장점들이 있는지 알아보았다. ZKP, 그렇게 좋으면 그냥 모든 블록체인에 적용하면 될텐데 왜 아직도 ZKP는 널리 사용되지 못하고 있는 것일까?



5. ZKP를 적용하기 어려운 이유
5.1 복잡성

블록체인 프라이버시를 위해 ZKP를 사용할 때의 주요 과제 중 하나는 기술의 복잡성이다. ZKP는 비교적 새로운 기술이며 올바르게 구현하려면 높은 수준의 전문 지식이 필요하다. 단순히 ZKP가 좋다고 하여서 누구나 ZKP를 블록체인에 적용할 수 있는 것은 아니며 상당한 수준의 암호학적 수학적 지식이 필요하다. 블록체인도 다양한 분야에서 많은 지식이 필요한데, 여기에 ZKP까지 알아야 한다면, 그 진입장벽은 너무 높아지는 것이다. 이러한 문제들로 아직까지 ZKP가 널리 사용되지 못하고 있다.

단순히 이해하는데에만 어려움이 있다면 그건 그나마 괜찮다. ZKP 자체의 기술적 복잡성은 이를 연산해야하는 컴퓨터(특히 RAM)에 과부하를 야기할 정도로 굉장히 높은 수준이다.



5.2 Performance

블록체인 프라이버시를 위해 ZK 증명을 사용할 때의 또 다른 문제는 성능에 미치는 영향이다. ZK 증명은 상당한 양의 계산을 필요로 하므로 검증 프로세스가 느려질 수 있다.



5. 3 채택

마지막으로, 블록체인 프라이버시를 위해 ZK 증명을 사용하는 또 다른 과제는 채택이다. ZK 증명은 비교적 새로운 기술이기 때문에 많은 개발자와 사용자가 작동 방식과 구현 방법에 익숙하지 않다는 문제가 있다. 이는 5.1에서 언급한 기술의 복잡성과 난이도와 연결되는 것이기도 하다.

사실 기술이 어렵기만 하면 다행이지만, ZKP는 프라이버시와 매우 밀접한 관계가 있기 때문에 규제적 측면도 당연히 무시할 수 없다. 현재 전세계의 수많은 국가들이 암호자산을 통한 자금세탁을 염려하고 있는 가운데 ZKP를 이용해 블록체인에 프라이버시를 가져다준다면, 이를 좋아하는 규제당국은 없을 것이다.

프라이버시가 어떠한 순기능을 하던지간에, 결국 규제가 들어온다면 ZKP를 채택하는 것이 마냥 쉽지는 않을 것이기 때문에 ZKP는 본질적으로 다방면에서 채택하기 어려운 요소들이 자리잡고 있다.



6. 주목해야 할 프라이버시 중심 레이어 1 블록체인

ZKP가 기술적으로, 또는 규제적으로 적용되기 어려운 와중에도 ZKP를 활발히 적용하여 프라이버시에 초점을 둔 블록체인들이 새롭게 나오고 있어서 이들을 소개하고자 한다.



6.1 Namada(나마다)

Namada is a interchain focused privacy layer 1 | source: namade

나마다 블록체인은, Intent(단어가 내포하고 있듯, 인텐트는 유저들의 의도 또는 목표를 뜻하고 특정 상황에 맞춰서 스마트 컨트랙트를 작동시킬 수 있게 설계된 것을 이야기 한다.)라는 개념을 시장에 알린 Anoma 를 만든 것으로 우명한 Heliax(Public good laboratory) 라는 팀에서 만드는 텐더민트 기반 프라이버시 블록체인이다. 텐더민트 기반의 체인이지만 이더리움과도 연결되어있으며, 어떤 자산을 옮기던지간에 자산에 대한 프라이버시를 제공해준다(Multi-Asset Shielded Pool을 이용해서, MASP는 ZK-SNARK를 기반으로 만들어졌다).

나마다는 이더리움에 연결되어있는 텐더민트 기반 블록체인이기 때문에, 유저들은 나마다를 이용하여 이더리움과 이더리움 기반 자산들을 코스모스나, 오스모시스와 같은 코스모스 생태계로 옮길 수 있다. 물론 단순히 옮기는 것 뿐만 아니라 이들의 프라이버시까지 보장하면서 옮길 수 있다는 점이 나마다가 가지고 있는 특장점이라고 할 수 있다.



6.2 Aleo

Layer 1 chain enabling private Applications | Source: Aleo

위의 나마다는 텐더민트 컨센서스를 기반으로 만들어진 프라이버시 블록체인이라면, Aleo는 컨센서스부터 프라이버시에 대한 많은 염두를 둔 레이어1 블록체인이다. Aleo는 PoSW(Proof of Succint Work)라는 자체 컨센서스 메커니즘을 가지고 있는데 해당 컨센서스에서는 모든 마이닝 노드들이 zk-SNARK를 형성하고 검증해야하는 구조이다. 이렇게 컨센서스 딴에서 zk-SNARK를 적용하면 블록체인의 가장 기본적인 부분에서부터 프라이버시를 적용하였으므로, 단순히 정보를 보호하는 것을 넘어서 SNARK의 succinctness(간결성)을 극대화하여 증명이 더 간소화되므로 ALEO 네트워크 검증을 위해 필요한 컴퓨팅 자원을 효율적으로 아낄 수 있다. 물론 아직까지 해결해야하는 기술적인 문제들은 있지만, ZKP를 레이어1 딴에서도 성공적으로 활용할 수 있다는 것을 보여줄 수 있는 사례로 여겨질 수 있기를 기대한다.



7. 마치며

ZKP는 레이어 1 블록체인에 프라이버시를 도입할 수 있는 매우 유망한 기술이다. 많은 사람들은 ZKP라고 하면 롤업을 떠올리겠지만, 사실 ZKP는 롤업에만 국한된 기술이 아니고 트랜잭션 간소화 말고도 데이터 프라이버시에 쓰일 수 있다(원래 ZKP가 나온 것도 간소화 보다는 프라이버시에 좀 더 초점이 맞춰져 있었다). ZKP를 사용하면 트랜잭션 자체에 대한 정보를 공개하지 않고도 트랜잭션을 검증할 수 있으며, 블록체인의 보안과 불변성을 유지하면서 트랜잭션의 프라이버시를 보장할 수 있다는 장점을 가졌다. 지캐시 프로토콜은 블록체인 기술에서 ZK 증명을 성공적으로 구현한 예시이고, 이 외에도 Namada, Aleo와 같이 유수의 블록체인들이 ZKP를 이용하여 프라이버시에 초점을 둔 블록체인을 만들고 있다. 블록체인 거래에서 개인 정보 보호에 대한 요구가 계속 증가함에 따라 ZK 증명은 레이어 1 블록체인에서 개인 정보 보호를 보장하는 데 점점 더 중요한 도구가 될 것이다. 하지만 기술의 복잡성, 성능에 미치는 영향, 도입의 필요성 규제등 해결해야하는 과제들도 많기 때문에 앞으로도 계속 ZKP와 레이어1의 접목에 대해서 관심있게 지켜봐야 할 부분이다.

 

 

 




 

Four Pillars — Website | Twitter(EN) | Twitter(KO) | Telegram

Four Pillars is a global crypto research firm based in Seoul, consisting of the most influential blockchain researchers in Korea. Through robust research and governance skills, it helps various market players easily onboard to the blockchain industry by offering high-quality research articles while supporting protocols in their expansion into Korean and global markets.

Writer: Steve Kim, Co-Founder and CEO at Four Pillars

#ZKP #Privacy #Layer1 #FourPillars