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

Vitalik의 긴 기사 검토: 이더리움 "여행하지 않은 경로"

吴说
特邀专栏作者
2022-03-30 10:34
이 기사는 약 5838자로, 전체를 읽는 데 약 9분이 소요됩니다
Ethereum의 가장 큰 도전은 두 가지 비전의 균형을 맞추는 데 있습니다.
AI 요약
펼치기
Ethereum의 가장 큰 도전은 두 가지 비전의 균형을 맞추는 데 있습니다.

원래 제목: "

원래 제목: "The roads not taken

Wu는 블록체인을 말했다Wu는 블록체인을 말했다

이더리움 개발 커뮤니티는 이더리움 초기에 프로젝트의 궤적에 큰 영향을 미친 많은 결정을 내렸습니다. 어떤 경우에는 이더리움 개발자들이 비트코인이 문제라고 생각했던 부분을 개선하기 위해 의식적으로 결정을 내렸습니다. 다른 곳에서 우리는 완전히 새로운 것을 만들고 있고 그 차이를 메울 무언가를 생각해 내야 하지만 선택할 수 있는 것이 많습니다. 더 복잡한 것과 더 단순한 것 사이에서 절충해야 할 곳도 있습니다. 때때로 우리는 더 단순한 것을 선택하지만 때로는 더 복잡한 것을 선택합니다.

보조 제목

더 간단한 PoS 메커니즘을 사용해야 합니까?

Ethereum이 통합하려는 Gasper PoS 메커니즘은 복잡한 시스템이지만 매우 강력한 시스템이기도 합니다. 일부 속성은 다음과 같습니다.

  • 매우 강력한 단일 블록 확인: 거래가 블록에 포함되면 일반적으로 몇 초 이내에 블록이 완료됩니다.

  • 경제적 완결성: 일단 블록이 완결되면 공격자가 수백만 ETH의 손실을 견디고 벌금을 물지 않는 한 되돌릴 수 없습니다.

  • 매우 예측 가능한 보상: 유효성 검사기는 매 에폭(6.4분)마다 안정적으로 보상을 받습니다.

  • 매우 많은 검증자 수 지원: 위의 속성을 가진 대부분의 다른 체인과 달리 Ethereum Beacon Chain은 수십만 명의 검증자를 지원합니다(예: Tendermint는 Ethereum보다 더 빠른 완결성을 제공하지만 수백 개의 검증자만 지원합니다).

그러나 이러한 속성을 가진 시스템을 만드는 것은 어렵습니다. 수년간의 연구, 수년간의 실패한 실험, 종종 많은 노력이 필요했으며 다소 복잡한 최종 결과가 나왔습니다.

우리 연구원들이 합의에 대해 그다지 걱정할 필요가 없고 생각할 시간이 더 많았다면 2016년에 롤업이 발명되었을 수도 있습니다. 이것은 우리가 PoS에 대해 그렇게 높은 기준을 요구해야 하는지 생각하게 합니다. 더 간단하고 약한 PoS도 PoW 현상 유지에 비해 크게 개선될 것이기 때문입니다.

많은 사람들이 PoS 자체가 복잡하다고 오해하고 있지만 실제로는 Satoshi PoW 합의만큼 간단한 PoS 알고리즘이 많이 있습니다. NXT의 PoS는 2013년부터 있었고 준비된 후보였을 것입니다. 몇 가지 문제가 있지만 이러한 문제는 쉽게 패치되며 2017년부터 또는 처음부터 합리적으로 실행 가능한 PoS를 가질 수 있습니다. Gasper는 이러한 알고리즘보다 훨씬 더 많은 작업을 수행하려고 하기 때문에 이러한 알고리즘보다 더 복잡합니다. 하지만 처음부터 너무 높은 목표를 세우지 않는다면 더 제한된 목표를 달성하는 데 집중하는 것으로 시작할 수 있습니다.

보조 제목

샤드 분해

