turing-complete-and-gas

튜링 완전

  • 튜링 완전: 튜링 머신을 시뮬레이션 할 수 있는 시스템 (튜링 머신이 해결할 수 있는 문제를 해결할 수 있다.)
  • 튜링 완전한 시스템: UTM (Universal Turing machine)
  • 정지 문제: 튜링 머신을 돌렸을 때, 무한하게 돌지 아닐지를 알 수 없는 문제
  • 이더리움: 탈중앙화된 단일 상태 월드 컴퓨터

튜링 완전의 위험성

  • 개방 액세스 시스템에서 매우 위험 (정지 문제 때문)
    • 정지 문제의 의미
      • 튜링 머신은 유연해서 어떠한 복잡한 연산도 할 수 있음
      • 하지만 유연성 때문에 보안, 자원 관리가 어려움
    • 실행 해보지 않으면 얼마나 오래 실행 될 지 알 수가 없음
  • 해결법
    • gas라는 과금 메커니즘

gas

  • EVM이 스마트 컨트랙트를 실행하면
  • gas가 각 명령어의 비용을 일일이 계산
    • 각 명령어는 가스 단위로 미리 정해진 비용이 있음
  • 스마트 컨트랙트를 실행 시킬 때 트랜잭션은 스마트 컨트랙트를 실행할 수 있는 가스를 가지고 있어야함
  • 가스 가용량을 초과하면 EVM는 실행을 중지
  • 가스는 ether로 구매 가능 (transaction과 함께 ether를 보내야함)