1KX: 지갑 인프라가 다음 세대 dApp에 어떻게 힘을 실어주는가

추천 읽기
2023-12-15 11:39:18
수집
2023년은 지갑 생태계의 중요한 해로, 전면적인 계정 추상화와 개발 활동이 시장 구조를 변화시키고 있으며, 사용자, dapp 및 지갑 간의 관계에 대한 우리의 인식을 변화시키고 있습니다.

원제목:《Wallet Infrastructure: Empowering the Next Generation of Dapps

저자:Nichanan Kesonpat ,1kx

편집:Elvin,ChainCatcher

지갑 인프라는 다음 세대 dapp web3 경험을 여는 데 중요한 역할을 합니다.

현재까지 최초의 web3 상호작용을 하려는 사용자는 추가 소프트웨어를 설치하고, 암호화 토큰을 찾아 구매해야 하며, 익숙하지 않은 화면 확인 작업에 직면해야 합니다. 경험이 개선되었고, 니모닉 단어에 의존하기 시작했지만, 이러한 장애물은 여전히 탈중앙화 애플리케이션 고객의 이탈을 촉진하는 주요 요인입니다.

혁신 환경은 기술 복잡성을 추상화할 수 있는 성숙기에 접어들었으며, 자가 관리 및 탈중앙화의 원래 정신을 해치지 않으면서 새로운 금융, 사회적 및 게임 경험에 자연스럽게 통합되고 있습니다.

2023년은 지갑 생태계의 중요한 해로, 전면적인 계정 추상화 및 개발 활동이 시장 구조를 변화시키고, 사용자, dapp 및 지갑 간의 관계에 대한 우리의 인식을 변화시키고 있습니다.

본 문서의 주요 내용은 다음과 같습니다:

· 계정 추상화 및 그 이점

· 지갑 인프라 및 AA 스택 개요

· 신흥 dapp/지갑 개발 모델 및 그 영향

· 지속적인 도전과 해결책의 추가 탐색

1. 계정 추상화 소개 및 원리

우리는 계정 추상화를 계정 관리와 키 관리의 분리로 볼 수 있습니다. 계정은 블록체인상의 실체로, 자산을 보유하고 거래 기록을 가집니다. 서명자(Signers) 또는 키는 계정을 대신하여 작업을 수행할 권한이 있는 실체입니다.

전통적인 계정(EOA)의 경우, 개인 키는 해당 계정에 대한 유일하고 전적인 제어 권한을 유지합니다. 개인 키와 계정 간의 엄격한 1:1 매핑 관계는 다음을 의미합니다:

· 사용자는 블록체인과 상호작용할 때 전용 키 관리 솔루션(예: Metamask, Ledger)만 사용할 수 있습니다.

· 개인 키를 잃어버리면 복구할 수 없으며, 계정을 제어하는 키는 교체할 수 없습니다.

· 무료 NFT의 발행이든 수백만 달러의 송금이든, 해당 개인 키로 시작된 모든 작업은 동등하게 간주됩니다.

계정 추상화는 계정을 스마트 계약으로 만들어, 어떤 키가 그 작업을 수행할 수 있는지와 범위 권한을 나타내며, 사용 사례에 따라 더 나아가 균형을 맞출 수 있습니다.

우리는 추상화된 내용을 살펴봄으로써 그 이점을 더 잘 이해할 수 있습니다.

이더리움 프로토콜은 EOA에서 발생한 거래만 인식하기 때문에, 계정 추상화는 스마트 계약에서 발생한 거래를 체인으로 전달하기 위해 오프체인 인프라가 필요합니다.

ERC-4337은 2021년에 출시된 표준화된 방법으로, 핵심 프로토콜을 변경하지 않고도 이 목표를 달성할 수 있습니다. 그러나 일부 프로젝트는 AA 표준이 완전히 성숙되기 전에 이미 AA의 이점을 실현했습니다.

· Safe 다중 서명 지갑은 2017년에 출시되었으며, 현재 DAO, 기업 및 개인의 500억 달러 이상의 자산을 보호하고 있습니다.

· Argent 모바일 지갑은 2018년부터 스마트 계약 계정으로 지원되고 있습니다.

· Sequnce 지갑은 2021년에 출시되어 Skyweaver가 이메일을 통해 스마트 계정을 생성하고 로그인하며 비원주 토큰으로 수수료를 지불할 수 있게 합니다.

이것은 각 프로젝트가 사용자 정의 중계 인프라를 구축하고 유지해야 함을 의미합니다.

ERC-4337을 살펴보겠습니다. 이 표준은 중계 계층에 대한 탈중앙화 및 검열 저항 대안을 제공하며, 계정, 페이마스터 및 서명 집계기를 위한 인터페이스를 정의하고, 공유된 계정 추상화 거래("User Operations")의 백업 메모리 풀과 제3자 중계기와 상호작용합니다.

