[NEAR] Sharding (1) 체인 확장성을 위한 샤딩 기술

Irene Lee
EWHA-CHAIN
Published in
10 min readJun 26, 2023

NEAR의 샤딩 기술에 대한 시리즈 아티클을 연재합니다. 본 글은 시리즈의 1편으로 블록체인의 확장성 문제와 샤딩 솔루션에 대해 다룹니다. 다른 편을 읽고 싶으시다면 아래의 리스트를 확인해 주십시오.

본 글은 저자가 속하고 연계된 어떠한 단체나 개인의 의사와 연관되지 않았으며, 투자 권유, 자문 등의 다른 목적 없이 단순한 정보 전달을 위해 작성되었음을 밝힙니다. 모든 판단과 결정들은 스스로 충분한 근거를 가진 후 결정하시길 바랍니다. DYOR!

TL;DR

  1. 확장성 (Scalability)는 트랜잭션을 빠르게 처리할 수 있는 블록체인의 능력으로 매스어돕션을 위해 필수적이며, 블록체인의 확장성을 높이고자 하는 솔루션에는 오프체인 Layer 2와 새로운 합의 알고리즘 개발 등 다양한 시도들이 존재한다.
  2. 샤딩 (Sharding)은 블록체인 자체의 코드 및 아키텍처 개선을 통한 Layer 1 방식의 확장성 솔루션이며, 트랜잭션들을 ‘샤드'라는 각 벨리데이터들의 부분집합 그룹으로 나누어 처리하는 방식이다.
  3. NEAR 프로토콜은 매스 어돕션을 위해 BOS, FastAuth 등 다양한 시도를 하고 있으며, Nightshade라는 고유한 샤딩 솔루션을 통해 이더리움 등 기존의 샤딩 솔루션이 가지고 있었던 단점을 보완하고 무한한 확장성을 실현하는 것을 목표로 한다.

블록체인의 확장성 문제 (Scalability)

블록체인의 확장성 문제는 꾸준히 논의되고 있는 중요한 이슈이다. 적은 사용자들이 사용하는 네트워크에서는 네트워크가 트랜잭션을 발생하는 속도보다 빠르게 처리할 수 있다. 하지만 블록체인 기술이 인기를 얻으면서 네트워크는 증가하는 수요에 맞춰 트랜잭션을 처리하는 데 어려움을 겪을 것이다. 이는 느린 속도와 높은 트랜잭션 수수료를 사용자에게 요구하는 상황을 유발했고 이를 블록체인의 확장성 문제라고 한다.

실제로 현재 비트코인과 이더리움은 각각 6 TPS (Transaction Per Second)와 20 TPS의 처리량을 갖고 있다. 이는 기존 Web2 기반의 대표적인 결제 시스템인 비자가 초당 20,000개의 트랜잭션을 처리할 수 있는 것에 비해 현저히 낮은 속도이다. 하지만 블록체인의 트릴레마 문제로 인해 분산화와 보안이라는 가치를 추구하며 이 문제를 해결하긴 쉽지 않다.

블록체인 트릴레마는 블록체인 기술의 발전에 대한 가장 큰 장벽 중 하나이다. 블록체인 트릴레마는 이더리움 창시자인 비탈릭 부테린 (Vitalik Buterin)이 블록체인 기술의 확장성에 관련해 처음 제시한 개념이다. 비탈릭 부테린은 분산화, 보안, 확장성을 블록체인이 추구해야 할 세 가지 요소로 정리했다.

블록체인의 트릴레마
  • 탈중앙화(Decentralization): 개별 참여자들이 합의를 통해 네트워크를 운영하고 통제하는 것
  • 보안성(Security): 네트워크에 대한 공격으로부터 정보와 자산을 안전하게 보호하는 것
  • 확장성(Scalability): 블록체인이 처리할 수 있는 트랜잭션의 양과 속도를 증가시킬 수 있는 것

블록체인의 트릴레마는 블록체인 프로토콜이 분산화, 확장성, 보안 중에서 두 가지만 동시에 달성할 수 있어 모든 세 가지를 동시에 만족시키는 것은 불가능하다는 내용을 담고 있다.

