---
title: "온체인 앱을 위한 가장 저렴한 Smart Wallet 소개"
description: "모든 사용자와 트랜잭션에서 보안, 비용, 유연성을 극대화하는 데 도움을 주는 Alchemy Smart Wallets의 설계를 자세히 살펴보세요."
---

# 온체인 앱을 위한 가장 저렴한 Smart Wallet 소개

다음은 여러분을 밤잠 설치게 만들 수 있는 몇 가지입니다.

- **보안 취약점** - 사용자와 평판을 위험에 빠뜨림
- **고통스러운 마이그레이션** - 벤더 락인을 발견하거나 제공업체를 신뢰할 수 없을 때
- **비싼 툴링** - 재정적으로 지속 불가능한 수준의 스케일링 비용

저희도 개발자이기 때문에 이런 상황에 공감하며, 여러분이 이런 악몽을 피할 수 있도록 돕는 도구를 만드는 데 전념하고 있습니다. 그래서 저희는 가장 비용 효율적이고, 안전하고, 유연한 스마트 지갑을 제공하여 여러분이 출시와 스케일링에 집중할 수 있도록 합니다.

<ImageBlock
  src="https://media.alchemy.com/1746456107-ws-benchmarks-blog.jpg"
  alt="스마트 지갑 비용 절감 비교"
  width={2400}
  height={1260}
  caption="Alchemy Smart Wallets로 비용 53% 절감"
  priority
/>

## 스마트 지갑이란?