중계기("bundler")는 여러 UserOps를 하나의 거래로 묶어 독립적인 EntryPoint 계약에 전송하며, 이 계약은 이후 수수료가 지불될 것인지(계정에서 지불하거나 페이마스터를 통해 지불) 검증하고, 스마트 계정에 해당하는 UserOps에서 실행합니다.

우리는 이를 원주 계정 추상화를 제공하는 체인상의 검증 및 실행 방법(추가 중계 작업이 필요 없는 zkSync 및 Starknet과 같은)과 비교할 수 있습니다. 최근 이더리움 및 그 롤업에 대한 원주 AA의 RIP-7560 제안이 발표되었습니다.

2023년 3월, 4337 EntryPoint 계약이 메인넷에 배포되었습니다. 커뮤니티는 개발자가 이 계정 추상화 운동에 참여하도록 하는 데 큰 성공을 거두었습니다.

이것은 지갑 생태계에 새로운 인프라 및 서비스 제공업체의 물결을 가져왔으며, 기존 프로젝트가 비즈니스 전략과 제품이 AA를 활용하여 사용자에게 원활한 web3 경험을 제공할 수 있도록 지속적으로 충족해야 함을 촉진했습니다.

2. 지갑 인프라 및 AA 스택

1)서명자 및 키 관리

서명자(Signers) 및 키 관리 인프라는 메시지, 거래 및 UserOps에 서명하는 데 사용되는 공개 키 쌍을 생성하고 보호하는 역할을 합니다. 여기서 가장 직접적인 예는 전통적인 EOA 지갑이지만, 소셜 및 이메일과 같은 대체 인증 방법을 통해 니모닉 없이 로그인 및 지갑 관리를 구현할 수 있는 지갑 서비스 제공업체가 등장했습니다.

기본적으로 이러한 서비스는 키 데이터 내용을 HSM(예: AWS KMS)에 저장하며, 사용자만 인증 자격(예: Magic, Turnkey)을 통해 접근할 수 있게 하거나, 특정 SSS/MPC 솔루션(Privy, Web3Auth, Portal, Capsule)을 사용하여 이러한 내용을 보호합니다.

Lit는 분산 키를 통해 이러한 서버 측 키 저장 설계를 개선했습니다. 네트워크의 각 노드는 DKG 알고리즘을 통해 생성된 ECDSA 개인 키의 일부를 저장하며, 모든 작업은 암호화된 가상 환경에서 수행됩니다. 임의의 인증 규칙을 키 쌍에 할당할 수 있어, 애플리케이션이나 사용자가 허용된 상호작용 작업을 완전히 제어하고 지출 제한을 부과할 수 있습니다. 이 네트워크는 2/n MPC 지갑으로 백업 및 복구 옵션으로 사용될 수 있습니다.

올해는 하드웨어 서명자 및 패스키를 계정 서명자로 활용하여 사용자에게 현대적인 모바일 또는 데스크탑 장치에서 즉시 사용할 수 있는 키 관리 기능을 제공하는 데 빠른 실험이 진행되었습니다. 이러한 서명자는 생체 인식 인증(예: FaceID, TouchID)을 사용하여 친숙한 사용자 경험에 추가적인 보안을 제공합니다.

· 하드웨어 서명자는 iPhone Secure Enclave 및 Android Titan HSM과 같은 별도의 하위 시스템을 활용하여 키를 생성하고 메시지에 서명하여 하드웨어 수준의 보안을 보장합니다. 키가 장치에서 추출될 수 없기 때문에, 다른 복구 방법과 함께 사용하거나 2FA 시스템의 일부로 사용하는 것이 매우 강력합니다.

· 패스키는 WebAuthn을 기반으로 한 무비밀번호 인증 표준입니다. 여기서 키 쌍은 장치의 운영 체제에서 생성되며, iCloud와 같은 서비스를 통해 장치 간에 동기화할 수 있으므로 사용자가 원할 경우 복구할 수 있습니다.

여기서 하나의 제한은 비밀번호 및 하드웨어 서명자가 생성한 서명이 비트코인 및 이더리움과 같은 체인에서 원주적으로 인식되지 않는다는 것입니다. 이들은 secp256r1 (R1) 타원 곡선을 사용하지만, 비트코인과 이더리움은 K1 곡선을 사용합니다. 현재 신뢰할 수 없는 R1 검증 작업이 진행 중이지만, 패스키를 지원하는 일부 제품은 Lit 및 Turnkey와 같은 서비스를 사용하여 사용자가 자신의 키로 인증할 때 K1 서명을 생성합니다.

여기서 주목해야 할 표준은 EIP-7212로, R1 곡선을 EVM에 직접 추가하여 모든 현대 장치가 제3자 서비스나 중개인 없이 원주적으로 거래에 서명할 수 있도록 제안합니다.

계정 추상화 거래량이 증가함에 따라, BLS 서명을 사용하는 서명 집계는 스마트 계정의 수수료가 L2의 EOA보다 저렴해질 수 있습니다. 4337 표준은 집계기 보조 계약을 위한 인터페이스를 정의하여, 개별 UserOps를 별도로 검증하는 대신 단일 집계 서명을 검증하고 여러 UserOps를 승인합니다.

