[Blcokchain] ZK - Cairo 로 Prime Number(소수) 증명하기
·
개발/BlockChain
ZK - Cairo 로 Prime Number(소수) 증명하기ZK- Cairo 시작해보기에 이어 2번째 cairo tutorial 이다.모든 코드는 깃허브에서 볼수 있습니다.1. 세팅scarb new prime_provercd prime_proverScarb.tomlexecutable 하게 만들어야 증명할수 있으므로 dependency 추가해준다.[package]name = "prime_prover"version = "0.1.0"edition = "2024_07"[cairo]enable-gas = false[dependencies]cairo_execute = "2.11.4"[[target.executable]]name = "main"function = "prime_prover::main"설명[cairo]..
[Blockchain] ZK - Cairo 시작해보기
·
개발/BlockChain
cairo 시작해보기모든 코드는 깃허브에서 볼수 있습니다.1. 설치starkup 설치 (Linux or MacOs)curl --proto '=https' --tlsv1.2 -sSf https://sh.starkup.dev | sh설치 후 확인scarb --versionsnforge --versionscarb 는 cairo 의 패키지 매니저라고 생각하면 된다.2. Hello Worldmkdir ./cairo_projectscd ./cairo_projectsscarb new hello_worldStarknet Foundry (default) 선택그러면 여러개의 파일이 설치된다.그중 Scarb.toml 파일에 들어가보면 아래와 같다.[package]name = "hello_world"version = "0.1..
[Blockchain] ZK - Noir 시작해보기
·
개발/BlockChain
ZK - Noir 시작해보기모든 코드는 깃허브에서 볼수 있습니다.서론영지식 증명 교육 프로그램을 듣게 되었는데 cairo, noir, halo2 중에 하나를 선택해 예시 코드를 짜보라는 과제를 받았다.셋다 처음들어보고 뭔지 모르지만 무지성 돌격하는편..gpt 한테 입문자에게 젤 만만한게 뭔지 물어보니 noir 라고 한다.그래서 일단 웹 언어에 익숙하기 때문에 예제 프로젝트를 따라해보며 이해해보려고 한다.1. Noir 설치curl -L https://raw.githubusercontent.com/noir-lang/noirup/main/install | bash % Total % Received % Xferd Average Speed Time Time Time Current ..
[BlockChain] ZK(Zero-Knowledge Proof)란 무엇인가?
·
개발/BlockChain
ZK(Zero-Knowledge Proof)란 무엇인가?모든 코드는 깃허브에서 볼 수 있습니다.서론최근 블록체인과 암호화폐 분야에서 자주 언급되는 Zero-Knowledge Proof에 대해 알아보려고 한다.ZK는 개인정보를 노출하지 않으면서도 특정 사실을 증명할 수 있는 혁신적인 암호학 기술이다. 이 글에서는 ZK의 기본 개념부터 실제 활용 사례까지 자세히 살펴보겠다.1. ZK(Zero-Knowledge Proof)란?1.1 기본 개념Zero-Knowledge Proof는 증명자(Prover)가 검증자(Verifier)에게 자신이 특정 정보를 알고 있다는 것을 증명할 때, 실제 정보를 노출하지 않고도 증명할 수 있는 암호학적 방법이다.1.2 ZK의 핵심 특징ZK는 다음 세 가지 조건을 만족해야 한다:완..
[CS] 대칭키 vs 비대칭키
·
개발/CS
대칭키 vs 비대칭키 암호화모든 코드는 깃허브에서 볼수 있습니다.암호화는 현대 디지털 보안의 핵심 기술입니다. 우리가 매일 사용하는 HTTPS, SSH, 디지털 서명 등 모든 것이 암호화 기술을 기반으로 합니다. 이 글에서는 암호화의 두 가지 주요 방식인 대칭키 암호화와 비대칭키 암호화에 대해 자세히 알아보겠습니다.암호화의 기본 개념암호화는 정보를 보호하기 위해 평문(Plaintext)을 암호문(Ciphertext)으로 변환하는 과정입니다.평문(Plaintext): 원본 데이터암호문(Ciphertext): 암호화된 데이터키(Key): 암호화와 복호화에 사용되는 비밀 정보암호화(Encryption): 평문을 암호문으로 변환복호화(Decryption): 암호문을 평문으로 변환대칭키 암호화 (Symmetric..
[Nextjs] 모노레포 (turborepo)
·
개발/React
Nextjs 모노레포 구성 (turborepo)모노레포로 구성하면 좋은점들이 많다.나는 코드를 다른 프로젝트와 공유할수 있다는 점이 가장 매력적으로 느낀다.turborepo로 모노레포를 구성해 보겠다.난 npm 10.9.0 환경으로 진행한다.npx create-turbo@latest프로젝트 이름 입력후 패키지매니저 선택후 끝!나는 설치하다가 실패 어쩌구 권한 어쩌구 떠서 아래 명령어 실행함sudo chown -R 501:20 [npm 경로]실행 후 apps 폴더에 docs 와 web 프로젝트가 보인다.아래 packages 폴더에는 공통으로 쓰는 코드들로 보인다.docs 프로젝트로 들어가 page.tsx 에서 Button을 import 해온 경로를 보면 알 수 있다.import { Button } from..