EIP-1559란 무엇인가

duddid04
15 min readOct 14, 2021

EIP-1559란 무엇인가

EIP-1559는 고정 수수료와 블록 사이즈의 유동성을 도입한 새로운 트랜잭션 수수료 가격 매커니즘으로, 이더리움의 이코노미 구조에 커다란 영향을 준 업데이트이다.

배경과 목적

EIP-1559는 기존 가스비 체계의 비효율성과 그로 인한 발생한 문제점들을 해결하기 위해 고안되었다. 이더리움의 기존 가스비 수수료 시스템은 first-price auction은 가장 높은 가격을 지불한 트랜잭션이 가장 먼저 처리될 가능성이 높은 원리로써 일종의 경매와 비슷하다고 볼 수 있다. 그러나 이러한 시스템은 경매가격을 예측하기 어렵고 종종 지나치게 높거나 낮은 가격이 매겨지는 경우가 발생한다는 문제점이 있었다. EIP-1559는 이러한 문제를 해결하기 위해 경매 대신 기본 수수료의 개념을 도입한다. 기본 수수료는 경매 시스템보다 지불해야할 가격 예측을 용이하게 만들어주며 UX측면에서 사용자 편의성이 증가하고 트랜잭션 수요 변화에 대처하기 더 수월하게 만들어준다. 또한 수요 변화에 대한 보다 능동적인 대처를 통해 사용자 대기 시간을 완화하는 것 역시 EIP-1559가 기대하는 또 다른 목표 중 하나이다. 이 밖에도 포크 인센티브 감소와 같은 보안 이슈 역시 EIP-1559 업데이트 이후 기대받는 효과 중 하나이다.

EIP-1559, 어떻게 바뀌는가

1) 이더리움의 트랜잭션 수수료 매커니즘: 경매에서 기본가로

기존 이더리움의 트랜잭션 수수료 매커니즘은 일종의 경매 시스템으로 볼 수 있다. 제시한 경매가가 높을수록 해당 트랜잭션이 블록에 담길 확률도 그만큼 올라갔기 때문이다.

출처: 조선 비즈 “BTS 온라인 콘서트 전세계 99만명 봤다… 시청권 매출 500억대”

예를 들어 유명 가수 콘서트의 입장권을 경매를 통해 판매한다고 가정해보자. 이처럼 입장권을 경매로 판다면 두 가지 문제점이 발생할 수 있다. 첫 번째는 경매 참여자가 얼마를 경매가로 제시해야 하는지 분명히 알기 어렵다는 점이다. 두 번째는 경매가 이루어질 때마다 매번 입장권 가격이 극심한 변동을 보인다는 점이다. 첫 번째 콘서트 때는 만원 정도 하던 입장권이 다음 번 경매 때는 십만원으로 오른다면 이는 콘서트에 참석하고 싶어했던 사람들에게는 대단히 난처한 일이 될 것이다. 바로 이 상황에서 입강권 경매는 이더리움의 기존 가스비 시스템, 콘서트는 이더리움의 블록, 입장권 가격은 이더리움 가스비, 경매 참여자는 이더리움 블록에 담기길 원하는 트랜잭션으로 볼 수 있다. 즉, 이더리움의 블록에 들어가고 싶은 트랜잭션은 가스비 지불 비용을 산정하고 적용하는데 큰 불확실성을 갖게 되는 것이다. EIP-1559는 여기에 Base Fee, 즉 “기본 수수료”의 개념을 도입하여 이러한 문제들을 해결하려 시도한다. 기본 수수료 도입을 통해 가스비로 얼마를 지불해야 하는지 비교적 알기 쉽고 급격한 가스비 변동을 억제하려는 것이다. 이를 위해 기본 수수료는 트랜잭션 수요를 적극적으로 반영하고 기존 이더리움의 가스비 메커니즘 문제를 해결하기 위해 트랜잭션의 수요에 따라 유동적이며 이전 블록의 기록을 토대로 값이 결정되도록 설계되었다.

수식: Base Fee 계산 공식

이를 수식을 통해 조금 더 구체적으로 확인해 보자. 위 공식은 기본 수수료를 계산하는 수식을 나타낸다. 위 공식에 대한 설명은 다음과 같다.

현재 기본 수수료
이전 블록(parent block)의 기본 수수료
이전 블록 사이즈
타겟 블록 사이즈

위 수식을 통해 확인할 수 있는 것은 기본 수수료가 블록 사이즈에 따라 달라진다는 것이다. EIP-1559에서 블록 사이즈는 트랜잭션의 수요에 따라 달라지며 이에 따른 기본 수수료의 변화 값은 이전 블록 기본 수수료의 ±12.5% 범위 안에서만 움직일 수 있다.(이유는 블록 사이즈 파트에서 후술한다.) 만일 트랜잭션 수요가 증가하면 기본 수수료가 +12.5%까지 오를 수 있고 수요가 감소하면 -12.5%까지 떨어질 수 있는 것이다. 따라서, 사용자 측면에서 기본 수수료는 경매 모델보다 예측가능한 모델로 작동하게 된다. 이때 주의할 점은 기본 수수료가 0이되면 사실상 기존의 경매 시스템으로 가격 측정 매커니즘이 회귀한다는 것이다.

