다크코인에 쓰이는 영지식 증명은 무엇인가요?
다크코인이 가지고 있는 가장 큰 특성이 익명성 기능이라고 생각합니다.
익명성 기능이 영지식 증명이란 기술로 발현된다고 알고 있는데요
영지식 증명이 정확히 무엇인지 궁금합니다.
안녕하세요 천량아 입니다.
영지식증명 이란 거래 상대방에게 어떠한 정보도 제공하지 않은 채, 자신이 해당 정보를 가지고 있다는 사실을 증명하는 것을 말합니다.
영지식증명은 간단히 말해 증명자가 자신이 알고 있는 지식과 정보를 공개하지 않으면서, 그 지식을 알고 있다는 사실을 검증자에게 증명하는 시스템입니다.
여기서 증명자(prover)는 자신이 해당 지식을 알고 있음을 증명하는 주체이며, 검증자(verifier)는 증명자가 해당 지식을 알고 있다는 사실을 검증해주는 주체가됩니다.
영지식 증명의 이론적 기반은 대화형 증명 시스템(interactive proof system)이며,
대화형 증명 시스템은 증명자와 검증자 상호간 메시지를 교환하는 계산(computation)을 모델링한 추상적 컴퓨터 모델(abstract machine)을 말합니다.
대화형 증명 시스템에서 증명자는 전능하고 무제한의 계산 자원을 갖고 있지만 신뢰할 수 없는 존재인 반면, 검증자는 제한된 계산 자원을 갖고 있지만 신뢰할 수 있는 존재가 됩니다.
영지식 증명은 3가지 조건을 모두 만족해야 하는데요
완전성(completeness) : 어떤 조건이 참이라면 신뢰할 수 있는 검증자(honest verifier)는 신뢰할 수 있는 증명자(honest prover)에 의해 이 사실을 납득할 수 있어야 합니다.
건전성(soundness) : 어떤 조건이 거짓이면 신뢰할 수 없는 증명자(dishonest prover)는 거짓말을 통해 검증자에게 조건이 참임을 절대 납득시킬 수 없습니다.
영지식성(zero-knowledge) : 어떤 조건이 참일 때, 검증자는 이 조건이 참이라는 사실 이외의 아무 정보를 알 수 없습니다.