[NEAR] Chain Abstraction: NEAR가 그리는 Web 3 UX 향상

Wonyeong Kim
EWHA-CHAIN
Published in
16 min readJun 11, 2024
출처: NEAR Protocol

Written By: 김원영, 안희재, 정혜교, 최시원

TL;DR

  • NEAR는 기존 블록체인의 문제를 해결하기 위해 등장한 Layer 1 체인으로, 체인 추상화를 통해 사용자와 개발자에게 친화적인 환경을 제공한다. 이를 위해 BOS, Chain Signature, Multichain Gas Relayer 등의 기술을 도입하여 블록체인 간 상호운용성을 높이고, 사용자 경험을 개선하고 있다.
  • BOS는 다양한 블록체인 플랫폼과 호환되는 분산화된 프론트엔드를 제공하여 체인 간 상호운용성을 높이는 역할을 한다. 이를 통해 NEAR는 다양한 응용 프로그램을 제공할 수 있게 지원하며, FastAuth와 NEAR Task 등을 통해 사용자 접근성을 향상시킨다.
  • Chain Siganature는 분산화된 서명 과정을 통해 하나의 NEAR 계정만으로 다양한 체인에 트랜잭션을 할 수 있도록 지원하며, 여기에 Multichain Gas Relayer로 가스비 대납 기능을 더해 여러 체인 간 상호운용성을 지원한다.

목차

  1. NEAR와 Chain Abctraction
  2. BOS
    2.1. BOS의 구성요소
    2.2. FastAuth
    2.3. NEAR Task
  3. Chain Signature
    3.1. Chain Signature의 구동 과정
    3.2. Chain Signature Use Cases
  4. Multichain Gas Relayer
    4.1 Multichain Gas Relayer System Workflow
  5. 마치며

1. NEAR와 Chain Abstraction

NEAR는 기존 Web3가 가지고 있던 문제점을 해결하기 위해 등장한 Layer 1 체인이다. 2020년 4월 메인넷을 출시한 것을 시작으로, Human-Readable Address, 체인추상화 등을 통해 개발자와 사용자 모두에게 친화적인 암호화폐 플랫폼을 구축해왔다.

NEAR의 목표는 체인추상화(Chain Abstraction)이다. 사용자 경험(UX) 개선, 개발자 환경 단순화, 그리고 여러 체인 간 트랜잭션 복잡성 추상화를 통해 블록체인에 대한 심층적인 이해 없이도 NEAR와 다른 체인의 어플리케이션을 사용할 수 있도록 하는 것이다. NEAR는 유저들이 언제 블록체인을 사용하는지, 어떤 블록체인을 사용하는지 인식하지 못하도록 다양한 체인 추상화 서비스를 제공한다. 이러한 서비스에는 블록체인 운영체제(BOS)와, Chain Signature, Multichain Gas Relayer가 대표적이다. 체인 추상화를 통해 NEAR는 Web3의 진입장벽을 낮추어 궁극적으로 Web3 매스 어돕션을 지향한다.

2. BOS

체인 추상화의 기반이 되는 BOS는 분산화된 프론트엔드를 개발하고 배포하기 위해 다양한 블록체인 플랫폼과 호환되는 공동 레이어 역할을 한다. 기존의 블록체인 시스템에서는 체인 별로 사용되는 언어와 프레임워크 등이 달라 체인 간 상호운용성이 현저히 낮았다. NEAR는 이를 극복하기 위해 BOS를 도입하였다. BOS는 NEAR를 포함한 여러 체인의 운영체제 역할을 함으로써 같은 시스템 위에서 여러 응용 프로그램을 제공할 수 있도록 지원하는 역할을 한다.

2.1. BOS의 구성 요소

출처: NEAR Medium

BOS의 구성 요소에는 온보딩(Onboarding), 게이트웨이(Gateways), 디스커버리(Discovery), 데이터 플랫폼(Data Platform), 블록체인 및 스마트 컨트랙트(Blockchains & Smart Contracts)가 있다.

