EIP1559

WEMIX3.0에 적용된 EIP1559 동적 거래수수료 조정 메커니즘에 대한 설명입니다.

기존 이더리움 거래수수료 정책은 단순한 경매 메커니즘입니다. 즉, 사용자는 가스비용을 예측하여 거래를 생성하여 전송하고, 채굴자들은 가장 높은 가스비용으로 전송된 거래들을 선택하여 블록을 생성하는 방식입니다.

이러한 방식은 비트코인과 이더리움과 같이 한정된 자원을 경매를 통하여 획득해야하는 시스템에서는 유효하지만 거래수수료가 급격하게 변하는 상황에서는 사용자가 합리적인 수준 이상의 거래수수료를 지불해야하거나 거래가 확정되기 위해서 예상보다 긴시간을 기다려야 하는 문제점이 있습니다.

EIP1559는 이더리움 London HF에 적용된 동적 거래수수료 조정 메커니즘으로 일시적인 네트워크 혼잡을 효율적으로 처리하기 위해 블록별로 거래수수료의 일부를 소각하고, 블록의 사용가능한 가스총량을 이전 블록대비 1/1024 만큼 확장 및 축소할수있도록 고안된 알고리즘입니다.

WEMIX3.0은 대용량 고속처리가 가능한 합의 알고리즘인 SPoA를 사용하고 있으며, 블록사이즈는 이더리움의 3.5배(기본 블록가스제한은 105,000,000), 블록생성시간은 이더리움의 1/12(기본 1초)까지 지원 가능합니다. 따라서, WEMIX3.0에서는 이더리움과는 달리 거버넌스에 의해 결정된 고정가스비 정책을 사용하는 것도 합리적인 선택일 수 있습니다.

하지만, 고정가스비 정책은 네이티브 코인인 WEMIX의 가격 변동성에 따라 네트워크의 DDoS 공격을 제어하기 위한 가스비도 따라서 변경되게 되는 문제점을 가지고 있습니다. 물론 On-Chain Governance에 의해 고정가스비의 변경이 가능하지만 빠른 대처가 불가능하여 네트워크의 안전을 저해할 위험을 내포하고 있습니다.

따라서, WEMIX3.0에서는 DDoS 공격 및 봇의 과도한 거래 생성으로부터 네트워크를 보호할 목적으로 아래의 조건을 가진 EIP1559 프로토콜을 적용하였습니다.

WEMIX3.0에 적용된 EIP1559의 BaseFee, CurrentGasTarget은 다음의 공식들에 의해서 매블록마다 실시간으로 계산됩니다.

위의 공식에서 baseFeeMaxChangeRate(기본값 55%)는 거버넌스 투표에 의해 변경될 수 있으나, 고정값입니다.

또한, BaseFee가 무한정 커져서 선의의 사용자의 모든 WEMIX가 거래수수료로 사용되는 것을 막기 위해서, BaseFee의 최대값인 maxBaseFee(기본값 50,000Gwei)가 정해져있으며, 이 값은 거버넌스 투표에 의해 변경될 수 있습니다.

아래의 공식에서 gasTargetPercentage(기본값 30%)과 PreviousGasLimit(기본값 105,000,000)는 거버넌스 투표에 의해 변경될 수 있으나 거버넌스에 의해 변경되지 않는한 항상 동일합니다.

WEMIX3.0 사용자는 고정 가스가격인 maxPriorityFeePerGas(기본값 100Gwei)값과 최신 블록에 기록된 가변 가스가격인 BaseFee(기본값 1Gwei)값을 사용하여 거래를 생성할 수 있으며, 해당 알고리즘은 기존의 EIP1559를 지원하는 모든 지갑과 호환됩니다.

Last updated