이더리움 샤딩은 2014년 연구가 시작된 이후 점점 덜 복잡한 방향으로 나아가고 있습니다. 먼저 내장된 실행 및 교차 샤드 트랜잭션이 있는 복잡한 샤드가 있습니다. 그런 다음 사용자가 두 샤드에 대해 가스를 별도로 지불해야 하는 사용자에게 더 많은 책임을 이전하여 프로토콜을 단순화합니다. 그런 다음 다음으로 전환합니다. 프로토콜 관점에서 샤드가 데이터 샤드일 뿐인 롤업 중심 로드맵. 마지막으로 댄샤딩을 통해 샤드 수수료 시장을 전체적으로 병합하고 최종 설계는 비샤드 체인처럼 보이지만 여기서는 데이터 가용성 샘플링을 통해 샤드 검증을 가능하게 합니다.

하지만 반대의 길을 택한다면 어떨까요? 실제로 더 복잡한 샤딩 시스템을 탐구한 일부 이더리움 연구원이 있습니다. 샤드는 체인 역할을 하고, 하위 체인이 상위 체인에 의존하는 포크 ​​선택 규칙이 있으며, 교차 샤드 메시지는 프로토콜, 유효성 검사기에 의해 라우팅됩니다. 샤드 사이를 순환하며 DApp도 자동으로 샤드 간에 로드 밸런싱됩니다.

이 접근 방식의 문제는 이러한 형태의 샤딩이 주로 아이디어와 수학적 모델인 반면 Danksharding은 완전하고 거의 구현 가능한 사양이라는 것입니다. 따라서 이더리움의 상황과 한계를 감안할 때 샤딩 단순화와 명확성은 제 생각에 확실히 옳은 일입니다. 즉, 보다 야심 찬 연구는 또한 매우 중요한 역할을 합니다. 그것은 유망한 연구 방향을 식별하고 매우 복잡한 아이디어도 종종"합리적으로 간단"보조 제목

EVM에서 기능 선택

사실 보안 감사를 제외하면 EVM 사양은 기본적으로 2014년 중반에 출시될 수 있다. 그러나 이후 몇 달 동안 우리는 탈중앙화 블록체인에 진정으로 중요할 수 있다고 믿었던 새로운 기능을 계속해서 적극적으로 탐색했습니다. 일부 기능은 EVM에 추가되고 일부는 추가되지 않습니다.

  • POST opcode를 추가하는 것을 고려했지만 하지 않기로 결정했습니다. POST opcode는 비동기식 호출을 만들고 트랜잭션이 완료된 후 실행됩니다.

  • ALARM opcode를 추가하는 것을 고려했지만 하지 않기로 결정했습니다. ALARM은 POST와 같은 기능을 하지만 미래에 비동기식 호출을 수행하여 계약이 작업을 예약할 수 있도록 합니다.

  • 계약이 상태를 건드리지 않지만 DApp 인터페이스 및 지갑에서 해석할 수 있는 기록을 출력할 수 있는 로그를 추가했습니다. 우리는 또한 ETH 전송이 로그를 내보내는 것을 고려했지만 그렇게 하지 않기로 결정했다는 점은 주목할 가치가 있습니다."어쨌든 사람들은 곧 스마트 계약 지갑으로 전환할 것입니다."。

  • 우리는 바이트 배열을 지원하기 위해 SSTORE를 확장하는 것을 고려했지만 복잡성과 보안 문제로 인해 이를 거부했습니다.

  • 우리는 EVM에서 실행하는 것보다 훨씬 저렴하게 특수 암호화 작업을 수행하기 위해 기본 구현을 사용하는 계약인 사전 컴파일을 추가했습니다.

  • 라이브를 시작한 후 몇 달 동안 주 임대료에 대해 숙고했지만 포함되지 않았습니다. 너무 복잡합니다. 상태 비저장 유효성 검사 및 제안자/빌더 분리(PBS)로 인해 현재 우선 순위가 훨씬 낮지만 더 나은 상태 만료 체계가 현재 활발히 탐색되고 있습니다.

