마찰 없는 온‑램프 with zkLogin
지갑 마찰을 없애고, 사용자를 지속시키며, 성장 가능성을 예측하는 방법
Web3 앱이 최신 Web2 서비스와 같은 원활한 회원가입 흐름을 제공한다면 어떨까요? 이것이 바로 zkLogin이 Sui 블록체인에서 제공하는 핵심 약속입니다. zkLogin은 Sui용 OAuth와 같은 역할을 하며, 사용자가 Google, Apple, X 등 익숙한 계정으로 로그인할 수 있게 해줍니다. 이후 영지식 증명이 해당 Web2 신원을 온체인 Sui 주소와 안전하게 연결합니다 — 지갑 팝업도, 시드 구문도, 사용자 이탈도 없습니다.
그 효과는 실질적이고 즉각적입니다. 이미 수십만 개의 zkLogin 계정이 활성화된 상황에서, 사례 연구에 따르면 전통적인 지갑 장벽을 제거한 후 사용자 전환율이 **17%에서 42%**로 크게 상승했습니다. 이제 작동 원리와 프로젝트에 가져다줄 수 있는 혜택을 살펴보겠습니다.
왜 지갑이 첫 번째 전환을 방해하는가
혁신적인 dApp을 만들었지만 사용자 확보 퍼널이 새는 경우가 많습니다. 그 원인은 거의 항상 “Connect Wallet” 버튼입니다. 표준 Web3 온보딩은 확장 프로그램 설치, 시드 구문 경고, 암호화 용어 퀴즈 등 복잡한 미로와 같습니다.
신규 사용자는 큰 장벽에 직면합니다. UX 연구자들은 지갑 프롬프트가 나타나는 순간 **87%**가 이탈한다는 충격적인 수치를 발견했습니다. 한 실험에서는 해당 프롬프트를 결제 과정의 후반부로 옮기기만 해도 완료율이 **94%**로 급상승했습니다. 암호화에 호기심이 있는 사용자조차도 “잘못된 버튼을 누르면 자금이 사라질까 봐”라는 두려움을 가지고 있습니다. 이 단일하고 위협적인 단계를 제거하는 것이 기하급수적 성장을 여는 열쇠입니다.
zkLogin 작동 방식 (쉽게 설명)
zkLogin은 모든 인터넷 사용자가 이미 신뢰하는 기술을 활용해 지갑 문제를 우아하게 회피합니다. 몇 가지 간단한 단계로 마법이 이루어집니다:
- 임시 키 페어: 사용자가 로그인하려면 브라우저에서 일시적인 단일 세션 키 페어가 로컬에서 생성됩니다. 이는 이번 세션에만 유효한 임시 패스키와 같습니다.
- OAuth 흐름: 사용자는 Google, Apple 등 소셜 계정으로 로그인합니다. 앱은 이 로그인 요청에 고유값(nonce)을 삽입합니다.
- ZKP 서비스: 로그인 성공 후, ZKP(Zero‑Knowledge Proof) 서비스가 암호학적 증명을 생성합니다. 이 증명은 “이 OAuth 토큰이 임시 패스키 소유자를 인증한다”는 것을 온체인에 공개하지 않고 확인합니다.
- 주소 파생: OAuth 제공자의 JWT(JSON Web Token)와 고유 salt를 결합해 영구적인 Sui 주소를 결정적으로 생성합니다. salt는 클라이언트 측이나 안전한 백엔드에 비공개로 보관됩니다.
- 트랜잭션 제출: 앱은 임시 키로 트랜잭션에 서명하고 ZK 증명을 첨부합니다. Sui 검증자는 온체인에서 증명을 검증해 전통적인 지갑 없이도 트랜잭션의 정당성을 확인합니다.
단계별 통합 가이드
구현 준비가 되셨나요? TypeScript SDK를 활용한 빠른 가이드를 소개합니다. Rust나 Python에서도 원리는 동일합니다.
1. SDK 설치
@mysten/sui 패키지에 필요한 모든 zklogin 헬퍼가 포함되어 있습니다.
pnpm add @mysten/sui