hello world
hello world
Share Dialog
Share Dialog

Subscribe to ssense

Subscribe to ssense
<100 subscribers
<100 subscribers

영지식 간결 비대화형 지식 인수(zkSNARK)는 증명자가 증명자의 증인에 대한 정보를 유출하지 않고도 어떤 진술이 참이라는 것을 검증자에게 확신시킬 수 있는 증명 시스템입니다. '영지식'이라는 측면은 증명자가 생성한 증명에 증명자의 증인에 대한 개인 정보가 전혀 드러나지 않는다는 것을 의미합니다. 따라서 블록체인과 암호화폐 영역에서 개인 정보 보호 목적으로 zkSNARK를 사용하는 경우가 많습니다. 예를 들어, 가장 중요한 zkSNARK 중 하나인 Groth16은 암호화폐 지캐시에서 개인 거래를 가능하게 하는 데 사용됩니다. Groth16은 발신자, 수신자, 거래 세부 정보를 공개하지 않고도 거래가 유효하다는 것을 증명할 수 있습니다. 따라서 발신자와 수신자 모두에게 강력한 개인 정보 보호 기능을 제공합니다.
'succinct'는 말은 매우 짧은 시간에 증명을 검증할 수 있으며, 체인에 저장되는 최종 증명이 매우 작다는 의미입니다. 또한 Groth16, Plonk, Marlin과 같은 KZG 기반 zkSNARK의 검증 시간 및 증명 크기는 회로 크기와 무관합니다. 즉, 회로의 게이트 수에 관계없이 검증 시간과 증명 크기는 일정합니다.
다음 표에는 널리 사용되는 다양한 zkSNARK의 증명 크기와 검증 시간이 나열되어 있습니다.

현재 Groth16, Marlin 및 Plonk와 같은 대부분의 기존 zkSNARK는 타원 곡선 연산, 다항식 산술 및 기타 수학적 변환과 같은 복잡한 암호화 연산에 크게 의존합니다. 이러한 작업은 계산 비용이 많이 들고 증명 시간에 영향을 줄 수 있습니다. 또한 이러한 작업의 수는 회로 크기에 선형적으로 비례하므로 증명자 작업은 회로 크기에 따라 거의 선형적으로 증가합니다. 예를 들어, 기존 SHA256 압축 함수의 사전 이미지를 증명하려면 증명자는 최소 20000도의 여러 다항식에 대해 여러 다항식 산술 및 타원 곡선 연산을 수행해야 합니다.
FFT와 MSM은 가장 시간이 많이 걸리는 작업 중 두 가지입니다. FFT는 순진한 다항식 곱셈에 비해 연산 수를 크게 줄이지만 여전히 상당한 수의 수학적 연산을 포함합니다.

