지갑 통합 옵션
This guide will be updated as the Playtron SDK and additional tooling become available. Check back regularly for the latest recommendations and implementation details.
SuiPlay0X1에서 어떤 지갑을 개발할지에 대한 몇 가지 옵션이 있다. 사용하는 지갑을 결정할 때 염두에 두어야 할 몇 가지 개념이 있다.
- Self-custodial wallets: 사용자는 개인 키를 관리하고 자산을 직접 소유한다.
- zkLogin wallets: 기존 zkLogin 지갑(또는 Enoki 지갑)은 Sui만의 고유한 지갑 유형이다. zkLogin 지갑은 Web2 인증 제공업체(가령 Google OAuth)에 연결된다. 사용자는 기존 인증 제공업체를 통해 인증하고, 해당 제공업체는 영지식 증명을 활용하여 사용자의 소셜 계정에 지갑을 연결한다. 이를 통해 사용자는 인증 제공업체 사용자 메타데이터와 온체인 속성 주소가 연관되지 않는 임시 키 쌍을 통해 zkLogin 지갑에 액세스할 수 있다. 임시 키 쌍이 클라이언트 측에 있는 경우, zkLogin 지갑은 셀프 커스터디 지갑이다.
- Playtron zkLogin wallet: Playtron zkLogin 지갑은 사용자의 Playtron 자격 증명에 연결된 특수한 zkLogin 지갑이다. SuiPlay0X1 기기를 사용하는 모든 사용자는 Playtron 로그인 정보를 가지고 있으므로, 연결된 Playtron zkLogin 지갑을 소유하게 된다.
- Custodial wallets: 개발자는 사용자를 대신하여 지갑을 관리한다(기존 게임 데이터베이스와 유사). 단, 온체인 방식이다. 사용자는 지갑을 생성하거나 가져올 필요가 없으며, 지갑이 무엇인지조차 이해할 필요도 없다. 이를 통해 초기 사용자 경험은 개선되지만, 사용자가 게임의 웹 3.0 기능을 실제로 활용하려면 이 문제를 해결해야 한다.
셀프 커스터디 지갑
셀프 커스터디 지갑을 사용하면 사용자가 개인 키를 관리하고 자산을 직접 소유할 수 있다. 이미 지갑을 소유한 사용자는 일반적으로 지갑 기능, 시드 문구 보안 및 저장 방식에 익숙하다. Web3를 처음 사용하는 사용자에게는 지갑을 얻는 과정을 안내하고 올바른 시드 문구 관리 방법을 교육해야 한다.
셀프 커스터디 지갑의 일반적인 결제 흐름은 사용자가 직접 가스비를 지불하는 방식이며, 이는 관리자의 비용을 절감하지만, 사용자가 거래 비용을 지불하기 위해 지갑에 자금을 예치해야 한다. 사용자를 대신하여 가스비를 지불하는 sponsored transactions을 통해 이러한 결제 흐름을 변경할 수 있다. 이렇게 하면 사용자(특히 Web3를 처음 사용하는 사용자)의 지갑 온보딩 경험을 상당히 간소화할 수 있으므로 마찰을 줄일 수 있다. 하지만 프로젝트의 장기적인 재정적 영향을 고려하고, 제공하는 sponsored transaction이 목표 달성에 지속 가능한지 확인해야 한다.
셀프 커스터디 지갑은 체인 상의 다른 애플리케이션과 상호 작용할 수 있다는 측면에서 가장 높은 이동성을 제공힌다.
zkLogin 지갑
zkLogin 지갑은 Sui만의 고유한 지갑 유형이다. 이 지갑은 Web2 인증 제공업체(가령 Google, Facebook, Twitch OAuth)에서 제공하는 익숙한 로그인 방식을 제공한다. 사용자가 선택한 제공업체를 통해 인증하면 zkLogin이 해당 계정에 온체인 지갑 자격 증명을 연결한다.
zkLogin 지갑은 인증 제공업체의 사용자 메타데이터를 온체인 지갑과 연관시키지 않는 임시 키 쌍을 사용한다. 임시 키 쌍은 클라이언트 측에 보관되므로 zkLogin 지갑은 셀프 커스터디로 관리된다. 따라서 사용자가 시드 구문을 적어두거나 개인 키를 안전하게 저장할 필요가 없다.
가장 간단한 형태의 zkLogin 지갑은 지갑을 생성한 앱에 종속된다. 사용자는 기본적으로 zkLogin을 지원하는 각 애플리케이션에 대해 새로운 지갑을 생성한다. 이 모델은 사용자가 각 지갑 인스턴스에 대한 비밀번호를 기억할 필요가 없도록 하고 Web2에 대한 사용자의 기대치를 충족하기 위한 목적으로 설계되었다. 사용자가 다른 애플리케이션에 지갑을 연결하지 않고도 게임에 계속 참여할 수 있도록 하려면 간단한 zkLogin이 좋은 선택이다.
Enoki by Mysten Labs 는 월간 법정화폐 구독 API 키를 사용하여 zkLogin, sponsored transaction 등에 액세스할 수 있는 SaaS 솔루션이다. zkLogin 기능에 Enoki를 사용하면 Enoki Connect에 액세스할 수 있다. Enoki Connect는 내장된 zkLogin 지갑의 이식성을 제공하여 다른 애플리케이션에서 사용자가 게임 지갑을 통해 연결할 수 있도록 허용한다. 자세한 내용은 Enoki Connect documentation를 참조 한다.
Playtron zkLogin 지갑
Playtron 지갑은 몇 가지 고유한 기능을 제공하는 zkLogin 지갑의 한 유형이다:
- SuiPlay0X1에서 실행되는 GameOS와 직접 통합되어 사용자가 기기에서 원활하게 transaction에 서명할 수 있다.
- Enoki Connect를 기본적으로 지원하여 dApp 간 이식성을 높였다.
SuiLink를 사용하여 Playtron 지갑을 다른 셀프 커스터디 지갑과 연결하여 기기에서 연결된 지갑에 대한 읽기 권한을 부여하는 웹 애플리케이션이 개발 중이다.
커스터디얼 지갑
커스터디얼 지갑을 사용하면 사용자를 대신하여 지갑을 관리할 수 있다. 온체인 방식을 제외하면 기존 게임 데이터베이스와 유사한 경험을 제공한다. 커스터디얼 지갑은 사용자가 지갑을 생성하거나 가져오거나, 심지어 지갑이 무엇인지 이해할 필요조차 없다. 이는 온보 딩 과정에서 발생하는 마찰을 크게 줄여주지만, 사용자가 게임의 웹 3.0 기능을 실제로 활용할 수 있도록 다운스트림 단계에서 사용자를 교육해야 한다.
커스터디얼 지갑은 통합형 또는 개별형으로 구성될 수 있다. 통합형의 경우, 모든 사용자 자산은 하나의 지갑에 통합되고, 게임은 오프체인 데이터베이스를 사용하여 각 자산이 어떤 개인의 자산인지 추적한다. 플레이어 간 자산 전송은 온체인 활동이 발생하지 않고 데이터베이스 업데이트만 발생한다. 예를 들어, 플레이어 A가 플레이어 B에게 검을 판매하는 경우, 온체인 transaction을 수행하는 대신 데이터베이스에 해당 object 교환을 기록한다.
통합 커스터디얼 지갑은 일부 온체인 지표를 난독화할 수 있으며, 이는 제3자 또는 Sui 익스플로러를 통해 게임의 온체인 활동에 대한 외부 검증이 필요한 경우 문제가 될 수 있다. 예를 들어, 게임용 토큰을 출시할 경우, 게임이 통합 지갑을 사용하는 경우 잠재적 투자자는 dApp의 활성 플레이어 수를 파악할 수 없다.
개별적인 경우, 각 사용자는 게임 개발자가 관리하는 커스터디얼 지갑을 갖게 된다. 플레이어 간 자산 전송은 온체인 활동으로 이어지며, 사용자는 가스비를 지불해야 한다.
사용자는 커스터디얼 지갑을 사용하여 체인 상의 다른 타사 dApp(예: NFT 마켓플레이스)과 상호 작용할 수 없다.
지갑 공급업체가 사업을 중단할 경우 다운스트림 위험이 발생할 수 있으므로 제3자 커스터디얼 지갑 공급업체를 선택할 때는 주의해야 한다.
최적의 지갑 통합 선택
dApp에 가장 적합한 지갑을 선택하는 것은 프로젝트의 목표에 따라 달라진다. 일반적으로 단 하나의 최상의 솔루션은 없지만, 다양한 접근 방식 간의 장단점을 비교해보면 어떤 선택이 더 나은지 알 수 있다.
요구 사항
지갑 전략은 개발자에게 달려 있지만 SuiPlay0X1을 사용하려면 몇 가지 요구 사항이 있다:
기기 내
SuiPlay0X1 기기에서 실행되는 게임은 Playtron zkLogin 지갑을 기본 옵션으로 지원해야 한다.
SuiPlay0X1에서 플레이하는 동안 사용자에게 게임 플레이를 위해 기기 외부에서 transaction에 서명하도록 요구할 수 없다.
플레이어가 다른 셀프 커스터디 지갑에 접근할 수 있거나 Playtron zkLogin이 아닌 지갑에 접근할 수 있다는 보장은 없다.
기기 외부
다양한 플랫폼(예: Windows PC)에서 실행되는 오프디바이스 게임은 동일한 지갑으로 크로스 플랫폼 플레이를 가능하게 하기 위해 Sui dApp Kit를 사용해야 한다.
지갑 전략
다음 전략은 관련 시나리오의 요구 사항을 가장 잘 해결하는 방법에 대한 몇 가지 권장 사항을 제공한다.