ZK-SNARK 탐색 – 1부: “zk-SNARK 뒤에 숨은 수학과 코딩에 대한 지식”

이 기사는 기계로 번역되었습니다
원문 표시

열기

블록체인의 맥락에서 zk-SNARK 는 개인정보 보호를 강화하고 암호화 거래의 투명성을 보장하는 고급 보안 기술입니다.

Zk-SNARK를 사용 하면 해당 지식을 공개하지 않고도 지식을 증명할 수 있어 사용자 정보를 절대적으로 보호할 수 있습니다.

선도적인 암호화폐인 Zcash는 zk-SNARK 기술을 사용하여 거래를 완전히 익명화하여 높은 보안을 보장하고 사용자의 개인 정보를 공개하지 않습니다. 이를 통해 온라인 거래 시 사용자의 안전성과 신뢰성이 향상됩니다.

"ZK-SNARK 탐구" 연구 시리즈 1부에서는 zk-SNARK에 대한 중요한 세부 사항과 이 기술의 기본 알고리즘 및 암호화를 여러분이 이해하기 쉽게 자세히 알아볼 것입니다.

zk-SNARK의 개념 및 작용 메커니즘

zk-SNARK의 기본

Zk-SNARK는 Zero-Knowledge Succinct Non-Interactive Argument of Knowledge의 약자로 대략 " 비지식 공개에 대한 간결하고 비대화형 증명 "으로 번역됩니다(이해하기 쉽도록 그렇게 번역했습니다). 이는 한 당사자( 증명자 )가 특정 정보(예: 비밀 키)를 보유하고 있음을 해당 정보를 공개하지 않고 다른 당사자( 검증자 )와 협력하지 않고도 증명할 수 있도록 하는 증명 구성입니다.

현재 zk-SNARK는 가장 널리 사용되는 증명 시스템입니다.

우리는 "zk-SNARK" 라는 약어를 더 작은 구성 요소로 나누어 그 의미를 가장 명확하게 조사할 것입니다.

  • “영지식(Zero-Knowledge)” : 입력된 정보가 숨겨지고 검증자에게 공개되지 않음을 의미합니다. 즉, 검증자는 해당 지식에 대해 아무것도 알 수 없고 그 유효성만 알 수 있습니다.
  • “Succinct”(Short) : 생성된 증명의 크기가 수백 바이트 정도로 작아서 빠르게 검증된다는 의미입니다. 이것이 SNARK가 가져오는 첫 번째 이점입니다.
  • “비대화형” : 이는 양측( 증명자검증자 ) 모두 SNARK의 두 번째 이점입니다. 증명은 앞뒤로 통신할 필요 없이 증명자가 검증자에게 전달하는 단일 메시지로 구성됩니다.
  • "지식 논증" : 검증자가 증명을 수락하면 증명자는 검증 중인 주장과 관련된 비밀을 실제로 알아야 함을 의미하는 기술 용어입니다(단지 검증자에게 진술이 사실이라고 설득하는 대신).

행동 메커니즘

수학적으로 zk-SNARK 에는 3가지 알고리즘이 포함되어 있습니다.

  • 키 생성(KG) : 이는 증명용 키( pk )와 검증용 키( vk ) 쌍을 생성하는 키 생성 알고리즘입니다. 키 생성 알고리즘은 보안 매개변수 λ 와 프로그램 C를 입력으로 사용하고 키를 출력합니다. 이 단계를 신뢰할 수 있는 설정 단계라고도 합니다. 아래 섹션에서 자세한 내용을 살펴보겠습니다. (pk, vk) = KG(λ, C)
  • 증명(P): 이 증명 알고리즘은 증명 키 pk , 진술 x 및 증인 w 를 입력으로 사용하여 증명합니다. 출력은 PRF 증명입니다. prf = P(pk, x, w)
  • 검증(V) : 검증 알고리즘은 검증 키 vk , 명령문 x 및 증명 prf 를 입력으로 사용합니다. 출력은 수락 또는 거부입니다.

검증결과 = V(vk, x, prf)

