자유

비트코인 세그윗 되고 나면 이더리움 스마트컨트랙은 죽나?

by atomrigs posted Jul 17, 2017

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 댓글로 가기 위로 아래로

우선 결론부터 말하자면,

비트코인 세그윗 도입되더라도 그 자체가 비트코인에서 스마트 컨트랙을 구현할 수 있게 되는게 아니고, 사이드체인으로 스마트컨트랙 기능을 확장시켜려고 하더라도, 이더리움과의 경쟁에서 뒤쳐질 수 밖에 없다는 것입니다.

 

 

스마트 컨트랙이란 블록체인위에 단순한 코인 전송기능이외에 여러가지 확장된 기능을 가능하게 해주는 코드입니다.

특정한 기능 한가지만을 추가적으로 구현해서 비트코인에 결합시켜도, 그 자체적으로 하나의 스마트 컨트랙을 구현했다고 할 수 있습니다. 이전에 나온 많은 비트코인 클론들이 그런 시도를 했었지요. 예를 들어 네임코인 같은 경우가 그런 식이지죠. 인터넷의 네임서버같은 역할을 구현해서 블록체인위에서 비슷한 기능을 할 수 있도록 한 것이죠. 이것도 하나의 스마트 컨트랙으로 볼 수 있습니다.

 

하지만 이런 식의 특수 기능 몇가지를 추가하는 것은 그 자체로는 의미가 있지만, 진정한 플랫폼이라고는 할 수가 없습니다. 플랫폼이라는 개념이 가지는 장점은 공통으로 사용되는 기반기술은 단일화하고 같이 운영하고 표준화해서 효율성과 상호호환성을 극대화하려는데 있습니다.

 

이러한 플랫폼의 예는 대부분의 IT 기술의 발전에 있어서 매우 일반적이 되어가고 있습니다. 안드로이드를 탑재한 스마트폰이라는 플랫폼 위에 돌아가는 수많은 app 들이 그 좋은 예입니다.

 

이러한 플랫폼은 그 위에 여러가지 어플리케이션을 구현할 수 있는 충분한 자유도를 주기 위한 도구를 제공해야 합니다. 즉 어플리케이션이 돌아가는 베이스 코드가 컨트랙이고, 이 컨트랙이 블록체인위에서 돌아갈 수 있도록 하는 시스템이 있어야 하고, 이 컨트랙을 짤 수 있는 언어가 제공되어야 합니다.

 

이더리움의 경우, 이를 돌리기 위한 시스템이 EVM 이라는 가상머신이고, 여기서 돌아가는 컨트랙을 짜기 위한 여러가지 언어들을 제공하는데 가장 대표적인 것이 솔리디티입니다. 이더리움 스마트 컨트랙 시스템의 가장 큰 특징은 가장 뛰어난 자유도를 제공한다는 것입니다. 이를 가능케 한 것은 비트코인에는 없는 어카운트 개념과 튜링완전한 스크립팅 언어의 도입이었습니다.

 

이더리움이 주목을 받으면서 새롭게 스마트 컨트랙 플랫폼을 구현하려는 여러가지 시도가 등장했습니다. 하지만 이더리움은 여전히 스마트컨트랙을 구현하고자하는 개발자풀에서 절대적인 비중을 차지하고 있고, 그 영향력은 계속 확대되어가고 있는 추세입니다. 이 과정에서 EEA 의 설립도 큰 역할을 했습니다.

 

그렇다면 과연 비트코인이 세그윗 포크를 하고 나면 이더리움과 동일한 수준의 스마트 컨트랙 플랫폼으로 재탄생되는 것일까요?

 

결론은 여전히 상당히 제한적일 것이라는 것입니다.

 

1) 세그윗 자체가 비트코인 체인위에 직접적으로 자유도가 높은 스마트컨트랙을 바로 구현할 수 있도록 해주는 것은 아닙니다. 세그윗은 제한된 블럭사이즈 (1메가바이트)를 더 효율적으로 이용하고, 트랜잭션의 결정성 문제를 해결하는데 도움이 됨으로써, 이전보다는 좀 숨통을 열어 놓았다는 것이지, 비트코인의 기본적인 메카니즘과 스크립팅 언어구조가 바뀌는 것이 아닙니다.

 

