Zk-SNARKs: Difference between revisions

From CS Wiki
(새 문서: 분류:보안분류:알고리즘 ;Zero-Knowledge Succinct Non-Interactive Argument of Knowledge ;기존의 영지식 증명을 좀 더 간결하고(succinct) 비상호적...)
 
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[분류:보안]][[분류:알고리즘]]
[[분류:보안]][[분류:알고리즘]]
;Zero-Knowledge Succinct Non-Interactive Argument of Knowledge
;Zero-Knowledge Succinct Non-Interactive Argument of Knowledge
;기존의 [[영지식 증명]]을 좀 더 간결하고(succinct) 비상호적인 환경(non-interactive)에서 적용 가능하도록 변형한 기술
;기존의 [[영지식 증명]]을 좀 더 간결하고(Succinct) 비상호적인 환경(Non-Interactive)에서 적용 가능하도록 변형한 기술
* 지캐시(Zcash)에서 시작
* 지캐시(Zcash)에서 시작
== 특징 ==
* 영지식(ZKP)
* 간결성(Succinct): Non-interactive ZKP의 계산 과부하 해소
* 타원곡선(ECC): 비대칭키를 이용한 수학적 증명
== 절차 ==
* Keygen: Key Generator를 이용해 Key Pair (P<sub>k</sub>, V<sub>k</sub>)를 생성하는 과정
* Prove: Prover가 Proof 를 생성하는 과정
* Verify: Verifier가 Proof를 Verifying하는 과정
== 활용성 ==
* 확장성(Scalability): append-only 블록체인의 용량 감소 가능
* 익명성
== 활용 ==
* 지캐시: zk-SNARKs를 이용하여 익명 코인 실현
** Shielded Address와 Transparent Address 사용
* 코다: zk-SNARKs사용하여 원본 검증 생략, 확장성 도모
* 이더리움: 익명성, 확장성을 위해 zk-SNARKs 적용 연구 중
== 한계 ==
* 신뢰 기관(Trusted Party)의 존재
* 증명 생성을 위한 부하
* 양자컴퓨팅에 취약

Latest revision as of 10:03, 24 November 2019

Zero-Knowledge Succinct Non-Interactive Argument of Knowledge
기존의 영지식 증명을 좀 더 간결하고(Succinct) 비상호적인 환경(Non-Interactive)에서 적용 가능하도록 변형한 기술
  • 지캐시(Zcash)에서 시작

특징[edit | edit source]

  • 영지식(ZKP)
  • 간결성(Succinct): Non-interactive ZKP의 계산 과부하 해소
  • 타원곡선(ECC): 비대칭키를 이용한 수학적 증명

절차[edit | edit source]

  • Keygen: Key Generator를 이용해 Key Pair (Pk, Vk)를 생성하는 과정
  • Prove: Prover가 Proof 를 생성하는 과정
  • Verify: Verifier가 Proof를 Verifying하는 과정

활용성[edit | edit source]

  • 확장성(Scalability): append-only 블록체인의 용량 감소 가능
  • 익명성

활용[edit | edit source]

  • 지캐시: zk-SNARKs를 이용하여 익명 코인 실현
    • Shielded Address와 Transparent Address 사용
  • 코다: zk-SNARKs사용하여 원본 검증 생략, 확장성 도모
  • 이더리움: 익명성, 확장성을 위해 zk-SNARKs 적용 연구 중

한계[edit | edit source]

  • 신뢰 기관(Trusted Party)의 존재
  • 증명 생성을 위한 부하
  • 양자컴퓨팅에 취약