오늘부터 이더리움을 공부하려고 합니다. 근데 참...걱정이 많이 되네요.ㅎㅎ
하루종일 이더리움 백서부터 이더리움의 개론 같은 글을 봤는데 이것 저것 내용이 많더라구요.
사실 비트코인은 논문 형태로 등장하고 난 뒤 개발도 계속 이루어지고 업그레이드되고 있지만 굵직굵직한 내용은 많이 없습니다. 가장 많이 알려진 게 세그윗이나 라이트닝 네트워크 정도 인거 같네요.(자식코인을 낳는 하드포크는 제외하겠습니다.--)
그런데 이더리움은...흐음....너무나 많은 일이 생겼죠. 꼴에 들은 것은 많아가지고 이것 저것 생각이 많이 납니다. 캐스퍼, 라이덴 네트워크, 샤딩, Z-snarks 등등 한 번쯤 들어보기만 했거나 전혀 모르는 내용들이 상당히 많습니다.
이번에 성공적으로 끝났다는 비잔티움(Byzantium) 하드포크도 정확히 무슨 내용인지 알아야할 거 같구요.
어디까지 알아야하지?
평생을 중간, 기말 같은 범위가 있는 공부만을 하다보니 범위가 정해지지 않는 공부는 참 시작하기가 겁나더군요.(그래서 제가 영어를 못하는지도..)
사실 비트코인도 많은 내용을 남긴채로 넘어왔으니 이더리움도 제가 찾고 이해할 수 있는 수준까지만 우선 공부하기로 했습니다. 계속 고민하느니 하나라도 하기 시작하면 범위가 보이겠죠 뭐.ㅎㅎ
우선은 비트코인과 이더리움의 대표적인 차이점을 공부하면서 하나씩 알아가고자 합니다. 확실히 비교대상이 있다는 것은 이해하기 쉬운 방법 중 하나이니까요.
시작은 문제의식입니다. 왜 비트코인이 나왔고 이더리움이 나왔는가. 이것을 알면 앞으로 공부할 차이점들이 더 확실하게 보이겠죠. 뭘 할려고 이걸 만들었는지 알고 있으니까요.
비트코인은 2008년에서 미국에서 시작된 세계적 금융위기에 대한 대안으로 탄생했다고 알려져 있습니다. 그 금융위기라는 것이 바로 한번쯤은 들어본 서브프라임 모기지론이지요. 이 서브프라임 모기지론 사태를 좀 알면 더 쉬어지므로 @noctisk님의 글이나 @kim066님의 글과 동영상을 꼭 보시기 바랍니다.(두 분 글 모두 주옥같은 글입니다.보팅이 안된다는게 넘 아쉬운..)
사토시 나카모토는 중앙은행이 화폐 발행을 독점하고 인플레이션을 조장하는 등의 잘못된 경제정책을 폄으로써 경제 불균형을 초래했다고 생각했습니다. 그래서 어떤 권력기관의 통제를 받지 않고, 신뢰할 수 있는 제 3자가 필요없는 화폐를 만들려고 한 것입니다. 새로운 디지털 화폐를 통해서 현재 법정화폐의 문제점들을 해결하고자 한 것이죠.
그럼 하나씩 알아보겠습니다.
1. 화폐발행의 독점
우선 화폐 발행을 중앙 기관이 독점하는 것을 없애기 위해 채굴이라는 시스템을 사용합니다. 비트코인이라는 화폐를 생성하는 것에 독점적인 권력기관은 필요하지 않습니다. 열심히 일하는 컴퓨터가 필요한 것 뿐이죠. 채굴자는 정확하게 가진 능력(해시레이트)의 비율만큼 비트코인으로 돌려받습니다. 이 채굴시스템은 어떤 기관에 의해 좌우되는 것이 아니라 누구나 참여 가능하고 일한만큼 돌려받는 형식이었습니다. 요새는 전문 채굴기와 채굴풀의 등장으로 많이 변질된 건 사실이지만요.
2. 인플레이션
툭하면 꺼내는 인플레이션 정책에 반대하여 비트코인의 발행량은 시작부터 2100만개로 정해져 있습니다. 그리고 시간이 흐를수록, 정확하게는 매 21만 블록(약 4년)마다 블록 생성의 보상으로 받는 비트코인도 반으로 줄어들게 되죠.(최초 50개에서 현재 12.5개) 컴퓨터 성능의 발전으로 블록생성이 빨라지는 것을 방지하기 위해 hashcash라는 암호 알고리즘을 가져와 난이도라는 것을 만듭니다. 화폐를 더 빨리 찍어내서 의도치 않은 인플레이션을 방지하는 것이죠. 맘대로 발행량을 조정하여 화폐의 가치를 떨어뜨리는 인플레이션을 할 수 있는 조직이나 방법은 없습니다.
3. 신뢰받는 제 3자 기관(trusted)
현재 금융의 송금과정을 보면 항상 은행이라는 신뢰할 수 있는 존재가 끼게 됩니다. 거래 상대방을 믿을 수 있냐의 문제부터 이중지불에 관한 문제까지 은행이 다 알아서 해주죠. 은행을 전적으로 믿을 때야 아무 문제가 없지만 2008년 금융위기와 같은 상황에서는 은행이라는 존재도 무력해질 수 있습니다. 이런 문제를 해결하기 위해 암호화 디지틀 서명방식인 PKI(Publick Key Infrastructure)의 시스템을 가져옵니다. 이 매커니즘을 차용하여 개인키, 개인키를 통한 서명, 공개키, 주소를 만들고 이를 통해 개인간의 직접적인 거래에 보안과 신뢰를 부여합니다. 또한 모든 거래내역을 블록에 담고 노드들이 똑같은 블록을 공유하게 만듦으로서 누구나 확인, 검증할 수 있는 분산 원장(open ledger)을 만듭니다. 신뢰가 필요한(trusted)기관의 존재를 없애고 신뢰가 필요없는(trustless) 구조를 만든 것이죠.
4. 중앙화된 권력기관
중앙화된 권력기관은 필수불가결한 것처럼 보여도 많은 문제들을 만들어냅니다. 저 분처럼 말이죠....
모든 결정을 담당하는 중앙화된 권력의 분산을 위해 P2P 네트워크의 노드를 이용하며, 이런 분산화된 주체들의 합의를 이끌어 내기 위해 작업 증명이라는 합의 알고리즘을 씁니다. 어떤 업그레이드나 변화에 대해 모든 정보는 공유되며 그들의 결정은 블록의 생성과 가장 긴 체인으로 연결된 블록의 내용이 참이라는 합의를 통해 표현됩니다.
위와 같이 비트코인 블록체인의 특성들은 법정화폐들을 개혁 혹은 대체하기 위한 시도의 결과입니다. 비트코인이라는 화폐를 만들기 위해 여러가지 기술들이 합쳐진 블록체인이 만들어졌다는 이야기죠. 프로그래밍 언어도 지불수단인 화폐에 맞게 단순하고 제한적인 스크립트라는 언어를 사용한 것이구요.
여기까지가 비트코인이 만들어진 문제의식이었습니다. 짧은 지식으로 쓰여진 이 글은 읽으시는 분에게 생각거리를 제공하는 것 뿐이니 더 많이 알아보시고 같이 나눴으면 합니다.ㅎ
이더리움의 문제의식에 관한 글은 다음 글로.ㅎㅎ
아직 문장력이 모자라 글을 길게 쓰면 확실히 가독성도 떨어지고 제 집중력도 많이 떨어져 글이 산만해지더라구요.
재미없는 글 읽는다고 고생하셨습니다~~
Ourselves 캠페인
셀프보팅을 하지 않고 글을 올리시고
ourselves 테그를 달아 주시면
많은 분들이 관심 가져 줄꺼에요