본문으로 건너뛰기

"사용자 경험" 태그로 연결된 2개 게시물개의 게시물이 있습니다.

모든 태그 보기

마찰 없는 온‑램프 with zkLogin

· 약 5분
Dora Noda
Software Engineer

지갑 마찰을 없애고, 사용자를 지속시키며, 성장 가능성을 예측하는 방법

Web3 앱이 최신 Web2 서비스와 같은 원활한 회원가입 흐름을 제공한다면 어떨까요? 이것이 바로 zkLogin이 Sui 블록체인에서 제공하는 핵심 약속입니다. zkLogin은 Sui용 OAuth와 같은 역할을 하며, 사용자가 Google, Apple, X 등 익숙한 계정으로 로그인할 수 있게 해줍니다. 이후 영지식 증명이 해당 Web2 신원을 온체인 Sui 주소와 안전하게 연결합니다 — 지갑 팝업도, 시드 구문도, 사용자 이탈도 없습니다.

그 효과는 실질적이고 즉각적입니다. 이미 수십만 개의 zkLogin 계정이 활성화된 상황에서, 사례 연구에 따르면 전통적인 지갑 장벽을 제거한 후 사용자 전환율이 **17%에서 42%**로 크게 상승했습니다. 이제 작동 원리와 프로젝트에 가져다줄 수 있는 혜택을 살펴보겠습니다.


왜 지갑이 첫 번째 전환을 방해하는가

혁신적인 dApp을 만들었지만 사용자 확보 퍼널이 새는 경우가 많습니다. 그 원인은 거의 항상 “Connect Wallet” 버튼입니다. 표준 Web3 온보딩은 확장 프로그램 설치, 시드 구문 경고, 암호화 용어 퀴즈 등 복잡한 미로와 같습니다.

신규 사용자는 큰 장벽에 직면합니다. UX 연구자들은 지갑 프롬프트가 나타나는 순간 **87%**가 이탈한다는 충격적인 수치를 발견했습니다. 한 실험에서는 해당 프롬프트를 결제 과정의 후반부로 옮기기만 해도 완료율이 **94%**로 급상승했습니다. 암호화에 호기심이 있는 사용자조차도 “잘못된 버튼을 누르면 자금이 사라질까 봐”라는 두려움을 가지고 있습니다. 이 단일하고 위협적인 단계를 제거하는 것이 기하급수적 성장을 여는 열쇠입니다.


zkLogin 작동 방식 (쉽게 설명)

zkLogin은 모든 인터넷 사용자가 이미 신뢰하는 기술을 활용해 지갑 문제를 우아하게 회피합니다. 몇 가지 간단한 단계로 마법이 이루어집니다:

  1. 임시 키 페어: 사용자가 로그인하려면 브라우저에서 일시적인 단일 세션 키 페어가 로컬에서 생성됩니다. 이는 이번 세션에만 유효한 임시 패스키와 같습니다.
  2. OAuth 흐름: 사용자는 Google, Apple 등 소셜 계정으로 로그인합니다. 앱은 이 로그인 요청에 고유값(nonce)을 삽입합니다.
  3. ZKP 서비스: 로그인 성공 후, ZKP(Zero‑Knowledge Proof) 서비스가 암호학적 증명을 생성합니다. 이 증명은 “이 OAuth 토큰이 임시 패스키 소유자를 인증한다”는 것을 온체인에 공개하지 않고 확인합니다.
  4. 주소 파생: OAuth 제공자의 JWT(JSON Web Token)와 고유 salt를 결합해 영구적인 Sui 주소를 결정적으로 생성합니다. salt는 클라이언트 측이나 안전한 백엔드에 비공개로 보관됩니다.
  5. 트랜잭션 제출: 앱은 임시 키로 트랜잭션에 서명하고 ZK 증명을 첨부합니다. Sui 검증자는 온체인에서 증명을 검증해 전통적인 지갑 없이도 트랜잭션의 정당성을 확인합니다.

단계별 통합 가이드

구현 준비가 되셨나요? TypeScript SDK를 활용한 빠른 가이드를 소개합니다. Rust나 Python에서도 원리는 동일합니다.

1. SDK 설치

@mysten/sui 패키지에 필요한 모든 zklogin 헬퍼가 포함되어 있습니다.

pnpm add @mysten/sui

2. 키와 Nonce 생성

먼저 임시 키페어와 현재 Sui 네트워크 epoch에 연결된 nonce를 생성합니다.

const keypair = new Ed25519Keypair();
const { epoch } = await suiClient.getLatestSuiSystemState();
const nonce = generateNonce(keypair.getPublicKey(), Number(epoch) + 2, generateRandomness());

3. OAuth 리다이렉트

