비트코인과 블록체인, 그리고 이더리움이 가져오는 거대한 변화

최근 몇달 사이 비트코인 가격이 급등했다. 현재 기준으로 1 비트코인의 가격은 이제 2,116달러에 달한다. 그래서 좀 마음이 아프다. 항상 그렇지만, 투자라는 건 처음 마음을 그대로 유지하는게 중요한데, 시세 500달러 정도일 때 사뒀던 비트코인을 너무 일찍 팔아버렸기 때문.

Screen Shot 2017-05-28 at 9.58.44 PM
비트코인 가격 변동 추이. 현재 가격은 무려 $2,116 달러이다. (출처: https://www.worldcoinindex.com/coin/bitcoin)

가격이 오르고 통화량이 늘어난 결과, 이들 가상 화폐가 시장에서 가지는 총 가치(Market Capitalization)는 이제 $70 billion (약 77조원)에 달한다. 77조원이면 무척 크게 느껴지지만, 전 세계 통화량에 비하면 여전히 새발의 피다. 놀라운 건, 불과 한달 전에 시장 총 가치는 이의 절반인 $35 billion이었다는 것. 2013년부터 2017년 초까지 느릿 느릿 올라가던 것이, 지난 두 달 만에 수 배가 뛴 것이다. 이는 위에서 본 최근의 비트코인 가격 상승과 밀접한 관련이 있다.

Screen Shot 2017-05-28 at 9.55.51 PM
가상 화폐의 총 시장 가치 (출처: http://coinmarketcap.com/charts/)

비트코인 뿐 아니라 이더리움(Ethereum), 라이트코인(Litecoin) 등 블록체인 기반의 다른 가상 통화량이 크게 늘면서 비트코인의 점유율이 낮아졌다는 것이 또한 큰 변화. 이제 비트코인의 점유율은 50% 미만으로 떨어졌고, 특히 이더리움이 대 약진을 해서 전체 통화량의 20%를 차지한다.

Screen Shot 2017-05-28 at 10.01.53 PM

(아래 내용은 블록체인에 대한 이해가 바탕이 되어야 이해할 수 있습니다. 블록체인에 대해서는 이전에 쓴 글, 비트코인 경제학을 참고하세요. 한마디로 다시 설명한다면, 블록체인은 정보를 안전하게 저장하는 방법 중 하나인데, ‘정보의 진실성’을 여러 대의 컴퓨터에 나누어 저장해둠으로써 그 정보가 해킹을 당할 우려를 원천 봉쇄합니다. 예를 들어 조성문이 현재 100만원을 가지고 있다는 정보를 국민은행 서버에 저장하는 대신, ‘블록체인’이라는 형태로 저장하게 되면, 국민은행 서버가 아닌 전 세계에 있는 수천대의 서버에 나누어둘 수 있고, 이 서버들이 모여 조성문이 100만원을 가지고 있음을 증명해줄 수 있습니다.)

이더리움에 대한 이야기가 요즘 하도 많이 나오길래 홈페이지에서 좀 살펴보고, 이더리움 창시자인 비탈릭 부터린(Vitalik Buterin)이 데브콘(Devcon)에서 발표한 강의를 봤는데, 너무나 흥미로웠다. 어려운 개념을 최대한 쉽게 설명하려고 노력하는데, 이전의 기술이 카시오 계산기 수준이었다면, 이더리움은 스마트폰 같다는 것으로 이야기를 시작한다. 이더리움이 가지는 가장 중요한 컨셉 중 하나는 계약(Contract)이다. 우리가 사는 일상 생활에서 가장 빈번하게 일어나고, 가장 위험의 소지가 높은 것이 바로 계약이다. 집을 사고 팔고, 돈을 투자하고, 또 빌려주고 갚고. 이런 모든 일들은 계약을 기반으로 이루어지는데, 이더리움은 바로 이 계약을 블록체인 형태로 보관하기 쉽게 해 준다(단 몇 줄의 코드로). 이더리움으로 계약서를 작성하고 유지하는데는 약간의 수수료가 (기존보다는 훨씬 싼!) 드는데, 이것은 이더리움 화폐(ether)로만 결제할 수 있다. 그 결과, 이더리움 기반의 애플리케이션이 늘어날수록 이더리움 화폐의 가치는 올라간다. 아래는 이더리움 기반으로 새로운 계약(Contract)를 만드는 코드이다 (출처: http://ethdocs.org/en/latest/contracts-and-transactions/contracts.html).

contract HelloWorld {
        event Print(string out);
        function() { Print("Hello, World!"); }
}

오늘 미디엄(Medium)에서 Thoughts on Tokens라는 흥미로운 글을 하나 발견했다. 지금 일어나고 있는 큰 변화는 ‘희소하고 안전하며 식별될 수 있는 자원’인 토큰(Token)이 인기를 얻고 있다는 것이며(비트코인, 라이트코인 등등 블록체인 기반의 화폐 모두를 통틀어 토큰이라 부른다), 토큰의 특성을 15가지로 나눠서 이야기하는데, 정말 한 번 읽어볼만하다. 블록체인이 잘 이해되지 않더라도, 그리고 이 글이 좀 어렵게 느껴지더라도, 그리고 컴퓨터 공학 전공자가 아니더라도, 두 세번 읽으면 누구나 이해할 수 있다. 그 중 내가 생각하기에 이해하기 쉬우며 핵심적인 내용은 3번 항목인데, 즉 ‘토큰’을 산다는 것은 결국 프라이빗 키(private key)를 산다는 것이라는 설명이다. (프라이빗 키는 컴퓨터 과학의 보안 영역에서 자주 등장하는 용어인데, 쉽게 설명하면 금고 주인만 갖고 있는 열쇠 같은 것이다. 이에 대한 더 자세한 내용은 ‘공개 키 암호 방식‘ 글 참고.)

You can think of a private key as being similar to a password. Just like your private password grants you access to the email stored on a centralized cloud database like Gmail, your private key grants you access to the digital token stored on a decentralized blockchain database like Ethereum or Bitcoin.

There is one major difference, however: unlike a password, neither you nor anyone else can reset your private key if you lose it. If you have the private key, you have possession of your tokens. If you do not, you have lost access.

프라이빗 키는 암호와 같은 것으로 생각할 수 있다. 이메일 암호가 있어야 지메일과 같이 메인 컴퓨터에 있는 데이터베이스에 접근할 수 있듯, 프라이빗 키가 있어야 이더리움이나 비트코인과 같이 분산된 블록체인 데이터베이스에 접근할 수 있다.

한 가지 주된 차이점은, 암호와 달리 프라이빗 키는 잃어버린 경우에 리셋할 방법이 없다는 것이다. 프라이빗 키를 잃으면, 당신이 가진 토큰에 접근할 방법이 사라지고, 영원히 잃어버리게 된다.

분산 저장이라는 것은 원래 우리 뇌로 자연스럽게 이해하기 힘든 것이다. 수천 수만년의 인류 역사 동안, 정보는 한 곳에 저장되고, 모든 사람들이 이 ‘한 곳’을 통해 동일한 정보를 주고 받는 것이 당연하게 생각되어 왔기 때문이다. 부동산 거래 정보를 가지고 있는 등기소처럼. 하지만, 새로운 시대를 사는 다음 세대는, 중앙 집권식 정보 저장 자체를 부자연스럽게 생각하고 이해하기 어려워하는 날이 올 지도 모르겠다.

P.S.: 블록체인에 대한 설명은 아래, ‘2분만에 블록체인 이해하기’ 비디오를 참고.

P.S. 2: 아래는 ‘이더리움 25분만에 이해하기’ 강의. 기술적이고 어려운 내용이지만, 한 번 봐둘만하다.

P.S. 3: 비트코인(블록체인)에 관한 다른(부정적인) 시각

 

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s