본문 바로가기
노마드 노트

이더리움 영지식증명 조크라테스 정리 해보았다.

by 이영훈 태천인(이영훈) 2021. 6. 14.
728x90

영지식란 처음 에는 무슨 의미도 잘 몰라 해시 넷 쉽게 풀이하자면 익명성을 위한 것을 전문 용어로 영지식이라고 말한다.

조금 더 임팩트 있는 설명은 N번방에서 이용했던 코인이 모네로 코인 기술적으로는 매운 조은 기술인 블록체인이다.

 

칼은 누가 잡느냐에 따라 요리사가 잡으면 맛있는 요리가 되고 나쁜 사람이 잡으면 살인자가 되듯이 

코인이 나쁘게 쓰였을 뿐 기술은 꼭 필요한 요건을 가진 코인들이었다.

 

위키백과 가져온 문장

영지식 증명(零知識 證明, 영어: zero-knowledge proof) 또는 제로 널리지 프로토콜(영어: zero-knowledge protocol)은 암호학에서 누군가가 상대방에게 어떤 사항(statement)이 참이라는 것을 증명할 때, 그 문장의 참 거짓 여부를 제외한 어떤 것도 노출되지 않는 interactive 한 절차를 뜻한다.

이더리움 공부할 겸 영지식 알아보기 위해 조크라테스로 공부해본 거 정리해보겠다.

 

Introduction - ZoKrates

 

Introduction - ZoKrates

ZoKrates is a toolbox for zkSNARKs on Ethereum. It helps you use verifiable computation in your DApp, from the specification of your program in a high level language to generating proofs of computation to verifying those proofs in Solidity. Zero-knowledge

zokrates.github.io

 

조크라테스란

이더리움 블록체인에 검증자 역할을 하는 스마트 컨트랙트 생성 지원하며 증명하고자 하는 문제의 풀이에 대한 증거를 만들어 준다.

스도쿠와 같은 다양한 문제를 정의하기 위해 조크라테스 언어라는 프로그래밍 언어를 사용한다.

 

Remix - Ethereum IDE

 

Remix - Ethereum IDE

 

remix.ethereum.org

 

리믹스 이더리움 IDE사이트를 들어가서 창을 열어준다.

 

플러그인 아이콘을 눌러준 후 zok검색만 눌러도 조크라테스 리스트가 보일 것이다. 활성화시켜주자

내가 만든 코드를 조크라테스 아이콘 클릭 후  컴파일 버튼 클릭하게 되면 성공적으로 메시지 나오게 될 것이다.

 

컴퓨트를 클릭하게 되면 몇 가지 입력창이 나타나는데 숫자로 입력해본다.

숫자로 입력한 다음 컴파일 눌러주게 된다면 1이 나오는데 정상적인 결과 값이다.

빨간색 동그라미 표시된 것을 누른 후 창이 두 번 정도 나오는데 승인 눌러주면 된다.

 

위트니스가 나타나게 되는데 증거는 아니고 연산된 결과 값이 보인 것뿐이다.

그다음 셋업을 눌러보면 런셋업 버튼이 있는 클릭 해보자

익스 폴트 베리 파이 눌러준 후 익스포트 누르게 2번째 아이콘 눌러준다.

2번째 아이콘 눌러주게 되면 창 두 번 정도 뜨는데 역시나 승인 눌러준다.

 

verifier.sol 파일이 자동으로 생성되는 것을 볼 수 있다.

1. 클릭한후 2번을 클릭해준다.

1번을 클릭한후 2번 대로 버전을 맞춰주세요 그런 다음 컴파일 버튼 클릭

결과 값이 참인걸 볼 수 있다.

728x90

댓글0