BTC
ETH
HTX
SOL
BNB
시장 동향 보기
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

의견: ETH 2.0은 롤업의 한 형태입니다.

以太坊爱好者
特邀专栏作者
이 기사는 약 4296자로, 전체를 읽는 데 약 7분이 소요됩니다
"롤업 중심" 확장 체계는 우리를 일탈하게 만드는 것이 아니라 상위 집합으로 만듭니다.
AI 요약
"롤업 중심" 확장 체계는 우리를 일탈하게 만드는 것이 아니라 상위 집합으로 만듭니다.

편집자 주: 이 기사의 출처는이더리움 애호가(ID: ethfans)편집자 주: 이 기사의 출처는

이더리움 애호가(ID: ethfans)

, 저자: lightclient, 번역 및 교정: Min Min & A Jian, Odaily에서 승인을 받아 복제함.

새로운 스케일링 패러다임으로 전환함에 따라 버려진 오래된 것을 되돌아보는 것이 좋습니다.

이 게시물은 "롤업 중심" 접근 방식이 샤딩에서 벗어나지 않고 전체(가상) 시스템에 대한 보다 직관적인 이해를 구축할 수 있음을 독자에게 확신시키는 것을 목표로 합니다.

첫 번째 레벨 제목

  • 낙관적 롤업의 정의

  • 이 문서의 목적을 위해 먼저 가장 간단한 ORU(낙관적 롤업) 구현에 대해 자세히 설명합니다.

  • ORU에는 다음과 같은 특성이 필요합니다.

  • 모든 트랜잭션 데이터를 체인에 제출

  • 상태 루트가 참이라고 가정

일부 노드는 ORU의 상태 전환 확인을 담당합니다.

첫 번째 레벨 제목

샤딩이 불가능한 이유

보조 제목

블록체인에 16384개의 유효성 검사기가 있고 64개의 샤드 체인이 있다고 가정하면 각 샤드 체인은 128명의 유효성 검사기로 구성된 위원회에서 검증됩니다. 위원회 구성원의 선출은 예측할 수 없습니다. 각 슬롯이 끝나면 모든 위원회가 해체되고 64개의 위원회가 모든 검증자 중에서 무작위로 재선출되므로 각 검증자는 다른 검증자가 어떤 위원회에 있는지 알 수 없습니다. 블록이 샤드 체인에 추가되기 전에 위원회 구성원의 2/3(즉, 86명 이상)의 승인을 받아야 한다고 가정하면 전체 블록에 악의적인 유효성 검사기의 1/3이 포함된다는 의미입니다. 의 경우 무작위로 악의적인 위원회를 선택할 확률은 다음과 같습니다.

원하는 수준의 보안을 달성하기 위해 위원회의 규모를 조정하여 이 매개변수를 늘리거나 줄일 수 있습니다.

텍스트

악의적인 위원회를 선출할 가능성이 매우 낮고 검증자 역할을 하지 않는 것에 대한 부정적인 인센티브로 인해 샤딩 시스템은 비샤딩 코디네이터의 보안 및 활성 보장을 상속받아야 합니다. 그러나 현실 세계의 대부분의 시스템과 마찬가지로 이를 달성하는 것은 쉬운 일이 아닙니다. 위원이 미리 선정되기 때문에 악의적인 행위자는 합리적인 행위자에게 뇌물을 줄 기회가 있습니다. 유효성 검사기 공개 키에서 IP 주소로의 매핑을 생성하는 것이 사소한 일이라면 더 많은 뇌물이 발생할 것입니다. 게다가 무허가 시스템에서는 검증 가능한 투표가 본질적으로 뇌물 수수를 방지할 수 없습니다. 요약하면, 샤딩의 실제 보안은 이론적 보안보다 적어도 한 단계 낮습니다.

보조 제목

플라즈마와 마찬가지로 샤딩에도 데이터 가용성 문제가 있습니다.

