Vitalik: 단일 슬롯에서 마무리를 달성하려는 이유는 무엇입니까?
저자: 비탈릭 부테린
Justin Drake, Dankrad Feist, Alex Obadia, Hasu 및 이 게시물의 다양한 버전에 대한 피드백과 의견에 대해 특별히 감사드립니다.
현재 (비콘 체인) 이더리움 블록은 완결을 달성하는 데 64-95개의 슬롯(약 15분)이 걸립니다. 탈중앙화/종료 시간/비용 트레이드 오프 곡선에서 어떤 차원에서도 나쁘지 않은 중간 길이 트레이드 오프를 선택하는 것이 합리적입니다. 15분은 너무 길지 않으며 이는 현재의 확인 시간과 비슷합니다 이를 통해 사용자는 32 ETH(이전 요구 사항인 1500 ETH 대신)를 스테이킹한 다수의 검증인이 있는 경우에도 일반 컴퓨터에서 노드를 실행할 수 있습니다. 그러나 최종화 시간을 단일 슬롯으로 줄이는 것에 대한 좋은 주장이 많이 있습니다. 이 문서는 이를 수행하기 위한 몇 가지 가능한 전략을 평가하는 연구 게시물입니다.
01. 현재 이더리움 스테이킹이 작동하는 방식과 이유
현재 약 285,000명의 검증인이 있으며 이들 계정은 32 ETH를 예치하여 이더리움 스테이킹에 참여할 수 있습니다. 유효성 검사기의 수는 실제로 스테이킹에 참여하는 사용자(스테이커)의 수와 정확히 일치하지 않습니다. 일부 부유한 스테이커는 수백 명의 유효성 검사기를 제어할 수 있습니다. 32 ETH의 최소 지분 요구 사항은 가능한 유효성 검사기 계정의 수를 제한하여 Ethereum 체인이 여전히 이러한 계정을 처리할 수 있는 컴퓨팅 성능을 갖도록 합니다.
모든 슬롯(12초)마다 새 블록이 체인에 추가됩니다. 각 슬롯에는 (비콘 체인) 체인 헤드에 투표하는 데 사용되는 수천 개의 증명(검증자가 제출)도 있습니다. 체인의 헤드를 결정하기 위해 이러한 증명을 입력으로 사용하는 LMD GHOST라는 포크 선택 규칙이 있습니다. 수천 개의 증명에 의한 이 병렬 투표는 이더리움을 기존의 가장 긴 체인 시스템보다 훨씬 더 강력하게 만듭니다: 능동적인 공격이나 주요 네트워크 오류를 방지하면 단일 슬롯도 거의 항상 사용할 수 없습니다.
이러한 증명은 두 번째 목적으로도 사용됩니다. Casper FFG라는 대규모 합의 알고리즘에서 투표 역할을 합니다. 모든 에포크(32 슬롯마다 에포크라고 함, 약 6.4분), 모든 활성 검증자는 증명할 기회가 있습니다. 두 라운드 후에 모든 것이 순조롭게 진행되면 이전 에포크(및 그 안에 있는 모든 블록)가 마무리됩니다. 블록이 완료되면 해당 블록을 되돌리려면 모든 유효성 검사기의 최소 1/3이 예치금(지분)을 파괴해야 합니다. 공격 비용은 3백만 ETH 이상입니다.
검열 공격에 저항하려면 추가 프로토콜 개입이 필요하지만 검증자 또는 거래를 지속적으로 검열하는 것도 비용이 많이 듭니다. 검증인의 51%가 검열(검증인 또는 트랜잭션)을 시작하면 피해자와 사용자는 서로의 블록을 기반으로 구축하고 공격자를 무시하는 소수 소프트 포크를 조정할 수 있습니다. 이 소수의 소프트 포크에서 공격자의 예치금은 비활성 유출로 인해 수백만 ETH를 잃을 것이며 체인은 몇 주 안에 마무리를 재개할 것입니다.
02. 왜 하나의 슬롯에서 파이널라이즈를 달성하려고 합니까?
현상 유지를 변경하고 단일 슬롯에 대한 완료 시간을 단축하십시오. 여기에는 몇 가지 주요 이유가 있습니다.
사용자 경험.대부분의 사용자는 완료를 위해 15분을 기다리기를 원하지 않습니다. 오늘날 거래소에서도 12-20번의 확인(약 3-5분) 후에 사용자 예치금이 "완료"된 것으로 간주하는 경우가 많지만(진정한 PoS 완료와 비교할 때) 12-20개의 PoW 확인은 덜 안전합니다. 단일 슬롯의 마무리는 사용자가 점점 익숙해지는 속도를 충족함과 동시에 매우 높은 수준의 보안을 제공합니다.
항-MEV 재조합.이 기사이 기사, 이 주장에 대한 자세한 설명을 보려면.
프로토콜 복잡성과 버그를 줄일 수 있는 기회.보조 제목
아이디어 1: "슈퍼 위원회"를 통해 단일 슬롯의 확정 실현
Casper FFG 합의의 각 라운드에 모든 검증인이 참여하는 것이 아니라 수천 명의 검증인으로 구성된 중간 규모의 슈퍼 위원회(Medium-sized Super-committee)만이 참여하여 각 라운드의 합의가 하나의 슬롯에 발생하도록 합니다. 관련 기술 아이디어는 이 문서의 첫 번째 항목입니다.etheresearch.ch 게시물에 소개됩니다.
이 게시물에서는 아이디어에 대해 자세히 설명하지만 핵심 원칙은 다음과 같습니다.
BFT(Byzantine Fault Tolerant) 합의를 매 에포크마다 실행하는 대신 모든 슬롯을 실행합니다. 즉, 트랜잭션이 블록에 포함되면 한 슬롯 후에 트랜잭션을 취소하는 비용이 수천 ETH가 됩니다.
우리는 단일 슬롯을 확정하기 위해 모든 활성 유효성 검사기에 의존하지 않습니다. 대신, 우리는 개별 슬롯을 확정하기 위해 무작위로 선택된 수천 명의 검증자 "슈퍼 위원회"에 의존합니다.
이미지 설명

