본문 바로가기

Blockchain/ZKP

(3)
zokrates library 간단 사용기(template,signal) 들어가기에 앞서, zokrates란? zokrates는 Python기반의 ZKP 라이브러리로, privacy 보호와 더불어 컨트랙트의 보안을 강화하는데 사용된다. circom이라는 언어를 사용하여 작성된 스마트 컨트랙트를 처리한다. 1) remix에서 zokrates 라이브러리 설치 ㄴ오늘 remix에서 라이브러리를 처음 설치해보았다. 2) 예제 코드 python처럼 def 함수를 사용했다. zokrates에서는 field를 사용하여 circuit을 설계하고 계산을 수행한다. field는 circuit의 입력 출력 중간값으로 사용될 수 있다. def main(field a, field b) -> field { field result = a + b; return result; } a,b가 field값이며 ..
zkSNARKs란? (circom-zkSNARKs의 관계) * 해당 강의는 https://learn.0xparc.org/materials/circom/learning-group-1/circom-1 을 듣고 정리한 글입니다. Circom Workshop 1 | ZK Learning Resources Description learn.0xparc.org 함수 입력값 : x1,x2,x3,x4 OUT = f(x) = (x1+x2) * x3 - x4 여기서 zkSNARKs는 x1,x2,x3,x4 라는 비밀을 알고 있는데, OUT의 연산 결과에 필요한 값들이다. 위에서 튜플()의 값이 정확히 무엇인지 몰라도 결과값을 증명할 수 있다. 위에서 function의 input이 x1,x2,x3,x4 라고했고, OUT의 식이 OUT = f(x) = (x1+x2) * x3 - x4 로..
ZKP에 필요한 라이브러리 설치 (circom) ZKP 개발에 필요한 라이브러리 설치가 있었다. https://docs.circom.io/getting-started/installation/#important-deprecation-note 1) rustup 설치 curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh 설치 circom은 Rust로 쓰여진 ZKP 라이브러리이다. rust 언어가 컴파일 되려면 버전 관리 등의 관리 역할을 해주는 rustup 을 설치해주어야 한다고 한다. 위의 명령어는 macOS와 Linux에서 동작한다. +) 또한 circom 라이브러리를 사용하기 위해서는 node.js가 설치되어 있어야 하며 npm, yarn이 사용 가능해야 한다. rustup을 설치하게 되면 자..