본문으로 이동

유효성 증명

유효성 증명, 공개 입력, 증인, 증명 시스템 가정, 롤업 상태 전이, 데이터 가용성, 최종성, 운영 장애를 검증 중심으로 설명하는 안내서.

업데이트

교육 목적으로만 제공되며 투자 또는 보안 조언이 아닙니다. 유효성 증명의 신뢰성은 명제, 공개 입력 결합, 증명 시스템, 검증기, 데이터 가용성 경로, 계약, 운영자, 거버넌스 및 결제 체인에 달려 있습니다.

직접 답변

유효성 증명은 주장된 계산이 정확히 정의된 관계를 충족한다는 암호학적 증거입니다. 검증기는 검증 키와 공개 입력을 기준으로 증명을 확인합니다. 롤업에서는 보통 이전 상태 루트, 제안된 새 상태 루트, 거래 배치 커밋먼트를 입력에 결합합니다. 검증에 성공하면 결제 계약은 모든 거래를 재실행하지 않고 새 루트를 수락할 수 있습니다.

보장은 “시스템 전체가 옳다”보다 좁습니다. 건전한 암호학, 의도한 프로그램이나 회로, 올바른 공개 입력 인코딩, 진짜 검증 키, 올바른 검증기 및 상태 갱신 계약에 의존합니다. 검증만으로 데이터 조회, 증명자 가동, 결제 블록 최종성, 업그레이드 안전성 또는 출금 경로 작동을 입증하지는 않습니다. 영지식 방식을 사용할 수 있지만 유효성 자체가 프라이버시를 뜻하지는 않습니다.

1
실행

증명자가 배치나 계산을 실행해 상태 전이를 얻습니다.

작동 방식

  1. 정확한 배포를 고정합니다. L1·L2 체인 ID, 롤업 버전, 상태 갱신 계약, 검증기 주소와 바이트코드, 검증 키 해시, 증명 시스템, 회로·프로그램 버전, 데이터 모드, 관리자 권한, 일시 정지, 최종성 정책을 기록합니다. validity proof는 범용 규격이 아닙니다.
  2. 해석 전에 증명 관계를 정의합니다. 건전성 가정 아래 Verify(vk, x, proof) = 1R(x, w) = 1을 만족하는 증인 w의 존재를 뜻해야 합니다. vk는 검증 키, x는 전체 공개 입력, R은 인코딩된 규칙입니다. 증명은 이 관계만 다룹니다.
  3. 공개 입력을 독립적으로 재구성합니다. 이전 루트가 계약에서 수락된 루트인지 확인하고 정규 데이터로 배치·데이터 커밋먼트, ID, 새 루트, 메시지·출금 루트 및 매개변수를 도출합니다. 잘못된 대상에 결합된 유효한 증명은 잘못된 주장을 증명합니다.
  4. 증명과 계약 경로를 검증합니다. 독립 검증기를 실행한 뒤 온체인 호출, 영수증, 이벤트, 수락 배치, 저장소 변경을 확인합니다. 업그레이드나 특권 분기가 결과를 우회, 모의 또는 교체하지 않았는지 확인합니다.
  5. 데이터 가용성을 별도로 검증합니다. 필수 거래, 상태 차이, blob sidecar 또는 위원회 인증 데이터를 가져와 커밋먼트를 확인하고 상태 전이나 출구 증인을 재현합니다. 특히 validium에서는 유효한 증명과 조회 불가 데이터가 함께 존재할 수 있습니다.
  6. 생성, 제출, 포함, 증명 검증, 상태 수락, 결제 안전, 결제 확정, 출금 완료를 분리합니다. 증명 대기열, 비용, 가동성, L1 포함, 재구성, 브리지 지연, 강제 포함 및 탈출 절차를 측정합니다.
  7. 재현 가능한 증거를 보존합니다. 주소와 코드 해시, 키·프로그램 해시, 전체 입력, 증명 바이트나 영구 참조, 배치 데이터, 명령과 소프트웨어 버전, 영수증, 확정 블록, 성공한 출구 테스트입니다. 업그레이드마다 다시 확인합니다.

계산 예시

  • 배치 주장. 롤업이 8,192 transfers를 처리하고 증명이 R0, R1, B7을 결합합니다. 성공은 B7에 대해 R0에서 R1으로 가는 증인을 지지하지만, B7 조회, 전체 거래 포함 또는 R1 확정을 증명하지 않습니다.
  • 재귀 집계. 집계기가 부모 회로에서 16 child proofs를 검증하고 부모 증명을 제출합니다. 각 자식, 순서, 공개 입력 매핑은 별도로 확인해야 하며 개수만으로 결합은 성립하지 않습니다.
  • 가상 Gas 원장. 재실행 24,000,000 gas, 검증 600,000 gas, 데이터 게시 180,000 gas이면 합계는 600,000 + 180,000 = 780,000 gas, 모델상 감소율은 (24,000,000 - 780,000) / 24,000,000 = 96.75%입니다. 하드웨어, 집계, 실패, 저장, 브리지, 보존 비용은 제외합니다.

위험

  • 잘못된 체인, 배포, 배치, 검증기, 키 또는 회로를 확인한다.
  • 건전한 시스템이 불완전하거나 잘못된 회로를 충실히 증명한다.
  • 공개 입력에서 ID, 루트, 배치, 도메인 또는 매개변수가 누락·오인코딩된다.
  • 검증기, 프리컴파일, 불안전한 라이브러리 또는 비호환 구현 결함.
  • 설정 자료 침해 또는 암호학적 가정 붕괴.
  • 업그레이드 계약이나 거버넌스가 검증기, 키, 프로그램 또는 규칙을 교체한다.
  • 특권 우회, 비상 모드, 정지 또는 허용 목록이 경로를 약화한다.
  • 증명 생성 결함, 비결정성 또는 클라이언트 간 증인 불일치.
  • 증명자 중앙화, 검열, 장애, 적체 또는 하드웨어 고장이 갱신을 중단한다.
  • 거래, 상태 차이, blob, 원상 또는 기록이 누락된다.
  • 위원회 서명이나 커밋먼트를 현재 데이터 조회로 오해한다.
  • 불안전하거나 재구성된 비정규 블록의 증명을 수락한다.
  • 증명 수락을 즉시 출금 또는 경제적 최종성으로 오해한다.
  • 상태 전이, 잔액, 메시지 또는 출구 증인을 독립 재현하지 못한다.
  • Gas, 데이터 수수료, 지연, 브리지 대기 또는 복구 비용을 과소평가한다.
  • 한 롤업 모델을 다른 배포에 적용한다.

흔한 오해

  • 검증된 증명은 모든 구현 세부와 표시 잔액을 보장한다.
  • 모든 유효성 증명은 영지식이며 거래를 숨긴다.
  • 증명은 데이터, 시퀀서 가동성 및 검열 위험을 제거한다.
  • 검증 즉시 결제가 확정되고 출금 가능해진다.
  • 증명이 작거나 검증기가 빠르면 자동으로 더 안전하고 저렴하다.

관련 주제

출처

탐색

위키 검색...