[NEAR 시리즈] NEAR의 FastAuth, 블록체인 매스어답션을 위한 게임 체인저

user-image
남민우(Bvbv)
Researcher/
CURG
2023.06.29

[Xangle Digest]

※해당 컨텐츠는 6월 16일 외부에서 기발간 된 컨텐츠입니다. 컨텐츠에 대한 추가적인 주의사항은 본문 하단에서 확인해주세요.

니어 FastAuth, FastAuth 키 복구, 니어 월렛, 웹3 UX, 메타 트랜잭션이란

 

목차

현재 Web3 시장의 문제점 
UX를 개선하기 위한 다양한 서비스
NEAR의 블록체인 매스어답션을 위한 게임 체인저, FastAuth
NEAR WALLET & WALLET KEY
소셜 로그인, 회원가입
FastAuth의 키 복구 단계
수수료 없이 (Non Gasfee)서비스 이용을 가능하게 하는 기술들 
AA(Account Abstraction)와 FastAuth의 비교 
FastAuth의 Next Action
마치며

 

 

 

 

2023 5월, NEAR Protocol에서 FastAuth라는 기술이 새롭게 출시되었습니다. 
본 아티클에서는 NEAR FastAuth에 대해 자세히 살펴보겠습니다.

 

현재 Web3 시장의 문제점

현재 Web3 시장은 기존 사용자만 지속해서 사용하게 되는 불편한 UX 때문에 점점 더 고착화되고 있습니다. 한마디로 쓰기 “어렵다” 입니다.

어려운 이유 중 하나는 지갑을 생성하는 것입니다.

기존의 Web2 사용자들은 이메일과 비밀번호만으로도 손쉽게 로그인할 수 있었지만, Web3 서비스를 이용하려면 지갑 익스텐션을 설치하고 12개의 니모닉 키를 외워야 합니다. 12자리의 단어를 일일이 입력하고 그 이후에 비밀번호를 입력해 지갑을 만들 수 있습니다.

현재 로그인과 회원가입의 측면에서 Web3 온보딩의 문제점들을 간략하게 정리하면 다음과 같습니다.

  • 메타마스크를 만드는 것에서부터 진입 장벽이 존재합니다.
  • 메타마스크의 지갑 주소는 0xasdasfasd123121…. 같은 32자리의 해시값으로 이루어져 있어 외우는 것이 불가능합니다.
  • 메타마스크를 생성할 때 얻은 니모닉 키를 외우기도 힘들며 개인 키 또한, 0xasdasfasd123121….로 이루어져 있습니다.
  • 니모닉 키와 개인 키를 잃어버리면 해당 자산을 복구하는 것이 불가능합니다.

그리고 서비스를 이용하기 위해서는 플랫폼이 아닌 유저가 수수료를 지불해야만 합니다.

 

UX를 개선하기 위한 다양한 서비스

블록체인 시장에서는 위와 같은 문제점들을 해결하고 UX를 개선하기 위한 다양한 서비스들이 등장하고 있습니다.

니어 FastAuth, 웹3 UX 개선 서비스, 웹3 진입장벽

출처: NEAR Protocol

Bioconomy, 웹3 UX 개선 서비스, 웹3 진입장벽

출처: Biconomy

Biconomy,Safe, 웹3 UX 개선 서비스, 웹3 진입장벽

출처:Safe

니어 프로토콜에서는 FastAuth를 이더리움시장에서는 Biconomy Safe를 대표적으로 뽑아 볼 수 있겠습니다.

 

NEAR의 블록체인 매스어답션을 위한 게임 체인저 FastAuth

FastAuth란?

NEAR에서 만든 FastAuth는 블록체인 세계에서 사용자 경험을 더 쉽게 만들어주는 프로토콜입니다. 이 프로토콜은 Web2와 유사한 온보딩 과정과 계정 복구 프로세스를 제공하여 사용자들이 디앱을 조작하기 더욱 간편하게 만들어 줍니다. 또한, 이 프로토콜은 NEAR 프로토콜을 기반으로 만들어졌습니다. 좋은 소식은 이 프로토콜이 오픈소스로 공개될 예정이어서 개발자들은 이를 자신의 디앱에 통합할 수 있습니다.

FastAuth는 이더리움 개선 제안(EIP) 중 ERC-4337 표준을 기반으로 하는 새로운 유형의 트랜잭션, 메타 트랜잭션을 도입했습니다. 이 트랜잭션은 제3자가 가스 수수료를 대신 지불해줄 수 있도록 하여 블록체인 세계에서 신규 사용자들이 겪는 중요한 문제 중 하나를 해결해 줍니다.

FastAuth의 특징

FastAuth는 다음과 같은 특징을 가지고 있습니다.

  • 소셜 로그인(이메일 가입 , 지문, 페이스 아이디 등으로 로그인가능)
  • 기존에 비밀번호 복구 방식과 동일한 프로세스로 지갑을 복구 할 수 있습니다.
  • Relayer를 통한 논가스비로 디앱을 이용할 수 있습니다.
  • 익스텐션을 설치할 필요 없이 바로 로그인, 회원가입이 가능합니다.