보조 제목
"슈퍼 위원회"로의 전환의 하위 이점
글로벌 유효성 검사기에서 슈퍼 위원회로 이동하면 다음과 같은 인센티브 혜택도 있습니다.
유효성 검사기 노드를 실행하기 위한 계산 부하가 더 안정적이 되었습니다.유효성 검사기 노드를 실행하는 컴퓨팅 요구 사항은 더 이상 유효성 검사기의 총 수에 비례할 필요가 없으므로 유효성 검사기는 유효성 검사기 수의 큰 증가에 대처할 수 있는 강력한 시스템을 보유해야 하지만 유효성 검사기 노드가 더 안정적이므로 검증 사용자는 필요한 컴퓨팅 요구 사항을 정확히 알 수 있습니다.
대부분의 경우 유효성 검사기는 즉시 인출할 수 있습니다.보조 제목
슈퍼위원회는 얼마나 커야 합니까?
슈퍼위원회는 검증자 수 측면에서 "안전한 위원회가 될 만큼 충분히 커야" 합니다. 그러나 위원회는 총 ETH(즉, 위원회에 있는 모든 유효성 검사기의 총 지분) 측면에서 충분히 커야 합니다. 삭감 및 사보타지된 ETH의 양은 공격에서 실제로 얻을 수 있는 것보다 커야 하며, 체인을 방해할 막대한 외부 인센티브를 가진 강력한 공격자를 저지하거나 파산시킬 수 있을 만큼 충분히 커야 합니다.
얼마나 많은 ETH가 필요한지에 대한 이 질문은 필연적으로 직관의 문제입니다. 다음은 직관을 안내하기 위해 물을 수 있는 몇 가지 질문입니다.
이더리움 체인이 51% 공격을 받았다고 가정하면 커뮤니티가 오프체인 거버넌스 이벤트를 조정하여 복구하는 데 며칠이 걸리지만 X%의 ETH가 파괴됩니다. 이더리움 생태계에 순이익이 되려면 이 X가 얼마나 커야 합니까?
주요 거래소에서 수백만 개의 ETH가 도난당했고 공격자가 수익금을 걸고 검증자 수의 51% 이상을 얻었다고 가정해 보겠습니다. 그렇다면 도난당한 모든 자금이 파괴(삭감)되기 전에 유효성 검사기가 블록체인에 대해 얼마나 많은 51% 공격을 할 수 있습니까?
51% 공격자가 모든 MEV를 캡처하기 위해 매우 짧은 시간 내에 블록체인을 반복적으로 재구성하기 시작한다고 가정합니다. 공격자가 달성하기를 원하는 초당 비용 수준은 얼마입니까?
이미지 설명

