zk-snarks (korean)

in #ethereum6 years ago (edited)

안녕하세요, 이더리움 코드 보는 SigmoiD입니다.

영지식 증명을 활용해 보고 싶은 부분이 있어서 조금은 쉽게 쓰여진 이더리움 블로그의 내용을 읽어보고 있습니다.

전체 번역본은 http://bit.ly/zksnarks-korean 에서 문서로 받으실수 있습니다.

만약 σ1, σ2가 계정 머클트리의 이전/이후 상태에 대한 루트해시이고, s와r은 전송자와 수신자의 계정이며, ps, pr 은 s의 잔액이 이전상태σ1 에서 최소 v이상이며, v만큼의 잔액이 s에서 r로 옮겨졌을 경우 해시 σ1, σ2 에 대한 머클증명이라면 f(σ1, σ2, s, r, v, ps, pr, v) = 1이다.
만약 모든 입력이 알려졌다면 f의 연산 결과를 검증하는것은 쉽다. 때문에 우리는 f를 σ1, σ2가 만 공개적으로 알려졌고 나머지 (s, r, v, ps, pr, v)가 증거 문자열인 zkSNARK로 변환한다.
이제 영지식 속성을 통해 올바른 트렌젝션의 어떤 요구사항도 위반하지 않은 상태에서, σ1에서 σ2로 루트해시가 바뀌는것에 대한 증거를 증명자가 알고있는지 여부를 검증자가 확인 가능하다. 하지만 검증자는 누구에게 얼마를 보냈는지는 모른다.