2) 비트코인은 일종의 은행전표와 유사한 UTXO (unspent transaction output) 를 베이스로한 시스템이기 때문에, 복잡한 비지니스 로직을 구현하는데 필수적인 상태머신을 구성하기가 매우 어렵거나 비효율적이게 됩니다.

 

이 부분은 기술적인 논의가 필요해서 비탈릭과 댄의 글 링크만 남깁니다

https://medium.com/@ConsenSys/thoughts-on-utxo-by-vitalik-buterin-2bb782c67e53 

https://steemit.com/blockchain/@dantheman/blockchain-utxo-model-is-a-dead-end-for-general-purpose-applications

 

 

3) 비트코인의 스크립팅 언어인 script 는 자유도가 매우 제한적인 것이고, 여기서 지원되는 opcodes에 의해서 구현할 수 있는 컨트랙은 단순한 멀티시그 정도 이상이 되기 힘듭니다.

 

4) 10분 블록주기를 가지고는 준리얼타임의 속도가 필요한 많은 어플리케이션들을 지원하기는 불가능합니다.

따라서 세그윗이 적용된 이후에도 비트코인의 메인체인에 자유도가 높은 스마트컨트랙을 직접 돌리기는 불가능합니다. 그렇다면 비트코인의 해결방법은 사이드체인이라고 해야 될 것입니다.

 

사이드체인이라 함은 별도의 스마트 컨트랙을 구현하기 위한 체인을 따로 구성하고 이 체인과 비트코인 체인간에 양방향 코인 전환을 할 수 있도록 만드는 것입니다.

 

그런데 사이드체인에서 새로운 스마트 컨트랙 플랫폼을 만드는 것은 결국 다시 이더리움이 구축해왔던 것을 다시 시작하는 형국이 됩니다.

 

이미 몇년을 앞서가 있고, 많은 개발자 생태계를 확보한 이더리움의 스마트 컨트랙 시스템과 직접 경쟁하기는 어렵기 때문에, 비트코인의 사이드체인들이 제일 손쉽게 택할 수 있는 방법은 사이드체인에서 구현되는 컨트랙을 이더리움의 EVM 과 호환되게 하는 것입지다.

 

그렇다면, 네이티브하게 스마트 컨트랙을 지원하고 이것을 지원하기 위한 처음부터 그에 맞게 설계된 이더리움 플랫폼을 사용하는 대신 비트코인에 사이드체인으로 이더리움 EVM을 구현해서 얻게 되는 장점은 무엇일까요?

 

느린 비트코인 블록주기, 제한된 용량, 자유도가 극히 제한된 비트코인 스크립팅 환경을 다 감수하면서도 여기서 사이드로 붙어서 얻을 수 있는 장점이 무엇일까요?

 

스마트 컨트랙 플랫폼의 내재적인 평가기준, 즉 시스템 자체의 효율성, 확장성, 호환성 기준으로 본다면 비트코인 사이드체인이 가질 장점은 별로 없어 보입니다.

 

아마도 가장 중심적인 기대이익은 비트코인이 계속 지불용 암호화폐의 기축통화로 남아 있거나 상당히 영향력이 있는 코인으로 남게 될 경우, 여기에 직접적으로 필요한 스마트 컨트랙의 기능구현이 되지 않을까 봅니다.

즉 스마트컨트랙의 중심 플랫폼으로서의 위상이 아니라 비트코인의 제한되 기능을 보조하는 수단으로서의 기능에 촛점이 맞추어지리라 예상합니다.

 

* 이 글은 페이스북 이더리움 사용자 그룹에 올라온 질문에 대한 답을 모아서 정리한 것입니다.

https://www.facebook.com/groups/1501772833176951/permalink/1506743116013256/

 

2

atomrigs님의 서명

 

한국이더리움 사용자 그룹: https://www.facebook.com/groups/ethereumkorea/

블로그:  https://www.facten.co.kr/news/articleList.html?sc_sub_section_code=S2N13&view_type=sm

 

default debug random = 0 / type = READ / detected = READ

Articles

default debug random = 0 / type = READ / detected = READ