Ethereum 2.0을 이해하려면 먼저 Ethereum 2.0의 핵심 설계 원칙을 이해해야 합니다.
Ethereum Technology Application Conference가 오늘 베이징에서 개최되었습니다.V God, Ethereum Foundation의 핵심 구성원, Ethereum DAPP 개발자 및 기타 주요 게스트가 모여 Ethereum 2.0에 중점을 두었습니다.
대중들도 이더리움 2.0의 진행 상황에 대해 대체로 우려하고 있는데, V God은 컨퍼런스에서 "Ethereum 2.0 Cross-shard Transactions"라는 제목의 연설을 했습니다.
이미 이더리움 2.0의 로드맵, 연구제안, 개발현황에 대해 논의한 글은 많지만 이더리움 2.0의 내부 운영 이면에 있는 설계 원칙과 불변성에 대한 글은 많지 않다. 2.0.
저자 소개: Raul Jordan, Raul Jordan은 Prysmatic Labs의 공동 창립자이자 zk Capital의 파트너이기도 합니다.하버드를 졸업했으며 블록체인 엔지니어이자 Ethereum 개발자입니다.Prysmatic Labs 샤딩 기술 개발에 주력하고 있습니다.
많은 기사에서 이더리움 2.0의 로드맵, 연구 제안 및 현재 상태에 대해 논의합니다. 그러나 내부 작동 이면의 설계 원칙과 불변성에 대해 공개적으로 작성된 글은 많지 않습니다. 명확한 불변량 세트를 갖는 것은 이 조정된 다년간의 노력의 성공에 매우 중요하며 구현자가 이더리움 철학에 대해 생각하게 합니다.
보조 제목
1. 연혁
이더리움 네트워크가 탄생한 이래 이더리움을 PoW에서 PoS로 전환하려는 시도는 큰 진전이었습니다. 당시 Vitalik Buterin은 미성숙한 PoS의 결함을 방지하고 PoW보다 더 강력한 보안을 제공하기 위해 실행 가능한 솔루션을 모색하고 있었습니다.
특히 그와 이더리움 연구 그룹은 PoS에서 악의적인 행위자를 처벌하고 전체 담보를 삭감하기 위해 슬래셔라는 메커니즘을 고안했습니다(Buterin 2014).
나중에 수학자 Vlad Zamfir가 프로젝트에 합류했으며 2014년 대부분은 소위 PoS에 대한 원격 공격을 해결하는 데 집중했습니다.
원격 공격은 공격자가 네트워크의 다른 사람들에게 새로운 표준 상태를 확신시키기 위해 현재 표준 블록체인보다 더 긴 전체 체인을 처음부터 새로 만들 수 있을 때 발생합니다.
이는 많은 복합 컴퓨팅 성능이 필요하기 때문에 PoW에서 수행하는 것이 거의 불가능합니다. 그러나 PoS는 계산 능력에 의존하지 않으므로 이러한 공격에 무너집니다(Zamfir 2014).
Vitalik과 Vlad 모두 동의합니다. "클라이언트가 특정 체크포인트보다 오래된 체인을 동기화하는 것을 엄격히 방지"하는 것 외에는 실행 가능한 원격 공격 솔루션이 없습니다(Buterin 2015).
즉, 제네시스 블록에서 체인을 동기화하는 대신 네트워크의 새 노드가 가장 최근의 "체크포인트"에서 네트워크의 다른 최종 노드와 동기화하기만 하면 됩니다.
즉, 새 노드가 네트워크에 가입하면 이전 노드에 대한 고유한 신뢰가 있습니다. 이 현상은 나중에 PoS의 약한 주관성으로 언급되었습니다.새로운 노드가 합류하면 네트워크 참여자 사이에 "완성된" "돌이킬 수 없는" 블록이 존재한다는 주관적인 신뢰가 있습니다(Buterin 2018).
이 기간 동안 이더리움 재단의 Vitalik과 Virgil Griffith는 ArXiV에 대한 Casper PoS 백서의 초기 버전을 게시하는 작업을 했습니다(Buterin and Griffith 2015).
하지만,
하지만,보조 제목
2. ETH 2.0을 선택하는 이유는 무엇입니까?
이 기사는 "Ethereum 2.0을 사용하는 이유"라는 핵심 질문 뒤에 있는 설계 근거를 설명합니다.
물론 기존 시스템의 합의 프로토콜과 데이터 무결성에 대한 철저한 검증은 하드포크를 통해 쉽게 이루어질 수 없다——단순히 처음부터 새로운 시스템을 만들고 이더리움 1.0을 완전히 버리는 것이 더 쉽지 않을까요?
ETH 2.0을 구축할 때 우리가 직면한 문제 중 하나는 이 문제에 대해 커뮤니티를 교육하고 ETH 2.0으로의 전환 뒤에 있는 큰 관심과 필요성을 명확하게 이해해야 할 필요성이었습니다.
이 패러다임 변화에 따른 막대한 책임을 이해하면서 ETH 2.0을 구축하기에 지금보다 더 좋은 때는 없었습니다. 좋든 싫든 암호화폐 산업은 아직 초기 단계에 있으며 오늘날 우리가 내리는 결정은 수년에 걸쳐 성장과 채택을 가속화하는 복합적인 효과를 가질 것입니다.
보조 제목
3. 미래에 도전하라
경험이 부족한 레이어 1 확장은 막대한 보안 비용을 초래할 수 있습니다. 블록체인을 샤딩하면 현재 비트코인 및 이더리움 체인과 마찬가지로 글로벌 트랜잭션 검증이 방지됩니다.
핵심 질문은 탈중앙화나 보안을 희생하지 않고 어떻게 확장성을 달성할 수 있는가 하는 것입니다. 많은 경쟁 체인은 이 문제를 해결하기 위한 수단으로 중앙 집중식 경로를 찾는 것을 목표로 합니다.
Ethereum은 다른 접근 방식을 선택합니다.네트워크 상태를 동종 블록체인 세트를 나타내는 1024개의 샤드로 나누십시오. 각 샤드는 비콘 체인이라고 하는 단일 루트 체인으로 조정됩니다. 비콘 체인은 위임 및 중앙 집중식 투표권 없이 전체 Casper PoS에서 실행됩니다.
이 방법에서는각 노드는 네트워크에서 발생하는 트랜잭션의 일부만을 담당하며 많은 블록이 병렬로 발생하여 전체 네트워크 처리량을 선형적으로 증가시킬 수 있습니다.
이 솔루션은 다음 질문에 답하는 것을 목표로 합니다.
트랜잭션이 전체적으로 검증되지 않은 경우 네트워크의 보안 프로필은 어떻게 변경됩니까? 카르텔 형성을 방지하면서 검증 참가자를 선택하는 방법은 무엇입니까? 데이터 가용성을 극대화하고 적극적인 참여를 장려하기 위해 어떻게 인센티브를 설계할 수 있습니까?
트레이드 오프에 대한 수년간의 연구, 탐색 및 이해 끝에 Ethereum은 합의 알고리즘으로 PoS를 찾았습니다. 앞서 언급했듯이 보상은 결정론적입니다.유효성을 검사하는 개체는 프로토콜에서 동일한 처리, 위원회 참여 확률 및 보상/처벌이 동일합니다.
글로벌 트랜잭션 검증은 간접 검증이 됩니다. 각 샤드 체인의 모든 트랜잭션은 먼저 해당 샤드의 유효성 검사기에 의해 확인되고,보조 제목
4. 설계 불변량
프로토콜 설계의 핵심 기둥은 프로토콜이 작동하는 불변성을 이해하는 것입니다.Ethereum과 개발자 커뮤니티의 경우 협상할 수 없는 디자인 결정 목록을 갖는 것이 프로젝트의 미래에 매우 중요합니다.
ETH 2.0의 핵심을 다음과 같이 나눌 수 있습니다.
1. 네트워크 참여는 허가가 없어야 합니다.
2. 계층 1은 해당 범위 내에서 간결하고 추상적이며 간결해야 합니다.
3. 프로토콜은 향후 사용을 가정하기보다는 가능한 한 표현력이 있어야 합니다.
4. 네트워크는 재난 시나리오에서 효율적으로 복구할 수 있도록 탄력적이어야 합니다.
5. 애플리케이션 개발 복잡성에서 프로토콜 복잡성을 분리합니다.
1. 권한이 필요하지 않습니다.
이더리움 2.0과 다른 "차세대" 블록체인의 눈에 띄는 차이점은 합의 참여가 결정되는 방식입니다. 유효성 검사기에 대한 Ethereum 2.0의 유일한 요구 사항은 32 ETH를 보유하는 것입니다.
프록시도 없고 검증인을 선택하기 위한 투표도 없으며 참여자를 결정하는 중앙 집중식 헌법도 없습니다. 더 중요한 것은 이더리움 2.0의 유효성 검사기는 모두 동등하게 취급됩니다. 각 엔터티가 참여하기 위한 엄격한 요구 사항은 32 ETH입니다.
그러나 모든 개인은 여러 유효성 검사기 ID를 가질 수 있습니다. 이것은 단순히 합의 프로토콜의 보안과 소형화를 단순화하기 위한 결정이었습니다. 인센티브 설계 관점에서 그리고 공식 모델링 목적을 위해 투표를 통해 블록을 검증할 때 모든 참가자를 동등하게 대우하는 것이 중요합니다.
검증인 1명 = 32 ETH 스테이킹, 그 이상은 안 됩니다. 다른 체인은 검증에 보다 중앙 집중화된 접근 방식을 채택하여 확장성 문제를 해결하는 것을 목표로 합니다. 그러나 Ethereum의 경우 이 옵션은 고려되지 않습니다.
2. 간결하지만 가장 표현력이 풍부합니다.
Ethereum 2.0은 핵심 정의 및 실현 목표에서 단순성과 소형화를 위해 노력합니다. 기본적으로 분산 응용 프로그램을 구축하기 위한 확장 가능하고 무허가 플랫폼입니다.
이더리움 2.0에는 애플리케이션 로직을 도입할 필요가 없으며 그럴만한 이유가 있습니다. Ethereum 2.0 시스템을 간소화된 Linux 커널과 비교할 수 있습니다. 포함할 기능이나 가상 사용 사례를 결정하는 것은 운영 체제가 아니라 커널용 애플리케이션을 구축하는 개발자입니다.
"의도 추정" 관행은 제한적입니다. "우리에게는 어떤 기능도 없다"는 오래된 이더리움 속담은 이더리움 2.0에도 적용됩니다.
3. 안전 확보
Casper the Friendly Finality Gadget으로도 알려진 이더리움 2.0의 PoS 모델은 높은 활동과 네트워크 참여를 유지하도록 설계된 일련의 인센티브에 따라 운영됩니다.
Ethereum 2.0은 Casper를 확장하여 속성을 활용하여 샤딩된 블록체인 네트워크를 보호합니다. 즉, 이더리움 2.0은 시스템의 1024개 샤드가 비콘 체인과 동일한 보안 풀을 공유하도록 "체인 최종성 임계값" 개념을 사용합니다.
PoS의 핵심 전제는 검증자가 예상대로 지정된 작업을 수행한 것에 대해 보상을 받고, 오프라인 상태에서 지분을 잃거나, 프로토콜을 악의적으로 위반한 경우 심각한 처벌(지분 몰수)에 직면한다는 것입니다.
전제는 간단하지만 차이를 만드는 것은 세부 사항입니다. 캐스퍼의 경제학은 각 검증인의 행동뿐만 아니라 전체 검증인 위원회를 고려해야 한다는 사실을 깨닫고 나면 빠르게 더 복잡해집니다.
일반적으로 PoS 체인에 대한 열린 질문은 행동을 처벌해야 하는 시기와 특정 유효성 검사기 작업의 심각도에 따라 다르게 처벌하는 방법입니다. 즉 말하자면,우리는 간결함을 유지하면서 모든 극단적인 경우를 다룰 수 있을 만큼 충분히 포괄적인 페널티를 찾아야 합니다.
프로토콜이 유효성 검사기 활동에 의존하고 런타임의 지속적인 관찰에 의존한다는 점을 감안할 때 정직한 유효성 검사기가 참여할 수 없는 상황이 있을 수 있습니다. 정직한 검증인은 정전, 네트워크 불안정 또는 기타 요인으로 인해 오프라인 상태가 될 수 있지만오프라인 처벌과 악의적인 행위에 대한 처벌 사이에는 명확한 구분이 필요합니다.
Ethereum 2.0의 설계 근거 중 일부는 공격자가 프로토콜을 위반하려는 모든 시도에 대해 막대한 대가를 지불한다는 것입니다. 즉, 다른 체인에서 자주 발생하는 51% 공격은 이더리움 2.0에서 비용이 많이 들고 결과적으로 역효과를 낼 수도 있습니다.
즉, 명시적 완결성이 있는 프로토콜에서 "반전 완결성 의지"는 공격자가 정직한 유효성 검사자에게 명백하게 만들어 커뮤니티가 소프트 포크를 조정하여 악의적인 행위자를 제거하고 공격을 무효화할 수 있도록 합니다.
물론 공격이 성공하고 이 커뮤니티 조정이 실패하더라도 공격자의 유일한 목적이 시스템을 교란시켜 큰 피해를 입히는 것이라면 시스템의 무결성이 저하됩니다.
PoS 기반 시스템의 또 다른 제한은 유효성 검사기의 딜레마입니다. 즉, 시스템의 유효성 검사기는 게으르고 프로토콜의 다른 사람들이 올바르게 작업을 수행하고 있다고 믿기 때문에 뉴스 유효성 검사에 대한 책임이 있는지 확인하지 않습니다.
보조 제목
5. Ethereum 2.0의 유효성 검사기 인센티브
Ethereum 2.0에 대한 유효성 검사기 인센티브는 다음과 같습니다.
1. 검증자가 오프라인 상태임: 2차 누출
Ethereum 2.0은 비잔틴 내결함성 임계값에 의존합니다.네트워크에 있는 검증자의 2/3가 정직한 참여자임을 보장해야 합니다.검증에 참여하지 않는 검증자에 대한 페널티를 "비활성 누출"이라고 합니다.
체인이 4 에폭 이상 완료되지 않은 경우 프로토콜은 유효성 검사기 보상에 대해 가능한 한 엄격합니다. 즉, 최대 기대 보상이 0이 되므로 검증인은 완벽하게 행동하거나 더 많은 페널티를 받아야 합니다.
페널티의 크기는 유효성 검사기가 오프라인이 되는 것을 방지하기 위해 체인이 최종성을 달성한 마지막 시간 이후의 시간에 비례합니다.
이 페널티는 특정 유효성 검사기가 오프라인 상태인 시간이 길어질수록 기하급수적으로 증가하며 이를 "2차 누출"이라고 합니다.이 페널티가 관련된 이유는 짧은 시간 동안 오프라인 상태에 있는 것에 대해 페널티를 부과하지 않기를 바라지만 예상되는 실제 동작을 고려할 때 오랜 시간 동안 오프라인 상태에 있으면 상당한 단점이 있습니다.
이 페널티로 손실된 자금은 파괴되며 정직한 검증자에게 재분배되지 않습니다.
2. 고의적 악의적 행위: 몰수
이더리움 PoS에 대한 초기 제안에서 악의적인 검증인은 슬래싱(slashing)이라고 하는 대규모로 처벌될 것이며 일반적으로 이러한 메커니즘은 개별 악의적인 검증인의 처벌에 대해서만 논의하고 검증인 공모의 심각성에 대해서는 논의하지 않습니다. 대다수의 유효성 검사기가 협력하여 네트워크를 악의적으로 공격하면 네트워크가 영향을 받습니다.
비잔틴 내결함성(Byzantine Fault Tolerance)에 따르면 악의적인 행위자에 대한 처벌은 특정 시간 간격 내에 악의적으로 행동하는 검증자 수의 3배가 될 것입니다. 이렇게 하면 대규모 공동 공격을 처벌하고 악의적인 유효성 검사기 풀이 생성되는 것을 방지할 수 있습니다.
즉, 네트워크에 대한 집계 공격을 수행하는 것은 악의적인 검증자에게 유리하고 일반 검증자에게는 불리합니다.삭감은 보고 메커니즘을 통해 수행되며, 삭감될 수 있는 다른 검증자의 불법 행위를 발견하도록 검증자에게 인센티브를 제공합니다.
3. 검증자 보상
Vitalik의 Ethereum Serenity Design Principles를 기반으로 그는 에포크당 유효성 검사기 기본 보상의 4가지 특정 구성 요소를 설명합니다.
1. 정확한 에포크 체크포인트 결정을 증명하여 얻은 보상의 1/4
2. 올바른 체인 헤드를 결정하기 위한 증명을 통해 얻은 보상의 1/4;
3. 해당 블록이 체인에 빠르게 진입할 수 있음을 증명하여 얻은 보상의 1/4;
4. 올바른 샤드 블록을 결정하기 위한 증명을 통해 얻은 보상의 1/4;
보조 제목
6. 프로그램 복잡성과 프로토콜 복잡성 분리
"Ethereum 2.0 로드맵은 벅차다"라는 말은 정확하지 않습니다. 왜냐하면 Ethereum 2.0은 가장 야심차고 다년간의 계획 중 하나일 수 있기 때문에 업계에서 가장 좋은 교훈을 얻고 우아한 방법을 만들 수 있기 때문입니다. trilemma 그리고 그것은 무한정 실행할 수 있습니다.
샤딩이 개발자 경험을 크게 저하시킬 수 있는 방법에 대해 많은 논의가 있었습니다. 매우 복잡한 샤딩 시스템이 서로 상호 작용(크로스 샤드 트랜잭션)해야 하기 때문에 이더리움 2.0 프로토콜 내부 노드 내에서 애플리케이션 개발자의 요구 사항을 분리하는 것이 매우 어렵다는 근거가 있습니다.
언뜻 보기에 이더리움 2.0은 겉보기에는 위협적으로 보이며, 이더리움 2.0에서 스마트 계약이 어떻게 실행될지는 아직 명확하지 않습니다. 그러나 진실은 더 미묘합니다.
애플리케이션 개발자는 Ethereum 2.0 프로토콜의 일부만 알면 됩니다. 평균적인 스마트 계약 개발자는 유효성 검사기 레지스트리 또는 비콘 체인 터미널 가젯의 내부를 이해할 필요가 없습니다.
따라서 단계 0은 애플리케이션 계층에서 완전히 제거됩니다. 최근 1단계와 2단계에서도 이더리움 2.0을 더욱 강력하고 간결하게 만들기 위해 실행 환경의 추상화 수준을 높이는 것을 옹호하는 매우 강력한 제안을 제시했습니다.
최악의 경우 지갑/앱 개발자는 몇 가지 트릭을 통해 즉각적인 트랜잭션 결제를 보여주기 위해 크로스 샤드 트랜잭션의 특정 세부 정보를 알아야 합니다. 오늘날의 컴퓨터 운영 체제와 내부 장치는 10년 전보다 훨씬 더 복잡하지만 대부분의 응용 프로그램 개발자는 강력한 컴퓨터를 구성하는 숨겨진 내부 구조를 이해할 필요가 없습니다.
보조 제목
7. 실제 컴퓨터 구축
대체로 Ethereum은 Turing-complete입니다. 즉, 느린 단일 스레드 컴퓨터임에도 불구하고 오늘날의 컴퓨터처럼 상상할 수 있는 모든 유형의 코드를 실행할 수 있습니다.
오늘날의 이더리움은 초기의 약한 프로세서와 유사합니다. 오늘날 이더리움에서 애플리케이션을 실행하는 것은 프로토콜에 공공 시설을 괴롭히는 공유지의 비극을 방지하기 위한 메커니즘이 있기 때문에 비용이 많이 듭니다.
이더리움의 활기찬 개발자 커뮤니티는 코어 레이어든 레이어 2이든 현재 네트워크를 개선하기 위해 혁신을 멈추지 않았습니다. 그러나 향후 계획된 업그레이드는 거버넌스 관점에서 문제가 있고 고통스러울 수 있습니다.
이더리움 2.0이 출시된 지 몇 년 후 우리가 제약을 느끼고 이더리움 3.0을 구축하고 싶다면 전자의 핵심 설계에 실패했음을 의미합니다.
업그레이드 가능성은 위험한 하드 포크가 필요하지 않은 방식으로 프로토콜에 포함되어야 합니다. 즉, 레이어 1 혁신은 시스템이 오랫동안 운영되면 최소이거나 0에 가까워야 합니다.
우리는 갈 길이 멀지만 우리가 이 소프트웨어를 만드는 이유와 10년 후 더 강력한 것을 작성하고 시간 코드의 테스트를 견디기 위해 이 소프트웨어가 어디로 가고 싶은지 상기시키기 위해 주의를 기울입니다. .
-END-
면책 조항: 이 기사는 저자의 독립적인 의견이며 Blockchain Institute(공개 계정)의 입장을 대변하지 않으며 투자 의견이나 제안을 구성하지 않습니다.
면책 조항: 이 기사는 저자의 독립적인 의견이며 Blockchain Institute(공개 계정)의 입장을 대변하지 않으며 투자 의견이나 제안을 구성하지 않습니다.
출처: https://www.tokendaily.co/blog/design-principles-of-ethereum-2-0