모든 트랜잭션은 블록에 포함되기 위해서 기본 수수료를 지불해야 한다. 그러나 모든 트랜잭션이 블록에 포함되기 위해 오직 기본 수수료만 지불하는 것은 아니다. 이전 경매 시스템의 모델과 유사하게 더 빨리 블록에 담기고 싶은 트랜잭션은 채굴자에게 팁(priority fee)를 지불하고 우선순위를 높일 수 있다. 사용자는 자신이 최대로 지불할 의사가 있는 가스의 최대량을 설정하여 제시하며 기본 수수료와 팁의 합은 사용자가 설정한 이 가스의 최대량(fee cap)을 넘지 않는 선에서 정해진다. 이는 반대로 생각하면, 최대 가스 가격은 항상 기본 수수료보다 높아야 한다는 의미이기도 하다.

2) 블록 사이즈

EIP-1559에서 블록 사이즈는 기존 최대 블록 사이즈의 2배 범위 안에서 유동적이며 이더리움의 수요 증감을 측정하는 주요 도구이다. (여기서 블록 사이즈란, 데이터 크기가 아니라 블록 하나에 담기는 총 가스 수량을 의미한다.) 만일 수요가 증가한다면 블록 사이즈 한도 내에서 블록 사이즈는 커지고 반대로 수요가 감소하는 경우에는 블록 사이즈가 작아지게 된다. 이때, EIP-1559는 기존 블록 사이즈 (즉, 새로운 최대 블록 사이즈의 50%)를 타겟 블록 사이즈로 삼고 그 크기를 이전 블록의 사이즈와 비교하여 트랜잭션 수요 증감을 측정한다.

이제 다시 기본 수수료를 구하는 수식으로 돌아가 보자. 위 수식에서

은 최대 블록 사이즈의 50%로 고정되어 있다. 반면

, 이전 블록 사이즈의 크기는 0에서 최대 블록 사이즈(

)까지의 범위를 갖는다. 따라서

이라는 범위가 성립하며 이를 수식에 대입하면

라는 범위를 얻을 수 있다. 이를 그래프로 나타내면 다음과 같다.

그림1 블록 사이즈별 기본 수수료 최대 / 최소 변동률

그렇다면 이제 실제 데이터를 사용하여 기본 수수료를 직접 계산해보자. 이더스캔에서 블록 데이터를 확인하면 다음과 같은 화면을 확인할 수 있다.

그림2 이더스캔의 블록(블록 높이: 13047888) 데이터

이 화면에서 Gas Used는 블록에 들어간 총 가스 수량을 나타내며 위 수식에서 정의한 블록 사이즈와 같다. Base Fee Per Gas는 기본 수수료를 나타낸다. 해당 블록의 이전 블록 데이터는 다음 화면에서 확인할 수 있다.

그림3 이더스캔의 이전 블록 (블록 높이: 13047887) 데이터

제시된 두 화면에서 이전 블록의 기본 수수료와 블록 사이즈를 모두 확인할 수 있다. 따라서 이를 수식에 대입하고 다음과 같은 계산식을 얻을 수 있다.

35.10 * (1 + 1/8 * 1) = 39.49 (소수점 셋째 자리 반올림)

해당 계산식에서 35.105594361은 이전 기본 수수료를 나타낸다. 이전 블록 사이즈가 타겟 블록 사이즈의 두 배에 해당하기 때문에 (이전 블록 사이즈 — 타겟 블록 사이즈) / 타겟 블록 사이즈 = 1이 된다. 이 두 값을 대입하여 계산하면 약 39.49이며 이는 첫 번째 블록 데이터 화면의 Base Fee Per Gas와 반올림으로 인한 오차를 제외하면 거의 동일하다는 것을 확인할 수 있다.

3) 채굴자 보상 구조

앞에서 기본 수수료의 원리와 그 산출 방법을 살펴보았다. 이제 우리는 또 하나의 중요한 변화를 살펴보고자 한다. 기본 수수료는 채굴자에게 전달되지 않고 전량 소각된다. 그리고 이는 사람들이 가장 많이 주목하고 있는 변화라 할 수 있다. 이더리움의 가격에 많은 영향을 끼칠 것으로 보이기 때문이다. 그러나 이더리움의 소각이 시장에 미치는 영향을 알아보기 전에 채굴자 수익 구조의 변화를 먼저 살펴볼 필요가 있다.