BOS는 게이트웨이뿐만 아니라 컴포넌트화된 프론트엔드 코드를 제공하여 개발자가 보다 간편하게 탈중앙화된 오픈 웹을 구축할 수 있도록 돕는다. 컴포넌트(Component)는 버튼, 네비게이션 바 등 웹 애플리케이션의 일부에서부터 하나의 애플리케이션까지 크고 작은 기능 단위로 나누어진 프론트엔드 코드이다. BOS에서 컴포넌트는 기존 Web2 개발자들에게도 친숙한 JSX 문법으로 작성되어 NEAR의 SocialDB 스마트 컨트랙트를 통해 모두 온체인에 저장되는데, 개발자는 직접 컴포넌트를 개발하여 NEAR 온체인에 배포하거나 다른 사람이 배포한 컴포넌트를 위젯(<Widget/>)이라는 태그로 가져와 자신의 코드에 쉽게 삽입할 수 있다. NEAR 온체인에 배포되어 있는 컴포넌트 목록은 dev.near.org/components 에서 확인할 수 있다.

2.2. FastAuth

FastAuth는 NEAR BOS에서 제공하는 주요 기능으로, 뛰어난 온보딩 기능을 제공하는 지갑 솔루션이다. 기존 Web3 지갑에서는 사용자가 분산화된 어플리케이션을 사용하기 위해 복잡한 과정을 거쳐야 했다. 하지만 FastAuth는 이메일과 패스키를 통해 빠르고 보안이 강화된 방식의 로그인 방식을 지원한다. 이러한 방식으로 사용자가 계정을 만들고 로그인을 했다면, 하나의 계정만으로도 여러 디앱을 이용할 수 있다. 기존에는 어플이케이션 단위로 계정이 생성되어 각 앱마다 키를 관리해야 했지만, FastAuth는 블록체인 단위로 계정이 생성되어 동일한 체인의 여러 디앱을 쓸 수 있기 때문이다. 따라서 높은 호환성과 접근성을 제공한다는 장점이 있다. 또한, FastAuth는 SSO(Single Sign-On)를 통해 간편하게 계정을 복구할 수 있으며, Meta Transaction과 Zero Balance 기능으로 인해 NEAR 측에서 가스비를 대납하여 온보딩 프로세스에 대한 부담을 낮춘다.

2.3. Near Task

BOS를 기반으로 운영되는 대표적인 서비스에는 NEAR Task가 있다. NEAR Task는 NEAR의 목표인 접근성 향상을 달성하기 위해 출시된 플랫폼이다. Task를 해결한 참가자들에게 $NEAR로 인센티브를 제공해 잠재적 사용자들에게 목적의식을 부여하고, 공통된 관심을 공유하는 커뮤니티 역할을 해 NEAR 체인 자체에 대한 접근성을 높인다는 것에 의의가 있다.

이렇듯 NEAR Protocol은 기존 Web3의 문제를 해결하기 위해서 BOS 시스템을 운영하고 있으며, 이와 관련해 NEAR Task등 다양한 플랫폼을 활용해 새로운 체인 생태계를 구축한다.

3. Chain Signature

NEAR의 체인 추상화에 기여하는 또 다른 요소로는 Chain Signature가 있다. Chain Signature는 NEAR 계정이 모든 블록체인 트랜잭션에 서명하고 실행 할 수 있도록 하는 기술이며, Multi-Party Computation(MPC) 네트워크와 EigenLayer 검증자들에 의해 구현된다.

출처: NEAR Docs

Chain Signature는 기존의 cross-chain 트랜잭션에 활용한 기술인 Bridge의 과정 없이 하나의 NEAR 계정이 여러 블록체인과 인터랙션할 수 있도록 지원한다. 이로 인해 사용자는 여러 계정을 만들고, 계정의 key를 보관할 필요가 없어진다. 따라서 블록체인의 lower layer에 대한 이해 없이 NEAR 계정 하나만으로 거래가 가능해져 추상화된 트랜잭션 과정을 경험하게 된다. 결과적으로 Chain Signature는 NEAR 계정의 데이터 가용성(Data Availability)과, cross-chain 자산과 계정에 대한 소유권을 보장해 블록체인 상호운용성을 높이는 것에 의의가 있다. 현재 Chain Signature는 Bitcoin, Ethereum, Cosmos 등의 블록체인과 상호운용성을 지원한다.