ZK-SNARK의 이점

  • ZK-SNARK는 특히 다양한 애플리케이션에서 익명성, 보안, 확장성 및 거래 효율성을 향상시키는 데 있어 많은 중요한 이점을 제공합니다. 소프트웨어 애플리케이션의 2가지 주요 이점은 다음과 같습니다.
    1. 개인 정보 보호 : “ 영지식 ” 속성을 사용하면 계산과 관련된 민감한 데이터를 숨기면서도 진술의 정확성을 입증할 수 있습니다. 즉, zk-snark는 개인 정보를 공개하지 않고 거래를 수행하며 거래 정보를 익명으로 안전하게 유지합니다. 이는 사용자가 거래 금액, 출처 또는 목적지를 공개하지 않고 자금을 보낼 수 있는 Zcash와 같은 암호화폐에 유용합니다.
    2. 확장성 : 작은 증명 크기짧은 검증 시간 덕분에 검증자는 계산을 다시 실행할 필요 없이 계산이 충실하게 수행되었는지 빠르게 알 수 있어 복잡한 계산을 검증하는 데 필요한 시간과 리소스가 줄어들어 시스템 성능과 신뢰성이 향상됩니다. 비용을 절감하고 확장성을 높이는 데도 도움이 됩니다.

신뢰할 수 있는 설립식

신뢰 설정 프로세스는 나중에 암호화 프로토콜이 배포될 때마다 사용되는 필수 데이터 세트를 생성하기 위해 한 번만 수행되는 중요한 단계입니다.

ZK-SNARK에서는 증명 및 확인 키를 생성하기 위해 이 신뢰 설정 단계가 필요합니다. 그런 다음 이러한 키는 공개적으로 제공되어 참가자가 이를 사용하여 증거를 생성하고 확인할 수 있습니다.

각각의 새로운 C 프로그램에 대해 새로운 신뢰할 수 있는 설정을 수행해야 합니다. 이는 해당 C 프로그램의 세부 사항에 따라 달라지기 때문입니다. 설정 중에 KG 키 생성 프로세스는 비밀 람다와 C 프로그램을 입력으로 사용하여 공개 키(pk)와 확인 키(vk)를 생성합니다.

(pk, vk) = KG(λ, C)

따라서 안정적인 설정 프로세스는 표준이 아니며 새 프로그램마다 별도로 수행해야 합니다.

유독 폐기물 (유독 폐기물)

안정적인 설정을 위해서는 lamda 라는 비밀 매개변수가 필요합니다. 종종 " 독성 폐기물 "이라고 불리는 이 매개변수는 때때로 zk-SNARK를 실제 응용에 적용하기 어렵게 만듭니다.

이 매개변수를 보유한 사람은 누구나 가짜 증거를 만들 수 있는 능력을 갖고 있기 때문입니다. 특히 람다 보유자는 공개 입력 x가 있는 모든 C 프로그램에 대해 fakeProof 라는 가짜 증명을 생성할 수 있습니다.

V(vk,x,fakeProof)=true

비밀 증인 w를 알지 못한 채 사실로 평가됩니다. 이것은 비참한 일입니다!

zk-SNARK 에 대한 공개 매개변수를 생성하는 가장 효율적인 방법은 ECDSA 키 쌍과 유사한 공개 및 개인 키 쌍을 생성한 다음 개인 키를 파기하는 것입니다. 그러나 문제는 이 쪽이 실제로 그러한 " 독성 폐기물"을 제거했다고 어떻게 확신할 수 있는가 하는 것입니다.

따라서 이 문제를 해결하기 위해 MPC(Multi-Party Computation)가 적용됩니다.

MPC 는 어느 당사자도 상대방의 기밀 데이터에 액세스하지 않고도 여러 당사자가 분산 방식으로 계산에 참여할 수 있도록 하는 암호화 프로토콜입니다.

각 신뢰 설정 프로세스에서는 공개 키 (pk) 및 확인 키 (vk) 와 같은 필수 암호화 구성 요소를 생성하는 프로세스에 여러 당사자가 공동으로 참여합니다. 각 당사자는 이 프로세스에 기밀 데이터의 일부를 제공합니다.

이 과정을 거쳐 각 당사자의 최종 목표는 유독성 폐기물을 완전히 제거하는 것입니다. 이 경우 신뢰성 가정은 n명의 참가자 중 한 명이 정직하다면 최종 결과는 안전하다는 것입니다.

신뢰 설정 중에 n 개의 당사자 각각은 증명 및 확인 키를 공동으로 생성하기 위해 비밀 람다를 가져옵니다.

이 설정이 실패하려면 n개 당사자 모두가 나쁜 의도를 갖고 비밀을 서로 공유해야 합니다. 그러나 당사자 중 한 쪽이 자신의 비밀을 공개하지 않기로 결정하는 한 신뢰 구축 과정은 성공적으로 진행되므로 허위 증거 생성이 불가능합니다.

