세상에, 이더리움 2.0이 당신에게 소개된 것이 무엇입니까? 여러 단계로 나누어?
袁辉腾
2019-01-18 02:32
本文约9980字,阅读全文需要约40分钟
ETH2.0은 복잡하고 진화하는 시스템이며 모든 DApp 엔지니어는 ETH2.0 계획과 진행 상황을 이해해야 합니다.

편집자 주:편집자 주:Medium최근 블록체인 분야에서 "이더리움 콘스탄티노플 포크"가 화제가 되고 있으며, 이더리움의 대안으로 계획된 진짜 "하드 디쉬"인 ETH2.0이 점차 그 모습을 드러낼 것입니다. 지루한 용어 정의에 대한 해석은 제쳐두고 James Prestwich는 현재 이더리움 로드맵에 대해 논의합니다. 동시에 그는 마음을 열고 이 특정 토론에서 이더리움 후기 단계의 가능한 방향을 상상했습니다. 의 기사

, 다음은 편집의 전체 텍스트입니다.

에디터 | 루샤오밍

에디터 | 루샤오밍

보조 제목

ETH2.0이란 무엇입니까?

ETH2.0은 Ethereum에 대한 계획된 대안입니다. 향후 몇 년 동안 ETH2.0 개발자는 현재 합의 시스템과 이더리움 상태를 완전히 통합할 계획입니다. 그 범위가 너무 넓기 때문에 ETH2.0이 포함하거나 포함하지 않을 것을 정확히 전달할 수 없습니다. 실제로 우리는 몇 가지 작업 사양을 구축했으며 초기 구현을 위해 상당한 양의 팀 노력이 있습니다. ETH2.0 개발자들은 잠정적으로 샤딩 기술(Sharding), 캐스퍼 프로토콜, 스테이트 리스(State Rent), 이더리움 가상 머신 EVM의 업그레이드 프로젝트 eWASM을 포함할 계획입니다.현재 ETH2.0 초기 클라이언트는 온라인에서 테스트되었으며,3개월 이내, ETH2.0은 이더리움 체인의 이더리움이 과거로 매핑될 수 있도록 하겠지만, ETH2.0 디자이너는 결국 ETH2.0을 메인 체인으로 만들고 이더리움 1.X를 자신이 관리하는 브랜치 체인으로 만들어 이를 변경할 계획입니다. 상황.

보조 제목

엔지니어에게 그것은 무엇을 의미합니까?전문 Solidity 프로그래머 또는 Dapp 개발자이고 ETH2.0 스마트 계약 배포의 "열성적인 팬"인 경우. 음, 업데이트 반복을 많이 해야 할 수도 있습니다. ETH2.0은 스마트 계약을 작성할 때 우리가 하는 많은 가정을 뒤집을 이더리움을 완전히 대체합니다. 계획된 다년 롤아웃은 업그레이드 주기라기보다는 제품 출시 주기처럼 느껴집니다.ETH1.X를 위해 작성한 도구와 스마트 계약을 재창조해야 할 수도 있습니다.

단계적 출시

단계적 출시

현재,현재,샤딩 로드맵(ETH2.0 로드맵의 두 배) 7단계를 나열합니다. 오직0단계명확한 사양이 있고,정기적으로 업데이트1단계 사양훨씬 덜 엄격하고 덜 정확하며부정적인 개발 상태

. 1단계부터 로드맵은 기술 문서가 아닌 목표 목록이 됩니다.ethresear.ch Github에 링크하는 것보다 3배 더 많습니다. 향후 단계는 엔지니어링보다 추측에 가깝기 때문에 구체적인 논의는 0, 1, 2단계로 제한됩니다. 동시에, 이러한 특정 논의에서 나중 단계에 대한 가능한 방향에 대한 몇 가지 대략적인 개요를 다룹니다.

첫 번째 레벨 제목

0단계: 비컨 체인0단계는 "비콘 체인"을 도입합니다.(Odaily 참고: 비콘 체인은 새로운 블록체인이며 새로운 이더리움에서 핵심 위치를 차지합니다. 이 체인의 기능 중 하나는 검증자가 서약 시스템에 참여하고 광부의 역할을 대체하며 다른 기능은 샤드 상태의 인덱스를 저장하는 것입니다.)