3.1. Chain Signature의 구동 과정

Chain Signature의 구동 과정은 다음과 같다.

1) NEAR 계정, 혹은 스마트 컨트랙트가 검증자들에게 트랜잭션에 대한 서명을 요청한다.

출처: Proximity Medium

2) 검증자들은 Multi-Party Computation을 통해 분산화된 방식으로 트랜잭션을 서명하고 Destination Chain으로 전송한다.

출처: Korea Blockchain Week

위에 서술된 Chain Signature의 첫 번째 과정에서 다른 체인으로의 트랜잭션에 대한 서명 요청을 할 때 사용되는 스마트 컨트랙트는 Multichain Smart Contract이다. Multichain Smart Contract는 sign 메소드 안에 payloadpath 두 개의 파라미터로 이루어져 있다. payload는 서명되어야 할 트랜잭션의 내용을, path는 서명이 완료된 트랜잭션을 전송 받으려는 계정의 주소를 뜻하는 변수이다. Chain Signature로 인해 하나의 NEAR 계정이 NEAR 밖의 여러 계정 주소와 연결될 수 있기 때문에 거래를 하려는 외부 주소를 명확히 구분하는 path 파라미터가 필요하다.

이 과정을 통해 유저는 중간의 서명 과정에 대한 이해 없이 여러 계정이나 지갑을 생성하지 않고도 하나의 NEAR 계정만으로 다른 체인에 트랜잭션을 전송할 수 있다. 또한 MPC 네트워크의 노드들은 트랜잭션 payload에 대한 정보 없이 서명을 하게 된다. 이 서명 과정에서 MPC 노드는 독단적인 서명이 불가하고, 각 노드가 signature-share라는 분산된 서명을 생성해 여러 round를 거쳐 전송되는 트랜잭션을 위한 하나의 서명으로 합쳐진다. 따라서 Chain Signature를 통해 추상화된 거래 경험이 제공될 뿐만 아니라, 데이터에 대한 보안성과 탈중앙성이 보장된다.

3.2. Chain Signature Use Cases

  • EAST Blue:
    EAST Blue는 Bitcoin Application Layer로써, Bitcoin DeFi 프로젝트의 매스 어돕션을 지향하는 인터페이스이다. Bitcoin 어플리케이션의 추상화를 지원하며, 그 과정에서 NEAR의 Chain Signature를 활용한다. EAST Blue는 Account Vault Model에서 cross-chain 트랜잭션을 위해 NEAR의 Account Aggregation을 사용했다. 스마트 컨트랙트를 통해 계정의 소유권을 전송하여 NEAR가 다른 체인에 계정 주소를 만들 수 있게 한다.
  • Mintbase:
    Mintbase는 NEAR의 NFT 마켓플레이스 중 하나로, Chain Signature를 통해 NEAR와 Ethereum 사이의 상호운용성을 지원한다. NEAR의 지갑 소유자들이 ETH 기반의 NFT를 직접적으로 구매할 수 있게 하며, 스마트 컨트랙트를 커스터마이징해서 다른 NEAR 계정에게 컨트랙트의 소유권을 전송할 수 있다.

4. Multichain Gas Relayer

Multichain Gas Relayer 또한 NEAR 체인 추상화의 중요한 요소이다. Multichain Gas Relayer는 여러 다른 블록체인 네트워크 간 발생되는 트랜잭션 수수료를 대납해준다. 이로 인해 트랜잭션을 전송하는 사용자는 가스비에 대한 이해와 부담 없이 거래를 계속할 수 있다. 따라서 Multichain Gas Relayer는 온체인 거래의 사용자 경험이 향상된다는 것에 의의가 있다.

출처: NEAR Protocol

기존 블록체인 시스템의 Relayer는 사용자로부터 서명된 트랜잭션을 받아 가스비를 예측하고, 블록체인 네트워크로 사용자 대신 전송을 하는 방식이다. 반면 NEAR에서의 트랜잭션 Relayer는 여기에 더해 사용자의 가스비를 지원해준다. 서명된 트랜잭션을 받아 서버가 가스비를 덧붙여 블록체인 네트워크에 배포를 하므로 가스비를 지불할 능력이 없는 사용자도 NEAR에 컨트랙트 배포가 가능하게 한다.

