BOS & FastAuth

TaeUk Kim
HYBLOCK
Published in
15 min readJun 27, 2023

목차

  1. Introduction
  2. BOS
  3. FastAuth
  4. Conclusion

TL;DR

NEAR는 Mass-Adoption을 위해 BOS와 FastAuth를 제시했습니다. 이를 통해 개발자들은 기존 컴포넌트를 활용하고 익숙한 코딩 경험을 통해 빠르게 탈 중앙화된 프런트 엔드 앱을 구축할 수 있습니다. 또한, 암호화폐 없는 간편한 온 보딩, 견고한 앱 생태계, 그리고 활발하고 성장하는 커뮤니티를 통해 사용자에게 웹 3로의 쉬운 진입점을 제공합니다.

Introduction

2022년 Gartner에서 분석한 Hype Cycle에 따르면, 블록체인 기술은 계몽 단계(Slope of Enlightenment)에 위치하고 있습니다. 이는 블록체인 기술에 대한 관심이 높아지고 있으며, 실제로 산업에서 블록체인 기술이 적용되기 시작하고 있다는 것을 의미합니다. 이러한 추세에서 많은 기업들과 개발자들이 블록체인의 Mass-Adoption을 위해 노력하고 있습니다.

출처 : https://blogs.gartner.com/avivah-litan/2022/07/22/gartner-hype-cycle-for-blockchain-and-web3-2022/

그러나 현재 블록체인의 Mass-Adoption을 위해 해결되어야 하는 몇 가지 문제점이 존재합니다.

첫째로, 확장성 문제가 있습니다. 현재의 블록체인 기술은 초당 처리량과 네트워크 확장성에 제약을 가지고 있어 대량의 사용자와 거래를 처리하는 데에 어려움을 겪고 있습니다. 이는 대규모 적용과 실시간성이 요구되는 응용 분야에서의 제약을 야기할 수 있습니다.

둘째로, 사용성 문제가 있습니다. 블록체인 기술을 이해하고 사용하는 것은 일반 사용자들에게 여전히 어려운 부분이 있습니다. 복잡한 인터페이스와 프로세스, 그리고 암호화폐 지갑 관리와 같은 기술적인 요소들은 사용자들이 블록체인 기술을 채택하는 데에 장벽이 될 수 있습니다.

NEAR Protocol은 확장성 문제를 해결하기 위해 Nightshade Sharding을 제시하였습니다. Nightshade Sharding은 4단계로 진행되며, 각 단계마다 특정 목표를 가지고 있습니다.

  • Phase0 : Simple Nightshade
    상태를 샤드로 분할하고 처리하지는 않으며, 네트워크 처리량을 증가시킵니다.
  • Phase1 : Chunk-Only Producers
    추가적인 분산을 위해 청크 전용 생산자를 도입합니다. 이들은 저렴한 하드웨어로 청크를 생성하며, 블록 생성과 승인에 영향을 주지 않습니다.
  • Phase2 : Nightshade
    모든 검증자가 모든 샤드를 추적할 필요가 없도록 하고, 검증자의 접근성을 향상시킵니다.
  • Phase3 : Dynamic Resharding
    동적으로 샤드를 분할하고 병합할 수 있는 기능을 도입하여 네트워크의 무한 확장성과 탄력성을 제공합니다.

이처럼 샤딩은 NEAR의 빠르고 안정적인 트랜잭션 처리와 높은 수준의 확장성을 가능하게 하여, Mass adaption을 촉진시킬 수 있습니다.

또한 사용자 경험에 문제를 해결하기 위해서 BOS(Blockchain Operating System)와 FashAuth를 제시하였습니다. BOS는 오픈 웹을 위한 블록체인 운영 체제로, 웹 3에 대한 접근과 탐색을 모든 사용자에게 쉽게 만들어줍니다. 또한 FastAuth는 BOS 사용자들에게 웹 2에서 보다 더 나은 온 보딩 경험을 제공받을 수 있게 해줍니다. 이처럼 BOS와 FastAuth는 우수한 사용자 경험을 제공함으로써 사용자들에게 웹 3 경험에 대한 문턱을 낮추고, 블록체인의 사용성을 개선하여 Mass-Adoption을 돕는 강력한 도구로 작용합니다.

본 글에서는 BOS(Blockchain Operating System)와 FastAuth에 대해 자세히 다루어볼 예정입니다.

BOS란?

