Solana의 인증 메커니즘: x402가 EVM을 넘어 어떻게 작동하는지

발행: (2025년 12월 11일 오전 05:24 GMT+9)
4 min read
원문: Dev.to

Source: Dev.to

왜 Solana는 ERC‑3009가 필요하지 않은가

Ethereum에서는 ERC‑3009가 두 가지 주요 문제를 해결합니다:

  • 두 단계 승인approve + transferFrom 패턴은 두 개의 트랜잭션이 필요합니다.
  • 가스 비용 – 사용자는 가스 비용을 지불하기 위해 ETH를 보유해야 합니다.

Solana의 아키텍처는 이 두 문제를 근본적으로 해결합니다.

원자성 멀티‑인스트럭션 트랜잭션

단일 Solana 트랜잭션은 여러 인스트럭션을 포함할 수 있으며, 이들은 원자적으로 실행됩니다:

const transaction = new Transaction()
  .add(createApproveInstruction(...))   // Approve
  .add(createTransferInstruction(...)); // Transfer

// 두 인스트럭션이 ONE 원자 트랜잭션으로 실행됩니다
await sendAndConfirmTransaction(connection, transaction, [payer]);

수수료 지급자 추상화

Solana에서는 어떤 계정이든 트랜잭션 수수료를 낼 수 있습니다:

const transaction = new Transaction();
transaction.feePayer = sponsorPublicKey; // 스폰서가 가스를 부담
transaction.add(transferInstruction);

이를 통해 사용자는 SOL을 전혀 보유하지 않아도 되는 “가스 없는” 경험을 제공할 수 있습니다.

Solana의 토큰 권한 모델

SPL 토큰 프로그램 기본

ConceptDescription
Mint토큰 계약 (예: USDC mint)
Token Account특정 토큰에 대한 사용자의 잔액
Associated Token Account (ATA)지갑 + mint에서 파생된 표준 토큰 계정
Authority전송을 승인할 수 있는 계정

EVM (ERC‑3009) vs Solana 비교

AspectEVM + ERC‑3009Solana
Approval pattern오프‑체인 서명트랜잭션에 내장
Gas payment중개자가 지불설정 가능한 수수료 지급자
Nonce handling임의 bytes32최신 블록 해시
Transaction atomicity단일 연산멀티‑인스트럭션
Meta‑transaction supportERC‑3009 필요네이티브 지원

x402에 두 접근 방식이 모두 작동하는 이유

아키텍처 차이가 있더라도, 두 방식 모두 동일한 x402 목표를 달성합니다:

  • 사용자가 가스를 내지 않음 – 중개자가 수수료를 부담
  • 단일 사용자 행동 – 하나의 서명/승인
  • 신뢰 없는 검증 – 의도에 대한 암호학적 증명
  • 원자적 정산 – 전부 혹은 전무 실행

Solana에서 가스 없는 전송

1. 수수료 지급자 스폰서십 (네이티브)

const transaction = new Transaction();
transaction.feePayer = facilitatorPublicKey;
transaction.add(usdcTransferInstruction);

2. Kora Protocol

SPL 토큰 수수료를 SOL로 변환해 주는 서비스 — 사용자는 USDC로 비용을 지불하고 SOL을 전혀 다루지 않습니다.

3. Octane

토큰 기반 수수료 지불을 위한 오픈소스 가스 없는 트랜잭션 릴레이어.

Solana의 USDC

PropertyValue
Mint AddressEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
Decimals6
ProgramSPL Token
IssuerCircle

References

Back to Blog

관련 글

더 보기 »

현실이 사라질 때

2024년 12월, 페이‑페이 리는 가득 찬 스탠포드 강당에 낡은 엽서를 들어 보였다—반 고흐의 *The Starry Night*는 세월에 따라 색이 바래고 주름이 잡혀 있었다. 그녀는 그것을…

알고 계셨나요? (Part 3)

Google Cloud Shell을 환경으로 사용하여 코딩할 수 있습니다! JavaScript, .NET 등 다양한 도구가 포함되어 있습니다. 무엇보다도, 설치할 수 있습니다.