Status Network의 가스리스 트랜잭션
Status Network는 대규모 가스리스 트랜잭션 도입을 목표로 합니다. 이 가스리스 접근 방식의 핵심 구성 요소는 Vac의 Rate Limiting Nullifier로, 기존 가스 수수료 없이도 트랜잭션 속도 제한을 가능하게 합니다. 이 문서는 가스리스 트랜잭션을 안전하게 활성화하는 데 필요한 아키텍처와 통합 요소를 설명합니다.
이러한 가스리스 트랜잭션의 구현 코드는 Status Network 모노레포에서 확인할 수 있습니다.
1.2 RLN
RLN은 위반이 발생하지 않는 한 사용자 프라이버시를 손상시키지 않으면서 스팸을 방지하도록 설계된 영지식 시스템입니다. ZKP와 Shamir의 비밀 공유를 통해 시행되는 암호화 속도 제한으로 기존 가스 수수료를 대체합니다.
RLN 특성:
- 영지식 증명: 사용자는 자신의 신원을 공개하지 않고 RLN 그룹 멤버십을 확인하는 ZKP를 생성합니다. 그룹 멤버십은 각 티어의 최대 가스리스 트랜잭션 처리량을 나타냅니다.
- Shamir의 비밀 공유 및 Nullifier: 사용자는 트랜잭션에 대한 고유한 nullifier를 생성하는 데 사용되는 비밀 키를 보유합니다. 사용자가 에포크(예: 블록 또는 타임스탬프) 내에서 트랜잭션 제한을 초과하면 비밀 키가 복구 가능해져 노출됩니다.
- 스팸 탐지: 제한을 초과하는 사용자는 효과적으로 자신의 비밀을 공개하게 되어 거부 목록 포함, 향후 높은 가스 비용 또는 잠재적인 토큰 슬래싱과 같은 처벌을 받게 됩니다.
1.3. RLN 멤버십 관리
RLN은 대규모 멤버십 증명을 효율적으로 처리하기 위해 희소 머클 트리를 사용합니다. 벤치마킹 연구에 따르면 100만 계정을 지원하는 높이 20의 트리가 증명 생성 및 검증에 최적의 성능을 제공합니다. 100만 계정을 초과하는 확장성을 위해 레지스트리와 함께 여러 SMT를 사용하여 사용자를 적절한 트리로 안내할 수 있습니다.
Prover에는 Karma가 새 주소에 할당되는 Karma Contract의 이벤트를 수신하는 Registrar Service가 포함됩니다. 이러한 이벤트를 감지하면 Registrar Service는 RLN 자격 증명(identitySecretHash 및 identityCommitment)을 생성하고 등록하여 사용자를 RLN Membership Contract에 온보딩합니다. RLN Prover Service는 트랜잭션에 대한 증명을 생성하고, 이는 gRPC를 통해 Sequencer의 RLN Verifier로 스트리밍됩니다. Verifier는 이러한 증명을 메모리에 저장하고 프로세스가 비동기적이므로 트랜잭션 해시를 기반으로 들어오는 트랜잭션과 일치시킵니다.