2 )중계기

중계기(예: 4337 Bundler)는 거래 또는 UserOps를 메모리 풀로 전달합니다. 원주 AA가 있는 체인에서는 네트워크 운영자와 정렬기(sequencers)가 중계기 역할을 하여 외부 전용 중계기에 대한 필요성을 없앱니다.

이더리움에는 여러 클라이언트 배포(예: geth, erigon, reth)가 있는 것처럼, 4337 생태계에도 다양한 언어의 여러 bundler 배포가 있어 네트워크를 더욱 견고하게 만들고 단일 배포의 취약성 위험을 줄입니다. 4337 규격에는 전체 네트워크의 bundler 호환성을 보장하기 위한 테스트 스위트가 포함되어 있습니다. 배포자는 Stackup (Golang), Pimlico, Bionomy, Etherspot (Typescript), Candide (Python), OKX (Java) 및 Alchemy (Rust)입니다.

Bundler의 인센티브 모델은 블록 생성자와 유사하며, 번들된 사용자 작업(거래가 아님)에서 수수료를 부과합니다. 실제로, bundler는 블록 생성기에 현재 블록을 확인하고 해당 블록에 유효한 패키지를 생성하기 위한 API를 추가해야 하므로, 블록 생성기의 일부로 간주되어야 합니다.

4337의 성장과 함께, 우리는 생성자가 bundler가 되는 것을 기대할 수 있습니다. 이러한 혼합 모델은 단순히 생성자 역할만 하는 것보다 더 수익성이 높아지며, 거래 풀과 UserOps 풀 두 개의 풀에서 선택할 수 있습니다.

3 )페이마스터

dapps가 사용자에게 가스 요금을 지불하도록 허용함으로써, 사용자가 비원주 토큰으로 수수료를 지불하거나 전통적인 결제 경로를 통해 오프체인 결제를 수행할 수 있도록 하는 것이 페이마스터의 역할입니다. 페이마스터 서비스는 두 가지 주요 구성 요소로 나뉩니다:

· 가스 정책 관리자: 개발자가 가스 요금을 후원하는 조건을 정의할 수 있도록 합니다. 이는 전체 프로젝트 범위에서 제한할 수 있으며, 각 계약 또는 지갑 주소를 기준으로 정의할 수 있습니다. 개발자는 가스 후원 제한 방식을 정의할 수 있으며, 예를 들어 가스 가격, 요청 또는 월별 후원 금액에 대한 제한을 설정할 수 있습니다. 가스 후원 요금은 일반적으로 서비스 제공자의 개발자 월별 청구서에 포함되며, 후원 금액에 따라 약 5%의 추가 요금이 부과됩니다.

· 페이마스터 스마트 계약은 체인 상태(예: 계정 잔액) 또는 오프체인 가스 관리 정책에 따라 주어진 거래가 지불 자격이 있는지 검증합니다. 페이마스터 계약은 가스 요금을 지불하는 데 필요한 원주 토큰 잔액을 보유하며, 정기적으로 지불 토큰(예: USDC)과 원주 토큰(예: ETH) 간의 환율을 확인하는 가격 오라클 로직을 포함할 수 있습니다.

페이마스터는 온체인 및 오프체인으로 나눌 수 있습니다:

· 온체인 페이마스터(예: ERC20Paymaster, StablecoinPaymaster)는 거래가 페이마스터에 의해 지불될 수 있는지를 검증하기 위해 온체인 상태에만 의존합니다. 이는 ERC-20을 사용하여 가스 요금을 지불하는 페이마스터와 같은 특정 페이마스터가 허가 없이 사용할 수 있음을 의미하지만, 페이마스터는 계정의 승인을 받아야 토큰 전송을 수행할 수 있습니다. 페이마스터 계약 관리자는 토큰을 인출하고 원주 토큰으로 교환하여 계약을 보충(refill)할 수 있으며, ERC20 가격 이상으로 마크업을 설정하고, 페이마스터가 다음 UserOp의 ERC20 가격을 업데이트하기 위한 가격 차이 임계값을 설정하거나 수동으로 가격을 업데이트할 수 있습니다.

· 오프체인 페이마스터(예: VerifyingPaymaster)는 서비스 제공자의 페이마스터 API와 상호작용하여 UserOp를 후원합니다. 오프체인 서비스는 자격을 검증하고 페이마스터 키로 거래에 서명합니다. 이 솔루션은 허가 없이 사용할 수 있지만, 오프체인 페이마스터는 온체인 검사를 최소화하여 가스 요금을 절감할 수 있습니다. 가스 정책은 더욱 세분화될 수 있으며, Discord 활동과 같은 오프체인 활동을 고려할 수 있습니다.

4)계정 공급자 및 프레임워크