zk-snark의 수학과 코딩

수학적 기초

그룹 이론

ZK-SNARK는 특히 이중선형 쌍 및 관련 알고리즘을 사용할 때 타원 곡선 및 기타 그룹에 대한 계산을 수행할 때 그룹 이론을 활용합니다.

간단히 말해서, 그룹은 이진 연산과 결합된 요소 {a, b, c, …}의 집합이며 여기서는 "•"로 표시됩니다.

집합과 연산이 다음 속성을 만족하는 경우 그룹이라고 합니다.

  • 종결: 그룹 G의 모든 a와 b에 대해 연산 a · b도 G에 속해야 합니다.
  • 연관성: G의 모든 a, b, c에 대해 연산(a • b) • c는 a • (b • c)와 같아야 합니다.
  • 항등 요소: G의 모든 요소 a에 대해 연산 e • a 및 a • e가 a와 동일하도록 G에 요소 e가 있어야 합니다. 이 요소는 독특합니다.
  • 역원소: G의 모든 요소 a에 대해 G의 요소 b(종종 a^-1이라고 함)가 있어야 하며, 연산 a • b 및 b • a는 단위 e와 동일합니다.
하위 그룹

그룹에 있는 요소의 하위 집합이 그룹의 모든 속성을 따르는 경우 해당 집합을 원래 그룹의 하위 그룹이라고 합니다.

전지

필드는 요소 집합이 덧셈과 곱셈이라는 두 가지 기본 연산을 수행하는 특수 대수 구조입니다. 각 필드는 일반적인 속성을 정의하고 보장하는 일련의 기본 공리를 준수해야 합니다.

다음은 필드가 충족해야 하는 공리입니다. 여기서 a, b, c는 필드 F의 요소입니다.

  1. 덧셈과 곱셈의 결합적 성질 : a + (b + c)= (a + b) + c anda · (b · c) = (a · b) · c
  2. 덧셈과 곱셈의 교환법칙 : a + b = b + a 및 a · b = b · a
  3. 덧셈과 곱셈 방정식 : F에는 a + 0 = a 및 a · 1 = a라는 두 개의 서로 다른 요소 0과 1이 있습니다.
  4. 덧셈 역원 : F의 모든 a에 대해 F에는 −a로 표시된 요소가 존재하며, 이를 a + (−a) = 0이 되는 a의 덧셈 역원이라고 합니다.
  5. 곱셈의 역수 : F의 모든 a≠ 0에 대해 F에는 a^ -1로 표시되는 요소가 존재합니다. 이를 a · a^ -1 = 1이 되는 a의 곱셈 역이라고 합니다.
  6. 덧셈에 관한 곱셈의 분포 : a · (b + c) = (a · b) + (a · c)

필드의 예로는 덧셈과 곱셈이 포함된 실수 세트뿐만 아니라 덧셈과 곱셈이 모두 정의되는 소수 모듈로의 정수가 포함됩니다.

유한 필드

ZK-SNARK 에서 모든 연산은 유한 필드에서 수행되며, 여기서 값과 연산은 소수 모듈로 또는 소수 다항식을 기반으로 정의됩니다.

유한 필드(finite field)는 유한한 수의 요소를 갖는 필드입니다(예: p가 소수인 모듈로 p의 정수 집합).

유한 필드에 대한 필드의 순서라고 하는 필드의 요소 수는 다음과 같습니다.

  • 일부 소수(소수 필드)
  • 또는 소수의 거듭제곱(확장 필드)

단순 소수 필드에서 요소는 0 부터 p-1까지의 정수로 표현될 수 있습니다. 여기서 Zp = {0, 1, …, p-1}입니다.

곱셈 그룹 Zp* 라고 하는 Zp 의 확장은 p 와 서로소인 요소, 즉 Zp* = {1, …, p-1}로 구성됩니다.

유한 필드 생성기

모든 유한 필드에는 지수화를 사용하여 그룹의 모든 요소를 생성할 수 있는 생성기 라는 요소가 항상 존재합니다.

예를 들어 소수 필드 Z5 = {0, 1, 2, 3, 4} 의 그룹 Z5*를 고려하고 Z5* = {1, 2, 3, 4}를 생각해 보세요. 그룹 Z5* 에서 곱셈은 이진 연산이고 곱셈은 모듈로 5로 수행됩니다. 예를 들어, 3 × 4를 곱하면 12 mod 5 = 2이므로 12가 아니라 2가 됩니다.