사용 중인 제공자(예: Google, Facebook, Apple)에 맞는 OAuth 로그인 URL을 구성하고 사용자를 리다이렉트합니다.

4. JWT 디코드 및 사용자 Salt 조회

사용자가 로그인하고 돌아오면 URL에서 id_token을 가져옵니다. 이를 이용해 백엔드에서 사용자 전용 salt를 조회한 뒤 Sui 주소를 파생합니다.

const jwt = new URLSearchParams(window.location.search).get('id_token')!;
const salt = await fetch('/api/salt?jwt=' + jwt).then(r => r.text());
const address = jwtToAddress(jwt, salt);

5. ZK 증명 요청

JWT를 증명 서비스에 보내 ZK 증명을 받습니다. 개발 단계에서는 Mysten의 퍼블릭 prover를 사용할 수 있습니다. 프로덕션에서는 자체 호스팅하거나 Enoki와 같은 서비스를 이용하세요.

const proof = await fetch('/api/prove', {
method:'POST',
body: JSON.stringify({ jwt, ... })
}).then(r => r.json());

6. 서명 및 전송

이제 트랜잭션을 구성하고, 발신자를 사용자의 zkLogin 주소로 설정한 뒤 실행합니다. SDK가 zkLoginInputs(증명)를 자동으로 첨부합니다. ✨

const tx = new TransactionBlock();
tx.moveCall({ target:'0x2::example::touch_grass' }); // 任意的 Move 调用
tx.setSender(address);
tx.setGasBudget(5_000_000);

await suiClient.signAndExecuteTransactionBlock({
transactionBlock: tx,
zkLoginInputs: proof // 여기서 마법이 일어납니다
});

7. 세션 유지

보다 부드러운 사용자 경험을 위해 키페어와 salt를 IndexedDB 또는 로컬 스토리지에 암호화하여 저장합니다. 보안을 강화하려면 몇 epoch마다 회전시키는 것을 잊지 마세요.


KPI 예측 템플릿

zkLogin이 가져오는 차이는 정성적인 것이 아니라 정량적인 것입니다. 일반 온보딩 퍼널과 zkLogin 적용 퍼널을 비교해 보세요:

퍼널 단계지갑 팝업 사용 시 일반zkLogin 사용 시차이
Landing → Sign-in100 %100 %
Sign-in → Wallet Ready15 % (설치, 시드 구문)55 % (소셜 로그인)+40 pp
Wallet Ready → First Tx\ 23 %\ 90 %+67 pp
전체 Tx 전환율\ 3 %≈ 25‑40 %\ 8‑13×

👉 의미: 10,000명의 고유 방문자를 유도하는 캠페인이라면, 첫날 온체인 행동이 300건에서 2,500건 이상으로 증가합니다.


모범 사례 & 주의점

보다 매끄러운 경험을 위해 다음 팁을 기억하세요:

  • 스폰서드 트랜잭션 사용: 사용자의 첫 몇 번 트랜잭션 수수료를 여러분이 부담하세요. 모든 마찰이 사라지고 강력한 “아하” 순간을 제공할 수 있습니다.
  • Salt 관리에 신중: 사용자의 salt를 변경하면 새로운 주소가 생성됩니다. 복구 경로를 확실히 제어할 수 있을 때만 수행하세요.
  • Sui 주소 노출: 가입 후 사용자의 온체인 주소를 보여 주세요. 이는 고급 사용자가 원한다면 전통적인 지갑으로 가져갈 수 있게 합니다.
  • 리프레시 루프 방지: JWT와 임시 키페어를 만료될 때까지 캐시해 두어 반복 로그인 요청을 피하세요.
  • Prover 지연 모니터링: 증명 생성 라운드 트립 시간이 2초를 초과하면 지역 프로버를 호스팅해 응답성을 유지하세요.

BlockEden.xyz가 제공하는 가치

zkLogin이 사용자 경험을 완성한다면, 이를 확장하는 과정에서 새로운 백엔드 과제가 등장합니다. 여기서 BlockEden.xyz가 역할을 합니다.

  • API 레이어: 고처리량, 지리적 라우팅이 적용된 RPC 노드가 사용자 위치와 무관하게 zkLogin 트랜잭션을 최소 지연으로 처리합니다.
  • 관찰 가능성: 증명 지연, 성공/실패 비율, 전환 퍼널 건강 지표 등을 한눈에 볼 수 있는 대시보드를 제공합니다.
  • 컴플라이언스: fiat 연동 앱을 위해 선택 가능한 KYC 모듈이 있어, 검증된 사용자 신원에서 직접 온‑램프를 구현할 수 있습니다.

바로 배포할 준비가 되셨나요?

