Crypto 2

[영지식 증명] Halo2 파헤치기

안녕하세요, 이전 시간에는 영지식 회로 (zero-knowledge circuit)을 만들 수 있는 프로그래밍 언어 Circom 의 사용 방법에 대하여 알아보았습니다. 이번 시간에는 PLONK 기반의 영지식 회로를 만들 수 있는 Halo2 언어에 대하여 살펴보도록 하겠습니다. 체감상 Halo2는 Circom 보다 진입장벽이 더 높은 것 같습니다. 이번 블로그 글의 목표는 코드에 사용되는 모든 component의 동작을 이해하는 것보다는 high level 에서 동작을 이해하는 것을 목표로 하겠습니다. halo2는 Rust언어를 기반으로 작동하기 때문에, 해당 코드 작성 전 Rust 설치가 우선시되어야 합니다. 조금 더 구체적으로, 이번 시간에는 Halo2 를 통해 피보나치 수열의 계산을 증명하는 방법에 ..

영지식증명 2024.01.30

[영지식 증명] Circom 파헤치기

Introduction 안녕하세요, 지난 시간까지는 영지식 증명 방법 중 하나인 PLONK에 대하여 알아보았습니다. 지난 시간까지 조금 이론적인 내용을 다루었다면, 이번 시간에는 영지식 증명을 위한 회로를 짜는 방법에 대하여 알아보도록 하겠습니다. Alice가 영지식 증명을 통해 어떤 주장을 증명하고 싶어합니다. Alice는 앞서 배운 PLONK를 직접 구현할 수도 있겠지만, 이러한 과정은 시간이 굉장히 많이 소요됩니다. 다행히도, 개발자들이 이미 쉽게 영지식 증명을 위한 회로를 짤 수 있는 방법을 마련해 두었습니다. Circom, Halo2, Noir 등이 이러한 예시입니다. 이번 시간에는 Circom 을 사용하는 방법에 대하여 알아보도록 하겠습니다. Installing Circom 자세한 circom..

영지식증명 2024.01.21