차례[숨다][보여 주다]
실생활과 디지털 세계에서 우리는 종종 다른 사람들에게 무언가를 증명하고 싶어합니다. 사무실 건물에 들어가기 전에 직원들은 일반적으로 내부에 들어가기 전에 일종의 ID를 제공합니다.
사용자가 Facebook 또는 Twitter와 같은 앱에 로그인을 시도할 때 이러한 서비스는 먼저 사용자에게 비밀번호로 로그인하도록 요청해야 하며 때때로 OTP(일회성 비밀번호)가 모바일 장치로 전송됩니다.
증거 제공의 단점은 종종 다른 유형의 정보를 제공한다는 것입니다. 웹사이트에 비밀번호를 제공한다는 것은 웹사이트 자체가 서버에 해시된 비밀번호 사본을 보관한다는 것을 의미합니다. 누군가가 사무실 건물의 직원 ID 스캐너를 해킹하면 모든 사람의 개인 키를 얻을 수 있습니다.
영지식 증명 또는 ZKP는 추가 정보를 제공하지 않고도 신원이나 거래를 검증하는 방법을 제공합니다. 암호화에 적용되기 때문에 ZKP는 다음과 같이 조정되었습니다. blockchains 안전하고 확장 가능한 검증 프로토콜을 생성합니다.
영지식 증명이란 무엇입니까?
영지식 증명은 1985년 MIT 연구원인 Silvio Micali, Charles Rackoff 및 Shafi Goldwasser가 논문에서 처음 제안했습니다. "대화형 증명 시스템의 지식 복잡성"
이 논문은 지식 복잡성의 개념을 소개했습니다. 증명자에서 검증자에게 전달된 증명에 대한 지식의 양을 나타냅니다. 영지식 증명은 당사자가 다른 정보를 공개하지 않고도 특정 진술이 다른 당사자에게 사실임을 증명할 수 있도록 하는 것을 목표로 합니다.
ZKP는 현재 인증 시스템의 안전한 대안으로 사용될 수 있으며 거래를 비공개로 유지하기 위해 블록체인 프로토콜에 추가할 수도 있습니다.
ZKP는 어떻게 작동합니까?
실제 사례
영지식 증명이 어떻게 작동하는지 설명하기 위해 ZKP의 추상적인 예를 살펴보겠습니다.
적록 색맹인 친구가 있다고 가정해 보겠습니다. 색상만 다른 두 개의 동일한 공이 있습니다. 하나는 빨간색이고 다른 하나는 녹색입니다. 친구에게는 똑같아 보이지만 색맹이 없는 사람은 쉽게 구별할 수 있습니다.
어떤 공이 빨간색인지 녹색인지 밝히지 않고 친구에게 다른 색임을 증명할 수 있습니까?
사실, 공의 색깔을 드러내지 않고 이것을 증명할 수 있는 방법이 있습니다. 먼저 친구가 두 공을 모두 등 뒤에 놓고 볼을 보여주고 다시 숨기라고 말해야 합니다. 다음으로, 친구에게 같은 공을 다시 보여줄지 아니면 다른 공으로 바꿀지 선택할 수 있다고 말합니다.
새 공이 표시될 때마다 그가 공을 바꿨는지 여부를 알 수 있습니다. 올바른 콜을 계속 추측하면 볼의 색상이 다를 가능성이 점점 높아집니다. 친구는 이제 어떤 공에 어떤 색이 있는지 말하지 않아도 공의 색이 다르다는 것을 확신해야 합니다.
실제 응용 프로그램
영지식 증명의 가장 실용적인 예는 두 가지 유형으로 나뉩니다.
첫째, 프로토콜을 설계할 때 ZKP를 사용할 수 있습니다. 우리는 다른 당사자가 프로토콜을 속이거나 이용하지 못하도록 할 수 있습니다. 둘째, ZKP를 식별에 사용할 수 있습니다.
예를 들어 ZKP를 사용하여 비밀번호 자체를 공개하지 않고도 웹 애플리케이션에 안전하게 로그인할 수 있습니다.
영지식 증명을 사용하는 방법에 대한 몇 가지 예를 살펴보겠습니다.
전자투표
ZKP의 일반적으로 논의되는 적용 중 하나는 온라인 투표에서 가능한 역할입니다. 사용자가 제안된 정책에 대해 투표할 수 있는 국민투표가 임박했다고 가정해 보겠습니다. 각 유자격 유권자는 투표용지에서 1 또는 0에 투표할 수 있습니다.
ZKP를 사용하여 유권자는 자신의 신원을 공개하지 않고 투표할 권리를 증명할 수 있습니다. 이렇게 하면 각 투표가 진정으로 익명으로 처리됩니다. 특정 사용자의 투표가 최종 투표 집계의 일부임을 증명하기 위해 추가 ZKP도 사용됩니다.
투표용지의 내용 자체와 관련하여 투표 시스템은 각 투표용지에 1 또는 0이 포함되어 있다는 영지식 증거를 생성할 수도 있습니다. 이는 투표용지 자체의 내용을 알 필요 없이 수행됩니다.
블록 체인 프라이버시
Bitcoin 및 Ethereum과 같은 블록체인은 기본적으로 개인 거래를 지원하지 않습니다. Bitcoin 지갑이 공개되어 있으면 누구나 다음과 같은 블록 탐색기로 이동할 수 있습니다. 블록스트림 지갑이 속한 모든 거래를 보려면
한편, 은행과 같은 서비스나 Cash App 또는 Venmo와 같은 결제 서비스를 사용하면 비공개 거래가 가능합니다. 그러나 이러한 편리함은 중앙 집중식 서비스에 귀하의 정보를 공개하는 대가를 치르게 합니다.
블록체인 프로토콜에 ZKP를 추가하여 익명성과 탈중앙화를 결합할 수 있습니다. ZCash와 같은 암호화폐는 ZKP를 사용하여 코인 보유자가 익명성을 유지할 수 있는 개인 거래를 생성합니다. 이러한 암호화폐 중 일부는 zk-SNARK로 알려진 ZKP 유형을 사용합니다.
이러한 ZKP는 증명자와 검증자 간의 상호 작용이 필요하지 않습니다.
영지식 롤업
ZK 롤업은 오프체인 트랜잭션을 최소한의 가스 비용으로 즉시 확인할 수 있는 확장성 솔루션입니다. 많은 수의 레이어 2 트랜잭션을 결합하여 레이어 1 프로토콜에 제출하는 방법입니다.
개인 정보를 제공하는 것 외에도 ZKP를 사용하면 복잡한 시스템을 확장할 수 있습니다. 블록체인 프로토콜은 ZKP를 사용하여 사용자가 올바른 거래를 정산했는지, 적절한 잔액이 있는지 등을 증명할 수 있습니다. 이러한 안전하면서도 확장 가능한 솔루션은 ZKP에서 오프체인으로 수행되는 수학적 증명을 통해서만 가능합니다.
Loopring과 같은 프로토콜은 영지식 증명을 사용하여 보안을 손상시키지 않고 오프체인 트랜잭션을 처리하는 데 도움을 줍니다.
영지식 증명의 이점
- ZKP는 PIN 또는 신분증과 같이 덜 안정적인 인증 형식을 대체합니다.
- ZKPS는 블록체인의 확장성을 높입니다.
- ZKP를 구현하려면 간단한 암호화 방법이 필요합니다.
- ZKPS를 사용하면 시스템에 불필요한 정보를 저장하지 않아도 되므로 시스템을 보다 안전하게 만들 수 있습니다.
결론
데이터 프라이버시는 이미 중앙 집중식 및 분산형 시스템 모두에서 중요한 문제입니다. 영지식 증명은 다른 당사자가 해당 거래나 신원을 공개하지 않고도 거래와 신원을 증명하거나 검증할 수 있는 방법을 제공합니다.
블록체인 기술이 더 널리 사용됨에 따라 검증을 안전하게 처리하기 위해 ZKP를 채택하는 것이 확장성 문제의 핵심이 될 것입니다.
댓글을 남겨주세요.