공용 블록체인 Shardeum: 샤딩의 또 다른 가능성
저자: Beam, Jsquare Research
2022년 9월 15일, 이더리움 머지(Merge). 역사적인 순간이었다. 이더리움은 이를 위해 5년을 준비했고, 6차례 연기되며 반복적인 디버깅과 장기간 개발로 인해 많은 사람들은 마치 머지가 자연스럽게 더 높은 확장성, 보안성, 지속 가능성을 가져올 것이라고 오해했다. 그러나 실제로는 그렇지 않다—두 대의 열차에 비유하자면, 작업증명(PoW)에서 지분증명(PoS)으로의 전환은 단지 궤도와 바퀴를 교체한 것일 뿐이며, 속도를 높이거나, 수용량을 늘리거나, 운임을 낮추는 것을 직접적으로 의미하지 않는다. 진정한 의미에서 위 세 가지를 실현할 수 있는 것은 일련의 종합적 해결책이다: 샤딩 기능을 갖춘 메인넷과 확장성을 강화하는 레이어2(Layer2) 솔루션의 결합.
이더리움 창시자 비탈릭 부테린(Vitalik Buterin)이 언급했듯이, 샤딩은 확장성 삼각형 딜레마 하에서 확장을 위한 해결책 중 하나로, 네트워크 내 노드들을 더 작은 그룹으로 나누어 서로 다른 트랜잭션 집합을 처리하고 병렬 처리를 실현한다. 전체 네트워크에서 집계되는 방대한 데이터 처리 부담을 분산시키는 방식은 월마트에서 쇼핑 후 계산할 때 여러 개의 계산대를 추가함으로써 줄 서는 시간을 줄이고 계산 효율을 높이는 것과 유사하다.

