개발자가 되고 싶은 사람

2. 이더리움 solidity 가스(gas) 개념

|
  • 인프런의 이더리움 강의를 수강 후 정리한 내용들 입니다.

가스(Gas)

  • 가스는 수수료다.
  • 채굴자들에게 보상으로 돌아가는 값.
  • 수수료를 내는 예시..
  1. 다른 계정으로 돈 보낼 때
  1. 스마트 컨트랙 배포할 때
  2. ‘함수에서 상태 변수에 변화를 줄 때’
  3. 등등… 컨트랙내부에서 특정 코드를 실행할때 발생되는 값.
  • 가스 사용은 진짜 돈을 쓰는 것. (ether)
  • 사용자 계정에도 충분한 잔액이 필요하다.
  • 가스비 지불은, 함수 실행중인 계정에서 이루어진다(msg.sender)
  • 가스비도 ether를 사용한다(ether - 진짜 돈).

가스(Gas) 단위를 쓰는 이유

    1. ether는 화폐 변동성이 있다.
    1. 가스 가격은 거의 변동 하지 않는다. (수수료를 내는 비용이 안정적이다.)

가스(Gas) 비용은 어떻게 측정되는가.

  • 가스 비용은 ‘함수의 복잡성’에 따라 결정.
  • 연산에 소모되는 비용 == 옵코드(opcode)
  • 네트워크 상태, 컴퓨팅 자원에 따라 비용 결정.
  • nerwork 상태에 따라 높게, 낮게 측정된다. ==> 측정가능한 사이트(https://ethgasstation.info/)
  • converting site ==> https://converter.murkin.me/
  • 하지만 계산 외에.. 진짜 가스가 얼마나 소모됬는지는 실제 트랜잭션이 처리된 후 알 수 있다.(etherscan에서 확인가능)
ex) txid : 0xc151eb4c3d4893ea8ed353bab2b7e460efc52f5469e4e8aa816ec7cbdb02ee57
Gas Used By Transaction: 21000 (트랜잭션에 의해 사용된 가스량)
Gas Price: 0.000000014 Ether (14 Gwei)

둘을 곱한 가격
==> 21000 * 0.000000014 = 0.000294
Actual Tx Cost/Fee: 0.000294 Ether ($0.06)

가스 개념이 존재하는 이유?*

    1. 무한 반복문 저지
    1. 함수내 실수로 인한 네트워크 성능 저하 방지. - 다른 사람을 위해..
    1. 가스가 없었다면 네트워크가 느려지고, 서버가 다운될 가능성이 큼.

Comments