계정 공급자 및 프레임워크는 "헤드리스" 스마트 계정 배포 및 SDK를 제공하여 dapp 및 지갑 클라이언트가 이를 기반으로 구축하고 사용자를 대신하여 자가 관리형 임베디드 계정을 생성할 수 있도록 합니다. 계정 자체는 스마트 계약 지갑으로, 자체 서명 검증, 실행 및 재생 보호(Nonce 관리) 로직을 가지고 있습니다. 소유자는 키를 사용하여 스마트 계정에서 사용자 작업을 승인합니다.

상위 수준에서 스마트 계정 공급자는 3가지 핵심 내용을 제공합니다:

· 스마트 계약 지갑의 핵심 배포로, 자체 로직을 사용하여 거래를 검증하고 실행하며, 거래 실행 전후에 추가 작업을 수행합니다. 또한 원주 모듈 및 제3자 모듈을 통해 지갑에 추가 기능을 추가하는 방법에 대한 로직을 포함합니다.

· 공급자 계약으로, 지갑 구현의 새로운 인스턴스를 배포하며, 계정의 초기 서명자가 시작합니다. ERC-4337 하에 dapp은 선택한 공급자의 공급자 계약 주소를 지정하여 사용자에게 스마트 계정을 생성할 수 있습니다.

· 개발자가 생성 중인 스마트 계정에 즉시 사용할 수 있는 맞춤형 기능을 제공하는 SDK입니다. 이는 다양한 서명 옵션, 입출금 방법 및 중계 기술이 될 수 있습니다.

ERC-4337 하에 UserOp의 "sender" 필드는 거래를 수행하는 스마트 계정을 나타냅니다. 계정이 아직 배포되지 않은 경우, EntryPoint는 "initCode"에서 지정된 공급자 계약에서 계정을 배포합니다. 사용자의 키는 스마트 계정을 청구하는 데 사용될 수 있어, 이후 dapp 상호작용을 위해 사용됩니다.

Safe, Zerodev 및 Bionomy와 같은 계정 공급자는 키 관리 및 인증 인프라와 통합되어 dapp에 사용자가 스마트 계정을 관리하는 방법에 대한 선택지를 제공합니다. 예를 들어, Safe의 Web3Auth 통합은 사용자가 소셜 또는 이메일을 통해 계정을 사용할 수 있게 하며, Zerodev와 Turnkey의 통합은 패스키를 사용하여 계정을 관리하는 옵션을 제공합니다.

Safe는 오랜 역사를 가진 스마트 지갑 제품으로 유명하며, 개인 사용자, 팀 및 DAO에 의해 널리 사용됩니다. 현재까지 최소 12개 블록체인에 500만 개 이상의 Safe 계정이 배포되어 2200만 건 이상의 거래를 수행했습니다. v1.4.1(2023년 7월 출시) 이전에 개발자는 Gelato relay를 사용하여 가스 추상화 거래를 수행할 수 있었습니다. 이 통합은 현재 Gnosis Pay 및 BasedApp와 같은 암호화 직불 카드 제품을 지원하며, 사용자는 Safe 계정의 자금을 사용하여 Visa 결제를 받는 공급자에서 구매할 수 있습니다. v1.4.1은 모듈을 통해 ERC-4337을 지원하여 중계기 공급자에게 더 많은 선택지를 제공합니다.

ZeroDev는 올해 초에 출시된 스마트 계정 공급자로, 처음부터 ERC-4337을 위해 구축되었습니다. Zerodev는 여러 bundler 공급자를 집계하여 UserOp 중계 서비스를 추상화하고, 개발자가 범위 및 제한 로직을 정의할 수 있는 가스 관리 대시보드를 공개했습니다. 이를 통해 사용자에게 비용 후원 기능을 제공합니다. Zerodev와 Bionomy(자체 bundler 네트워크 운영)는 현재 4337 계정 시장에서 지배적인 위치를 차지하고 있습니다.

Alchemy의 AccountKit은 4337 호환 스마트 계정 배포 "LightAccount"를 제공하며, 이는 EF 배포를 기반으로 하고 EIP-1271 지원(스마트 계약에서 서명을 검증) 및 소유권 이전, 키 교체 및 네임스페이스 저장을 추가합니다.

5)계정 모듈

계정 모듈은 스마트 계정의 설치 가능한 구성 요소 역할을 하는 스마트 계약입니다. 모듈 인프라는 아직 매우 초기 단계에 있지만, 우리는 모듈이 다음과 같은 방식으로 발견되고 설치될 것이라고 생각합니다:

· 개발자: 임베디드 스마트 계정은 dapp 개발자가 선택한 "사전 설치" 모듈을 갖추어 특정 사용 사례에 맞춘 기능을 갖춘 시작 지갑을 구축할 수 있습니다.

· 최종 사용자: 지갑 인터페이스는 사용자가 새로운 기능을 발견하고 지갑에 추가할 수 있는 "모듈 저장소" 인터페이스를 보여줄 수 있습니다.

AA를 통해 UserOp 검증 및 실행을 공식적으로 분리함으로써, 모듈은 검증만 포함하거나 실행만 포함하는 로직을 포함할 수 있습니다.