그림4 채굴자 수익 구조 (출처: Consensys)

그림4는 기존 이더리움의 채굴자 수익 구조와 EIP-1559 이후 이더리움 채굴자 수익 구조를 비교해서 보여준다. 기존 구조에서 채굴자의 수익은 크게 수수료와 블록 리워드로 나눌 수 있다. 블록 리워드는 블록 당 2이더와 소수의 엉클 블록 리워드로 이루어져 있으며 EIP-1559 이후에도 구조가 유지된다. 반면 수수료 수익은 크게 달라진다. EIP-1559 이후 수수료는 기본 수수료와 팁으로 나누어지며 팁은 채굴자에게 돌아가지만 기본 수수료는 전량 소각된다.

그림5 기존 EIP-1559 트랜잭션 구조 (출처: 암호거북 소식지)

그림 5,6을 통해 이를 조금 더 구체적으로 살펴보자. 그림2는 기존 이더리움의 채굴자 수익을 나타낸다. 기존 구조에서 채굴자는 사용자가 지불한 가스 * 가스 가격을 전량 가져갔으며 이에 더해 블록 리워드를 보상받았다.

그림6 EIP-1559 트랜잭션 수수료 구조 (출처: 암호거북 소식지)

반면 EIP-1559 이후 채굴자는 사용자가 지불한 팁만 가져가며 기본 수수료는 소각되고 사용자가 설정한 fee cap에서 사용되지 않은 수수료는 사용자에게 돌아간다. 이를 정리하면 다음과 같다.

사용자 정리 금액 = 사용된 가스 * (사용자가 설정한 fee cap과 팁+기본 수수료 중 작은 값)

채굴자 수익 = 사용된 가스 * (팁과 fee cap — 기본 수수료 중 작은 값)

4) 채굴자 수익

시스템의 변경된 부분만 고려한다면, 사용한 가스가 이전과 동일할 때, 채굴자의 수익은 감소한다. EIP-1559 이전 채굴자 수익 중 각 항목이 차지하는 비율은 아래 그림과 같다. (2021년 7월 기준) 아래 그림에서 파란색 부분은 블록 채굴과 엉클 블록에 대한 리워드를 나타내며 주황색 부분은 트랜잭션 수수료, 초록색은 MEV로 인한 수익을 나타낸다. EIP-1559는 이 중 주황색 부분을 감소시킨다. 하지만 채굴자의 수익이 무조건 감소하는 것은 아니다. 가스비 상승과 더불어 팁 역시 높아진다면 채굴자의 수익이 오히려 증가할 수 있다.

그림7 Ethereum 채굴자 수익 구조 (출처: Deribit Insights)

EIP-1559 업데이트에 있어 채굴자들과 관련되어 논의되는 사안은 3가지가 있다. 첫번째는 채굴자에게 지불하는 팁이 지나치게 높아지는 경우이다. 그러나, 이 경우 기본 수수료가 증가하여 높아진 트랜잭션 수요를 흡수하기 때문에 지속적으로 팁이 높게 유지될 가능성은 높지 않다. 두번째는 채굴자들이 의도적으로 트랜잭션을 하나도 포함하지 않은 텅 빈 블록을 생성하는 경우이다. 이는 트랜잭션을 의도적으로 처리하지 않는 것으로, 궁극적으로 기본 수수료 가격을 낮춰 채굴자에게 주어지는 팁의 가격을 올리기 위함이다. 그러나 이 상태는 지속적으로 유지되기 어렵다. 트랜잭션 수수료를 원하는 또 다른 채굴자가 수수료를 얻기 위해 트랜잭션을 담은 블록을 생성할 수 있기 때문이다. 즉, 텅 빈 블록이 계속 유지되고 팁을 높이기 위해서는 해시 파워의 51%를 장악해야 한다는 의미이며 이것은 사실상 불가능하다. 세 번째는 MEV(miner extractable value)이다.

