>  기사  >  Buterin이 Ethereum 확장성의 미래로 언급한 샤딩이란 무엇입니까?

Buterin이 Ethereum 확장성의 미래로 언급한 샤딩이란 무엇입니까?

DDD
DDD앞으로
2024-03-06 13:41:281075검색

또한 현재 블록체인 기술의 대규모 적용을 제한하는 매우 중요한 요소가 성능이라는 것을 알고 계실 것입니다. 이는 많은 전통적인 인터넷 실무자가 블록체인 기술에 대해 낙관적이지 않은 이유 중 하나이기도 합니다.

그렇다면 블록체인의 성능 문제를 어떻게 해결할 수 있을까요? 그 해결책 중 하나가 샤딩(Sharding) 기술입니다.

01
샤딩이란 무엇인가요?

샤딩은 수평 파티셔닝이라고도 하는 데이터베이스 파티셔닝의 한 형태로, 대규모 데이터베이스를 처리 가능한 여러 개의 작은 부분으로 나누어 성능을 향상시키고 응답 시간을 단축합니다.

샤딩은 1990년대 후반에 전통적인 중앙 집중식 데이터베이스 관리에 등장한 새로운 개념이 아닙니다. 이 개념은 온라인에서 여러 플레이어가 동시에 플레이하는 롤플레잉 게임인 울티마 온라인 덕분에 인기를 얻었습니다.

이 게임에서 개발자는 트래픽 압박을 완화하기 위해 플레이어를 다른 서버에 할당합니다(즉, 병렬 "게임 세계"가 많이 있음을 의미). 상업적으로 일반적인 샤딩 사례는 사용자 정보 데이터베이스를 지리적 위치에 따라 나누어 사용자 정보를 동일한 영역에 모아 별도의 서버에 저장하는 것이다.

02
블록체인 분야에서 샤딩이란?

블록체인은 데이터베이스에 해당하며, 각 노드는 독립된 서버에 해당합니다. 정상적인 상황에서는 이들 노드 중 하나만 동시에 블록을 기록하고 생성할 수 있는 권한을 얻을 수 있습니다. 블록 생성 권한을 획득하지 못한 나머지 노드는 "쓸데없는 작업"을 수행하고 컴퓨팅 파워를 낭비하는 것과 같습니다.

샤딩 기술을 블록체인에 적용하면 블록체인 네트워크에서 보류 중인 모든 작업(거래 확인, DApp 실행 등)을 모두 분해하는 것과 동일하며 전체 네트워크의 노드도 그룹화되어 각각의 그룹 분해된 작업(예: 확인해야 할 150개 트랜잭션)을 동시에 처리하므로 원래 단일 노드가 전체 네트워크의 모든 작업을 처리하여 동시에 병렬로 처리하는 여러 노드 그룹이 됩니다.

Buterin이 Ethereum 확장성의 미래로 언급한 샤딩이란 무엇입니까?

예를 들어 현재 이더리움에 8,000개의 노드(채굴자)가 있고 전체 네트워크에서 확인해야 할 트랜잭션이 15,000개 있다고 가정합니다. 이더리움은 초당 7~15개의 트랜잭션을 처리할 수 있습니다. 정상적인 상황에서는 이러한 대기 중인 트랜잭션을 처리하는 데 최소 1000초가 소요됩니다. 물론 처리 중에 확인해야 할 새 트랜잭션이 생성됩니다.

샤딩 기술을 사용하여 8,000개의 노드를 100개의 그룹으로 나누면 각 그룹에는 80개의 노드가 있고, 이 15,000개의 보류 트랜잭션을 100개의 파티션으로 나누어 각각 150개의 트랜잭션이 있으면 각 노드 그룹(80)을 병렬로 처리할 수 있습니다. 보류 중인 트랜잭션(150개 트랜잭션)을 해당 파티션에서 처리하여 15,000개의 보류 중인 트랜잭션을 모두 10초 안에 처리할 수 있습니다.

이 예에서 샤딩 기술이 블록체인의 성능을 크게 향상시킬 수 있음을 알 수 있습니다.

03
샤딩 기술의 잠재적 위험

그렇다면 샤딩 기술에 흠집은 없을까요? 대답은 '예'입니다.

샤딩 기술은 블록체인의 성능 문제를 어느 정도 해결하고 블록체인의 확장성을 높일 수 있지만 두 가지 결함도 있습니다.

하나는 분할 후 서로 다른 영역 간의 의사소통 문제입니다. 위의 예는 이더리움 네트워크를 100개의 파티션으로 나눕니다. 각 파티션은 독립적이며, 이는 100개의 독립적인 병렬 이더리움 블록체인에 해당하며, 각 파티션은 채굴자 그룹(80개 노드)에 의해 관리됩니다.

이 100개의 독립적인 이더리움 블록체인은 서로 통신할 수 없습니다. 통신하려면 파티션 간 통신 메커니즘(크로스 체인과 유사)을 추가해야 하며 이로 인해 블록체인의 복잡성이 증가하고 난이도가 높아집니다. 개발의.

두 번째는 블록체인의 보안입니다. 그래도 위의 예에서 샤딩 이전의 이더리움 네트워크는 8,000개 노드의 컴퓨팅 성능을 가졌습니다. 100개의 파티션으로 분할된 후 각 파티션은 독립적인 이더리움 블록체인과 동일하며 컴퓨팅 성능은 80으로 떨어졌습니다. 노드.

이때 파티션 중 하나에 대해 51% 컴퓨팅 파워 공격을 수행하는 것이 훨씬 쉽습니다. 공격자는 파티션을 제어함으로써 이 파티션에서 악의적인 행위를 하고 트랜잭션을 변조할 수 있습니다.

이더리움 재단은 이더리움 2.0 업그레이드 중 하나로 샤딩 기술을 사용할 계획입니다. 우리는 이더리움이 샤딩 기술의 위 2가지 결함을 어떻게 해결하는지 기다려 볼 것입니다.

위 내용은 Buterin이 Ethereum 확장성의 미래로 언급한 샤딩이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 zhihu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제