web3를 만들어본 사람이라면 [MetaMask](https://www.alchemy.com/dapps/metamask)와 같은 [전통적인 EOA](/overviews/best-ethereum-wallets-for-developers-complete-evm-guide-2025) \(Externally Owned Account\) 지갑의 한계를 이해할 것입니다. 시드 문구, 가스비, 브라우저 확장 프로그램 — 전체 경험이 마찰을 만들어 사용자 온보딩과 거래 완료를 방해합니다.

[스마트 지갑](/smart-wallets)은 이 영역에서 상당한 진전을 이루었습니다. 이는 블록체인 상에 존재하는 스마트 컨트랙트로 구동되는 프로그래밍 가능한 계정이며, [ERC-4337](/overviews/what-is-account-abstraction)이라는 표준을 활용합니다.

이 근본적인 차이는 전통적인 EOA 지갑이 제공할 수 없는 기능들을 가능하게 합니다:

- **계정 복구** - 잊어버린 시드 문구로 인한 영구적 손실 제거
- **일괄 트랜잭션** - 여러 작업을 한 번에 실행
- **가스 후원** - 애플리케이션이 사용자를 위해 가스비를 부담할 수 있도록 허용
- **커스텀 권한 부여** - 전부 아니면 전무 방식을 넘어선 세밀한 권한 시스템 구현

개발자 입장에서 이는 web2 수준의 온체인 경험을 만드는 것을 의미합니다. 사용자 입장에서는 기반 기술의 복잡성을 이해할 필요 없이 블록체인 애플리케이션과 상호작용하는 것을 의미합니다.

[스마트 지갑](/smart-wallets)은 블록체인의 잠재력과 대중적 채택 사이의 간극을 메워주며, 매끄러운 web3 경험을 가능하게 하는 관문 역할을 합니다. Alchemy는 [\#1 스마트 지갑 제공업체](https://www.bundlebear.com/erc4337-factories/all)로, 현재 1,600만 개 이상의 스마트 지갑을 운영하고 있으며, Ethereum Foundation과 함께 [ERC-6900](https://erc6900.io/) 같은 표준을 공동 저술했습니다. 이제 저희는 그 전문성을 여러분을 위해 활용하고 있습니다. 저희가 이를 어떻게 만들었는지, 그리고 여러분이 승리하는 앱을 만드는 데 어떻게 활용할 수 있는지 살펴보겠습니다.

<CardWithCta
  text="Alchemy Smart Wallets로 비용, 보안, 유연성 모두 최고 수준을 확보하세요."
  ctaLabel="시작하기"
  ctaHref="/"
  theme="light"
/>

## 요약

<ImageBlock
  src="https://media.alchemy.com/1746799178-img-1-4.png"
  alt="스마트 지갑 비용, 보안, 유연성 벤치마크 요약 차트"
  width={3840}
  height={2160}
  caption="Alchemy Smart Wallets로 비용 효율적으로 확장하세요"
/>

시간이 소중하다는 것을 알기에, 요약해 드립니다. 중요한 내용은 다음과 같습니다:

- **최저 계정 생성 비용**: 저희 스마트 지갑은 업계 평균보다 배포 비용이 약 53% 저렴합니다 \(주요 L2에서 0.56¢ 대비 0.26¢\). 큰 비용 부담 없이 수백만 명을 온보딩할 수 있습니다
- **최저 트랜잭션 비용:** 저희 스마트 지갑은 모든 트랜잭션에서 대안 대비 약 5-10%를 절감해줍니다.
- **최고의 보안성**: [Quantstamp](https://www.alchemy.com/dapps/quantstamp), Chainlight, 500명 이상의 보안 연구원에 의해 완전히 [감사](https://github.com/alchemyplatform/modular-account/tree/develop/audits)받았습니다
- **진정한 모듈성**: 실행 함수, 검증, 훅을 통해 기능을 무한히 확장할 수 있습니다.
- **개발자 친화적**: 스마트 컨트랙트 전문가가 될 필요 없는 [간단한 SDK](https://www.alchemy.com/docs/wallets/smart-contracts/modular-account-v2/overview)

[**스마트 지갑**](/smart-wallets)은 수백만 명의 사용자를 여러분의 앱에 온보딩하기 위해 설계되었습니다. 안전하고 비용 효율적으로 실행하고, 스케일에 대해 걱정할 필요가 없습니다.

<CardWithCta
  text="가격 계산기를 사용해 확장 시 예상 지갑 비용을 산출해 보세요."
  ctaLabel="계산기 사용"
  ctaHref="https://wallet-calculator.alchemy.com/"
  theme="light"
/>

저희가 어떻게 이러한 업계 최고 수준의 결과를 달성했는지 자세히 알아보려면 계속 읽어보세요.

## 핵심 설계 원칙

<ImageBlock
  src="https://media.alchemy.com/1746457678-img-2-1.png"
  alt="스마트 지갑 비용 효율성, 유연성, 보안 요약"
  width={3840}
  height={2160}
  caption="Alchemy Smart Wallets는 비용 효율성, 유연성, 보안을 극대화하도록 설계되었습니다."
/>

많은 제공업체들이 여러분에게 타협을 강요합니다. 보안을 원하시나요? 유연성은 포기하세요. 저렴하게 필요하신가요? 복잡함을 감수하세요.

저희는 타협할 필요가 없다고 믿습니다. 스마트 지갑 기능을 구동하는 스마트 컨트랙트는 세 가지 핵심 원칙을 염두에 두고 구축되었습니다:

- **보안**: 여러분의 자산은 안전하게 유지됩니다, 예외 없이.
- **비용**: 초고효율적인 가스 사용 — 배포도 사용도 저렴함.
- **유연성**: 이것은 _스마트_ 지갑입니다. 세밀한 제어로 필요한 기능을 쉽게 추가하세요.

그리고 이 모든 것이 최고 수준의 SDK로 쉽게 사용할 수 있습니다. "스마트 컨트랙트 마법사"가 될 필요가 없습니다.

### 보안

저희에게 보안은 단순한 기능이 아니라 최우선 순위입니다. 저희 컨트랙트는 두 개의 선도적인 회사인 [Quantstamp](https://github.com/alchemyplatform/modular-account/blob/develop/audits/2024-12-11_quantstamp_14afcd8.pdf)와 [Chainlight](https://github.com/alchemyplatform/modular-account/blob/develop/audits/2024-12-03_chainlight_14afcd8.pdf)의 감사를 받았으며, [Cantina](https://www.alchemy.com/dapps/cantina)의 5,000명 이상의 보안 연구원 커뮤니티를 통해서도 검증받았습니다.

세 가지 가능한 실행 경로가 있습니다 —

1. UserOp 경로.
1. 런타임 검증 경로 \(`executeWithRuntimeValidation\(\)`을 통해\).
1. 직접 호출 경로.

각 경로는 다르게 작동하지만, 모두 동일한 보안 표준을 유지합니다. 이 구현은 **검증**을 통해 유연성 _그리고_ 보안을 극대화합니다. 자세히 살펴보겠습니다.

#### 검증

일반적으로 표준 트랜잭션을 전송할 때, 사용자의 EOA가 트랜잭션 세부 정보에 서명하여 실제로 자신이 보내는 것임을 증명합니다.

하지만 계정 추상화 \([ERC-4337](/overviews/what-is-account-abstraction)\)를 사용하면, 사용자가 트랜잭션을 직접 보내지 않거나 표준 EOA를 사용해 트랜잭션 세부 정보에 서명하지 않을 수도 있습니다. 그렇다면 사용자 작업을 어떻게 인증할까요?

_검증(validation)_이 등장합니다.

개념적으로, 검증은 스마트 계정이 수행할 수 있는 하나 이상의 잠재적 작업과 연관된 인증 방법입니다.

<CalloutBlock>

**스마트 계정과 스마트 지갑의 차이점은 무엇인가요?**
스마트 지갑은 스마트 계정 기능을 활용하는 지갑으로, 소셜 복구, 일괄 트랜잭션, 커스텀 보안 규칙 같은 프로그래밍 가능한 기능을 매끄러운 인터페이스를 통해 직접 제공합니다.

</CalloutBlock>

검증은 스마트 계정에 세밀한 보안을 추가합니다. 무엇이든 할 수 있는 전지전능한 슈퍼 검증을 만들 수도 있고, 반대로 각각 다르고 좁은 범위를 가진 수십 개의 검증을 만들 수도 있습니다.

기본적으로 계정에는 미리 설치된 폴백 검증이 있어, 원래 서명자 \(계정의 "소유자"\)가 무엇이든 실행할 수 있습니다. 이는 완전히 구성 가능하며, 이 검증은 완전히 비활성화할 수도 있습니다.

검증은 다음 규칙을 따라야 합니다:

- 검증은 사용되기 위해 계정에 "설치"되어야 합니다.
- 검증은 셀렉터별로 특정될 수도, 전역적일 수도 있습니다.
- 검증은 세밀한 접근 제어를 위해 임의의 수의 "훅"과 연관될 수 있습니다.
- 검증은 userOp, 런타임 호출 \(`executeWithRuntimeValidation\(\)`을 통해\), EIP-1271 서명의 임의 조합을 검증하는 데 사용될 수 있습니다.
- 특수 식별자로 검증을 설치하면, 해당 검증과 연관된 주소가 지정된 기능에 대해 계정을 직접 호출할 수 있습니다.
  - 이는 다른 EOA가 여러분의 스마트 계정에서 제한된 작업을 실행할 수 있도록 하는 데 사용될 수 있습니다.

검증은 접근 제어와 권한 위임을 세밀하게 관리할 수 있는 강력한 시스템을 제공합니다.

더 나아가, 검증은 단순한 인증 방법을 넘어 앱이 사용자로부터 안전하게 권한을 요청할 수 있게 하며, 앱의 통제 밖에서 사용자의 지갑이 \(훅의 형태로\) 추가적인 보증을 제공할 수 있습니다. 설계 가능성은 그야말로 무한합니다.

### 유연성

진정한 스마트 지갑은 여러분의 필요에 맞게 적응해야지, 그 반대가 되어서는 안 됩니다. 저희 스마트 컨트랙트는 세 가지 핵심 구성 요소를 통해 모듈식으로 설계되었습니다:

#### 실행 함수
실행 함수는 계정으로의 호출을 지정된 주소로 중계할 수 있게 합니다.

예를 들어, [NFT 마켓플레이스](https://www.alchemy.com/dapps/best/nft-marketplaces)를 구축하는 경우, 수신 주소로의 콜백이 필요한 토큰 전송 \(`onERC721Received\(\)` 같은\)을 지원하고 싶을 수 있습니다. 저희 실행 함수를 사용하면, 이는 단 한 번의 설치 호출로 가능하며 복잡한 커스텀 코드가 필요 없습니다.

#### 검증
앞서 언급했듯이, 검증은 전역적이거나 함수별로 특정될 수 있는 권한 부여 방법입니다. 여기서 강점은 계정이 단일 서명 방식에 묶여 있지 않다는 점입니다 — 여러분이 선택한 모든 권한 부여 방법과 작동합니다.

패스키를 지원하고 싶으신가요? 소셜 로그인은요? 작업마다 다른 임계값을 가진 멀티시그는요? 모두 검증을 통해 가능합니다.

#### 훅
훅은 모듈성이 진정으로 빛을 발하는 부분입니다. 스마트 지갑의 모든 함수나 검증에 커스텀 로직을 연결할 수 있게 합니다.

하루 최대 금액 제한을 두고 특정 토큰의 전송만 허용하는 검증을 만들 수 있습니다 — 달러 코스트 애버리징이나 구독 결제에 완벽합니다. 또는 고액 거래 전에 고급 보안 검사를 구현하는 훅을 상상해보세요.

---

이 구성 요소들이 함께 작동하여 저희 스마트 지갑을 미래에도 대응 가능하게 만듭니다. 새로운 권한 부여 방법이 등장하거나 애플리케이션의 요구사항이 진화하더라도, 사용자에게 고통스러운 마이그레이션을 강요하지 않고 지갑 인프라를 적응시킬 수 있습니다.

### 비용

<EmbeddedTable
  table={{
    columns: [
      { key: "1", width: 200, title: "PROVIDER", dataType: "object" },
      { key: "2", width: 200, title: "ACCOUNT CREATION", dataType: "object" },
      { key: "3", width: 200, title: "ERC-20 TRANSFER", dataType: "object" },
    ],
    data: [
      {
        "1": { title: "<p>Alchemy</p>", tooltip: "", icon: "" },
        "2": { title: "<p>0.036¢</p>", tooltip: "", icon: "" },
        "3": { title: "<p>0.074¢</p>", tooltip: "", icon: "" },
        id: 0,
      },
      {
        "1": { title: "<p>Biconomy Nexus</p>", tooltip: "", icon: "" },
        "2": { title: "<p>0.074¢</p>", tooltip: "", icon: "" },
        "3": { title: "<p>0.076¢</p>", tooltip: "", icon: "" },
        id: 1,
      },
      {
        "1": { title: "<p>ZeroDev Kernel v3.1</p>", tooltip: "", icon: "" },
        "2": { title: "<p>0.067¢</p>", tooltip: "", icon: "" },
        "3": { title: "<p>0.085¢</p>", tooltip: "", icon: "" },
        id: 2,
      },
      {
        "1": { title: "<p>Safe v1.4.1</p>", tooltip: "", icon: "" },
        "2": { title: "<p>0.104¢</p>", tooltip: "", icon: "" },
        "3": { title: "<p>0.081¢</p>", tooltip: "", icon: "" },
        id: 3,
      },
      {
        "1": { title: "<p>Coinbase Smart Wallet</p>", tooltip: "", icon: "" },
        "2": { title: "<p>0.067¢</p>", tooltip: "", icon: "" },
        "3": { title: "<p>0.075¢</p>", tooltip: "", icon: "" },
        id: 4,
      },
    ],
  }}
/>

가스 효율성은 있으면 좋은 것이 아니라, 스케일이 가능한 제품과 그렇지 않은 제품의 차이입니다.

저희 스마트 지갑은 단일 [Uniswap](https://www.alchemy.com/dapps/uniswap) V2 스왑보다 적은 가스로 배포됩니다. 저희는 [Solady](https://github.com/vectorized/solady)의 Clone ERC1967 프록시를 불변 인자와 함께 활용하여 이 돌파구를 달성했습니다.

소유자 주소를 비용이 많이 드는 컨트랙트 스토리지에 저장하는 대신, 프록시의 바이트코드에 직접 추가합니다. 이는 언제든지 수정하거나 제거할 수 있는 폴백 검증으로 작동합니다. 결과는? 지원되는 모든 체인에서 10만 가스 미만의 결정론적 배포, 즉시 사용 가능성, 기능에 대한 어떠한 타협도 없음.

#### 전체 비용 우위

사용 시나리오에서 업계 경쟁사와 벤치마크했을 때, 저희 지갑은 상당한 절감 효과를 제공합니다:

- 경쟁사 대비 **계정 생성 비용 약 53% 저렴**
- 계정 생성 기준 **Safe 대비 66% 저렴**, **ZeroDev Kernel 대비 46% 저렴**
- 모든 작업 유형 \(네이티브 전송, ERC-20 전송, 스왑\)에서 **트랜잭션 약 10% 절감**
- **대규모에서의 상당한 절감**: 각각 100건의 트랜잭션을 가진 100만 개 계정을 배포하면 대안 대비 \(L2에서\) 약 $30,000을 절감합니다.

계산은 간단합니다. 저희의 극적으로 낮은 계정 생성 및 트랜잭션 비용은 사용자 기반이 성장함에 따라 복리로 쌓이는 실질적인 절감으로 이어집니다.

배포를 넘어, 저희는 모든 작업에 효율성을 설계했습니다. 스마트 컨트랙트는 재사용 가능한 인메모리 버퍼를 포함한 고도로 최적화된 메모리 관리 기법을 사용하여 구축되었으며, 이는 실행 중 가스 소비를 크게 줄입니다.

배포부터 일상적인 운영까지 모든 단계에서 비용이 중요하다는 것을 알기에, 저희는 가스 효율성을 한계까지 밀어붙였습니다. 이는 애플리케이션이 확장됨에 따라 강력한 기능과 저렴함 사이에서 선택할 필요가 없다는 것을 의미합니다.

전체 벤치마크 분석은 [여기](https://github.com/alchemyplatform/aa-benchmarks)에서 확인하세요.

<CardWithCta
  text="더 절감하고 싶으신가요? 대규모 운영 시 적용 가능한 맞춤 가격에 대해 저희 팀에 문의하세요."
  ctaLabel="영업팀 문의"
  ctaHref="/"
  theme="light"
/>

### 사용 편의성

사용할 수 없다면 최고의 계정을 가지고 있어도 소용이 없습니다. 저희는 모든 복잡함을 추상화하여, 방해되지 않는 깔끔하고 잘 문서화된 인터페이스를 제공합니다.

클라이언트를 설정하면, userOp 전송은 다음처럼 간단합니다:

<CodeSnippet
  language="tsx"
  code={`    const result = await account.sendUserOperation({
      uo: {
        target: target,
        value: sendAmount,
        data: callData,
      },
    });`}
/>
저희 SDK는 UserOp nonce에 검증을 인코딩하고, [ERC6492](https://eips.ethereum.org/EIPS/eip-6492)로
메시지를 서명하는 것과 같은 세부 사항, 그리고
스마트 계정 작업 시 발생하는 좀 더 일반적인 고려 사항들을 추상화합니다.

이러한 사용 편의성은 여러분이 가장 중요한 것, 즉 사용자를 위한 최고의 경험을 최대한 효율적으로 출시하는 데 집중할 수 있게 해줍니다.

<CardWithCta
  text="10분 이내에 앱에 스마트 지갑을 적용하세요."
  ctaLabel="시작하기"
  ctaHref="https://www.alchemy.com/docs/wallets/react/quickstart"
  theme="light"
/>

## 구현

이 핵심 설계 원칙들이 어떻게 구현되는지 더 깊이 살펴보겠습니다.

### 자세히 살펴보기: 비용 효율성

비용 효율성은 모든 곳에 내장되어 있습니다. 몇 가지 핵심 영역, 즉 계정 생성, 세션 키 생성, 사용자 작업을 살펴보겠습니다.

#### 최저 계정 생성 비용

_저희가 달성한 것:_

- 업계 최고의 효율성: 팩토리에서 계정당 단 98,000 가스
- 단순한 실행이 포함된 사용자 작업에서 250,000 가스
- 계정 생성에서 ZeroDev 대비 최대 46% 저렴, Safe 대비 84% 저렴

일반적인 계정 초기화 대신, `SemiModularAccountBytecode`은 업계 최저 수준의 스마트 계정 생성 비용을 달성하기 위해 컨트랙트-as-스토리지 패턴을 사용합니다.

이는 계정에 ECDSA에 대한 네이티브 지원을 추가하고, 스토리지를 사용하는 대신 [Solady](https://www.alchemy.com/dapps/solady)의 `LibClone.createDeterministicERC1967`를 사용하여 소유자 주소를 프록시 바이트코드에 추가함으로써 이루어졌습니다. 초기화 호출을 건너뛰면 2번의 제로-투-넌제로 EVM 스토리지 작업 수행이 제거되어 총 51,000 가스가 절감됩니다. 초기화 단계를 제거하면 [EIP-7702 호환성](/overviews/eip-7702-ethereum-pectra-hardfork)도 추가로 가능해집니다.

이러한 최적화는 온보딩하는 각 사용자마다 복리로 쌓이는 실질적인 비용 절감으로 이어집니다.

#### 세션 키를 위한 비용 최적화

<CalloutBlock>

**세션 키란 무엇인가요?**
사용자의 메인 키가 필요 없이, 또는 각 트랜잭션마다 반복적인 승인 없이 앱이 사용자의 지갑을 대신해 특정 작업을 수행할 수 있게 해주는 임시적이고 제한된 접근 자격 증명입니다.

</CalloutBlock>

세션 키는 스마트 지갑의 인기 기능입니다. 저희는 **지연된 작업\(deferred actions\)**을 통해 세션 키의 생성 및 사용 비용을 크게 낮췄으며, 이는 생성과 첫 사용을 단일 작업으로 결합함으로써 40,000 가스를 절감합니다.

여러분의 앱이 월간 결제로 프리미엄 서비스를 구독할 수 있게 한다고 상상해보세요. 전통적인 EOA 지갑에서는 사용자 경험이 고통스럽습니다:

1. 사용자가 가입하고 첫 결제를 승인함
1. 다음 달, 사용자는 수동으로 다른 트랜잭션을 승인해야 함
1. 사용자가 잊거나 이용할 수 없다면, 구독이 만료됨
1. 여러분은 수익을 잃고 사용자는 서비스 접근 권한을 잃음

이를 해결하기 위해, 여러분은 사용자가 각 결제를 승인할 필요 없이 앱이 월간 결제를 처리할 수 있도록 세션 키를 구현하고 싶을 것입니다. 하지만 다른 스마트 지갑 제공업체에서는 이를 설정하는 것이 답답합니다:

1. 사용자는 구독 세션 키를 생성하기 위해 트랜잭션에 서명해야 함
1. 블록체인 확인을 기다림 \(수 분이 걸릴 수 있음\)
1. 첫 결제를 설정하기 위해 또 다른 트랜잭션에 서명함
1. 다시 확인을 기다림

이런 어색한 경험이 발생하는 이유는 다른 제공업체들이 모든 작업에 걸쳐 **단일** 검증을 사용해야 하는 단순한 일괄 실행만 지원하기 때문입니다. 즉, 서로 다른 유형의 인증이 필요한 작업들을 단일 트랜잭션에서 결합할 수 없습니다.

**지연된 작업**을 사용하면 이는 원클릭 경험이 됩니다. 사용자는 결제 세션 키를 생성하고 첫 결제를 단일의 매끄러운 트랜잭션에서 처리합니다. 이는 사용자 작업 nonce의 지연된 작업 플래그가 설정된 경우에만 수행되는 추가적인 검증 \+ 실행 단계가 사용자 작업 검증 내에서 구현됨으로써 달성됩니다.

- 세션 키 생성과 첫 결제를 하나의 작업으로 결합하여, 단계와 비용을 절약합니다.
- 소유자 검증 \(키 생성용\)과 세션 키 검증 \(결제용\)을 함께 처리합니다
- 트랜잭션 데이터의 플래그에 의해 트리거되는 특수 처리를 구현했습니다

또한, 저희는 지연된 작업을 설계할 때 보안을 최우선으로 고려했습니다. 지연된 작업을 설계하면서 여러 계층의 보호 장치를 구현했습니다:

**재전송 공격 방지**

트랜잭션 nonce \(고유 식별자\)를 지연된 작업 nonce로도 사용합니다. 이는 누군가가 지연된 작업을 복사하여 여러 번 재전송하는 것을 방지합니다

**변조 저항성**

지연된 작업은 트랜잭션의 서명 필드에 저장되며, 이는 트랜잭션 처리자 \(번들러/릴레이어\)에 의한 수정에 잠재적으로 취약할 수 있습니다.

저희는 두 가지 중요한 안전장치를 통해 이를 해결합니다:

1. 검증 바인딩

- 트랜잭션 nonce에는 사용할 검증 방법에 대한 정보가 포함됩니다
- 이는 지연된 작업이 의도된 검증 함수에 의해서만 실행될 수 있도록 보장합니다
- **결과**: 추출되더라도, 지연된 작업은 다른 검증 방법과 함께 사용될 수 없습니다

1. 제거 방지

- nonce 내 특정 데이터의 존재는 지연된 작업이 존재해야 함을 알립니다
- 이는 중간자가 트랜잭션에서 지연된 작업을 제거하는 것을 방지합니다
- **결과**: 전체 트랜잭션은 항상 사용자가 의도한 대로 정확히 처리됩니다

이러한 안전장치는 생성부터 블록체인에서의 실행까지, 트랜잭션 생명주기 전반에 걸쳐 지연된 작업이 안전하게 유지되도록 함께 작동합니다.

<ImageBlock
  src="https://media.alchemy.com/1746460390-img-5-deferred-actions.png"
  alt="지연된 작업(Deferred actions)으로 세션 키 생성 비용 절감"
  width={3840}
  height={2160}
  caption="지연된 작업(Deferred actions)으로 세션 키 생성 비용 절감"
/>

#### 사용자 작업을 위한 비용 최적화

<CalloutBlock>

**사용자 작업이란 무엇인가요?**

사용자 작업은 스마트 지갑이 사용자를 대신해 트랜잭션을 실행할 수 있게 해주는 트랜잭션 객체로, Ethereum의 핵심 프로토콜을 변경하지 않고도 더 유연한 블록체인 상호작용을 가능하게 합니다.

</CalloutBlock>

저희는 콜 버퍼 기능을 사용하여 단순한 사용자 작업의 가스 비용을 3,000-6,000 가스 추가로 절감하며, 더 복잡한 사용자 작업에서는 더 큰 절감이 예상됩니다.

오늘날 [Solidity](https://www.alchemy.com/overviews/solidity) 컴파일러의 한 가지 설계상 특이점은, 메모리에 있는 변수가 더 이상 사용되지 않더라도 메모리를 할당만 하고 해제하지 않아 불필요한 메모리 확장을 야기하는 바이트코드를 생성한다는 것입니다. 메모리 작업은 스토리지나 콜 비용에 비해 미미한 경향이 있지만, EVM은 메모리 확장에 대해 이차적인 비용을 부과하기 때문에 복잡한 애플리케이션이나 호출에서는 이것이 매우 중요해집니다.

사용자 작업과 실행에 구현될 수 있는 훅에 대해, Solidity는 훅이나 검증 호출당 메모리 확장을 발생시킵니다. 저희는 대신 Solidity 내에서 인라인 어셈블리로 사용되는 저수준 언어인 Yul로 콜 버퍼를 구현하여, 수행되는 모든 훅 호출에 걸쳐 재사용될 메모리 세그먼트를 할당합니다.

### 보안 자세히 살펴보기: 세션 키

세션 키는 스마트 지갑의 일반적인 기능으로, 사용자가 특정 권한을 외부 애플리케이션이나 서비스에 위임할 수 있게 합니다. 이 기능은 더 큰 유연성과 사용성을 가능하게 하지만, 보안을 유지하려면 신중한 구현이 필요합니다. 저희의 ERC-6900 호환 계정이 세션 키 구성을 통해 사용자를 위한 포괄적인 보호를 어떻게 제공하는지 살펴보겠습니다.

**1. 컨트랙트 및 셀렉터 허용 목록**

세션 키를 통한 제한 없는 컨트랙트 호출 기능은 특히 [ERC20](https://www.alchemy.com/overviews/erc20-solidity) 토큰과 관련하여 계정을 상당한 위험에 노출시킬 수 있습니다. 토큰 소유권과 잔액은 컨트랙트 수준에서 관리되기 때문에, 무제한 세션 키는 사실상 모든 ERC20 토큰에 대한 무제한 접근을 부여할 수 있습니다. 저희는 엄격한 컨트랙트 및 셀렉터 허용 목록을 구현하여 이를 해결하며, 사용자가 세션 키가 상호작용할 수 있는 컨트랙트와 함수를 정확히 정의할 수 있도록 합니다.

**2. 다층적 지출 제어**

컨트랙트 수준의 제한을 넘어, 세밀한 지출 제어는 포괄적인 보안을 위해 필수적입니다. 저희는 다음을 설정할 수 있도록 합니다:

- 네이티브 토큰 지출 한도
- ERC-20 토큰 지출 한도
- 가스 사용 제한

가스 한도 구현은 특히 주목할 만한데, 이는 사용자 작업 검증 단계에서 강제할 수 있는 유일한 _안전한_ 방법이기 때문입니다. 이것이 중요한 이유는 ERC4337 Entrypoint 컨트랙트가 검증 성공 여부를 사용하여 번들러와 계정 사이의 지불 책임을 결정하기 때문입니다. 이러한 검사를 추가적인 사전 검증 훅을 통해 구현함으로써, Alchemy Prism은 다른 많은 스마트 계정에 부족한 보호 기능을 제공합니다.

**3. 고급 실행 훅**

토큰 스왑과 같은 정교한 사용 사례에서는 실행 컨텍스트를 모니터링하는 것이 중요합니다. Alchemy Prism 계정은 사전 및 사후 실행 훅을 모두 지원하여 다음을 가능하게 합니다:

- 잔액 델타 계산
- 커스텀 오라클 가격 비교
- 슬리피지 허용 범위 강제

이 기능을 통해 사용자는 자신을 대신해 수행되는 스왑 작업에 대해 정밀한 제어를 구현할 수 있으며, 이는 Alchemy Prism을 다른 많은 스마트 계정 구현체와 차별화하는 수준의 트랜잭션 구성을 제공합니다.

이러한 보안 조치를 통해, 저희 계정은 유연성과 보호를 모두 극대화하는 뛰어난 세션 키 기능을 제공하며, 스마트 계정 보안의 높은 기준을 세웁니다.

### 업그레이드 가능성

저희 계정은 업그레이드 가능하며, 기본적으로 사용자만 시작할 수 있는 계정 업그레이드를 지원하는 [ERC-1967 프록시 패턴 설계](https://eips.ethereum.org/EIPS/eip-1967)를 사용합니다. 계정 업그레이드 작업이 사용자 계정의 기존 보안 설정과 구성을 무효화하는 데 사용될 수 있기 때문에, 이는 사용자만 수행할 수 있어야 한다는 점이 중요합니다.

## Alchemy 스마트 지갑으로 비용을 절감하고 확장하기

[**스마트 지갑**](/smart-wallets)은 일반적인 마찰 없이 수백만 명의 사용자를 온체인으로 유입시키는 열쇠입니다. 저희는 다음을 할 수 있도록 지갑을 만들었습니다:

- 대안 비용의 절반 미만으로 계정 배포 \($0.38 vs 업계 평균 $0.79\)
- 여러분이 성장함에 따라 적응하는 진정한 모듈식 아키텍처로 고통스러운 마이그레이션을 잊어버리기
- 여러 감사와 500명 이상의 보안 연구원에 의해 사용자 자산이 보호받고 있다는 것을 알고 더 편히 잠들기

저희는 가스를 최적화하고, 보안 검증을 구현하고, 모든 것을 개발자 친화적으로 만드는 힘든 작업을 완료했으므로, 여러분은 빠르게 출시하고 확장할 수 있습니다.

**얼마나 절감할 수 있는지 확인하고 싶으신가요?** 저희 [가격 계산기](https://wallet-calculator.alchemy.com/)가 확장하면서 비용을 추정하는 데 도움을 드립니다.

**빌드를 시작할 준비가 되셨나요?** [문서를 살펴보고](https://www.alchemy.com/docs/wallets/react/quickstart) 5분 이내에 첫 번째 스마트 지갑을 배포하세요.

**더 궁금한 점이 있으신가요? 저희가 도와드립니다.** [스마트 지갑](/smart-wallets)에 대해 더 알아보거나 저희 팀에 [문의](/contact-sales)하세요.

## 자주 묻는 질문

### 스마트 지갑이란 무엇인가요?

스마트 지갑은 블록체인 상의 스마트 컨트랙트로 구동되는 프로그래밍 가능한 계정으로, 계정 복구, 일괄 트랜잭션, 가스 후원, 커스텀 권한 부여와 같은 기능을 가능하게 하며, 이는 전통적인 EOA 지갑이 제공할 수 없는 기능입니다.

### 저희 스마트 지갑을 배포하는 데 드는 비용은 얼마인가요?

저희 스마트 지갑은 주요 L2에서 약 $0.26에 배포되며, 이는 업계 평균 $0.56보다 약 53% 저렴하고 Safe와 같은 대안보다 최대 84% 저렴합니다.

### ERC-4337이란 무엇이며 스마트 지갑과 어떤 관련이 있나요?

ERC-4337은 스마트 지갑이 Ethereum의 핵심 프로토콜을 변경하지 않고도 프로그래밍 가능한 기능을 사용할 수 있게 해주는 계정 추상화 표준으로, 번들러가 처리하는 사용자 작업을 사용합니다.

### 저희 스마트 지갑은 어떻게 보안되나요?

저희 스마트 지갑은 Quantstamp, Chainlight, 그리고 Cantina를 통한 500명 이상의 보안 연구원에 의해 감사받았으며, 검증 시스템을 통해 동일한 보안 표준을 유지하는 여러 실행 경로를 가지고 있습니다.

### 스마트 지갑에서 검증이란 무엇인가요?

검증은 스마트 계정에 세밀한 보안과 접근 제어를 제공하는 인증 방법으로, 전부 아니면 전무 방식 대신 작업별로 다른 권한 수준을 구성할 수 있게 합니다.

### 세션 키란 무엇이며 어떻게 비용을 절감하나요?

세션 키는 반복적인 승인 없이 앱이 사용자를 대신해 특정 작업을 수행할 수 있게 해주는 임시 자격 증명입니다. 저희의 지연된 작업 기능은 생성과 첫 사용을 단일 작업으로 결합하여 세션 키 생성 비용을 40,000 가스만큼 절감합니다.

### 저희 스마트 지갑의 기능을 커스터마이징할 수 있나요?

네, 저희 스마트 지갑은 실행 함수, 검증, 훅이라는 세 가지 핵심 구성 요소로 완전히 모듈화되어 있어, 마이그레이션 없이 기능을 확장하고 특정 요구사항에 맞게 적응할 수 있습니다.

### 대규모로 사용하면 저희 스마트 지갑으로 얼마나 절감할 수 있나요?

각각 100건의 트랜잭션을 가진 100만 개 계정을 배포하면 대안 대비 L2에서 약 $30,000을 절감하며, 계정 생성에서 약 53%, 모든 트랜잭션 유형에서 5-10%를 절감합니다.
