영지식 증명(Zero-Knowledge Proof)의 개념


오늘은 저에게 모욕감을 줬던
zcash랑 관련된 것을 알아봅시다

바로 zcash가 비싸진 이유
영지식 증명(Zero-Knowledge Proof)입니다.

영지식 증명이란..

이름 그대로 지식이 0 인데 증명은 할 수 있다는
기괴한 개념입니다.

이게 무슨 헛소리냐면

상대에 대해 어떤 것도 알수 없지만
상대가 가진 정보를 신뢰할 수 있는 방법을 말합니다.

좀더 구체적으로는 상대가 뭔가를 가졌을때..
예를들어 파란 사탕을 가졌다고 한다면
상대를 보지도 않고
파란 사탕을 가졌다고 확신할 수 있게 됩니다.


이 기술은 한국의 용한 점집에서 영감을 얻어서
파생된 암호학으로
암호화폐에선 사주풀이보다는
네트워크상의 신분확인 용도로 쓰이게 되었죠.

근데 앞서 설명한 공개키 기법도 그게 가능하긴 합니다.

개인키는 공개키로만 열리고
공개키는 개인키로만 열린다고 했는데요

정우성이 자신의 공개키를 공개하고
'나는 정우성이다' 라는 메세지를 개인키로 잠궈서
인터넷상에 뿌렸을때
정우성의 공개키로 열린다면
그 메세지는 정우성이 작성한 것이 증명되죠.

하지만 이때 한가지 프라이버시가 공개됩니다.

즉, 정우성의 공개키가 공개되는 것이죠.

공개키는 주소의 역할을 합니다.
그러므로 해당 주소에서 다른 주소로 가는 메세지들을
모조리 추적할 수가 있죠.
이제 빠돌,빠순이들은 정우성의 주소를 스토킹하며
메세지가 오가는 것을 주시할 것입니다.

그걸 방지키위해서 비트코인은 하나의 주소를
한번만 사용하고 버리는 것을 원칙으로 할 정도죠.

이런 공개키기법과 달리
진짜 암것도 보여주지 않으면서도
자신이 정우성임을 증명할 수 있는 것이
바로 영지식증명 기법이 되겠습니다.

이게 어떻게 가능한 것일까요.

검증자는 정우성이 있을거라 생각되는 동굴에
정우성 팬을 보냅니다.

잠시후 동굴에서 정우성 팬이 활짝 웃으며 나온다면

일단 확률이 높습니다.
다시 한명 더 보냅니다. 그리고 또 보내고..
이런식으로 10명을 보냈는데
모두가 활짝 웃으며 나온다면 정우성이 맞는거죠
원빈일수도 있지만

즉, 상대방이 가지고 있는 정보가 진짜인지
해당 정보로 증명가능성이 높은 것을 여러번 보내서
한번도 틀리지 않는 반응이 나오면
상대가 진짜 정보를 가졌다고 확률상 확신하는 것입니다.

이렇게 하면 정우성은 자신의 프라이버시를 아무것도
보여주지 않으면서 상대방에게
자신이 진짜라는 것을 알려주는게 가능하게 되죠. 🙂

H2
H3
H4
3 columns
2 columns
1 column
41 Comments