Zypher Research: Nova - ZK 게임의 미래를 재편합니다(1)

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

전체 게임/자치 세계는 Web3에서 가장 중요한 내러티브 중 하나입니다. 10월 말 기준, web3 게임의 일일 활성 사용자(DAU)는 530만 명에 달해 거대한 시장 잠재력을 보여주고 있습니다. Web2.5 애플리케이션과 달리, 전체 게임/자치 세계는 게임 로직을 블록체인에 완전히 배포하여 블록체인을 게임 서버로 직접 활용하여, 탈중앙화, 신뢰성, 조합성 등의 뚜렷한 장점을 제공하지만, 전통 게임이 web3를 수용할 때 여전히 성능 병목, 확장성 및 프라이버시 등의 중대한 과제에 직면하고 있습니다. Nova는 접힘 솔루션으로, 게임 현황을 재구성하고 web3 게임을 새로운 시대로 이끌 것으로 기대됩니다.

Nova란 무엇인가

Nova [1]는 접힘 솔루션 기반의 재귀 증명 시스템으로, R1CS를 위해 설계되어 증분 검증 가능 계산(IVC)을 효율적으로 구현할 수 있습니다. IVC는 암호화 기본 연산으로, 각 단계 결과의 정확성을 증명하여 이전 모든 결과가 올바르게 실행되었음을 보장함으로써 특정 컴퓨터 프로그램 실행 과정의 무결성을 입증할 수 있습니다.

먼저 IC(Incremental Computation)란 무엇일까요? IC는 동일한 함수 F를 재귀적으로 적용하여 계산하는 것을 의미합니다. 즉, 초기 상태를 입력하면 반복 후 상태를 얻을 수 있습니다(그림 1.a 참조). 함수 F에 검증 회로가 포함되어 있다면 이를 IVC(Incrementally verifiable computation)라고 합니다. IVC를 통해 Prover는 Verifier에게 각 단계의 계산 과정이 올바르다는 것을 증명할 수 있습니다(그림 1.b 참조). 이 방식을 통해 대규모 계산/명령문을 더 작은 블록으로 분할하고 반복 코드 블록을 더 효율적으로 실행할 수 있습니다.

Nova는 혁신적인 접힘 솔루션을 제안했는데, 이는 두 개의 R1CS 인스턴스와 각각의 witness-instance를 하나로 병합합니다. Snark 기반 IVC와 비교할 때 Nova는 각 재귀에서 이전 Snark 증명을 검증할 필요가 없어 다음과 같은 특징을 가집니다:

  • 신뢰할 수 있는 설정이 필요 없음
  • FFT 연산 및 페어링 친화적 타원 곡선이 필요 없음
  • 검증 시간이 일정함
  • R1CS 인스턴스만 다루며, 2개의 R1CS 인스턴스를 1개로 병합함

왜 Nova인가

web3 게임은 전망이 밝지만 많은 과제에 직면해 있습니다. 첫째, 실시간 빠른 게임의 경우 조작 명령의 응답 시간이 일반적으로 밀리초 단위이지만, 대부분의 블록체인은 아직 고성능 게임을 실행할 수 있는 능력을 갖추지 못했습니다. 둘째, 거래량이 증가하면 블록체인이 혼잡해져 지연이 발생하고 경험에 영향을 줄 수 있습니다.

이러한 문제를 해결하기 위해 우리는 Game Rollup이라는 방법을 탐구했습니다. Game Rollup은 Groth16 증명 시스템을 통해 게임 조작 명령을 하나의 회로에 집계하고 증명을 생성하여 체인에 업로드하여 검증합니다. 이를 통해 플레이어는 체인과 상호 작용하기 전에 더 많은 작업을 수행할 수 있어 더 긴 게임 경험을 누리고 체인 확인을 기다리지 않아도 됩니다.

구체적으로 우리의 Rollup 회로도 IVC 형식으로 표현할 수 있습니다:

여기서 F는 게임의 턴 함수입니다.

우리의 2048 게임을 예로 들면, 이는 고전적인 퍼즐 슬라이딩 게임의 체인 기반 버전입니다. 2048의 가장 큰 과제는 F 함수 설계입니다. 2048 게임에서는 각 라운드에 상하좌우 4가지 입력 명령이 가능하므로, 이 4가지 입력을 처리하도록 F 함수(회로)를 정교하게 설계해야 합니다. 이는 단순한 if 문(예: if up {}, else if down {}...)으로 체인에서 2048 로직을 구현하는 것과 본질적으로 다릅니다. 그러나 회로에서는 if-else 구조를 직접 사용할 수 없습니다. 이에 대해서는 다음 기사에서 자세히 다루겠습니다.

솔라나는 높은 성능의 퍼블릭 체인으로 비교적 빠른 거래 확인 속도를 제공하지만, 솔라나에 배포된 2048 게임[2]의 경험은 여전히 부드럽지 않습니다. 반면 우리의 Game Rollup 방식은 더 원활한 게임 경험을 제공했는데, 이는 Game Rollup이 게임 성능 향상에 효과적임을 보여줍니다. 그러나 이 방식은 IVC의 가장 단순한 구현일 뿐이며 다음과 같은 한계가 있습니다:

  • Prover에게 Ω(i*|F|) 메모리가 필요함
  • 증명이 점진적으로 업데이트되지 않음

그러다가 Nova를 만나 깊이 연구하면서 "너무 늦게 만났다"는 생각이 들었습니다. Nova는 Game Rollup의 한계를 극복하고 Web3 게임의 성능 병목과 확장성 문제를 해결할 수 있을 것으로 기대됩니다. 다음은 2048 게임을 예로 Game Rollup과 Nova의 성능 벤치마크 결과입니다:

요약

Nova는 성능이 뛰어날 뿐만 아니라 메모리 효율성도 높습니다. 이는 대규모 회로에 매우 중요한데, Groth16에는 큰 SRS가 필요하고 메모리를 많이 소모하지만, Nova는 메모리가 제한적인 환경에서도 효율적으로 실행될 수 있습니다. 현재 일부 ZKVM도 Nova를 기반으로 구축되고 있습니다. 우리는 Nova가 web3 게임에 전례 없는 성능과 확장성을 제공하여 web3 게임 발전의 핵심 기술이 될 것으로 믿습니다. Zypher는 Nexus와 긴밀한 전략적 파트너십을 맺고 Nexus의 Nova 기반 ZKVM을 활용하여 차세대 탈중앙화 애플리케이션 인프라를 구축하는 데 적극 협력하고 있습니다.

참고:

[1] https://eprint.iacr.org/2021/370

[2] https://solplay.de/solana-2048/

[3] https://nexus.xyz/

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