안녕하세요, gas 관련한 개념들이 잘 이해가 되지 않아서 질문드립니다.
첨부한 사진은 klaytn scope 에서 20klay 전송 트랜잭션 결과입니다.
여기서 gas price, effective gas price, gas used, gas limit, tx fee, burnt fees
이렇게 6가지 다른 개념과 단어가 나오는데 이해하기 쉽지 않네요…
트랜잭션 비용 문서를 보니까
Base Fee is the actual gas price used for the transaction. It has the same meaning as the Effective Gas Price. 라고 하니까 위에 나온 effective gas price == base fee 네요.
(Transaction Fee) := (Gas Used) * (Base Fee) 이므로
즉 (Transaction Fee) := (Gas Used) * (effective gas price) 라고 말할 수 있고,
tx fee (0.000525) 라는 값은 21000 * 0.000000025 를 통해 나오는 값이라는 것을 알았습니다.
그리고 트랜잭션 종류마다 필요한 가스가 다르다는 것을 알았고, 위의 클레이 전송 트랜잭션은
TxGasValueTransfer 이므로 트랜잭션 비용 - Klaytn Docs 문서를 통해 KLAY 전송에 필요한 가스는 21000 라는 것을 알았습니다.
그래서 사진에서 gas used 가 21000 이구요.
위에서 “Base Fee is the actual gas price used for the transaction” 라는 문장이 있는데요, base fee, 즉 effective gas price 는 gas price 중에서 실제로 트랜잭션에 사용된 가격이니까 effective gas price 는 항상 gas price보다 작거나 같겠네요.
그런데 위의 트랜잭션에서는 effective gas price (0.000000025) 가 gas price (0.00000005)의 딱 절반인데요, 혹시 이렇게 절반이 되는 이유가 트랜잭션 비용 - Klaytn Docs 여기에 나와있는 “Half of the transaction fee for each block is burned (BURN_RATIO = 0.5, cannot be changed by governance).” 혹시 이 문장과 관련이 있을까요?
트랜잭션 비용의 절반이 소각된다라고 나와있는데요,
그런데 사진에서 하단에 burnt fees 가 0.0002625 라고 나와있는데요, 이 값은 tx fee 인 0.000525 의 절반이니까 절반이 소각된다는 것은 값이 맞긴해요. 근데 그러면 최종적으로 이 트랜잭션을 위한 수수료로 실제로 결제? 지출?하게 되는 값은 그럼 tx fee 인 0.000525 인가요, 아니면 그것을 절반 소각한 값인 0.0002625 인가요?
이 부분이 일단 잘 이해가 안되는 것 같아요.
그리고 gas limit 은 제가 임의로 설정을 할 수 있는 값이고, 설정하지 않으면 기본값이 적용이 되고, gas limit 은 제가 지불할 의향이 있는 최대의 상한선이라고 이해했는데 맞나요?
그러면 만약 value transfer 트랜잭션에 제가 gas limit 을 21000보다 더 작게 설정을 하면 오류가 나게 되겠지요?
그리고 gas price (위에서 0.00000005 klay) 라는 값은 어떻게 산정이 되는건가요? 기준표같은게 있는지 궁금합니다. (gas used 는 트랜잭션 비용 - Klaytn Docs 이 문서에서 확인을 할 수 있는 것처럼요)
그리고 '소각’한다는 개념이 잘 이해가 안되네요… 혹시 쉽게 설명이 가능하실까요? 소각을 왜 하는지, 소각된다는 것이 어떤 의미인지…
혼자 생각을 정리하면서 글을 써서 두서없이 작성한 것 같네요 죄송합니다ㅠㅠ