분명히 이 "비콘 체인"과 같은 초기 반복은 가능한 한 단순하도록 설계되었으며, 이것이 0단계가 스마트 계약, 계정, 자산 이전을 지원하지 않으며 샤딩을 포함하지 않는 이유입니다. 동시에 비콘 체인을 기반으로 하는 이더는 체인에서 전송할 수 없으므로 사용자가 이를 거래소에 입금할 수 없습니다.

보조 제목

BETH: 새로운 에테르

  1. 새로운 자산 유형인 Beacon ETH(BETH)는 Beacon Chain의 스테이커(코인 보유자 또는 사용자)만 사용합니다. BETH는 다음 두 가지 방법으로 생성할 수 있습니다.

  2. 비콘 체인(및 1단계 이후의 샤드) 검증에 대한 보상으로모든 ETH1.X 사용자가 통과할 수 있습니다.ETH1.X 계약

BETH의 1 ETH를 구매하면 계약에서는 이를 "예금/재충전"(예금)이라고 합니다.

엔지니어는 계약에 언급된 취소 기능이 없음을 알 수 있습니다. 이는 사용자가 Beacon Chain에서 BETH를 인출할 수 없는 Phase 0 때문입니다. 즉, 사용자가 ETH1.X 검증자 등록 컨트랙트에 저장되면 ETH1.X 이더는 소멸됩니다. 비콘체인 검증자는 계약을 관찰하고 비콘체인에 충전 정보를 제출하고 비콘체인은 새로운 BETH를 발행하여 사용자를 충전합니다.

따라서 검증 등록 계약에 ETH가 전송된 직후 사용자는 비콘 체인에서 발행한 해당 BETH 금액을 받게 됩니다. 이 과정에서 재충전을 일시적으로 검토할 수 있지만, 캐스퍼 프로토콜에 따라 영구적으로 검토할 수는 없습니다.

과거에는 BETH와 같은 일부 저기능 토큰 프로젝트가 IOU를 통해 거래소에서 거래되었습니다. 예를 들어 Tezos 크라우드세일 기간 동안 HitBit 및 BitMEX XTZ 선물 시장을 출시했습니다. 따라서 BETH에 대한 수요가 있다면 관리형 BETH의 거래 및 스테이킹을 지원하는 거래소 생태계 구축에 전념해야 합니다. 그러나 사용자는 BETH에 대한 현재 수요에 대해 의문을 가질 수 있습니다. ETH에서 BETH로의 단방향 페그로 인해 BETH 가격 상한선이 1 ETH가 되므로 BETH는 훌륭한 투자 대상이 아닙니다. 즉, BETH는 결코 ETH보다 더 가치가 없을 것이며 심지어 더 낮을 수도 있습니다.

첫 번째 레벨 제목

0단계 이상: 스테이킹

비콘 체인에서 사용자는 32 BETH 예금을 스테이킹하여 검증자가 될 수 있습니다. 0단계에서 검증인은 비콘 체인만 관리하면 되며, 1단계 시작부터 검증인은 비콘 체인을 관리하면서 1024개의 샤드 체인도 관리하게 됩니다. 비콘 체인과 각 샤드 체인은 캐스퍼 FFG를 사용하여 블록 생성을 완료합니다. FFG는 체인의 잘못된 행동에 대한 페널티(즉, 지분 삭감)를 구현하는 데 사용되는 지분 증명 알고리즘(지분 증명)입니다.주의 깊은 독자들은 샤딩 로드맵의 "Ethereum 3.0" 부분에서 FFG의 사촌인 Casper CBC를 찾을 수 있습니다. FFG(및 물론 CBC)에 대한 자세한 해석은 이 기사의 범위를 벗어납니다. 관심이 있으시면 Ethereum의 설립자 인 Vitalik Buterin을 읽을 수 있습니다.하이브리드 PoW / FFG에 대한 참고 사항컷 조건 최소화 정보그리고FFG 논문

보조 제목

사용자(스테이커)는 무엇을 해야 하나요?

샤딩의 목적은 노드가 네트워크의 전체 그림을 동시에 가질 필요 없이 노드 간에 샤드의 상태 정보를 분할하는 것입니다. 이를 기반으로 검증자는 모든 샤드를 검증하지 않습니다. 대신 비콘 체인이 다른 샤드의 검증을 조정하고 모든 유효성 검사기가 비콘 체인의 검증을 수행합니다.일정 시간(64 블록 또는 약 6.4분) 후에 비콘 체인은 유효성 검사기를 "확인"합니다., 무작위로 할당분열분열. 샤드에 할당된 유효성 검사기 그룹을 위원회라고 하며 여기에는 다음이 포함됩니다.128명다단계 난수 생성 프로세스게다가게다가검증 가능한 지연 기능