거추장스럽고 위협적인 지갑 흐름은 이제 끝났습니다. zkLogin 샌드박스를 띄우고 BlockEden의 풀노드 엔드포인트를 연결하면, 사용자는 “지갑”이라는 단어조차 듣지 못한 채 가입 그래프가 상승하는 모습을 확인할 수 있습니다. 😉

RiseWorks와 사용자 고충: 포괄적 분석

· 약 5분
Dora Noda
Software Engineer

RiseWorks는 기업이 국제 계약자를 법정 화폐 또는 암호화폐로 고용하고 급여를 지급할 수 있게 해주는 글로벌 급여 플랫폼입니다. 사용자 피드백을 통해 HR 전문가, 프리랜서/계약자(펀딩 트레이더 포함), 스타트업, 기업 등 다양한 사용자 유형에서 온보딩, 가격, 지원, 기능, 통합, 사용 편의성, 성능 등에 걸친 여러 고충이 드러났습니다. 아래는 반복적으로 나타나는 문제(직접 인용 포함)와 시간이 흐르면서 감정이 어떻게 변했는지를 정리한 상세 보고서입니다.

온보딩 경험

RiseWorks는 자동화된 온보딩과 컴플라이언스 검사(KYC/AML)를 강조하며 계약자 영입을 간소화한다고 주장합니다. HR 팀은 계약자 서류 작업을 수동으로 처리하지 않아도 된다는 점을 높이 평가하고, 플랫폼은 94% 승인율과 17초 평균 신분 확인 시간을 자랑합니다. 이는 대부분의 사용자가 거의 즉시 인증된다는 의미이며, 빠른 온보딩에 긍정적입니다.

하지만 일부 프리랜서는 신원 확인(KYC) 절차가 번거롭다고 느낍니다. 신규 계약자는 개인 정보, 세금 ID, 주소 증명 등 방대한 정보를 제공해야 합니다. 몇몇 사용자는 KYC 문제(한 사용자는 RiseWorks KYC 거절을 해결하는 유튜브 가이드를 만들 정도) 를 겪었으며, 자동화된 절차가 실패하면 해결이 혼란스러울 수 있음을 보여줍니다. 전반적으로 가입 자체에 대한 불만은 적지만, 대부분의 불만은 지급 단계에서 발생합니다. 전체적으로 온보딩은 컴플라이언스 중심 급여 시스템에 흔히 있는 철저함을 보여주며, 일부 사용자는 이를 필수적인 노력으로 받아들이는 반면, 다른 사용자들은 더 매끄러워야 한다고 생각합니다.

가격 및 수수료

RiseWorks는 이중 가격 모델을 사용합니다: 계약자당 월 **50고정요금또는결제금액의350** 고정 요금 또는 **결제 금액의 3%** 수수료, 그리고 정규직 국제 채용을 위한 Employer-of-Record 옵션(399/직원)도 제공합니다. 프리랜서는 플랫폼 가입 자체가 무료이며, 인보이스 발행 및 결제 수령에 구독이 필요하지 않습니다. 스타트업과 기업은 팀 규모와 지급액에 따라 계약자당 요금제와 비율 요금제 중 선택합니다.

