본문으로 건너뛰기
0%

EIP-1559란 무엇인가?

Alchemy team headshot

작성자 Alchemy

2022년 5월 3일에 게시됨6분 읽기

블록체인은 완벽하지 않습니다. 시간이 지나면서 트랜잭션과 사용자 수가 늘어남에 따라 네트워크에 새로운 요구 사항이 생겨납니다. 개선 사항에는 네트워크를 더 견고하고 안전하게 만들거나 더 나은 사용자 및 커뮤니티 경험을 제공하기 위한 변경이 포함될 수 있습니다.

Ethereum 프로토콜을 개선하기 위해 사용자는 Ethereum Improvement Proposals (EIP)라는 제안을 만들 수 있습니다. EIP가 무엇인지 살펴본 다음 EIP-1599를 더 자세히 알아보겠습니다.

Ethereum 개선 제안의 세 가지 트랙은 무엇인가요?

EIP는 Ethereum 생태계의 특정 측면에 대한 프로세스나 설계를 개선하기 위한 제안입니다. EIP가 분류될 수 있는 세 가지 제안 트랙이 있습니다:

  • Standards
  • Meta
  • Informational

앞으로 살펴보겠지만 이 세 가지 트랙은 각각 다른 용도로 쓰입니다. 이 중 Standards Track은 Ethereum 구현의 상당 부분을 변경하게 될 EIP를 위한 것입니다. 뒤에서 더 자세히 다룰 EIP-1559는 Standards Track EIP의 한 예입니다.

Standards Track

Standards Track에는 4가지 카테고리가 있습니다:

코어 변경 사항

Core 개선 사항은 Ethereum 프로토콜의 핵심 기능에 대한 변경입니다. 이러한 변경 사항은 구현하려면 합의 포크가 필요합니다. 그 예로 opcode 목록의 가스 비용을 인상한 EIP-2929를 들 수 있습니다.

네트워크 상호작용 변경 사항

Networking 개선 사항은 트랜잭션 검증이나 합의와 같이 네트워크 상호작용에 대한 모든 변경을 의미합니다. EIP-2124는 networking EIP의 한 예입니다. 이 제안은 노드가 같은 포크에서 동작 중인 다른 노드를 찾는 데 걸리는 시간을 줄여주는 '포크 식별자'를 만들어 노드가 서로를 식별하는 방식을 개선했습니다.

인터페이스 변경 사항

Interface EIP는 클라이언트 작업 시 사양에 대한 모든 개선 사항을 다룹니다. 이 카테고리에 속하는 중요한 EIP로 EIP-2700이 있습니다. 이 EIP는 온체인에서 발생하는 상태 변경을 Javascript 애플리케이션에 알리는 Javascript 이벤트 이미터 객체를 만들었습니다.

ERC는 애플리케이션 수준의 표준을 제안합니다

Ethereum Request for Comments (ERC) EIP는 애플리케이션 수준의 표준과 규약을 개선하기 위한 제안입니다. ERC EIP인 EIP-3156은 Ethereum에서 단일 자산 플래시 론을 수행하기 위한 표준을 만들기 위해 마련되었습니다. 이 EIP가 도입되기 전에는 플래시 론을 수행하는 여러 다른 표준이 존재했습니다. 이 EIP의 목표는 단일 표준을 만들어 사용자에게 단순함을 제공하고 기술 부채를 줄이는 것입니다.

Meta 및 Informational Track

EIP를 위한 다른 두 트랙으로 MetaInformational이 있습니다:

Meta는 프로세스를 변경합니다

이는 특정 프로세스에 대한 변경 사항을 문서화하는 EIP입니다. Standards Track의 EIP와 달리 Ethereum 코드베이스에 대한 변경이 필요하지 않습니다.

Informational은 가이드라인을 변경합니다

