Devcon5 컨퍼런스에서 이더리움과 블록체인의 생태적 발전을 살펴봅니다.
편집자 주: 이 기사는 Wanxiang Blockchain(ID: gh_1b8639a25429), 저자: Wanxiang Blockchain Research Group에서 작성했으며 승인을 받아 게시되었습니다.
이 기사는 Wanxiang 블록체인 R&D 부서 연구팀이 Devcon5에 참가한 후 회의 내용을 일부 해석한 것입니다. Wanxiang 블록체인 R&D 부서의 연구 그룹은 기본 블록체인 기술의 연구 및 구현에 중점을 둔 Wanxiang 내의 팀입니다.
텍스트
텍스트
보조 제목
Ethereum1.X
작년 Devcon4에서 이더리움 핵심 개발자 및 애호가 그룹은 이더리움의 현재 문제에 대해 논의했습니다.그들은 모두 유사한 견해를 가지고 있었습니다: 점점 더 심각한 성능 병목 현상과 점유 저장 공간의 지속적인 증가로 인해 이더리움 메인넷이 변화를 추구하지 않고 , Ethereum의 사용성은 매우 나빠질 것입니다. 성능 저하의 원인은 주로 상태 데이터가 크고 증가하기 때문입니다. 주로 블록, 이벤트 로그(영수증) 및 상태 기록(현재 대부분의 클라이언트에서 삭제할 수 있음)을 유지해야 하기 때문에 저장소 요구 사항이 증가합니다.
결국 그들은 합의에 도달했습니다: 개선, 이더리움 메인넷을 개선해야 합니다!
그들은 또한 개선 계획에 "Ethereum1.x"라는 코드명을 부여했습니다. 이더리움 메인넷이 가까운 장래에 채택할 계획인 다양한 주요 업그레이드 및 업데이트가 포함되어 있습니다.
"Ethereum1.x"라는 코드네임 이니셔티브에는 다음이 포함됩니다.
1. tps 처리량을 증가시켜 메인 네트워크의 확장성을 개선합니다(클라이언트 최적화를 통해 블록의 가스 제한을 크게 증가시킵니다).
2. "스토리지 임대료"를 통해 디스크 공간에 대한 수요를 줄이고 제한하여 전체 노드의 지속 가능한 작동을 보장합니다. 구체적인 접근 방식은 계약 개발자와 사용자가 코드와 데이터를 무기한 저장하는 대신 시간이 지남에 따라 EVM2 스토리지 비용을 지불해야 하는 임대 모델을 설계하는 것입니다.
3. VM 업그레이드(eWASM 포함)를 통한 개발자 경험 개선.
이러한 목표와 계획을 달성하기 위해 Ethereum 핵심 개발 팀은 여러 작업 그룹을 구성했습니다.
1. 주 임대: 체인의 저장 점유를 제한하기 위해 저장 점유의 비용 모델을 설계합니다.
2. eWASM: 이더리움 Wasm 가상 머신;
3. 스토리지 가지치기: 클라이언트가 차지하는 스토리지 공간을 최적화합니다.
4. 시뮬레이션/시뮬레이션.
올해 Devcon5에서 이더리움 재단은 작년에 설립된 여러 작업 그룹을 소개했습니다.
1. EVM 진화: 성능, 보안 및 상호 운용성을 최적화합니다.
2. EIP 1559: 트랜잭션 비용을 보다 안정적이고 예측 가능하게 만드는 비용 모델 최적화.
3. 테스트/인프라: 새로운 도구를 사용하여 클라이언트가 서로 더 잘 호환되도록 테스트할 수 있습니다.
4. Finality 구성 요소: Ethereum2.0 비콘 체인을 사용하여 Ethereum1.0에서 생성된 블록을 마무리합니다.
어째서 이더리움 1.0과 2.0이 있는 거죠? Ethereum 1.x와 어떤 관련이 있습니까?
간단히 말해서 현재 이더리움의 메인넷은 Ethereum1.0이고, Ethereum1.x는 현재 메인넷의 개선안이며, Ethereum2.0은 Ethereum1.0과 독립적으로 개발된 체인입니다. Ethereum1.0은 2.0으로 전환됩니다.
보조 제목
Ethereum2.0
이더리움 2.0은 이더리움의 세레니티 버전으로, 방금 말씀드린 것처럼 이더리움 1.0과는 독립적으로 개발된 체인입니다. 그리고 작년 Devcon4 컨퍼런스에서 이더리움 2.0이 3~5년 이내에 기능적으로 이더리움 1.0을 대체하지 않을 것이라는 점을 분명히 했습니다.
Ethereum 2.0에는 Sharding(샤딩), Proof of Stake 합의 및 새로운 VM(예: eWASM)과 같은 일련의 업그레이드가 포함됩니다.
다섯 가지 주요 목표가 있습니다.
☆ 분산화: 일반 소비자용 노트북 컴퓨터가 O(C) 리소스를 사용하여 O(1) 프래그먼트(비콘 체인 등과 같은 시스템 수준 검증 포함)를 처리하고 검증할 수 있습니다.
☆ 탄력성: 메인 네트워크가 분할되거나 다수의 노드가 오프라인인 경우에도 시스템을 계속 사용할 수 있습니다.
☆ 보안(Security): 암호화 및 설계 기술을 사용하여 많은 수의 검증 노드가 시스템에 참여할 수 있도록 합니다(장단기적으로).
☆ 단순성(Simplicity): 성능에 약간의 손실이 있더라도 복잡성을 최소화합니다.
☆ 수명: 양자 안전 구성 요소를 선택하거나 가능한 경우 해당 양자 안전 구성 요소로 쉽게 교체하십시오.
이것은 큰 프로젝트이기 때문에 한 시점에 완료되지 않고 단계적으로 개발될 것입니다. 다음은 각 단계에 대한 간략한 설명과 달성할 계획입니다.
페이즈0 비콘 체인
Phase0은 비콘 체인의 시작입니다. 비콘 체인은 전체 시스템의 기초이며 자체 및 각 샤드체인의 캐스퍼 지분 증명 프로토콜을 관리하는 데 사용됩니다.
1. 검증 노드 및 해당 지분을 관리합니다.
2. 각 단계에서 각 샤드에 대한 블록 생산자를 지정합니다.
3. 검증 노드를 검증 위원회(committee)로 구성하여 제안된 블록에 투표합니다.
4. 합의 프로토콜을 실행합니다.
5. 검증 노드에 대한 보상 및 처벌
6. 앵커 포인트로서 각 샤드는 상태를 등록하여 샤드 간 트랜잭션 실행을 용이하게 합니다.
비콘 체인의 주요 데이터 로드는 샤드 블록에 대한 가용성 투표와 비콘 블록에 대한 PoS 투표를 포함하는 증명입니다.
Phase0은 Casper the Friendly Finality Gadget(FFG)을 사용하여 최종성을 달성합니다.
Phase0 동안 모든 사용자 거래 및 스마트 계약 계산은 Ethereum1.0에서 수행됩니다. Phase0이 완료되면 Ethereum1.0 체인과 Ethereum2.0 체인의 두 가지 체인이 동시에 있게 됩니다.
1단계 샤드체인(샤드체인)
샤드 블록체인은 트랜잭션을 병렬로 실행할 수 있기 때문에 미래 확장성의 핵심입니다. 1단계는 주로 샤딩된 블록체인에서 데이터의 구성, 유효성 및 일관성에 중점을 두지만 상태 실행 및 계정 잔액을 구현하지 않습니다. 1단계는 샤딩을 사용하여 확장하려는 시도보다 샤딩 구조의 시험 실행에 가깝습니다. 비콘 체인의 경우 샤딩된 블록을 구조화되거나 의미 있는 데이터가 아닌 비트 모음으로 취급합니다.
교차 링크는 일정 기간 동안 샤드(즉, 결합된 데이터 루트)의 현재 상태를 나타내기 위해 비콘 체인 블록에서 사용됩니다.
Crosslink는 샤드 블록체인의 최신 상태를 나타내는 샤드 체인의 검증 노드 위원회에 있는 블록의 효과적인 서명 세트이며 샤드 간 비동기 통신의 기반이기도 합니다.
2단계 상태 실행(State Execution)
2단계에서는 모든 관련 기능이 통합됩니다. 조각난 블록체인의 데이터는 더 이상 단순한 데이터 컨테이너가 아니라 구조화된 체인 데이터와 스마트 계약을 다시 도입합니다. 각 샤드는 eWASM 기반 VM, 지원 계정, 계약, 상태 데이터 등을 관리합니다.
State Rent가 2단계에 도입될 가능성이 매우 높으며 계약 개발자와 사용자는 eWASM 스토리지 비용을 지불합니다.
Phase3 및 후속 단계는 지속적으로 업데이트되고 있습니다.
관련 계획은 지속적으로 업데이트되고 있습니다. 자세한 내용은 다음을 참조하십시오.
보조 제목
이더리움 2.0의 임의성
이번 Devcon5 회의에서는 이더리움 2.0의 무작위성에 대한 몇 가지 토론 주제가 있습니다.
오늘날의 블록체인 시스템에서 시스템 무작위성 문제는 점점 더 많은 관심을 받고 있습니다.
이더리움 2.0은 PoS(Proof of Stake)와 샤딩 메커니즘을 결합한 합의 프로토콜을 채택하고 합의 위원회의 선택은 시스템에서 생성된 임의의 값에 따라 달라집니다. 따라서 체계의 보안은 시스템에서 생성된 임의의 값의 임의성과 관련성이 높습니다. 악의적인 공격자가 임의의 값 생성을 조작하거나 영향을 미칠 수 있으면 이 이점을 활용하여 합의 프로세스 중에 위원회에 선정될 가능성을 높이고 시스템 공격 비용을 줄이며 프로토콜의 보안을 위협할 수 있습니다. .
블록체인은 분산 응용 프로그램을 운반하기 위한 기본 플랫폼이며 체인에서 제공되는 보안 난수는 많은 응용 프로그램의 보안을 위한 중요한 보증이기도 합니다.
난수는 주로 Ethereum2.0의 다음 세 가지 링크에서 사용됩니다.
블록 제안자 선정
합의위원회 선정
체인 적용
안전한 임의성 알고리즘은 다음을 보장해야 합니다.
1. 공정성(편향되지 않음): 모든 참가자는 난수 생성 결과에 영향을 줄 수 없습니다.
2. 예측 불가능: 난수가 생성되기 전에는 참가자가 출력 결과를 미리 예측할 수 없습니다.
또한 분산 시스템의 내결함성을 충족하기 위해 시스템의 여러 노드가 작동을 중지하더라도 알고리즘이 계속 실행되도록 신뢰할 수 있는 임의성 알고리즘도 보장해야 합니다.
따라서 다음과 같은 안전한 임의성 알고리즘:
1. 블록 제안자 선택의 공정성을 보장하고 공격자가 사전에 제안자의 신원을 예측하고 DOS 공격을 시작하는 것을 방지합니다.
2. 위원회 선택 단계에서 공격자가 특정 위원회를 통제할 가능성을 줄입니다.
보조 제목
분산 무작위성 알고리즘 RANDAO
RANDAO는 여러 노드가 대화식으로 협상하여 일관된 보안 난수를 생성할 수 있는 간단한 분산 임의성 알고리즘입니다.
알고리즘은 두 단계로 구성됩니다.
커밋 단계(커밋)
공개 무대(공개)
커밋 단계에서 시스템의 모든 노드는 오프라인에서 특정 난수를 선택한 다음 난수에 대한 커밋을 RANDAO에 제출합니다.
공개 단계에서 각 참가자는 자신의 임의 값을 공개하겠다는 약속을 하고 모든 공개 난수에 대한 XOR 연산의 결과는 이번 합의에 의해 생성된 난수입니다.
그러나 RANDAO에도 결함이 있습니다.
1. RANDAO 프로토콜에 의해 생성된 난수는 예측할 수 없으며 기본 합의 프로토콜과 동일한 내결함성을 갖지만 여전히 공정성에 결함이 있습니다.
2. 프로토콜에서 공개 단계에서 최종적으로 임의 값을 발표하는 노드는 최종 생성된 임의 값에 영향을 줄 수 있습니다.
3. 특히, 악의적인 공격자는 네트워크의 다른 모든 노드가 선택한 난수를 게시하는 것을 확인한 후 자신의 난수를 기반으로 XOR 연산을 수행하고 장단점에 따라 자신의 난수를 게시할지 여부를 결정할 수 있습니다. 자신을 위한 결과.숫자.
4. 이를 통해 단일 공격자가 출력에 일정한 영향을 미칠 수 있으며 동시에 공격자가 제어하는 참가자 수가 증가함에 따라 이러한 유형의 공격의 파괴력도 증가합니다.
5. 블록체인 시스템의 경우 공격자가 난수 생성 프로세스에서 얻은 이점을 활용하면 시스템 공격에 필요한 비용이 줄어듭니다. 특히, 블록체인 시스템이 RANDAO와 가장 긴 체인 원칙을 합의 프로토콜로 채택하면 공격자는 전체 시스템을 제어하기 위해 서약(지분)의 36%만 소유하면 됩니다. (참고: 이 분석은 거물 Vitalik이 제공한 것입니다.)
보조 제목
VDF 기능
VDF는 일종의 수학 함수(Verifable Delay Function)로 다음과 같은 특징이 있습니다.
1. 계산에는 최소한 알려진 시간이 필요합니다.
2. 증명을 통해 함수 출력 결과의 정확성을 빠르게 검증할 수 있습니다.
VDF 기능의 계산 지연을 활용하여 RANDAO 프로토콜에서 최종적으로 임의의 값을 발표하는 노드는 최종 결과에 대한 영향력을 잃을 수 있습니다.
구체적으로, RANDAO 프로토콜의 공개 단계에서 모든 참여자가 발표한 랜덤 값은 더 이상 단순한 XOR 연산이 아니라 VDF 기능을 통해 최종 랜덤 값을 얻을 것으로 예상된다. 그러면 공격자는 최종 임의 값을 미리 계산할 수 없고 자신의 임의 값을 게시하는 것이 자신에게 어떤 이점이 있는지 판단할 수 없으므로 임의성 알고리즘의 공정성을 보장할 수 있습니다.
보조 제목
이더리움 1.0에서 2.0으로 전환
Ethereum1.0 체인에서 Ethereum2.0 체인으로 마이그레이션하려면 두 가지 중요한 요소를 고려해야 합니다. 첫째, 기존 에테르를 마이그레이션해야 하고, 둘째, 상태를 마이그레이션해야 합니다.
Phase0 이더리움 마이그레이션(Beacon Chain)
0단계에서 이더리움 1.0 체인의 사용자는 계약에서 이더를 잠그고 이더리움 2.0의 비콘 체인에서 동등한 양의 이더를 받을 수 있습니다. 그 후 그들은 ETH(32 ETH)를 스테이킹하여 검증자가 되고 Ethereum2.0 체인에서 검증 보상을 받기 시작할 수 있습니다.
1단계 상태 전환(샤딩)
1단계에서는 현재 Ethereum1.0 체인의 상태가 Ethereum2.0 체인의 샤드로 전송됩니다. Ethereum1.0 체인의 모든 정보를 Ethereum2.0 체인에서 사용할 수 있음이 보장됩니다. 1단계 이상은 현재 활발히 개발되고 있지 않습니다.
Phase2 스마트 컨트랙트
이 단계에서는 스마트 계약을 다시 도입하고 현재 EVM을 eWASM으로 대체할 계획입니다. 또한 Ethereum1.x에서 언급한 상태 임대 개념이 이 단계에서 구현될 수 있습니다.
3단계 오프체인 상태 저장소
3단계는 가능한 한 체인의 상태를 오프 체인으로 이전하여 체인의 상태를 최소화하려고 합니다. 3단계에서 오프체인 상태를 유지하고 검색하는 것은 dApp의 중요한 설계 제약이 될 것입니다.
4단계 단편화 계약
서로 다른 샤드에서 계약 간의 상호 작용을 실현합니다. 샤딩 컨트랙트의 상호운용성에 대한 현재 다양한 제안들 중 어느 것도 가장 어려운 단계 중 하나인 동기화 및 확장이라는 모순된 문제를 해결할 수 없는 것으로 보입니다.