· 검증자(Validators). UserOperation의 검증 단계에서 호출됩니다. 그들의 주요 기능은 UserOperation의 서명을 검증하고 유효성을 판단하며 실행 여부를 결정하는 것입니다. 예시로는 다중 서명, ECDSA, 패스키, 다중 체인 검증 및 세션 키 등이 있습니다. 세션 키는 dapp이 사용자를 대신하여 서명할 수 있게 하여 사용자 경험을 간소화하며, 맞춤형 권한 및 기간을 가진 임시 개인 키와 유사합니다.

· 실행자(Executors). UserOperation의 실행 단계에서 호출됩니다. 그들은 계정의 실행 로직을 확장하고, 일반 ERC-4337 실행 프로세스 외부에서 트리거되는 자동 작업과 같은 보다 다양한 로컬 실행 작업을 지원합니다. 예를 들어, 가격이 특정 임계값에 도달했을 때 자동으로 토큰을 교환하는 작업입니다.

· 후크(Hooks). 실행 전/후에 실행되며 계정에 대한 제어를 시행합니다. 예를 들어, 후크는 실행 후에 실행되어 특정 기준을 충족하는 거래를 복구하여 사용자의 보안을 강화할 수 있습니다.

Candide와 같은 일부 지갑은 사용자가 직접 설치할 수 있는 모듈을 개발했지만, 우리는 지갑의 애플리케이션 스토어 인터페이스에서 찾을 수 있는 풍부한 제3자 모듈 생태계가 등장할 것으로 예상합니다. 또는 dapp 개발자가 임베디드 "시작" 지갑에 통합할 수 있습니다.

스마트 계정 프레임워크는 설계 시 모듈을 고려했습니다. Safe의 핵심 계약은 모듈 관리 로직을 처리하여 계정에서 모듈을 추가 및 제거할 수 있도록 하지만, 실제 모듈 관련 로직 및 저장소는 완전히 별도의 계약에 한정됩니다. 이러한 분리는 제3자 모듈이 동일한 상태를 덮어쓰는 위험을 줄여 계정의 보안성과 예상 행동을 손상시키지 않습니다.

Safe{Core} 프로토콜은 모듈, 후크, 관리자 및 등록소가 포함된 개방형 프레임워크를 도입하여 Safe 지갑 제품에서 영감을 받은 조합 가능한 스마트 계정 생태계를 육성하는 것을 목표로 합니다.

ZeroDev는 그들의 모듈("플러그인")을 검증 또는 실행의 두 가지 범주로 명확하게 구분합니다. 실행자 모듈은 검증자 모듈과 쌍을 이루도록 설계되어, 사용자 정의 함수를 통해 다양한 검증자 "라우팅"을 허용합니다. 예를 들어, "NFT 전송" 기능은 2FA를 통해서만 NFT를 전송할 수 있도록 합니다.

강력한 모듈화된 스마트 계정 생태계를 구축하는 데는 몇 가지 고려 사항이 있습니다:

① 상호 운용성. 여러 스마트 계정 공급자가 제3자가 계정에 새로운 기능을 추가하는 방법에 대해 각자 다른 접근 방식을 가지고 있기 때문에, 모듈 개발자는 공급자 잠금 방향으로 나아가거나 여러 계정 배포와 호환되도록 동일한 기능을 개발하는 기술적 비용에 직면해야 합니다. 이러한 상황을 완화할 수 있는 몇 가지 솔루션이 있습니다:

· 모듈화된 스마트 계약 계정 및 플러그인을 위한 ERC-6900은 모듈화된 스마트 계약 계정(MSCA)의 인터페이스를 정의하며, 모듈("플러그인")은 표준을 준수하는 모든 계정 배포 및 플러그인과 상호 운용할 수 있도록 허용합니다.

· Rhinestone의 *ModuleKit은 스마트 계정 모듈을 구축하고 테스트하는 데 사용되며, 다양한 계정 배포 테스트 모듈을 위한 템플릿 및 프레임워크, 통합 라이브러리(예: DeFi 프로토콜), 미리 구축된 실행 조건 및 모듈 코드 및 보안 취약점을 자동으로 식별하는 보안 자동화를 제공합니다.

안전성. 사용자가 지갑에 제3자 소프트웨어를 설치할 수 있는 능력을 부여하는 것은 중요한 문제를 야기합니다. 즉, 인터페이스가 모듈과 관련된 정보를 어떻게 관리하고 표시해야 하는가입니다.

EIP-7484는 독립적으로 구축된 스마트 계정 모듈의 합법성과 안전성을 검증하는 수단을 제공합니다. 여기서 등록소는 감사자가 이러한 모듈의 안전성을 인증할 수 있도록 합니다. 프론트엔드 및 스마트 계정은 등록소에 인증 데이터를 쿼리하여 모듈이 안전하게 사용할 수 있는지 검증할 수 있습니다.