Informational EIP는 Ethereum에 새로운 기능을 제안하지 않습니다. 이는 Ethereum 커뮤니티에 가이드라인과 정보를 제공하기 위한 것입니다. 그 예로 Ethereum '메인넷'의 명칭을 고유명사로 공식화한 EIP-2228이 있습니다. 이는 작성자들이 "main net" 또는 "mainnet"과 같이 다르게 표기하면서 발생할 수 있는 혼동을 방지하기 위한 것이었습니다.

제안 프로세스는 어떻게 진행되나요?

커뮤니티 구성원이라면 누구나 EIP를 제안할 수 있습니다. 이는 EIP Github 저장소에 제안서를 제출함으로써 이루어집니다. 저장소에는 제출 방법에 대한 표준 설계와 프로세스가 설명되어 있습니다.

EIP가 제출되면 다음과 같은 프로세스를 거칩니다:

1) Draft - 아직 수정과 변경이 가능한 공개된 EIP 상태입니다. 커뮤니티 구성원은 작성자에게 피드백을 제공하고 EIP가 구현하고자 하는 변경 사항을 논의할 수 있습니다.

2) Last Call - EIP가 위원회의 검토를 받을 준비가 된 단계입니다. 검토는 Ethereum 재단과 커뮤니티 구성원으로 이루어진 편집자 팀이 수행합니다.

3) Final - Core가 아닌 제안의 경우 기술적 변경 사항이 구현됩니다. Core 제안의 경우 Ethereum Core Devs가 승인을 보내고 향후 하드 포크에서 변경 사항을 구현할 계획을 세웁니다.

4) Deferred - Deferred 제안은 검토를 마쳤으나 추후 재검토를 위해 보류하기로 결정된 것입니다.

EIP process Sourcehttps://blog.bitnovo.com/en/what-is-ethereum-improvements-proposals-eip/
EIP process Sourcehttps://blog.bitnovo.com/en/what-is-ethereum-improvements-proposals-eip/

이제 EIP에 대한 배경 지식을 갖췄으니 EIP-1559를 더 자세히 살펴보겠습니다.

EIP-1559 제안이란 무엇인가요?

EIP-1559는 가스 수수료 구조와 채굴자 보상 방식을 변경한 제안입니다. 이 제안은 2021년 8월 5일, Ethereum의 London Hard Fork의 일부로 구현되었습니다.

Field
Value

Author

Vitalik Buterin, Eric Conner, Rick Dudley, Matthew Slipper, Ian Norden, Abdelhamid Bakhta

Discussions-To

Status

Final

Type

Standards Track

Category

Core

Created

2019-04-13

Requires

2718, 2930

문제

Ethereum의 주요 과제 중 하나는 사용자가 비용 부담으로 인해 트랜잭션을 처리하지 못하는 일이 없도록 트랜잭션 비용이 지나치게 높지 않은 확장 가능한 네트워크를 제공하는 것입니다. Ethereum의 인기가 높아지면서 트래픽이 증가하고 네트워크는 심각한 혼잡을 겪게 되었습니다.

이러한 혼잡은 채굴자가 자신의 트랜잭션을 블록에 담도록 하기 위해 사용자들 사이에 first-price auction 방식의 "입찰 전쟁"을 만들어냅니다. 가장 높은 금액을 제시한 입찰자의 트랜잭션은 가장 큰 보상을 제공하기 때문에 채굴자가 우선적으로 처리하는 반면, 나머지 트랜잭션은 mempool에 대기 상태로 남게 됩니다.

해결책

EIP-1559의 목표는 트랜잭션에 대한 기본 수수료(base fee)를 설정하고 이러한 트랜잭션을 담는 블록 크기를 늘려 네트워크의 트래픽 흐름을 개선하는 것입니다. 블록 크기를 늘리면 더 많은 트랜잭션을 담을 수 있게 되어 사용자 간의 금전적 경쟁이 줄어듭니다.

Base Fee 변경 사항

트랜잭션에 대한 base fee가 도입되면서 London Fork 이전에 존재하던 입찰 우선 방식은 제거되었습니다. Base fee는 채굴자가 트랜잭션을 다음 블록에 담기 위해 필요한 금액입니다.