, 그렇게 함으로써 위원회 선택 과정을 조작하려는 시도를 저지할 수 있습니다.

위원회는 조각의 보안, 활동 및 무결성을 보호할 책임이 있으며 동시에 비콘 체인에서 조각의 상태를 확인(Attest)해야 합니다.그 존재의 중요성은 자명합니다. , 따라서 ETH2.0은 임의의 위원회 선택과 위원회 구성원의 빈번한 순환이 될 것입니다. 동시에 이것은 비콘 체인이 샤드의 상태를 알 수 있는 유일한 방법이며 그 반대도 마찬가지입니다.64

보조 제목

PoS 증명의 의미는 무엇입니까?상태 비저장 간편 결제 확인(SPV)그리고그리고비대화형 작업 증명(NIPoPoW)

즉, 지분 증명에 대한 원격 상태 증명은 PoW 상태 비저장 SPV 검증과 거의 동일한 양의 데이터를 포함하지만 전체 PoS 기록의 사전 검증이 필요합니다. 반대로 stateless SPV 검증은 검증을 위한 추가 정보가 필요하지 않습니다. 이는 크로스 샤드 또는 크로스 체인 애플리케이션이 주관적인 지분 증명 환경에서 기능은 감소했지만 오버헤드는 증가했음을 의미합니다.

첫 번째 레벨 제목

1단계: 샤딩

1단계는 의미가 아닌 샤드 체인의 내용에 대한 합의를 달성하는 것을 목표로 합니다. 즉, 확장(Scale)을 위해 샤딩을 사용하려고 시도하는 것이 아니라 샤딩 구조의 "시험 실행"입니다. 비콘 체인은 샤드 체인을 구조가 없거나 단순한 의미가 없는 비트의 집합체로 간주합니다. 샤드 체인은 아직 계정, 자산 또는 스마트 계약을 소유하지 않습니다. 샤드 유효성 검사기는 샤드의 각 시대에 대해 비콘 체인에 의해 무작위로 선택됩니다. 단순히 각 블록의 내용에 동의합니다. 모든 위원회 구성원이 합의에 도달하고 샤드의 비콘 체인을 정기적으로 업데이트하는 한 샤드에 어떤 정보가 나타나는지는 중요하지 않습니다.교차 연결(Crosslinking)이라는 프로세스를 통해 샤드 유효성 검사기는 샤드의 내용과 상태를 확인할 수 있습니다. 간단히 말해서 위원회는 비콘 체인의 샤드(예: 루트 해시)에 대한 검증 가능한 정보를 포함해야 합니다. 2단계 이상에서 교차 링크는 교차 샤드 통신(Cross-Shard Communication)을 지원합니다. 비콘 체인은 여러 위원회로부터 주어진 교차 링크를 받습니다.정확도 증명

그 후, 비콘 체인은 전체 샤드를 검증하지 않고 교차 링크가 샤드의 진정한 표현임을 신뢰할 수 있습니다. 위원회가 교차 링크의 유효성에 대해 동의하지 않는 경우, 즉 위원회 중 하나가 잘못된 것이 분명한 경우 검증자는 삭감되어야 합니다.

이것은 모든 샤드에 대한 보안의 근원입니다. 즉, 유효성 검사기의 오작동은 결국 비콘 체인에 의해 발견되고 처벌됩니다.

흥미롭게도 Phase 0의 구현은 사양 개발과 동시에 진행되고 있습니다. 테스트넷이 3개월도 남지 않은 지금도 0단계 사양은 정기적으로 개정됩니다. 타임 라인의 추정은 또한 향후 ETH2.0 단계의 개발 시간에 큰 차이가 있음을 의미합니다. 낙관론자들은 6개월이면 충분하다고 말하지만 0단계가 테스트에 들어가는 것을 본 후 1단계는 12개월에서 18개월의 개발 주기가 필요한 것 같습니다.

첫 번째 레벨 제목

2단계: 스마트 계약 eWASM궁극적으로 2단계는 이더리움에서 우리에게 친숙한 시스템과 유사한 시스템으로 이어질 것입니다. 2단계 릴리스에서는 샤드 체인이 단순한 데이터 컨테이너에서 구조화된 체인 상태로 전환됩니다. 이 시점에서 새로운 BETH를 양도할 수 있으며 스마트 계약이 다시 도입됩니다. 각 샤드는 다음을 기반으로 합니다.

