코인 메트릭스: 이더 블롭과 EIP-4844의 영향 분석
이더넷 EIP-4844 업그레이드 및 레이어 2 블롭 사용의 성공 여부를 평가합니다.
JinseFinance덴쿤은 각각 이더리움 합의 레이어와 실행 레이어 하드포크를 의미하는 데네브와 칸쿤의 합성어로, 이미 고얼리, 세폴리아, 홀스키 테스트 네트워크에서 덴쿤 하드포크가 완료되었으며, 연말에 에포크 269568(2024년 3월 13일 전후)에 메인 네트워크가 진행될 예정입니다. 269568(2024년 3월 13일경)에 메인넷이 에포크에서 포크될 예정입니다.
읽기 팁
이 문서를 읽기 전에 알아야 할 사전 지식은 다음과 같습니다:
하드포크
이더리움은 합의 레이어와 실행 레이어로 나뉩니다
. 실행 레이어덴쿤 업그레이드에는 다음과 같은 9개의 EIP가 포함됩니다.
EIP align: left;">EIP-1153: 트랜지션 스토리지 옵코드(실행 계층 변경)
EIP-4788: EVM의 비콘 블록 루트(실행 계층 vs. 합의 레이어 변경)
EIP-4844: 샤드 블롭 트랜잭션
EIP -5656: MCOPY - 메모리 복사 명령
EIP-6780: 동일 트랜잭션에서만 자체 파괴
EIP-6780: 동일 트랜잭션에서만 자체 파괴 왼쪽;">EIP-7045: 최대 증명 포함 슬롯 증가(합의 레이어 변경)
EIP-7514: 최대 에포크 이탈 제한 추가( 합의 레이어 변경)
EIP-7516: 블로바세피 옵코드 (실행 레이어 변경)
이 문서에서는 다음을 설명합니다. EIP(EIP-4844 제외) 변경 사항 및 영향, EIP-4844에 대한 소개는 다음을 참조하세요.
롤업의 빅 패치: 프로토 댕크샤딩(I)
https://medium.com/taipei-ethereum-meetup/rollup-and-the-boost-from-proto- danksharding-85d2fe0566b6
롤업의 빅 패치업: 프로토 댕크샤딩 (II)
https://medium.com/taipei-ethereum-meetup/rollup-proto-danksharding- implementation-detail-913a3c61fde8
다음 소개와 우선순위는 크게 "구현 수준의 변경과 관련된 EIP", "합의 수준의 변경과 관련된 EIP", "EIP- 4844와 관련된 EIP로 구분하여 설명합니다. 4844 관련 EIP".
EIP-1153
실행 계층 변경
실행 계층 변경
실행 계층 변경
EIP-1153: 트랜지션 스토리지 옵코드
https://eips.ethereum.org/EIPS/eip-1153
EIP-1153: 과도 스토리지 옵코드
https://www.eip1153.com/
EIP-1153: 트랜지션 스토리지 옵코드
https://ethereum-magicians.org/t/eip- 1153-transient-storage-opcodes/553
EIP-1153은 "임시" 스토리지 데이터에 쓰고 읽는 데 사용되는 두 개의 새로운 Opcode인 TSTORE 및 TLOAD를 추가합니다. 스토리지 데이터에 쓰기 및 읽기에 사용됩니다. 이를 통해 많은 컨트랙트 개발자가 가스 비용을 크게 절감할 수 있습니다.
배경
Storage는 컨트랙트의 저장 공간에 데이터를 쓰는 옵코드인 SSTORE Opcode를 의미합니다. 데이터는 컨트랙트가 적극적으로 제거할 때까지 영구적입니다. "임시" 품질은 "영구적 존재"에 상대적이며, TSTORE에 기록된 데이터는 트랜잭션이 종료될 때까지만 유효하며, 트랜잭션이 실행된 후 TSTORE에 기록된 값은 폐기됩니다.
작동 원리
TSTORE는 SSTORE보다 훨씬 저렴하며, 만료일은 저렴하지만 비용이 많이 드는 메모리와 달리 호출 기간(트랜잭션 종료 시까지)에 걸쳐 유지됩니다. 이는 여러 가지 용도로 유용합니다.
재입력 잠금. >현재 재진입 잠금은 SSTORE로만 에뮬레이션할 수 있으며, SSTORE의 규칙은 EIP-2200 이후 재진입 잠금의 가스 비용을 상당히 줄였지만, TSTORE는 5000에서 100으로 비용을 더 줄일 수 있습니다.
단일 트랜잭션에서 ERC-20 승인을 사용하는 경우, A 컨트랙트가 B 컨트랙트와 상호작용하고 A 컨트랙트가 B 컨트랙트로부터 ERC-20을 전송해야 하는 경우, B 컨트랙트는 ERC-20을 승인하기 전에 A 컨트랙트를 먼저 승인할 것입니다. A 컨트랙트가 B 컨트랙트와 상호작용하고 A 컨트랙트가 B 컨트랙트로부터 ERC-20을 전송해야 하는 경우, B 컨트랙트는 먼저 A 컨트랙트를 ERC-20으로 승인한 다음 A 컨트랙트를 호출합니다. ERC-20의 승인은 SSTORE를 통해 이루어지기 때문에 비용이 저렴하지 않으며, TSTORE로 전환함으로써 비용을 크게 절감할 수 있습니다.
CREATE2를 통해 컨트랙트를 배포하기 위한 배포 파라미터입니다. 생성자 매개변수는 CREATE2를 통해 배포된 컨트랙트의 주소에 영향을 미치기 때문에, 생성자 매개변수의 영향을 받지 않으려면 컨트랙트 생성자가 배포자의 컨트랙트 스토리지(예: Uniswap V3의 풀)에서 매개변수를 읽도록 설계되었습니다. 이 모델은 TSTORE를 통해 많은 비용을 절약할 수 있습니다. 이 모델은 TSTORE를 통해 많은 비용을 절감합니다.
주석
컨트랙트 개발자가 TSTORE로 재진입 잠금을 재작성할 때는 반드시 잠금 해제 시점에 잠금을 해제해야 합니다. 거래가 끝나면 저절로 해제된다고 생각하지 마시고, 잠금 해제를 위한 가스 소비를 절약할 수 있으며, 그렇지 않을 경우 거래 중에 다시 계약을 입력해야 할 때 잠금이 해제되지 않아(또는 해제되지 않아) 입력이 불가능할 수 있으니 유의하시기 바랍니다.
계약이 저절로 해제되므로 가스 소비를 절약할 수 있습니다.
EIP-1153은 이제 솔리디티 0.8.24에서 사용할 수 있으며, 개발자는 미리 사용해 볼 수 있습니다. 다음은 개발자들이 작업한 뮤텍스의 예시입니다. TSTORE에 의존하는 유니스왑 V4는 덴쿤 업그레이드 이후에도 사용할 수 있습니다.
이 EIP에는 새로운 Opcode가 추가되므로 여러 체인에 컨트랙트를 배포하는 개발자는 모든 체인이 최신 Opcode를 지원하는지 주의해야 하며, 그렇지 않으면 사용할 수 없게 됩니다.
EIP-4788
실행 수준 변경
EIP-4788: EVM의 비콘 블록 루트
https://eips.ethereum.org/EIPS/eip-4788
EIP-4788: EVM의 비콘 루트
https://ethereum-magicians.org/t/eip-4788-beacon-root-in-evm/8281
EIP-4788은 합의 레이어 블록을 읽을 수 있도록 BEACON_ROOTS_ADDRESS 컨트랙트를 추가하여, 실행 레이어가 합의 레이어 데이터를 읽을 수 있게 됩니다. 이 컨트랙트를 사용하면 스테이킹과 리스테이킹 프로토콜은 인증자의 상태를 읽는 등 제3자를 신뢰하지 않고도 합의 레이어 데이터를 읽고 사용할 수 있습니다.
운영 세부 정보
사용자 또는 컨트랙트는 컨트랙트를 호출하여 특정 시점에 비콘 블록 루트를 쿼리할 수 있습니다. 루트) 블록 루트는 비콘 블록 해시와 마찬가지로 블록 콘텐츠의 SSZ 인코딩으로 얻은 머클 트리(머클 트리 루트)의 루트입니다. 호출자는 타임스탬프를 uint256 값으로 인코딩하여 호출 콘텐츠로 취급하고, 컨트랙트는 타임스탬프를 사용하여 스토리지로 이동하여 해당 합의 레이어 블록 루트를 찾아 다시 전송합니다.
개발자가 합의 레이어 정보를 사용하려는 경우, 컨트랙트는 BEACON_ROOTS_ADDRESS 컨트랙트를 통해 읽고자 하는 합의 레이어 블록의 블록 루트를 조회한 다음 해당 합의 레이어 블록의 정보(예: 검증자의 잔액)와 Merkle 증명을 사용하여 해당 정보가 블록 루트에 속하는지 확인합니다. (SSZ는 콘텐츠를 머클 트리로 만들므로 콘텐츠의 모든 정보는 해당 머클 증명을 생성하여 해당 정보가 콘텐츠에 존재함을 확인할 수 있습니다.)
△사용자가 머클 증명을 제공하고 및 합의 레이어 블록 타임스탬프
△ Merkle 증명은 질문 블록 루트를 사용하여 특정 시점의 검증자의 잔액을 확인합니다
그러나 BEACON_ROOTS_ADDRESS 컨트랙트에 저장된 합의 계층 블록 루트는 실제로 실행 계층과 동일한 블록이 아닌 "상위" 블록(즉, 이전 블록)의 블록 루트입니다.
블록 11001의 타임스탬프(1234567)는 블록 11001의 타임스탬프에 해당합니다. 1234567)은 블록 11000의 블록 루트에 해당합니다. 마찬가지로 블록 11000의 타임스탬프(1234555)는 블록 10999의 블록 루트에 해당합니다.
주의
BEACON_ROOTS_ADDRESS 컨트랙트는 최대 8,191개의 합의 계층 블록루트를 저장하며, 8,191개의 이전 블록루트는 덮어쓰기 됩니다. 8191개의 이전 블록 루트를 덮어쓰게 됩니다. 예를 들어, 현재 블록 18191에 있는 경우 현재 접근 가능한 블록루트는 블록 10000에서 블록 18190까지입니다.
EIP-5656
실행 수준 변경
실행 수준 변경
실행 수준 변경
.EIP-5656: MCOPY - 메모리 복사 명령
https://eips.ethereum.org/EIPS/eip-5656
EIP-5656. align: left;">EIP-5656은 컨트랙트 실행 중에 메모리에 저장된 값을 복사하도록 설계된 새로운 MCOPY 옵코드를 추가합니다. 컨트랙트는 이 옵코드를 통해 가스 비용을 절감할 수 있습니다.
컨트랙트 개발자가 MCOPY Opcode를 사용하려면 컴파일러 버전 0.8.24 이상과 EVM 버전 칸쿤을 지정해야 합니다:
MCOPY를 사용하려면 컴파일러 버전과 EVM 버전을 설정해야 합니다
주: 컴파일러 0.8.24 버전에서는 어셈블리 메서드를 통해서만 MCOPY(mcopy(), link) 사용이 가능하며, 향후 버전에서는 메모리를 복사해야 하는 경우 컴파일러가 자동으로 MCOPY를 적용합니다.
주
<
이 EIP는 새로운 Opcode를 추가하므로 여러 체인에 컨트랙트를 배포하는 개발자는 모든 체인이 최신 Opcode를 지원하는지 주의해야 하며, 그렇지 않을 경우 작동하지 않을 수 있습니다.
EIP-6780
실행 레이어 변경
실행 레이어 변경
실행 레이어 변경
실행 레이어 변경
EIP-6780: 동일 트랜잭션에서만 자체 삭제
https://eips.ethereum.org/EIPS/eip-6780
EIP-6780: 계약이 생성된 동일한 트랜잭션에서 발생하는 경우를 제외하고 SELFDESTRUCT 비활성화
https://ethereum-magicians.org/t/eip-6780- 계약이 생성된 동일한 트랜잭션에서 발생하는 경우를 제외하고는 자체 파괴를 비활성화합니다
EIP-6780은 버클 트리와 셀프파괴 옵코드의 제거에 대비하여 셀프파괴 옵코드의 동작을 수정합니다. 컨트랙트에 SELFDESTRUCT 옵코드를 사용하는 개발자는 특별한 주의를 기울여야 합니다.
배경
셀프데스트럭트 옵코드의 현재 동작은 (1) 컨트랙트의 코드와 스토리지를 제거하고 (2) 모든 이더를 버클 트리로 전송하는 것입니다. 모든 ETH를 지정된 주소로 전송합니다.
초기에는 개발자가 사용하지 않는 컨트랙트와 스토리지를 제거하도록 장려하고 이더리움의 상태를 적절한 크기로 유지하기 위해 환불 메커니즘을 설계했습니다. 그러나 실제로 이를 실행하는 사람은 많지 않았고, 대신 패리티 멀티시그와 같은 사고가 발생하여 수십만 개의 이더가 자기 파괴로 인해 동결되었기 때문에 이더리움 커뮤니티는 자기 파괴 옵코드를 단계적으로 폐지하기를 원했습니다. 과거에도 SELFDESTRUCT 옵코드를 수정하거나 제거하기 위한 여러 제안이 있었고, 덴쿤 하드포크에 포함된 EIP-6780도 그 중 하나였습니다.
주: SELFDESTRUCT는 2023년 초 상하이 하드포크에서 EIP-6049에 의해 공식적으로 더 이상 사용되지 않는 것으로 선언되었습니다.
버클 트리는 현재의 머클 패트리샤 트리를 대체하기 위해 현재 이더리움 커뮤니티에서 활발히 연구 및 개발 중인 상태 저장 구조로, 이더리움의 상태 증명을 더 작게 만들 수 있습니다. 버클 트리는 이더리움 상태 증명의 크기를 더 작게 만들 것이며, 따라서 무국적 클라이언트 설계의 핵심이 될 것입니다. 무국적 클라이언트를 사용하면 노드 하드웨어가 줄어들어 더 많은 사람들이 더 가볍고 저렴한 하드웨어에서 노드를 운영할 수 있고 네트워크의 탈중앙화를 강화할 수 있습니다.
운영 세부 정보
EIP-6780 이후, SELFDESTRUCT 옵코드는 (1)의 동작을 제거하고 (2)만 유지합니다. "모든 이더를 지정된 주소로 전송"하는 기능은 (2)에 유지됩니다. 컨트랙트의 코드와 저장소는 동일한 트랜잭션에서 컨트랙트를 생성한 다음 자체 파괴하지 않는 한 그대로 유지됩니다.
따라서 자체 파괴가 트리거되면:
컨트랙트가 동일한 트랜잭션에서 생성되지 않은 경우, 컨트랙트 코드와 저장소는 그대로 유지되지만 컨트랙트의 모든 이더리움은 지정된 주소로 전송됩니다.
동일한 트랜잭션에서 컨트랙트가 생성된 경우, 동작은 EIP-6780 이전과 동일합니다: 컨트랙트 코드와 스토리지가 제거되고 ETH가 지정된 주소로 전송됩니다.
(1)의 동작은 버클 트리에서 제거되어야 합니다
버클 트리의 설계상, 스토리지 상태는 의 저장 상태가 2계층(트리 내의 트리) 구조로 상상할 수 있는 머클 패트리샤 트리와는 다르게 설계되어 있습니다: 첫 번째 계층은 모든 주소의 트리, 두 번째 계층은 각 주소의 모든 스토리지와 컴포지션의 트리; 버클 트리는 모든 주소의 완전히 평평한 1계층 트리로 상상할 수 있습니다. 버클 트리는 완전히 평평한 단층 구조로 상상할 수 있습니다. 따라서 머클 패트리샤 트리에서는 주소의 저장소를 쉽게 찾아서 제거할 수 있지만, 버클 트리에서는 모든 주소와 주소의 각 저장소 값이 같은 트리에 평평하게 흩어져 있고 어떤 값이 주소의 어떤 저장소에 속하는지 알 수 없기 때문에 주소의 저장소를 찾는 것이 거의 불가능합니다. 따라서 컨트랙트 코드와 해당 주소의 모든 스토리지를 버클 트리에서 제거할 방법이 없습니다.
△ 현재 상태 트리 디자인(머클 패트리샤 트리)은 2계층 구조로, 상태 루트는 모든 주소의 집합인 트리에 해당하고 스토리지 루트는 주소 아래 모든 스토리지의 집합인 트리에 해당합니다.
출처: https://fisco-bcos-documentation.readthedocs.io/en/latest/docs/design/storage/mpt.html
△ 버클 트리는 한 레벨의 완전히 평평한 트리입니다. 한 레벨의 완전히 평평한 트리로, 빨간색 노드는 주소이고 녹색 노드는 해당 주소의 스토리지 값입니다.
.
그림 출처: https://youtu.be/s7fm6Zz_G0I?t=572
△△ 빨간색 노드만 제거하고 스토리지(녹색 노드)는 제거하지 않은 경우, 동일한 주소에 컨트랙트가 다시 배포되면 삭제되지 않은 이전 스토리지를 상속하므로 잠재적으로 고위험 취약점이 됩니다. 잠재적으로 고위험 취약점이 됩니다.
출처: https://youtu.be/s7fm6Zz_G0I?t=572
따라서 버클 트리에 대비하여, 우리는 버클 트리에서 SELFDESTRUCT 옵코드는 컨트랙트 코드와 저장소 동작을 제거합니다.
주의
개발자가 사용하는 경우 CREATE2 + SELFDESTRUCT를 사용하여 동일한 주소에 반복적으로 배포하는 경우, Dencun 이후에는 동일한 트랜잭션 내에서 동시에 발생하는 경우에만 완료됩니다.
개발자가 컨트랙트 업그레이드 유틸리티를 얻기 위해 CREATE2 + SELFDESTRUCT를 사용하는 경우(따라서 CREATE2 + SELFDESTRUCT가 동일한 트랜잭션에서 수행되지 않음), Dencun 이후에는 계속할 수 없게 됩니다. 일반적으로 SELFDESTRUCT를 사용하지 않는 업그레이드 모드로 전환하시기 바랍니다.
EIP-7044
합의 계층 변경
EIP-7044: 영구적으로 유효한 서명된 자발적 종료
https://eips.ethereum.org/EIPS/eip-7044
EIP-7044: 영구적으로 유효한 서명된 자발적 퇴장
https://ethereum-magicians.org/t/eip-7044-perpetually-valid-signed-voluntary- exits/14348
EIP-7044는 검증자가 PoS를 종료하는 데 사용하는 서명을 영구적으로 만들어 네트워크 하드 포크로 인해 서명이 무효화되는 것을 방지합니다. Lido와 같은 비수탁 서약 서비스에 위임하는 검증자는 하드포크가 발생할 때마다 제3자에게 재서명을 요청하지 않아도 되므로 경험과 보안이 향상됩니다.
배경
이더리움 지분 증명 검증자는 일상적인 참여(예: 블록 생성 및 서명)를 위한 프라이빗 키, 즉 검증자 키와 지분 증명 종료 시 약정한 자산과 수수료를 받는 주소인 출금 키라는 개인 키가 필요합니다. 검증자는 지분 증명에서 탈퇴하고자 할 때 네트워크의 현재 버전(하드포크)이 포함된 검증자 키로 서명합니다.
현재 비관리형 지분 증명 서비스에서는 서비스 제공자가 검증자 키를, 사용자가 출금 키를 보유하므로 서비스 제공자는 일상적인 검증 관련 업무만 수행할 수 있으며, 사용자가 담보한 자산과 수수료는 비관리형 목적으로 청구할 수 없습니다. 따라서 서비스 제공자는 일상적인 검증 관련 업무만 수행할 수 있으며, 사용자로부터 담보 자산과 수수료를 징수할 수 없으므로 비위탁의 목적을 달성할 수 있습니다. 서비스 제공자가 PoS에서 탈퇴하지 않는다고 협박하여 사용자를 갈취하는 것을 방지하기 위해 서비스 제공자는 처음에 PoS 탈퇴 증명서에 서명하여 사용자에게 제공하므로 사용자는 서비스 제공자의 영향을 받지 않고 언제든지 PoS에서 탈퇴할 수 있습니다.
작동 방식
하지만 PoS를 종료하는 서명에는 네트워크의 현재 버전(하드 포크)이 포함되어 있기 때문에, 예를 들어 현재 버전의 상하이 또는 이전 버전의 카펠라와 비교하여 네트워크가 이를 현재 버전과 비교합니다. 네트워크는 "출구 증명에 있는 하드포크 버전"과 "현재 버전의 네트워크"를 비교하며, 두 버전 이상의 차이가 있는 경우 유효하지 않은 것으로 간주합니다. 즉, 네트워크가 업데이트되고 하드포크되고 최신 버전으로 업그레이드되면 너무 오래된 출구 증명은 무효화됩니다.
예를 들어, 현재 합의 계층의 하드포크 버전이 알타이어, 벨라트릭스, (현재) 카펠라라면 알타이어에서 서명된 종료 인증서는 지금 무효화되고, 다음 업데이트가 데네브인 경우 알타이어, 벨라트릭스, (현재) 카펠라에서 서명된 종료 인증서는 무효화될 것입니다. 다음 버전의 Deneb으로 업데이트하면 Altair, Bellatrix 및 (현재) Capella에서 서명한 옵트아웃 인증서가 무효화됩니다. 이러한 상황에 대처하기 위해 사용자는 하드포크가 발생할 때마다 서비스 제공자에게 새로운 탈퇴 인증서를 요청해야 하며, 사전에 인증서를 받지 못하면 서비스 제공자가 하드포크 이후 '탈퇴 불가 PoS'로 협박하여 탈퇴를 강요할 수 있습니다.
주: 그러나 "탈퇴 PoS"는 카펠라 이후까지 오픈되지 않기 때문에, 알타이어나 벨라트릭스에서 미리 탈퇴 인증서에 서명하는 사람은 거의 없을 수 있습니다.
따라서 EIP-7044는 하드포크된 버전의 PoS를 카펠라로 수정하여 현재 버전에서 서명된 모든 PoS가 영원히 유효하도록 합니다. 그리고 향후 몇 번이나 업데이트되더라도 종료 인증서는 항상 Capella로 서명되며 더 이상 하드포크 버전의 영향을 받지 않습니다.
주
탈퇴 인증서의 하드포크 버전은 이제 Capella로 고정되었으므로 검증자 또는 서비스 제공자가 미리 Deneb 버전의 탈퇴 인증서에 서명하면 영원히 유효합니다. Deneb 버전의 탈퇴 증명은 대신 Deneb 이후에는 무효화됩니다.
EIP-7045
합의 계층 변경
합의 계층 변경
합의 계층 변경
EIP-7045: 최대 증명 포함 슬롯 증가
https://eips.ethereum.org/EIPS/eip-7045
EIP-7045: 최대 증명 포함 슬롯 증가
https://ethereum-magicians.org/t/eip-7045-increase-max-attestation-inclusion-slot/14342
EIP-7045는 검증인의 증명 유효 기간을 연장하여 투표가 예치될 수 있는 시간을 늘리고 네트워크 안정성을 높입니다. 사용자나 검증인에게는 영향을 미치지 않습니다.
배경
원래 증명은 예를 들어 에포크(32 슬롯)의 시간을 획득할 수 있었습니다. 인증자 앨리스가 슬롯 10000에서 투표하도록 배정받았는데, 네트워크 대기 시간으로 인해 슬롯 10010까지 투표를 완료하지 못하거나 슬롯 10020까지 투표를 P2P 네트워크에 브로드캐스트할 수 있지만, 그녀의 투표는 여전히 캡처될 것이라고 가정해봅시다. 그러나 슬롯 10033까지 투표가 나타나지 않으면 투표를 포함할 방법이 없으며 투표하지 않은 것으로 처리됩니다.
작동 방식
EIP-7045는 투표 포함의 유효 기간을 늦어도 투표가 이루어진 다음 에포크 종료일까지로 연장합니다. 예를 들어, 검증인 앨리스가 에포크 100의 슬롯 3205에서 투표하도록 배정되었다고 가정할 때, EIP-7045 이전에는 슬롯 3237(3237 = 3205 + 32)까지 투표가 유효하지만 EIP-7045 이후에는 에포크 101의 종료(즉, 슬롯 3263)까지 투표가 포함될 수 있습니다. 포함될 수 있습니다.
주: 에포크 0에는 슬롯 0부터 31까지, 에포크 100에는 슬롯 3200부터 3231까지, 에포크 101에는 슬롯 3232부터 3263까지 포함됩니다.
EIP-7045 이후, 그녀의 투표는 에포크 101의 끝(슬롯 3263)까지 포함될 수 있습니다. 왼쪽;">EIP-7514
합의 계층 변경
EIP-7514: 최대 에포크 이탈 한도 추가
https://eips.ethereum.org/EIPS/eip-7514
EIP-7514: 최대 에포크 추가 이탈 제한
https:// ethereum-magicians.org/t/eip-7514-add-max-epoch-churn-limit/15709
배경
2023년 상하이가 검증자 출구 PoS를 업그레이드하고 개방한 후, 더 많은 사용자가 검증자로 참여하게 되면서 진입 대기열이 항상 가득 차고 총 검증자 수가 빠른 속도로 증가하게 되었습니다.
△ PoS 오픈 이후 진입 대기열이 증가했습니다. 출처: https://www.validatorqueue.com/
검증자 대기열이 계속 가득 찬 상태로 유지된다면, 2023년 9월(EIP가 제안된 시점)부터 2024년 5월까지 8개월 동안 약 전체 이더리움의 50%가 지분 증명에 담보될 것이며, 2024년 9월에는 75%가 될 것입니다. 너무 많은 이더를 담보로 맡기면 검증자가 너무 많아 검증자 투표와 서명이 합산되어 검증자의 P2P 네트워크에 부담이 가중되고 합의 체인 상태가 부풀려지는 등 몇 가지 단점이 있습니다. 또한 이더리움에서 요구하는 보안에는 그렇게 많은 이더리움 서약이 필요하지 않으며, 보안 관점에서 다수의 서약은 이더리움의 낭비라고 생각하는 사람들도 있습니다.
이렇게 많은 이더리움이 유입되는 이유는 무엇일까요? 이더를 100% 예치하더라도 연 이자율이 여전히 1.6% 정도이고, 보다 효율적인 자본 활용을 위한 단계인 유동 스테이킹 토큰(LST)의 출현과 MEV의 혜택이 더해져 예치가 매우 매력적인 옵션이 되었기 때문입니다.
다행히도 2023년 하반기에는 서약 붐이 주춤해지면서 검증인 수 증가세가 둔화되었습니다.
△검증자 수의 증가는 2023년 하반기에 둔화되며, 2024년 2월에는 약 25%의 이더리움이 약속됩니다. 출처: https://www.validatorqueue.com/
운영 세부 정보
원래 엔트리 큐의 수는 검증자 수에 따라 제한되었습니다. 엔트리 대기열의 최대 수는 현재 검증자 수에 따라 변동하며, 검증자 수가 65,536명 추가 또는 감소할 때마다 엔트리 대기열의 최대 수는 1씩 증가 또는 감소합니다. 2024년 2월의 엔트리 대기열 최대 수는 14개입니다(현재 검증자 수는 약 95만 명입니다).
EIP-7514는 엔트리 큐 한도를 8로 고정하고 현재 검증인 수가 증가하더라도 이를 늘리지 않아 검증인 수의 증가 속도를 늦추고 커뮤니티가 다음 하드포크의 대상이 될 EIP-7514에 포함될 수 있는 것과 같은 장기적인 솔루션을 마련할 시간을 더 확보할 수 있도록 할 것입니다. 7251."
EIP-4844 및 EIP-7516
EIP-4844: 샤드 블롭 트랜잭션
https://www.eip4844.com/
롤업의 빅 패치: 프로토 댕크샤딩(I)
https://medium.com/taipei-ethereum- meetup/rollup-and-the-boost-from-proto-danksharding-85d2fe0566b6
롤업의 빅 멘드: 프로토 -댕크샤딩 (II)
https:// medium.com/taipei-ethereum-meetup/rollup-proto-danksharding-implementation-detail-913a3c61fde8
EIP-4844는 블롭 데이터를 보관하도록 특별히 설계된 새로운 트랜잭션 유형을 추가합니다. 블롭에 데이터를 저장함으로써 롤업은 트랜잭션 수수료를 더욱 절감할 수 있게 됩니다.
EIP-4844는 확장성 변경이 아니라 블록 가스 한도를 늘리고 비용을 낮춰 블록에 더 많은 트랜잭션을 배치(롤업)할 수 있도록 볼륨을 높이는 변경에 가깝습니다. 그러나 EIP-4844는 또한 진정한 확장 솔루션인 댕크샤딩을 위한 길을 닦고 있습니다.
또한 블롭 거래는 자체 기본 수수료와 우선순위 수수료가 있는 일반 거래와는 별도의 수수료 마켓이므로, EIP-7516은 블롭 거래 수수료 마켓에 새로운 BLOBBASEFEE Opcode(일반 거래의 BLOBBASEFEE Opcode와 동일)를 추가합니다. EIP-7516은 블롭 거래 수수료 마켓에 블롭 베이직 수수료(일반 거래의 베이직 수수료와 동일)를 추가하여 롤업 컨트랙트가 이 옵코드를 통해 블롭의 베이직 수수료를 알 수 있도록 합니다.
요약 및 주요 내용
덴쿤 하드포크는 합의 레이어의 덴넵 하드포크로 구성됩니다. 덴쿤 하드포크는 합의 계층의 데네브 하드포크와 실행 계층의 칸쿤 하드포크로 구성됩니다.
이번 업그레이드의 주요 이벤트는 롤업이 트랜잭션 비용을 더욱 절감하고 댕크샤딩의 기반을 마련할 수 있도록 블롭 트랜잭션 포맷을 도입하는 EIP-4844입니다.
합의 레이어에 대한 변경 사항에는 EIP-7044, EIP-7045, EIP-7514가 포함됩니다.
EIP-7044를 사용하면 관리되지 않는 서약 서비스를 사용하는 검증자가 서비스 검증자가 향후 하드포크에 영향을 받지 않도록 서약할 수 있습니다.
EIP-7045와 EIP-7514는 PoS 네트워크에 안정성을 추가하는 업데이트로 볼 수 있습니다.
실행 계층 변경에는 EIP-1153, EIP-4788, EIP-5656, EIP-6780 및 EIP-7516이 포함됩니다.
EIP-1153, EIP-7045 및 EIP-7514는 PoS 네트워크의 안정성을 높이기 위한 업데이트로 간주할 수 있습니다. EIP-1153은 많은 컨트랙트 설계 패턴을 통해 가스를 많이 절약할 수 있으며, EIP-5656은 가스 비용을 약간 절감할 수 있습니다.
EIP-4788은 실행 레이어가 제3자를 신뢰하지 않고도 합의 레이어를 읽을 수 있게 하여 서약 관련 서비스에 대한 더 많은 가능성을 열어줍니다.
EIP-6780은 '컨트랙트 코드 및 상태 제거' 기능을 제거하여 SELFDESTRUCT를 한 단계 더 발전시켰습니다.
개발자는 EIP-1153을 사용할 때 트랜잭션 후 임시 저장소가 비워질 것이라는 가정에 의존하지 않도록 주의해야 하며, SELFDESTRUCT를 사용할 경우 컨트랙트가 영향을 받을 수 있는지 인지하고 있어야 합니다.
일반 사용자들은 특별히 이를 인지할 필요가 없으며, 롤업이 블롭 거래를 도입하면 거래 비용을 절감할 수 있습니다.
참고 데이터 및 권장 확장 읽기
EIP-1153
EIP-1153
https://eips.ethereum.org/EIPS/eip-1153
< /li>https://www.eip1153.com/
https://ethereum- magicians.org/t/eip-1153-transient-storage-opcodes/553
https://hackmd.io/@-_ WYFKbvSmip5m7MNB4b8A/SJFH66Eca
EIP-4788
https://eips.ethereum.org/EIPS/eip-4788
https://ethereum-magicians.org/t/eip-4788-beacon-root-in-evm/8281
EIP-5656
https://eips.ethereum.org/EIPS/eip- 5656
EIP-6780
https://eips.ethereum.org/EIPS/eip-6780
https://ethereum- magicians.org/t/eip-6780-deactivate-self-destruct-except-where-it-occurs-in-the-same-transaction-in which-a-contract-was-created/ 13539
https://www.youtube.com/watch?v=s7fm6Zz_G0I
EIP-7044
https://eips. ethereum.org/EIPS/eip-7044
https://ethereum-magicians.org/t/eip-7044-perpetually-. valid-signed-voluntary-exits/14348
EIP-7514
https://eips.ethereum.org/EIPS/eip-7514
EIP-4844 & EIP-7516
https:/. /www.eip4844.com/
https://medium.com/taipei-ethereum-meetup/rollup-and-the-boost- from-proto-danksharding-85d2fe0566b6
https://medium.com/taipei-ethereum-meetup/ 롤업-프로토-댕크샤딩-이미션-디테일-913a3c61fde8
https://eips.ethereum .org/EIPS/eip-7516
https://ethereum-magicians.org/t/eip-7516-blobbasefee-opcode/ 15761
이더넷 EIP-4844 업그레이드 및 레이어 2 블롭 사용의 성공 여부를 평가합니다.
JinseFinanceEIP-3074를 통해 EOA는 컨트랙트와 동일한 풍부한 실행 기능을 확보하여 많은 새로운 애플리케이션 시나리오를 열 수 있습니다.
JinseFinanceEIP-3074,비탈릭 부테린,EIP-3074 골든 파이낸스 이후 이더 거버넌스에 대한 고찰,비탈릭은 이더 거버넌스에서 어떤 역할을 하나요?
JinseFinance계약_코드 필드와 서명을 추가하고 해당 거래 중에 서명 계정을 스마트 컨트랙트 지갑으로 변환하는 새로운 거래 유형을 추가하는 것은 EIP-3074와 유사한 기능을 제공하는 것을 목표로 합니다.
JinseFinanceEIP-3074는 일괄 트랜잭션과 제3자 수수료 후원을 허용하는 등 EOA의 프로그래밍 가능성을 높여 이더리움 지갑 사용성을 개선하는 것을 목표로 합니다. 일부에서는 이를 지지하지만, 취약점을 해결할 수 있는 명확한 경로의 필요성을 강조하며 보안에 대한 우려가 지속되고 있습니다.
EdmundEIP-3074,이더 2.0,뱅크리스: EIP-3074가 중요한 이유는 무엇인가요? 골든 파이낸스,이더리움의 최근 핫한 개선안은 거래 방식을 바꿀 수 있습니다.
JinseFinance이더코어 개발자들은 다가오는 하드포크 업그레이드인 프라하/일렉트라(2024년 4분기/2025년 초 예상)에 EIP-3074를 포함할 계획에 합의했습니다.
JinseFinanceEIP-3074는 다음 이더 하드포크(프라하)에서 사용하도록 승인되었습니다. 이 EIP는 사용자가 EVM 체인에서 상호 작용하는 방식을 영원히 바꿔 지갑 사용자 경험을 더 간단하고 저렴하며 강력하게 만들 것입니다.
JinseFinance한 문장 설명: EIP-3074는 스마트 컨트랙트 기능으로 EOA 지갑을 강화하여 사용자가 EVM 체인에서 상호 작용하는 방식을 변화시킵니다.
JinseFinance이더리움 덴쿤 업그레이드를 통해 이더리움 트랜잭션을 블롭으로 제출할 수 있게 되어 블록체인에 데이터를 게시하는 데 드는 비용이 절감될 수 있습니다.
JinseFinance