오늘날 기능을 추가하지 않기로 한 대부분의 결정은 매우 좋은 결정으로 판명되었습니다. POST opcode를 추가할 분명한 이유가 없습니다. ALARM opcode는 실제로 안전하게 구현하기 어렵습니다. 블록 1...9999에 있는 모든 사람이 ALARM을 설정하고 블록 100,000에서 많은 코드를 실행하면 어떻게 될까요? 해당 블록을 처리하는 데 몇 시간이 걸립니까? 일부 예약된 작업이 이후 블록으로 푸시됩니까? 그러나 그런 일이 발생하면 ALARM은 어떤 보증을 유지합니까? 바이트 배열의 SSTORE는 안전하게 수행하기 어렵고 최악의 경우 증인 크기를 크게 확장합니다.

보조 제목

LOG의 대안

LOG는 두 가지 방법으로 수행할 수 있습니다.

  • ETH 전송이 자동으로 LOG를 보내도록 할 수 있습니다. 이렇게 하면 거래소와 다른 많은 사용자가 많은 노력과 소프트웨어 버그 문제를 줄일 수 있고 스마트 계약 지갑의 채택을 도울 LOG에 대한 모든 사람의 의존도가 높아질 것입니다.

  • 우리는 LOG opcode 없이도 완전히 할 수 있으며 ERC로 바꿀 수 있습니다. submitLog 함수가 있는 표준 계약이 있을 것이며 이더리움 예금 계약 기술을 사용하여 블록에 있는 모든 로그의 Merkle 루트를 계산합니다. EIP-2929 또는 블록 전체 스토리지(TSTORE와 동일하지만 블록 이후에 지워짐)가 이를 더 저렴하게 만듭니다.

첫 번째 옵션을 강력하게 고려했지만 거부했습니다. 주된 이유는 로깅이 더 쉬운 LOG opcode에서만 발생하기 때문입니다. 우리는 또한 대부분의 사용자가 전송을 기록하기 위해 opcode를 명시적으로 사용할 수 있는 스마트 계약 지갑으로 빠르게 마이그레이션할 것이라고 매우 잘못 예상했습니다.

두 번째 옵션은 고려하지 않았지만 돌이켜 보면 실제로 옵션이었습니다. 두 번째 방법의 가장 큰 단점은 로그를 빠르게 스캔하기 위한 Bloom 필터 메커니즘(Bloom filter)이 없다는 것입니다. 그러나 Bloom 필터 메커니즘이 너무 느리고 DApp에 친숙하지 않은 것으로 밝혀져 이제 점점 더 많은 사람들이 쿼리에 TheGraph를 사용합니다.

전반적으로 이러한 접근 방식은 현상 유지보다 우월할 가능성이 있습니다. LOG에 없으면 작업이 더 간단해지지만 LOG에 있는 경우 모든 ETH 전송을 자동으로 기록하는 것이 더 유용할 것입니다.

보조 제목

현재 EVM이 완전히 다른 경로를 택했다면 어떻게 될까요?

처음에 EVM에는 선택할 수 있는 두 가지 매우 다른 경로가 있었습니다.

  • 변수, if 문, 루프 등과 같은 내장 구성을 사용하여 EVM을 고급 언어로 만듭니다.

  • EVM을 일부 기존 가상 머신(LLVM, WASM 등)의 복사본으로 만듭니다.

첫 번째 경로는 실제로 고려되지 않았습니다. 이 경로의 매력은 컴파일러를 더 간단하게 만들고 더 많은 개발자가 EVM에서 직접 코딩할 수 있다는 것입니다. 또한 ZK-EVM의 구조를 더 간단하게 만들 수 있습니다. 이 접근 방식의 약점은 EVM 코드를 구조적으로 더 복잡하게 만든다는 것입니다. 더 이상 단순한 opcode 목록이 아니라 어떻게든 저장해야 하는 더 복잡한 데이터 구조입니다. 즉, 우리는 두 세계의 장점을 모두 누릴 수 있는 기회를 놓쳤습니다. 일부 EVM 변경은 기본 EVM 구조를 변경하지 않고 유지하면서 많은 이점을 제공할 수 있습니다. -2315), 메모리 액세스는 32바이트 워드 경계에서만 허용됩니다.