샤딩은 모놀리식 프로토콜보다 덜 안전하지만 여전히 보안을 보장할 수 있습니다. 즉, 잘못된 상태 전환을 취소하기 위해 사기 증명을 사용합니다. 그러나 우리가 상상한 단순한 샤딩 체인에 대한 추가 설계를 도입하지 않으면 악의적인 검증자가 데이터를 완전히 보류하고 공개하지 않을 수 있으므로 다른 사람들이 사기 증거를 생성하기에 충분한 데이터를 갖지 못합니다. 다음으로 이 공격을 구현하는 방법에 대해 설명합니다.

  1. 두 개의 샤드 체인 X와 Y가 있는 간단한 샤드 블록체인 B가 있다고 가정합니다. 블록체인 B는 샤드 X와 Y, Cx 및 Cy를 각각 실행하는 데 도움이 되는 두 개의 위원회에서 전통적인 비잔틴 내결함성 합의 알고리즘을 실행합니다. B의 각 블록에는 두 개의 임계값 서명, 즉 각 샤드 체인의 현재 블록의 상태 루트에 대한 두 위원회 Cx 및 Cy의 2/3 구성원의 증인이 포함됩니다.

  2. 각 샤드 체인이 비샤드 시스템과 동일한 양의 데이터 및 초당 트랜잭션을 처리한다고 가정하면 샤드 체인을 도입하면 약 두 배의 처리량을 제공해야 합니다. 낙관적 인 경우에는 그렇습니다.

  3. 이제 B에 대한 데이터 비가용성 공격을 시작하겠습니다. 악의적인 개체가 Cx의 2/3 + 1 구성원이 유효하지 않은 상태 루트에 서명하고 해당 블록의 입력 데이터를 공개하지 않도록 강제할 수 있다고 가정합니다. 이 유효하지 않은 상태 루트는 B에 추가될 다음 블록에 포함됩니다. 현재로서는 B를 유효한 상태로 되돌리는 합리적인 메커니즘이 없습니다. 몇 가지 메커니즘 예를 들 수 있습니다.

  4. Cx의 나머지 1/3 - 1 구성원은 B에서 데이터 사용 불가 경고를 발생시킬 수 있습니다. 아쉽게도 이는 귀책사유가 아니다. 어느 쪽이 악을 행하고 있는지 결정하십시오. (일부 회원을 무분별하게 처벌하는 경우) 악의적인 소수가 이를 악용하여 비용이 전혀 들지 않는 DDOS 공격을 가할 수 있습니다.

버그를 발견하고 B를 최신 유효한 상태로 롤백하기 위해 사전에 개입하는 것은 전체 커뮤니티의 몫입니다. 이 처리 모드는 분명히 나쁩니다.

플라즈마와 유사한 질량 배출 메커니즘을 구현하면 X에서 B로 배출되는 질량은 부정적인 영향을 미칩니다.

플라즈마와 마찬가지로 여기에서 진짜 문제는 데이터 가용성입니다.

첫 번째 레벨 제목

데이터 가용성을 안전하게 증가

위의 분석을 통해 진실을 이해할 수 있기를 바랍니다. 먼저 기본 계층의 데이터 가용성을 확장하는 데 집중해야 합니다. 그렇지 않으면 시스템은 여전히 ​​데이터 비가용성 공격을 받게 됩니다.

위의 메커니즘은 주로 네트워크 참가자가 모든 데이터를 다운로드해야 하는 요구 사항을 완화합니다. Vitalik의 제안은 네트워크 참여자가 블록 제안자가 데이터를 공개했는지 확인하기 위해 블록 데이터의 작은 부분을 무작위로 선택하도록 하는 것입니다. 위험은 블록 제안자가 데이터 비가용성 공격을 실행하기 위해 소량의 데이터만 숨기면 된다는 것입니다. 따라서 참가자는 블록의 가용성에 대한 충분한 신뢰를 구축하기 위해 블록을 여러 번 샘플링해야 합니다. 샘플링 시간을 줄이기 위해 Vitalik은 2차원 Reed-Solomon 코딩을 사용하여 블록 데이터를 코딩할 것을 제안했습니다.