BOS(Blockchain Operating System)은 분산된 프런트 엔드를 생성하고 배포하기 위한 블록체인 기반 프로토콜입니다. BOS는 1) Gateways, 2) Components, 3) Blockchain을 기반으로 합니다.

출처 : https://near.org/blog/near-announces-the-blockchain-operating-system/
  1. Gateways : 어디서나 Components를 렌더링 할 수 있는 간단한 방법

Gateways는 로컬에서 실행되는 탈 중앙화된 프런트 엔드를 사용자에게 UI로 제공합니다. 이를 위해 Gateways는 특수 VM으로 구성되어 있으 Ethereum, 레이어 2 및 NEAR과 같은 다른 레이어 1에서 구축된 프로토콜을 위한 프런트 엔드를 가져와 실행합니다. 이러한 Gateways는 지갑과 포트폴리오 관리 도구부터 인기 있는 단일 사용 애플리케이션(e.g. SWEAT)에 이르기까지 다양한 형태로 제공되며, 간단한 스왑 기능 추가부터 탈 중앙화 앱 스토어 생성 등 다양한 기능을 제공합니다. 이 모든 기능은 JS 라이브러리를 추가하고 포함할 앱 프런트 엔드를 선택함으로써 간단하게 구현할 수 있습니다.

Gateways는 모든 개발자가 모든 것을 직접 만들고 유지해야 하는 복잡성을 제거함으로써 사용자를 위한 새로운 기능과 경험을 쉽게 추가하고 유지할 수 있도록 도와줍니다. 또한 Gateways는 개발자가 앱의 진입점을 더 많이 확보하여 검색 가능성 문제(issues of discoverability)를 해결할 수 있도록 지원합니다. 이를 통해 개발자는 단 한 번의 배포로 앱을 선택한 모든 Gateways에서 사용할 수 있게 만들 수 있습니다.

2. Components : 특정 문제를 해결하는 복합 프런트 엔드

Components는 BOS의 핵심 요소로서, 코드와 종속성을 패키지화하여 빠르고 안정적으로 실행할 수 있는 표준 소프트웨어 단위입니다. 이는 애플리케이션 계층 프로토콜(Lido, Uniswap, Aave 등)의 프런트 엔드를 의미합니다. 이러한 앱의 코드는 Etherscan에서 스마트 계약을 확인하는 것과 유사하게 Gateways에서 쉽게 확인할 수 있습니다.

개발자들은 이러한 앱을 포크하고 자체 버전을 배포하거나 Components를 조합하여 완전한 프런트 엔드를 구현할 수 있습니다. 다시 말해, 선택한 블록체인과 호환되는 자체적인 프런트 엔드를 통해 새로운 웹 3 환경을 구축할 수 있습니다. 이는 개발자들에게 블록체인 생태계에서 자유롭게 창의적인 개발을 할 수 있는 유연성과 가능성을 열어줍니다. 따라서 Components는 BOS의 핵심 역할을 수행하며, 개발자들에게 웹 3 환경에서의 혁신적인 애플리케이션 구축을 돕습니다.

Components는 다음과 같은 특징을 가집니다.

  • 프로그래밍 언어 :
    구성 요소는 JSX(ReactJS와 함께 사용되는 JavaScript의 한정된 버전)로 작성되며, 블록체인에 저장되어 사용자가 지정한 가상 머신에서 로드되고 실행됩니다.
  • 오픈 소스 및 버전 관리 :
    각 Components의 소스 코드는 퍼블릭 블록체인에 저장되어 기본적으로 오픈 소스로 제공됩니다. 따라서 이전 버전의 Components도 모두 사용할 수 있습니다. Components 소유자는 소스 코드를 업데이트하여 Components를 업그레이드할 수 있습니다.
  • Forking :
    Git에서 공개 repositiry를 포크 하여 자체 버전을 생성하는 것과 마찬가지로, BOS 구성 요소를 포크 하여 빠르게 시작할 수 있습니다.
  • 배포 :
    각 Components의 소스 코드는 몇 번의 클릭으로 NEAR 블록체인에 쉽게 배포할 수 있습니다. Components를 배포하려면 NEAR 계정과 저장 예치금으로 사용할 NEAR 토큰이 필요합니다.

3. Blockchain : Components의 코드뿐만 아니라 자산과 데이터를 저장하기 위한 곳

Components는 모든 블록체인의 함수를 호출할 수 있는 기능을 제공하며, 현재는 모든 EVM 체인/레이어 2 및 NEAR를 지원합니다. 이러한 기능으로 인해 BOS는 체인에 구애받지 않는 유연한 솔루션을 개발자들에게 제공합니다.

