티스토리 뷰

기존의 블록체인들(Legacy Blockchains) (예를들어,비트코인, 도지코인, 이더리움 등)은 계속 증가하는 크기로 인해 전체 체인을 확인하는데 오랜 시간을 기다려야 한다는 문제에 직면해 있습니다. 이는 속도의 문제이기도 하지만, 어느정도의 사양이 받쳐주지 않는다면 블록체인 시스템을 사용하기 어렵다는 문제점도 있습니다.

그러나 Mina를 사용하면 참가자는 재귀적 영지식 증명(using recursive zero knowledge proofs) 또는 zk-SNARK를 사용하여 일반 장치에서도 네트워크 및 트랜잭션을 완전히 확인 할 수 있습니다.

zk-SNARK에서 zk는 Zero-Knowledge입니다. 지난 글에도 설명했었던 내용입니다. 

2022.10.20 - [Study/블록체인] - 영지식 증명(Zero-knowledge Proofs)- 직관적인 설명

 

영지식 증명(Zero-knowledge Proofs)- 직관적인 설명

영지식 증명이란? 영지식증명(Zero-knowledge Proofs: ZKPs)은 간단히 말하자면, 비밀정보를 직접 보여주지 않아도 내가 그 비밀정보를 가지고 있다는 것을 증명할 수 있는 강력한 암호기술 입니다. ZKP

15051015.tistory.com

지난번에는 3-color 퍼즐 게임을 이용하여 설명했었습니다. 이번에는 Waldo게임으로 개념을 알아가 보겠습니다.

"Waldo는 어디에 있을까요?" 게임과 비교하여 아래에 zk-SNARK를 알아보겠습니다. 그들이 무엇인지, 어떻게 작동하는지, 어떻게 개인 정보를 보호하는지 이해할 수 있을겁니다.

  Waldo게임은 큰 페이지안에 수많은 캐릭터들 사이에서 줄무늬 옷을 입은 캐릭터 'Waldo'를 사용자가 발견해야 하는 게임입니다.

여기에서 Waldo가 어디에 있는지 게임의 예를 사용하여 다른 사람들을 위해 게임을 망치지 않고 Waldo가 어디에 있는지 알고 있음을 증명하는 과정을 설명하며 zk-SNARK의 개념을 알아갑니다. ( Waldo의 위치를 말하지 않지만 내가 알고있음을 증명 )

일반적인 경우에는 Waldo를 찾으면 페이지에서 Waldo를 가리켜 찾았음을 증명할 것입니다. 이런 경우 친구(검증자)는 가리킨 곳에  Waldo가 있는것을 보고 판단할 것입니다. 하지만 이러한 증명은 친구(검증자)에게 Waldo가 어디에 있는지 보여줌으로써 정보를 노출합니다.

우리는 Waldo가 어디에 있는지 정확히 알고 있지만, 게임을 망치고 싶지 않다는 친구에게 Waldo를 가리키지 않고 Waldo가 어디에 있는지 알고 있음을 증명하고 싶습니다.

이 경우 증명을 구성하는 방법을 변경해야 합니다.

- 먼저, 페이지보다 훨씬 엄청나게 큰 종이가 필요합니다.

- 다음으로, 페이지 위에 엄청나게 큰 종이를 놓고 뒤에서 무작위로 페이지의 위치를 옮겨야 합니다.

- 우리는 페이지가 어디있고, Waldo가 어디에 있는지 알고 있기 때문에 큰 종이에 구멍을 내서 Waldo를 보여주지만, Waldo가 어디있는지에 대한 어떤 맥락도 보여주지 않을것입니다. 이것이 우리의 증거입니다.

- 마지막으로 친구인 검증자는 Waldo를 드러내는 구멍이 있는 큰 종이만 보고 우리의 증거를 검증 후 확신 할 것입니다. 큰 종이가 Waldo가 누구인지에 대한 정보만 다루고 있기 때문에, 친구는 Waldo 주변은 어떤지 모를 것 입니다.

우리가 제시한 증거는 Waldo의 위치에 대한 정보를 누출하지 않습니다. 검증자는 검증하지 않은 다른사람보다 Waldo를 빠른 시간에 찾을 순 없습니다. 우리의 증거는 오직 Waldo가 있다는 것만을 보여주었을 뿐입니다.

이처럼 관찰하는 그 누구에게도 정보를 누설하지 않기 때문에 이를 영지식증명 (Zero-Knowledge)라고 부릅니다.

2022.10.24 - [분류 전체보기] - zk-SNARK (Zero-Knowledge-SNARK)

댓글
최근에 올라온 글
최근에 달린 댓글
250x250