그룹 Z5* 는 순환적이며 다음과 같은 이유로 생성기 2와 3을 갖습니다.

  • 생성기 2를 사용하면 다음과 같은 이점이 있습니다.

2^0 = 1,

2^1 = 2,

2^2 = 4,

2^3 = 3,

2^4 = 1(반복 주기)

  • 생성기 3을 사용하면 다음과 같은 이점이 있습니다.

3^0 = 1,

3^1 = 3,

3^2 = 4,

3^3 = 2,

3^4 = 1(반복 주기)

이러한 속성으로 인해 Z5* 는 암호화 작업을 위한 강력한 그룹이 되며 일반적으로 ZK-SNARK 와 같은 암호화 알고리즘에 사용됩니다.

그룹 동형

동형은 그룹이나 필드와 같은 두 개의 유사한 대수 구조 간의 매핑이며 해당 구조 내의 연산을 보존합니다.

구체적으로, 동형은 두 그룹이 곱셈이나 덧셈과 같은 동일한 이진 연산을 가질 때 그룹 A 에서 그룹 Bf를 매핑하는 것입니다. 이 매핑은 작업을 유지합니다. 즉, 다음을 의미합니다.

⋅가 그룹 AB 의 구조에서 이항 연산인 경우 그룹 A 의 모든 요소 ab 에 대해 매핑 f는 다음 조건을 충족합니다.

f ( x ⋅ y )= f ( x )⋅ f ( y )

이렇게 하면 f를 통해 그룹 B 에 매핑된 후 그룹 A 의 요소에 적용된 작업 결과가 그룹 B 에서 직접 수행된 작업과 동일하게 유지됩니다.

동형은 쌍선형 쌍 의 속성을 처리하는 데 기본이 되며, zk-SNARK 에서 증명을 생성하고 검증하는 프로세스를 더욱 효율적으로 만듭니다.

다항식

다항식은 문제가 다항식을 통해 표현되고 다항식 평가 및 투입을 통해 해결되는 QAP(2차 산술 프로그램) 구축의 핵심 구성 요소입니다.

다항식은 음이 아닌 정수 지수를 사용하여 덧셈, 곱셈, 지수화를 사용하여 변수와 상수로 구성된 수학적 표현입니다.

예를 들어 다항식 5x² + 2x + 8 이 대표적인 예입니다.

다항식을 고려하면 숫자 사이에 무한한 수의 서로 다른 방정식을 나타낼 수 있습니다. 예를 들어, 방정식 A(x) + B(x) = C(x) 가 참이면 다음과 같이 모든 x 값에 대해서도 참이 됩니다.

A(0) + B(0) = C(0)

A(1) + B(1) = C(1)

A(2) + B(2) = C(2)

A(3) + B(3) = C(3)

등.

다항식의 차수는 다항식에서 변수의 가장 큰 거듭제곱에 의해 결정됩니다. 예를 들어 다항식 6x⁴ + 2x³ + 3은 변수 x의 최고 거듭제곱이 4이기 때문에 4차를 갖습니다.

암호화

해시 함수

해시 함수는 암호화 프로토콜에서 "약속"을 생성하는 데 널리 사용되며, 감지 없이는 데이터를 수정할 수 없도록 보장합니다.

해시 함수 는 입력 데이터의 가변 길이 문자열을 해시 값이라고 하는 고정 길이 출력 문자열로 변환하는 알고리즘 또는 수학 함수입니다.

해시함수 표현식은 다음과 같이 기술할 수 있다.

f (m)= H

여기서 f 는 해시 함수, m 은 메시지, H는 결과 해시 값입니다.

해시 함수에는 많은 중요한 속성이 있어 많은 암호화 응용 프로그램에서 매우 유용합니다. 해당 속성은 다음과 같습니다.

  • 사전 이미지 저항성 : 수학적으로 해시 값에서 원본 메시지를 검색하는 것은 매우 어렵습니다.
  • 두 번째 사전 이미지 저항 : 특정 입력 메시지와 해당 해시 값이 주어지면 동일한 해시 값을 생성하는 다른 메시지를 찾기가 어렵습니다.
  • 충돌 저항성 : 동일한 해시 값을 생성하는 두 개의 서로 다른 메시지를 찾는 것은 어렵습니다.

