zk-SNARKs 와 zk-STARKs 설명

공유
zk-SNARKs 와 zk-STARKs 설명
아티클 듣기
00:00 / 00:00

영지식증명(zk-snarks) 및 zk-starks 설명

프라이버시는 항상 암호화폐 커뮤니티 내에서 가치 있는 특징으로 간주되엇습니다. 이는 실사용되는 형태의 화폐의 기능을 하기위해 꼭 필요한 것입니다. 실화폐와 마찬가지로, 대부분의 암호화폐 자산 보유자는 자신의 보유 및 거래 내역을 공개하고 싶지 않아 합니다. 그에 따른 블록체인에 프라이버시를 제공하는 것을 목표로 하는 암호화 기술인  zk-snark 및 zk-starks 증명은 주목할 만한 예시입니다.

zk-SNARK는 지식의 영 지식 간결한 비 상호 작용적 논증을 의미하며, zk-STARK는 지식의 영 지식 간결한 투명한 논증을 나타냅니다. Zk-SNARK 증명서은 이미 Zcash, JP Morgan Chase의 블록체인 기반 지불 시스템 및 클라이언트를 서버에 안전하게 인증하는 방법으로 사용되고 있습니다. 그러나 zk-SNARK가 잘 정립되고 실사용에 채택되는 것에 많은 진전을 이루어 냇지만, zk-STARK 증명은 그보다 더 진전하여, 이전의 많은 단점을 해결하면서 프로토콜의 새롭고 개선된 버전으로 알려지게 되었습니다.


 알리바바의 동굴 비유

1990년 암호 학자 Jean-Jacques Quisquater는 (다른 공동 작업자와 함께) "당신의 아이들에게 영 지식 프로토콜을 설명하는 방법"이라는 제목의  논문을 발표했습니다. 이 논문은 알리바바의 동굴과 관련된 비유로  ZK 증명의 개념을 소개하고있습니다. 프로토콜이 만들어진 이후 여러가지 비유들이 있었고, 현재, 여러 변형된 이야기가 있었습니다. 하지만 이야기들이 말하고있는 정보는 근본적으로 동일합니다.

한 개의 입구와 두 개의 측면 경로를 분리하는 마법의 출입구가 있는 반지 모양의 동굴을 상상해봅시다. 마법의 문을 통과하려면 정확한 비밀 단어를 속삭여야 합니다. 그래서 앨리스(노란색)가 비밀스러운 단어가 무엇인지 알고 있다는 것을 밥(파란색)에게 증명하고 싶어 한다고 생각해봅시다. 그렇게 하기 위해 밥은 그녀가 동굴에 들어가서 두 가지 가능한 경로 중 하나가 끝날 때까지 걷는 동안 밖에서 기다리는 것에 동의합니다. 이 예시에서 그녀는 경로 1을 통과하기로 합니다.

zk-SNARKs 와 zk-STARKs 설명

잠시 후, 밥은 입구를 지나 앨리스가 어느 입구에서 나타나기를 원하는지 외칩니다 (이 경우 2번 경로).

zk-SNARKs 와 zk-STARKs 설명

앨리스가 그 비밀을 정말로 안다면, 그녀는 밥이 말해준 입구에서 확실하게 나타날 것입니다.

zk-SNARKs 와 zk-STARKs 설명

앨리스가 그저 운에 따라서 올 바른 길을 선택하지 않았다는 것을 확인하는 방법으로 전체 프로세스를 여러 번 반복할 수 있습니다.

알리바바의 동굴 비유는 zk-SNARK 및 zk-STARK 프로토콜의 일부인 영 지식 증명의 개념을 보여줍니다. ZK 증명은 정보를 공개하지 않고 특정 지식의 소유를 증명하는 데 사용될 수 있습니다.


zk-SNARKs

Zcash는 첫번째로 다방면으로 사용되는 zk-SNARK의 실사용 사례로, Monero와 같은 다른 개인 프로젝트는 링 서명 및 기타 기술을 사용하여 -누가 무엇을 보냇는지를 효과적으로 익명화하여- zk-SNARK는 데이터 공유방식을 근본적으로 바꾸게됩니다. Zcash의 개인 정보 보호는 네트워크의 트랜잭션이 암호화된 상태로 유지될 수 있지만, 영 지식 증명을 사용하여 유효한 것으로 확인된다는 사실에서 파생됩니다. 따라서  합의된 규칙을 시행하는 사람들은 각 거래의 기본이 되는 모든 데이터를 알 필요가 없습니다. Zcash의 개인 정보 보호 기능은 기본적으로 활성화되어 있지 않고 수동 설정에 따라 사용자의 선택에 의존한다는 점을 언급할 필요가 있습니다.

영 지식 증명은 진술의 타당성을 넘어서는 정보를 공개하지 않고 한 개인이 진술이 사실임을 다른 사람에게 증명할 수 있게 합니다. 관련된 당사자는 일반적으로 증명자 및 검증자라고 하며, 비밀리에 보유하고 있는 진술을 증언이라고 합니다. 이러한 증명의 주요 목적은 양 당사자 간에 가능한 한 적은 데이터를 공개하는 것입니다. 다른 용어로, 지식 자체에 대한 정보를 밝히지 않고 특정 지식을 가지고 있음을 증명하기 위해 영 지식 증명을 사용할 수 있습니다.

