이더리움 상하이 업그레이드의 역할 및 가져오는 이점

W3.히치하이커
2022-11-08 14:34:54
수집
이더리움 상하이 업그레이드의 역할과 가져오는 이점을 정리해 보겠습니다.

作者:Xiang,W3.Hitchhiker

이더리움 상하이 업그레이드에 대해 간단히 정리해 보겠습니다. 각각 어떤 이점을 가져올 수 있는지 살펴보겠습니다.

이더리움의 최신 공식 메시지와 상하이 업그레이드와 관련된 EIP는 다음과 같습니다:

  • 포함된 EIP: EIP-3651, EIP-3855, EIP-3860, EIP-4895

  • 포함될 가능성이 있는 EIP: EIP-3540, EIP-3670

  • L2 확장성과 관련된 EIP-4488, EIP-4844는 이번 업그레이드 범위에 포함되지 않습니다.

EIP-3651: WARM COINBASE

EIP-3651에 대해 이야기하려면 먼저 EIP-2929의 변경 사항을 소개해야 합니다:

대상이 accessedaddresses에 없을 경우 COLDACCOUNTACCESSCOST(차가운 계정 접근 비용) 가스를 청구하고 주소를 accessedaddresses에 추가합니다. 그렇지 않으면 WARMSTORAGEREADCOST(따뜻한 저장소 읽기 비용) 가스를 청구하며, 따뜻한 읽기는 가스 소모가 상대적으로 낮습니다.

현재 COINBASE에 직접 지불하는 것이 점점 더 인기를 얻고 있지만, 현재 COINBASE에 접근하는 비용이 높습니다. 이는 EIP-2929에서 도입된 접근 목록 프레임워크 하에서 COINBASE가 차가운 계정 접근 비용으로 가스를 계산하기 때문입니다. EIP-3651 이후 accessed_addresses에는 COINBASE(0x41)가 반환하는 주소가 포함됩니다.

이점:

수정 후 COINBASE가 ERC20 토큰을 지불할 때 가스 소모가 줄어듭니다.

EIP-3855: PUSH0 명령어

EIP-3855는 상수 값 0을 스택에 푸시하는 새로운 명령어(0x5f)를 도입합니다. 황서에 따르면 PUSH 명령어 집합에는 현재 PUSH1-PUSH32만 있으며, 1바이트에서 32바이트까지 스택에 푸시하는 역할을 합니다.

기존 명령어 구현에서는 0 값을 스택에 푸시하기 위해 PUSH1 0을 실행해야 하며, 런타임에서 3 가스를 소모하고 추가로 200 가스(2바이트의 저장 비용)를 소모해야 합니다.
image

PUSH0 명령어가 생기면 이 추가 200 가스를 소모할 필요가 없습니다.

이점:

현재 약 11%의 PUSH 작업이 단순히 0을 푸시하므로, 이 EIP가 실행되면 일정량의 가스를 절약할 수 있으며, 이더리움의 기존 TPS를 약간 향상시킬 수 있습니다.

EIP-3860: 초기 코드 제한 및 계산

현재 initcode의 최대 크기는 MAXCODESIZE: 24576(EIP-170)이며, 새로운 initcode의 최대 크기는 (MAXINITCODESIZE = 2 * MAXCODESIZE = 49152)입니다. 이는 계약 크기를 두 배로 확장할 수 있음을 의미하며, 계약 개발자는 더 풍부한 기능을 배포할 수 있습니다. (계약 코드가 너무 크면 배포에 실패할 수 있습니다. PS: L2 프로젝트도 일부 수정되어 더 높은 계약 크기 한도를 지원합니다.)

또한, 매 32바이트의 initcode 청크마다 2 가스 비용을 도입하여 jumpdest 분석 비용을 나타냅니다. 계약 생성 중 클라이언트는 실행 전에 initcode에 대해 jumpdest 분석을 수행해야 합니다. 실행 작업은 initcode의 크기와 선형 관계가 있습니다.

이는 initcode의 매 바이트마다 0.0625 가스 비용이 추가되며, 계약 배포 가스 비용이 약간 상승합니다.

이점:

계약 배포 가스 비용이 약간 상승하지만, 계약 크기를 두 배로 확장할 수 있어 계약 개발자가 더 풍부한 기능 코드를 작성할 수 있습니다.

EIP-4895: 신호 체인 출금

주요 내용은 신호 체인 출금이 EVM으로의 주요 프로세스를 결정하는 것입니다. 배포가 완료되면 이더리움 신호 체인 스테이킹 출금 기능이 활성화됩니다.

이점:

이더리움 신호 체인 스테이킹 출금 기능 활성화.

EIP-3540: EVM 객체 형식 (EOF) v1

이 EIP는 변경 사항이 많으며 반드시 상하이 업그레이드에 포함되는 것은 아닙니다.

이 EIP에서 설명된 형식은 간단하고 확장 가능한 형식을 도입하며 검증을 도입합니다. 계약 코드와 데이터의 분리를 구현합니다.

새로운 EVM 객체 형식은: magic, version, (sectionkind, sectionsize)+, 0, \

입니다.

이점:

버전 관리는 이후 새로운 기능(예: 계정 추상화 도입)을 도입하거나 폐기하는 데 유리합니다;

계약 코드와 데이터의 분리는 L2의 검증(op)에 유리하며, L2 검증자의 가스 비용을 줄입니다;

계약 코드와 데이터의 분리는 체인 상 데이터 분석 도구의 작업을 더 편리하게 만듭니다.

EIP-3670: EOF --- 코드 검증

이 EIP는 반드시 상하이 업그레이드에 포함되는 것은 아니며, EIP-3540과 함께 계약 생성 시 코드 검증을 도입합니다. 정의되지 않은 명령어의 계약을 거부합니다.

이점:

계약 생성 시 코드 검증을 도입할 수 있습니다.

체인캐처(ChainCatcher)는 독자들에게 블록체인을 이성적으로 바라보고, 리스크 인식을 실제로 향상시키며, 다양한 가상 토큰 발행 및 조작에 경계해야 함을 상기시킵니다. 사이트 내 모든 콘텐츠는 시장 정보나 관련 당사자의 의견일 뿐이며 어떠한 형태의 투자 조언도 제공하지 않습니다. 만약 사이트 내에서 민감한 정보를 발견하면 “신고하기”를 클릭하여 신속하게 처리할 것입니다.
banner
체인캐처 혁신가들과 함께하는 Web3 세상 구축