Zero-Knowledge Proof란 무엇인가요?

Advanced
8m

암호학에서, 제로 지식 증명은 한 당사자(증명자)가 다른 당사자(확인자)에게 어떤 주장이 사실임을 증명할 때 그 주장이 사실임을 외에는 어떤 정보도 공개하지 않는 방법입니다.

일상 생활에서의 증명은 제로 지식이 아닙니다. 예를 들어, 구매자가 주류를 구매하기 위해 만 21세가 되었다는 것을 증명해야 할 때 정부 신분증에 태어난 날짜가 나오도록 보여줍니다. 그러나 이 방법은 이름과 주소와 같은 다른 관련 없는 민감한 정보도 한꺼번에 공개되기 때문에 결함이 있습니다.

제로 지식 증명은 주장이나 사실을 어떻게 확인했는지와 같은 세부 정보를 증명자가 공개할 필요가 없기 때문에 우수합니다. 예를 들어 앨리스가 색을 구분할 수 없어 파란 공과 빨간 공을 구별할 수 없다고 합시다. 앨리스는 두 공이 같다고 믿지만, 밥은 제로 지식 방식으로 앨리스에게 두 공이 다르다고 증명하고 싶어합니다. 밥은 다음의 메커니즘을 활용할 수 있습니다.

밥은 앨리스에게 두 공을 들고 손을 뒷면으로 하도록 요청하고, 파란 공을 왼손에, 빨간 공을 오른손에 넣도록 합니다. 앨리스는 공을 손 사이에서 바꿔도 되는 선택권이 있습니다. 그 후 앨리스는 다시 밥에게 공을 보여주고, 밥은 앨리스가 무엇을 했는지 말해줍니다.

앨리스: 공을 바꿨나요?

밥: 네, 바꿨어요.

앨리스: 공을 바꿨나요?

밥: 아니요, 이전과 같습니다.

앨리스와 밥은 앨리스가 그 두 공이 실제로 다르다고 확신할 때까지 이 프로세스를 반복합니다. 그렇지 않으면 밥은 앨리스가 뒷면에 무엇을 했는지 꾸준하게 말하지 못할 것입니다. 이 프로세스에서 밥은 앨리스에게 어떤 공이 파란색인지 알려주거나 그것을 어떻게 배웠는지 알 필요가 없습니다.

위의 예는 상호 작용적입니다. 이해하기 쉽지만, 실용적인 솔루션으로 구현하기 어렵기 때문에 두 당사자가 증명이 확립되기 전에 여러 번 통신해야 합니다.

연구자들은 문제를 해결하기 위해 대화형 제로 지식 증명을 발명했습니다. 비대화형 증명은 증명자와 확인자 사이에서 한 번의 통신 라운드만 필요합니다. 증명자는 비밀 정보를 특별한 알고리즘에 입력하여 제로 지식 증명을 계산합니다. 확인자는 그것을 확인하여 비밀 정보의 유효성을 보장할 수 있습니다. 비대화형 증명의 또 다른 이점은 증명이 생성되면 누구나 확인할 수 있다는 것입니다.

블록체인 공간에서는 제로 지식 증명을 대부분 롤업 시나리오에 적용하여, 계산을 외부에 위탁하면서도 검증 가능한 결과를 유지할 수 있습니다. 오프 체인 컴퓨터는 트랜잭션을 실행한 다음 해당 트랜잭션이 올바르게 실행되었음을 증명과 함께 결과를 제출합니다. 이로써 온체인 네트워크 혼잡을 줄이고 트랜잭션 속도를 향상시킵니다.

제로 지식 증명을 통해 메인 블록체인은 오프체인 트랜잭션을 재실행하지 않고도 유효성을 검증할 수 있습니다. 제로 지식 증명은 기술적으로 우수하지만, 관련 연구는 아직 초기 단계입니다. 적어도 몇 년은 지나야 제로 지식 증명 기술이 실용적으로 채택될 것으로 예상됩니다.

다음 항목에도 관심이 있을지도 모릅니다: