Skip to content

가스 후원(계정 추상화)

CloudBank은 ERC-4337 계정 추상화를 통해 사용자의 가스 수수료를 후원하여 사용자가 거래 수수료로 BNB을 보유해야 하는 요구 사항을 제거합니다. 이는 기본 토큰이 없는 Web2 사용자를 온보딩하는 데 중요합니다.

아키텍처 개요

가스 후원 시스템은 일련의 전문 계약을 통해 거래 검증과 실행을 분리하는 ERC-4337 표준을 기반으로 구축되었습니다.

핵심 계약

EntryPoint v0.6

정식 ERC-4337 EntryPoint 계약은 다음 위치에 배포되었습니다.

0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789

이는 체인의 모든 UserOperations에 대한 싱글톤 진입점입니다. 모든 번들 작업에 대한 검증, 실행 및 가스 계산을 처리합니다.

CloudBankVerifyingPaymaster

Paymaster 계약은 후원할 UserOperations을 결정하는 CloudBank의 사용자 정의 구현입니다. 후원을 승인하기 위해 오프체인 ECDSA 서명 확인을 사용합니다.

확인 흐름

  1. 사용자는 UserOperation(목표, 호출 데이터, 가스 한도)을 구성합니다.
  2. 프런트엔드는 UserOp을 CloudBank의 페이마스터 API에게 보냅니다.
  3. API은 후원 자격을 평가하고 승인되면 paymaster의 개인 키로 UserOp 해시에 서명합니다.
  4. 서명된 paymasterAndData 필드는 UserOp에 첨부됩니다.
  5. 번들러는 UserOp을 EntryPoint에 제출합니다.
  6. EntryPoint은 paymaster 계약에서 EntryPoint을 호출하여 서명자를 복구하고 승인된 키와 일치하는지 확인합니다.

Features

FeatureDescription
발신자 허용 목록후원을 받을 수 있는 지갑 주소의 선택적 화이트리스트입니다. 활성화되면 나열된 주소만 가스 후원을 받습니다.
일일 후원자 한도후원 가스에 대한 발신자별 일일 한도를 통해 단일 계정의 남용을 방지합니다. UTC 자정에 재설정됩니다.
스테이크 관리페이마스터는 ERC-4337 사양에서 요구하는 대로 EntryPoint과 함께 ETH/BNB 지분을 유지합니다. 관리 기능은 지분 입금 및 출금을 처리합니다.

서명 방식

Paymaster 서명에는 다음이 포함됩니다.

  • 보낸 사람 주소
  • Nonce
  • 유효 시간 종료 타임스탬프
  • 유효 시간 이후 타임스탬프
  • Paymaster별 데이터(스폰서 잔여 한도 등)

이를 통해 각 스폰서십 승인은 시간 제한이 있고 재생이 불가능합니다.

BEP-414 대체

ERC-4337이 최적이 아닌 시나리오의 경우 CloudBank는 BSC의 기본 가스 후원 제안인 BEP-414도 지원합니다. BEP-414을 사용하면 지정된 스폰서가 UserOperation 추상화 계층을 요구하지 않고 프로토콜 수준에서 가스 요금을 지불할 수 있습니다.

BEP-414을 사용하는 경우

  • 일괄 작업이 필요하지 않은 간단한 토큰 전송입니다.
  • 아직 스마트 계약 지갑과 호환되지 않는 계약과의 상호 작용.
  • ERC-4337 번들러를 일시적으로 사용할 수 없을 때 대체합니다.

BEP-414은 UserOperation 수준이 아닌 트랜잭션 수준에서 작동하므로 전체 AA 파이프라인보다 더 간단하지만 유연성이 떨어집니다.

UserOperation 수명주기

운영 고려 사항

  • 스테이크 모니터링 — 페이마스터의 EntryPoint 예치금은 최소 스테이크 임계값 이상으로 유지되어야 합니다. 잔액이 구성된 경고 수준 아래로 떨어지면 자동 경고가 트리거됩니다.
  • 키 순환 — Paymaster 서명 키는 승인된 서명자 주소를 업데이트하여 계약을 재배포하지 않고도 순환할 수 있습니다.
  • 비율 제한 — 백엔드 페이마스터 API은 온체인 일일 스폰서 한도와 별개로 자체 비율 제한을 적용하여 남용에 대한 심층적인 방어를 제공합니다.