이 base fee는 블록의 용량에 따라 시간이 지나면서 12.5%씩 변동됩니다. 블록이 50% 이상 채워지면 12.5% 인상되고, 블록이 비어 있으면 12.5% 인하됩니다. 50% 용량에서는 변동이 없습니다.

Ethereum이 EIP-1559를 구현한 이후에도 트랜잭션을 우선 처리할 수 있는 옵션은 여전히 존재합니다. 이는 사용자가 트랜잭션에 priority fee를 추가함으로써 이루어지며, 이는 채굴자에게 지급하는 팁 역할을 합니다. 사용자는 트랜잭션에 max_priority_fee_per_gas를 설정함으로써 자신이 지불할 의사가 있는 금액을 나타냅니다.

채굴자가 블록에 스팸성 트랜잭션을 포함시켜 base fee를 인상시킬 유인을 없애기 위해, EIP는 소각(burning) 메커니즘도 함께 구현합니다. ETH를 소각한다는 것은 아무도 접근할 수 없는 지갑으로 ETH를 전송하여 사용 가능한 ETH 공급량에서 제외시키는 것을 의미합니다.

블록의 현재 용량에 따라 결정되는 트랜잭션의 base fee는 네트워크에 의해 소각되며, priority fee만 채굴자에게 지급됩니다. EIP-1559 이전에는 채굴자가 전체 트랜잭션 수수료를 받았습니다.

결과

직접적인 목표는 아니었지만, EIP-1559 도입 이후 사용자는 가스 수수료를 예측하기가 더 쉬워지면서 가스 비용을 절감하고 있습니다. 트랜잭션의 확정 소요 시간 또한 EIP-1559 이전보다 감소했습니다. 일일 트랜잭션에서 소각되는 ETH의 양은 모니터링되고 있습니다. 이 데이터를 살펴봄으로써 커뮤니티는 EIP-1559가 채굴자 보상, base fee, 블록당 전체 트랜잭션 수에 미치는 영향을 파악할 수 있습니다.

BLOCK
BURNED
TIPS
REWARDS
BASE FEE
PRIORITY FEE
GAS USED
TXN
AGE

14696917

0.5615 ETH

0.0354 ETH

2 ETH

44 GWEI

1 GWEI

12,776,101 (85%)

163 (93%)

36 sec ago

14696916

1.1706 ETH

0.1764 ETH

2 ETH

39 GWEI

2 GWEI

29,962,669 (200%)

286 (70%)

53 sec ago

14696915

0.0534 ETH

0.005 ETH

2 ETH

44 GWEI

4 GWEI

1,210,288 (8%)

9 (56%)

55 sec ago

14696914

0.363 ETH

0.0828 ETH

2 ETH

47 GWEI

2 GWEI

7,725,733 (52%)

88 (65%)

56 sec ago

14696913

0.3274 ETH

0.0165 ETH

2 ETH

51 GWEI

2 GWEI

6,472,229 (43%)

74 (89%)

1 min ago

결론

EIP는 Ethereum이 프로토콜로서, 또한 Web3 리더로서 성장하는 데 중요한 역할을 합니다. 커뮤니티가 Ethereum의 방향에 대해 제안하고 영향을 미칠 수 있도록 함으로써 다양한 규모의 개선이 이루어질 수 있습니다. EIP-1559는 이를 잘 보여주는 예이며, Ethereum의 향후 가능성을 보여줍니다.

EIP-1559 트랜잭션을 전송하고 재시도하는 방법과 Gas Fee Estimator를 구축하는 방법은 EIP-1559 Resource and Tutorial Hub에서 확인해 보세요.

Background gradient

블록체인 매직을 만드세요

Alchemy는 가장 강력한 Web3 개발자 제품 및 도구를 리소스, 커뮤니티, 그리고 전설적인 지원과 결합합니다.