MSM은 항상 다항식에 대한 KZG 약속을 계산하는 데 사용되며 대규모 필드에 대한 그룹 추가 및 곱셈을 포함합니다. 그룹 추가에는 수십 번의 현장 작업이 필요하고 곱셈에는 수천 번의 필드 작업이 필요합니다. 이로 인해 MSM은 계산 비용이 많이 듭니다.
연구원들은 이러한 문제를 해결하고 주로 FFT 작업 수 감소, FPGA에서 FFT 및 MSM 최적화, 무거운 증명자 계산을 더 강력한 기계에 위임하는 등 다양한 관점에서 고려하고 있습니다.
FFT는 증명 생성의 주요 병목 현상입니다. 증명 속도를 향상시키는 한 가지 방법은 FFT 작업 수를 줄이는 것입니다. 많은 연구자들은 FFT 연산을 피하기 위해 일변량 다항식 대신 다변량 다항식을 사용합니다. 일부 클래식 zkSNARK에는 HyperPlonk, Libra 및 Virgo가 포함됩니다.
FFT와 MSM은 증명 생성의 주요 병목 현상이지만 FPGA와 GPU를 사용하여 속도를 가속화할 수 있습니다.
FPGA와 GPU 모두 강력한 병렬 처리 기능을 갖추고 있습니다. MSM 및 FFT의 많은 계산 단계는 병렬로 실행될 수 있으므로 이러한 하드웨어는 이러한 작업을 가속화하는 데 매우 효율적입니다.
또한 FPGA 및 GPU는 일반적으로 범용 중앙 처리 장치(CPU)보다 전력 효율성이 더 높습니다. 특정 유형의 계산을 실행하는 데 중점을 두므로 동일한 전력 소비로 더 높은 성능을 제공합니다.
마지막으로 MSM 및 FFT의 데이터는 스트림과 같은 방식으로 처리되는 경우가 많습니다. FPGA와 GPU 모두 효율적인 병렬 데이터 흐름 처리를 달성하여 전반적인 성능을 향상시킬 수 있습니다.
DIZK는 증명자 계산을 여러 강력한 기계에 분산하여 각 기계의 공간 복잡성을 최적화하는 것을 목표로 합니다. 그러나 DIZK는 증인을 기계에 유출하여 증인의 사생활을 침해하게 됩니다. 목격자가 다른 제3자에게 유출되면 악의적인 당사자는 원하는 대로 무엇이든 할 수 있습니다. 예를 들어, 개인 결제에서 개인 키는 개인 증인의 일부입니다. 개인 키가 유출되면 누구나 이 키를 사용하여 유효한 거래를 생성하고 돈을 쓸 수 있습니다.
개인정보 유출 문제를 해결하기 위해 우리는 zkSNARK 증명자의 비공개 위임에 중점을 두었습니다. 여기서 여러 시스템은 증인에 대한 추가 정보를 알지 못한 채 증명자 계산을 수행합니다. 일련의 블로그에서 우리는 민간 위임의 개념에 대한 다양하고 통찰력 있는 최신 연구를 더욱 강조할 것입니다.
대부분의 경우 증인의 개인정보가 보호되어야 합니다. 이 섹션에서는 개인 위임을 달성하는 몇 가지 일반적인 방법인 FHE(완전 동형 암호화)와 SMPC(보안 다자간 계산)에 중점을 둘 것입니다.
FHE(완전 동형 암호화)는 암호 해독 없이 암호화된 데이터에 대해 계산을 수행할 수 있는 고급 암호화 체계입니다. FHE 기반의 민간 위임 모델은 위임자와 작업자로 구성되어 매우 쉽습니다. 위임자는 먼저 증인을 암호화하여 작업자에게 직접 보냅니다. 작업자는 증인 암호문에 대한 증거를 계산하고 암호화된 증거를 다시 보냅니다. 마지막으로 위임자는 증명을 해독합니다. 따라서 개인 정보 보호와 위임이 모두 보존될 수 있습니다.
그러나 FHE는 계산 오버헤드가 상대적으로 높기 때문에 실제 애플리케이션에서는 실용적이지 않습니다. 작업자는 비용이 많이 드는 zkSNARK 증명 작업을 수행해야 할 뿐만 아니라 FHE 암호문을 계산해야 하므로 효율성이 크게 떨어집니다. 또한, 약한 위임자는 값비싼 동형 암호화 및 복호화로 인해 어려움을 겪을 수도 있습니다.

또 다른 방법은 다자간 계산(MPC)을 사용하는 것입니다. MPC(Multiparty Computation)는 여러 당사자가 입력을 비공개로 유지하면서 입력에 대한 함수를 공동으로 계산할 수 있도록 하는 암호화 기술입니다.
더 자세히 설명하면 위임자는 먼저 비밀 공유 체계(예: Shamir 비밀 공유)를 사용하여 증인의 공유를 생성합니다. 각 공유는 증인에 대한 정보를 공개하지 않습니다. 그 후 위임자는 여러 작업자에게 증인의 지분을 보냅니다. 그런 다음 이 작업자는 서로 상호 작용하고 받은 공유로 증거를 생성합니다. 마지막으로 각 작업자는 증명의 일부를 받고 위임자는 최종 증명을 얻습니다.
MPC는 FHE보다 계산 복잡성이 낮습니다. 이는 많은 실제 응용 프로그램에서 널리 사용됩니다. 따라서 MPC 기반 위임은 증인의 프라이버시를 보호할 수 있을 뿐만 아니라 실제 상황에서도 실용적입니다.

일반적으로 기존 zkSNARK는 빠른 검증 시간과 작은 증명 크기를 누리고 있지만, 증명 생성 시간은 여전히 병목 현상입니다. zkSNARK 증명자의 계산에는 계산 비용이 많이 드는 암호화 작업이 많이 포함됩니다. 이러한 문제를 해결하기 위해 zkSNARK 증명자의 계산을 여러 강력한 시스템에 위임할 수 있습니다. 그러나 일부 작품에서는 목격자의 사생활을 고려하지 않습니다. 목격자가 제3자에게 유출되면 악의적인 당사자는 원하는 대로 무엇이든 할 수 있습니다. 따라서 이러한 유출을 피하기 위해 우리는 zkSNARK 증명자의 비공개 위임에 중점을 둡니다.
다음 블로그에서는 최첨단 개인 위임 프로토콜 중 하나인 EOS에 대해 집중적으로 살펴보겠습니다.