이 구조에서 블록은 N 공유로 분할된 다음 M 공유를 생성하도록 인코딩됩니다. M에 N 공유가 있는 한 블록을 다시 빌드할 수 있습니다. 2N=M이라고 가정하면 블록 제안자는 데이터 사용 불가 공격을 성공적으로 시작하기 위해 블록 데이터의 1/2에 영향을 주어야 합니다. 코딩된 머클 트리는 유사한 구조를 사용하지만 O(b1.5) 디코딩 비용과 O() 해시 커밋 대신 O(b) 디코딩 비용과 O(1) 해시 커밋을 사용합니다(여기서 b는 블록의 바이트 크기를 나타냄). ).

첫 번째 레벨 제목

ETH 2.0의 샤드 설계는 그들이 비콘 체인의 ORU라는 사실을 모호하게 합니다. 초점이 분산 처리에서 정렬된 데이터 가용성 계층으로 이동하면 명확해집니다.

  1. 위의 그림에서 볼 수 있듯이 유효성 검사기 세트는 다음 네 가지 역할을 수행합니다.

  2. 비콘체인 검증 및 실행

  3. 샤드에서 제공하는 데이터의 샘플링 검증

  4. 샤드 위원회 구성

잘못된 상태 전환에 대한 사기 증거 제출

텍스트

i) 데이터 가용성 및 ii) 블록체인은 데이터 가용성이 있는 가장 최근 블록에서 분기됩니다. 그런 다음 사람들이 사기 증거를 구성하거나 시스템이 블록에 서명한 샤드 위원회의 데이터 가용성 부족을 비난하고 상태 전환을 롤백할 수 있습니다.

보조 제목

정의상 ETH 2.0은 ORU입니다.

이 시점에서 ORU의 이전 정의를 고려하여 샤드가 실제로 롤업임을 증명할 수 있어야 합니다.

1. 모든 트랜잭션 데이터는 체인에 제출됩니다.

프래그먼트 블록 데이터는 데이터 가용성 계층에 집중되어 있으며, 특정 확률로 전체 네트워크에서 검증됩니다.

2. 상태 루트가 체인에 커밋됨

샤드 위원회는 비콘 체인 블록에 포함된 샤드 상태 루트에 대한 증명을 제공합니다.

3. 상태 루트는 유효하다고 가정합니다.

비콘 체인은 샤드 위원회 증명이 추가 검증 없이 유효하다고 가정합니다.

4. 일부 노드는 ORU의 상태 전이 확인을 담당합니다.

샤드 위원회는 샤드의 상태 전환을 검증합니다.

비콘 체인은 샤드 상태 전환 사기 증명을 지원합니다.

ETH 2.0 해체

이제 ETH 2.0과 ORU 시스템 사이의 묘한 유사점을 설명했으므로 이 정보를 사용하여 전체 시스템의 설계를 더 잘 이해할 수 있는 방법은 무엇입니까? ORU 시스템의 렌즈를 통해 ETH 2.0의 설계 결정 중 일부를 살펴보겠습니다.

보조 제목

데이터 처리량

여기서 취할 수 있는 한 가지 접근 방식은 데이터 가용성 검사를 프로토콜의 일급 시민으로 취급하는 것입니다. 이를 통해 데이터 계층을 독립적으로 최적화하고 실행 계층에서 하드웨어 요구 사항(프로토콜에 참여)을 보다 세밀하게 제어할 수 있습니다.

