[정보] KEEP!T 블록체인 뉴스:6/16 - 비트코인의 학술적 유래 (1)

이 컨텐츠 출처는 KEEP!T (https://steemit.com/@keepit) 입니다

logo_today.png

KEEP!T Today


안녕하세요! KEEP!T 입니다.

오늘은 비트코인을 이해하기에 좋은 아티클을 하나 소개하고자 합니다.



비트코인의 학술적 유래

현재의 암호화폐는 과거에 잊혀졌던 연구 자료에서부터 시작되었다.


Arvind Narayanan & Jeremy Clark



만약 여러분이 비트코인에 대한 언론 기사를 접한 적이 있고 암호화폐에 관한 자료를 공부해왔다면 당신은 아마 다음과 같은 (합리적인) 생각을 할 수 있을 것입니다: David Chaum로부터 시작했던 수십 년 동안의 암호화폐 연구는 은행과 같은 서버 컨트롤이 필요한 중앙집중식 디지털 화폐였는데 어떤 은행도 여기에 동참하기를 원하지 않았기 때문에 상업적인 성공으로 이어지지 않았다. 반면 비트코인은 은행이 필요없는 탈 중앙화된 암호화폐라는 점에서 기존의 디지털 화폐와 급진적으로 달랐고 이러한 차이점 덕분에 마침내 성공을 이룰 수 있었다. 비트코인의 창시자 (혹은 그룹),미스테리의 나카모토 사토시는 학술계와 관련이 없는 아웃사이더였고 그렇기 때문에 비트코인은 기존의 학술 연구와는 유사점이 없을 것이다.

저는 이러한 관점을 반박하고자 합니다. 이를 위해 비트코인의 거의 모든 기술적 요소들이1980-90년대(1번 그림 참고)의 연구 자료들로부터 유래되었음을 입증할 것입니다. 이것은 나카모토씨의 업적을 비하하고자 함이 아닙니다. 다만 비트코인 역시 거인들의 어깨에 서 있다는 점을 알리기 위함입니다. 실제로 비트코인 아이디어의 유래를 추적함으로써 나카모토가 비트코인을 설계할 때 어떠한 아이디어를 차용했고 또 어떠한 요소들로 비트코인을 개발했는지 알 수 있습니다. 나아가 이것이 나카모토의 진정한 통찰력을 알려줌과 동시에 비트코인이 발명되기까지 왜 그토록 오랜 시간이 걸렸는지 알 수 있습니다. 비트코인의 작동 원리에 대해 이미 친숙한 독자들은 이번 아티클을 통하여 더욱 깊은 이해를 얻을 수 있을 것입니다. (비트코인에 대한 개요를 알고 싶은 분들은 Arvind Narayanan 등이 저술한 Bitcoin and Cryptocurrency를 참고하시기 바랍니다.) 비트코인의 발전 역사는 학술과 학술 외부의 연구자들과 그리고 해당 산업의 종사자와의 관계를 묘사함으로써 사례 연구로도 이용될뿐더러 하나의 그룹이 다른 그룹에게 어떠한 좋은 영향을 미치는지도 설명할 것입니다.


narayanan1.png


The Ledger (원장)


만약 여러분이 보안 원장(secure ledger)을 가지고 있다면, 이를 통해 디지털 지급 시스템을 이용하는 것은 꽤나 직관적이고 쉬운 일입니다. 예를 들어,만약 Alice가 Bob에게 페이팔을 통하여$100을 보낸다고 가정하면 페이팔은 Alice의 계좌로부터$100을 가져오고, Bob의 계좌에$100을 지급해야 합니다. 이것이 기존 은행이 작동하는 개략적인 방식입니다. (이때 은행들 간에 공유되는 단 하나의 공유 원장이 없다는 점이 문제를 다소 복잡하게 만듭니다)

원장(Ledger)의 개념은 비트코인을 이해하는 시작점입니다. 원장은 시스템 안에서 행해지는 모든 거래 내역을 저장하는 장소이며, 또한 시스템의 참여자 모두에게 공개되어 있으며 또 신뢰받아야 합니다. 비트코인은 이러한 지불 내역(recording payments) 시스템을 통화로 바꾼 것입니다. 은행의 경우 계좌의 잔액은 곧 은행으로부터 인출할 수 있는 현금을 뜻합니다. 그러면 비트코인의 단위는 무엇을 뜻할까요? 현재까지는, 무엇이 거래되었는지(what is being transacted)가 거래의 본질적인 가치를 내포합니다.

구성원들이 서로를 신뢰하지 못하는 인터넷 공간에서 원장을 만들고자 한다면 무엇을 어떻게 해야 할까요? 우선, 데이터 구조를 선택하는 다소 쉬운 부분부터 시작해봅시다. 원장을 개발할 때 고려해야 하는 몇 가지 특성들이 있습니다. 첫째로, 불변성을 가져야 합니다. 더욱 정확히 표현하면, 데이터 구조는 오직 첨가(append)만 가능해야 합니다. 무슨 뜻이냐면, 당신은 거래 내역을 새롭게 만들 수만 있을 뿐 기존의 것을 제거하거나 변경하는 것은 불가능해야 합니다. 나아가 암호화된 요약문(원문: cryptographic digest of the state of the ledger)을 언제나 얻을 수 있어야 합니다. 여기서 요약문(Digest)이란 원장의 전부를 저장하는 것을 피할 수 있도록 도와주는 짧은 문자 값(a short string)을 뜻합니다. 만약 원장이 어떤 방식으로든 공격을 받는다면 요약문의 결과값도 바뀔 것이고, 따라서 원장에 대한 공격을 포착할 수 있게 됩니다. 이러한 특성들을 가지는 이유는 모든 데이터를 하나의 기계에 저장하는 기존의 데이터 구조와는 다르게 비트코인의 원장은 글로벌 데이터 구조(a global data structure)를 가지기 때문입니다. 이러한 데이터 구조에서는 상호 간의 불신을 전제로 하는 구성원들의 합의에 의해 신뢰성이 유지됩니다. 이것은 많은 참여자들이 지역 원장(local ledgers)을 유지하고 원장에서 발생하는 충돌들을 유저들이 쿼리(query, 데이터베이스에 정보를 요청하는 행위; 역주)해야 하는 디지털 원장 분산화 접근 방식과도 다릅니다.


연결된 타임스탬핑 (Linked Timestamping)


비트코인 원장의 개념은 Stuart Haver와 Scott Stornetta가 1990, 1997년에 저술한 일련의 연구 논문의 아이디어를 최소한의 수정만 거친 후 그대로 차용하였습니다. (1991년의 논문의 경우 Dave Bayer가 또 다른 공동 저자로 참여하였습니다) 이러한 사실을 알 수 있는 이유는, 나카모토 스스로가 비트코인 백서에서 아이디어 차용 사실을 밝혔기 때문입니다. Haberd와 Stornett의 연구는 문서 타임스탬핑(document timestamping)의 문제점을 주로 다루었는데, 이 문제를 해결하기 위해 그들은“디지털 공증인(digital notary)” 개념을 소개하였습니다. 특허, 비즈니스 계약, 그리고 다른 많은 문서들의 경우 작성자는 해당 문서가 특정 시간에 작성되었음을 증명할 필요가 있습니다. 작성자들이 생각하는 문서의 개념은 꽤나 다양하고 일반적이기 때문에 어떠한 유형의 데이터도 문서가 될 수 있습니다. 그렇기 때문에 논문의 저자들은 해당 아이디어가 금융 거래에도 적용될 수 있다고 지나가는 말투로 언급했는데 그것은 그들의 관심사가 아니었기 때문입니다.

Harber와 Stornetta 논문의 요약본에 따르면 문서들은 끊임없이 생성되고 또 대외적으로 알려지게 됩니다. 문서의 저자들은 계약이 만들어진 시간을 첨부하고 각각의 문서들과 그 문서에 따른 타임스탬프, 그리고 새로운 문서 이전의 문서들에 서명할 것입니다. 이때 이전의 문서들 역시 자기보다 오래된 문서들(predecessor)의 서명을 가지고 있기 때문에, 문서들은 과거로 이어지는 일련의 긴 사슬 구조를 형성하게 됩니다.이러한 사슬 구조 덕분에 문서 작성에 참여하지 않은 외부자들은 타임스탬프된 메시지를 수정할 수 없습니다. 각각의 문서들은 작성자에 의해 서명되었고, 작성자 역시 새로운 내용을 추가하는 방법 외에는 기존의 메시지를 변경할 수 없게 됩니다. 그렇기 때문에 만약 여러분이 신뢰할 수 있는 곳(다른 유저, 혹은 타임스탬핑 전문 서비스 업체)으로부터 어떠한 아이템을 받았다면, 그 아이템을 받은 시점까지의 모든 체인은 봉쇄(locked in)되기 때문에 변경이 불가능(immutable)하게 되는 것입니다. 나아가 만약 시스템이 부정확한 문서 작성 시간 등의 이유로 계약서를 거절하는 상황을 가정해본다면, 당신은 그 문서들이 오래전에 작성되었음을 합리적으로 추론할 수 있게 됩니다. 어찌 되었든 비트코인은 Harber와 Stornetta가 제안한 아이디어를 도입했고,이러한 자료 구조에 Proof of Work를 첨가함으로써 보안 문제를 재구성하였습니다. POW에 대해서는 추후 논의할 것입니다.

Haber와 Stornetta는 자료 구조를 더욱 효과적으로 만들기 위하여 다른 아이디어들도 소개했습니다. (아이디어의 일부는 그들의 첫 번째 논문에서 간단히 언급되어 있습니다). 우선 문서들 간의 링크는 서명(signature)이 아니라 해시값(hashes)을 사용하여 만들어질 수 있다고 밝혔습니다. 해시는 컴퓨터로 계산하기에 더욱 간단하고 빠릅니다. 이렇게 만들어진 링크들을 해시 포인터(hash pointers)라고 부릅니다. 둘째로, 각각의 문서들을 순서대로 처리하기(threading)하기 보다는 – 이것은 여러 문서들이 거의 동시에 작성되면 매우 비효율적인 방식이 됩니다 – 이 문서들은 batches 혹은 blocks으로 그룹화하면서 각각의 블록에 들어있는 문서들에게 동일한 타임스탬프를 부여하였습니다. 셋째로, 각각의 블록 안에서 문서들은 선형성 체인(a linear chain)이 아닌 머클 트리(Merkle Tree)라고 불리는 해시 포인터의 이진 트리(binary tree)를 통해 연결할 수 있습니다. 공교롭게도 Haber와 Stornetta의 첫 번째 논문 바로 직후인 1991년, 다른 두 명의 학자 Josh Benaloh와 Michael de Mare가 Haber와 Stornetta가 소개한 세 가지 아이디어를 담은 논문을 독자적으로 발표합니다.


머클 트리(Merkle Trees)


비트코인은 Haber와 Stornetta의1991 & 1997년 논문에서 소개된 데이터 구조를 도입하는데, 그 형태는 그림2에서 확인할 수 있습니다. (나카모토는 Benaloh와 de Mare의 연구는 몰랐을 것이라 짐작됩니다.)

narayanan2.png

물론 비트코인에서는 거래 내역이 계약서를 대신합니다. 머클 트리의 각각의 블록에서 리프 노드(leaf node)들은 거래 내역을 뜻하고, 각각의 내부 노드(internal node)들은 본질적으로 2개의 포인터로 구성되어 있습니다. 이 데이터 구조는 2가지 중요한 특성이 있습니다. 첫째로, 가장 최근의 블록의 해시는 요약문(digest)의 역할을 합니다. 거래 내역(리프 노드, leaf nodes를 지칭)에 있어서 어떠한 변화가 있다면 해당 블록의 제네시스 지점에 이르기까지(the root of the block), 그리고 제네시스 블록으로부터 파생되는 모든 블록의 초기값(roots)들을 변화시킬 필요가 있습니다. 따라서 만약 당신이 가장 최근의 해시를 안다면 당신은 원장에서 나머지 해시도 다운받을 수 있게 되며, 설령 자료가 신뢰할 수 없는 불특정인으로부터 나왔다 하더라도 조작이 없음을 증명할 수 있게 됩니다. 이와 유사한 논의는 데이터 구조에 또 다른 중요한 특성을 부여하는데 그것은 불특정 사용자가 당신에게 특정 거래 내역이 원장에 포함되었음을 효율적으로 증명할 수 있게 된다는 것입니다. 증명하고자 하는 불특정 사용자는 당신에게 (원하는 거래 내역으로부터) 파생된 모든 블록의 데이터의 일부뿐만 아니라 거래 내역의 아주 적은 부분을 노드들에게 보내면 됩니다. 이것이 머클 트리의 요점입니다. 이렇게 거래 내역의 통합(inclusion)을 효율적으로 증명하는 것은 성능(performance)과 확장성(scalability)에서 매우 중요한 문제입니다.

머클 트리는 Ralph Merkle의 이름을 본뜬 것입니다. 불규칙 암호학( asymmetric cryptography)의 선구자였던 머클은 1980년 논문에서 자신의 아이디어를 소개하였습니다. 애초에 머클이 의도했던 암호학의 사용방법은 공공 분야(public directory)의 디지털 공증(digital certificate)을 위한 요약문를 생성하기 위함이었습니다. 예를 들어 어떤 웹사이트가 당신에게 어떤 증명서를 보여줄 때, 웹사이트는 상기의 증명서가 전체 디렉터리의 증명서와 동일한 것임을 입증할 수 있는 작은 증거(a short proof)를 함께 제시할 것입니다. 이때 당신이 만약 머클 트리 증명서의 루트 해시값(the root hash of the Merkle tree of the certificates)을 안다면 웹사이트가 공개한 증거의 진위 여부를 효율적으로 증명할 수 있게 됩니다. 암호학의 관점에서 이러한 아이디어는 꽤나 고전적인 것이지만 그 능력과 효율의 평가는 최근에서야 이루어졌습니다. 그리고 이것은 최근에 실행된 인증서 투명성 시스템(Certificate Transparency System)의 핵심적인 기능입니다. 2015년 연구논문에서 제안된 CONIKS라는 아이디어를 통해 end-to-end 방식으로 암호화(encrypted)된 메일을 위한 퍼블릭 키 디렉토리에 적용했습니다. 전반적 상태(Global state)의 일부분을 효율적으로 증명하는 문제는 새롭게 등장한 암호화폐, 이더리움 원장이 제공하는 핵심 기능들 중의 하나입니다.

Haber와 Stornetta의 데이터 구조의 예시 중에 비트코인이 가장 널리 알려진 사례일수도 있으나, 첫 번째 사례는 아닙니다. 90년대 중반에 설립된 Surety와2007년에 시작한 Guardtime 등 최소 2개의 기업들이 문서 타임스탬핑 서비스(document timestamping service)를 제공하였습니다. 여기서 흥미로운 점은 두 기업이 머클 루트값(Merkle roots)을 신문지에 광고의 형태로 주기적으로 출판함으로써 Bayer, Haber, 그리고 Stornetta가 제안했던 아이디어를 실제로 적용했다는 점입니다. 그림 3은 Guardtime이 신문에 출판한 머클 트리 루트값(Merkle root)을 보여줍니다.

narayanan3.png




원문: [Queue]Bitcoin's Academic Pedigree



이상 오늘의 스낵과 같은 뉴스를 마칩니다.

즐거운 주말 보내시길!

DK

logo_end.gif

크리에이티브커먼즈라이선스
이저작물은크리에이티브커먼즈저작자표시-비영리-변경금지4.0 국제라이선스에따라이용할수있습니다.

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

블록체인 기술

번호 제목 글쓴이 날짜 조회수
60 정보 (코인비평) 이오스(EOS) 램마켓 ; 해법은 없는가? icon Work4Block 08-10 3,413
59 정보 (코인비평) 이오스(EOS) 최초 사이드체인 ; Telos 가 의미하는 것 icon Work4Block 08-10 2,519
58 정보 (코인비평) 개 버릇 남 못주고 그 나물에는 그 밥인 법 ; Vechain 2편 icon Work4Block 08-09 2,506
57 정보 (코인비평) 개 버릇 남 못주는 법 ; Vechain icon Work4Block 08-09 3,169
56 정보 (코인비평) 비관적 현실을 냉정하게 받아들이는 법 ; 스톡데일 패러독스(Stockdale paradox) icon Work4Block 08-09 2,649
55 정보 (코인비평) 스팀의 토큰집중 현상을 어떻게 해결해야 할까? icon Work4Block 08-09 2,331
54 정보 (코인비평) 이런 토큰분배정책 정말 괜찮은 것일까? - 플레이코인 icon Work4Block 08-09 2,511
53 정보 (코인비평) 플레이코인 대표와의 언쟁 중 현타가 오다. icon Work4Block 08-09 2,301
52 정보 (코인비평) 큐바오(Qbao) 투자시 고려해야할 점 - 코인 분석 의뢰 시리즈 1편 icon Work4Block 08-09 2,077
51 정보 (코인비평) 토큰 이코노미(Token Economy) - 2편 ; 이걸 무시하는 프로젝트들.. icon Work4Block 08-09 2,259
50 정보 (코인비평) 토큰 이코노미(Token Economy) - 1편 ; 이게 안되면 시작해도 소용 없다. icon Work4Block 08-09 2,795
49 정보 인터넷 거물들은 왜 웹3.0을 두려워하는가 icon Work4Block 08-07 9,676
48 정보 KEEP!T Column: 블록체인 업계의 투명성 icon Work4Block 08-01 3,785
47 정보 KEEP!T 블록체인 뉴스:7/14 - 비트코인의 학술적 유래 (5) icon Work4Block 07-18 2,461
46 정보 KEEP!T 블록체인 뉴스:7/7 - 비트코인의 학술적 유래 (4) icon Work4Block 07-10 2,251
45 정보 KEEP!T 블록체인 뉴스:6/30 - 비트코인의 학술적 유래 (3) icon Work4Block 07-05 2,385
44 정보 KEEP!T 블록체인 뉴스:6/23 - 비트코인의 학술적 유래 (2) icon Work4Block 07-05 2,128
43 정보 KEEP!T 블록체인 뉴스:6/16 - 비트코인의 학술적 유래 (1) icon Work4Block 07-05 2,679
42 정보 토큰 락업(Lock-up)은 스캠 ICO의 완전한 방지책일까? - (경제학으로 읽는 비트코인 이야기 - 7) icon Work4Block 06-28 4,673
41 정보 문과생, 블록체인업체에 취직하다 - (5) 블록체인 번역자들이 종종 범하는 실수 icon Work4Block 06-28 2,574