애플리케이션의 소스 코드는 NEAR에 저장되어 있습니다. 이는 NEAR의 HTML/CSS/JS를 매우 저렴하게 저장할 수 있는 능력 때문입니다. 더욱이 Components 코드는 항상 온 체인 상에 존재하여 보안성을 강화하고 사용자는 안전하게 전체 스택을 로컬로 실행할 수 있습니다. 이러한 조합은 개발자들에게 안정성과 보안성을 제공하면서도 다양한 블록체인에서 작업할 수 있는 유연성을 제공합니다.

BOS를 활용한 dApp

출처 : bos.gg
출처 : bos.gg

Ethereum의 유동 스테이킹 프로토콜인 Lido를 살펴보면, BOS에서 어떻게 활용할 수 있는지 쉽게 이해할 수 있습니다. Gateways(https://near.org/gateways)를 통해 원하는 Components를 포크 하면 해당 Components의 코드를 제공받을 수 있습니다. 이후 Save 버튼을 누르기만 하면 간단하게 배포할 수 있습니다. 이러한 과정을 통해 Lido의 UI를 그대로 사용하거나, 제공된 코드를 수정하여 Lido UI에 차트와 분석 기능을 포함하는 등 새로운 Components를 생성할 수도 있습니다. 또한 Components는 다른 Components나 프런트 엔드에 재조립, 수정, 복제, 통합될 수 있습니다. 예를 들어, 개발자들은 Uniswap을 위해 생성된 컴포넌트를 Lido에 통합하거나, Aave를 위해 생성된 컴포넌트를 dYdX에 통합할 수 있습니다.

이와 같이 개발자들은 Lido 외에도 BOS를 지원하는 다양한 dApp(예: Ref Finance, Mintbase 등)을 활용하여 원하는 기능을 간편하게 구현할 수 있습니다. 이는 이미 개발되고 검증된 컴포넌트와 프런트 엔드를 활용하여 개발 과정을 용이하게 만들어줍니다. 게다가 BOS는 멀티 체인을 지원하기 때문에 체인 간에 DAO를 확장하거나, 한 체인의 NFT를 다른 체인의 게임에 사용하거나, 다른 컨텍스트에서 구축한 평판을 활용하는 등 다양한 기능을 가능하게 합니다.

FastAuth란?

FastAuth는 사용자가 BOS 상의 어떤 앱에도 쉽게 계정을 생성할 수 있는 간편한 온 보딩 경험을 제공합니다. 따라서 FastAuth를 사용하면 사용자들은 BOS와 통합된 어떤 웹사이트나 앱을 위해 빠르고 쉽게 계정을 생성할 수 있습니다. 또한 FastAuth는 특수 소프트웨어나 애플리케이션을 다운로드할 필요도 없으며, 데스크톱이나 모바일 기기의 브라우저에서 원활하게 작동합니다.

이러한 간소화된 온 보딩 경험은 개발자가 자신들의 Componets와 앱을 처음 사용해 보는 사용자들의 전환율을 크게 향상시킬 수 있기 때문에 FastAuth의 기능은 Componets를 개발하는 개발자들에게 특히 유용하게 사용될 수 있습니다. 그뿐만 아니라 FastAuth는 기업들로 하여금 쉽게 새로운 기술적 능력을 구축하여 새로운 제품과 경험을 론칭하고, 새로운 수익 기회를 창출할 수 있도록 합니다.

FastAuth의 작동방식

  1. 빠른 계정 생성
출처 : https://wiki.near.org/overview/BOS/fast-auth

사용자는 생체 인식(지문, faceID, OS user/password challenge)과 이메일 주소로 간편하게 계정을 생성할 수 있습니다. 이때, 사용자는 전자 메일 주소를 기반으로 맞춤형 사용자명을 부여받게 됩니다. 이러한 접근 방식은 기존의 Wallet 서비스와 비교했을 때 훨씬 쉬운 로그인 경험을 제공합니다.

2. 간편한 로그인

출처 : https://wiki.near.org/overview/BOS/fast-auth

생체 인식을 이용한 로그인을 용이하게 하기 위해 Passkey(Apple & Google)가 사용됩니다. 이러한 방식은 Passkey를 공유하는 다른 기기에서 생체 인증을 통해 로그인할 수 있게 지원합니다. 이처럼 FastAuth는 사용자에게 다양한 로그인 옵션을 제공하므로, 기존 Wallet 서비스보다 더 유연합니다. 이러한 유연성은 사용자에게 더 큰 편의를 제공합니다.

3. SSO 계정 복구

출처 : https://wiki.near.org/overview/BOS/fast-auth

사용자는 등록 시 사용한 전자 메일로 계정을 복구할 수 있습니다. 이는 “SSO(Single Sign-On)” 프로세스를 통해 이루어집니다.

계정 복구는 분산되어 있으며 단일 관리자에게 전체 접근 키에 대한 관리자 권한을 제공하지 않습니다. 이는 “multi-party computation”이라는 프로세스를 통해 수행됩니다.

FastAuth의 SSO 계정 복구 기능은 기존의 Wallet 서비스와 비교했을 때, 사용자가 시드 구문이나 다른 복잡한 비밀번호를 기억할 필요 없이 계정을 복구할 수 있도록 합니다. 이는 기존의 Wallet 서비스에서 발생할 수 있는 분실의 위험으로부터 사용자를 벗어나게 해주고, 사용자 경험을 향상시킵니다.

4. Meta Transactions & Zero Balance Accounts

FastAuth는 NEAR의 Meta Transactions과 Zero Balance Accounts을 활용하여 사용자가 무료로 계정을 등록할 수 있게 해주며, 개발자는 Meta Transactions과 Relayers를 활용하여 새로운 사용자의 초기 상호작용을 지원할 수 있습니다. 이를 통해 사용자는 $NEAR를 사용하지 않고도 서비스에 참여할 수 있습니다. 이는 웹 3에 참여하고 앱과 상호작용하기 위해 암호화폐를 먼저 획득해야 하는 번거로움을 제거합니다.

5. Relayers

개발자가 정의한 Relayers는 새로운 사용자를 위해 초기 상호 작용을 무료로 후원하는 데 사용됩니다. 신규 사용자는 $NEAR를 구매하지 않고도 소셜 기능과 상호 작용할 수 있습니다.

Conclusion

BOS와 FastAuth의 특징을 정리하면 다음과 같습니다.

BOS 특징

  • 웹 3를 위한 웹 2 스타일의 간편한 온 보딩이 가능합니다.
  • 개발자들은 빠르게 시작하고 빌드 할 수 있습니다.
  • 웹 3를 웹 2처럼 직관적으로 검색할 수 있도록 합니다.
  • BOS Gateways를 통해 새로운 앱 경험을 추가하고 유지할 수 있습니다.

FastAuth 특징

  • Account Abstraction 기능을 활용하여 간편한 온 보딩과 이메일 복구를 가능하게 합니다.
  • 제3의 애플리케이션이 필요하지 않습니다.
  • 암호화폐 없이도 계정을 생성할 수 있습니다.
출처 : https://docs.near.org/bos/overview

BOS는 모두를 위한 분산형 오픈 소스 플랫폼입니다. 블록체인 기술은 네트워크의 모든 노드가 코드 및 저장된 데이터의 신뢰성을 검증하도록 하여 분산화를 보장하며, BOS는 블록체인에서 실행되는 애플리케이션의 모든 측면을 분산 및 오픈 소스로 만들어 이를 더욱 발전시킵니다. 소스 코드가 공개되므로 사람들은 시스템이 어떻게 작동하는지 이해하고 취약점을 발견하고 보안과 신뢰성을 개선하기 위한 제안을 할 수 있기 때문입니다.

FastAuth 역시 오픈 소스로 공개될 예정이며, 이후 FastAuth를 탑재한 다양한 dApp들이 등장할 것으로 예상됩니다. 이는 여러 개발자들이 FastAuth를 사용하여 앱을 보다 쉽고 안전하게 웹 3로 확장할 수 있게 됨을 의미합니다. 또한, FastAuth를 사용함으로써 dApp에 쉽게 온 보딩 할 수 있는 사용자들은 더 많은 웹 3 경험을 할 수 있게 될 것입니다. 사용자들의 증가는 개발자들이 NEAR 생태계에 더 많은 앱을 배포하도록 독려할 것이며, NEAR의 Mass-Adoption에 긍정적인 영향을 줄 것입니다.

Reference

https://near.org/blog/near-launches-simple-nightshade-the-first-step-towards-a-sharded-blockchain

https://docs.near.org/bos/

https://docs.bos.gg/intro

https://wiki.near.org/overview/BOS/overall-bos

https://pages.near.org/blog/near-blockchain-operating-system-is-now-live-on-near-org/

https://near.org/blog/get-to-know-the-bos-fastauth-for-easy-web2-style-onboarding-and-account-recovery/

--

--