[Xangle Digest]
※해당 컨텐츠는 4월 29일 외부에서 기발간 된 컨텐츠입니다. 컨텐츠에 대한 추가적인 주의사항은 본문 하단에서 확인해주세요.
목차
1. Gas Sponsorship
2. Social recovery
3. Multi-call
4. Automating controlled payments
5. Custom access control
1편(UX관점에서 살펴보는 ERC-4337 Use case for Web3 Game)에 이어서 이제 ERC-4337 기반의 Account Abstraction이 무엇이며, 어떠한 효용을 가지는지, 그리고 이를 평가할 수 있는 Blockchain UX Framework를 알고 있습니다. 지금부터는 더욱 구체적으로 ERC-4337기반의 Account Abstraction이 어떻게 UX를 개선하는지, 어떠한 효용을 제공하는지 Web3 Game 사례를 통해 알아보고자 합니다.
ERC-4337 기반의 Account Abstraction 기술이 가장 잘 적용될 수 있는 분야는 Game 분야라고 생각합니다. 게임은 블록체인과 잦은 소통을 해야 하며, 이는 필연적으로 많은 거래 승인을 해야 합니다. 이에 따라 이용자는 반복적으로 서명을 진행하고, Gas Fee를 내며 UX 저하를 경험하게 됩니다. 이에 따라 Game의 본질인 재미와 거리가 멀어지며, 이용자들이 이탈하는 상황이 발생합니다.
그러나 이제는 ERC-4337 기반의 Account Abstraction 덕분에 조금 더 나은 UX 구현이 가능합니다. 게임의 본질인 재미에 집중할 수 있는 환경을 구축하기 위해 ERC-4337을 사용하여 지갑, 시드 구문 저장, 트랜잭션 서명, 개인 키 관리 등 UX를 저하하는 일련의 과정들을 생략할 수 있습니다. 이를 기반으로 Web2 유저들이 경험하는 UX와 비슷한 환경을 제공합니다. 이는 유저 온보딩을 돕고, 유저들이 게임성, 재미에만 집중할 수 있는 환경을 제공합니다.
ERC-4337 기반의 Account Abstraction이 블록체인 게임에서 사용될 수 있는 5가지의 Use case에 대해 다뤄보았습니다. 그리고 각 사례에 대하여 사용자가 어떻게 UX 개선을 경험할 수 있는지 UX Framework를 통해 살펴보았습니다. 평가 기준으로는 Web3 게임을 처음 접하는 유저가 아닌, 이미 과거에 Web3 게임을 경험해 본 유저를 기준으로 하였습니다.
*Web3 Game use case에 대한 Blockchain UX Framework의 내용 선정은 Author인 백용기, 하서빈의 주관적인 견해이므로 각자의 기준에 따라 선정 결과값은 달라질 수 있음을 말씀드립니다.
Use cases of ERC-4337 for Web3 Game + UX Framework check
1. Gas Sponsorship
ERC-4337은 Entry point contract에서 Paymaster 기능을 지원합니다. 즉, Paymaster는 EVM 계열 네트워크의 컨트랙트 설계자(게임 개발사)가 유저의 수수료를 대신 지불하거나, 유저가 ERC-20 토큰으로 수수료를 지불할 수 있게 하는 기능을 의미합니다. 글의 초입 부분에서 언급했듯 User Operation 내 paymasterAndData필드에 지불 계정 주소를 입력해서 보내면 Gas fee 대납이 가능한 형식입니다. 이러한 기능을 활용해 게임사가 유저에게 Gas fee를 일부 지원 또는 대납할 수 있습니다.
예시로 P2E 게임 세탄 아레나(Thetan arena)는 현재 홈페이지에서 유저들에게 무료 Welcome gift를 Airdrop 해주고 있습니다. 그러나 유저의 지갑 내 가스비로 쓸 소정의 자금이라도 없으면 클레임이 불가합니다. 게임사가 트랜잭션의 Gas fee를 지원 또는 대납한다면, 유저 입장에서 개선된 서비스의 하나로 만족감을 느끼며 게임에만 집중할 수 있습니다. 또한 게임사 입장에서는 개선된 사용자 경험을 제공할 수 있으므로 보다 원활한 유저 온보딩이 가능해집니다.
이러한 예시들로 보았을 때, Gas Sponsorship 사용 전과 후를 비교해 보면 다음과 같습니다.
사용 전:
a. 유저는 지갑에 Gas fee로 사용할 이더리움이 있는지 항상 체크해야 함.
b. Gas fee 또한 본인의 자산이므로, 유저는 부담감을 느낄 수 있음.
c. Gas fee가 없으면 게임 플레이가 어려우며, 또한 게임 관련 아이템 Airdrop을 받지 못함.
사용 후:
a. 유저는 이더리움이 아닌 ERC-20 토큰으로 결제할 수 있음
b. Gas fee를 게임사에서 지원함으로써, 유저는 이전보다 게임에 부담을 덜 느끼며 몰입할 수 있음.
c. Gas fee가 없어도 게임 관련 아이템 Airdrop을 받을 수 있음.
아래의 UX Framework를 통해 분석한 결과, General UX 측면에서 Usability(4개), Affect(3개) 부분 개선이 이뤄졌다고 체크했습니다. 대표적으로 많이 체크 된 Usability의 경우, 게임사가 Gas fee를 지원함으로써 유저 입장에서 Gas fee 없이 서비스 이용이 가능해짐으로 온보딩 과정이 단순화될 수 있습니다. 또한 Paymaster 기능을 통해 ERC-20 토큰으로 Gas fee를 지불할 수 있는 선택지를 제공함으로써 Usability가 개선될 수 있다고 평가했습니다.
General UX-Gas Sponsorship
Technological UX 측면에서 Social value(all), Economic value(1개) 부분 개선이 이뤄졌다고 체크했습니다. 대표적으로 많이 체크 된 Social value의 경우 유저들은 Gas fee 지원 서비스를 제공하는 게임을 채택할 가능성이 높으며, 이는 게임사 측면에서 신규 유저 온보딩 및 서비스 유지의 원동력이 될 수 있다고 평가했습니다. 또한 기존 이더리움으로만 Gas fee를 지불하는 것으로부터 자유로워질 수 있어 Social value 측면에서 개선된다고 평가했습니다.
Technological UX-Gas Sponsorship
2. Social recovery
ERC-4337 적용을 통해 유저는 시드 문구와 개인 키를 분실 시 Social recovery를 통해 분실된 계정을 복구할 수 있기 때문에 더 안전하게 계정을 보호하고 게임을 플레이할 수 있습니다. 물론 이러한 기능들은 기존 Smart contract wallet(이하, SCW)으로도 구현이 가능합니다. 하지만 사용자가 SCW기반의 CA를 생성하기 위해 EOA를 보유해야 합니다. ERC-4337은 사용자가 EOA를 보유할 필요가 없기 때문에 Web2 게임과 같이 계정 복구 등의 보다 쾌적한 UX 제공이 가능해집니다. 즉, 대규모 유입 시 ERC-4337 적용을 통해 기존 블록체인 게임의 진입 장벽을 낮출 수 있습니다. 특히 게임 길드 또는 DAO 에서도 유용하게 쓰일 수 있습니다.
- Social recovery: 계정 복구 기능은 자신이 신뢰하는 사람의 지갑 계정 또는 하드웨어에 탑재된 지갑 계정을 가디언(보호자)으로 설정해서 이 보호자가 복구를 승인하면 일정 시간 후 계정을 찾을 수 있는 기능입니다. 예시로, 본인 인증 및 신뢰의 수단으로 처음 가입하는 게임 길드원은 계정 생성 시 게임 길드의 관리자 또는 DAO 컨트리뷰터를 신뢰할 수 있는 가디언으로 지정합니다. 추후 계정이 손실됐을 경우, 가디언의 승인을 통해 복구가 가능하게 됩니다. 시드 구문이 없어도 계정 복구가 가능하고, 계정 키의 재설정이 가능합니다.
- AA Multi-sig: 게임 DAO의 트레저리 월렛을 보관하는 목적 또는 게임 길드의 전용 지갑을 만들 때 사용할 수 있습니다. 원래 Multi-sig는 하나의 개인 키만 노출되어도 해킹 등의 외부 공격에 의해 자산을 모두 도난당할 위험이 있던 기존의 보안 방식(단일 실패 지점)과 달리, 트랜잭션을 실행하려면 일정 수 이상의 서명을 받아야 하므로 허가되지 않은 접근을 막는 기능입니다. n명의 signer를 설정하기 때문에 사기 및 해킹, 의도치 않은 송금 실수 등의 가능성을 크게 줄일 수 있습니다.
- 기존의 Multi-sig와 AA Multi-sig의 다른 점: 기존의 Signer는 개인적으로 수수료를 지불해야 하기에 각 Signer 계정에 소정의 이더리움 Gas Fee를 추가해야 했습니다. AA Multi-sig는 paymasterAndData 필드에 Gas Fee 전용 지갑 계정 주소를 입력하고 컨트랙트에 보관하면 N명의 Signer가 개인적으로 Gas Fee를 지불하지 않아도 되는 이점이 있습니다.
이러한 예시들로 보았을 때, Social logins + Account recovery의 사용 전과 후를 비교해 보면
사용 전:
a. 유저는 계정 생성 시 시드 문구와 개인 키를 보관해야 함
b. 계정 손실 시 복구가 불가능함
c. Multi-sig를 사용할 경우 N명의 Signer가 각각 가스비를 지불해야 함
사용 후:
a. 계정 손실을 대비하여 가디언을 지정, 손실 시 시드 문구가 없어도 가디언을 통해 계정 복구가 가능함
b. AA Multi-sig를 사용할 경우, 가스비 전용 지갑을 미리 설정하여 각 N명의 Signer가 가스비를 지불할 필요가 없어짐
아래의 UX Framework를 통해 분석한 결과, General UX 측면에서 Usability(5개), Affect(4개), Sociability(1개) 부분 개선이 이뤄졌다고 체크했습니다. 대표적으로 많이 체크된 Usability의 경우, 유저가 느끼는 계정(지갑)보관의 부담 해소를 효율적으로 달성할 수 있고, 이전보다 더 편리한 계정 로그인과 계정 복구가 가능해지기 때문에 Usability가 개선된다고 평가했습니다.
General UX -Social recovery
Technological UX 측면에서 Social value(all), Economic value(1개), Trust (2개) 부분 개선이 이뤄졌다고 체크했습니다. 유저는 계정 손실을 대비하여 복구를 돕는 가디언을 지정하는 방식이 블록에 저장되며 누구나 데이터를 열람할 수 있고(투명성), 블록에 저장된 데이터는 위변조가 불가한(불변성) 블록체인의 특성으로 인해 신뢰할 수 있다는 점과 보관한 개인 키가 손실될 경우 복구가 불가능했던 조건에서 social recovery로 인해 개선된 점을 높게 평가하여 Trust가 개선되었다고 평가했습니다.
Technological UX-Social recovery
3. Multi-call
ERC-4337을 통해 거래 승인, 토큰 스왑 등 여러 트랜잭션 실행을 하나로 묶고 하나의 One atomic(원탭) 트랜잭션으로 실행할 수 있는 Multi-call 기능을 사용할 수 있습니다. 예시로, 일반적인 트랜잭션의 경우 트랜잭션마다 서명 및 Gas fee를 지불해야 합니다. 하지만 Multi-call 기능을 통해 모든 작업을 완료한 다음 일괄 서명하여 Gas fee가 이중, 삼중으로 지출되지 않고 한 번의 탭으로 트랜잭션 실행을 할 수 있습니다.
이 기능은 게임에서도 유용한 기능입니다. 여태까지는 게임 내 동일한 등위의 반복적인 행동, 가령 예를 들자면 농작물 재배, 수확 혹은 건물 짓기 등의 간단하지만 반복적인 행위를 할 때마다 트랜잭션을 보내고, Gas fee를 지불해야 했습니다. 하지만 이런 번거로운 행동은 유저에게 게임의 흥미를 잃어버리게 할 수 있습니다. 이제는 모든 작업을 완료한 다음 일괄 서명하게 하는 방법인 Multi-call 기능을 통해 한 번의 탭으로 수월한 게임 진행이 가능해집니다. 실제로 Starknet 해커톤에서 수상한 팀 Starkdew valley의 게임과 갈라 게임즈의 Mirandus 게임이 적절하게 사용하기 좋은 예입니다.
Starkdew valley / Mirandus
우선 왼쪽 그림인 Starkdew valley게임을 설명하자면, 농작물을 심고 수확하는 과정이 있다고 했을 때 플레이어는 씨앗을 뿌린 다음 식물로 자라면 수확할 수 있고 20초 후에 수확이 가능합니다. 게임을 하는 과정에서 Muiti-call 기능이 없는 기존의 블록체인 게임이라면 다음과 같이 진행됩니다.
땅 다지기 작업 명령 - 트랜잭션 서명 - 실행 - 씨앗 심기 작업 명령 - 트랜잭션 서명 - 실행 - 수확하기 작업 명령 - 트랜잭션 서명 - 실행
이런 식으로 번거로웠던 호출 방식에서, Multi-call 기능은 유저들에게 개선된 경험을 줄 수 있습니다.
이러한 예시들로 보았을 때, Multi-call 사용 전과 후를 비교해 보면
사용 전:
a. 단순하고 반복적인 작업마다 트랜잭션이 발생함으로써 시간이 많이 소요됨
b. 트랜잭션마다 서명 및 Gas fee지불로 게임 진행 차질 및 유저 피로도 증가함
사용 후:
a. 전체 작업 완료 후 일괄 서명을 하게 함으로써 유저의 번거로움과 작업 시간 단축이 가능함
b. 빠른 게임 진행을 통해 더욱더 게임에 집중할 수 있으므로 유저의 체류 시간이 길어짐
아래의 UX Framework를 통해 분석한 결과, General UX 측면에서 Usability(4개), Affect(3개), 부분 개선이 이뤄졌다고 체크했습니다. 가장 많은 체크를 받은 Usability의 경우, 게임 내 한 번의 탭으로 수월한 트랜잭션 작업 진행이 가능함으로써 유저의 Task 달성 시간이 빨라질 것으로 예측되며, 동시에 게임 이용이 단순해지기 때문에 Usability가 개선된다고 평가했습니다.
General UX -Multi-call
또한 Technological UX 측면에서 Social value(all), Economic value(all) 부분 개선이 이뤄졌다고 체크했습니다. 가장 많은 체크를 받은 Economic value의 경우 유저는 Multi-call 기능을 통해 Gas fee를 아끼고, 게임 내 Task를 진행하는 시간이 단축되어 더욱 많은 수익을 창출할 수 있으므로 시간적, 금전적 이익을 얻을 수 있음에 개선된다고 평가했습니다.
Technological UX -Multi-call
4. Automating controlled payments
ERC-4337 기반의 위임 가능한 계정을 통해 한도 금액으로 자동으로 결제가 가능합니다.
- Auto-Game Staking: 쉬운 이해를 위해 실제 사례로 설명하겠습니다. 한때 국내에서 엄청난 이슈였던 국내 게임사 나트리스의 무한돌파 삼국지 리버스는 게임 속 농장 수확 재배가 있었는데, 하루가 지나면 보관했던 기존 무돌 토큰과 추가로 스테이킹 보상받았습니다. 만약 이런 게임에 ERC-4337 도입으로 자동 결제 기능이 적용된다면, 서버에 보관된 Key1을 이용해 매일 같은 시간, 같은 토큰량으로 자동 스테이킹을 설정할 수 있습니다. . AA가 아닌 기존 컨트랙트에서도 지갑 스테이킹 기능은 구현할 수 있으나 불편한 점은 지갑의 토큰 잔액이 Gas fee로 사용되기 때문에 유저가 소정의 Gas fee를 계산 후 진행해야 합니다. 반면, ERC- 4337은 Gas fee를 대납하는 기능이 있어 게임사가 Gas fee를 지원함으로써 유저 입장에서 Gas fee 없이 자동 스테이킹 서비스 이용이 가능해짐으로 더욱 편리한 이점이 있습니다. 또한, Auto-staking을 진행 중에 해킹 이슈가 생기더라도 ERC-4337 기반 계정은 최대 토큰 인출량을 사전 지정해 놓을 수 있기 때문에 자금 손실을 막을 수 있습니다.
- Automating payments: 게임 길드 또는 DAO에서 격려와 보상 차원으로 길드원 모두에게 매달 특정 금액(예 $300 USDC)을 보낼 수 있게 값을 설정할 수 있습니다.
물론 payments 기능을 자동으로 컨트롤할 수 있다는 전제하에 체크된 기준들이며 컨트랙트 설계가 어렵기 때문에 실제 사용되는 케이스가 아닌 ‘추상화한 Use case’임을 다시 한번 언급 드립니다.
이러한 예시들로 보았을 때, Automating payments의 사용 전과 후를 비교해 보면 다음과 같습니다.
사용 전:
a. 매번 접속해 결제 및 송금을 진행해야 함
사용 후:
a. 각 위임 가능한 계정을 통해 시간과 가격을 설정하면 자동으로 구매하거나 스테이킹을 할 수 있음
아래의 UX Framework를 통해 분석한 결과, General UX 측면에서 Usability(5개), Affect(5개) 부분 개선이 이뤄졌다고 체크했습니다. 게임 개발사가 만약 자동 스테이킹 기능을 도입하면, 유저는 매번 보상받으러 갈 필요 없이 자동 스테이킹 설정 후 게임 플레이에 더 몰입할 수 있습니다. 이러한 측면에서 Usability와 Affect가 개선되었다고 평가하였습니다.
General UX -Automating controlled payments
Technological UX 측면에서 Social value(all), Economic value(1개), Trust (1개) 부분 개선이 이뤄졌다고 체크했습니다. 다양한 자동화 기능을 구현으로 모든 유저는 더 많은 혜택과 자유를 누릴 수 있을 것으로 예측되므로 Social value 측면에서 개선되었다고 평가하였습니다.
Technological UX -Automating controlled payments
5. Custom access control
ERC-4337을 통해 서명 방식 지원을 통한 다양한 계정 디자인이 가능합니다. 개인 키를 여러 서명키로 나누고 각 키의 일정 값을 다르게 지정하는 등 다양한 방식으로 승인을 설정할 수 있습니다.
- 개인 키 변경 & 다양한 서명 방식 채택 → 보안성, 신뢰성 강화
개인 키를 주기적으로, 다양하게 변경할 수 있고 용도에 따라 서명 방식을 채택할 수 있습니다. 예를 들어 유저의 주 거래 계정은 보안성이 높은 양자 저항 서명 방식을 채택함으로써 서명 보안이 강화되므로 신뢰성이 높아집니다. 기존의 서명 방식은 비트코인과 이더리움에서 사용하는 방식인 ECDSA(Elliptic Curve Digital Signature Algorithm)를 SECP256K1로 사용하고 있는데, 이는 양자 컴퓨터에 취약합니다. 그러나 ERC-4337을 사용하면 다른 서명 로직인 Schnorr, BLS signatures를 사용할 수 있고 또한 양자 저항 서명인 Lamport, Winternitz 서명 로직을 사용할 수 있습니다. 추가로 덧붙이자면 ECDSA 서명 방식은 배치 검증 방식에서 비효율적이며 계산 과정의 연산이 무겁습니다. 즉, 서명 데이터가 크기 때문에 네트워크 트래픽, Gas Fee의 부분에서 게임사는 잠재적인 확장성 문제가 생길 가능성이 존재합니다. ERC-4337을 통해 다른 서명 로직 사용 시, 예를 들어 Schnorr 서명 로직을 사용할 경우 데이터가 작아지므로 잠재적인 확장성 문제개선 및 Gas Fee의 부담을 덜 수 있습니다.
이러한 예시들로 보았을 때, Custom access control의 사용 전과 후를 비교해 보면 다음과 같습니다.
사용 전:
a. 개인 키는 항상 동일하므로 유저 스스로가 잘 보관하고 정보 유출이 없도록 조심해야 함
b. 개인 키 누출 또는 계정이 해킹될 경우 모든 자산이 빠져나감
사용 후:
a. 여러 서명키로 나누고 각 키의 일정값을 다르게 지정 후 관리함으로써 해킹 드레인 방지, 스팸 토큰 거부할 수 있음
b. 최대 토큰 전송량을 지정할 수 있으므로 안전한 자산관리가 가능함
c. 다양한 서명 로직 및 양자 저항 서명이 가능하기 때문에 서명 보안이 강화됨. 잠재적인 확장성 문제도 개선 가능
아래의 UX Framework를 통해 분석한 결과, General UX 측면에서 Usability(4개), Affect(5개) 부분 개선이 이뤄졌다고 체크했습니다. Custom access control을 통해 유저가 설정한 key에 따라 다양한 기능 구현이 가능해지기 때문에 유저는 새로움을 느끼고 용도에 따라 서명 방식을 채택할 수 있을 것으로 예측됩니다. 또한 해킹으로부터 비교적 안심할 수 있으며 유저는 서비스를 몰입해서 이용할 수 있을 것으로 예측되어 Affect 측면에서 개선이 일어났다고 평가하였습니다.
General UX — Custom access control
Technological UX 측면에서 Social value(all), Economic value(1개), Trust (all) 부분 개선이 이뤄졌다고 체크했습니다. Social value 측면에서 이더리움의 ECDSA 서명 방식으로부터 자유로워지고 다양하게 개인 키를 설계할 수 있음으로써 보안이 더욱 강화되어 서비스 유지 및 개발에 기여할 수 있을 것으로 예측됩니다. 그리고 해킹 방지 및 보안성 강화와 양자 저항 서명을 통해 Trust 측면에서도 개선되었다고 평가하였습니다.
Technological UX -Custom access control
이렇게 ERC-4337의 기능들을 게임의 Use case로 가정했을 때, 그 기술을 얼마나 dApp에 구현하는가, 또는 비슷한 기능들을 ideation해서 다양하게 생성하냐에 따라 UX의 개선은 빠르게 이루어지리라 생각합니다. 게임을 게임답게 만들 수 있는 블록체인 기술의 상용화를 기대하며 이 글을 마무리합니다. Author인 백용기,하서빈은 지속된 팔로업으로 향후 업그레이드된 Account Abstraction Use case + 각 기능들의 설계 구현까지 자세히 조사해 볼 계획입니다.
※ 참고자료
https://davaproject.medium.com/dava-polygon-migration-announcement-15de502ee563
https://vitalik.eth.limo/general/2023/02/28/ux.html
https://eips.ethereum.org/EIPS/eip-4337#reputation-scoring-and-throttlingbanning-for-global-entities
https://twitter.com/lordOfAFew/status/1519057241436876801?s=20
https://old.reddit.com/r/ethereum/comments/11tijiv/how_i_think_about_choosing_guardians_for_multisig/
https://twitter.com/hasufl/status/1538793436085637121?s=20
https://scroll.bibliothecadao.xyz/technology/account-abstraction
https://www.argent.xyz/blog/uniswap-multicall/
https://twitter.com/PirateNationNFT
https://eips.ethereum.org/EIPS/eip-4337#reputation-scoring-and-throttlingbanning-for-global-entities
https://medium.com/dsrv/gateway-to-staking-스테이킹으로-이자-받는-가장-쉬운-방법-솔라나-solana-1d5eaf777fd7
https://cryptoslate.com/ethereum-founder-urges-self-custody-recommends-use-of-multi-sig-social-recovery-wallets/
http://journal.dcs.or.kr/_common/do.php?a=current&b=11&bidx=2927&aidx=32944
https://blog.openzeppelin.com/eth-foundation-account-abstraction-audit/
https://www.argent.xyz/blog/part-3-wtf-is-account-abstraction/
https://twitter.com/GreenGaguri0/status/1631129688130355201
https://twitter.com/GreenGaguri0/status/1631129680781930498?s=20
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4105763
https://hackmd.io/@angelfish/BytzUTdCK#Change-mempool-rules-to-support-privacy-applications
-> 'UX관점에서 살펴보는 ERC-4337 Use case for Web3 Game 2' 원문 보러가기