MEV는 “채굴자가 생성하는 블록에 트랜잭션을 임의로 포함, 제외 또는 재정렬할 수 있는 능력을 통해 채굴자가 얻는 이익의 척도” 를 의미하며 쉽게 말해 채굴자들이 자신들의 능력을 활용하여 실제 사용자가 지불해야할 비용을 높이고 자신의 이익을 극대화하는 행위라 볼 수 있다. 채굴자들은 자신이 채굴할 블록에서 트랜잭션 순서를 조정하여 선행 매매를 하거나 백러닝(트랜잭션이 끝난 후 차익을 노린 주문 수법), 또는 이 둘을 결합한 샌드위치 공격을 주로 활용한다. EIP-1559가 MEV에 끼치는 영향은 긍정적인 시각, 부정적인 시각이 양립하고 있다. 채굴자의 수익이 줄어들기 때문에 MEV를 더욱 적극적으로 추출할 것이라는 우려가 존재하는 반면 일각에서는 가스비가 보다 예측 가능하며 급격한 가스비 변동에 대한 방어력이 비교적 높다는 점에서 어느 정도 MEV로 인한 가스비 상승을 억제할 수 있다는 기대도 존재한다. 그러나 중요한 점은 EIP-1559가 MEV를 근본적으로 해결하고자 하는 목적으로 고안된 것이 아니며 MEV는 계속 존재할 것이라는 점이다. Coindesk에 따르면, flashbot 리서처인 Philip Daian은 이 문제에 대해 “블록에 포함되기 위해 사용자가 지불하는 트랜잭션 수수료는 MEV 시장 전체에서 일부에 지나지 않는다… 게임(MEV market)의 구조는 근본적으로 그대로이며 우리는 프로토콜 밑단에서 EIP-1559가 어떻게 적용될지 아직 더 많은 연구가 필요하다.”고 언급한 바 있다.

EIP-1559의 흔한 오해들

1) Ethereum tx fee는 감소하는가?

우선, EIP-1559의 목적은 이더리움 가스비 그 자체의 감소가 아니라는 점을 밝힌다. EIP-1559의 목적은 가스비 감소보다 가스비의 변동성을 감소시키는 것에 가깝다. 따라서 EIP-1559가 도입된다 하더라도 이더리움 트랜잭션 수수료는 그 수요와 처리 능력에 따라 감소와 증가 양방향으로 움직일 수 있으며 어느 한 방향으로만 움직일 것이라 단언하는 것은 불가능하다.

2) 이더리움의 가격은 올라가는가?

가스비와 마찬가지로 EIP-1559은 이더 가격 상승을 염두에 두고 고안된 것이 아니다. 그럼에도 불구하고 EIP-1559에 추가된 기본 수수료를 소각한다는 매커니즘은 이더가 디플레이션이 발생하여 가격이 상승할 것이라는 기대를 갖게 한다. 추가적인 인플레이션이 발생하지 않기 때문에 이와 관련해서는 2가지 시나리오가 존재한다. 첫 번째는 인플레이션의 감소이다. 이는 블록 리워드와 엉클 리워드로 새로 발행되는 이더가 소각되는 이더 양보다 많을 때 발생한다. 두 번째는 디플레이션이다. 두 번째 시나리오는 소각되는 이더의 양이 블록 리워드와 엉클 리워드의 합보다 많을 때 발생한다.

포크 감소와 안정성 강화

EIP-1559는 채굴자 수익 중 트랜잭션 수수료의 비중을 낮추고 네트워크 안정성에 기여한다. 채굴자 수익 중 트랜잭션 수수료가 차지하는 비중이 지나치게 높으면 트랜잭션 수수료를 노리고 포크를 시도할 수 있다(undercutting attack). EIP-1559는 채굴자의 수익과 트랜잭션 수수료를 분리시켜 채굴자가 트랜잭션 수수료를 노린 포크를 시도할 유인을 감소시킨다.

그림8 Undercutting Attack (출처: On the Instability of Bitcoin Without the Block Reward 논문)

Reference

<개념>

EIPs/eip-1559.md at master · ethereum/EIPs

Debunking Myths About Ethereum’s EIP 1559 Upgrade — CoinDesk

Ethereum’s ‘London’ hard fork: What it is and why it matters

EIP-1559: Fee market change for ETH 1.0 chain

London Testnets Announcement

이더리움 2.0과 앞으로 변화 (2021년 7월판)

What is EIP-1559? How Will It Change Ethereum? | ConsenSys

We answered the most popular questions about Ethereum’s EIP-1559

Analysis of EIP-1559

Explained: Ethereum’s London hard fork (EIP-1559) launches today — what you need to know | finder.com.au

EIP-1559에 대하여

Here’s what ether miners should expect from EIP 1559.

<생태계 도구>

What Will Change for Users and Developers After EIP-1559 — The Defiant — DeFi News

EIP-1559 Community Outreach Report

1559 Cheatsheet for Implementers — HackMD

1559-outreach/README.md at main · ethereum-cat-herders/1559-outreach

#SupportEIP1559 🔥 — Protect Ethereum’s transaction user experience from attack.

eth1.0-specs/ecosystem-readiness.md at master · ethereum/eth1.0-specs

Watch The Burn: EIP-1559 Real-Time Visualization

EIP-1559: Fee market change for ETH 1.0 chain

ethers

EIP-1559 Transaction Support · Issue #1610 · ethers-io/ethers.js

<현황>

ETHBurned.info

Ethereum (ETH) Blockchain Explorer — etherchain.org — 2021

ultrasound.money

Gas Metrics (Ethereum Mainnet)

Dune Analytics

Dune Analytics

<리스트>

EIP-1559 Resources 🔥 — HackMD

--

--