owned this note
owned this note
Published
Linked with GitHub
# Microeconomic Analysis of Gas Price Mechanism and Mitigation
Danny Her
> *Thanks to every engineer at Onther, and especially to Vitalik Buterin at Ethereum Foundation for the continuous ideation of TX Fee market in a block space.[1](https://ethresear.ch/t/pigouvian-taxation-on-gas-system-out-of-externality/3219/19)*
## Abstract
본 문서에서는 이더리움 블록체인에서 높은 Gas Price로부터 발생해오던 부정적 외부 효과를 내부화시키는 방법으로서, 외부 불경제의 원인자에게 **"피구 조세(Pigouvian Tax)" 를 부과하고 사회적 비용을 내재화시키는 온체인 프로토콜**을 제안한다.
## 배경
블록체인 기술 및 암호화폐의 대중적 수용(Mass Adoption)을 위해서는 크게 세 가지 문제의 해결이 선행되어야 한다.
> **1. 한 블록 내에서 허용될 수 있는 트랜잭션 수의 제한**
> **2. 암호 자산(Crypto Asset)의 가격 변동성**
> **3. UX/DX를 저하시키는 높은 트랜잭션 수수료**
상기 세 가지의 조건 가운데, 본 문서에서는 *높은 트랜잭션 수수료로 인해 블록체인 네트워크의 사용성이 저하*될 수 있는 세 번째 문제를 해결하기 위하여 작성되었다.
이더리움 블록체인에서 사용하는 Tx Fee 구조에서 발생하는 시장 실패 및 경제적 비효율성 논쟁은 2014년에 처음으로 논의되었고, 이후 2018년 Ethereum Foundation의 수석 과학자 Vitalik Buterin에 의해 현행 Gas System의 문제점인 ***"외부 불경제"*** 문제가 다시금 지적되었다.[1](https://blog.ethereum.org/2014/02/01/on-transaction-fees-and-the-fallacy-of-market-based-solutions/) [2](https://vitalik.ca/files/Transaction%20fee%20economics.pdf)
네트워크 상에서 TX를 보내고자 하는 *수요가 많아짐에 따라* Gas Price 역시 점진적으로 상승한다는 것은 경험적으로도, 실증적으로도 입증되었다. 이러한 현상은 수요가 많은 ICO나 dApp(Cryptokitty, Fcoin 등)의 사례에서 특히 두드러졌는데, 네트워크의 사용량이 증가함에 따라 Gas Price가 급격히 증가하고 TX가 펜딩되는 등 일반적인 TX Sender에게 일종의 FOMO 현상이 발생할 수 있음을 명백히 보여주었다. [3](https://bitcointalk.org/index.php?topic=1960733.180)
다시 말해서, Gas Price를 높이 책정할 생각이 없는, 즉 *유보 수수료가 낮은* 일반 사용자들은 높아지는 Gas Price 때문에 사용성 측면에서의 피해를 받게 된다. 따라서 이러한 단순 호가(First-Price Auctioning) 방식의 TX Fee 모델 하에서 발생했던 FOMO 현상은 이더리움 블록체인 네트워크 상에서의 *사회적 오염* 으로 바라볼 수 있다.
> cf) 유보 수수료 : 특정 TX를 발생시키기 위해 용인할 수 있는 최소한의 수수료.
이러한 외부 불경제 현상은 플랫폼으로써 활용될 블록체인의 대중적 수용(Mass Adoption)까지 어렵게 하기에, 블록체인 연구자 및 개발자라면 높아지는 TX Fee 문제를 어떻게 제어할 수 있을지에 대한 해결책을 반드시 고안해야 할 것이다.
## 배경지식
### 1. 외부 불경제
우선, 외부불경제(Negative Externality)란 *"External Cost. **어떤 일방의 경제 행위가 그와는 상관없는 제3자에게 부정적인 영향을 끼침으로 발생하는 경제비용**"* 정도로 간단히 표현될 수 있다.[4](https://atomic.snu.ac.kr/index.php/%EC%99%B8%EB%B6%80%EB%B9%84%EC%9A%A9) 외부불경제 현상의 핵심은 특정 오염 물질의 거래 수준이 최적 거래량보다 *과다 발생* 한다는 점이다.
### 2. 전통적인 외부 불경제 해소법
#### i) 공해 유발자 부담 원칙
외부 불경제를 초래한 원인 제공자들이 사회적 비용을 직접 부담하도록 하여 오염물질의 가격 또는 수량에 외부 비용을 시장 안에 *내재화시킨다*. 본 문서에서는 최적 Gas Price의 수준보다 높은 Gas Price를 책정할 경우, 해당 행위를 발생시킨 주체에게 조세를 부과하여 TX Fee Market 안에 외부 비용을 내재화시키는 것을 의미한다.
#### ii) 징벌적 조세, 피구세(Pigouvian Taxation)의 활용
외부 불경제 현상으로부터 발생하는 **외부 비용**만큼을 피구 조세로 책정하여 공해 유발자에게 부과하고, 재화의 가격 또는 수량에 외부불경제를 내재화시킬 수 있다. 이를 통해 공해 유발자가 ***자발적으로*** 사회적 최적 수준에 수렴하게끔 오염 물질을 생산(소비)하는 것을 유도한다.
### 3. 블록 채굴자는 독점 기업이다
특정 블록 내(Block Space)에서 TX 컨펌에 필요한 연산 작업의 가격과 수량을 자의적으로(arbitrarily) 선택할 수 있는 채굴자의 특성상, TX Fee Market에서 공급자 역할을 하는 채굴자는 독점 기업으로 볼 수 있다. 다만, 한 블록 내에서는 특정 Block Gas Limit(i.e. 8 MM)을 초과하여 재화를 공급할 수 없고 사전적으로 재화의 가격을 결정하는 측은 수요자이다. (First-price auctioning 방식)
### 4. 일반적인 환경세의 디자인
환경세를 디자인하는 방법에는 여러가지가 있지만, 본 문서에서 우리가 집중해야할 부분은 크게 3가지로 일축될 수 있다. [6](http://www.oecd.org/environment/tools-evaluation/48164926.pdf)
> i) 오염 물질을 배출하는 행위를 명확히 하는 것.
> ii) 사회적 비용을 반영하는 세율의 결정(TBD).
> iii) 공급자와 수요자의 가격 탄력성을 반영한 과세(TBD).
### 5. 이더리움 네트워크에서의 오염 물질은 무엇인가 ?
앞서 언급했듯이, 외부 불경제 현상을 측정하기 위해서는 우선적으로 어떤 것이 네트워크에 사회적 비용을 가져오는 행위인지 명확하게 알아내야 한다.
일차적으로는 ***"Gas Price가 최적 수준보다 높아지는 행위"*** 자체를 오염의 수준으로 파악했으며 이것의 원인이 공급자로부터 발생하는지, 수요자로부터 발생하는지를 파악하여 외부 불경제 현상의 원인을 어디에서 기인할 수 있는지 분석해야 한다.
최종적으로, 원인 제공자를 파악해냈다면 해당 원인 제공자에게 피구 조세 메커니즘을 적용하여 최적 Gas Price 수준 및 거래량으로 TX Fee Market을 최적화시키는 것이 연구의 목표이다.
## 문제 의식
### **Gas Price가 높은 수준에서 유지되는 이유**
현행 Gas System의 문제점은 동일한 Gas Used가 할당된 트랜잭션이라면, 가장 높은 Gas Price(*N Gwei*)가 최종적으로 채택될 TX일 확률이 매우 높다는 점이다. 즉, 동일한 연산 작업량 하에서 이기적 TX Sender들에 의해 평균 수준보다 높은 Gas Price가 지속적으로 책정된다면 일반적인 TX Sender들에게는 사회적 비용이 발생한다.
여기에서의 사회적 비용이란 Gas Price가 높아짐에 따라, 유보 수수료가 낮은 TX Sender들의 불안감(FOMO)을 의미한다고 볼 수 있다.
**즉, 높은 Gas Price를 갖는 TX가 많아질수록** 블록체인 네트워크 내에서는 *높은 Gas Price 수준*이 형성, 즉 네트워크 상에서의 환경 오염 내지 오염 물질이 형성된다는 것이다. 이러한 현상은 기본적으로 두 가지 측면에서 그 원인을 추론해 볼 수 있다.
### **외부 불경제의 원인 : 소비 측면 VS 공급 측면**
![](https://i.imgur.com/oyU1gxo.png)
#### i) TX Sender가 자신의 TX를 블록 안에 포함시키기 위해 Gas Price를 높이는 배타적 행위 (소비 측면)
마이너가 높은 Gas Price를 채택하는 행위는 제한된 Block Gas Limit 내에서 자신들의 이윤을 극대화한다는 측면에서 지극히 당연한 행위이다. 만약, 특정 블록에 자신의 TX가 최우선으로 컨펌되길 원하는 TX Sender가 평균 수준보다 높은 수준의 Gas Price를 애초에 설정하지 않는다면 높은 Gas Price로 인해 일반적인 참여자들에게 피해를 주진 않을 것이다.
즉, 높은 값을 주고 블록체인 리소스를 소비하려는 행위 자체가 Gas Price의 수준을 높인다는 것이다. 즉, 이 경우에는 소비 측면의 외부 불경제에 집중할 수 있고 조세 부과의 대상을 TX Sender로 설정할 수 있다.
#### ii) 공급 독점 TX Fee 시장에서 마이너가 갖는 독점적 지위 (공급 측면)
마이너는 특정 블록 내(block space)에서 재화(블록체인 연산 자원)를 공급하는 공급자 역할을 한다. 이 때, 마이너는 단일 공급자이고 수요자는 다수이기 때문에 해당 시장에서 마이너는 독점 기업의 역할을 한다고 볼 수 있다.
즉, 특정 블록을 컨펌하는 마이너에게는 재화의 가격 및 거래량을 독점적으로 결정할 수 있는 권한이 있고 이로부터 Gas Price의 수준이 결정되어 외부 불경제 현상이 발생한다는 것이다. 이는 오일 및 석유를 독점적으로 공급하는 회사로부터 발생하는 외부 불경제 효과와 유사하다고 볼 수 있다.[5](https://www.oecd-nea.org/ndd/pubs/2018/7298-full-costs-2018.pdf)
### **TX Fee Market에서의 외부 불경제 : *수요* 측면에서의 외부 불경제**
본 문서에서는 전자의 안을 채택하여, 블록체인 네트워크 상에서 오염 물질을 발생시키는 주요 원인을 **"평균 수준보다 높은 Gas Price를 책정하는 TX Sender"** 로 바라보고 논의를 진행할 것이며, 피구세의 종류는 일종의 자동차세, 유류세 등 소비세의 일종과 유사한 형태의 징벌적 조세(tax as a disincentive)를 부과하는 방식을 채택하게 될 것이다.
현재 이더리움 블록체인 네트워크 상에서의 외부 불경제 현상은 과도한 Gas Price를 책정하여 블록체인 리소스를 소비하는 TX Sender로부터 발생하기 때문에, 수요 측면의 외부 불경제라고 볼 수 있다. TX Sender는 자신의 행위가 사회적으로 외부 불경제 현상을 발생시킨다는 것을 인지하지 못하고 최적 소비량보다 **과다 소비하는 것**으로 보는 것이 타당하다.
따라서, 오염물질 유발자로서 피구 조세가 부과되어야 할 대상은 **TX Sender**가 되어야 한다. Gas Price는 사전적으로 개별 TX Sender에 의해 책정되며, Gas Price의 물가 수준이 높아지는 것 역시 네트워크 수요가 많아질 때 Gas Price를 지속적으로 높이는 TX Sender에 의해 발생한다고 볼 수 있다. 따라서, Gas Price를 책정할 때 최적 Gas Price 수준보다 높은 수수료를 책정할 경우 프로토콜 상의 피구세 메커니즘에 의해 자동적으로 경제적 디센티브가 가해진다.
## **온체인 프로토콜에 위치한 Trustless 알고리즘**
Trustless ; **시장 원리**에 입각한 블록체인 합의 시스템
블록체인의 특성상, 특정 행위를 체인 외부에서 독립적으로 규제한다는 것은 탈중앙화 이념과 신뢰가 필요없는 분산 시스템이라는 블록체인의 속성에 부합하지 않는다. 뿐만 아니라, 해당 행위가 발생할 때마다 일일히 그 행위를 막아내는 일 역시 비효율적이다.
따라서, 필자는 온체인 프로토콜 레이어에서 신뢰하지 않아도 되는(Trustless) 룰을 지속적으로 고안해왔는데, 트랜잭션 수수료 완화 및 외부 불경제의 내부화 모델에서 차용될 수 있는 On-chain Trustless 메커니즘이 바로 피구세 메커니즘이다.
기존에도 프로토콜 레이어에서 블록체인의 구조적 안정성을 보장하는 메커니즘은 있었다. 바로 *Difficulty*다. 이더리움 블록체인의 경우에는 약 10~19초 정도의 블록 생성 시간을 목표로 두고 블록 생성에 대한 난이도를 동적으로 조절하는 메커니즘을 갖고 있다. [7](https://dltlabs.com/how-difficulty-adjustment-algorithm-works-in-ethereum/) [8](https://www.coinwarz.com/difficulty-charts/ethereum-difficulty-chart)
Difficulty 메커니즘의 경우에는 블록 생성 속도가 너무 빠를 경우, 자동으로 난이도가 조절되어 마이너로 하여금 블록 생성 속도를 늦추는 알고리즘을 갖는다. 이와 유사한 맥락으로서, 피구 조세 메커니즘의 경우에는 마이너가 아니라 *TX Sender로 하여금* 너무 높은 Gas Price를 책정하지 못하도록 프로토콜 상에 규칙을 심어두는 것이다. 그리고 이는 각 노드가 신뢰할 필요가 없는(Trustless) 블록체인 상의 암호경제학적 프로토콜로서, Gas Price의 수준을 일정 수준 하에서 안정화시키는 데에 일조할 것이다.
Tax Mechanism의 경우, 온체인 솔루션으로써 한 번 프로토콜에 implement되기만 하면 Difficulty 메커니즘과 같이 자동적으로 블록체인의 구조를 안정화시키는 데에 활용된다. 즉, 합리적으로 추론된 적정 Gas Price 수준과 피구 조세의 세부적인 변수들을 설정해놓는다면 Second Price Auctioning이나 랜덤하게 선택되는 TX Fee를 구현하는 것보다 훨씬 효율적인 방법론이 될 수 있다는 것이다.
다시 한 번 결론을 말하자면, 평균 or 최적 수준보다 높은 Gas Price를 책정하는 TX Sender에게는 자동적으로 피구 조세가 부과되는 알고리즘이 설계될 것이며 최종적으로는 피구세의 세율인 T%만큼 추가적으로 Gas Price를 지불하게 되어 블록체인 네트워크에서 발생한 사회적 비용이 TX Fee Market 안에 내재화된다.
따라서 i) **Gas Price를 높게 책정하는 TX Sender에게는 피구 조세를 부과하여 Gas Price를 적정 수준에서 유지**시키고 ii)**마이너들로 하여금 각 TX들을 최대한 무차별하게 채택**하게끔 유도하는 것에 대한 연구가 필요하다.
## **변수 설정**
피구 조세 메커니즘을 설정하기 위해서는 우선적으로 특정 재화가 거래되는 시장이 존재해야 하고, 재화를 공급하는 공급자(Supply)와 수요자(Demand), 그리고 거래되는 재화의 가격과 수량에 대한 정의가 내려져야 한다.
* 공급자 = 블록 마이너 및 검증자
* 수요자 = TX Sender
* 재화 = 특정 블록 안에 컨펌되기 위해 필요한 블록체인 리소스 (Gas)
* 재화의 수량 = Gas Used_i = EVM에서 특정 TX에 할당된 블록체인 리소스 (연산량)
* 재화의 가격 = Gas Price_i = 특정 Gas Used 하에서 TX Sender가 자의적으로 설정 가능한 재화의 가격
Gas Used와 Gas Price를 Block Gas Limit, Total TX Fee 측면에서 표현하면 다음과 같다.
![](https://i.imgur.com/92ZRjWt.png)
위 변수를 따라 현재 외부 불경제 현상을 나타내는 간단한 그래프를 그려보면 다음과 같다.
![](https://i.imgur.com/r856KSL.png)
>- P_m = 시장 거래가격
>- P* = 사회적 최적 가격
>- Q_m = 시장 거래 수량
>- Q* = 사회적 최적 거래량
>- SMC = 네트워크 전체의 사회적 비용
>- SMB = 네트워크 전체의 사회적 편익
>- PMB = Gas Price를 높이 책정하는 오염 유발자의 사적 편익
상기 그래프는 TX Sender들이 높은 수준의 Gas Price를 책정하여 EVM의 연산을 소비하는 행위, 즉 오염 물질을 최적 수준(SMC=SMB인 지점)보다 많이 소비하고 있음을 보여준다. 즉, 오염 물질이 과다 소비(Q_m - Q*)되고 있다.
이 그래프를 통해 확인할 수 있는 것은 i) 네트워크 전체의 효용보다 외부 불경제를 발생시키는 TX Sender 개인의 효용이 더 높다는 것과 ii) 소비 측면의 외부 불경제로 인해 발생한 외부 비용(P_m - P*)만큼 사회적 비용(SMC)이 증가하여 재화의 가격까지 높아진다는 점이다.
## 피구세 과세표준 : 종가세 (Gas *Price*) vs 종량세 (Gas *Used*)
일반적으로 피구세를 설계할 때, 과세의 근거가 되는 과세표준은 크게 두 가지 방향에서 설정될 수 있는데, 바로 재화의 가격 또는 수량이다. 재화의 가격을 기준으로 과세가 이루어질 경우를 종가세, 재화의 수량을 기준으로 과세가 이루어질 경우를 종량세라고 칭한다.
#### 1. 종가세 : 거래되는 재화의 화폐 단위(가격)을 과세표준으로 보는 경우
시장에서 거래되는 상품(Blockchain Resource)의 "가격"에 비례하는 세율을 책정하게 된다. 그리고 이 가격은 블록체인의 연산을 소비하기 위해 TX Sender들이 지불하는 Gas Price로 보는 것이 타당하다.
#### 2. 종량세 : 거래되는 재화의 수량을 과세표준으로 삼아 과세를 하는 경우.
소비하는 재화의 양을 기준으로 TX Sender에게 조세를 부과할 경우, 시장에서 거래되는 "수량(Gas Used)"에 비례하여 세율이 책정된다.
그러나, 이더리움 블록체인 네트워크에서 종량세로 과세가 이루어지면 안되는 이유들이 있다.
i) Gas Used를 과표로 설정(i.e. 50,000 Gas Used 이하의 TX만 허용)하면 토큰이나 복잡한 로직의 컨트랙 등을 구현하기 어려워져 스마트 컨트랙트 작성에 많은 제한이 가해질 수 있다.
ii) 네트워크의 혼란이 가중되는 것은 Gas Price를 유동적으로 조절하는 탓이지, 사전적으로 고정되어 있는 개별 TX의 연산 작업량을 나타내는 Gas Used의 문제로 보긴 어렵다.
## **과세 표준 = Gas Price**
앞서 언급한 바, 이더리움 블록체인의 목적과 블록체인 연산 리소스의 특성상 Gas Price를 기준으로 과세표준을 만들어야 함이 타당하다.
그렇다면, 어느 정도 수준의 Gas Price를 책정하여 재화를 소비하는 것이 적절한 수준인지를 측정해야 한다. 즉, Gas Price의 최적 수준을 측정하는 작업이 필요하다.
### Related Works
* Price Auctioning (Vickery Auction, etc)
* Randomly Selected TXs
* EOS TX Fee Mechanism
* Gas Token Mining
* Beacon Chain PoS Validator TX Fee Model
* Blockchain Resource Pricing (Vitalik Buterin)
---
# **Pigouvian Tax Algorithm on Gas Price**
## **1. Gas Price Analysis**
앞서 우리는 Gas Price를 과세표준으로 설정해야 함을 확인하였다.
일반적으로 납세자가 부담해야 하는 최종 세액은 [과세표준(가격 or 수량) * 세율(%)]로 산출되는데, 이 때 과세표준을 어떻게 설정할 것인지에 대한 연구가 우선적으로 진행되었다.
결과적으로는 **최적 수준의 Gas Price(N Gwei)를 기준으로 피구세의 과세표준을 책정하는 형태의 작업**이 필요했는데, 이러한 최적 Gas Price를 결정하기 위해서 Gas Price 데이터를 분석하는 작업이 선행되었다.
"최적 Gas Price = 네트워크의 안정성을 최소한으로 보장하는 정도의 오염 수준"
## **2. Current TX Execution Model**
특정 블록 내에서 TX Fee Market이 성사되기 전에, TX가 처리되는 과정은 다음과 같았다.
## **3. Modified TX Execution Model**
* 공해 유발자 = 최적 수준보다 높은 Gas Price를 책정하는 TX Sender
최적 Gas Price 수준보다 높은 Gas Price를 책정할 경우, T%의 세율을 적용하여 피구 조세를 부담하게 한다.
---
## 추가 연구사항
### 합리적인 조세 귀착(Tax Incidence)
조세론적 관점에서, 사중 손실(deadweight loss)을 최소화하고 합리적인 조세의 귀착을 위해서는 재화의 공급자와 수요자 간의 가격 탄력성을 비교하여 조세 부담의 귀착 문제를 정교하게 설계할 필요가 있다.
조세적 관점에서 가격 탄력성은 직관적으로 "조세를 회피할 수 있는 정도"를 의미하는데, 이는 조세 부담의 귀착을 결정짓는 변수로서 오염 유발자에게 조세를 전가시키는 것을 목표할 때 오염 부담자의 가격 탄력성이 어떻게 도출되는지를 조사하는 것은 매우 중요하다. [3](https://ethresear.ch/t/estimating-cryptocurrency-transaction-demand-elasticity-from-natural-experiments/2330)
### 마이너와 TX Sender의 탄력성 비교
공급자와 수요자의 가격 탄력성은 실질적인 과세 귀착의 문제로 이어지기 때문에 과세를 결정함에 있어 매우 중요한 변수이다. 탄력성 자체가 조세를 회피할 수 있는 정도를 의미하기 때문이다. 예를 들어, 공급자의 행위를 외부 불경제 발생 원인으로 규정하고 과세를 하고자 했지만 공급자의 가격 탄력성이 수요자의 가격 탄력성보다 약 2배 높다고 한다면 실질적으로 조세를 부담하는 것은 수요자가 부담하게 된다는 것이다.
> 18년 7월 Vitalik Buterin에 의해 TX Sender(수요자)의 가격 탄력성이 대략적으로 도출된 자료를 통해 파악이 가능.
### 조세 수입의 처리 이슈
피구세로부터 조달된 재원을 어떻게 처리해야 할 것인지에 대한 이슈가 존재한다. Sharding Rent 모델은 받은 Rent Fee를 태우는 방법을 채택하고, Full-PoS Beacon Chain의 경우에는 받아낸 TX Fee를 모두 Validator의 체인 유지 행위에 할당하는 방법을 목표하고 있다.
### Block Gas Limit과 Tx Fee와의 관계
- 경제적 관점에서는 마이너 입장에서 Block Gas Limit은 제한된 판매 수량을 의미하고, 이는 이기적 채굴 현상 등에서 파악할 수 있는 이윤 극대화 전략에서 그 의미가 두드러진다. [5](https://brunch.co.kr/@loum/23)
- TX Sender 입장에서는 Block Gas Limit이 빠르게 채워질 때, 즉 네트워크의 수요가 빠르게 증가할 때 각 TX Sender에게는 자신의 TX가 우선적으로 한 블록 안에 포함되길 바란다. 즉, 블록체인의 연산 리소스를 ***배타적으로*** 소비하길 원한다는 것이다. 따라서 제한된 Block Gas Limit에서는 네트워크 수요가 집중될 시 항상 Gas Price를 높이 책정하는 유인이 생길 수 있다.
### 네트워크 수요 데이터 분석을 통한 최적 Gas Price 수준
* 이더리움 네트워크의 수요를 대변할 수 있는 데이터를 찾아내 최적 Gas Price를 설정해야 한다.
* 다만, 네트워크 수요 데이터 기반으로 특정 네트워크의 수요를 측정할 수는 있으나, *특정 토큰의 수요*를 측정하는 것은 완전히 별개의 문제이다. 토큰 시뇨리지 모델에서 토큰의 수요 데이터를 찾아내 해당 예측치에 적절한 토큰 공급량을 결정하는 것은 추가적인 리서치 및 연구가 필요하다.
* TX 유형별 분류 필요.
21000 Gas Limit 쓰는 것과 500,000 Gas Limit 쓰는 경우는 동일한 네트워크 수요 정도로 파악할 수 없기 때문에 500,000 Gas Limit을 일반적인 ETH 송금 TX의 Gas Limit인 21,000의 수준에 맞게 표준화(정규분포 등)가 필요함.