본문 바로가기

TIL

TIL) 블록체인과 튜링완전성

#튜링 머신
- 무한한 저장공간만 있다면 이 세상의 모든 문제를 풀 수 있는 기계를 만드는 것이 가능한데, 이를 튜링 머신이라고 한다.
- 튜링 머신은 튜링 완전언어를 기반으로 구현된다. 

#튜링 완전언어
- 튜링 머신에 넣어야 할 알고리즘을 만들 수 있는 언어

#무한루프
- 튜링 완전언어의 특성에 따른 필수 불가결한 특징으로, 프로그램이 반복해서 돌아가는 것을 의미한다.
- 튜링 완전언어를 기반으로 한 머신은 문제가 완전히 풀릴 때까지 반복해서 돌아가며 루프에 빠진다.
- 루프는 시간제한이 없기 때문에, 이러한 특징을 악용하면 네트워크의 과부하를 일으킬 수 있다는 단점이 있다.

#비트코인의 튜링 불완전성
- 비트코인은 네트워크가 루프에 빠지는 것을 막기위해 튜링 불완전성한 네트워크를 구현하였다. 
- 비트코인은 별도의 확장 없이도 스크립트 기반의 '스마트 계약'을 구현할 수 있었지만, 튜링 불완전성, UTXO의 상태표현의 한계점, 블록체인을 해독할 수 없다는 문제점이 있다.

#이더리움의 튜링완전성
- 이더리움의 창립자는 튜링 완전한 언어를 기반으로 한 머신을 제공하겠다는 목표를 제시하였다.
- 이더리움은 튜링 완전한 언어를 기반으로 한 네트워크가 갖던 무한 루프의 문제를 각 코드마다 가스를 부과하는 시스템으로 해결하여 튜링완전한 머신을 구현하였다고 인정받고 있다.