ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [blockchain] 이더리움 가스에 대하여~
    블록체인 2022. 11. 24. 17:29
    반응형

    아니 가스가 그냥 비트코인처럼 채굴자에게 보상용으로 챙겨주는 수수료 정도 느낌으로 항상 생각 하고 있었는데 예상가스량 그런이야기 나와도 그냥 아 그런가보다 하고 깊게 생각안해봄

    근데 gasprice, transaction fee 등등 관련 단어들이 자꾸 눈에 밟혀서 찾아봄 근데 꽤나 핵심적인 내용이더라고 그래서 놀람 ㅎㅎ

     

    튜링완정성 이야기가 선행이 되야됨

    어떤종류의 프로그램이라도 해당언어를 통해서 실행할수 있다면 튜링완전한 언어다 라고한다고 한다. 솔직히 정확하게 와닿지는 않음 그냥 그렇군 .. 느낌정도

     

    근데 실행이 가능한걸 확인을 하려면 실행이 끝난 이후에 판단이 가능하다는 거야 그러면 실행이 계속되는 프로그램은 어떻게판단 할수가 있냐라는 질문을 할수가 있지? 이질문은 정지 문제라고 한단고 함 일명 halting problem

     

    근데 이거를 이더리움 월드컴퓨터는 이러한 무한루프나 실행이 종료되지 않는 코드가 실행이될 위험에 노출이 되어있다고 보고 그 상황을 방지하기 위해서 가스라는 개념을 사용을 함

     

    비트코인에서 블락사이즈가 1mb 로 제한이 되어있잖아 근데 이더에서는 블락의 크기가 아니라 가스리밋으로 제한을 둠 근데 이 가스값을 어떤식으로 계산이 되는지는 컨트랙트 코드에 의해서 결정이 되는 거지

     

    내가 이더리움 보면서 연상 되었던게 리덕스랑 리덕스 성크였거든 리덕스가 전역상태관리도구인데 원래는 값이나 객체형태로 저장을 했었는데 값이나 객체형태를 전달해주는 것이 아니라 함수를 전달해줌으로써 저장하기 이전에 다른 작업을(비동기작업) 등을 해서 얻은 결과를 저장하는 방식이였는데 이 개념이 블록체인에서는 트랜잭션 만 전달하는 것이아니라 트랜잭션을 유발하는 함수와 같은 역할을 하는게 컨트랙트라고 느낌 근데 이 함수가 안끝나고 무한하게 수행이 되면 안되니까 거기에 그함수가 수행하는 동작들에 소요되는가스값들을 정해놓음 그게 이더리움 황서에 적혀있고 그것을 기반으로 컴파일된 바이트코드를 opcode 형태로 계산해서 동작들에 소요되는 가스값의 총합을 계산하고 함수가 종료되기 이전에 제한된 가스의 총량을 모두소진한경우 함수가 종료되는 형태로 문제를 해결함. 아주 직관적이면서도 왜케 신기하지 발상을 참 잘하셔들..

     

    일단 그건 개념이고 좀 분류를 하자면 

    1. 가스 > opcode 토대로 계산된 가스값 

    2. 가스리밋( gas limit , gas used) > 이단어가 좀 사용범위가 많더라고 그래서 헤깔림  

    이게 block gas limit, transaction gas limit 으로도 나눠질수도 있고 처음에 예상할때는 limit 으로 쓰고 계산하고 나중에는 실제로 사용된 가스값으로 계산하고 환불해줘서 gas used 라고 좀 혼용해서 사용 되는거 같더라고 어쨋듯 1번의 총합이라고 생각함 나는 그걸 예상해서 사용할때는 gas limit 실제 사용한 값은 gas used 그리고 범위가 한트랙잭션 내에서 gas 들의 합이면 transaction gas limit 그리고 블락의 총 가스( 이게 비트코인 블락사이즈 같은개념) 로 쓰이면 block gas limit https://etherscan.io/chart/gaslimit

    오늘 보니까 3000만 이넹

     

    3. gas price 

    이게 트랙잭션 유발한 사람이 유동적으로 제공하는 가스당 이더가격임 그니까 채굴자는 gas used * gas price 가 수익인거지 이곱이 수수료임 

     

    무튼 단순히 수수료를 줌으로써 채굴자한테 보상목적으로만 존재하는게 아니였다는 점.

     

    출처: 마스터링 이더리움

     

     

     

     

     

     

     

     

     

     

    '블록체인' 카테고리의 다른 글

    [블록체인] web3 유튜브 좋은거  (0) 2023.01.09
    [블록체인] Ierc721 인터페이스  (0) 2022.12.02
    [blockchain] 개발환경정리  (1) 2022.11.24
    [blockchain]끄적끄적  (0) 2022.11.18
    [blockchain] ipfs, 메타데이타  (0) 2022.11.14
Designed by Tistory.