가격 관련 고충은 사용자 불만의 핵심은 아니었습니다(운영상 문제에 비해 비용 우려가 적음). 다만 일부 기업은 대규모 지급에 3%가 크게 느껴질 수 있고, 계약자가 많을 경우 50/월이부담될수있다고지적합니다.Rise는자체마케팅에서Deel등경쟁사보다수수료가낮다고주장합니다.또한독립리뷰에서는Rise암호화폐지급시최소수수료(50/월이 부담될 수 있다고 지적합니다. Rise는 자체 마케팅에서 Deel 등 경쟁사보다 **수수료가 낮다**고 주장합니다. 또 한 독립 리뷰에서는 Rise가 **암호화폐 지급 시 최소 수수료(2.50 온체인 수수료 또는 레이어‑2 무료)** 를 제공한다며 비용에 민감한 암호화폐 기업에게 매력적이라고 평가했습니다.

요약하면 가격 피드백은 엇갈립니다: 스타트업과 HR 매니저는 고정 요금제와 비율 요금제 중 선택의 투명성을 높이 평가하지만, 어느 모델이 더 저렴한지는 직접 계산해야 합니다. 현재까지 숨은 수수료나 부당한 가격에 대한 대규모 항의는 없었습니다. 주요 주의점은 기업이 플랫 요금제와 비율 요금제 중 어느 것이 유리한지 판단하도록 돕는 가이드가 있으면 만족도가 높아질 것입니다.

고객 지원

고객 지원은 가장 큰 고충 중 하나로 사용자 전반에 걸쳐 언급됩니다. RiseWorks는 24/7 다국어 지원과 인앱 채팅, 이메일, 구글 폼 등 다양한 연락 채널을 제공한다고 광고합니다. 그러나 실제로는 사용자 피드백이 전혀 다른 모습을 보여줍니다.

프리랜서와 트레이더는 극히 느린 응답 시간을 호소했습니다. 한 사용자는 “고객 지원이 전혀 없습니다. 자동 응답 1개만 받고 그 뒤로는 답이 없습니다. 내 자금을 어떻게 되돌려받아야 할지도 모르겠어요.” 라고 적었으며, 또 다른 사용자는 “지원이 매우 형편없고 전혀 응답하지 않습니다. 정말 최악의 서비스” 라고 비난했습니다. 이러한 불만은 지급 지연과 결합돼 상황을 더욱 악화시킵니다.

기능

전반적으로 UI는 직관적이며, 일반적인 급여 업무(인보이스 제출, 계약서 관리 등)는 쉽게 수행됩니다. 그러나 고급 기능(시간 추적, 상세 보고, 외부 HRIS·회계 시스템 연동 등)이 부족하다는 지적이 있습니다. 새롭게 추가된 RiseID 등은 가끔 버그가 발생합니다. 따라서 핵심 급여 기능은 만족스럽지만, 부가적인 비즈니스 관리 기능은 아직 부족합니다.

통합

RiseWorks는 암호화폐 지갑과의 연동은 강점으로 내세웁니다. 메타마스크, 코인베이스 월렛 등 주요 블록체인 지갑과 바로 연결됩니다. 반면 전통적인 비즈니스 소프트웨어(HRIS, 회계 시스템)와의 네이티브 연동은 제공되지 않으며, CSV 내보내기 또는 API 호출을 통한 수동 작업이 필요합니다. 일부 사용자는 특정 현지 은행이 Rise 전송을 거부해 지급이 지연되는 사례를 겪었습니다.

사용 편의성

일반적인 작업(인보이스 제출, 계약자 관리 등)은 UI가 직관적이라 평가됩니다. 그러나 오류 발생 시 가이드 부족이 문제로 남습니다. 지급이 멈추었을 때, KYC 재제출이 필요할 때 사용자는 무엇을 해야 할지 혼란스러워합니다. 인앱 알림이나 팁이 부족해 사용자 스스로 외부 자료(YouTube 튜토리얼 등)를 찾아야 하는 상황이 발생합니다.

성능

가장 큰 이슈는 지급 처리 속도 차이입니다. 암호화폐 지급은 빠르고 수수료가 낮은 반면, 법정 화폐(은행 이체)는 지연이 잦고 때로는 몇 주까지 걸림을 여러 사용자가 보고했습니다. 일부 지급은 며칠, 심지어 몇 주 동안 ‘보류’ 상태에 머물러 신뢰성에 큰 의구심을 남깁니다.

요약 테이블

항목보고된 고충사용자 인용
온보딩KYC 과정에서 서류가 처음에 받아들여지지 않을 경우 마찰 발생“자동화된 온보딩… 자동 온보딩 포함” (긍정) / KYC 문제 해결을 위한 외부 도움 필요
가격·수수료$50/계약자 vs 3% 모델 선택 시 주의 필요, 대규모 지급 시 수수료가 크게 느껴짐“대규모 지급 시 3% 조심”
고객 지원매우 느리거나 전혀 답이 없음“고객 지원이 전혀 없습니다. 자동 응답 1개만 받고 답이 없습니다.”
기능시간 추적, 상세 보고 등 고급 기능 부재, 신규 기능 버그“새로운 기능에 가끔 버그가 있습니다.”
통합외부 비즈니스 소프트웨어와 네이티브 연동 부재, 일부 현지 은행 거부 사례“CSV 내보내기와 API 사용이 필요합니다.”
사용 편의성일반 작업은 직관적이지만 오류 시 가이드 부족“지급이 멈추면 어떻게 해야 할지 모릅니다.”
성능암호화폐 지급은 빠르지만, 법정 화폐 이체는 지연“은행 이체가 몇 주씩 걸립니다.”

결론

RiseWorks는 글로벌 급여라는 실제 필요를 충족시키며 특히 암호화폐와 법정 화폐를 연결하는 혁신적인 접근을 제공합니다. 그러나 지급 지연고객 지원 부재라는 핵심 고충이 해결되지 않으면 사용자 신뢰를 회복하기 어렵습니다. 기능과 비용 면에서는 높은 평가를 받지만, 기본적인 급여 지급이 제때 이루어지고 지원이 신속히 제공될 때 비로소 전체적인 긍정 평가가 가능할 것입니다.