("EVM2"라고 함) 가상 머신을 관리합니다.

이 단계에서 EVM2는 친숙한 계정, 계약, 상태 및 기타 추상화를 지원합니다. 그러나 많은 수의 내부 변경으로 인해 대부분의 기존 도구가 손상될 수 있습니다. 다행스럽게도 eWASM 기술 팀은 Solc 컴파일러, Ethereum의 개발 및 테스트 프레임워크 Truffle 및 Ganache에 대한 몇 가지 기본 작업을 수행했습니다. 2단계 테스트넷 이전 또는 도중에 EVM2를 지원하기 위해 여기에 포팅된 가장 일반적으로 사용되는 도구를 볼 수 있습니다.State Rent는 현재 Solidity 프로그래밍 언어 엔지니어에게 몇 가지 흥미로운 과제를 제기하는 2단계에 포함될 수 있습니다. 상태 임대는 코드와 데이터를 무기한 저장하지 않지만 계약 개발자와 사용자는 일정 기간 동안 EVM2 스토리지 비용을 지불해야 합니다. 사용하지 않는 정보가 시간이 지남에 따라 다른 상태가 되도록 하여 상태 팽창을 방지하면 궁극적으로 사용자가 전체 노드가 아닌 상태 비용을 지불하도록 하는 목표를 달성합니다. 사람들은 다른 제안모델

, "백 가지 생각의 학교가 다투고 있지만"아직 명확한 결론이 없습니다.몇몇에게는이더리움 업그레이드 계획사전, 그리고 유명한이더리움 코어 개발자

또한 2단계가 어디에서 끝날지 알 수 없으며 아직 초기 연구 단계에 있으며 몇 가지 주요 미해결 질문이 포함되어 있습니다. 비공식 사양 및 개발 프로세스와 2단계에서 1단계로의 확장이 주어집니다. 2020년 이전에 2단계를 시작하는 것은 합리적이지 않아 보입니다. 즉, ETH2.0이 올해 출시될 수 있지만 ETH2.0 버전은 적어도 2020년까지는 자산 이전이나 스마트 계약을 지원하지 않을 것으로 예상됩니다.

첫 번째 레벨 제목

3단계: 오프체인 상태 저장

3단계는 가능한 한 많은 상태를 오프체인으로 이동하여 온체인 상태를 최소화합니다. 체인에 저장할 때 전체 상태를 저장할 필요는 없고 일부 상태 정보와 애그리게이터(애그리게이터는 긴 데이터 목록을 나타내는 짧은 데이터, 머클 트리는 애그리게이터의 일종)만 저장한다. 사용자는 전체 상태를 오프체인에 저장할 책임이 있습니다.

사용자가 상태와 상호 작용할 때 트랜잭션의 현재 상태 증명이 포함됩니다. 이렇게 하면 유효성 검사기를 실행하기 위한 리소스 요구 사항이 훨씬 낮아집니다. 오늘날 서로 다른 기능과 성능 특성을 가진 수많은 수집기 디자인이 등장했지만 지금까지 구체적인 선택은 이루어지지 않았습니다. 이 단계에서는 체인이 더 이상 데이터 가용성을 보장할 수 없기 때문에 사용자 조정을 위한 온체인 통신 사용을 중단합니다. 3단계에서는 오프체인 상태를 유지하고 획득하는 것이 DApp 설계를 제한하는 핵심 요소 중 하나가 될 것입니다.

4단계: 스마트 계약 샤딩

텍스트

그러나 극복할 수 없는 문제가 남아 있습니다. ETH2.0 계약은 이더리움 계약만큼 강력하지만 반드시 하나의 샤드에 구속되며 다른 샤드의 계약과 직접 상호 작용할 수 없습니다. 이는 다른 샤드에 대한 직접적인 지식 없이 샤드 간에 상태를 분할하는 것을 목표로 하는 샤딩의 직접적인 결과입니다. 스케일링은 상태를 분할하고 유효성 검사기의 작업량을 최대한 줄이는 방식으로 이루어집니다.