좋은 해시 함수의 매우 바람직한 속성은 눈사태 효과 입니다 . 이는 입력의 작은 변화가 출력의 큰 변화를 유발하여 출력이 무작위적이고 구별할 수 없게 만드는 특성입니다.

암호화

간단히 말해서 암호화는 입력 메시지( 일반 텍스트 )를 무작위 출력( 암호 텍스트 )으로 변환하여 승인된 사람만 해당 정보를 해독하고 이해할 수 있도록 하는 프로세스입니다. 암호화는 발신자와 수신자 모두 정보를 암호화하고 해독하는 데 사용하는 수학적 값 집합인 암호화 키의 사용을 기반으로 합니다.

암호화 알고리즘에는 대칭 암호화 와 비대칭 암호화 의 두 가지 유형이 있습니다.

대칭 암호화

대칭 암호화 에서는 통신 프로세스에 관련된 모든 당사자가 동일한 키를 사용하여 메시지를 암호화하고 해독합니다. 이 키는 교환된 정보의 보안을 보장하기 위해 당사자 간에 비밀로 유지됩니다.

비대칭 암호화

공개 키 암호화라고도 하는 비대칭 암호화 에는 암호화에 사용되는 공개 키와 복호화에 사용되는 개인 키라는 두 가지 유형의 키가 있습니다. 개인 키는 수신자에 의해 비공개로 유지되는 반면(“개인 키”), 공개 키는 기밀 정보를 전송하려는 모든 사람과 널리 공유될 수 있습니다(“개인 키”).

비대칭 암호화는 다음과 같은 상황에서 널리 사용됩니다.

  • 보안 메시지 보내기 : 발신자는 수신자의 공개 키를 사용하여 메시지를 암호화한 후 수신자에게 보냅니다. 개인 키를 소유한 수신자만이 메시지를 해독하고 읽을 수 있습니다.
  • 개인 키의 소유권(알고 있음) 증명: 개인 키의 소유권을 증명하는 과정에서 발신자는 자신의 개인 키로 메시지를 암호화(또는 서명)한 후 수신자에게 보냅니다. 수신자는 보낸 사람의 공개 키를 사용하여 메시지를 해독합니다. 이 프로세스를 흔히 디지털 서명이라고 하며 이렇게 암호화된 메시지를 " 디지털 서명 "이라고 합니다. 따라서 디지털 서명은 해당 개인 키를 소유한 사람이 메시지를 보냈음을 증명하고 메시지에 포함된 정보의 무결성을 확인하는 데도 도움이 됩니다.

동형암호(동형암호)

동형암호는 암호화된 데이터를 해독하지 않고도 계산을 수행할 수 있기 때문에 높은 수준의 영지식 증명 설계에 큰 영향을 미칩니다.

동형암호 는 암호화된 데이터에 대해 직접 계산을 수행할 수 있는 특수한 유형의 암호화입니다. 즉, 비밀 키 없이도 암호화된 데이터에 대해 추가 계산을 수행할 수 있습니다. 이러한 계산 결과는 암호화된 상태로 유지되므로 원본 데이터 내용을 공개하지 않고도 보안이 보장됩니다.

실제로 암호화된 데이터에 대해 모든 종류의 임의 계산을 수행할 수 있는 완전 동형 암호화에는 여전히 많은 제한 사항이 있으며 아직 널리 적용되지 않습니다. 그러나 동형 구조에 대해 특정 작업을 수행하는 것이 가능하며 실제 응용 분야에서 사용되었습니다.

이러한 작업에는 암호화된 데이터에 대한 덧셈과 곱셈이 포함되며, 이는 암호 해독 없이 안전한 데이터 처리를 위한 새로운 가능성을 열어줍니다.

타원곡선 암호화(ECC)

ZK-SNARK에서는 이중선형 페어링이 수행되는 그룹 작업 덕분에 타원 곡선이 중요한 역할을 합니다. ECC(Elliptic Curve Cryptography)는 영지식 증명을 생성하고 검증하기 위한 효율적인 플랫폼을 제공합니다.

타원 곡선은 특정 수학 방정식을 만족하는 점들의 집합입니다. 타원 곡선의 방정식은 다음과 같은 형식을 갖습니다.

여기서, ab는 알려진 상수입니다. 이 방정식의 그래프는 다음과 같습니다.

타원 곡선에는 다양한 표현이 있지만 이 기술은 주로 특정 수학 방정식을 만족하는 점을 찾는 데 사용됩니다.

