본문 바로가기
블록체인/이더리움

이더리움 가스

by 후닝훈 2021. 6. 10.
반응형

이더리움 가스 (Etherium Gas)

 

이더리움 내의 수수료

- 이더리움은 자체 암호화폐인 이더가 있으며, 계좌간 송금 또는 스마트 컨트랙트 사용 및 이더리움의 자원을 사용할 경우 가스를 지불한다.

- 가스는 수수료로 지불하는 적은 양의 이더리움을 지칭한다.

- 이더리움을 비롯한 대부분의 블록체인은 데이터의 저장 및 가공의 높은 중복성(Redundancy)이 특징이다.

- 전세계 참여자가 동일한 데이터를 저장, 연산을 중복되게 실시하므로 사용할 수 있는 자원에 한계가 있음.

- 비허가성 블록체인이기 때문에 누구나 블록체인을 읽고 쓸수 있기에 공유지의 비극이 생길 수 있고, 이를 막기 위해 한정된 자원에 비용을 매길 필요가 있다.

- 비트코인 같은 경우에는 거래 수수료를 지불하고, 이더리움 같은 경우에는 계약의 실행을 위한 연산력( 저장공간, 네트워크사용 등) 을 사용하기 위해 특정 대가를 지불해야 하는데 이것이 가스이다.

- Smart Contract로 계산기를 만들었다고 가정하자. 이는 1+2= 라는 요청을 보냈을때  이때에도 Gas를 지불한다.

- 함수별로 가스 소모량이 다르다.

- Solidity를 통해 조건/반복문을 사용 할 수 있으며 이또한 가스 소모량이 다름.

- transaction 에는 21000 gwei 가 소모된다.

- 하지만 TX의 빠른 처리를 위해서는 정해져 있는 양보다 더 많은 가스를 지정해야 한다.

 

Gas 계산

최대 트랜잭션 실행 비용 (Transaction Fee) : 가스가격 * 가격총량

가스 가격(Gas Price) : 가스당 트랜잭션을 요청한 사람이 지급할 가격

가스 총량(Gas Limit) : 트랜잭션 수행에 소비 될 총 가스량에 대한 추정치

Gas Limit : 사용자가 허용하는 최대 Gas 사용량

Gas Price : 사용자가 지불하는 1 Gas 당 가격Max Tx Fee = Gas Limit * Gas Price

               = 사용자가 지불할 용의가 있는 최대 수수료

Gas Use = 실제 소모된 Gas 량

Fee = Gas Use * Gas Price = 실제 지불될 수수료

( ※ Tx을 발생시키면 우선 Max Tx Fee를 받아가고 사용후 남은만큼 돌려줌 )

 

Gas 소모 시나리오

- A가 B에게 Contract를 통해 TX를 사용할 때 상황이다

- 이 상황에는 TX 처리를 위해 250의 가스를 보냈다.

- 함수별로 가스의 소비량이 정해져 있으며, (-50, -30) TX 처리후 남은 가스는 돌려받게 된다. (170) 

 

가스를 잘못 지정한 사례

 

수수료의 필요성

- 쓸모없는 TX, 반복문 등에 컴퓨팅 파워를 낭비하지 않기 위해서

- DDOS 같은 공격을 방지할 수 있다.

반응형

'블록체인 > 이더리움' 카테고리의 다른 글

이더리움 Transaction  (0) 2021.06.11
이더리움의 Account  (0) 2021.06.11
State machine  (0) 2021.06.10
이더리움 구성  (0) 2021.06.09
이더리움  (0) 2021.06.09

댓글