직접적인 상호 작용에는 직접적인 지식 저장이 필요합니다. 설계상 샤드는 다른 샤드에 대한 직접적인 지식이 없습니다. 비콘 체인과의 크로스 체인 통신을 통해서만 다른 샤드에 대해서만 알 수 있습니다. 따라서 사용자가 샤드 간에 상호 작용하려면 비콘 체인을 기다려야 합니다. 특히 이는 SafeMath 모듈이 샤드 A에 배포된 경우 샤드 B의 사용자가 액세스를 기다리거나 샤드 B에 새 SafeMath 모듈을 배포해야 함을 의미합니다.

CDP 활성화와 DAI 수집 사이의 긴 지연은 감당할 수 없는 경제적 손실을 초래할 수 있습니다. 시장이 변하고 사용자가 DAI를 받기 전에 CDP가 청산되면 어떻게 될까요? 실제로 이것은 사용자가 스마트 계약을 포함하는 각 샤드에 대한 계정이 필요하다는 것을 의미할 수 있지만 교차 샤드 구조는 쓸모가 없습니다. Maker와 0x는 둘 다 동일한 샤드에 배포된 경우에만 상호 작용할 수 있으며 0x 사용자도 해당 샤드에서 일정량의 자산을 소유해야 합니다.

보조 제목

근본적인 트레이드오프: 동기화 또는 확장

ETH2.0 버전의 설계자는 최종 크로스 샤드 통신 시스템이 어떤 모습일지 알지 못했습니다. 많은 제안을 읽음으로써 시스템은 즉각적인 피드백과 예측 가능성 사이에서 근본적인 절충안을 만들 수 있습니다. 샤딩의 특성은 변경되지 않으며 모든 사용자는 샤드 간 통신을 기다려야 합니다. 그러나 트랜잭션의 로컬 및 원격 실행 단계를 각 샤드에 긴밀하게 또는 느슨하게 연결할 수 있습니다.

긴밀한 결합으로 인해 대기가 우선 순위가 됩니다. 트랜잭션은 샤드가 통신할 때까지 아무 작업도 수행하지 않습니다. 대신 지금 부분을 실행하고 나중에 부분을 실행하여 트랜잭션을 느슨하게 결합할 수 있습니다. 트랜잭션은 로컬 샤드에서 실행된 다음 교차 샤드 통신 후 원격 샤드에서 실행됩니다.

느슨한 결합은 더 나은 사용자 경험을 제공합니다. 사용자는 로컬에서 실행된 거래를 즉시 볼 수 있으며 미래의 어느 시점에 원격 실행이 발생할 것임을 알 수 있습니다. 그러나 행운과 불행이 함께 나타나며 사용자는 느슨하게 결합된 트랜잭션의 원격 단계 결과를 알기 위해 기다려야 합니다. 긴밀하게 결합된 트랜잭션은 느슨하게 결합된 트랜잭션보다 더 예측 가능합니다. 동시에 원격 상태가 로컬 실행 단계와 원격 실행 단계 간에 전환되지 않기 때문에 사용자는 결과를 더 잘 알고 있습니다. 그러나 "뜨거운 두부를 급히 먹을 수는 없다"는 긴밀한 결합은 사용자가 결과를 보기 전에 기다려야 합니다.ETH2.0의 통신 모델에 대한 정보는 거의 없습니다. 우리는 모델이 거의 모든 확장 이점을 희생하면서 교차 샤드 계약 호출을 제공해야 한다는 것을 알고 있습니다. 4단계만 존재하기 때문에 여기서 읽기를 중단하더라도 당신을 비난하지 않습니다.마인드 맵 및 모호한 링크

. 이 상황의 명백한 결과는 ETH2.0이 4단계까지 복잡한 스마트 계약 시스템에 상당한 확장 이점을 제공하지 않는다는 것입니다. 이전에는 다른 계약과 상호 작용하려는 스마트 계약은 샤드와 공존해야 했으며 해당 샤드의 속도 및 확장 효과로 제한되었습니다. ETH1.X와 비교할 때 샤딩은 기껏해야 작은 상수의 속도 향상만 달성할 수 있습니다. 이는 4단계(2025년경) 출시 이전에는 작은 장점 때문에 스마트 컨트랙트 코드나 사용자를 마이그레이션할 이유가 없음을 의미합니다.중요: 아래의 모든 내용은 추측입니다.

보조 제목

기본 모델: 영수증 및 증명

