이더리움 가스비가 갑자기 급락한 이유는?
머리말: 4월 25일 데이터에 따르면 이더리움의 가스 수수료는 2021년 이후 최저 수준인 약 50gwei 하락했습니다. 이전에는 가스 수수료의 지속적인 증가로 인해 체인의 거래 수수료가 한때 1500gwei에 도달했습니다. 최근 이더리움의 가스비가 급격하게 하락했는데, 그 이유는 이더리움의 블록 가스 한도 증가와 관련이 있을 수 있습니다. 4월 22일 이더리움은 블록 가스 한도를 약 1,250만 Gwei에서 1,500만 Gwei로 인상하여 약 20% 증가했습니다. 그렇다면 이더리움의 가스 수수료에는 어떤 요소가 영향을 미칠까요? 이 기사에서 답을 얻을 수 있습니다.
참고: 이 기사는 2020년 9월 23일에 처음 게시되었으며 일부 데이터는 현재 데이터이므로 읽으실 때 오늘 게시된 데이터가 크게 변경되었을 수 있음을 유의하십시오.
작성자: 0x88, Rhythm BlockBeats
Uniswap이 200,000개 이상의 사용자 주소에 돈을 분배했을 때 아마도 많은 사람들이 "이 가스 요금이 너무 비싸다"고 생각했을 것입니다.
그 날은 이더리움 역사상 기억에 남을 날이었으며, 가스 제안은 당시 역사상 가장 높은 수준인 최대 1000 GWEI에 도달했습니다.
목격역사와 국가 에어드랍 당일 아침 많은 분들이 가스비 문제에 부딪혔습니다.비싼 가스비는 더 이상 문제가 되지 않습니다.문제는 가스비가 지갑에 제시된 최대값이 예정된 시간 내에 판매되지 않는다는 것입니다. . 모두의 메타마스크는 모두 펜딩임을 보여주고, 빙글빙글 도는게 귀찮습니다.
기본 가스 수수료 금액을 사용할 수 없는데도 불구하고 즉시 거래할 수 없는 이유는 무엇입니까? 이 기사에서는 이더리움의 트랜잭션 속도 메커니즘과 이더리움에서 트랜잭션을 시작할 때 발생하는 문제에 대해 자세히 설명합니다.
가스 논리
이 문제는 이더리움 계정에서 먼저 시작해야 합니다.
Ethereum 네트워크에는 외부 소유 계정과 계약 계정의 두 가지 유형의 계정이 있습니다.
외부 계정은 개인 키 보유자가 제어하는 사용자가 사용하는 계정입니다. 계약 계정은 계약 코드(종종 프로젝트 당사자가 소유함)에 의해 제어되는 애플리케이션 로직이 포함된 스마트 계약을 말합니다. 사용자가 DeFi 애플리케이션을 사용할 때 자신의 계정을 사용하여 DeFi 프로젝트의 스마트 계약과 상호 작용합니다.
다양한 계정이 마음대로 상호 작용할 수 있고 지갑 간에 전송이 가능하며 계약이 서로 호출할 수도 있습니다. 체인의 모든 상호 작용은 일정량의 계산을 소비해야 하며 소비되는 계산의 양은 계산의 난이도에 따라 결정되며 Gas는 계산량의 측정 단위입니다. 예를 들어, 더하기 작업은 비교적 간단하고 3 Gas가 필요한 반면, 나눗셈 작업은 비교적 복잡하고 5 Gas가 필요합니다.
가스의 각 단위에는 해당 가격, 즉 가스 가격(가스 가격)이 있으며 가스 가격은 Wei입니다. 사용자는 가스 요금을 지불하기 위해 ETH를 구매해야 합니다. 1 ETH=1e18 Wei이고 우리가 일반적으로 보는 단위 GWei는 1e9Wei입니다. 일반적으로 지갑 소프트웨어는 사용자가 과거 가스 가격을 통해 시작할 거래 비용을 추정합니다.
모든 노드의 집중을 피하기 위해 분산형 아키텍처를 추구하는 블록체인은 각 단일 블록의 용량을 엄격하게 제한합니다. 예를 들어 비트코인의 블록 크기 제한과 이더리움의 블록 가스 제한이 있습니다. Rhythm BlockBeats가 글을 썼을 때 이더리움의 각 단일 블록의 Block Gas Limit은 각 블록의 총 계산량의 상한선인 약 12,000,000 Gas입니다. 평균적으로 15초마다 블록이 생성됩니다. 거래 수요가 블록 용량을 초과하면 사용자는 가능한 한 빨리 체인에서 거래를 확인하기 위해 각 블록의 리소스를 놓고 경쟁해야 합니다. 이때 사용자는 Gas에 입찰하고, 채굴자는 Gas Price가 높은 트랜잭션을 블록으로 우선순위화합니다.
일반적으로 사용자는 지갑에서 송금할 때 가스 한도를 조정하는 옵션이 증가하는 것을 볼 수 있습니다. 블록 가스 한도와 달리 가스 한도는 사용자가 거래를 위해 허용할 수 있는 가스 사용량의 상한을 의미합니다. 때때로 계약에 허점이 있을 수 있기 때문에 트랜잭션은 무한 루프로 계산됩니다. 가스 한도가 없는 경우 이 트랜잭션은 사용자 지갑의 모든 ETH를 소비합니다. 채굴자들이 일반적으로 부과하는 수수료는 실제 거래를 실행할 때 소비되는 계산량(거래에 의해 사용되는 가스)에 따라 정산되며, Gas Limit의 나머지 ETH는 사용자의 계정으로 반환됩니다.
따라서 소비된 ETH의 양(Ether Cost) = 거래 수수료(Gas Fee/Transaction Fee) = 각 거래에서 소비된 Gas의 양(거래에 사용된 Gas) * Gas Price(가스 가격)라는 결론을 내릴 수 있습니다.
Ethereum의 수수료 메커니즘과 계정 유형을 이해한 후 사용자가 거래할 때 자주 발생하는 문제를 살펴보겠습니다.
보류 중인/가속된 거래?
사용자가 트랜잭션을 시작할 때마다 트랜잭션은 트랜잭션 풀(Mempool)에 저장됩니다. 위에서 언급했듯이 광부들은 풀에서 가스 가격이 가장 높은 패키징 거래에 우선권을 부여할 것입니다(광부의 이익 추구 특성). 따라서 사용자가 설정한 Gas Price는 트랜잭션이 패키지되고 실행되는 속도를 결정합니다. 급등하는 가스 가격으로 인해 네트워크가 정체되면 사용자의 거래가 오랫동안 확인 보류 상태가 될 수 있습니다. 보류 중인 거래를 가능한 한 빨리 보내기 위해 사용자는 거래 속도를 높이기 위해 더 많은 가스 가격을 지불하도록 선택할 수 있습니다(리듬 참고: 대기열에 뛰어드는 목적을 달성하기 위해 채굴자에게 더 많은 보상을 제공하는 것으로 이해됨).
가속 거래는 어떻게 작동합니까? 가속화된 트랜잭션의 논리를 더 자세히 이해하려면 또 다른 매개변수인 Nonce를 이해해야 합니다. 각 계정에서 보낸 트랜잭션은 순차적인 트랜잭션 번호를 갖게 됩니다. Nonce는 0부터 시작하여 이체가 시작될 때마다 계정의 Nonce 값이 1씩 증가합니다.
사용자가 트랜잭션을 가속하고 싶을 때 이더리움 지갑에서 사용자는 가속 트랜잭션 옵션을 선택할 수 있으며 더 높은 가스 수수료를 지불해야 합니다.사용자가 동의한 후 새로운 트랜잭션을 시작하는 것과 동일하며 new transaction 확정할 트랜잭션의 Nonce 값과 동일합니다.
이더리움 네트워크의 규정으로 인해 Nonce 값은 연속적이고 점프할 수 없으며 동일한 주소에서 각 트랜잭션의 Nonce 값은 반복될 수 없으므로 채굴자는 새로 생성된 트랜잭션을 패키징합니다. 이전의 낮은 Gas Price 거래는 폐기됩니다.
사용자가 트랜잭션 속도를 높이고 싶지 않은 경우 트랜잭션 풀에서 트랜잭션이 풀려 있는 한 사용자는 언제든지 트랜잭션 취소를 선택할 수 있습니다. 트랜잭션을 취소하는 논리는 트랜잭션을 가속하는 것과 동일하며, 사용자는 Gas Price는 더 높지만 확정할 트랜잭션과 동일한 Nonce로 트랜잭션을 시작하지만 트랜잭션 금액은 0이 되므로 본질적으로 비용이 발생합니다. 트랜잭션 취소 비용은 트랜잭션 가속화 비용과 동일합니다.
대기 중인 거래의 확인이 완료되기 전에 다음 거래가 줄을 서서 기다려야 하므로 사용자는 긴 대기 시간으로 인해 여러 거래를 반복적으로 시작해서는 안 됩니다.
트랜잭션 실패(실패)
Rhythm BlockBeats는 트랜잭션 실패의 가장 일반적인 원인이 트랜잭션 가스가 고갈(Out of Gas)되었다는 점을 발견했습니다. 즉, 이 트랜잭션의 계산은 사용자가 설정한 가스 한도를 초과합니다. 일반적으로 이 경우 Gas가 소진되었음을 나타내는 거래 상태가 실패로 표시되며 지불된 Gas는 환불되지 않습니다.
일부 사용자는 이것이 불공평하다고 생각할 수 있지만 본질적으로 광부들은 이미 작업 계산을 수행하고 있지만 계산의 절반 후에 가스가 충분하지 않아 광부들은 포기하고 작업을 계속할 수 밖에 없지만 이전 작업은 "급여"를 지급하므로 이전 작업 가스비가 환불되지 않는 것은 아마도 이해할 수 있습니다. 이 경우 사용자는 거래를 다시 시작하고 이 거래의 가스 한도를 늘릴 수만 있습니다.
트랜잭션 실패의 또 다른 경우는 사용자가 스마트 계약으로 트랜잭션 전송을 시작했지만 일부 오류로 인해 계약 실행이 방해되고 트랜잭션이 잘못된 명령을 반환하는 경우입니다. 예를 들어 사용자가 크라우드 펀딩 캠페인에 참여하는 경우 다음과 같은 상황이 발생할 수 있습니다.
할당량이 가득 찼습니다.
또는 사용자가 허용 목록에 없습니다.
또는 사용자 초과 구독 토큰 등.
이때 사용자가 설정한 Gas Limit이 소진되어 결국 트랜잭션 실패로 이어집니다.
하지만 이더리움 비잔틴 하드포크 이후 새로운 오퍼레이터 Reverted(EIP-140)가 추가되었습니다. 컨트랙트에 오류가 발생하여 트랜잭션이 실패하면 트랜잭션은 Gas Limit에 설정된 모든 Gas를 소진하지 않고 컨트랙트는 실행을 중지하고 남은 Gas 수수료를 환불하며 사용자에게 오류의 원인을 알립니다.
물론 사용자의 지갑에 있는 ETH의 양이 가스비를 지불하기에 충분하지 않은 경우 트랜잭션도 실패로 판단됩니다.
핫스팟이 없을 때 이더리움 네트워크는 평화롭고 시간과 금액을 포함한 모든 전송 비용을 통제할 수 있지만 바람이 불면 모두가 네트워크에서 다양한 문제에 직면하게 될 것입니다. 가장 큰 장애물은 지갑입니다.
기본적으로 이 글은 가스비에서 발생하는 모든 문제를 다룬다.
현재 이 움직임은 이더리움에서 유동성 채굴이 급증하면서 일시적으로 그친 것으로 보인다. -주파수 지갑.도구.
체인 상의 거래에서 발생하는 문제는 실제로 지갑 최적화를 위한 공간을 제공하고 있으며, 신규 사용자를 위한 "원클릭 가속" 및 "원클릭 취소"와 같은 서비스는 점점 더 많은 지갑에서 볼 수 있습니다.


