샤딩은 데이터 세그먼트 관리 용이성, 확장성 향상 및 트랜잭션 속도 증가를 위해 블록체인을 더 작은 파티션된 블록체인(샤드라고 함)으로 분할하는 프로세스를 설명하는 데 사용되는 용어입니다. [1][2][3]
샤딩은 초당 더 많은 트랜잭션을 처리할 수 있도록 확장성을 목적으로 기존 데이터베이스에서 파생된 블록체인의 기술입니다. 샤딩은 수평 파티셔닝이라고도 하는 데이터베이스 파티셔닝이라는 기술에서 유래되었습니다. 이 프로세스에는 대규모 데이터베이스를 "샤드"라고 하는 더 작은 단위로 나누는 작업이 포함됩니다. 이 분할은 데이터베이스의 정보에 대한 접근성을 향상시킵니다. [2]
각 샤드는 자체 데이터로 구성되어 다른 샤드와 비교할 때 고유하고 독립적입니다. 데이터베이스 샤드 또는 간단히 샤드는 데이터베이스 또는 검색 엔진에서 데이터의 수평 파티션입니다. 각 샤드는 부하를 분산하기 위해 별도의 데이터베이스 서버 인스턴스에 보관됩니다. 데이터베이스 내의 일부 데이터는 모든 샤드에 존재하지만 일부 데이터는 단일 샤드에만 나타납니다. 각 샤드는 이 데이터 하위 집합에 대한 단일 소스 역할을 합니다.
샤딩은 블록체인 네트워크를 별도의 샤드로 분할하므로 네트워크의 대기 시간 또는 느림을 줄이는 데 도움이 될 수 있습니다. 그러나 샤드가 공격을 받을 수 있는 샤딩과 관련된 몇 가지 보안 문제가 있습니다.[7]
샤딩은 블록체인 네트워크의 모든 상호 작용 및 트랜잭션을 처리하는 단일 체인의 스트레스를 해소합니다. 각 샤드에는 자체 원장이 있으며 자체 트랜잭션을 처리하고 고유한 스마트 계약 세트를 보유할 수 있습니다. [1][3]
샤딩이 블록체인의 확장성 문제에 대한 잠재적인 해결책처럼 보일 수 있지만 구현에는 몇 가지 어려움이 있습니다. 블록체인 샤딩과 관련된 두 가지 주요 단점은 복잡성과 보안입니다.
비탈릭 부테린이 이더리움 클래식으로 처음 개발한 이더리움은 통합 블록체인 시스템으로 작동합니다. 점점 더 많은 수의 탈중앙화 애플리케이션과 사용자를 수용할 수 있음에도 불구하고 모든 트랜잭션은 제한된 그룹의 채굴자를 통과해야 합니다. 결과적으로 이 중앙 집중식 처리는 네트워크 정체를 초래할 수 있습니다.[2]
2018년에 비탈릭은 이더리움 블록체인의 샤딩 업데이트에 대한 개념 증명에 대한 간행물에 다음과 같은 의견을 추가했습니다.[17]
"아직 완전히 해결되지 않은 과제는 교차 링크를 장려하는 방법과 시기를 결정하는 것입니다."
이더리움 샤딩은 이더리움 네트워크가 처리할 수 있는 트랜잭션 수를 늘리는 방법입니다. 이 개념은 전체 이더리움 네트워크를 '샤드'라고 하는 여러 부분으로 분할하는 것을 포함합니다. 각 샤드에는 고유한 계정 잔액 및 스마트 계약을 의미하는 자체 독립적인 상태가 포함되어 있습니다.[14]
2021년 게시물 중 하나에서 비탈릭은 샤딩의 중요성을 강조했습니다. [15]
"샤딩은 이더리움 확장성의 미래이며 생태계가 초당 수천 건의 트랜잭션을 지원하고 전 세계의 많은 부분이 저렴한 비용으로 플랫폼을 정기적으로 사용할 수 있도록 돕는 데 핵심이 될 것입니다.
또한 2018년 12월 부테린은 다음과 같이 트윗했습니다. [16]
"샤딩이 있는 지분 증명 블록체인은 미래에 "수천 배" 더 효율적일 것입니다."
Danksharding은 이더리움 네트워크가 처리할 수 있는 트랜잭션 수를 늘리는 방법입니다. 이것이 이더리움이 진정으로 확장 가능한 블록체인이 되는 방법입니다. Danksharding은 롤업이 압축된 트랜잭션 데이터를 덤프할 수 있도록 이더리움에 막대한 양의 공간을 제공합니다.
이 개념은 전체 이더리움 네트워크를 '샤드'라고 하는 여러 부분으로 분할하는 것을 포함합니다. 각 샤드에는 고유한 계정 잔액 및 스마트 계약을 의미하는 자체 독립적인 상태가 포함되어 있습니다.
이더리움의 로드맵에는 Danksharding이라는 프로토콜 업그레이드가 포함되어 있습니다. 이 업그레이드는 사용자가 레이어 2에서 트랜잭션을 최대한 저렴하게 만들고 이더리움을 초당 >100,000 트랜잭션으로 확장하는 것을 목표로 합니다. EIP-4844라고도 하는 프로토-Danksharding은 그 과정의 중간 단계입니다.
프로토-Danksharding은 블록에 보내고 첨부할 수 있는 데이터 Blob을 도입합니다. 이러한 Blob의 데이터는 EVM에서 액세스할 수 없으며 고정된 기간(1-3개월) 후에 자동으로 삭제됩니다. 즉, 롤업은 데이터를 훨씬 저렴하게 보내고 더 저렴한 트랜잭션 형태로 최종 사용자에게 절감액을 전달할 수 있습니다.
롤업이 제출한 데이터 Blob은 롤업이 잘못 작동하지 않도록 확인해야 합니다. 여기에는 증명자가 Blob의 트랜잭션을 다시 실행하여 약속이 유효한지 확인하는 작업이 포함됩니다. 이는 개념적으로 실행 클라이언트가 Merkle 증명을 사용하여 레이어 1에서 이더리움 트랜잭션의 유효성을 확인하는 방식과 동일합니다.[13]
질리카는 샤딩을 사용하여 확장하는 고성능, 고보안 블록체인 플랫폼입니다. 질리카의 샤딩은 네트워크 샤딩, 트랜잭션 샤딩, 컴퓨팅 샤딩 등 다양한 형태를 취합니다.
샤딩된 아키텍처로 인해 트랜잭션을 병렬로 처리할 수 있는 기능을 통해 질리카의 처리량이 네트워크 크기에 따라 선형적으로 증가합니다.[10][11][12]