펙트라 업그레이드에는 무엇이 포함되나요?
크리스틴 김(Christine Kim)이 이더리움의 펙트라 업그레이드에 대해 설명하며, 업그레이드에 포함된 EIP, 프로토콜의 변경 사항, 그리고 이것이 사용자, 개발자, 검증자에게 중요한 이유를 다룹니다.
Date published: 2024년 11월 14일
데브콘 SEA(Devcon SEA)에서 크리스틴 김(Christine Kim)이 진행한 프레젠테이션으로, 이더리움의 펙트라 업그레이드에 포함된 EIP, 프로토콜의 변경 사항, 메인넷 활성화 예상 시기, 그리고 범위에서 제외된 EIP에 대해 다룹니다.
이 스크립트는 이더리움 재단이 게시한 원본 비디오 스크립트 (opens in a new tab)의 접근성 향상 버전입니다. 가독성을 위해 약간의 편집을 거쳤습니다.
소개 (0:00)
펙트라 업그레이드에 포함될 모든 EIP에 대해 이야기해 보겠습니다. 시작하기 전에 간단히 면책 조항을 말씀드리자면, 제가 말씀드릴 모든 내용은 정보 제공 목적이며 재정적 또는 투자 조언으로 해석되어서는 안 됩니다.
펙트라 메인넷 시기 (0:23)
펙트라에 무엇이 포함되는지 알아보기 전에, 제가 가장 많이 받는 질문은 "펙트라는 언제 메인넷에 적용되나요?"입니다. 기술적인 내용으로 넘어가기 전에 이 부분부터 먼저 짚고 넘어가겠습니다.
이는 매우 잠정적인 타임라인 분석입니다. 사람들이 펙트라가 언제 진행될지 물어보면, 저는 아직 말하기 이르다고 대답합니다. 사실이기 때문입니다. 펙트라는 아직 개발의 아주 초기 단계에 있습니다. 사양이 계속 변경되고 있으며, 펙트라의 범위도 아직 완전히 완결된 상태가 아닙니다.
이 과정을 통해 여러분이 배울 수 있는 것 중 하나는 업그레이드가 어떻게 개발되고, 테스트되며, 최종적으로 메인넷에 적용되는지입니다. 처음에 개발자들은 업그레이드에 포함할 몇 가지 EIP를 결정한 다음, 데브넷이라는 개발자 중심의 프라이빗 테스트넷에 해당 EIP를 구현합니다. 개발자들은 이미 펙트라를 위한 몇 개의 데브넷을 출시했으므로, 이 EIP들은 이미 몇 차례의 구현 과정을 거쳤습니다. 개발자들은 수정하고 싶은 엣지 케이스와 버그를 발견했으며, 새로운 데브넷을 출시하여 이러한 EIP를 반복적으로 개선하고 있습니다. 데브넷 4는 지난달인 10월에 출시되었습니다.
보통은 이런 일이 없지만, 개발자들은 이번 컨퍼런스와 청중 여러분을 위해 특별히 이번 달에 첫 번째 퍼블릭 펙트라 테스트넷을 출시했습니다. 이름은 메콩(Mekong)이며, 여러분은 펙트라에 포함될 일부 EIP와 미리 상호작용해 볼 수 있습니다. 이는 데브넷 4 사양을 기반으로 하지만, 해당 사양은 계속 변경되고 있다는 점을 유의하시기 바랍니다.
개발자들이 이미 펙트라 데브넷 5에 포함하고자 하는 EIP의 사양 변경 목록이 있습니다. BLS 프리컴파일 가격 재조정이나, 데브넷 4에는 구현되지 않았지만 개발자들이 데브넷 5 또는 향후 업그레이드에 구현하려는 새로운 EIP 등이 여기에 해당합니다. 따라서 펙트라 사양은 계속 변경되고 있습니다. 사양이 실제로 확정되기 전까지 앞으로 여러 번의 데브넷이 더 진행될 것으로 예상합니다.
펙트라 업그레이드가 메인넷으로 진행되는 과정에서 정말 중요한 또 다른 부분은 범위가 완결된 상태가 되는 것, 즉 펙트라에 들어갈 모든 EIP가 결정되는 것입니다. 아직 정식 EIP는 아니지만 블롭 용량 증가와 관련된 내용이 하나 있습니다. 개발자들이 아직 펙트라에 공식적으로 포함하지는 않았지만, 최근 실행 계층과 합의 레이어에 하드 코딩된 매개변수를 사용하는 대신 합의 레이어를 통해 블롭 가스 목표치와 블롭 가스 최대치를 동적으로 업데이트하는 메커니즘을 도입하는 EIP를 포함했기 때문에, 어떤 형태로든 블롭 용량 증가를 포함할 가능성이 높아 보입니다.
범위가 완결된 상태가 되면, 구현된 새로운 EIP들(펙트라 업그레이드의 전체 범위)을 테스트하기 시작하고 몇 개의 데브넷에서 추가로 실전 테스트를 거칩니다. 아마 데브넷 6이나 7까지 진행될 것으로 예상합니다. 그런 다음 펙트라 사양이 확정되고 준비가 완료되면(개발자들이 데브넷에서 찾을 수 있는 모든 엣지 케이스가 발견되면), 퍼블릭 이더리움 테스트넷에 펙트라 업그레이드를 출시할 것입니다. 현재 Sepolia와 Holesky 두 곳이 있습니다.
역사적으로 개발자들은 퍼블릭 테스트넷 업그레이드 사이에 약 2주의 시간을 배정해 왔습니다. 드물게 테스트넷 간의 일정을 단 1주로 단축한 적도 있지만, 펙트라의 규모를 고려할 때 개발자들은 충분한 시간을 갖고 싶어 할 것입니다. 저는 Sepolia와 Holesky에 대략 한 달 정도의 기간을 예상하고 있으며, 그 이후에 마침내 메인넷 활성화가 이루어질 수 있을 것입니다.
현재 제가 알고 있는 모든 정보와 지금까지 개발자들이 펙트라에서 이룬 진전을 고려할 때, 저의 최선의 분석과 추측으로는 펙트라 메인넷이 현실적으로 내년인 2025년 4월에 이루어질 것 같습니다. 다시 말씀드리지만, 많은 것이 바뀔 수 있기 때문에 이는 매우 잠정적입니다. 개발은 매주 진행되며, 개발자들은 ACD 통화에서 이 EIP에서 예상치 못한 버그가 발생했다거나 펙트라에 추가하고 싶은 새로운 EIP에 대해 논의하고 있습니다.
실행 계층 EIP (6:23)
이제 이 강연의 핵심인 펙트라 업그레이드에 무엇이 포함되는지로 넘어가 보겠습니다. 펙트라에는 10개의 EIP가 포함되며, 그중 4개는 실행 계층에 중점을 두고 있습니다.
EIP-2537은 EVM에 추가되는 새로운 프리컴파일인 BLS12-381 곡선 연산입니다. 이는 스마트 컨트랙트 개발자들이 오랫동안 요구해 온 새로운 암호학적 서명 체계입니다. 이 EIP는 2020년에 작성되었으며, 당시 탈중앙화 애플리케이션 (dapp) 개발자들은 영지식 암호학에 의존하는 특정 dapp에 더 강력한 프라이버시 보장과 잠재적으로 향상된 보안 및 확장성을 제공할 수 있기 때문에 이를 정말 원한다고 말했습니다. BLS 서명은 검증자 증명을 위해 합의 레이어에서 발생하는 집계이기도 합니다. 이 EIP는 오랫동안 기다려온 것입니다. 한 가지 우려되는 점은 여전히 BLS 프리컴파일을 기다리는 앱이 있는지, 그리고 라이브로 전환될 때 이를 사용할 것인지입니다. 하지만 청중 여러분 중 BLS 프리컴파일이 마침내 도입된다는 사실을 모르셨다면, 이제 곧 도입될 예정입니다.
EIP-2935 — 상태에서 과거 블록 해시 제공. 이는 과거 블록의 증명을 상태에서 생성할 수 있도록 실행 계층에 변경 사항을 도입합니다. 이는 경량 클라이언트 동기화와 EVM을 통해 직접 이전 블록의 상태 데이터를 활용하려는 스마트 컨트랙트에 단기적인 이점을 제공합니다(현재는 실제로 불가능합니다). 하지만 이러한 단기적인 이점이 이 EIP가 펙트라에 포함된 주된 이유는 아닙니다. 주된 이유는 이것이 이더리움의 상태 데이터 구조에 대한 주요 개편인 버클(Verkle)의 전제 조건이기 때문입니다. 개발자들은 펙트라 직후에 그 전환이 일어날 것이라고 생각했지만, 버클은 푸사카에 포함되지 않을 것입니다. 그들은 이를 다른 업그레이드로 미루었지만, 이 디딤돌은 이미 목록에서 완료 처리되었습니다.
EIP-7685 — 범용 실행 계층 요청. 이 EIP는 이더리움에 새로운 기능을 도입하는 것이 아니라, 펙트라의 다른 EIP를 지원하기 위한 EIP입니다. 펙트라에는 실행 계층이 이전에는 할 수 없었던 훨씬 더 많은 메시지(다양한 종류의 메시지)를 합의 레이어에 전달할 수 있게 해주는 몇 가지 EIP가 있습니다. 실행 계층의 스마트 컨트랙트는 검증자 인출, 통합 및 예치를 트리거할 수 있게 됩니다. 이러한 새로운 통신 채널을 각각 별도의 고유한 방식으로 구현하는 대신, 이 EIP는 이러한 요청을 수용할 수 있는 일반화된 구조(일반화된 버스)를 만듭니다. 특히 개발자들이 실행 계층에서 트리거할 수 있는 새로운 유형의 요청을 도입하고자 할 때 테스트하기 쉽고, 클라이언트 전반에 걸쳐 구현하기 쉬우며, 표준화하기 쉬워질 것입니다.
EIP-7702 — 외부 소유 계정(EOA)을 위한 코드 설정. 이더리움에 새로운 트랜잭션 유형이 도입됩니다. 이 트랜잭션 유형은 일시적으로 EOA가 더 큰 유연성을 갖도록 허용하여 트랜잭션 일괄 처리, 스폰서 트랜잭션, 조건부 트랜잭션 및 위임된 보안과 같은 기능을 가능하게 합니다. "이것이 이더리움에서 계정 추상화 비전이 실현되는 것인가?"라고 생각하실 수도 있습니다. 아닙니다. 이것은 걸음마 단계입니다. 이더리움에서 진정한 네이티브 계정 추상화로 가는 실제 로드맵이 어떤 모습일지 확인하기 위한 초기 단계입니다. 개발자들이 그 첫걸음을 어떻게 내디뎌야 하는지에 대해 꽤 많은 논쟁이 있었고, 이것이 포함되는 것과 그 설계에 대해 많은 논란이 있었지만, 결국 포함되었습니다.
합의 레이어 EIP (12:00)
나머지 6개는 합의 레이어 EIP입니다.
EIP-7742 — 합의 레이어와 실행 계층 간의 블롭 수 분리. 이는 펙트라에 가장 최근에 포함된 EIP입니다. 현재 블롭 용량은 모든 다양한 클라이언트의 실행 계층과 합의 레이어에 하드 코딩되어 있습니다. 이 하드 코딩을 업데이트하는 것은 생각만큼 쉽지 않습니다. 합의 레이어를 통해 블롭 용량을 동적으로 설정하는 메커니즘을 만들면, 향후 개발자들이 이더리움의 블롭 용량을 쉽게 변경할 수 있으며, 이러한 업그레이드에는 두 계층 모두의 변경이 아닌 합의 레이어의 변경만 필요하게 됩니다.
EIP-6110 — 온체인에서 검증자 예치금 공급. 머지가 발생했고 이더리움은 지분 증명 (PoS) 블록체인으로서 더욱 성숙해졌습니다. 이제 특정 보안 가정을 완화할 수 있습니다. 이 EIP는 예치 컨트랙트에 32 이더를 예치할 때마다 합의 레이어 측에서 발생하는 추가 투표 라운드를 제거하여 모든 예치 검증이 실행 계층에서 이루어지도록 보장합니다. 이는 검증자 UX에 이점이 있습니다. 32 이더를 예치한 시점부터 비콘 체인에서 검증자가 실제로 활성화되는 것을 볼 때까지의 시간을 단축해 줄 것입니다.
EIP-7002 — 실행 계층에서 트리거 가능한 인출. 이는 스테이킹 풀에 매우 좋습니다. 현재 검증자를 완전히 인출하려면 해당 검증자를 운영하는 노드 운영자가 인출 키를 사용하여 검증자를 완전히 종료해야 합니다. 이 EIP를 통해 스마트 컨트랙트가 이러한 전체 인출을 시작할 수 있게 됩니다. 이는 이제 스테이킹 풀에서 제거할 수 있는 신뢰 가정입니다. 라이도(Lido), 로켓 풀(Rocket Pool) 및 기타 스마트 컨트랙트 기반 스테이킹 풀은 이제 원할 경우 검증자의 전체 인출을 트리거할 수 있습니다.
EIP-7251 — 최대 유효 잔고 증가. 이것은 정말 중요한 문제입니다. 개발자들이 비콘 체인에 대해 생각할 때, 검증자 세트가 이렇게 빨리 성장할 것이라고는 예상하지 못했습니다. 현재 약 120만에서 130만 명의 검증자가 있습니다. 활성 검증자가 너무 많고, 네트워킹 레이어에서 전달되는 메시지가 너무 많아서 과부하가 걸리고 있습니다. 이는 노드에 부담을 주고 있으며, 방치할 경우 이더리움의 건전성에 큰 문제가 될 것입니다. EIP-7251은 검증자들이 이더를 통합하여 32 이더보다 높은 최대 유효 잔고를 갖도록 장려함으로써 이더리움의 활성 검증자 수를 줄이도록 설계되었습니다.
EIP-7549 — 증명 외부로 위원회 인덱스 이동. 이는 이더리움의 네트워킹 부하를 줄이고 노드 대역폭을 절약하기 위해 증명이 집계되는 방식을 재구성하고 리팩터링하는 것입니다. 개발자들이 이를 펙트라에 포함시킬 때, 훌륭한 이점을 가진 훌륭한 변경 사항이자 쉬운 작업이라고 생각했지만, 실제로는 예상보다 구현하기가 훨씬 더 어려웠습니다.
요약 (17:19)
펙트라는 다양한 업데이트가 혼합되어 있습니다. 세 가지 역할을 할 것입니다. 첫째, 지분 증명 (PoS) 블록체인으로서 이더리움의 중요한 단점을 수정합니다. MaxEB를 생각해 보세요. 검증자 세트 크기가 통제 없이 계속 커질 수 있기 때문에 이는 중요한 수정 사항입니다. 둘째, 사용자 경험을 개선합니다. 새로운 트랜잭션 유형, 더 유연한 설계, 스테이킹 풀을 위한 더 무신뢰적인 설계에 대한 몇 가지 개선 사항이 있습니다. 셋째, 이더리움의 데이터 가용성 용량을 늘립니다. 이는 아직 펙트라에 공식적으로 포함되지는 않았지만 가능성이 높아 보입니다.
펙트라에서 제외된 EIP (18:02)
다음은 펙트라에서 제외된 모든 EIP입니다. 업그레이드에서 이렇게 많은 EIP가 제외된 것은 이번이 처음입니다.
PeerDAS — 원래 펙트라에서는 데이터 가용성 용량이 훨씬 더 크게 증가할 예정이었습니다. PeerDAS를 사용하면 개발자는 이더리움 노드 실행의 대역폭 소비 및 계산 요구 사항에 큰 영향을 주지 않으면서 이더리움의 블롭 목표치를 몇 배 더 늘릴 수 있습니다. 하지만 아직 연구 및 개발 단계에 있습니다.
EOF — EVM 객체 형식(EVM Object Format). 번들로 제공되는 이 11개의 코드 변경 사항은 이더리움 EVM에 대한 주요 업데이트입니다. PeerDAS와 EOF 모두 처음에는 펙트라에 포함되었지만 별도의 데브넷에서 테스트되고 있었습니다. 개발자들은 메인넷 활성화를 준비하는 데 훨씬 더 많은 시간이 필요할 것이라고 생각했고, 다른 펙트라 EIP를 지연시키고 싶지 않았습니다. 그래서 그들은 PeerDAS와 EOF가 분명히 더 많은 시간을 필요로 한다고 판단하여, 이를 다른 업그레이드로 미루고 다른 펙트라 EIP의 메인넷 적용을 지연시키지 않기로 했습니다.
이것들은 이제 푸사카로 이동되었습니다. 버클은 처음에 푸사카로 예정되어 있었지만 이후 더 연기되었습니다. 현재로서는 EOF와 PeerDAS가 푸사카에 포함되어 있습니다. 개발자들이 푸사카에 포함할지 재고할 다른 EIP들도 있습니다. SSZ 전환, 포함 목록(inclusion lists), 발행 변경, 기록 만료, ePBS 및 계정 추상화 방향 등이 있습니다.
Q&A (22:02)
진행자: EOF는 언제 되나요?
크리스틴 김: 방금 개발자들이 푸사카에 넣으려고 시도할 것이라고 말씀드렸습니다. 가능성이 높다고 생각하냐고요? 아마 아닐 겁니다. 푸사카가 2025년에 일어날 것이라고 생각하냐고요? 절대 아닙니다. 펙트라를 준비하는 데 걸린 시간을 고려하면, 푸사카는 비슷하거나 더 오랜 시간이 걸릴 것입니다.
진행자: 지금부터 펙트라 활성화 사이에 블롭 목표치를 늘리기 위한 비상 경로가 있나요?
크리스틴 김: 없습니다. 블롭 목표치는 실행 계층과 합의 레이어에 하드 코딩된 매개변수입니다. 블롭 용량을 변경하려면 개발자들이 하드 포크를 수행해야 합니다. 하드 포크 없이는 지금부터 펙트라 사이에 블롭 용량을 늘릴 방법이 없다고 생각합니다.
진행자: 제안은 블롭 한도만 변경하는 것인가요, 아니면 블롭 목표치도 변경하는 것인가요?
크리스틴 김: 좋은 질문입니다. 가장 보수적인 증가는 3에서 4로 늘리는 것입니다. 최대치는 전혀 변경하지 않고 목표치만 변경하는 것이죠. 하지만 이는 레이어 2 (l2) 개발자들이 요구한 것이 아닙니다. 코인베이스(Coinbase)의 베이스(Base) 팀 대표가 있는데, 그는 더 공격적인 증가를 위해 경쟁해 왔습니다. 그는 이러한 증가가 이더리움의 탈중앙화에 부정적인 영향을 미치지 않을 것임을 시사하는 데이터를 보여주었습니다. 목표치만 변경하자는 보수적인 제안이 있고, 최대치와 목표치를 모두 변경하자는 더 야심 찬 제안(예: 8과 4, 또는 6과 12)도 있습니다. 다양한 단계가 존재합니다.
진행자: 사람들에게 거버넌스에 더 많이 참여할 것을 촉구하셨는데요. 커뮤니티가 어떻게 더 많이 참여할 수 있을까요?
크리스틴 김: ETH Research와 ETH Magicians는 특정 EIP에 찬성표를 던지고 지지를 표명할 수 있는 정말 훌륭한 두 개의 토론 포럼입니다. ACD 통화는 아마도 가장 유의미한 논의가 이루어지는 곳일 것입니다. GitHub의 ACD 통화 안건에 댓글을 남기고 이것이 여러분이 이야기하거나 발표하고 싶은 EIP라고 말하기만 하면 됩니다. 통화의 진행자는 보통 기꺼이 시간을 내어줍니다. 하지만 너무 많은 시간을 차지하지는 마세요. 의견을 말하는 데 5분 정도면 충분할 것입니다.