SNARK라는 약어 내에서 "간결한(Succinct)"은 이러한 증명의 크기가 작고 신속하게 확인할 수 있음을 의미합니다. "비 상호작용(Non-interactive)"은 증명자와 검증자 사이에 상호 작용이 거의 없거나 전혀 없다는 것을 의미합니다. 이전 버전의 영 지식 프로토콜은 일반적으로 증명자와 검증자가 통신을 주고받는 것을 요구하므로 "간접적"zk 증명으로 간주됩니다. 이와 다르게 ‘비 상호작용’ 구조에서는 증명자와 검증자가 하나의 증거만 주고받아도 됩니다.

현재 zk-SNARK 증명은 증명자와 검증자 사이의 신뢰할 수 있는 초기 설정에 의존합니다. 즉, 영 지식 증명 및 개인 거래를 구축하기 위해 일련의 공개 매개 변수가 필요합니다. 이러한 매개 변수는 게임의 규칙과 거의 상응하며 프로토콜에 인코딩되어 트랜잭션이 유효하다는 것을 증명하는 데 필요한 요소 중 하나입니다. 그러나 매개 변수가 종종 매우 작은 그룹에 의해 공식화되기 때문에 중앙 집중화 문제가 잠재적으로 존재하게 됩니다.

초기 공개 설정은 오늘날의 zk-SNARK 구현의 기본이지만 연구자들은 프로세스에 필요한 신뢰과정을 줄이기 위한 방법으로 다른 대안을 찾기 위해 노력하고 있습니다. 초기 설정 단계는 위조 지출을 방지하는 데 중요합니다. 누군가가 매개 변수를 생성하는 무작위성에 액세스할 수 있다면 검증자에게 유효한 것으로 보이는 거짓 증명을 만들 수 있기 때문입니다. Zcash에서 초기 설정 단계는 매개 변수 생성 의식으로 알려져 있습니다.

이제 약어의 ‘논쟁(ARgument)' 부분으로 넘어가 봅시다. zk-SNARK는 계산적으로 확실한 것으로 간주됩니다. 즉, 증명자의 컴퓨팅 능력이 제한적이라고 가정했을 때, 부정직한 증명자는 시스템을 속일 수 있는 확률이 매우 낮습니다. 이 속성은 건전성으로 알려져 있으며, 그러나 이론적으로, 충분한 컴퓨팅 능력을 갖춘 증명자는 가짜 증명을 만들 수 있으며, 이것이 많은 사람이 양자 컴퓨터가 zk-SNARK 및  블록체인 시스템에 대한 위협으로 간주하는 이유 중 하나입니다.

약어 퍼즐의 마지막 부분은 "지식(Knowledge)"입니다. 즉, 증명자가 실제로 자신의 진술을 뒷받침할 지식 (또는 증인)이 없는 증거를 만들 수 없다는 것을 의미합니다.

영 지식 증명은 신속하게 검증 가능하며 일반적으로 표준 비트코인 트랜잭션보다 훨씬 적은 데이터를 차지합니다. 이것은 zk-SNARK 기술이 프라이버시 및 확장성 솔루션으로 사용되는 길을 제공합니다.


zk-STARKs

zk-STARK는 zk-SNARK 증명의 대체 버전으로 만들어졌으며 더 빠르고 저렴하게 기술을 구현해낼 수 있습니다. 그러나 더 중요한 것은 zk-STARKs는 초기 신뢰할 수 있는 설정 (따라서 투명한 "T")을 필요로 하지 않는다는 것입니다.

기술적으로 말한다면, Zk-STARK는 충돌 저항성 해시 함수를 통해 더 희박한 대칭 암호화에 의존하기 때문에 초기 신뢰 설정을 필요로 하지 않습니다. 이 접근법은 또한 요구하는 컴퓨팅 능력 수준이 비싸고 ,이론적으로 양자 컴퓨터에 의해 공격받기 쉬운 zk-SNARK의 정수론적 가정을 제거합니다.

Zk-STARK가 보다 빠르고 저렴한 기술 구현을 가능케 한 주된 이유 중 하나는 증명자와 검증자 간의 통신 횟수의 양이 계산의 증가하는 것에 비해 일정하기 때문입니다. 이와 대조적으로, zk-SNARK에서 더 많은 계산이 필요할수록 당사자들이 더 많은 메시지를 주고받아야 합니다. 따라서 zk-SNARK의 전체 데이터 크기는 zk-STARK 증명 내의 데이터보다 훨씬 크게 됩니다.

zk-SNARKS와 zk-STARKs는 프라이버시와 관련하여 증가하는 우려에 있어 매력적인 기술입니다. 암호화폐 세계에서 이러한 프로토콜은 큰 잠재력을 가지고 있으며 주류 화폐로 채택되기 위한 획기적인 발판이 될 수 있습니다.

Loading