블록체인 기술을 기반으로 하는 대부분의 암호화폐는 거래의 공개 및 공개 원장을 가지고 있습니다. 이는 이러한 시스템이 작동하는 데 필요하지만, 상당한 단점이 있습니다: 프라이버시는 종종 매우 제한적입니다. 분석 회사와 기타 이해 관계자 — 이들을 “스파이”라고 부르겠습니다 — 는 비트코인과 같은 암호화폐의 공개 블록체인과 P2P 네트워크를 분석하여 주소를 클러스터링하고 이를 IP 주소 또는 기타 식별 정보와 연결할 수 있는 방법을 가지고 있습니다.
비트코인의 프라이버시 가능성에 불만을 느낀 여러 암호화폐 프로젝트가 비트코인의 프라이버시 기능을 개선하는 특정 목표로 수년 동안 출범했습니다. 그리고 성공을 거두기도 했습니다. 이러한 “프라이버시코인” 중 여러 개가 현재 시장에서 가장 인기 있는 암호화폐 중 하나로, 그 중 네 개는 코인 시가 총액 순위에서 상위 50위 안에 들어 있습니다.
그렇긴 하지만 비트코인에는 이 달의 표지 기사에서 자세히 설명된 바와 같이 최근 몇 달 동안 개선되고 있으며 가까운 미래에 더 개선될 예정인 몇 가지 프라이버시 기능이 있습니다. 이 미니 시리즈는 다양한 프라이버시코인을 비트코인이 제공하는 프라이버시와 다른 프라이버시코인이 제공하는 프라이버시와 비교할 것입니다.
4부: 지캐시
배경
지캐시(ZEC)의 기원은 2013년 존스 홉킨스 대학교 교수인 매튜 D. 그린과 그의 대학원생인 이안 미어스, 크리스티나 가르만이 처음 제안한 제로코인으로 거슬러 올라갑니다. 제로코인은 사용자가 코인을 “소각”하고 나중에 동일한 양을 다시 유통할 수 있도록 비트코인을 위한 프라이버시 향상 프로토콜 확장으로 설계되었습니다. 거래 금액이 노출될 수 있지만, 그렇지 않으면 “새로운” 코인을 소각된 코인과 연결할 방법이 없었습니다.
그 해 늦게 그린은 “제로코인의 새로운 버전”을 발표했으며, 이는 제로캐시라고 불리게 됩니다. 제로캐시는 비트코인 프로토콜 확장으로 설계되지 않았으며 완전히 새로운 프로토콜로 설계되었습니다. 제로코인에서 금액을 숨기는 기능을 추가하고 동시에 거래 크기를 98% 줄여 큰 효율성을 제공했습니다.
이는 제로 지식 간결 비대화형 지식 증명(zk-SNARK)이라는 상대적으로 새로운 암호화 마법 덕분에 가능했습니다. 간단히 말해, zk-SNARK는 사용자가 특정 정보의 소유 및 유효성을 증명할 수 있도록 하면서도 그 정보를 누구에게도 공개하지 않고 누구와도 상호작용할 필요가 없게 합니다.
1년 후인 2014년, 암호학 보안 회사인 리스트 오소리티는 전 DigiCash 직원이자 잘 알려진 사이퍼펑크인 주코 윌콕스-오헤른이 이끌며 자매 회사를 설립했습니다: 제로코인 전기 코인 회사(또는 지캐시 회사). 주코가 CEO로, 그린, 미어스, 가르만 및 기타 학자들이 공동 창립자로 참여한 지캐시 회사는 암호화폐 및 프라이버시 분야의 저명한 인물들로부터 자금을 모았습니다. 이후 몇 년 동안 더 많은 암호학자와 엔지니어를 팀에 추가하며, 지캐시 회사는 2016년 비트코인 코드베이스를 포크하여 제로캐시의 구현으로 새로운 암호화폐인 지캐시를 출시했습니다.
지캐시의 거버넌스를 향후 비영리 “지캐시 재단”으로 이전할 계획이 있지만, 현재 지캐시는 여전히 영리 지캐시 회사에 의해 유지되고 있습니다. 이 회사, 프로젝트 투자자 및 지캐시 재단은 코인 존재의 첫 4년 동안 지캐시 블록 보상에서 20%를 받습니다. 이를 “창립자 보상”이라고 합니다.
현재 지캐시는 알트코인 시가 총액 목록에서 21위에 있으며, 그 자리를 꽤 오랫동안 유지해왔습니다. 이는 시가 총액 기준으로 세 번째로 높은 순위의 프라이버시코인이지만, 지캐시는 NSA 폭로자 에드워드 스노든과 같은 몇몇 주목할 만한 지지를 받았습니다.
프라이버시
비트코인의 코드베이스 포크로서, 지캐시는 비트코인과 매우 유사하게 작동합니다. 그러나 지캐시에는 매우 다른 두 가지 유형의 주소가 있습니다. 일반 주소는 “투명 주소” 또는 “t-주소”라고 불립니다(이들은 “t”로 시작합니다). ZEC가 t-주소에서 다른 t-주소로 이동할 때, 이는 비트코인 거래처럼 보이며 유사한 수준의 (비)프라이버시를 제공합니다.
하지만 또 다른 유형의 주소도 있습니다: “보호된 주소” 또는 “z-주소”입니다. z-주소(실제로는 “입력” 또는 “출력”)는 블록체인에서 실제로 보이지 않습니다: 이들은 암호화되어 있습니다. 또한 z-주소에 보유된 자금도 암호화되어 있습니다. zk-SNARK의 암호학적 마법은 누구나 z-주소와의 거래가 지캐시 프로토콜 규칙에 따라 유효하다는 것을 검증할 수 있게 합니다.
따라서 지캐시는 흥미로운 유형의 프라이버시 보호 거래를 허용합니다. 예를 들어 t-주소가 여러 z-주소로 돈을 보낼 경우, 돈이 실제로 어디로 가는지는 드러나지 않습니다. 동시에 z-주소가 t-주소로 돈을 보낼 경우, 돈이 어디에서 오는지는 드러나지 않습니다.
하지만 가장 흥미로운 점은, z-주소만이 거래에 관련될 경우 전체 거래가 사실상 암호화된다는 것입니다. “보호된 거래”라고 불리는 이 경우, ZEC가 어디에서 이동하는지, 어디로 이동하는지, 얼마나 이동하는지는 모두 완전히 숨겨집니다. 지불자와 수취인을 제외하고는 아무도 최소한의 메타데이터: 지불 시간과 수수료 외에는 아무것도 알 수 없습니다. (사용자는 “보기 키”를 통해 개인 정보를 공유할 수 있는 옵션이 있습니다.)
결과적으로, 이는 코인이 z-주소로 전송될 때 이들이 암호화 풀에서 “사라진다”는 것을 의미합니다. 이는 “보호된 풀”이라고도 불립니다. 기본적으로 모든 후속 보호된 거래는 (일부) 코인을 사용할 수 있으며, 그 후의 모든 보호된 거래도 다시 사용할 수 있습니다. 또는 그렇지 않을 수도 있습니다. 코인은 동일한 주소에 그대로 있을 수도 있고, t-주소로 다시 이동할 수도 있습니다.
사용자가 암호화된 풀을 통해 이동할 때, 지캐시는 거의 완벽한 프라이버시를 제공합니다.
약점
지캐시는 완벽한 프라이버시를 제공하지 않지만, 약점은 미세하고 경우에 따라 일시적입니다.
지캐시의 주요 약점은 현재 보호된 거래를 생성하는 것이 계산적으로 무겁다는 것입니다. 여러 기가바이트의 메모리(RAM)를 요구하며, 좋은 노트북에서 보호된 거래를 생성하는 데 1분 이상 걸릴 수 있으며, 전화기에서 보호된 거래를 생성하는 것은 사실상 불가능합니다. 이는 실제로 보호된 거래를 만드는 사용자가 적다는 것을 의미하며, 이는 다시 보호된 거래를 사용하는 사람들의 익명성 집합이 상대적으로 작아져 전체 프라이버시를 약화시킵니다.
그렇긴 하지만, “사플링”이라는 이름의 다가오는 지캐시 프로토콜 업그레이드(하드 포크)가 거의 완전히 무거운 거래 문제를 해결할 예정입니다. 지캐시 연구자들은 보호된 거래의 메모리 사용량을 40메가바이트로 줄이고 생성 시간을 몇 초로 단축하는 방법을 찾았습니다 — 여전히 일반 거래를 생성하는 것만큼 부드럽고 쉽지는 않지만, 모바일 사용자에게도 충분히 가능하게 됩니다. 따라서 향후 몇 년 동안 보호된 거래의 비율이 크게 증가할 수 있습니다. (그럼에도 불구하고 보호된 거래는 모네로의 링CT처럼 의무적이지 않을 것입니다. 따라서 비트코인의 프라이버시 기술과 마찬가지로 보호된 거래를 사용하는 것만으로도 의심스러운 것으로 간주될 수 있습니다.)
또 다른 약점은 비보호 거래가 경우에 따라 보호된 거래에 대한 정보를 유출할 수 있다는 것입니다. 특히 z-주소가 일종의 믹서로 사용될 경우, 금액이 투명 주소 간에 연결될 수 있습니다. 만약 정확히 1.65273911 ZEC가 t-주소에서 z-주소로 이동하고, 약간 후의 거래에서 1.65273911 ZEC에서 수수료를 뺀 금액이 z-주소에서 t-주소로 이동한다면, 이는 아마도 동일한 코인이라는 것을 알아내기 어렵지 않습니다. 단지 한 단계의 암호화로 “분리”된 것일 뿐입니다.
이 위협은 반박하기 그리 어렵지 않습니다: 사용자는 보호된 풀 안팎으로 동일한 금액으로 거래하지 않도록 주의하면 됩니다. 지캐시가 혼합 목적이 아닌 가치 저장 및 지불에 사용된다면, 이는 자연스럽게 발생해야 합니다.
신뢰
지캐시와 관련하여 더 큰 문제는 작동하기 위해 필요한 모든 신뢰입니다. 지캐시 사용자는 어느 정도 수학이 광고된 대로 작동한다고 믿어야 하며, 프로젝트를 시작한 사람들이 타협되지 않았고 속이지 않았다고 믿어야 합니다.
암호학자들은 일반적으로 오랫동안 존재해 온 암호학을 사용하기를 선호하며, 이를 통해 철저하게 동료 검토되고 현장에서 “전투 테스트”를 거칠 수 있습니다. 그러나 지캐시는 여러 새로운 가정을 가진 고급 수학에 의존합니다. 특히 zk-SNARK는 너무 혁신적이어서 상대적으로 작은 학문적 집단 외에는 그 작동 방식을 이해하는 사람이 거의 없습니다. (주코 자신도 그렇지 않으며, 이 기사의 저자도 마찬가지입니다.) 이는 지캐시의 암호학에 문제가 있다는 것을 의미하지는 않지만, 모든 것이 새롭다는 점은 일부 사람들이 원하는 만큼의 신뢰를 주지 않습니다.
이는 특히 위험한데, 기술적으로 지캐시는 “무조건적으로 안전”하지 않기 때문입니다. 최악의 경우, 지캐시 프로토콜의 약점이 공격자가 아무도 알아차리지 못하게 공중에서 돈을 만들어낼 수 있게 할 수 있습니다. (제로코인 프로토콜의 구현인 Zcoin은 이미 한 번 해킹당했으며, 모네로도 매우 가까웠습니다.)
또한 지캐시의 zk-SNARK는 “신뢰할 수 있는 설정”을 요구합니다. 출시 전과 프로젝트가 하드 포크를 배포할 때마다 비밀 숫자가 생성되어야 하며, 이 숫자의 파생물이 지캐시 프로토콜에서 사용됩니다.
지캐시 다자간 계산 의식이라고 불리는 이 숫자는 일반적으로 여러 사람이 여러 부분으로 생성합니다(첫 번째 의식은 6명, 두 번째 의식은 80명 이상의 두 그룹). 이들은 모두 의식 후 이 “암호학적 독성 폐기물”을 공개하지 않고 파괴해야 합니다. 만약 한 사람이라도 이를 성공적으로 수행하면 의식은 성공해야 합니다. (이전 의식은 시간이 지남에 따라 후속 의식에 의해 무효화될 수 있습니다.) 그러나 의식이 실패하면 — 모든 참가자가 공모하거나 누군가 비밀을 알아내면 — 그 사람이나 그룹은 다시 한 번 아무도 알아차리지 못하게 공중에서 돈을 만들어낼 수 있습니다.
신뢰할 수 있는 설정이 손상되더라도 지캐시의 프라이버시는 여전히 보호될 것이라고 오랫동안 믿어졌습니다. 그러나 암호학의 새로움을 증명하는 피터 토드가 첫 번째 다자간 계산 의식의 참가자이자 비평가로서, 의식에서 사용된 소프트웨어가 백도어가 있을 경우 이것이 유지되는지 의문을 제기했으며, 나중에 그렇지 않다는 것을 발견했습니다.*
지캐시의 신뢰할 수 있는 설정이 어떤 식으로든 손상되었다고 믿을 이유는 거의 없으며, 그것이 손상되었다는 증거도 없습니다. 그러나 비트코인의 비공식적인 슬로건 중 하나인 “신뢰하지 말고, 검증하라”를 떠올리면, 이는 궁극적으로 지캐시 사용자가 스스로 확인할 수 없는 것입니다.
*편집 노트: 이 기사에 대한 응답으로, 주코는 손상된 신뢰할 수 있는 설정이 지캐시 프라이버시를 위협할 수 있다는 주장을 반박했으며, 이는 피터 토드의 응답을 이끌어냈습니다.
지캐시 설정의 실패나 손상이 사용자 프라이버시를 위협할 수 있다는 생각은 잘못된 것입니다. https://t.co/Xyt81U9M98
— 주코🛡🦓🦓🦓 ⓩ (@zooko) 2018년 9월 25일
지캐시 설정의 실패나 손상이 사용자 프라이버시를 위협할 수 있다는 생각은 잘못된 것입니다. https://t.co/Xyt81U9M98
— 주코 (@zooko)
최근에 지캐시 신뢰할 수 있는 설정의 손상이 프라이버시를 손상시킬 수 없다는 주장이 있었습니다.
저는 zk-SNARKs 작업에 참여하는 암호학자 중 한 명에게 확인했으며, 이 주장은 잘못된 것입니다.
손상된 MPC는 확실히 프라이버시를 파괴할 수 있습니다; 주코는 이를 수정해야 합니다. pic.twitter.com/07tfMQQurL
— 피터 토드 (@peterktodd) 2018년 9월 27일
우리의 이해에 따르면, 신뢰할 수 있는 설정이 손상되면 지캐시 프라이버시가 실제로 파괴될 수 있지만, 적어도 기술적으로 신뢰할 수 있는 설정이 이러한 방식으로 손상되지 않았음을 확인할 수 있는 가능성은 있어야 합니다. 그러나 이 주제는 복잡하고 미묘합니다; 더 많은 논의와 세부 사항은 위의 트위터 스레드를 따라가세요.
이 기사는 정확성을 위해 업데이트되었습니다.
이 시리즈의 Dash, Monero, Verge 및 Mimblewimble에 대한 기사도 읽어보세요.