제로 지식 증명(ZKP)이란?
제로 지식 증명 ZKP는 그 이면의 내용을 공개하지 않고도 어떤 것이 참임을 증명하는 방법입니다. 비밀번호를 입력하지 않고도 내가 알고 있음을 보여주는 것처럼, 출생일을 밝히지 않고도 21세 이상임을 확인하는 것처럼 생각해 보세요. 마술 같은 분위기, 수학적 뿌리.
ZKPs는 모든 것을 숨깁니다, 따라서 은밀한 행위를 위한 것처럼 보일 수 있습니다. 사실은 그렇지 않습니다. ZKP는 당신이 정의한 특정 진술을 증명하고, 검증자는 당신의 비밀을 보지 않고도 그것을 엄밀하게 확인할 수 있습니다.
제로 지식 증명(ZKP)이 작동하는 방식
친근한 예시를 통해 빠르게 살펴봅니다. 잔액을 공개하지 않고 거래에 필요한 자금이 있는지 증명하고 싶습니다.
- Step 1: 내 잔액이 최소 X 이상이라는 진술을 선택하고 랜덤성으로 숨겨진 데이터에 커밋합니다.
- Step 2: 숨겨진 데이터와 공개 정보로부터 수학적으로 타당한 증명을 만듭니다.
- Step 3: 비밀이 아닌 증명을 검증자에게 보냅니다.
- Step 4: 검증자가 확인을 수행하고 수락 또는 거부합니다. 잔액을 들여다보지 않습니다.
- Step 5: 수락되면 누군가가 나중에 다시 당신과 상의하지 않고도 같은 증명을 재확인할 수 있습니다.
핵심적으로는 엄격한 암호학에 기대합니다. 예, 수학이 증명을 뒷받침합니다.
제로 지식 증명(ZKP)이 중요한 이유
그렇다면 왜 관심을 가져야 할까요? 세 가지 빠른 관점.
- 장점: 필요한 것만 증명하고 나머지는 비공개로 유지합니다. 누수 감소, 위험 감소.
- 관점: 데이터 최소화 앱은 현대적 느낌을 주며, 롤렉스가 Reddit 스레드를 만난 듯합니다. 필요한 부분만 공유.
- 관련성: ZK는 롤업, 프라이빗 전송, 그리고 어떤 진지한 blockchain에서의 신원 확인에서 볼 수 있을 것입니다.
이 앱이 ZK를 사용한다고 들으면 두 가지를 묻습니다. 정확히 무엇이 증명되는지, 신뢰된 설정이 필요한지 여부. 또한 데이터 제어에 관심이 있다면 ZK는 증명 외의 강력한 개인 정보 보호 관행과 잘 어울립니다.
제로 지식 증명(ZKP)의 주요 특징
일반적인 표현으로 특별한 점은 무엇일까요.
- 개인적: 검증자는 비밀을 알지 못한 채 진술이 참임을 학습합니다.
- 간결: 증명은 작고 확인이 빠를 수 있으며, 체인 상에서도 마찬가지입니다.
- 빠름: 검증은 전체 계산을 재계산하는 것보다 가볍습니다.
- 결합 가능: 여러 증명을 쌓거나 많은 확인을 하나로 묶을 수 있습니다.
- 확장 가능: 무거운 작업을 검증자로부터 오프시키면서 정확성을 유지해 확장성을 돕습니다.
변형
다양한 작업에 맞는 다른 형태가 있습니다.
- SNARKs: 짧은 증명, 빠른 검증, 보통 신뢰된 설정이 필요합니다.
- STARKs: 신뢰된 설정이 없고, 더 큰 증명이며 양자 연구에 친숙합니다.
- Bulletproofs: 범위 확인에 특히 적합하며 프라이빗한 금액에서 흔히 사용됩니다.
- Sigma: 클래식한 대화형 스타일로 많은 강의에서 가르칩니다.
ZKP가 앱을 자체적으로 보안하지는 않습니다. 진술이 너무 약하거나 설정이 엉성하면 증명이 옳더라도 도움이 되지 않을 수 있습니다. 진술을 신중하게 설계하세요.
예시
한 도시가 투표를 진행하고 투표권자들이 자격이 있음을 증명하고 아직 투표하지 않았음을 증명하는 동안, 공공 합계에서 그들의 신원은 비공개로 남습니다.
재미있는 사실
ZK를 설명하기 위한 클래식한 파티 트릭은 두 개의 동일한 색의 구슬과 맹목 테스트로 어느 구슬이 어느 구슬인지 밝히지 않고도 구분할 수 있음을 보여줍니다. nerdy하지만 재미있습니다.
Wrap-Up
한 줄로 요약하면, 제로 지식 증명 ZKP는 과도한 공유 없이 증명하는 것이며, 따라서 그것을 보여주지 않고도 증명할 수 있다고 말할 수 있습니다.