두 번째 경로는 여러 번 제안되고 거부되었습니다. 이에 찬성하는 주장은 일반적으로 프로그램을 기존 언어(C, Rust 등)에서 EVM으로 컴파일할 수 있도록 허용한다는 것입니다. 반론은 항상 이더리움의 고유한 한계를 감안할 때 실제로 어떤 이점도 제공하지 않는다는 것이었습니다.

기존 고급 언어의 컴파일러는 종종 전체 코드 크기에 신경 쓰지 않는 반면, 블록체인 코드는 코드 크기의 모든 바이트를 줄이기 위해 크게 최적화되어야 합니다.

우리는 가상 머신의 여러 구현이 필요하며 두 가지 구현이 동일한 코드를 다르게 처리하지 않도록 엄격히 요구합니다. 우리가 작성하지 않은 코드에 대한 보안 감사 및 검증을 수행하기가 더 어렵습니다.

VM 사양이 변경되면 Ethereum은 항상 이에 따라 업데이트하거나 점점 더 동기화되지 않아야 합니다.

보조 제목

ETH 공급을 다르게 분배해야 합니까?

ETH의 현재 공급량은 Etherscan의 다음 그래프로 대략적으로 나타낼 수 있습니다.

 

현재 전체 ETH의 약 절반이 누구나 BTC를 비트코인 ​​주소로 보낼 수 있는 이더리움 퍼블릭 세일에서 판매되고 있으며 초기 ETH 공급 할당량은 오픈 소스 스크립트를 통해 계산됩니다. 나머지 대부분은 기본적으로 채굴되었습니다. 검은색으로 표시된 1,200만 ETH는 실제로 미리 채굴된 부분으로, 이더리움 재단과 이더리움 프로토콜의 초기 기여자 약 100명 사이에 분배된 금액입니다.

이 프로세스에 대한 두 가지 주요 비판이 있습니다.

  • 사전 채굴이나 공모를 담당하는 이더리움 펀드 어느 쪽도 신뢰할 수 있는 중립성을 갖고 있지 않습니다. 일부 수신자 주소는 폐쇄된 프로세스를 통해 수동으로 선택되며, 이더리움 재단은 더 많은 ETH를 얻기 위해 대출을 통한 공개 판매 수익금을 더 이상 활용하지 않도록 신뢰할 수 있어야 합니다(우리는 그렇지 않으며 아무도 우리가 가지고 있다고 주장하지 않지만 신뢰할 수 있는 요구 사항조차 불쾌함 어떤 사람들은).

  • 사전 채굴은 매우 초기 기여자에게 너무 많은 보상을 주며 이후 기여자에게는 너무 적게 남깁니다. 사전 채굴의 75%는 온라인에 접속하기 전에 기여자의 작업에 대한 보상으로 사용되며 온라인에 접속한 후 이더리움 재단에는 3백만 ETH만 남습니다. 6개월 동안 생존을 위한 판매 필요성으로 인해 재고가 약 100만 ETH로 줄었습니다.

어떤 면에서 이러한 문제는 관련이 있습니다. 중앙 집중화에 대한 인식을 최소화하려는 욕구는 더 작은 프리마인에 기여했지만 더 작은 프리마인은 더 빨리 소모됩니다.

이것이 유일한 해결책은 아닙니다. Zcash는 다른 접근 방식을 취합니다. 블록 보상의 고정 20%는 4년마다 재협상되는 프로토콜의 하드 코딩된 수신자 집합에 할당됩니다(지금까지 한 번 발생했습니다). 이것은 더 지속 가능할 것이지만 너무 중앙 집중화되었다는 이유로 더 가혹하게 비판받을 것입니다(Zcash 커뮤니티는 Ethereum 커뮤니티보다 더 공개적으로 더 많은 기술자 리더십을 포용하는 것 같습니다).

