Turing Incomplete(튜어링 불완전성)는 무엇인가요?
안녕하세요. 아하의 블록체인 전문가님들의 해박한 지식과 명쾌한 설명에 다시 감사드립니다.
비트코인 언어(script)의 프로그램 능력의 한계로서, 비트코인의 기능을 화폐에 머물게 하는 Turing Incomplete는 무엇인지 알고싶습니다.
안녕하세요. Turing Incomplete(튜어링 불완전성)에 대하여 답변드리겠습니다.
튜링은 정해진 규칙에 의해 계산을 하는 가상의 기계 개념으로 일종의 오토매틱적인 역할을 수행합니다.
튜링을 위해서는 프로세스를 작은 단위가지 분할하여 사용할 수 있어야하며 주어진 조건설정에 따라 반복시킬 수 있는 명령어가 존재해야만 합니다.
비트코인에 사용하는 스크립트(script)명령어는 필요에 따라 흐름을 제어할 수 있지만, 복잡한 구조의 흐름 제어능력이 없기에 반복적인 명령을 실행할 수 없는 특징이 있습니다.
따라서 비트코인은 명령문을 반속 실행할 수 없기에 완전하지 않는 튜닝(Turing Incomplete )조건을 충족하게 됩니다.
이로인해 해커들이 사용하는 DoS(Denial of Service)공격을 원초적으로 막을 수 있으며, 무의미한 반복실행으로 비트코인 네트워크의 과부화를 방지하는 효과가 있습니다.
이더리움은 이런 문제를 해결하는 방법 중 하나로 "가스(GAS)"라는 수수료 정책을 사용하고 있으며, 이오스는 "자원(CPU, RAM, NETWORK)"이라는 정책을 사용하고 있습니다.
따라서 비트코인의 Turing Incomplete은 악의적인 거래를 방지하기 위한 개념적 역할이라 생각됩니다.
감사합니다.