모든 형태의 교차 체인 통신은 비콘 체인에 의존합니다. 비컨체인은 모든 샤드의 상태를 가져올 수 있고 각 샤드가 비컨체인의 상태에 영향을 미치므로 샤드체인 생태계의 핵심으로 활용된다. 어떤 의미에서 하나의 체인에서 다른 체인으로의 정보는 비컨체인을 통해 전달되어야 하는데, 이를 위해서는 비컨체인이 각각의 트랜잭션 자체를 처리해야 한다는 점을 고려하면 확장 효과를 전혀 얻을 수 없으므로 완전한 비컨체인을 보내는 것은 바람직하지 않다. 정보.

대신 샤드 A의 사용자 또는 계약이 샤드 B와 상호 작용하기를 원할 때 샤드 A는 해당 상호 작용에 대한 메시지와 함께 "영수증"을 생성합니다. 샤드 A는 블록 헤더에 모든 영수증을 제출하고 비콘 체인은 샤드 A의 블록 헤더에 제출(영수증 제출 포함)하기 전에 A가 완료를 확인하기를 기다립니다. 또한 샤드 B는 비콘 블록 헤더에 커밋하기 전에 비콘의 최종 확인을 기다려야 합니다.

이 과정에 많은 시간이 걸린다는 것은 어렵지 않다. 네 가지 통신 단계를 각각 완료하는 데 몇 분이 걸립니다. 불행하게도 우리는 기다림을 완전히 피할 수 없습니다. 원격 상태를 결정하려면 각 단계에서 최종 결과를 기다려야 합니다. 왕복 통신의 가장 좋은 경우는 4번의 최종 확인 주기입니다. 즉, 샤드 A가 보기 전에 사용자가 샤드 B의 데이터를 볼 수 있으므로 사용자는 세 번의 확인 주기 후에 자신감을 얻습니다. ETH2.0의 에포크 길이가 6.4분인 경우 사용자는 결과를 보려면 19분을 기다려야 하고 온체인 결과를 얻으려면 26분을 기다려야 합니다.

보조 제목

구체적인 영수증: 샤드 간 토큰 마이그레이션

ERC20 토큰의 다양성은 오늘날 이더리움에서 유비쿼터스하게 만듭니다. 그러나 ETH2.0은 또한 토큰에 몇 가지 논리적인 문제를 가져옵니다. 스마트 계약은 모든 토큰 잔액을 관리하고 스마트 계약은 단일 샤드에만 존재하기 때문입니다. 따라서 샤드 A의 토큰은 샤드 B에 전혀 존재하지 않습니다. 그러나 스마트한 교차 샤드 통신을 통해 동일한 토큰을 여러 샤드에 배포하고 샤드 간 토큰 전송을 허용하여 토큰 계약 간에 양방향 페그를 효과적으로 설정할 수 있습니다.

해결책은 매우 간단합니다.

각 샤드에 토큰 계약을 재배포해야 하지만 그만한 가치가 있는 것 같습니다. 마이그레이션은 단방향이며 샤드 간 통신에 대한 최종 확인이 최소 두 번 필요합니다. 따라서 수신 샤드에서 "CCT"를 사용할 수 있도록 MigrateSend를 호출한 후 약 10분이 걸립니다.

보조 제목

잡아당기기(끌어당기기)Yanking 영수증은 샤드 간에 정보를 전달하는 일반적인 방법입니다. 우리는 모든 온체인 정보를 영수증에 넣을 수 있으며 전체 스마트 계약도 포함할 수 있습니다.

이렇게 하면 하나의 스마트 계약이 다른 스마트 계약과 통신할 수 있습니다(교차 샤드 대기 시간 후). 그러나 영수증에는 전체 계약과 모든 스토리지가 포함되어 있기 때문에 대규모 또는 사용자 인기 계약을 이전하는 데 드는 비용이 높을 수 있습니다. 영수증이 전송 중이며 계약을 완전히 사용할 수 없습니다. 샤드 A에서 가져왔지만 아직 샤드 B에 도달하지 않았습니다. 이는 다른 모든 사용자가 샤드 B에 도달할 때까지 계약을 사용할 수 없음을 의미합니다. 동시에 이미 샤드 B에 있는 사용자만 상호 작용할 수 있습니다. 따라서 Yank는 사용자가 적은 소규모 스마트 계약에 가장 적합하며 긴밀하게 결합된 실행을 가능하게 하지만 일반적인 솔루션은 아닙니다.

보조 제목

샤드 페어링

좀 더 창의적인 빌드 아이디어로 넘어갑시다.