보다 광범위하게, EIP-7512는 감사 보고서의 온체인 표현을 위한 표준을 생성하는 것을 목표로 하며, 이는 스마트 계약을 통해 분석되어 감사에 대한 실행자 및 검증된 표준에 대한 관련 정보를 추출할 수 있습니다.

② 발견 가능성. 등록소는 스마트 계정 플랫폼 및 지갑 인터페이스를 통해 표시 및 쿼리할 수 있으며, 개발자 또는 최종 사용자가 설치할 수 있습니다.

지갑 기능을 확장하는 능력은 계정을 web3 제품 및 서비스의 개발자 플랫폼 및 새로운 배급 채널로 만듭니다. 우리는 Metamask Snaps에서 이를 보았습니다. Metamask Snaps는 사용자가 보안 경고(WalletGuard), 개인 정보 보호 기능(Nocturne) 및 비EVM 체인(예: Starknet 및 비트코인)과의 상호 운용성을 통해 브라우저 확장 지갑을 사용자 정의할 수 있게 합니다.

Chrome이 개발자에게 확장 프로그램을 통해 브라우저 기능을 확장할 수 있는 생태계를 제공했을 때, 그들의 시장 지배력을 촉진했습니다. 비록 그들이 10년 늦게 등장했지만 말입니다. 우리는 대부분의 사람들이 모듈화된 계정이 주류가 되었을 때 지갑 경험이 어떻게 될지 상상하기 어려운 반면, 허가 없이 혁신이 이미 시작되었습니다.

3. 신흥 개발 모델 및 그 영향

계속 발전하는 지갑 스택은 다음을 의미합니다:

· 개발자는 애플리케이션에서 사용자에게 비관리 계정을 생성할 수 있으며, SDK 연결기와 같은 도구를 찾아 엔드 투 엔드 로그인 구축 옵션을 제공할 것입니다.

· 임베디드 지갑은 새로운 지갑 범주로, 각 공급자는 계정 이식성, 사용자 정의 가능성 및 신뢰 가정 측면에서 고유한 기능과 균형을 가지고 있습니다.

2018년에 이더리움 dapp을 조작한 적이 있다면, 웹사이트를 로드할 때 Metamask 팝업이 나타났던 것을 기억할 것입니다. 이는 지갑과 dapp을 연결하는 데 있어 좋은 사용자 경험 관행이 부족했기 때문에, 개발자들은 종종 사용자가 브라우저의 "window.ethereum" 객체를 통해 확장 지갑을 설치했는지 확인하기 위해 하드코딩된 검사를 사용했습니다. 사용자가 여러 확장 지갑을 설치하면 예측할 수 없는 행동이 발생하고, 사용자는 하나의 지갑을 선택해야 하므로 경쟁이 적은 지갑 시장이 형성됩니다.

WalletConnect 통신 프로토콜의 출현은 사용자가 모든 지갑을 모든 dapp에 연결할 수 있게 하였고, 당시 함께 등장한 Web3Modal은 사용자가 dapp과 함께 사용하고자 하는 지갑을 선택할 수 있도록 버튼 및 모듈 구성 요소를 포함하는 라이브러리였습니다.

현재 Web3Modal은 여러 지갑 연결기 라이브러리(예: RainbowKit, Web3Onboard 및 ConnectKit) 중 하나로, dapp 개발자에게 지갑 감지 및 지갑 기반 인증 프로세스를 간소화합니다. 이러한 라이브러리는 즉시 사용할 수 있는 테마 옵션, 지갑 검색 기능 및 사용자가 지갑을 설치하도록 안내하는 화면(사용자가 아직 지갑을 설치하지 않은 경우)을 제공합니다.

최근 EIP-6963은 "window.ethereum"을 대체할 또 다른 지갑 발견 메커니즘으로 최종 확정되어, dapp 및 확장 프로그램에서 제공하는 주입 스크립트가 예측 가능한 방식으로 통신할 수 있도록 합니다. 이 표준 덕분에 사용자는 이제 dapp에 연결할 확장 지갑을 선택할 때 더 많은 선택의 여지를 가지게 되었고, 지갑에 더 경쟁력 있는 시장을 열었습니다.

연결기 라이브러리가 개발자 경험과 사용자 경험을 크게 개선했지만, 사용자가 dapp과 상호작용하기 위해 추가 소프트웨어를 설치해야 한다는 기대는 여전히 큰 채택 장벽입니다.

우리는 dapp 로그인 사용자 경험의 미래를 보았으며, 다음 세대 지갑 라이브러리(여기서는 완전히 성숙한 "온보딩 SDK"라고 부르겠습니다)가 더 많은 주목을 받고 있습니다. 이러한 SDK는 지갑 기반 인증 외에도 이메일, 소셜, SMS와 같은 다른 등록 및 로그인 옵션을 제공하며, 사용자가 추가 소프트웨어를 설치하거나 dapp을 종료하지 않고도 임베디드 지갑을 생성할 수 있도록 합니다.