그림 1 샤딩의 간단한 논리
이것이 바로 샤딩의 핵심 원리로, 직관적이며 단순하지만, 문제는 세부 사항에 있다—원칙과 방향은 올바르지만, 구현 과정에서는 항상 다양한 문제가 발생한다. 본문은 '샤딩'이라는 길 위에서의 방향과 어려움을 정리하여 이상을 향한 동시에 현실을 직시하는 탐험자의 지도를 제시하고자 한다. 또한 기존의 샤딩 솔루션들을 비교하며 공통된 문제점을 도출하고, 가능한 새로운 접근 방향을 제안한다: Shardeum과 동적 샤딩(Dynamic Sharding).
1. '샤딩(Sharding)'이란?
간단히 말해, 불가능한 삼각형의 제약을 고려하여 이더리움을 좌표계의 원점 (0,0)으로 삼고, '세로 방향'과 '가로 방향' 두 가지 접근법에 따라 현재의 블록체인 확장성 방법을 크게 두 부류로 나눌 수 있다:
수직 확장(Vertical Scaling): 기존 시스템의 하드웨어 성능을 향상시켜 달성한다. 각 노드가 슈퍼컴퓨팅 능력을 갖춘 탈중앙화 네트워크를 구성하는 것으로, 즉 모든 노드가 '더 좋은' 하드웨어를 필요로 한다. 이러한 방식은 간단하고 효과적이며, 특히 고주파 거래, 게임 등 지연에 민감한 애플리케이션에 적합하다. 그러나 검증 노드 또는 전체 노드 운영 비용이 증가함에 따라 네트워크의 탈중앙화 수준이 제한된다. 탈중앙화 유지 가능성은 컴퓨팅 하드웨어 성능의 일반적인 성장 속도(이른바 '무어의 법칙': 칩 내 트랜지스터 수는 2년마다 두 배가 되고, 계산 비용은 절반으로 감소한다는 법칙)에 의존한다.
수평 확장(Horizontal Scaling): 수평 확장에는 몇 가지 접근법이 있다. 첫째, 블록체인 맥락에서 특정 생태계의 트랜잭션 처리량을 여러 독립된 블록체인으로 분산시키는 것이다. 각 체인은 자체 블록 생성자와 실행 능력을 갖추며, 각 체인의 실행 계층을 노드 하드웨어 요구사항, 개인정보 보호 기능, 가스비, 가상머신, 허가 설정 등에 맞춰 완전히 맞춤화할 수 있다. 둘째, 모듈형 블록체인으로, 블록체인 아키텍처를 실행 계층, 데이터 가용성 계층(DA), 합의 계층으로 분할하는 것이다. 가장 주류인 블록체인 모듈화 메커니즘은 롤업(Rollup)이다. 셋째, 하나의 블록체인을 여러 조각으로 나누어 병렬 실행하는 방식이다. 각 샤드는 하나의 블록체인처럼 간주될 수 있으며, 다수의 블록체인이 병렬로 작동할 수 있다. 일반적으로 모든 샤드를 동기화하는 하나의 메인 체인이 존재한다.
위의 확장 접근법들이 서로 완전히 독립적인 것은 아니며, 각 해결책은 불가능한 삼각형 내에서 균형점을 찾고, 경제적 인센티브 설계와 함께 시스템 수준에서 미시적·거시적 균형을 이루는 것을 목표로 한다.
'샤딩'을 논의하기 위해 우리는 처음부터 다시 시작해야 한다.
다음과 같은 상황을 가정해보자. 월마트에서 쇼핑 후 계산하려 할 때, 고객 대기 시간을 줄이고 계산 효율을 높이기 위해 하나의 계산창구에서 10개의 계산대까지 확장한다. 장부 오류를 방지하기 위해 다음 규칙을 정해야 한다:
-
첫째, 10명의 계산원이 있을 때, 누구를 어느 창구에 배치할 것인가?
-
둘째, 1000명의 고객이 줄을 서서 기다릴 경우, 각 고객을 어떤 창구로 안내할 것인가?
-
셋째, 10개 창구에 해당하는 10개의 개별 장부를 어떻게 통합할 것인가?
-
넷째, 장부 불일치를 방지하기 위해 계산원의 실수를 어떻게 예방할 것인가?
이러한 질문들은 사실상 샤딩의 핵심 문제들과 대응된다:
-
전체 네트워크의 노드/검증자가 어느 샤드에 속해야 하는가? 즉: 네트워크 샤딩(Network Sharding) 방법;
-
각 트랜잭션은 어느 샤드에 할당되어야 하는가? 즉: 트랜잭션 샤딩(Transaction Sharding) 방법;
-
블록체인 데이터는 서로 다른 샤드들 사이에 어떻게 저장되는가? 즉: 상태 샤딩(State Sharding) 방법;
복잡함은 곧 리스크를 의미하며, 위 모든 요소들을 고려했을 때, 어떻게 전체 시스템의 보안성이 약화되지 않도록 해야 할까?
01 네트워크 샤딩(Network Sharding)
블록체인을 탈중앙화된 장부라고 단순히 이해한다면, PoS든 PoW든 관계없이, 각 노드가 정해진 규칙에 따라 장부 기록 권한을 획득하고 장부의 정확성을 보장하는 것이 합의 메커니즘이다. 네트워크 샤딩은 이러한 노드들의 그룹화 규칙을 의미하며, 블록체인 네트워크를 여러 조각으로 나누고, 서로 간의 통신을 최소화한 상태에서 각 샤드가 체인상의 트랜잭션을 처리하며 장부 기록권을 얻도록 하는 또 다른 규칙을 필요로 한다.
이 과정에서 발생하는 문제는, 블록체인 내 노드들이 서로 다른 샤드로 나뉘면서 공격자의 난이도와 비용이 급격히 감소한다는 점이다. 만약 그룹화 과정의 규칙과 결과가 고정되어 있고 예측 가능하다면, 공격자는 전체 블록체인 네트워크를 장악하기 위해 한 개의 샤드만을 겨냥하여 일부 노드를 매수하면 된다.
Near의 창립자 알렉산더 스키다노프(Alexander Skidanov)는 이 문제를 다음과 같이 설명한다. X명의 검증자를 가진 단일 체인이 하드포크를 통해 10개의 샤드로 나뉘고, 각 샤드에 X/10명의 검증자가 배치되면, 이제 하나의 샤드를 파괴하려면 전체 검증자 수의 5.1%(51% / 10)만 무너뜨리면 된다. 여기서 두 번째 질문이 제기된다: 각 샤드의 검증자를 누가 선택하는가? 오직 5.1%의 검증자가 모두 동일한 샤드에 위치할 때만 그들이 시스템을 해칠 수 있다. 검증자가 자신이 속할 샤드를 선택할 수 없다면, 5.1%의 검증자를 모두 동일한 샤드에 집결시키는 것은 거의 불가능하며, 이는 그들의 시스템 파괴 능력을 크게 저하시킨다.