영지식 간결 비대화형 지식 인수(zkSNARK)는 증명자가 증명자의 증인에 대한 정보를 유출하지 않고도 어떤 진술이 참이라는 것을 검증자에게 확신시킬 수 있는 증명 시스템입니다. '영지식'이라는 측면은 증명자가 생성한 증명에 증명자의 증인에 대한 개인 정보가 전혀 드러나지 않는다는 것을 의미합니다. 따라서 블록체인과 암호화폐 영역에서 개인 정보 보호 목적으로 zkSNARK를 사용하는 경우가 많습니다. 예를 들어, 가장 중요한 zkSNARK 중 하나인 Groth16은 암호화폐 지캐시에서 개인 거래를 가능하게 하는 데 사용됩니다. Groth16은 발신자, 수신자, 거래 세부 정보를 공개하지 않고도 거래가 유효하다는 것을 증명할 수 있습니다. 따라서 발신자와 수신자 모두에게 강력한 개인 정보 보호 기능을 제공합니다.
'succinct'는 말은 매우 짧은 시간에 증명을 검증할 수 있으며, 체인에 저장되는 최종 증명이 매우 작다는 의미입니다. 또한 Groth16, Plonk, Marlin과 같은 KZG 기반 zkSNARK의 검증 시간 및 증명 크기는 회로 크기와 무관합니다. 즉, 회로의 게이트 수에 관계없이 검증 시간과 증명 크기는 일정합니다.
다음 표에는 널리 사용되는 다양한 zkSNARK의 증명 크기와 검증 시간이 나열되어 있습니다.

현재 Groth16, Marlin 및 Plonk와 같은 대부분의 기존 zkSNARK는 타원 곡선 연산, 다항식 산술 및 기타 수학적 변환과 같은 복잡한 암호화 연산에 크게 의존합니다. 이러한 작업은 계산 비용이 많이 들고 증명 시간에 영향을 줄 수 있습니다. 또한 이러한 작업의 수는 회로 크기에 선형적으로 비례하므로 증명자 작업은 회로 크기에 따라 거의 선형적으로 증가합니다. 예를 들어, 기존 SHA256 압축 함수의 사전 이미지를 증명하려면 증명자는 최소 20000도의 여러 다항식에 대해 여러 다항식 산술 및 타원 곡선 연산을 수행해야 합니다.
FFT와 MSM은 가장 시간이 많이 걸리는 작업 중 두 가지입니다. FFT는 순진한 다항식 곱셈에 비해 연산 수를 크게 줄이지만 여전히 상당한 수의 수학적 연산을 포함합니다.