가능한 대체 경로는 오늘날 일부 DeFi 프로젝트에서 인기 있는 경로와 유사합니다."DAO from day 1"노선. 다음은 가능한 허수아비 제안입니다.

  • 우리는 각 블록 보상에서 2 ETH를 2년 동안 개발 기금에 할당하는 데 동의합니다.

  • 이더리움 퍼블릭 세일에서 ETH를 구매하는 사람은 누구나 선호하는 개발 자금 할당에 투표할 수 있습니다(예:"각 블록 보상에서 1ETH는 이더리움 재단에, 0.4ETH는 Consensys 연구팀에, 0.2ETH는 Vlad Zamfir에게...")

  • 투표된 수령인은 블록당 2ETH에 해당하는 총액에 대해 비례 배분된 각 사람 투표의 중간값과 동일한 개발 기금 지분을 얻습니다(중간값은 자기 거래를 방지하기 위한 것입니다. 귀하를 언급할 다른 구매자의 절반 이상).

퍼블릭 세일은 ETH 개발 기금과 동일한 비율로 퍼블릭 세일 중에 받은 비트코인을 배포하겠다고 약속하는 법인에 의해 운영될 수 있습니다. 이것은 이더리움 재단을 위한 많은 자금 조달과 비이더리움 재단 그룹을 위한 많은 자금 조달로 이어질 수 있습니다(생태계의 더 많은 탈중앙화로 이어짐). 물론 주요 단점은 토큰 투표가 정말 형편없다는 것입니다. 하지만 실용적으로 우리는 2014년이 아직 이르고 이상적인 시기이며 토큰 투표의 최악의 단점은 퍼블릭 세일이 끝난 후 오랫동안 작동하기 시작할 것이라는 점을 깨달을 수 있습니다.

보조 제목

이 모든 것에서 무엇을 배울 수 있습니까?

일반적으로 이더리움의 가장 큰 도전은 두 가지 비전, 즉 보안과 단순성을 중시하는 블록체인과 고급 애플리케이션을 구축하기 위한 고성능 및 기능적 플랫폼의 균형을 맞추는 데 있다고 생각합니다. 위의 많은 예는 단지 하나의 측면일 뿐입니다. 우리는 기능이 적은 비트코인과 비슷합니까, 아니면 더 많은 기능으로 개발자 친화적입니까? 우리는 개발 자금을 비트코인과 같이 중립적으로 만드는 것에 대해 걱정하고 있습니까, 아니면 처음부터 이더리움을 더 좋게 만들기 위해 개발자들이 충분한 보상을 받는지 확인하는 것에 대해 걱정하고 있습니까?

제 개인적인 꿈은 두 가지 비전을 동시에 달성하는 것입니다. 매년 사양이 전년도보다 작아지는 베이스 레이어와 레이어 2 프로토콜을 중심으로 한 고급 애플리케이션의 강력한 개발자 친화적 에코시스템. 즉, 그러한 이상적인 세계에 도달하는 데는 오랜 시간이 걸릴 것이며, 여기에는 시간이 걸릴 것이라는 점과 경로 계획을 단계적으로 고려해야 한다는 점을 더 명확하게 깨닫는 것이 우리에게 큰 도움이 될 수 있습니다.

오늘날에는 변경할 수 없는 것이 많지만 여전히 변경할 수 있는 것도 많이 있으며 기능과 단순성을 개선할 수 있는 확실한 경로가 여전히 있습니다. 때로는 경로가 구불구불합니다. 먼저 샤딩을 활성화하기 위해 약간의 복잡성을 추가해야 합니다. 그러면 그 위에 많은 레이어 2 확장성이 가능해집니다. 즉, 복잡성을 줄이는 것이 가능하며 이더리움의 역사는 이를 입증했습니다.

  • EIP-150은 호출 스택 깊이 제한을 무의미하게 만들어 계약 개발자의 보안 문제를 줄입니다.

  • EIP-161은 필드가 0인 계정에서 "null 계정"의 개념을 구분합니다.

  • EIP-3529는 일부 환불 메커니즘을 제거하여 Gas 토큰을 더 이상 사용할 수 없게 만듭니다.

Verkle 트리와 같은 파이프라인의 아이디어는 복잡성을 더욱 줄입니다. 그러나 앞으로 이 두 가지 비전의 균형을 어떻게 더 잘 잡을 것인가는 우리가 좀 더 적극적으로 생각해야 할 문제입니다.

ETH
Vitalik
설립자
Odaily 공식 커뮤니티에 가입하세요