개발자는 키 제공자가 제공하는 연결기를 직접 통합하거나 여러 서비스를 패키징한 연결기(예: Dynamic, Thirdweb, 0xPass)를 사용하여 공개하고자 하는 인증 옵션과 생성하고자 하는 지갑 유형에 대해 즉시 사용할 수 있는 옵션을 제공하여 완전히 사용자 정의된 로그인 프로세스를 구현할 수 있습니다. 온보딩 SDK는 스마트 계정 공급자와 통합되어, 무가스 거래 및 입출금 방식과 같은 추가 사용자 경험 향상 기능을 제공하는 임베디드 스마트 지갑을 생성할 수 있습니다.

점점 더 많은 사람들이 "헤드리스" 지갑을 채택하고, 지갑 분야가 임베디드 지갑으로 기울어짐에 따라, 지갑과 dapp 간의 명확한 경계가 흐려지기 시작했습니다.

1)독립 지갑, 임베디드 지갑 및 특정 애플리케이션 지갑

오늘날의 Web3 사용자는 독립 지갑(예: Metamask 또는 WalletConnect 제공 지갑)을 통해 dapp과 상호작용하는 데 익숙하며, 자산과 체인 상의 발자국을 하나 또는 여러 계정에 축적합니다.

점점 더 많은 dapp이 임베디드 지갑과 여러 공급자를 통해 사용자를 유치함에 따라, dapp 개발자와 최종 사용자 모두에게 계정 관리가 복잡해지고 있습니다. dapp 개발자는 여러 공급자를 평가하고 관리해야 하며, 단일 공급자에 대한 잠금을 피하기 위해 노력해야 합니다. 최종 사용자에게는 각 dapp마다 새로운 지갑을 생성하는 것이 자산 및 신원 관리 경험을 일관되지 않게 만들 것입니다.

특정 애플리케이션 지갑은 특정 사용 사례(예: 게임)에 대해 바람직할 수 있지만, 많은 경우 사용자는 첫 번째 dapp에 로그인하고 웹2 서명자 또는 패스키를 사용하여 임베디드 지갑을 생성한 후, 동일한 서명자를 사용하여 다른 dapp에 로그인하고 계정에 축적된 자산을 사용하고 싶어할 것입니다.

· Capsule은 MPC 기반의 임베디드 지갑 공급자로, 그 주된 기능은 사용자가 동일한 이메일로 기존 지갑에 접근할 수 있도록 하여, 그 서비스를 사용하는 dapp 간의 지갑 이식성을 제공합니다. 우리는 이것이 곧 WaaS 공급자 간의 필수 제품이 될 것으로 예상합니다.

· Moonchute는 이 기간 동안 사용자가 여러 스마트 계정을 관리하는 데 도움을 줍니다. 그들의 통합 계정 관리자는 주어진 서명자가 생성한 스마트 지갑을 발견하기 위한 앱 및 API로, 사용자가 여러 계정의 자산을 한 곳에서 관리할 수 있도록 합니다.

· ERC-7555는 다른 서명 스킴을 사용하여 생성된 사용자 계정을 발견하기 위한 표준화된 인터페이스 및 요청/응답 패턴을 제안합니다. 여기서 애플리케이션은 사용자를 주어진 공급자의 URI(자체 호스팅 도메인일 수 있음)로 리디렉션하고, 서명자 및 관련 스마트 계정 주소의 응답을 분석합니다.

2 )EOA에서의 이탈

AA의 또 다른 두드러진 도전 과제는 여러 EOA에 자산과 체인 상의 기록을 축적한 기존 사용자에게 스마트 계정으로의 원활한 마이그레이션 경험을 제공하는 것입니다.

EIP-7377은 EOA가 일회성 거래를 보내어 해당 계정에 코드를 배포할 수 있는 프로토콜 내 메커니즘을 제안하여, EOA를 "업그레이드"하여 스마트 지갑으로 만드는 것입니다.

Aarc는 dapp과 최종 사용자의 자산 마이그레이션 문제를 해결하는 것을 목표로 합니다. 그들의 UI 및 SDK는 특정 소스 주소의 자산 및 권한을 색인화하고, 사용자가 목표 주소로 이동하고자 하는 자산을 선택할 수 있도록 하며, 목표 주소는 스마트 계정, 다른 EOA 또는 소셜 로그인을 사용하여 생성된 임베디드 MPC 지갑이 될 수 있습니다. 기존 사용자가 독립 지갑 프로세스에 익숙한 dapp에서 임베디드 지갑이나 AA 기능을 추가하고자 할 때, Aarc는 마이그레이션 프로세스를 간소화하는 솔루션을 제공합니다.

3 )AA가 다중 체인 계정 관리에 미치는 영향

AA와 L2 활동의 추세를 고려할 때, 우리는 미래에 스마트 계정이 EOA의 주류가 되고, 사용자가 여러 체인에서 자산을 보유하게 될 것이라고 예측할 수 있습니다.