Multichain Gas Relayer 또한 NEAR Relayer 서버의 가스비 대납 기능을 지원하는 데 일조한다. 앞서 소개한 Chain Signature 과정에서 사용되어, MPC 노드로부터 서명된 트랜잭션을 받아 Destination Chain에 맞는 Gas Token을 덧대고 해당 네트워크에 트랜잭션을 전달한다. 다시 말해, NEAR의 트랜잭션 Relayer와 외부 체인의 RPC 사이의 연결점 역할을 하는 것이다.

출처: NEAR Protocol

Chain Signature에 Multichain Gas Relayer가 더해진다면 사용자가 여러 체인에 가스비를 지불하는 복잡성이 감소되어 multichain 계정 추상화를 이루고, 결과적으로는 multichain 생태계를 기대해 볼 수도 있을 것이다. Multichain Gas Relayer는 현재 개발 단계에 있는데, Multichain Relayer Server와 스마트 컨트랙트의 일종인 Multichain Gas Station이 적용되어 구현될 예정이다.

4.1. Multichain Gas Relayer System Workflow

출처: NEAR Docs

서버 측면에서 바라본 Multichain Gas Relayer의 system workflow는 다음과 같다.

1) NEAR 지갑이 다음을 포함한 NEAR 트랜잭션을 전송한다:

  • 외부 체인에서 발생하는 가스비를 납부하기 위한 $NEAR
  • Gas Station Contract를 호출하기 위한 create_transaction 함수와 추후 MPC 노드의 서명을 기다리는 트랜잭션이 포함된 canhazgas.testnet

2) Gas Station Contract는 MPC 노드들을 호출하여 canhazgas.testnet의 트랜잭션과 $NEAR 전송 트랜잭션 모두에 서명이 이루어지게 한다. 이 때 $NEAR 전송 트랜잭션에 서명을 하는 이유는 사용자의 NEAR 외부 계정에 트랜잭션을 할 만큼의 가스비가 있는지 확인하기 위해서이다.

3) Gas Station Contract는 서버에 배포되어 있는 Gas Station Event Indexer를 호출하기 위한 이벤트를 수행하고, /send_funding_and_user_signed_txns를 위 과정에서 서명이 완료된 두 개의 트랜잭션과 같이 호출한다.

4) Multichain Relayer Server는 사용자의 계정에 가스비를 지원하기 위해 funding transaction을 외부 체인의 RPC로 전송한다.

5) Funding transaction이 승인되면 서버는 외부 체인 RPC를 다시 호출해서 사용자의 외부 계정에 이 과정의 첫 번째 단계에서 서명이 완료된 트랜잭션을 전송하도록 한다.

현재 NEAR의 Multichain Gas Relayer와 연결된 체인은 BSC 테스트넷, BSC 메인넷, Ethereum 메인넷이 있고, 향후 더 많은 블록체인 네트워크와의 Multichain 트랜잭션을 기대해 볼 수 있다.

5. 마치며

NEAR Protocol은 블록체인의 lower layer에 대한 이해 없이도 사용자 간 원활한 거래가 가능한 체인 추상화를 겨냥한다. 현재 NEAR는 체인 추상화를 넘어, 하나의 계정으로 모든 블록체인에서 거래가 가능한 계정 집합(Account Aggregation)을 주장한다. 단일 인터페이스로 모든 트랜잭션을 가능하게 해 체인 추상화를 더욱 발전시키겠다는 것이다. 이로 인해 Web3의 고유한 파편화와 UX 문제를 해결할 수 있을 것으로 보인다. 계정 집합으로의 도약에는 앞서 언급한 BOS, Chain Signature, Multichain Gas Relayer 모두가 중점적인 역할을 한다. Chain Signature와 Multichain Relayer가 Alpha testing 단계에 진입한 만큼, 미래에는 NEAR Protocol로 인한 블록체인의 매스 어돕션을 기대해 볼 만하다.

--

--