1 minute read

튜링 완전성 Turing Completeness 이란,

이론적으로 모든 계산 가능한 문제를 표현하고 해결할 수 있는 능력

쉽게 말하면:

  • “무슨 프로그램이든 만들 수 있다”
  • 조건문(if), 반복문(while, for) 등 모든 기본 연산이 가능해야 함

튜링 완전성의 조건

필요 요소 설명
조건 분기 (If-Else) 상황에 따라 다른 행동을 할 수 있어야 함
반복/루프 (For, While) 어떤 작업을 반복할 수 있어야 함
메모리 읽기/쓰기 데이터를 저장하고 수정할 수 있어야 함

Smart Contract 스마트 계약 이란?

중앙 관리자 없이 자동으로 실행되는 프로그램

  • 계약 조건 프로그래밍 코드로 작성
  • 조건 충족되면, 자동으로 계약 내용 실행
  • 중간에 사람이 개입할 필요 없음

예시

  • A가 B에게 돈을 보내되, 상품이 배송 완료되면 자동 송금
  • 보험금 자동 지급 (사건 발생 확인되면 자동으로)

이더리움: 튜링 완전한 스마트 계약 플랫폼

이더리움의 스마트 계약 언어: Solidity

  • 다양한 조건 분기, 반복, 복잡한 로직 구현 가능
  • 디파이(DeFi), 게임, DAO, NFT 등 다양한 애플리케이션 가능

이더리움은 “분산 슈퍼컴퓨터”를 목표로 만들어졌기 때문에 어떤 프로그램이든 실행 가능한 범용 가상 머신(EVM) 구조를 가짐.

단, 무한 루프 방지를 위해 “Gas 가스” 시스템을 도입함

  • 코드 실행에는 가스가 소모됨
  • 무한 반복을 하더라도 가스가 다 떨어지면 자동으로 중단됨

비트코인: 튜링 불완전한 스크립트 시스템

비트코인의 스마트 계약/트랜잭션 조건: Bitcoin Script

  • 스택 기반, 범용 언어 아님
  • 굉장히 제한적이고 안전하게 설계됨
  • 간단한 조건 지불, 멀티시그, 시간잠금 등만 가능

비교 요약

항목 이더리움 (Solidity) 비트코인 (Script)
튜링 완전성 O (Turing Complete) X (Turing Incomplete)
반복문/루프 가능 (Gas로 제한) 불가능
조건 분기 가능 매우 제한적
사용 목적 범용 DApp 실행 안전한 지불/이체