타원 곡선의 속성은 많은 수학 분야, 특히 암호화 분야에서 매우 중요합니다.

타원 곡선의 흥미로운 특성은 수평 대칭 입니다. 곡선의 모든 점은 곡선을 유지하면서 x 축에 걸쳐 반사될 수 있습니다. 이는 곡선의 임의의 두 점을 선택하고 이를 통과하는 선을 그리면 해당 선이 세 번째 점에서 곡선과 교차한다는 의미입니다.

이것이 당구 게임이라고 상상해 보십시오. 공은 한 지점에서 발사되어 타원형 곡선에 닿을 때 x 축을 기준으로 한 위치에 따라 똑바로 위로 또는 아래로 똑바로 튕겨 나옵니다.

타원 곡선의 흥미로운 속성은 곡선의 두 점을 "점"으로 표시하여 새 점을 만들 수 있다는 것입니다. 또한 점 자체에 반복적으로 "점을 찍어" 곡선에 다른 점을 만들 수도 있습니다.

그런데 흥미로운 점은 최종점과 초기점을 알면, 시작점에서 최종점까지 가는 데 필요한 '점' 의 수를 계산하는 것이 매우 어렵다는 것입니다!

한 사람이 방에서 게임 규칙에 따라 공을 치고 혼자 놀고 있다고 상상해 보십시오. 그런 다음 다른 사람이 들어와서 공의 최종 위치를 확인합니다. 초기 위치와 게임의 규칙을 알고 있더라도 게임 전체를 처음부터 다시 살펴보지 않으면 거기에 도달하기 위해 공을 몇 번이나 쳤는지 알 수 없을 것입니다. 이는 비가역성 이라는 암호화의 특별한 속성을 생성하며 트랩도어 기능 과 같은 많은 강력한 응용 프로그램의 기초가 됩니다.

타원 곡선의 이산 로그는 어려운 문제이며, 이는 타원 곡선을 기반으로 하는 암호학의 기초가 됩니다. 인수분해와 달리 이 문제를 해결할 수 있는 지름길은 없으므로 RSADiffie-Hellman 보다 타원 곡선 암호화를 깨는 것이 훨씬 더 어렵습니다.

ECC는 더 짧은 키로 높은 수준의 보안을 제공하면서도 저전력 장치에서는 여전히 우수한 성능을 유지합니다. 따라서 ECC는 리소스가 제한된 모바일 장치 및 시스템의 암호화 애플리케이션에 이상적인 선택입니다.

이 섹션의 마지막 부분에서는 zk-SNARK 이면의 몇 가지 기본 수학적 및 코딩 개념을 설명했습니다. 다음 섹션에서는 이차 산술 프로그램, 타원 곡선 쌍과 같은 고급 개념에 대해 자세히 설명하겠습니다.

여기까지 읽어주셔서 감사합니다. 이 글이 마음에 드셨다면 팔로우와 박수 부탁드리는 것도 잊지 마세요.

기사 출처: 팀 기술/연구 – AlphaTrue

참고 출처:

1.출처: Reitwiessner, C.(2016). 간단히 말해서 zkSNARK입니다. 이더리움 블로그 , 6 , 1-15. https://chriseth.github.io/notes/articles/zksnarks/zksnarks.pdf

2. https://medium.com/coinmonks/from-zero-to-hero-in-zero-knowledge-proofs-part-7-61d639c2ef02

3. https://celo.academy/t/zk-snarks-proofs-as-a-privacy-solution-on-the-blockchain/1961

4. 출처: Chen, T., Lu, H., Kunpittaya, T., & Luo, A.(2022). zk-snarks에 대한 리뷰입니다. arXiv 사전 인쇄 arXiv:2202.06877 . https://arxiv.org/pdf/2202.06877.pdf

5. https://medium.com/coinmonks/from-zero-to-hero-in-zero-knowledge-proofs-part-8-262f923f1537

6. https://medium.com/@hira.siddiqui/from-zero-to-hero-in-zero-knowledge-proofs-part-2-ef17ce470f2d

7. 이스트톰, W. (2022). 현대 암호화: 암호화 및 정보 보안을 위한 응용 수학 . 스프링거 자연.

8. https://blog.cloudflare.com/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography/

출처
면책조항: 상기 내용은 작자의 개인적인 의견입니다. 따라서 이는 Followin의 입장과 무관하며 Followin과 관련된 어떠한 투자 제안도 구성하지 않습니다.
라이크
1
즐겨찾기에 추가
코멘트