그림 2 특정 샤드 공격의 난이도가 크게 낮아짐
샤딩 시스템은 외부 샤드로부터 해당 트랜잭션이 되돌아오지 않는다는 것을 신뢰할 수 있는 메커니즘을 개발해야 한다. 지금까지 가장 우수한 해결책은 각 샤드 내 검증자 수가 최소 임계값 이상이 되도록 보장하는 것으로, 이는 부정직한 검증자가 단일 샤드를 압도할 확률을 매우 낮게 만든다. 가장 일반적인 방법은 일정 수준의 편향 없는 무작위성을 도입하여 수학적 방법으로 공격자의 성공 확률을 최소화하는 것이다. 예를 들어 이더리움은 모든 검증자 중에서 무작위로 특정 샤드의 검증자를 선정하며, 6.4분(한 에포크의 길이)마다 검증자를 교체한다.

그림 3 이더리움 2.0에서 구상된 검증자 교체 방식
간단히 말하면 노드를 무작위로 그룹화하고, 각 그룹에 작업을 분배하여 독립적으로 검증하게 하는 것이다.
다만 주목할 점은, 블록체인에서의 무작위성은 매우 도전적인 주제라는 것이다. 논리적으로 이 난수 생성 과정은 특정 샤드의 계산에 의존해서는 안 된다. 이를 위해 많은 기존 설계는 네트워크 전체를 관리하는 별도의 블록체인을 개발한다. 이러한 체인은 이더리움과 Near에서는 비콘 체인(Beacon Chain), Polkadot에서는 리레이 체인(Relay Chain), Cosmos에서는 코스모스 허브(Cosmos Hub)라고 불린다.
02 트랜잭션 샤딩(Transaction Sharding)
트랜잭션 샤딩은 '어떤 트랜잭션을 어떤 샤드에 할당할 것인가'에 대한 규칙을 정의하며, 병렬 처리를 달성하면서 동시에 더블스펜딩 문제를 피해야 한다. 블록체인의 장부 모델 차이가 트랜잭션 샤딩 개발에 영향을 미친다.
현재 블록체인 네트워크에는 UTXO(Unspent Transaction Outputs, 미사용 트랜잭션 출력) 모델과 계정/잔액(Account/Balance) 모델의 두 가지 장부 방식이 존재한다. 전자의 대표 사례는 BTC, 후자는 ETH이다.
UTXO 모델: BTC 거래에서 각 트랜잭션은 하나 이상의 출력을 가지며, UTXO란 아직 사용되지 않은 블록체인 트랜잭션의 출력을 의미한다. 이는 새 트랜잭션의 입력으로 사용될 수 있으며, 이미 사용된 출력은 재사용할 수 없다. 마치 현금 거래에서 지폐를 지불하고 잔돈을 받는 것과 유사하다. UTXO 모델 하에서 트랜잭션 샤딩은 샤드 간 통신을 필요로 한다. 하나의 트랜잭션은 여러 입력과 출력을 포함할 수 있으며, 계정 개념이나 잔액 기록이 없으므로 가능한 방식 중 하나는: 트랜잭션의 특정 입력 값을 기준으로 해시 함수를 이용해 이산형 해시 값으로 변환하여 데이터가 어느 샤드로 갈지를 결정하는 것이다. 아래 참고:

그림 4 UTXO를 위한 하나의 가능한 트랜잭션 샤딩 접근법
항목들이 일관된 방식으로 올바른 샤드에 배치되도록 하기 위해, 해시 함수에 입력되는 값은 모두 동일한 열(column)에서 나와야 한다. 이 열을 샤드 키(Shard Key)라고 한다. 이후 해시값이 1인 트랜잭션은 모두 샤드 1에, 2인 트랜잭션은 샤드 2에 배정한다. 그러나 이 방식의 단점은 샤드 간 통신이 필수적이며, 더블스펜딩 공격을 방지해야 한다는 점이다. 샤드 간 트랜잭션을 제한하면 플랫폼의 활용성이 제한되고, 허용할 경우 샤드 간 통신 비용과 성능 향상 간의 균형을 맞춰야 한다.
계정/잔액 모델: 시스템이 각 계정의 잔액을 기록하며, 거래 시 계정에 충분한 잔액이 있는지 확인한다. 은행 이체 시 은행이 각 계좌의 잔액을 기록하고, 잔액이 이체 금액보다 클 때만 거래를 승인하는 것과 유사하다. 계정/잔액 모델 하에서는 트랜잭션 당 하나의 입력만 존재하므로 보내는 주소 기준으로 트랜잭션을 샤딩하면, 동일 계정의 여러 거래가 동일 샤드에서 처리되어 더블스펜딩을 효과적으로 방지할 수 있다. 따라서 대부분의 샤딩 기술을 채택한 블록체인은 이더리움처럼 계정 기반 장부 시스템을 사용한다.
03 상태 샤딩(State Sharding)
상태 샤딩은 블록체인 데이터가 서로 다른 샤드에 어떻게 저장되는지를 의미한다.
여전히 월마트 대기열 예시를 따르자. 각 창구마다 별도의 장부가 있는데, 이 장부는 어떻게 기록되는가? 고객이 어느 창구에 가느냐에 따라 장부를 기록한다고 하자. A 고객이 A 창구에 갔다면, 다음날 B 창구에 갔을 때 B 창구가 A 고객의 과거 계정 정보(예: 선불카드 사용 내역 등)를 모르면 어떻게 해야 할까? A 창구에 요청하여 정보를 가져와야 하는가?
상태 샤딩은 네트워크 및 트랜잭션 샤딩보다 훨씬 더 어려운 문제이다. 샤딩 메커니즘 하에서는 주소 기준으로 트랜잭션이 서로 다른 샤드에서 처리되며, 상태 또한 해당 주소가 속한 샤드에만 저장된다. 이때 발생하는 문제는 트랜잭션이 항상 단일 샤드 내에서 이루어지는 것은 아니며, 자주 샤드 간(Cross-Sharding) 거래가 발생한다는 점이다.
A 계정이 B 계정에게 10U를 송금하는 경우를 생각해보자. A의 주소는 샤드 1에, 기록도 샤드 1에 저장된다. B의 주소는 샤드 2에 있으므로 기록도 샤드 2에 저장된다.
A가 B에게 송금하려 하면, 샤드 간 거래가 발생하며, 샤드 2는 샤드 1에 과거 거래 기록을 요청하여 유효성을 확인해야 한다. A가 자주 B에게 송금하면, 샤드 2는 계속해서 샤드 1과 소통해야 하며, 이로 인해 처리 효율이 낮아진다. 그러나 특정 샤드의 전체 기록을 다운로드하고 검증하지 않으면, 참여자들은 상호작용하는 상태가 실제로 유효한 블록 시퀀스의 결과인지, 그리고 그것이 정말로 해당 샤드의 정식 체인인지 확신할 수 없다.
따라서 샤딩이 없는 단일 체인에 비해, 샤딩 시스템은 사용자가 특정 체인의 유효성과 가용성을 직접 완전히 검증하기 어렵다는 새로운 도전에 직면한다. 데이터가 너무 많기 때문이다. 사용자에게는 신뢰를 최소화하면서도 실용적인 간접적 검증 방법을 제공하여, 어떤 체인이 완전히 가용하고 유효한지를 판단할 수 있도록 해야 한다. 실무적으로 블록체인 개발자들은 위원회, SNARKs/STARKs, 어부 메커니즘(Fisherman Mechanism), 사기 및 데이터 가용성 증명 등을 사용하여 검증 문제를 해결할 수 있다.
이 문제를 해결하기 위한 두 가지 접근법이 있다. 하나는 동기식 샤드 간(Synchronous) 거래, 즉 긴 결합(Tight Coupling)이다. 샤드 간 거래가 필요할 때마다 관련 블록의 상태 전환이 동시에 발생하며, 각 샤드의 노드들이 협력하여 거래를 실행한다. 자연스럽고 사용자 경험도 좋지만, 가장 유명한 설계인 Merge Blocks처럼 실현하기는 복잡하다. 이를 위해서는 샤드 간 검증기가 서로 동기화된 통신을 해야 한다. 샤드 간 트랜잭션 수요가 높아지면, 더 많은 샤드 작업자가 협력해야 하므로 성능이 저하될 수 있다.
또 다른 방법은 비동기식 샤드 간(Asynchronous) 거래, 즉 느슨한 결합(Loose Coupling)이다. 이 접근법은 NEAR, 이더리움, Cosmos, Kadena 등에서 더 널리 채택되고 있다. 이 과정에서 가장 큰 도전은 거래의 원자성(Atomicity)이다. Scalar Capital 공동 창립자인 조던 클리포드(Jordan Clifford)에 따르면, '영수증(Receipt)' 개념을 생각해보자. 수취인은 출처 샤드 내 트랜잭션의 메르클 경로를 제공함으로써 외부 샤드로부터 토큰을 받았음을 증명한다. 목적지 샤드는 이 영수증을 사용하여 수취인 계정에 기록한다. 이 과정은 원자적으로 수행되어야 한다. 발신인과 수신인의 계정은 반드시 동시에 수정되거나 동시에 수정되지 않아야 한다. 어느 한쪽만 실패하거나 차이가 생기면, 발신인이 수신인을 속여 결코 받지 못할 자금을 받았다고 믿게 만들 수 있다.
여기서 원자성이라는 용어를 일상생활에 비유하자면, 해변 여행을 가기 위해 항공편과 호텔을 동시에 예약한다고 하자. 호텔 예약이 안 되면 항공권도 사지 않겠다. 항공권 예약이 안 되면 호텔도 예약하지 않겠다. 이것이 바로 원자성—모두 성공하거나 모두 실패하는 것이다.
2. 샤딩의 탐색과 시도
지금까지 샤딩에 관한 논의를 되짚어보면, 다음과 같은 핵심 문제가 있었다:
첫째, 상태 샤딩을 어떻게 할 것인가? 즉, 블록체인 데이터가 서로 다른 샤드에 어떻게 저장될 것인지, 그리고 샤드 간 통신 시 어떻게 효율성과 균형을 유지할 것인지.
둘째, 거래의 원자성 문제를 어떻게 해결할 것인가? 한 샤드가 공유 상태를 변경했을 때 이를 다른 샤드가 즉시 인지해야 하며, 그렇지 않으면 상태 불일치가 발생할 수 있다.
다음 섹션에서는 업계에서 잘 알려진 공개 블록체인과 그 기술적 해결책들을 정리한다. 이를 통해 일부 흐름을 살펴보고, Shardeum의 선도성과 혁신성을 논의한다.
01 계산 샤딩
Zilliqa는 스마트 계약 플랫폼 중 가장 먼저 샤딩을 시도한 사례 중 하나로, 샤딩 기술의 유익하고 효과적인 시도였다.
2017년 싱가포르 국립대학교와 관련된 전문 연구자 및 학자들로 구성된 팀이 주도하여 설립되었으며, 주요 목표는 확장성 문제 해결로, 계산 집약적 작업에 특화되었다. Zilliqa 네트워크는 계산 샤딩이라 불리는 병렬화 과정을 통해 네트워크에서 고처리량 트랜잭션을 처리할 수 있다. 샤딩된 블록체인 네트워크에서 트랜잭션 처리 작업은 여러 샤드에 분산된다.
샤딩 과정을 보면, Zilliqa는 이를 두 부분으로 나눈다. 먼저 디렉토리 서비스(DS) 위원회 노드를 선정한 후, 샤딩 프로세스를 시작하고 각 샤드에 노드를 할당한다. 샤드 내에서 트랜잭션이 검증되면, 전체 네트워크를 통해 검증되며 하나의 검증 가능한 진실의 근원(source of truth)인 글로벌 상태로 진입한다. 이 글로벌 상태는 모든 샤드의 트랜잭션을 Zilliqa 블록체인 상의 단일 상태로 통합한다.
간단히 말해, 블록체인 노드의 세 가지 주요 기능은:
-
- 트랜잭션 처리
-
- 트랜잭션 패키징 및 다른 노드로 브로드캐스트
-
- 전체 네트워크의 과거 장부 저장
Zilliqa는 우리가 언급한 샤드 간 통신 및 원자성 문제를 해결하기 위해 명쾌하고 효과적인 접근법을 사용한다: 계산 샤딩만 수행하고, 네트워크 및 저장소 샤딩은 하지 않는다. 이 플랫폼의 모든 노드는 전체 상태를 저장하며, 모든 트랜잭션을 각 노드가 수신한다. 트랜잭션을 검증하기 위해, 네트워크는 계정 주소 공간을 여러 분할로 나눈다. 이를 계산 샤딩이라 부르며, 검증 작업을 분할하는 것으로, 이는 일반적으로 계산 집약적이다. 그러나 각 노드가 여전히 모든 트랜잭션을 수신하고 모든 계정 상태를 업데이트하므로, 네트워크 대역폭과 저장소 작업이 여전히 병목이 된다—즉, 네트워크와 저장소는 샤딩되지 않았으므로 진정한 의미의 확장이 불가능하다.
02 정적 상태 샤딩
더 일반적인 샤딩 방법은 계정 주소 공간을 여러 개의 고정 크기 영역으로 나누고, 네트워크 노드를 서로 다른 샤드에 할당하는 것이다. 이를 상태 샤딩이라 부르며, Near, Elrond, Harmony 등의 플랫폼이 이 방법을 채택하고 있다. 이더리움도 초기에는 상태 샤딩을 계획했지만, 새로운 접근법은 접근성 향상을 위해 데이터만 샤딩한다.
2.1 이더리움의 데이터 샤딩 구상
이더리움 환경에서 샤딩은 전체 네트워크에서 집계되는 방대한 데이터 처리 부담을 분산시키며, Layer2와 협력한다. 이는 네트워크 혼잡을 줄이고 초당 거래량을 증가시킨다.
더 효과적인 확장 경로가 개발됨에 따라 이더리움의 샤딩 계획도 진화하고 있음을 알아야 한다. 이더리움의 미래 샤딩 구상 중 하나는 '데이터 가용성' 기반의 샤딩으로, 'Danksharding'은 샤딩 '체인' 개념이 아닌, 데이터를 분할하기 위해 샤딩 '블롭(Blob)'을 사용하며, '데이터 가용성 샘플링'을 통해 모든 데이터가 가용한지 확인하는 새로운 방법이다.
또 다른 방안은 첫 번째 방안에 기반하여 각 샤드에 추가 기능을 더하는 것으로, 각 샤드를 오늘날의 이더리움 메인넷처럼 만든다. 이는 샤드가 코드를 저장하고 실행하며 트랜잭션을 처리할 수 있게 하고, 각 샤드가 고유한 스마트 계약과 계정 잔액 세트를 포함하게 한다. 샤드 간 통신을 통해 샤드 간 거래가 가능해진다. 그러나 이 방안은 여전히 커뮤니티 내에서 논쟁 중이며, 첫 번째 방안의 데이터 가용성과 Layer2의 협력만으로도 충분한 확장성이 보장되기 때문에, 두 번째 방안의 경제적 비용과 가치 평가가 진행 중이다.
2.2 Harmony
Harmony는 PoS 기반의 샤딩 네트워크로, 표준적인 샤딩 방법을 채택하였다. 이는 여러 개의 소규모 블록체인(샤드)을 두고, 이를 조율하는 하나의 블록체인(하모니에서는 비콘 체인)을 둔다는 아이디어이다. 앞선 논의에 따라, Harmony가 네트워크 샤딩, 트랜잭션 샤딩, 상태 샤딩 문제를 하위에서 상위로 어떻게 해결하는지 살펴보자.
네트워크 샤딩: Harmony는 검증자 네트워크를 서로 다른 샤드로 나누며, 각 샤드는 서로 밀접하게 연결된 검증자 그룹으로 구성되어 내부에서 합의를 실행한다.
트랜잭션 샤딩: Harmony의 트랜잭션은 단일 샤드에서 처리된다. 이를 통해 샤드들이 동시에 트랜잭션을 처리하여 블록체인의 총 트랜잭션 처리량을 높일 수 있다. 사용자는 트랜잭션에 shard_id 필드를 지정하기만 하면 된다.
상태 샤딩: Harmony에서 각 샤드의 검증자는 전체 상태의 1/N을 저장한다(N=샤드 수). 이는 데이터 가용성에 대한 검증자의 우려를 줄인다. 또한 크로스 샤딩은 샤드 간 상태 일관성을 더욱 높인다.
Harmony 메인넷은 수천 개의 노드를 지원하며, 몇 초 안에 즉시 확정성을 갖는 블록을 생성한다. 스테이킹 메커니즘을 통해 중심화를 줄였으며, 스테이킹 위임, 보상 복리, 중복 서명 패널티 등을 지원한다. EPoS(Efficient Proof-of-Stake)의 효율적 스테이킹 메커니즘과 안전한 무작위 샤딩 기술을 채택하여, 프로토콜 규정에 따라 대규모 스테이커의 토큰을 여러 조각으로 나누어 무작위로 여러 샤드에 배분함으로써, 누구도 자신의 스테이킹 토큰을 단일 샤드에 집중시켜 공격하는 것을 방지한다.
샤드 간 거래와 비콘 체인 동기화 시, 서로 다른 샤드의 검증자는 전 세계적으로 연결된 네트워크를 통해 메시지를 전송한다. Harmony 공식 문서에 따르면, 'Kademlia 샤드 간 라우팅 기술'을 채택하여 샤드 간 통신의 네트워크 오버헤드를 제어하며, '삭제 부호(Erasure Code)'를 이용해 블록 브로드캐스트 과정을 최적화하여 송신자의 네트워크 부담을 줄이고, 네트워크 병목을 방지함으로써 효율적인 수평 확장을 실현한다. 샤딩 블록체인 중 최초로 샤드 간 메시지 전달을 완료했다. 효율적인 샤드 간 메시지 전달 프로토콜과 전망상 설계 덕분에, 샤드 간의 원활한 통신이 가능하며, 팀이 이 목표를 향해 노력함에 따라 사용자와 개발자는 올해 말 Harmony에서 샤드 간 메시지 전달 프로토콜을 기대할 수 있다.
Harmony에서 구축하는 개발자들에게는 중요한 돌파구이며, 서로 다른 샤드에 있는 데이터를 활용한 기능 통합이 가능하다. 또한 샤드 간 데이터 일관성도 중요하다. 이 두 가지 추구가 무한한 확장성의 지속 가능성을 결정할 것이다.
2.3 Elrond
Elrond는 보안성, 효율성, 확장성, 상호 운용성을 제공하기 위해 설계된 고처리량 공개 블록체인이다. Elrond을 특별하게 만드는 두 가지 핵심 특징은 자가 조절 상태 샤딩과 안전한 지분 증명 합의 메커니즘이다.
거래, 데이터, 네트워크에 대해 Elrond는 모든 수준에서 자가 조절 상태 샤딩을 채택한다. 동적 자가 조절 샤딩 메커니즘은 사용 가능한 검증자 수와 네트워크 사용량을 고려하여 샤드 병합 및 분할을 수행한다. 정기적인 노드 리셔플링을 통해 악의적 공격에 대해 높은 탄력성을 유지한다. 각 에포크마다 각 샤드의 최대 1/3의 노드가 다른 샤드로 재배치되어 공모를 방지한다. 무작위성 측면에서는 BLS 서명을 사용하여 무작위 소스를 보호하여, 편향 없고 예측 불가능하게 만든다.
또한 샤드 상태 아키텍처 상의 스마트 계약은 샤드 간 실행 프로세스를 통해 처리되며, 샤드 부하 분산을 달성한다. 샤드 간 부하 분산 스마트 계약을 통해 Elrond는 여러 스마트 계약을 병렬로 실행할 수 있다.
동시에 샤드 간 거
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














