What is Turing Complete?
Turing Complete는 충분한 시간과 메모리를 주면 계산 시스템이 모든 알고리즘을 표현할 수 있음을 의미합니다. 암호화 분야에서 이는 단순히 A에서 B로 토큰을 보내는 것이 아니라 복잡한 로직을 실행할 수 있는 체인을 설명합니다. 재료와 인내심만 있으면 모든 레시피를 만들 수 있는 주방과 같다고 생각하면 됩니다.
Turing Complete는 모든 면에서 더 낫다고 말합니다. 반드시 그렇지는 않습니다. 유연성을 제공하지만 부주의하면 버그, 추가 비용, 새로운 공격 경로가 생길 수 있습니다.
How Turing Complete works
완전한 프로그래밍 가능성을 가진 체인에서, 스마트 컨트랙트를 작성하고 배포하여 분기, 루프, 데이터를 저장할 수 있습니다. 간단한 실행 예는 다음과 같습니다:
- Step 1: 사용자가 컨트랙트 함수 호출 트랜잭션을 제출합니다.
- Step 2: 컨트랙트가 입력과 상태를 읽고, if 문, 루프, 수학 연산 같은 로직을 실행합니다.
- Step 3: 결과가 잔액이나 변수에 반영되고, 앱이 주시할 수 있도록 이벤트를 발생시킬 수 있습니다.
- Step 4: 가스 계량이 코드의 과도한 실행을 제어하여 무한 루프가 체인을 멈추지 않도록 합니다.
- Step 5: 선택적 추가 기능인 오라클 등이 데이터를 공급하여 가격이나 타임스탬프에 따라 로직이 반응하도록 할 수 있습니다.
그 흐름이 바로 그 흐름입니다. 깔끔하고 의외로 강력합니다.
Why Turing Complete Matters
그 이유는 블록체인을 금융, 게임 등 일반 컴퓨트 레이어로 확장하기 때문입니다.
- Benefit: 거래를 자동화하고, 복잡한 지급을 프로그래밍하며, 게이트키퍼에게 의존하지 않고 기능을 출시할 수 있습니다.
- Perspective: 더 표현력이 높은 코드는 실행에 더 많은 비용이 들 수 있으며 활동이 급증할 때 네트워크 혼잡이 증가할 수 있습니다.
- Relevance: DeFi, NFT, DAOs 등 체인 상에서 로직이 필요한 모든 곳에서 이를 보게 될 것입니다.
누군가 체인이 Turing Complete라고 말할 때, 가드레일에 대해 물어보세요: 가스 한도, 감사를 위한 문화, 코드의 업그레이드 가능 여부. 이러한 세부 정보가 시스템 구축이나 자금 예치의 안전감을 알려줍니다.
Key Characteristics of Turing Complete
구성 요소를 생각해 보세요, 유행어가 아니라 빌딩 블록을:
- Open: 누구나 탈중앙화된 네트워크에서 다른 사람이 호출할 수 있는 코드를 배포할 수 있습니다.
- Branching: 입력이나 상태에 따라 컨트랙트가 서로 다른 경로를 선택하도록 하는 if 문.
- Loops: 반복 단계를 통해 설치, 경매, 이자 누적이 가능해집니다.
- Memory: 지속 가능한 저장소로 코드가 이전 동작과 잔액을 기억할 수 있습니다.
- Halting: 가스 계량과 한도는 무한한 실행이 블록을 막지 않도록 방지합니다.
Variations
모든 체인이 동일하게 프로그래밍 가능성을 다루는 것은 아닙니다. 대략적인 유형은 다음과 같습니다:
- Limited: 스크립트가 제약되어, 공격 표면이 낮은 간단한 이체와 검증에 적합합니다.
- Full: 일반 컴퓨트로 복잡한 앱과 프로토콜을 위한 풍부한 언어 기능 제공.
- Bounded: 일반 컴퓨트지만 비용을 예측 가능하게 유지하기 위해 자원 상한을 둡니다.
Turing Complete는 표현력에 관한 것이지 속도나 저렴한 수수료에 관한 것이 아닙니다. 단순한 시스템은 더 빠를 수 있지만, 더 표현력이 높은 시스템은 더 많은 기능을 제공하지만 실행 비용이 더 들 수 있습니다.
Example
대체로 탈중앙화 애플리케이션(dApps)의 포트폴리오를 가진 대출 앱은 체인이 Turing Complete이기 때문에 이자를 계산하고, 청산을 일정화하며, 상환을 라우팅할 수 있습니다.
Fun Fact
이 용어는 앨런 튜링과 그가 모든 계산을 모델링할 수 있는 사고 실험 기계에 경의를 표합니다. 이 아이디어는 이더리움이 블록체인에 확산되었고, 그 후 무한 루프가 네트워크를 영원히 고갈시키는 것을 막기 위해 가스를 도입했습니다.
Wrap-Up
짧은 요점: Turing Complete는 블록체인을 일반 목적의 컴퓨터로 바꿔, 돈을 기본 기능으로 다루는 프로그래밍을 가능하게 합니다.