블록체인 샤딩이란? 어떻게 작동하나요?

Author logo
Patrick Dike-Ndulue
Post image

핵심 인사이트

샤딩은 블록체인을 더 작은 조각(샤드)으로 나눠 병렬로 트랜잭션을 처리하고 네트워크 처리량을 높이는 데이터베이스 확장 기술이에요. 이 방식은 확장성과 효율성을 크게 높일 수 있지만, 샤드 간 복잡한 통신과 개별 샤드의 보안 취약성 등 새로운 과제도 동반해요. Zilliqa, NEAR, Ethereum 등 여러 네트워크가 샤딩을 도입하거나 연구 중이며, 단점이 해결된다면 탈중앙성과 보안을 해치지 않으면서 블록체인 확장성 문제를 해결할 수 있을 거예요.

데이터베이스 개발자들이 마주하는 가장 큰 과제 중 하나는 확장성이에요. 데이터 양과 처리해야 할 작업이 늘어날수록 시스템 성능도 반드시 개선돼야 해요.

샤딩은 데이터베이스를 여러 개의 독립된 세그먼트(조각)로 분할해 각각을 다른 서버에 저장할 수 있게 하는 확장 기술이에요.

이 기술을 블록체인에 적용하면, 네트워크를 여러 개의 샤드(섹터)로 나누는 것을 의미해요. 각 샤드는 고유한 스마트 컨트랙트와 계정 잔액을 포함하고, 특정 네트워크 노드가 각 샤드에 할당돼요. 

These nodes are responsible for verifying transactions only in their assigned shard rather than for all transactions on the blockchain.

샤딩이 해결하는 문제는?

프로젝트가 인기를 얻을수록 더 많은 사용자가 유입되고, 이들은 더 많은 트랜잭션을 발생시키며 DApp을 실행하고 네트워크에서 다양한 작업을 처리해요. 그 결과, 트랜잭션 속도는 느려지고 수수료는 증가해 프로젝트의 성장과 확장을 방해하게 돼요. 네트워크를 샤드로 분할하면 블록체인의 처리 능력을 높여 이런 문제를 해결할 수 있어요.

특정 장부 구간을 담당하는 노드 그룹이 있으면, 네트워크 전체 노드가 모든 트랜잭션을 검증할 필요가 없어져요. 작업이 선형이 아닌 병렬로 처리되어 네트워크 처리량이 증가하고 확장성 문제도 완화돼요.

또한, 샤딩을 적용한 블록체인 노드는 부하가 줄어들어 추가적인 컴퓨팅 파워 없이도 더 효율적으로 작동할 수 있어요.

샤딩의 작동 원리

블록체인은 수천 대의 컴퓨터가 협력해 작동하며, 이 컴퓨팅 파워로 분산 장부에서 트랜잭션 처리, 스마트 컨트랙트 실행, DApp 배포 등이 가능해요. 네트워크가 순차 실행 방식이면 각 노드는 모든 트랜잭션을 일일이 처리해야 하므로 검증에 많은 시간이 걸려요. 예를 들어, Ethereum은 초당 최대 10건의 트랜잭션만 처리할 수 있어요.

노드를 추가해도 블록체인 성능이 올라가지 않고, 오히려 검증 체인만 길어질 뿐이에요.

샤딩의 핵심은 선형 실행 모델을 버리고 병렬 처리로 전환하는 데 있어요. 각 샤드는 특정 계산만 맡아 동시에 여러 트랜잭션을 처리해요. 일종의 "블록체인 안의 블록체인"처럼 모든 정보를 압축된 형태로 메인 체인에 전달해요.

샤딩의 단점

샤딩에는 두 가지 주요 문제가 있어요: 샤드 간 통신과 보안. 

  1. Communication. 네트워크를 분리된 섹터로 나누면 각 샤드는 사실상 별도의 블록체인이 돼요. 한 샤드의 사용자나 DApp이 다른 샤드와 소통하려면 별도의 통신 프로토콜이 필요해요.
     
  2. Security. 샤딩된 네트워크에서는 전체 네트워크보다 한 샤드만 통제하는 것이 훨씬 쉬워져요. 필요한 해시레이트가 훨씬 낮기 때문이에요. 예를 들어, Bitcoin 네트워크에서 51% 공격을 하려면 수십억 달러 상당의 하드웨어와 하루 수백만 달러의 전기가 필요해요. 현실적으로 거의 불가능하죠. 하지만 한 샤드만 장악하는 것은 훨씬 저렴하고 쉬워요.

샤딩은 완벽한 해결책이 아니에요. 복잡성과 보안 위험이 따라오죠. 해커가 샤드 하나만 장악해도 전체 네트워크에 악성 트랜잭션을 일으킬 수 있어요. 왜냐하면 개별 샤드를 통제하는 데 필요한 컴퓨팅 파워가 적기 때문이에요.

또한, 서로 다른 노드 그룹이 각기 다른 블록체인 구간을 관리하기 때문에, 각 샤드는 사실상 별도의 네트워크처럼 작동해요. 이 구간들 간 원활한 통신을 위해서는 특별한 메커니즘이 필요해요.

샤딩을 잘못 구현하면 이중 지불(double-spending) 같은 문제가 발생해 네트워크 보안에 큰 영향을 줄 수 있어요. 기존 블록체인 네트워크에 샤딩을 적용하는 것도 쉽지 않은데, 네트워크 분할과 데이터 재할당이 필요하기 때문이에요.

Ethereum은 이 문제에 대해 무작위 샘플링 방식을 도입했어요. 샤드 프로토콜을 무작위로 여러 구간에 할당해 블록 인증을 확인하는 방식이에요. 이는 네트워크가 지분증명(PoS) 합의 방식으로 전환하면서 가능해졌어요.

샤딩을 도입한 네트워크

샤딩을 처음 도입한 네트워크는 Zilliqa예요. 이 플랫폼은 샤딩으로 확장성 문제를 해결하는 것을 목표로 하며, 테스트넷 단계에서 초당 2,828건의 트랜잭션을 달성했어요.

NEAR 블록체인 생태계는 스스로 샤딩된 PoS 블록체인이라고 소개하며, 저사양 기기에서도 노드 운영이 가능하다고 주장해요.

Ethereum 역시 샤딩 기술 도입을 계획 중이에요. 이 밖에도 Cardano, QuarkChain, Plian 등 여러 네트워크가 샤딩을 적용하고 있어요.

결론

이론적으로 샤딩 기술은 단점만 해결된다면 블록체인 트릴레마(확장성, 탈중앙성, 보안)를 해결할 수 있어요. 그렇게 된다면, 탈중앙성과 보안을 희생하지 않고도 블록체인 확장이 가능해질 거예요.
 

Author logo
작가 Patrick Dike-Ndulue

Senior editor covering crypto, onchain equities, and technology.

Author logo
검토자: Rukkayah Jigam

Writer & editor covering digital assets and product updates.