'스마트 컨트랙트'가 만든 대격변…이더리움 백서 정리 [블록체인 Web 3.0 리포트]
-
기사 스크랩
-
공유
-
댓글
-
클린뷰
-
프린트
이더리움 탄생 배경 & 백서 정리
비트코인(BTC)이 제시한 분산 합의 알고리즘, 블록체인 기술은 전 세계의 주목을 받았습니다. 하지만 튜링 불완전성 등 다양한 부분에서 한계가 드러나면서 2세대 블록체인의 선두 주자 '이더리움(ETH)'이 등장하게 됐습니다.
오늘은 비트코인이 갖고 있는 문제점을 수정해 더 완벽한 블록체인을 구축하고, 탈중앙 애플리케이션 생태계를 구축하고자 만들어진 이더리움의 탄생 배경과 특성에 대해 알아보는 시간을 가져 보도록 하겠습니다.
이더리움(ETH)의 창시자 비탈릭 부테린(Vitalik Buterin)은 백서를 통해 비트코인의 본 개념과 한계에 대해 지적했습니다. 사토시 나카모토가 공개키 암호화 방식과 작업증명(PoW) 합의 알고리즘을 결합해 탈중앙화 화폐를 구현하는 데는 성공했지만 △튜링 불완전성 △가치 무지 △상태 표현 제한 △블록체인 무지 등 다양한 부분에서 한계가 명확하게 드러났다는 것입니다.
비탈릭은 P2P(개인 대 개인) 금융 거래를 지원하는 비트코인의 고유 기능과 스마트 컨트랙트(Smart Contract)라는 자동 계약 시스템을 결합해 위 한계들을 극복하고 개발자들이 블록체인 네트워크 위에 분산형 애플리케이션(DApp)을 구축할 수 있도록 지원하고자 했습니다. 비트코인 스크립트 언어에서는 'while', 'for' 등 순환(loop) 명령어 카테고리를 지원하지 않습니다. 거래 증명에 무한 순환에 빠지는 것을 막기 위한 조치였으나, 다채로운 기능을 가진 애플리케이션을 구현하기는 어려운 '튜링 불완전성'이 만들어진 것이죠.
물론 하위 코드를 여러 차례 'if' 구문으로 반복하면 어떤 순환 명령이든 구현이 가능하긴 하지만, 이는 비효율적인 프로그램이 될 수 밖에 없습니다.
비트코인에는 가치 무지로 인해 발생하는 인출 액수 통제에 대한 문제점도 있습니다. UTXO(Unspent Transaction Outputs) 스크립트만으로는 인출 액수를 세밀하게 통제할 수 없는 것입니다.
비트코인은 보유 잔고가 아닌 거래 내역 각각을 카드의 형태로 보유하고 있기 때문에 인출액 전부를 송금 여부로 선택할 수 있을 뿐, 보유액을 나눠 송금할 수 없습니다.
물론 작은 UTXO 여러 개를 합쳐 송금하거나 더 큰 UTXO를 보내 거스름돈을 받는 방식을 사용할 수는 있지만, 자유자재로 가치를 전송할 수 없다는 점에서는 한계가 명확하게 드러났습니다. 마치 5만 원짜리 지폐를 찢어서 2만5000원씩 두 장으로 나눠 송금할 수 없는 것과 같죠.
UTXO는 상태 표현 부분에서도 상당히 제한적입니다. 사용됐는지, 사용되지 않았는지만 표현할 수 있기 때문에 단순한 일회성 거래에만 활용될 수 있을 뿐 다른 내부 계약 상태, 다중 계약 등에 대한 스크립트를 작성할 수 없습니다.
블록체인 무지(Blockchain-blindness)에 대한 한계도 명확했습니다. UTXO는 논스, 타임스탬프 등 이전 블록체인 헤더 데이터 자료를 해독하지 못하기 때문에 시간과 관련된 여러 분야의 애플리케이션을 구축하기 어려웠죠.
이더리움은 비트코인 네트워크가 갖고 있는 이 문제점들을 스마트 컨트랙트(Smart Contract) 기능 확장을 통해 해결하고 다양한 탈중앙화 애플리케이션 생태계를 만들고자 노력했습니다.
이더리움 탄생 배경 그래서 비트코인이랑 뭐가 다른데?
이더리움의 목적은 분산 애플리케이션 제작을 위한 대체 프로토콜 구축에 있습니다. '튜링완전언어'를 내장하고 있는 블록체인이라는 근본적인 목표를 갖고 빠른 개발 시간, 보안, 효율적 상호작용 등을 제공해 비트코인의 한계를 극복하고자 했습니다.
이더리움 네트워크에는 각각의 어카운트(Account)라는 오브젝트(Object)들이 존재합니다. 각각의 어카운트는 논스(Nounce, 일종의 카운터로 각 트랜잭션이 중복 처리되는 것을 막는다), 이더리움 잔고, 계약 코드, 저장 공간 등 4개 필드의 정보를 보유하고 있습니다.
어카운트는 프라이빗 키에 의해 통제되는 외부 소유 어카운트(Externally Owned Account), 컨트랙트 코드에 의해 통제되는 컨트랙트 어카운트(Contract Account)로 분류되며, 이 어카운트들은 서명(Signing)이 포함된 트랜잭션(Transaction)과 메세지(Message)를 전달할 수 있습니다. 물론 어카운트가 트랜잭션과 메세지를 전송할 때는 ETH 코인을 통해 트랜잭션 수수료를 지불해야 합니다.
또한 어카운트들은 각각 계약 코드를 보유할 수 있습니다. 코드는 이더리움 가상 머신(EVM) 코드로 불리는 스택 기반의 바이트 코드 언어로 작성됩니다. EVM이 튜링완전언어를 제공하기 때문에 비트코인 네트워크에서는 실행될 수 없었던 조건부 애플리케이션들이 실행될 수 있는 '스마트 컨트랙트'가 구축될 수 있었던 겁니다.
이더리움 생태계 참여자들은 스마트 컨트랙트를 통해 미국 달러(USD), 금 등에 연계된 하위화폐 경제를 구축했습니다. 이 하위화폐 경제를 기반으로 금융 파생상품 시장 등 이더리움 기반 금융 생태계가 크게 확장하기도 했죠. 이렇게 이더리움은 블록체인 P2P 프로토콜에 경제적 레이어(Economic Layer)를 덧붙여 괄목할 만한 성장세를 이뤄낸 것입니다.
지금도 이더리움과 스마트 컨트랙트는 탈중앙 신원조회(DID) 시스템, 분산형 파일 저장소(DFS), 분산형 자율조직(DAO), 대체 불가능 토큰(NFT) 등 다양한 기술 활용 사례들을 만들어 내고 있습니다.
탈중앙화 거래소 유니스왑(UNI), NFT 마켓플레이스 오픈씨 등 일부 기업들은 스마트 컨트랙트를 통해 새롭게 생겨난 개념을 빠르게 받아들여 대중들에게 상품을 제공하면서 엄청난 속도로 성장하기도 했습니다.
물론 네트워크 확장으로 인한 가스피(수수료) 급등, 글로벌 가상자산 규제로 인한 위험성 등 이더리움이 해결해야 하는 문제점은 아직도 많습니다. 독자 여러분들은 이더리움이 이 문제들을 슬기롭게 풀어내고 웹3 대중화(Mass Adoption)에 성공할 수 있을 거라고 생각하시나요?
# 인터넷은 90년대 대중 보급 이후 30여 년간 쉬지 않고 진화했습니다. 제한적 정보에 일방적 접근만이 가능했던 웹 1.0(Web 1.0), 대중이 직접 정보를 제작하고 공유하는 플랫폼 중심 웹 2.0(Web 2.0) 시대를 지나 현재 우리는 블록체인 기술 기반 탈중앙화 프로토콜을 활용해 대중 모두가 운영 주체로 거듭날 수 있게 된 웹 3.0(Web 3.0) 시대를 살아가고 있습니다.
'블록체인 Web 3.0 리포트'는 블록체인 시장과 웹 3.0 전환에 대한 정확하고 심도 있는 정보를 독자분들께 전달하고자 합니다.
<블록체인·가상자산(코인) 투자 정보 플랫폼(앱) '블루밍비트'에서 더 많은 소식을 받아보실 수 있습니다>
이영민 블루밍비트 기자 20min@bloomingbit.io
오늘은 비트코인이 갖고 있는 문제점을 수정해 더 완벽한 블록체인을 구축하고, 탈중앙 애플리케이션 생태계를 구축하고자 만들어진 이더리움의 탄생 배경과 특성에 대해 알아보는 시간을 가져 보도록 하겠습니다.
이더리움(ETH)의 창시자 비탈릭 부테린(Vitalik Buterin)은 백서를 통해 비트코인의 본 개념과 한계에 대해 지적했습니다. 사토시 나카모토가 공개키 암호화 방식과 작업증명(PoW) 합의 알고리즘을 결합해 탈중앙화 화폐를 구현하는 데는 성공했지만 △튜링 불완전성 △가치 무지 △상태 표현 제한 △블록체인 무지 등 다양한 부분에서 한계가 명확하게 드러났다는 것입니다.
비탈릭은 P2P(개인 대 개인) 금융 거래를 지원하는 비트코인의 고유 기능과 스마트 컨트랙트(Smart Contract)라는 자동 계약 시스템을 결합해 위 한계들을 극복하고 개발자들이 블록체인 네트워크 위에 분산형 애플리케이션(DApp)을 구축할 수 있도록 지원하고자 했습니다. 비트코인 스크립트 언어에서는 'while', 'for' 등 순환(loop) 명령어 카테고리를 지원하지 않습니다. 거래 증명에 무한 순환에 빠지는 것을 막기 위한 조치였으나, 다채로운 기능을 가진 애플리케이션을 구현하기는 어려운 '튜링 불완전성'이 만들어진 것이죠.
물론 하위 코드를 여러 차례 'if' 구문으로 반복하면 어떤 순환 명령이든 구현이 가능하긴 하지만, 이는 비효율적인 프로그램이 될 수 밖에 없습니다.
비트코인에는 가치 무지로 인해 발생하는 인출 액수 통제에 대한 문제점도 있습니다. UTXO(Unspent Transaction Outputs) 스크립트만으로는 인출 액수를 세밀하게 통제할 수 없는 것입니다.
비트코인은 보유 잔고가 아닌 거래 내역 각각을 카드의 형태로 보유하고 있기 때문에 인출액 전부를 송금 여부로 선택할 수 있을 뿐, 보유액을 나눠 송금할 수 없습니다.
물론 작은 UTXO 여러 개를 합쳐 송금하거나 더 큰 UTXO를 보내 거스름돈을 받는 방식을 사용할 수는 있지만, 자유자재로 가치를 전송할 수 없다는 점에서는 한계가 명확하게 드러났습니다. 마치 5만 원짜리 지폐를 찢어서 2만5000원씩 두 장으로 나눠 송금할 수 없는 것과 같죠.
UTXO는 상태 표현 부분에서도 상당히 제한적입니다. 사용됐는지, 사용되지 않았는지만 표현할 수 있기 때문에 단순한 일회성 거래에만 활용될 수 있을 뿐 다른 내부 계약 상태, 다중 계약 등에 대한 스크립트를 작성할 수 없습니다.
블록체인 무지(Blockchain-blindness)에 대한 한계도 명확했습니다. UTXO는 논스, 타임스탬프 등 이전 블록체인 헤더 데이터 자료를 해독하지 못하기 때문에 시간과 관련된 여러 분야의 애플리케이션을 구축하기 어려웠죠.
이더리움은 비트코인 네트워크가 갖고 있는 이 문제점들을 스마트 컨트랙트(Smart Contract) 기능 확장을 통해 해결하고 다양한 탈중앙화 애플리케이션 생태계를 만들고자 노력했습니다.
이더리움 탄생 배경 그래서 비트코인이랑 뭐가 다른데?
이더리움의 목적은 분산 애플리케이션 제작을 위한 대체 프로토콜 구축에 있습니다. '튜링완전언어'를 내장하고 있는 블록체인이라는 근본적인 목표를 갖고 빠른 개발 시간, 보안, 효율적 상호작용 등을 제공해 비트코인의 한계를 극복하고자 했습니다.
이더리움 네트워크에는 각각의 어카운트(Account)라는 오브젝트(Object)들이 존재합니다. 각각의 어카운트는 논스(Nounce, 일종의 카운터로 각 트랜잭션이 중복 처리되는 것을 막는다), 이더리움 잔고, 계약 코드, 저장 공간 등 4개 필드의 정보를 보유하고 있습니다.
어카운트는 프라이빗 키에 의해 통제되는 외부 소유 어카운트(Externally Owned Account), 컨트랙트 코드에 의해 통제되는 컨트랙트 어카운트(Contract Account)로 분류되며, 이 어카운트들은 서명(Signing)이 포함된 트랜잭션(Transaction)과 메세지(Message)를 전달할 수 있습니다. 물론 어카운트가 트랜잭션과 메세지를 전송할 때는 ETH 코인을 통해 트랜잭션 수수료를 지불해야 합니다.
또한 어카운트들은 각각 계약 코드를 보유할 수 있습니다. 코드는 이더리움 가상 머신(EVM) 코드로 불리는 스택 기반의 바이트 코드 언어로 작성됩니다. EVM이 튜링완전언어를 제공하기 때문에 비트코인 네트워크에서는 실행될 수 없었던 조건부 애플리케이션들이 실행될 수 있는 '스마트 컨트랙트'가 구축될 수 있었던 겁니다.
이더리움 생태계 참여자들은 스마트 컨트랙트를 통해 미국 달러(USD), 금 등에 연계된 하위화폐 경제를 구축했습니다. 이 하위화폐 경제를 기반으로 금융 파생상품 시장 등 이더리움 기반 금융 생태계가 크게 확장하기도 했죠. 이렇게 이더리움은 블록체인 P2P 프로토콜에 경제적 레이어(Economic Layer)를 덧붙여 괄목할 만한 성장세를 이뤄낸 것입니다.
지금도 이더리움과 스마트 컨트랙트는 탈중앙 신원조회(DID) 시스템, 분산형 파일 저장소(DFS), 분산형 자율조직(DAO), 대체 불가능 토큰(NFT) 등 다양한 기술 활용 사례들을 만들어 내고 있습니다.
탈중앙화 거래소 유니스왑(UNI), NFT 마켓플레이스 오픈씨 등 일부 기업들은 스마트 컨트랙트를 통해 새롭게 생겨난 개념을 빠르게 받아들여 대중들에게 상품을 제공하면서 엄청난 속도로 성장하기도 했습니다.
물론 네트워크 확장으로 인한 가스피(수수료) 급등, 글로벌 가상자산 규제로 인한 위험성 등 이더리움이 해결해야 하는 문제점은 아직도 많습니다. 독자 여러분들은 이더리움이 이 문제들을 슬기롭게 풀어내고 웹3 대중화(Mass Adoption)에 성공할 수 있을 거라고 생각하시나요?
# 인터넷은 90년대 대중 보급 이후 30여 년간 쉬지 않고 진화했습니다. 제한적 정보에 일방적 접근만이 가능했던 웹 1.0(Web 1.0), 대중이 직접 정보를 제작하고 공유하는 플랫폼 중심 웹 2.0(Web 2.0) 시대를 지나 현재 우리는 블록체인 기술 기반 탈중앙화 프로토콜을 활용해 대중 모두가 운영 주체로 거듭날 수 있게 된 웹 3.0(Web 3.0) 시대를 살아가고 있습니다.
'블록체인 Web 3.0 리포트'는 블록체인 시장과 웹 3.0 전환에 대한 정확하고 심도 있는 정보를 독자분들께 전달하고자 합니다.
<블록체인·가상자산(코인) 투자 정보 플랫폼(앱) '블루밍비트'에서 더 많은 소식을 받아보실 수 있습니다>
이영민 블루밍비트 기자 20min@bloomingbit.io