그러나 기본적인 탈중앙화와 보안을 보장하면서 블록체인의 확장성을 향상시키는 것은 매우 중요한 과제이다. 매스어돕션을 위해 대규모 사용자들이 블록체인을 사용하고 대량의 트랜잭션이 처리되어야 하기 때문에 확장성 문제는 반드시 해결해야 하는 과제로 자리 잡았다.

확장성 솔루션 (Scaling Solutions)

확장성 솔루션은 블록체인의 처리량과 속도를 향상시키는 방법들을 말한다. 이러한 확장성 솔루션은 블록체인 네트워크의 효율성을 높이고 더 많은 트랜잭션을 처리할 수 있도록 도와준다.

블록체인 산업에서는 다양한 노력을 기울여 확장성 트릴레마를 해결하려고 여러 종류의 확장성 솔루션을 개발하고 있다. 일반적으로 블록체인의 확장성 솔루션은 다음과 같이 세 가지 정도로 크게 분류할 수 있다.

  • Layer 1(온체인): 블록체인 자체의 코드 및 아키텍처 개선
  • Layer 2 (오프체인): 기존 블록체인에 보조 블록체인을 추가
  • 새로운 합의 알고리즘: PoS, Tendermint, PBFT 등 합의 알고리즘 개선

이 중 레이어2 솔루션은 Optimism, Arbitrum, Polygon 등 주목받는 프로젝트가 많다. 레이어2는 말 그대로 블록체인 네트워크 위에 레이어를 추가하여 더 빠른 트랜잭션을 낮은 비용에 처리할 수 있게 하는 방법이다. 추가된 레이어는 보조 프로토콜로서 거래를 수합한 뒤 메인 블록체인에 반영하는 방식으로 네트워크 혼잡을 줄일 수 있다.

하지만 레이어2의 경우 오프체인에서 거래를 수합하고 메인 체인에 반영하는 방식으로 트랜잭션에 대한 사기행위나 메인 체인에 반영하는 주체가 중앙화되어 있다는 점에서 탈중앙화와 보안에 대한 우려가 존재한다. 개선된 합의 알고리즘의 경우에도 결국 전체 체인이 처리할 수 있는 트랜잭션의 한계는 한 개 체인이 감당할 수 있는 수준까지로 제한된다는 한계점을 가진다.

거래를 수합하고 처리하고 체인에 반영하기까지의 모든 작업을 레이어 1에서 수행하면서, 여러 개 체인이 동시에 트랜잭션들을 처리하는 것처럼 탈중앙화, 보안, 확장성을 한 번에 높일 수 있다면 어떨까? 레이어 1 방식의 스케일링 솔루션인 샤딩은 이를 가능하게 하는 확장성 솔루션이다.

샤딩 (Sharding)

샤딩은 데이터베이스를 여러 조각으로 쪼개 관리하는 방법으로, 본래 컴퓨터 과학에서 쓰이는 데이터 관리 방식 중 하나이다. 흔히 수평 분할적 솔루션으로 지칭된다.

데이터베이스 샤딩

위와 같이 샤딩 기술은 대규모 데이터베이스를 더 작고 관리하기 쉬운 세그먼트로 분할하여 성능을 개선하고 쿼리 응답 시간 등 데이터를 처리하고 접근하는 시간을 줄일 수 있다. 즉 데이터베이스를 여러 시스템에 병렬로 분산시킴으로써 효율성과 애플리케이션 확장성을 향상시키는 프로세스가 샤딩인 것이다.

그렇다면 블록체인에서의 샤딩이란 무엇일까? 블록체인의 정의를 살펴봤을 때 블록체인은 분산 데이터베이스로 나타낼 수 있다. 블록체인에서의 샤딩은 트랜잭션들을 작은 단위로 나누어 처리하는 방식이다. 즉 샤딩이 적용된 블록체인에서는 노드들은 여러 개의 그룹으로 나뉘어 전체 블록체인 데이터의 일부를 저장한다는 뜻이다.

샤딩이 적용된 블록체인

샤딩이 적용된 블록체인은 ‘샤드’ (Shard)라고 불리는 각 세그먼트로 분할이 된다. 샤드는 “전체의 작은 부분”을 의미하는 단어이다. 각 샤드는 할당된 특정 노드들에 의해 관리된다. 네트워크에서 발생되는 트랜잭션들이 각 샤드들로 분할된다.