그렇기 때문에 FastAuth의 계정 추상화를 통해 유저는 이메일로 로그인할 수 있으며, 개인 키 관리나 거래 비용 지불에 대해 걱정할 필요가 없습니다.

각 특징에 대해서 기술적으로 알아보겠습니다.

NEAR WALLET

니어 프로토콜 지갑의 키 관리는 이더리움의 지갑과 완전히 다릅니다.

니어 FastAuth, 니어 월렛, 니어 프로토콜 지갑 키 관리, 니어 월렛 키 구조

Implicit Accounts

암시적 계정은 기존 비트코인/이더리움 계정과 유사합니다. 이 계정은 64자 주소로 정의되며, 이는 고유한 ED25519 키 쌍에 해당합니다.

ED25519 키 쌍으로 만든 계정과, 암시적 계정을 참조했을 때의 계정을 예시로 들 수 있습니다.

  • The public key base58: BGCCDDHfysuuVnaNVtEhhqeT4k9Muyem3Kpgq2U1m9HX
  • Refers to the implicit account: 98793cd91a3f870fb126f66285808c7e094afcfc4eda8a970f6648cdf0dbd6de

Named Accounts

짧은 최상위 계정(32자 미만)을 만들 수 있습니다.

  • 긴(32자 이상) 최상위 계정은 누구나 만들 수 있습니다.
  • 한 계정은 자신의 바로 아래 하위 계정만 만들 수 있습니다.
  • 누구나 긴 최상위 계정(예: 매우 긴 계정 이름 32자)을 만들 수 있습니다.

e.g) alice.near , alice.bob.near

 

NEAR WALLET KEY

니어의 키는 Full Access Keys Function Call keys 이루어져 있습니다.

니어 FastAuth, 니어 월렛, 니어 프로토콜 지갑 키 관리, 니어 월렛 키 구조

Full Access Keys

Full Access Keys는 개인 키와 공개 키로 구성된 새 ED25519 키 쌍으로 생성됩니다. 개인 키는 임의의 32바이트 숫자이며, 공개 키는 계산하기 쉽지만 되돌리기 어려운 단방향 함수인 타원 곡선 곱셈을 사용하여 개인 키에서 파생됩니다. 개인 키는 비밀로 유지되며 트랜잭션에 서명하는 데 사용되는 반면, 공개 키는 공개적으로 공유되며 다른 사람들이 서명을 확인하는 데 사용됩니다. 간단하게 말해서 이더리움에서의 Private Key Public Key 합쳐진 형태라고 생각하시면 됩니다.

Private Key + Public Key = Full Access Key

권한 : 운영 체제에서 관리자 권한을 갖는 것과 유사하게 계정에 대한 모든 권한을 갖습니다.

기능

  1. 서브 계정 생성
  2. 계정 삭제 (서브 계정은 각각 고유한 키를 가지고 있으므로 삭제 불가)
  3. Access Keys를 추가하거나 삭제
  4. 계정 내 스마트 컨트랙트 배포
  5. 어떤 컨트랙트든 메소드 호출
  6. NEAR Ⓝ 전송

 

Function Call Keys

Function Call Keys는 ED25519 키 쌍이지만, 사용을 제한하는 추가 메타데이터와 연결되어 있습니다. 이 메타데이터에는 컨트랙트 ID, 메소드 이름, 허용량이 포함됩니다.

Function Call Keys는 목적에 따른 서명 Key를 발급해, 특정 기능에 대한 서명만 수행합니다. Key로 서명 가능한 기능과 권한이 제한되어 있어 자산 탈취 리스크를 최소화하며, 이를 이용해 지갑 없이 유저가 트랙잭션을 발생시키고 서명하는 것도 가능합니다. 
간단하게 말해서 Full Access Keys + Metadata(특정 함수에만 액세스 할 수 있게 하는 데이터) 만들어진 키입니다.

권한 : NEAR Ⓝ 사용을 필요로 하지 않고 특정 기능을 호출할 수 있는 권한을 갖습니다.

Metadata:

  1. receiver_id: 키가 호출을 허용하는 계약입니다 . 이 키를 사용하여 다른 계약을 호출할 수 없습니다.(키가 호출할 수 있는 컨트랙트의 계정 ID)
  2. method_names: 해당 키로 부를 계약 내 기능의 이름입니다. 생략할 시 모든 기능이 호출됩니다. (키가 호출할 수 있는 특정 기능)
  3. allowance: NEARⓃ을 첨부하지 않고 호출하게 되면 키는 볼 수 있는 기능의 호출만 허용됩니다. (키가 가스비로 사용할 수 있는 최대 NEAR 토큰 금액)


지금까지 NEAR가 키를 어떻게 관리하는지 알아보았다면, 다음은 이 키로 로그인과 회원가입 방법을 알아봅시다.

 

소셜 로그인, 회원가입