MSM은 항상 다항식에 대한 KZG 약속을 계산하는 데 사용되며 대규모 필드에 대한 그룹 추가 및 곱셈을 포함합니다. 그룹 추가에는 수십 번의 현장 작업이 필요하고 곱셈에는 수천 번의 필드 작업이 필요합니다. 이로 인해 MSM은 계산 비용이 많이 듭니다.
연구원들은 이러한 문제를 해결하고 주로 FFT 작업 수 감소, FPGA에서 FFT 및 MSM 최적화, 무거운 증명자 계산을 더 강력한 기계에 위임하는 등 다양한 관점에서 고려하고 있습니다.
FFT는 증명 생성의 주요 병목 현상입니다. 증명 속도를 향상시키는 한 가지 방법은 FFT 작업 수를 줄이는 것입니다. 많은 연구자들은 FFT 연산을 피하기 위해 일변량 다항식 대신 다변량 다항식을 사용합니다. 일부 클래식 zkSNARK에는 HyperPlonk, Libra 및 Virgo가 포함됩니다.
FFT와 MSM은 증명 생성의 주요 병목 현상이지만 FPGA와 GPU를 사용하여 속도를 가속화할 수 있습니다.
FPGA와 GPU 모두 강력한 병렬 처리 기능을 갖추고 있습니다. MSM 및 FFT의 많은 계산 단계는 병렬로 실행될 수 있으므로 이러한 하드웨어는 이러한 작업을 가속화하는 데 매우 효율적입니다.
또한 FPGA 및 GPU는 일반적으로 범용 중앙 처리 장치(CPU)보다 전력 효율성이 더 높습니다. 특정 유형의 계산을 실행하는 데 중점을 두므로 동일한 전력 소비로 더 높은 성능을 제공합니다.
마지막으로 MSM 및 FFT의 데이터는 스트림과 같은 방식으로 처리되는 경우가 많습니다. FPGA와 GPU 모두 효율적인 병렬 데이터 흐름 처리를 달성하여 전반적인 성능을 향상시킬 수 있습니다.
DIZK는 증명자 계산을 여러 강력한 기계에 분산하여 각 기계의 공간 복잡성을 최적화하는 것을 목표로 합니다. 그러나 DIZK는 증인을 기계에 유출하여 증인의 사생활을 침해하게 됩니다. 목격자가 다른 제3자에게 유출되면 악의적인 당사자는 원하는 대로 무엇이든 할 수 있습니다. 예를 들어, 개인 결제에서 개인 키는 개인 증인의 일부입니다. 개인 키가 유출되면 누구나 이 키를 사용하여 유효한 거래를 생성하고 돈을 쓸 수 있습니다.
개인정보 유출 문제를 해결하기 위해 우리는 zkSNARK 증명자의 비공개 위임에 중점을 두었습니다. 여기서 여러 시스템은 증인에 대한 추가 정보를 알지 못한 채 증명자 계산을 수행합니다. 일련의 블로그에서 우리는 민간 위임의 개념에 대한 다양하고 통찰력 있는 최신 연구를 더욱 강조할 것입니다.
대부분의 경우 증인의 개인정보가 보호되어야 합니다. 이 섹션에서는 개인 위임을 달성하는 몇 가지 일반적인 방법인 FHE(완전 동형 암호화)와 SMPC(보안 다자간 계산)에 중점을 둘 것입니다.
FHE(완전 동형 암호화)는 암호 해독 없이 암호화된 데이터에 대해 계산을 수행할 수 있는 고급 암호화 체계입니다. FHE 기반의 민간 위임 모델은 위임자와 작업자로 구성되어 매우 쉽습니다. 위임자는 먼저 증인을 암호화하여 작업자에게 직접 보냅니다. 작업자는 증인 암호문에 대한 증거를 계산하고 암호화된 증거를 다시 보냅니다. 마지막으로 위임자는 증명을 해독합니다. 따라서 개인 정보 보호와 위임이 모두 보존될 수 있습니다.
그러나 FHE는 계산 오버헤드가 상대적으로 높기 때문에 실제 애플리케이션에서는 실용적이지 않습니다. 작업자는 비용이 많이 드는 zkSNARK 증명 작업을 수행해야 할 뿐만 아니라 FHE 암호문을 계산해야 하므로 효율성이 크게 떨어집니다. 또한, 약한 위임자는 값비싼 동형 암호화 및 복호화로 인해 어려움을 겪을 수도 있습니다.

또 다른 방법은 다자간 계산(MPC)을 사용하는 것입니다. MPC(Multiparty Computation)는 여러 당사자가 입력을 비공개로 유지하면서 입력에 대한 함수를 공동으로 계산할 수 있도록 하는 암호화 기술입니다.
더 자세히 설명하면 위임자는 먼저 비밀 공유 체계(예: Shamir 비밀 공유)를 사용하여 증인의 공유를 생성합니다. 각 공유는 증인에 대한 정보를 공개하지 않습니다. 그 후 위임자는 여러 작업자에게 증인의 지분을 보냅니다. 그런 다음 이 작업자는 서로 상호 작용하고 받은 공유로 증거를 생성합니다. 마지막으로 각 작업자는 증명의 일부를 받고 위임자는 최종 증명을 얻습니다.
MPC는 FHE보다 계산 복잡성이 낮습니다. 이는 많은 실제 응용 프로그램에서 널리 사용됩니다. 따라서 MPC 기반 위임은 증인의 프라이버시를 보호할 수 있을 뿐만 아니라 실제 상황에서도 실용적입니다.

일반적으로 기존 zkSNARK는 빠른 검증 시간과 작은 증명 크기를 누리고 있지만, 증명 생성 시간은 여전히 병목 현상입니다. zkSNARK 증명자의 계산에는 계산 비용이 많이 드는 암호화 작업이 많이 포함됩니다. 이러한 문제를 해결하기 위해 zkSNARK 증명자의 계산을 여러 강력한 시스템에 위임할 수 있습니다. 그러나 일부 작품에서는 목격자의 사생활을 고려하지 않습니다. 목격자가 제3자에게 유출되면 악의적인 당사자는 원하는 대로 무엇이든 할 수 있습니다. 따라서 이러한 유출을 피하기 위해 우리는 zkSNARK 증명자의 비공개 위임에 중점을 둡니다.
다음 블로그에서는 최첨단 개인 위임 프로토콜 중 하나인 EOS에 대해 집중적으로 살펴보겠습니다.
No activity yet