이더리움 가스 (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 |
댓글