위: "Ethereum을 공격하는 데 드는 비용이 가장 낮다고 생각하십니까?"에 대한 Ethereum 연구원의 내부 설문 조사 결과입니다.
대기 시간에 의존하지 않는 51%의 공격에만 초점을 맞추면 100만 ETH의 공격 비용은 200만 ETH(약 65,536 검증자)의 "슈퍼 위원회" 규모를 의미합니다. 검증자에 대한 공격과 네트워크 조작은 300만 ETH(약 97,152 검증자)의 슈퍼 위원회 규모를 초래할 것입니다. 그러나 이더리움 체인의 부하를 오늘날 수준(슬롯당 약 9,000개의 유효성 검사기 또는 약 288,000 ETH)으로 유지하려면 96,000~144,000 ETH의 공격 비용에 해당합니다. 두 수치 사이에는 여전히 큰 격차가 있습니다.
보조 제목
아이디어 2: 가능한 한 많은 증명자를 작업하도록 시도하십시오.
각 슬롯에 많은 수의 유효성 검사기가 참여하는 블록체인을 정말로 원한다고 가정합니다(예: 슬롯당 131,072개의 유효성 검사기, 보수적인 4백만 ETH에 해당). 그렇다면 이를 기반으로 성능 수치는 어떻게 될까요?
슬롯당 온체인 비용이 보이는 것만큼 높지 않다는 것을 증명하기 위해 많은 수의 유효성 검사기가 있는 것으로 나타났습니다.
유효성 검사기 레코드를 저장하는 데 필요한 상태 공간은 오늘날과 정확히 동일합니다(유효성 검사자당 약 150바이트).
서명을 확인하려면 131,072 공개 키의 임의 하위 집합을 함께 추가해야 합니다. 각 타원 곡선 추가는 약 1마이크로초 내에 완료될 수 있으므로 이 작업은 약 130밀리초 내에 완료될 수 있습니다. 각 슬롯은 두 번 실행되어야 합니다(블록에 중복 증명이 포함된 경우 더 많을 수 있음).
슬롯 N에서 활성화된 유효성 검사기가 일반적으로 슬롯 N+1에서도 활성화된다고 가정하면 온체인 추가 비용을 더욱 최적화할 수 있습니다. 조건에 따라 집계 공개 키는 수천 또는 수백 개의 유효성 검사기 공개 키로 구성될 수 있습니다. 최악의 경우에도 항상 최소 2배 최적화(예: ~65ms)를 수행할 수 있어야 합니다.
남아있는 가장 큰 문제는서명 집계. 단일 슬롯에 서명을 생성하고 전송하는 131,072개의 검증자가 있으며 이러한 서명은 신속하게 대규모 집계 서명으로 결합되어야 합니다.
오늘날 서명 집계는 p2p 서브네트워크에서 수행됩니다. 256명의 유효성 검사기로 구성된 각 위원회에는 서명 집계의 자체 하위 네트워크가 있습니다. 서명을 집계하고 이를 기본 서브넷에 제출할 수 있는 16개의 무작위로 선택된 권한 있는 집계자가 있습니다. 그런 다음 블록 제안자는 각 위원회에서 최상의 서명 집합을 가져와 함께 추가하여 하나의 큰 서명 집합을 형성합니다. 아래 그림과 같이:

이로 인해 각 소위원회에 부담이 가중됩니다. 여기서 유효성 검사기는 특히 유효하지 않은 서명으로 네트워크를 범람시키는 공격의 경우 서명을 개별적으로 확인해야 하며 글로벌 서브넷에서 n개의 위원회가 있는 경우 제안자는 16*n개의 서명을 반드시 수행해야 합니다. 확인할 수 있습니다.
집계는 향후 2년 동안 상당한 최적화의 대상이 될 가능성이 높습니다. 현재 실제 응용 프로그램에서 가장 큰 병목 현상은 특히 여러 서브넷에 있어야 하는 노드의 경우 각 서브넷의 부하입니다.
두 가지 유망한 간단한 접근 방식으로 상당한 개선을 얻을 수 있습니다.
서브넷 수 늘리기, 각 서브넷의 부하를 늘리지 않고 더 많은 총 증명을 허용합니다. 메인 서브넷의 부하가 증가하지만 슬롯에 있는 모든 검증자가 동일한 데이터에 서명할 수 있도록 하여 효율성을 개선하고 이러한 서명을 일괄적으로 더 쉽게 검증할 수 있도록 하는 댄크 샤딩으로 이를 보상할 수 있습니다.
검증자가 많은 노드라도 하나의 서브넷에만 참여하면 되도록 네트워크 규칙 변경보조 제목
보다 전문화된 애그리게이터
더 많은 유효성 검사자를 지원하기 위한 보다 공격적인 전략은 서명 집계를 보다 전문적인 역할로 전환하는 것입니다.PBS(제안자/빌더 분할) 방식의 블록 빌더), 이 역할에서 우리는 전문 배우가 각 서브넷(또는 모든 서브넷)에 지속적으로 존재하고 서명을 잘 수집할 수 있기를 기대합니다. 이러한 참가자는 급여를 받거나 자발적인 역할을 할 수 있습니다(이미 많은 검증자를 스테이킹한 사용자에게는 이 추가 비용이 매우 낮기 때문입니다).
이 상황에 대한 간단한 프로토콜은 검증자가 (i) 집계 서명, (ii) 참가자의 비트필드(검증자가 131,072명이라고 가정할 때 16kB) 및 (iii) 이 두 개체에 대한 집계자의 서명을 포함하는 ProposedAggregate 메시지에 서명하도록 허용하는 것입니다.
첫 번째 레벨 제목
03. 하나의 슬롯에서 최종화를 달성하려면 어떻게 해야 합니까?
단일 슬롯 확인으로 이동하는 것은 다년간의 로드맵입니다; 많은 개발 작업이 곧 시작되더라도 Ethereum이 PoS, 샤딩 및 Verkle 트리 롤아웃을 완료한 후에 주요 변경 사항 중 하나입니다. 일반적으로 구현 경로는 대략 다음과 같습니다.
증거 집계 최적화 작업을 강화하십시오.그럼에도 불구하고 유효성 검사기의 수가 증가할 것으로 예상되므로 이는 중요한 질문입니다. 이 문제에 대한 보다 집중적인 연구 개발 노력이 필요합니다.
일반 매개변수에 동의:"슈퍼 위원회"를 목표로 하는 규모는 얼마나 됩니까(또는 슈퍼 위원회의 규모는 모든 활성 유효성 검사기의 집합이 될 것이며 얼마나 많은 활성 유효성 검사기가 있을 수 있는지 제어하기 위해 몇 가지 다른 메커니즘을 구현합니까)? 어떤 수준의 오버헤드가 허용됩니까? 오버헤드를 줄이기 위해 어떤 기술을 사용할 것인가?
단일 슬롯을 확정하기 위해서는 조사하고, 합의에 도달하고, 이상적인 합의 및 포크 선택 메커니즘을 명확히 해야 합니다.이는 BFT 합의 메커니즘(Casper FFG 또는 다른 전통적인 메커니즘)과 포크 선택 규칙이 검증자의 1/3 이상이 오프라인인 경우에만 의미가 있는 포크 선택 규칙을 결합합니다.
구현 경로에 동의하고 실행합니다.이를 위해서는 다단계 구현이 필요할 수 있으며, 그 중 하나는 슈퍼 위원회 메커니즘을 도입한 다음 다음 단계에서 새로운 합의 및 집계 메커니즘을 추가하는 것입니다.
단일 슬롯에서 최종화를 구현하는 궁극적인 이점은 상당할 것이며 기술은 시간이 지남에 따라 이 백서에 설명되지 않은 다른 이점을 달성하기 위해 개선될 수 있습니다(예: 최소 ETH 지분을 줄이기 위해 증가된 최대 유효성 검사기 수 사용). 따라서 이 기사에서 설명하는 기술적 과제는 가능한 한 빨리 시작하기 위해 보다 심층적이고 집중적인 연구 및 개발이 필요합니다.