각 샤드의 노드들은 자신의 샤드에 할당된 데이터만 처리, 저장하고 네트워크 전체에 이를 전파 (Broadcast) 한다. 샤딩이 적용되지 않았을 때 한 블록을 한 명의 검증자가 생성했다면 샤딩이 적용되면 여러 개의 샤드에서 동시에 여러 개의 블록을 생성할 수 있다. 샤드의 수가 많아질수록 더 많은 블록을 생성할 수 있으므로 확장성이 높아질 것이다.

샤딩의 장점

샤딩된 블록체인은 각각의 샤드에서 독립적으로 작동하며, 각 샤드는 자체적으로 트랜잭션을 처리하고 상태를 유지한다. 이는 네트워크 전체적으로 부하를 분산시키고 병렬 처리를 가능하게 한다. 이로 인해 트랜잭션 처리 속도가 향상되며 네트워크 전체의 효율성이 향상되고 블록체인은 더 많은 사용자를 온보딩하고 전체 트랜잭션 처리량을 높일 수 있다.

샤딩은 또한 노드들에게 요구되는 기술적인 요구사항을 낮춰준다. 각 노드는 특정 샤드에만 관여하며, 다른 샤드의 상태나 거래에 대해서는 신경 쓸 필요가 없어진다. 이는 노드들이 자신이 담당한 샤드의 데이터만 저장하여 더 경량화된 구성으로 작동할 수 있도록 하고, 보다 저렴한 하드웨어 환경에서도 블록체인 네트워크에 참여할 수 있는 기회를 제공한다.

이와 같이 샤딩된 블록체인은 효율적인 트랜잭션 처리, 낮은 기술적인 요구사항, 확장성 개선 등의 장점이 있어 많은 블록체인 프로토콜에서 채택되고 있는 확장성 솔루션이다. 대표적으로 NEAR 프로토콜은 Nightshade라는 혁신적인 고유한 샤딩 기술을 이용하여 매스 어돕션을 실현하고자 노력하고 있다.

NEAR

NEAR는 낮은 TPS와 속도, 높은 거래 처리 비용과 같은 기존 블록체인의 한계를 극복하기 위해 설계된 PoS 기반 레이어 1 (Layer 1) 블록체인이다. 2020년에 메인넷이 런칭되었으며 Nightshade라는 샤딩 아키텍처를 이용해 확장성을 높이고 Doomslug라는 합의 엔진을 사용해 탈중앙화 네트워크의 안전성을 극대화했다.

NEAR 프로토콜은 매스 어돕션을 위해 기존 블록체인들의 한계들을 극복하고 개발자와 사용자들의 온보딩을 용이하게 하는 다양한 시도들을 하고 있다. 블록체인에서 손쉽게 프론트엔드 서비스를 만들 수 있도록 하는 블록체인 운영체제인 BOS (Blockchain Operating System)를 통해 이더리움 등 여러 블록체인 레이어와 호환, Account Abstraction (계정 추상화, AA) 기능을 활용한 FastAuth (패스트어쓰)로 웹2와 유사한 사용자 경험을 제공하는 것이 대표적이다.

또한 NEAR 프로토콜은 2020년 10월 메인넷 출시 이후 20개 이상의 프로토콜 업그레이드가 실시간으로 수행될 정도로 엄청난 발전을 거듭했다. NEAR의 로드맵에는 Experience와 Core라는 두 가지 주요 구성 요소가 있고 각각 유저/개발자 경험 향상과 블록체인 코어인 프로토콜 퍼포먼스를 향상시키기 위해 노력 중이다.

NEAR Sharding

그중 Core 로드맵의 핵심은 샤딩 기술로 나타나지는 Nightshade이다. Nightshade는 이더리움 등 기존의 샤딩 솔루션이 가지고 있었던 단점을 보완하고 확장성을 무한대로 할 수 있게 하는 혁신적인 샤딩 솔루션이며 NEAR 프로토콜의 가장 큰 특징으로 손꼽힌다.

지금까지 블록체인의 확장성 문제와 다양한 확장성 솔루션들 중 샤딩 기술에 대해 알아보았다. 다음 2편에서는 NEAR 프로토콜에서의 샤딩 기술인 Nightshade의 원리와 장점을 자세히 알아보겠다.

--

--