EOA의 사용자 경험 장점 중 하나는 사용자가 동일한 개인 키를 사용하여 서로 다른 EVM 체인에서 동일한 주소에 자동으로 접근할 수 있다는 것입니다. 단점은 주어진 주소를 제어하는 키를 변경할 수 없으며, 사용자가 개인 키를 잃어버리면 모든 자산이 손실될 수 있다는 것입니다.

계정 추상화는 키 저장소와 자산 저장소를 분리하므로, 주어진 계정의 키를 교체할 수 있으며, 동일한 주소를 유지하면서 자산을 마이그레이션할 필요가 없습니다. 스마트 계정은 CREATE2를 사용하여 체인 간에 동일한 주소를 유지할 수 있으며, 계약이 주어진 체인에 배포되지 않았더라도 사용자는 동일한 초기 검증 키와 계정 배포를 통해 계정에 접근할 수 있습니다.

그러나 장기적으로 동일한 주소를 체인 간에 유지하는 것은 반패턴이 될 수 있습니다.

· CREATE2는 EVM 바이트코드와 동등한 체인에서만 사용할 수 있습니다. zk-Rollup(예: zkSync)의 다중 체인 세계에서는 이 방법이 충분하지 않습니다.

· 우리는 시간이 지남에 따라 다양한 계정에 접근하는 데 필요한 키가 변화할 것으로 예상하며, 지갑은 더 많은 서명 및 키 교체 기능을 보여줄 것입니다. 현재 설정에서는 이는 곧 체인 간의 계정 권한 상태의 이동으로 이어질 수 있으며, 한 체인에서 계정의 서명자가 변경되면 자동으로 다른 체인에서의 서명자에게 새로운 권한이 전달되지 않습니다.

다중 체인 AA에 대한 장기적인 해결책으로는 다음과 같은 것들이 있습니다:

· 전용 키 저장 계약으로, 체인 간 사용자 계정이 권한을 확인할 때 해당 계약을 읽습니다.

· ENS 다중 체인 해석기(resolver)를 다양한 주소의 추상화 계층으로 사용합니다.

체인 간 계정 및 서명자 관리는 여전히 활발한 연구 분야입니다. 연구의 궁극적인 목표는 사용자가 많은 거래를 수행하지 않고도 다양한 체인에서 여러 계정에 접근할 수 있는 키를 변경할 수 있도록 하는 것입니다.

4. 결론

계정 추상화는 서명자를 계정과 분리하는 활동으로, 계약 기반 계정(EOA가 아닌)을 블록체인상의 일급 실체로 삼아 사용자에게 키 관리 및 계정 권한의 유연성을 제공합니다.

· ERC-4337은 중계 스마트 계정이 거래를 시작하는 표준으로, AA에 적응하는 지갑 인프라의 발전을 촉진하여 새로운 시장 구조, 지갑 범주, dapp 개발 및 사용자 로그인 모델을 생성했습니다.

· 지갑 스택은 서명자, 중계자, 계정 제공자 및 계정 모듈로 나뉘어, 개발자에게 최종 사용자 경험을 맞춤화할 수 있는 선택지를 제공합니다. 이는 각 공급자가 가스 비용, 검열 저항성, 공급자 잠금 및 상호 운용성 측면에서의 균형을 평가하는 추가 비용을 가져옵니다.

· EOA의 마이그레이션 경로와 다중 체인 배경에서의 계정 추상화는 여전히 진행 중인 연구 분야입니다. 우리는 내년에 첫 번째 솔루션 제안의 구현을 볼 것으로 기대합니다.

우리는 이러한 발전이 전체 생태계에 중대한 영향을 미칠 것이라고 생각합니다:

· 신규 사용자에게 지갑은 더 이상 web3에 진입하는 유일한 경로가 아닙니다. 애플리케이션은 임베디드 지갑, 무가스 거래 및 지갑 내 입금 방식으로 로그인 경험을 크게 개선할 것입니다.

· 현재 사용자에게는 애플리케이션이 세션 키와 같은 기능을 활용함에 따라, 체인 상의 경험이 더욱 원활해질 것입니다. 고급 사용자는 모듈을 통해 계정 권한 및 기타 지갑 기능에 대해 더 세밀한 제어를 할 수 있습니다.

· 개발자에게는 모듈화된 계정 인프라가 지갑을 운영 체제로 변화시킵니다. 모듈 시장은 web3 제품 및 서비스의 새로운 허가 없는 배급 채널입니다.

체인캐처(ChainCatcher)는 독자들에게 블록체인을 이성적으로 바라보고, 리스크 인식을 실제로 향상시키며, 다양한 가상 토큰 발행 및 조작에 경계해야 함을 상기시킵니다. 사이트 내 모든 콘텐츠는 시장 정보나 관련 당사자의 의견일 뿐이며 어떠한 형태의 투자 조언도 제공하지 않습니다. 만약 사이트 내에서 민감한 정보를 발견하면 “신고하기”를 클릭하여 신속하게 처리할 것입니다.
체인캐처 혁신가들과 함께하는 Web3 세상 구축