영수증은 비동기식(느슨하게 결합된) 통신이 가능하도록 설계되었습니다. 그러나 동기 통신이 필요할 수도 있습니다. 그러기 위해서는 더 창의적이어야 합니다. 단순한 디자인으로 샤드 페어링을 사용하면 번거로움을 최소화하면서 긴밀하게 결합된 실행이 가능합니다.

이 모델에서 A와 B 사이에 교차 체인 트랜잭션이 필요한 경우 A와 B가 무작위로 페어링될 때까지 기다려야 합니다. 그러나 Vitalik은 100가지 샤딩 사례를 설명합니다. 1024개의 샤드가 있고 512블록이 소요될 것으로 예상하므로 약 1시간이 소요될 것입니다. 그러나 페어링은 무작위이므로 더 길거나 더 짧아야 할 수 있습니다. Vitalik이 말했듯이 이것은 여러 샤드와 상호 작용하려는 경우 잘 확장되지 않습니다.

보조 제목

샤드 존

이것은 샤드 페어링의 더 넓은 버전입니다.

또한 영역은 유효성 검사기가 영역에 있는 모든 샤드의 상태를 알아야 하므로 샤딩의 많은 확장 이점을 무효화합니다. 지역이 16개의 샤드로 구성된 경우 확장 이점의 약 15/16(94%)을 희생하고 전체 네트워크의 긴밀하게 결합된 실행의 15/1024(1%)만 얻습니다.

보조 제목

부담크로스 샤드(및 크로스 체인) 통신의 명백하지 않은 속성은 사용자가 관련된 체인보다 더 빠르게 메시지에 대한 신뢰를 얻을 수 있다는 것입니다. 앨리스는 샤드 A에서 샤드 B로 5 BETH를 보냅니다. 이러한 자산은 보낸 후 즉시 도착할 것임을 알고 있습니다. Bob은 전송된 트랜잭션을 보고 BETH가 확인을 위해 샤드 A로 전송되면 샤드 B에 도달할 것임을 알고 있습니다. 그러나 샤드 B와 그 계약은 비콘 체인이 샤드 A의 승인을 완료할 때까지 몇 분을 기다려야 합니다. 즉, 샤드 A에 자금을 사용한 후 지갑은 해당 자금을 샤드 B에서 매우 빠르게 받고 사용할 수 있습니다. 즉, 밥은 앨리스가 충분한 ETH를 보냈다고 확신하기 때문에 샤드 B에 있는 앨리스의 지갑에서 실행 파일을 얻을 것입니다.차용 증서

그러나 스마트 계약에 적용하면 상태를 대체할 수 없기 때문에 이 솔루션이 복잡해집니다. 상태 저장 IOU는 구현이 불가능하므로 일반적인 상호 작용에 적합하지 않습니다. 우리는 부담을 느슨한 결합의 사용자 경험 개선으로 생각해야 합니다. 느슨한 결합을 허용하여 긴밀한 결합을 시뮬레이션하고 특정 트랜잭션을 빠르게 실행할 수 있습니다.

보조 제목

합의 및 상태 분리

실행 블록에 포함된 모든 상태만고쳐 쓰다고쳐 쓰다

그 후 Ethereum 광부와 전체 노드는 블록을 수락합니다. 하지만 사실은 그렇지 않습니다. 대신 먼저 블록을 수락한 다음 상태 업데이트를 수행할 수 있습니다. 이 경우 이더리움에서와 같이 시스템 상태에 대한 합의에 도달하는 대신 모든 샤드에 대한 모든 거래의 총 기록(또는 "총 주문")에 대한 합의에 도달할 것입니다.

첫 번째 레벨 제목

요약

요약

ETH2.0은 이더리움과는 완전히 다른 시스템이 될 것이며, 두 시스템은 서로 다른 기능 세트로 수년 동안 나란히 존재할 것입니다. 가까운 장래에 ETH에서 BETH로의 단방향 페그가 예상됩니다. 교환 또는 에스크로 서비스를 운영하는 경우 BETH가 체인으로 전송되기 전에 사용자가 BETH 에스크로 거래 및 베팅을 수행하도록 지원하는 것을 고려할 수 있습니다. 장기적으로 스마트 계약이 교차 샤드 통신을 사용하거나 사용하지 않고 샤딩에 적응할 수 있는 방법을 고려해야 합니다.

袁辉腾
作者文库