UX Framework for Wallet #1 (Be UXer Team)
서울대학교 블록체인 학회 디사이퍼(Decipher)에서 ‘Wallet UX Framework’를 주제로 한 학기동안 Be UXer팀에서 준비하고 발표한 내용을 담았습니다. 본 글은 Wallet의 개념과 함께 여러 Wallet service에 대한 리서치를 진행하고, 리서치 내용을 기반으로 Wallet을 Technological UX관점에서 평가할 수 있는 Framework를 도출 및 제시하였습니다.
Author
백용기(@grintkermit), 고준호(@whingo90), 여석원(@sknslatt), 정재환(@alexjhwan)
Seoul Nat’l Univ. Blockchain Academy Decipher(@decipher-media)
Reviewed By (@박찬우, @RoHu)
[UX Framework for Wallet series]
#1 Wallet UX Research & Paper review
#2 Wallet service research & UX Framework
#3 Wallet evaluation & Discussion
1. Introduction
블록체인 기술을 적용한 서비스들의 경우, 기존 웹 서비스 사용방식과 다른 접근 방식이 요구되는데, 대표적으로 블록체인 Wallet(이하 지갑)은 사용자의 암호화 자산(i.e. Coin, NFT, etc..)을 관리할 수 있을뿐만 아니라, 사용자와 블록체인 서비스(이하 dApp) 간 상호작용에 핵심적인 역할을 맡게 됩니다. 최근 다양한 dApp들의 발전과 함께, 다양한 지갑 서비스가 런칭되었습니다. 하지만 사용자 입장에서 블록체인 개념과 용어에 대한 높은 진입장벽부터, 처음 겪어보는 개인 키 관리 문제는 사용자에게 지갑 서비스를 활용하는데 어려움을 겪게 하고있습니다. 더 나아가 많은 수의 지갑 서비스는 어떤 지갑을 사용해야할지 선택의 어려움을 겪게합니다. 마찬가지로 수 많은 블록체인 네트워크마다 지원하는 각기 다른 지갑 서비스로 인해 발생하는 지갑 파편화와 같은 문제들은 dApp을 사용하기 위해 중요한 접점인 지갑에 대한 불편한 사용자 경험(이하 UX)을 제공하고 있는 것을 확인할 수 있습니다.
현재 블록체인 기술은 다양한 분야로 확장되고 있으며, 이러한 발전은 블록체인의 잠재력과 가능성을 보여주고 있습니다. 하지만 블록체인의 UX 측면에서는 위의 지갑 사례와 같이 해결해야 할 과제가 많습니다. 특히 블록체인의 열악한 UX는 블록체인 서비스 확산의 주요 장애 요인으로 평가되고 있습니다. 본 연구를 통해 사용자들에게 다양한 지갑 서비스를 직접 평가할 수 있는 기준을 제공할 뿐만 아니라, 지갑 서비스를 운영(런칭)하는 기업에서도 지갑의 차별화 혹은 개선 근거로서 활용할 수 있도록 Wallet UX Framework를 제시하고자 합니다. 본 연구가 블록체인 지갑 UX 향상으로 이어져 블록체인 기술 대중화에 기여할 수 있기를 기대합니다.
2. UX Research for Wallet
본 연구에서는 Wallet UX Framework를 도출 및 제시하기 위해 아래와 같은 절차를 진행하였습니다.
- Desk research: 지갑에 대한 이해를 높이고, UX Framework를 제시하기 위해 Paper review와 12개의 지갑 서비스에 대해 리서치를 진행하였습니다.
- Research outputs: 리서치를 기반으로 지갑 내 모든 기능들을 나열하고, 이를 범주화(with. Affinity diagram)하여 User task와 UX Framework를 도출하였습니다.
- Wallet evaluation: 마지막으로 도출한 UX Framework가 타당한지 검증하기 위해 UX Framework를 활용하여 지갑 서비스 평가를 진행하였습니다.
2–1. Wallet research
먼저 블록체인 지갑 개념에 대한 조사를 수행하였고, 본 연구에서는 현재 가장 일반적으로 사용되는 지갑 유형인 HD wallet(Hierarchical deterministic wallet)부터 최근 활발하게 개발되고 있는 Smart contract wallet(Multi-signature, Account Abstraction)과 MPC wallet(Multi-Party Computation) 지갑에 대한 내용을 리서치하였습니다.
2–1–1. HD wallet(Hierarchical deterministic wallet)
먼저 HD wallet을 살펴보기 위해 기본적인 지갑 개념에 대한 어느정도 이해가 필요합니다. 지갑은 개인 키(Private key)와 공개 키(Public key)를 담고 있는데, 개인 키 간 연관성 유무에 따라 대표적으로 ① Non-Deteministic wallet과 ② Deteministic wallet 으로 분류됩니다.
- 비결정적 지갑(Non-Deterministic wallet)
비결정적 지갑은 각기 서로 다른 무작위 수로부터 각각의 개인 키를 무작위로 생성하는 방식입니다. 즉, 개인 키 간 아무런 연관성이 없습니다. 비결정적 지갑 생성시 k개의 랜덤한 개인 키를 소유하며, 필요할 경우 추가로 생성하여 백업할 수 있습니다. 비결정적 지갑은 트랜잭션이 발생할 때 마다 매번 다른 개인 키를 사용합니다.
이러한 비결정적 지갑은 특정 개인 키로 생성한 주소를 재사용하지 않기 때문에 프라이버시를 극대화 할 수 있다는 장점이 존재합니다. 하지만 반대로 매 트랜잭션마다 다른 개인 키를 사용하기 때문에 번거로우며, 사용한 모든 개인 키를 보관해야하는 불편함이 존재합니다. 또한 만약 개인 키들을 백업하지 않고 잃어버렸을 경우, 개인 키로 생성한 주소의 자산에 대한 소유권을 주장할 수 없습니다.
- 결정적 지갑(Deterministic wallet)
이러한 문제들을 해결하고자 나온 개념이 바로 결정적 지갑입니다. 결정적 지갑은 하나의 Seed(시드)에서 파생된 모든 개인 키를 포함하고 있습니다. 시드는 무작위 생성 된 숫자로, 시드를 통해 결정적 지갑의 파생된 모든 개인 키를 복구할 수 있습니다.
즉, 기존 비결정적 지갑은 k개의 개인 키를 보관 및 관리했어야 했지만, 결정적 지갑을 사용하면 하나의 시드만 알고있어도 파생된 모든 개인 키를 알 수 있습니다.
- 계층 결정적 지갑(Hierarchical Deterministic wallet; HD wallet)
결정적 지갑 중에서 가장 발전된 형태는 HD wallet으로, HD wallet은 하나의 마스터 시드 키를 사용하여 많은 주소를 생성할 수 있는 암호화폐 지갑을 의미합니다. 즉. HD wallet은 단일 시드에서 많은 키를 쉽게 파생 및 유도할 수 있습니다. HD wallet standard로는 대표적으로 BIP-32가 있으며 이 외에도 BIP-39, BIP-43, BIP-44와 같이 여러 버전이 존재합니다.
- [BIP-32] Hierarchical Deterministic Wallets
: BIP-32는 처음 HD wallet에 대한 구조를 제안한 표준으로, HD wallet은 BIP-32 문서의 내용을 코드로 프로그래밍화한 것을 나타냅니다.
- [BIP-39] Mnemonice code for generating determinisice keys
: BIP-39는 니모닉 코드(Mnemonic code) 단어 설명 표준으로, 니모닉 코드 단어열은 12~24 단어로 구성되고 올바른 순서로 단어를 입력하면 개인 키를 다시 만들 수 있습니다.
FCCF1AB3329FD5DA3DA9577511F8F137
→
wolf juice proud gown wool unfair
wall cliff insect more detail hub
- [BIP-43] Purpose Field for Deterministice Wallets
: BIP-43은 수 많은 블록체인 네트워크에서 각기 다르게 구현된 HD wallet의 상호운용성을 보완하기 위해, BIP-32 표준을 기반으로 HD wallet 구조에 대한 복잡성을 관리하기 위해 제안된 표준입니다.
- [BIP-44] Multi-Account Hierarchy for Deterministice Wallets
: BIP-44는 BIP-43의 스펙을 확장한 표준을 의미합니다.
대표적인 HD wallet으로는 MetaMask, Phantom, Coinbase Wallet, Trust, Keplr 등이 있습니다.
2–1–2. Smart contract wallet
Smart contract wallet(이하 SCW)란 기존 HD wallet의 한계점을 개선하기 위해 제안 및 개발되고 있는 지갑을 의미합니다. SCW는 컨트랙트이기 때문에 컨트랙트 주소를 지갑 주소로 활용하며 다중 서명, 개인 키 변경, 소셜 리커버리, 송금 한도 설정 등 다양한 기능들을 지갑에서 구현 가능합니다.
- Multi-signature wallet
기존 HD wallet의 경우, 한 명의 지갑 소유자가 자신의 개인 키를 활용하여 1개의 서명을 생성하여 트랜잭션을 승인했습니다. 하지만 Multi-signature(이하 Multi-sig) 지갑은 하나의 SCW에 대해 n명의 사용자가 각각 개인 키를 갖고 있고, 트랜잭션을 승인하기 위해 n명 중 k명의 사용자로부터 각각 서명을 요구하도록 설정할 수 있습니다. 즉, 트랙잭션 승인을 위해 10명 중 6명의 서명, 3명 중 2명의 서명이 필요하며, 혹은 HD wallet처럼 1명의 서명만 받도록 설정할 수 있습니다.
Multi-sig 기반의 SCW를 통해 지갑의 보안을 강화할 수 있으며, 공동 지갑을 운영할 수 있는 장점이 있습니다. 단점으로는 복잡성과 트랜잭션 승인 시간 증가로 사용자 입장에서 불편함을 초래하며, 만약 Multi-sig 컨트랙트가 불안정할 경우 SCW가 복구가 불가능하거나 해킹의 위험이 존재합니다. Multi-sig 지갑의 대표적인 지갑 서비스는 Safe가 있습니다.
- MPC wallet (not SCW)
Multi-party computation(이하 MPC)는 여러 사용자가 함께 서명을 만드는 다자간 연산의 한가지 응용 형태로, MPC 지갑은 여러 참여자들이 각자 개인 키를 저장하는 것이 아닌 개인 키를 연산할 수 있는 개별 키를 저장합니다. MPC 지갑은 SCW는 아니지만, 각 참여자가 서로의 개별 키를 모르는 상태에서 개별 키가 결합된 데이터로 계산을 수행하여 하나의 서명을 생성합니다. MPC 지갑에서 어떠한 트랜잭션에 서명하기 위해서는 전체 n명의 참여자 중 k명 이상 동의가 필요하며, 만약 k-1개 이하의 개별 키가 노출되더라도 Multi-sig 지갑과 마찬가지로 탈취의 위험을 겪지 않습니다.
MPC 지갑은 Multi-sig 지갑 대비 서명을 위한 네트워크 수수료 측면에서 저렴하며, SCW가 아니기 때문에 컨트랙트 배포가 필요 없다는 장점이 존재합니다. 또한 MPC 지갑은 공유 사용자가 변경되거나 개별 키 조각을 분실한 경우, 동일한 개인 키를 사용하기 때문에 다시 랜덤한 개별 키 조각을 제공함으로써 쉽게 재발급이 가능합니다. MPC 지갑의 대표적인 지갑 서비스는 Zengo, Fireblocks, Coinbase Custody, Specter가 있습니다.
- AA(Account Abstraction) wallet
Account Abstraction(이하; AA)를 이해하기 위해서는 이더리움의 account에 대한 이해가 필요합니다. 이더리움의 State는 account로 불리는 객체들로 구성되어 있으며, 각 계정은 20byte 길이의 주소(address)와 1:1로 매칭되어 있습니다. 이러한 account는 각기 다른 역할을 하는 2가지 유형으로 존재합니다. 먼저 EOA(Externally owned account)는 사용자가 직접 계정을 제어할 수 있도록 개인 키를 보유한 account(e.g. MetaMask)를 의미하며, EOA는 개인 키를 가지고 있기 때문에 트랜잭션을 생성하고 서명할 수 있습니다. 그 다음으로 CA(Contract account)는 스마트 컨트랙트를 배포했을 때 생성되는 account이며, 네트워크에 배포된 컨트랙트 코드에 의해 통제되는 account를 의미합니다.
AA는 하나의 account가 EOA와 CA의 역할을 둘 다 할 수 있도록 추상화하는 개념을 의미합니다. 즉, 개인 키가 없어도 CA와 같은 account가 자체적으로 검증 가능하도록 하는 개념입니다. 이더리움에서는 AA를 통해 사용자의 account가 개인 키가 없는 상태로 트랜잭션을 검증 및 실행할 수 있도록 2017년부터 꾸준히 EIP를 제안해왔습니다. 그 결과 2021년 비탈릭 부테린은 ERC-4337을 제안하였고, 2023년 EVM 계열 메인넷에 배포되었습니다. ERC-4337에 대한 자세한 내용은 UX관점에서 살펴보는 ERC-4337 Use case for Web3 Game 아티클에서 확인 가능합니다.
AA wallet을 통해 사용자는 트랜잭션 수수료를 대납받거나(Gas sponsorship), 여러 트랜잭션 실행을 하나로 묶고 하나의 트랜잭션으로 실행할 수 있는 기능(Multi-call)과 같은 다양한 기능들을 구현할 수 있습니다. AA wallet의 대표적인 지갑 서비스는 Unipass, Opclave 등이 있습니다.
2–2. Paper review
본 연구에서는 지갑에 대한 UX Framework를 개발하기 위해 User experience framework for understanding user experience in blockchain services 문헌을 검토하였습니다. 해당 논문에서는 블록체인 서비스의 UX를 블록체인 서비스와 상호작용하는 동안 사용자가 직접적으로나 간접적으로 경험할 수 있는 모든 경험으로 정의하고 있습니다. 표준화의 부재와 규제로 인한 개발 저해와 함께, 블록체인의 열악한 UX가 블록체인 서비스의 확산을 방해하는 주요한 요소임을 강조하며, 낮은 UX가 블록체인의 본질적인 가치를 이해하기 어렵게 만든다고 언급합니다. 따라서 해당 논문에서는 블록체인 서비스에서 제공하는 기능을 2가지(NBF, BF)로 분류하고, 이를 기반으로 블록체인 서비스의 UX를 평가할 수 있도록 General UX와 Technological UX 총 2개의 UX Framework를 제시합니다.
- NBF(Non-Blockchain Function) & BF(Blockchain Function)
블록체인 서비스의 UX를 더욱 구체적으로 파악하기 위해 서비스가 제공하는 기능을 *Non-Blockchain Function(NBF)*과 *Blockchain Function(BF)*으로 분류했습니다. 먼저 NBF는 기존 웹 서비스에서 제공하고 있으며, 블록체인 기술과는 무관한 기능들을 의미합니다(e.g. 프로필 사진 변경). 반대로 BF는 블록체인 기술 도입으로 인해 발생한 새로운 유형의 기능을 의미합니다(e.g. Wallet-dApp connect).
General UX
General UX는 일반적으로 제품이나 서비스를 사용하면서 얻는 경험을 의미하며. NBF와 BF에서 모두 측정 가능한 UX를 의미합니다. General UX의 경우, 특정 도메인에 한정되지 않고 UX 관련 다양한 유형의 문헌조사를 통해 도출되었습니다. 그 결과 General UX의 요소로는 Usability, Affect, Sociability가 도출되었으며 내용은 아래와 같습니다.
- Usability: 제품, 시스템 또는 서비스의 사용 또는 예상되는 사용으로 인한 사용자의 인식 및 반응을 의미합니다.
- Affect: 블록체인 서비스와의 상호작용에서 사용자가 경험하는 정서적인 느낌을 의미합니다.
- Sociability: 블록체인 서비스 이용이 사용자의 사회생활을 만족시키는 정도를 의미합니다.
Technological UX
Technological UX는 서비스 제공자가 블록체인 기술을 서비스에 도입함으로써 사용자에게 제공할 수 있는 새로운 경험을 의미합니다. 따라서 Technological UX는 블록체인 기술과 직접적으로 관련된 BF에서만 측정 가능합니다. 해당 논문에서는 General UX와 달리 블록체인 서비스에 특화된 Technological UX에 대한 기존 문헌에서 찾아보기 어렵기 때문에, 다양한 도메인의 블록체인 서비스를 대상으로 분석을 수행하여 블록체인 서비스에서의 *User task(Reward, Curating, Transaction, Security, Authorization)*를 도출하였으며, 브레인 스토밍을 통해 Technological UX의 요소로 Social value, Economic value, Trust가 도출되었습니다.
- Social value: 블록체인 기술의 특성으로 인해 얻을 수 있는 사회적 경험을 의미합니다.
- Economic value: 블록체인 기술을 도입하여 발생하는 시간적, 금전적 이익을 의미합니다.
- Trust: 블록체인 서비스의 특성에서 발생하는 신뢰를 의미합니다.
General UX의 경우, 서비스 분석이 아닌 문헌을 참고하여 HCI & UX 전문가가 작성했기 때문에 블록체인 서비스를 평가하기에 적합하다고 판단하였습니다. 하지만 해당 논문에서의 Technological UX의 경우, 블록체인 서비스의 도메인마다 각기 다른 특성을 보유하고 있지만 이를 고려하지 않았습니다. 또한 사용자들이 주로 사용하는 블록체인 서비스(e.g. Uniswap, MetaMask, OpenSea, etc…)가 아닌 주로 한국에서 개발되거나 현재는 없어진 서비스들이 분석되었습니다. 그 결과 납득하기 어려운 User task와 Technological UX 도출되었다고 판단하였습니다. 따라서 Be UXer팀은 지갑 서비스의 특성을 고려해 Technological UX를 더욱 적합하게 재정의할 필요성을 인지하고 연구를 진행하였습니다.
해당 시리즈는 다음편(UX Framework for Wallet #2)으로 이어집니다.
Reference
bips/bip-0032.mediawiki at master · bitcoin/bips
bips/bip-0039.mediawiki at master · bitcoin/bips
bips/bip-0043.mediawiki at master · bitcoin/bips
bips/bip-0044.mediawiki at master · bitcoin/bips
User experience framework for understanding user experience in blockchain services