예를 들어, ETH 2.0은 샤드 체인 대신 비콘 체인에서 64개의 데이터 센터와 ORU 계약을 제공할 수 있습니다. ORU 계약을 통해 롤업은 리더 선택 메커니즘, 데이터를 보낼 데이터 센터 수, 다른 롤업에 바인딩할지 여부를 결정할 수 있습니다(예: 롤업이 롤백되면 롤업이 바인딩됨). 롤백이 발생합니다). 더 많은 데이터 센터를 사용할수록 롤업을 검증하는 데 필요한 하드웨어 요구 사항이 높아집니다.

엄밀히 말하면 위의 시스템은 현재 샤딩 설계의 상위 집합입니다. 프로토콜에 의해 정의된 64개의 샤드 외에도 보안 데이터 계층에 구축되고 프로토콜 샤드와 독립적인 자체 특성을 가진 다른 롤업이 있습니다.

보조 제목

간단한 ORU에서 선출된 리더는 유효하지 않은 상태 전환을 커밋할 권리가 있습니다. 이는 시스템의 보안에 영향을 미치지 않지만 잘못된 상태 전환은 사기 증명을 통해 되돌릴 수 있으므로 롤업 프로세스가 중단됩니다. 이런 종류의 피해는 가해자에게 일반적으로 비용 효율적이지 않습니다. 그러나 ETH 2.0에서는 교차 샤드 통신으로 인해 이 문제가 특히 까다로워집니다. 슬롯 N의 샤드는 슬롯 N-1에 있는 다른 샤드의 상태를 가져올 것으로 예상합니다. 샤드 Si가 유효하지 않은 상태 전이를 저지른다고 가정하면 일방적으로 롤백을 시작하는 것 외에 샤드 Sj(0≤j≤64; i≠j)에 대한 상태의 부정적인 영향을 취소할 수 있는 합리적인 방법이 없습니다.

치명적인 이벤트를 방지하려면 이러한 롤백을 방지하는 메커니즘을 마련해야 합니다. 가장 분명한 두 가지 메커니즘은 샤드 위원회와 커스터디 비트 확인입니다. "샤딩의 보안성을 수학적으로 증명" 섹션에서 언급한 바와 같이 다양한 공격 벡터를 고려하더라도 샤딩 위원회 구성원의 2/3 이상이 뇌물을 줄 확률은 매우 낮습니다. 관리 비트는 게으름으로 인해 정직한 검증자가 잘못된 상태 전환에 서명하도록 속일 수 없도록 합니다.

이러한 메커니즘의 목적이 시스템 보안을 유지하는 것이 아니라 잘못된 상태 전환을 방지하는 것이라고 생각하면 실용적이고 동일한 효과를 달성하는 매개변수를 선택할 수 있습니다. 예를 들어, 샤드 위원회의 규모를 64명으로 줄이면 무작위로 악의적인 위원회를 구성할 확률은 여전히 ​​3.1×10-8로 낮습니다. 그러나 네트워크 및 서명 집계 관점에서 이것은 부담을 크게 줄일 수 있습니다.

첫 번째 레벨 제목

롤업 중심 이더리움 로드맵

이 기사는 원래 SBC20(Stanford Blockchain Conference 2020)에서 작성되었습니다. 그때부터 저는 ETH 2.0과 ORU의 유사점을 충분히 이해하기 시작했습니다. Vitalik의 기사를 읽은 후 저는 이더리움의 향후 롤업 중심 확장 솔루션 채택에 대한 지지를 표현하기 위해 이 기사를 게시하기로 결정했습니다. 그러나 이 기사에서 설명한 것처럼 "롤업 중심" 스케일링 체계는 우리를 벗어나게 하는 것이 아니라 상위 집합입니다. 샤딩 설계에서 발생한 문제는 교차 롤업 통신을 통합할 때 발생한 문제와 유사합니다. 이는 이미 진행 중인 많은 작업이 중단 없이 계속될 수 있음을 의미합니다.

ETH
开发者
Odaily 공식 커뮤니티에 가입하세요