티스토리 뷰

반응형

 1936년 영국의 수학자 앨런 튜링은 요즘 시대의 컴퓨터의 시초인 튜링 머신을 개발하였습니다. 이것을 개발한 계기는 1928년 수학자 힐베르트가 제안한 명제를 풀기 위해 고안된 상상의 기계였습니다. 일부는 1930년 괴델에 의해서 해결되었지만, ‘수학은 결정 가능한가?’라는 명제는 해결되지 않았습니다. 이것이 바로 정지 문제(halting problem) 입니다.


튜링 머신은 추상적인 개념이었습니다. 무한히 확장 가능한 저장공간(두루마리 휴지 같은 테이프로 묘사)과 그것을 읽을 수 있는 기계(헤더, 상태, 행동표)로 구성되어 있으며, 하나의 튜링 머신은 하나의 기능을 가질 수 있습니다. 그리고 이 머신으로 풀 수 없는 문제는 없다고 가정하였습니다. 이러한 머신을 만들기 위해서는, 조건을 만드는 식이 매우 복잡해야 합니다. if문과 loop그리고 브랜치를 인정해야 가능한 것이 됩니다.

이 개념을 충족시키는 것을 우리는 튜링 완전하다고 표현합니다. 사실상 무한한 저장 공간은 물리적으로 불가능합니다. 그래서 최근의 컴퓨터들을 느슨하게 튜링 완전하다고 표현합니다.


그럼 최근의 가상화폐(또는 암호화폐)에서 이 튜링 완전하다는 개념이 대두되었는지는 비트코인에서 그 원인을 찾을 수 있습니다. 비트 코인은 loop 문법을 배제하고 있습니다. 이유는 ddos 등의 공격에서 자유롭기 위해서입니다. DDos 공격은 대표적인 무한 루프를 통한 해킹 방법이기 때문입니다. 해킹에 취약하지 않기 위해서 반복 문을 배제한 대가로 매우 낮은 수준의 자유도를 가집니다.


이러한 부분을 해소하기 위해서, 이더리움에서는 튜링완전한 문법을 사용할 수 있게 만들었습니다. 이를 통해, 이더리움은 비트코인보다 더욱 복잡한 조건을 만들 수 있게 되었고, 이것을 기반으로 하여 스마트 계약이라는 부분을 추가할 수 있었습니다.

자율성은 높아졌지만, 반복문에 의한 공격과 정지 문제를 해결해야 하는 부분이 있습니다. 이를 위해서, 이더리움은 가스라는 개념을 추가했습니다. 거래 조건을 넣는 구문에 특정 조건마다 가스를 소모해야 합니다. 이 가스를 이더리움 코인으로 구매를 할 수 있게 됩니다.


만약, 해킹 공격을 하려면 수많은 반복문에 대한 가스를 미리 소모해야 하는 어려움이 생깁니다. 돈이 엄청 많은 해커라면 가능할 수 있겠습니다. 하지만, 사용된 가스를 획득하기 위해 다수의 채굴자들이 몰려들게 되고 이로 인해 네트워크 작업 능력이 좋아져서 더 많은 공격을 잘 막아내게 됩니다. 이것을 이더리움의 선순환 시스템이라고 합니다.


정지 문제의 경우에도 투입 가능한 가스량을 제한하면서, 무한 루프에 영원히 빠지지 못하게 조치를 취할 수 있습니다. 사용할 가스만큼 다 사용한 경우 더 이상 거래가 진행되지 않기 때문입니다.

 

그러나 이런 가스 시스템에도 문제점이 있습니다.


1. 까다로운 조건의 계약(좀 더 상세한 계약)을 작성하기 위해서는 비용이 많이 들어갑니다.

2. 해킹이나 공격이 발생하는 경우, 이것을 막기 위해서 할 수 있는 조치는 공격에 사용된 구문에 대한 가스 소비량을 늘리는 것뿐입니다. 이것은 관련 구문의 사용을 꺼리게되는 부작용을 낳을 수 있습니다.


이러한 문제들을 해결하기 위해, 차세대 가상화폐들이 개발되고 있습니다. 대표적으로 EOS를 예로 들 수 있습니다


가상화폐(사실은 블록체인 기술)은 여전히 오픈 소스를 기반으로 하고 있습니다. 오픈 소스의 장점은 다수의 개발자들이 참가하여 더 나은 제품을 만드는 기반이 될 수 있습니다. 하지만, 자금적인 여력 또는 개인적인 이슈들로 인해, 초기 이후 시들해지는 경우가 많습니다


현재 새로 만들어지는 블록체인 관련 기술들 중 90%는 얼마 지나지 않아 사라질 수 있는 환경입니다. 이것 때문에 정부에서 무분별한 피해자를 막기 위해 다양한 제한사항을 만들고 있습니다. 그렇다고 블록체인 관련이 허황된 것은 아니기 때문에, 개발자와 플랜(백서를 통해서 확인할 수 있습니다.)을 보고 투자를 하는 것이 중요합니다.

728x90
반응형
댓글