전체 8개 중 제 3 모듈

비트코인 기술 역사

3.0 소개

비트코인 백서 초록

완전히 개인 간(peer-to-peer) 방식의 전자 화폐는 온라인 결제를 금융 기관을 거치지 않고 한 당사자에서 다른 당사자로 직접 보낼 수 있게 해줍니다.디지털 서명은 해결책의 일부를 제공합니다지만, 만약 신뢰할 수 있는 제3자가 여전히 이중 지불을 방지하기 위해 필요하다면 주요 이점이 사라집니다. 우리는 개인 간(peer-to-peer) 네트워크를 이용해 이중 지불 문제에 대한 해결책을 제안합니다.네트워크는 거래에 타임스탬프를 부여합니다거래를 연속적인 해시 기반 작업 증명(proof-of-work) 체인에 해싱하여, 변경할 수 없는 기록을 형성합니다. 이 기록을 변경하려면 작업 증명을 다시 해야 합니다. 가장 긴 체인은 목격된 사건의 순서를 증명할 뿐만 아니라, 가장 큰 CPU 파워 풀에서 나왔다는 증거가 됩니다. 네트워크를 공격하려는 노드가 아닌 노드들이 CPU 파워의 과반수를 통제하는 한, 그들은 가장 긴 체인을 생성하며 공격자를 앞설 수 있습니다.네트워크 자체는 최소한의 구조만을 필요로 합니다. 메시지는 최선의 노력으로 브로드캐스트되고, 노드는 자유롭게 네트워크를 떠나거나 다시 참여할 수 있습니다, 그들이 없는 동안 일어난 일을 가장 긴 작업 증명 체인을 받아들이는 것으로 확인합니다.

비트코인은 갑자기 등장한 것이 아니라, 이전 수십 년간 많은 이들의 연구를 바탕으로 만들어졌습니다. 이 모듈에서는 비트코인이 기반하고 있는 인터넷의 기초와, 백서에서 언급된 연구 및 개발을 살펴봅니다.

1970년대, 몇몇 개인들은 특히 미국 정부가 암호 기술에 대한 접근을 제한하려는 시도를 보고, 모든 사람이 온라인에서 자신의 프라이버시를 보호할 수 있도록 이 기술을 널리 보급하려고 했습니다. 이 초기 개척자들 중 일부는 신뢰할 수 있는 디지털 ‘건전한 화폐’ 시스템이 인터넷을 통해 가치를 저장하고 교환하는 데 어떤 이점이 있을지에도 주목했습니다. 오스트리아 경제학의 주요 공헌자인 프리드리히 하이에크는 인터넷이 등장하기 전부터 자유 시장 경쟁에 기반한 이상적인 화폐가 어떤 모습일지 상상했지만, 기술적·정치적으로 실현 불가능하다고 판단했습니다. 이 그룹은 디지털 프라이버시뿐만 아니라, 이후 사이퍼펑크로 발전하여 하이에크의 디지털 화폐 비전을 실현하려 했으나, 사토시가 메일링 리스트에 자신의 아이디어를 발표하기 전까지는 모두 실패했습니다.

  • TCP/IP 프로토콜 (1976)
  • 공개키 암호 시스템 프로토콜 - 랄프 머클 (1980)
  • Digicash - 데이비드 차움 (1989)
  • 디지털 타임스탬프 (90년대)
  • Hashcash - 아담 백 (1997)
  • BitTorrent - 브램 코헨 (2001)
  • Reusable POW - 할 피니 (2004)
  • Bitcoin Whitepaper - 사토시 나카모토 (2008)

비트코인 개발에 큰 영향을 준 것은 1990년대 등장한 사이퍼펑크 운동이었습니다. 이들은 사용자가 안전하고 프라이버시를 지키며 정보를 주고받을 수 있도록 공개키 암호 등 여러 암호 기술을 개발했습니다. 여기서 언급된 많은 발전과 인물들이 이 그룹의 일원이었습니다.

디지털 화폐의 필요성도 일찍이 인식되어 여러 시도가 있었으나, 성공하지 못한 한계가 있었습니다. 사토시 나카모토의 천재성은 이러한 기술들을 결합하고, 자신의 혁신을 더해 오늘날 사용되는 비트코인 프로토콜을 만든 데 있습니다. 다음 섹션에서는 이러한 발전 중 일부를 살펴보고, 그것들이 비트코인 설계에 어떻게 기여했는지 설명합니다. 또한 사토시가 해결한 마지막 퍼즐 조각이 무엇이었는지도 논의할 것입니다.

3.1 TCP/IP의 개발

오늘날 인터넷의 기반이 되는 TCP/IP 프로토콜은 대부분의 사람들이 익숙하게 알고 있습니다. 이 프로토콜의 기원은 1970년대 후반으로 거슬러 올라가며, 당시 과학자들은 Arpanet의 대안 설계를 탐구하고 있었습니다. Arpanet은 미국 국방부가 원격 컴퓨터 간 자원 공유를 위해 고안한 더 초기의 네트워크였습니다. TCP/IP는 1983년에 Arpanet의 표준 프로토콜이 되었고, 1990년대 말에는 지배적인 네트워킹 모델이 되어 오늘날 My First Bitcoin이 운영되는 인터넷의 기반이 되었습니다.

OSI 모델 TCP/IP
응용 응용
표현 응용
세션 응용
전송 전송
네트워크 네트워크
데이터 링크 데이터 링크
물리 물리

TCP/IP 모델이 개발되던 시기와 동시에, 국제표준화기구(ISO)와 통신업계(CCITT)에서도 유사하지만 더 포괄적인 프레임워크가 개발되고 있었습니다. 새로운 프로토콜을 개발하거나 변경을 제안하는 과정은 TCP/IP 개발에 사용된 더 분산된 접근 방식에 비해 느리고 비효율적이었으며, 이로 인해 오늘날 TCP/IP 방식이 지배적인 접근 방식이 되었습니다.

변경 요청

기존 프로토콜에 대한 개발 제안이나 새로운 아이디어는 TCP/IP 모델에서 변경 요청 과정을 통해 제안할 수 있습니다. 이 과정은 인터넷 엔지니어링 태스크 포스(IETF)에 의해 관리되는 승인 절차를 거치며, 승인되면 누구나 구현하고 채택할 수 있도록 오픈 소스로 공개됩니다. 주목할 만한 예시는 다음과 같습니다:

  • 1969년 RFC 1: Arpanet에서 패킷이 어떻게 전송되는지 문서화함
  • 1981년 RFC791: 오늘날에도 널리 사용되는 인터넷 프로토콜 V4 정의
  • 1982년 RFC 821: 간이 메일 전송 프로토콜
  • 1987년 도메인 네임 시스템(DNS): 도메인 이름을 IP 주소로 변환하는 방법
  • 1999년 RFC 2616: 하이퍼텍스트 전송 프로토콜 – 웹 브라우징에 필수

Bitcoin 개선 제안 (BIP)는 RFC와 유사한 접근 방식을 따르지만, 새로운 프로토콜 개발이 아닌 My First Bitcoin 자체의 개선에만 초점을 맞춥니다. My First Bitcoin 역시 이러한 계층 모델에서 영감을 받아, 2계층 또는 3계층으로 설명되는 추가 프로토콜이 등장합니다.

TCP/IP 모델의 기본 계층이 지난 수십 년 동안 거의 변하지 않고, 혁신이 상위 계층에서 일어났던 것처럼, My First Bitcoin의 기본 계층 역시 현재로서는 매우 천천히 변화할 것으로 예상되며, 라이트닝이나 리퀴드와 같은 확장 솔루션은 그 위에서 이루어집니다.

기본 계층 프로토콜이 시간이 지남에 따라 변경이 어려워지는 좋은 예는 IPv6입니다. IPv4에서 주소 공간이 고갈될 것으로 예상되면서 새로운 프로토콜에 대한 수요가 생겼습니다. 최초의 초안 표준은 1998년에 만들어졌지만, 2017년에야 인터넷 표준으로 승인되었습니다. IPv6는 IPv4의 많은 문제를 해결하고 미래에도 더 적합하지만, 오늘날 업계에서는 여전히 도입 속도가 매우 느립니다. 이 기간 동안 상위 계층에서는 멀티미디어, 이메일 등을 가능하게 하는 많은 새로운 프로토콜이 정의되었습니다.

My First Bitcoin이 사용하는 빌딩 블록

상호 연결성 문제를 분리함으로써, 각 계층의 프로토콜은 위아래 계층과 독립적으로 개발될 수 있습니다. 각 계층마다 해결책을 새로 만들 필요 없이, My First Bitcoin 네트워크는 물리 및 데이터 링크 계층에서 제공되는 네트워크의 기본 기능에 의존할 수 있습니다.

계층 TCP/IP 원본
응용 도메인 네임 시스템(DNS)을 사용하여 이웃 노드를 식별합니다. 포트 8333은 My First Bitcoin 프로토콜을 신호합니다.
전송 마이너 간 저지연 FIBRE 통신에는 UDP를, 노드 간 P2P 통신에는 TCP를 사용합니다.
전송 TOR 라우팅: 익명성과 프라이버시를 제공합니다. 브로드캐스트 프로토콜: 네트워크 전반에 트래픽을 라우팅합니다.
링크 모든 매체(예: 이더넷, Wi-Fi 등)에서 동작합니다.
물리 무선, 이더넷 또는 기타 하드웨어 인터페이스를 통한 물리적 전송.
My First Bitcoin은 HTTPS가 정보를 전송하는 프로토콜인 것처럼 가치를 전송하는 중립적인 프로토콜입니다.
  • HTTPS: 보안 웹사이트
  • SMTP이메일 보내기:
  • FTP파일 전송:
  • DNS도메인 이름 관리:
  • BTC가치 저장 및 전송:

비트코인은 사람이나 기기 간에 제3자의 개입 없이 인터넷을 통해 신뢰성 있게 가치를 이동할 수 있게 해줍니다. 이는 엄청난 가치를 창출할 것으로 기대됩니다.

3.2 공개키 암호화와 프로토콜

오늘날 인터넷과 대부분의 현대 컴퓨터 시스템은 암호화 기술에 의존하고 있습니다. 암호화란 정보를 숨겨서 오직 정보의 수신자만이 해독할 수 있도록 하는 방법입니다. 비트코인을 안전하게 지키는 데 사용되는 암호화의 기초는 1970년대로 거슬러 올라갑니다.

해결해야 할 첫 번째 문제는 보안이 되지 않은 매체를 통해 어떻게 공유 비밀을 전달할 수 있는가입니다.

이 문제는 처음으로 Whitfield Diffie와 Martin Hellman에 의해 연구되었습니다.

문제: 두 당사자(일반적으로 '앨리스'와 '밥'으로 불림)가 다른 사람들이 엿들을 수 있는 네트워크를 통해 비밀 정보를 공유하고자 합니다. 이를 위해 그들은 Diffie-Hellman 키 교환 방식을 만들었습니다.

이렇게 공유된 비밀은 이후 대칭 키를 여러 개 생성하는 시드 값으로 사용될 수 있으며, 이 키로 서로 메시지를 암호화하고 복호화할 수 있습니다. 이 과정에서 키 자체를 공개적으로 공유할 필요가 없습니다.

개인 키를 절대 공유할 필요가 없고, 각 끝단에서 서로 다른 키를 사용해 암호화와 복호화를 수행하기 때문에, 이를 비대칭 암호화 알고리즘이라고 부릅니다.

사용 사례:

  • 앨리스가 밥의 공개 키로 메시지에 서명하면, 밥만이 자신의 개인 키로 이를 복호화할 수 있습니다.
  • 앨리스가 자신의 개인 키로 메시지에 서명하면, 누구나 그녀의 공개 키로 복호화하여 메시지가 실제로 앨리스가 보낸 것임을 확인할 수 있습니다. 이 과정에서 개인 키는 알 필요가 없습니다.
  • 이 두 가지 접근법을 두 겹의 암호화로 결합하면, 메시지를 오직 밥만 복호화할 수 있도록 암호화하고, 밥은 발신자가 실제로 앨리스임을 검증할 수 있습니다.

논문에는 이름이 올라가지 않았지만, Ralph Merkle은 그때까지 해결 불가능하다고 여겨졌던 이 퍼즐, 즉 개방적이고 잠재적으로 적대적인 네트워크에서 어떻게 비공개 통신을 구축하거나 재구축할 수 있는지에 대한 문제를 푸는 데 결정적인 역할을 했습니다.

이 방식만으로는 무차별 대입 공격에 취약합니다. 공격자가 공유된 숫자를 가지고 충분한 시간과 자원이 있다면 결국 공유 키를 재구성할 수 있기 때문에, 이 방식만으로는 완전한 해결책이 아닙니다.

공개 키 암호 시스템을 위한 프로토콜

위에서 설명한 Diffie-Hellman 공개 키 시스템에 기여했을 뿐만 아니라, Ralph Merkle는 이후에도 오랜 기간 이 분야에 기여를 이어갔으며, 비트코인에서 사용되는 핵심 구성 요소의 개발에 중요한 역할을 했습니다.

암호화 해시 함수는 임의의 크기의 입력값을 받아 복잡한 계산을 수행하여 비트 단위의 해시 값을 반환하는 수학적 알고리즘입니다. 이 값은 보통 고정 길이의 16진수 형식의 영숫자 출력으로 표현됩니다.

  • 입력값은 어떤 크기든 상관없습니다.
  • 출력값은 항상 고정된 길이이며, 결정적입니다(같은 입력은 항상 같은 해시를 생성함).
  • 검증은 쉽지만, 입력값을 알아내기 위해 역산하는 것은 극도로 어렵습니다.
  • 데이터를 아주 조금만 수정해도 출력값이 완전히 달라집니다.
Hash function

해싱은 비트코인 프로토콜의 핵심적인 부분입니다. 비트코인에서 사용되는 SHA-256은 미국 NSA에서 개발한 암호화 해싱 알고리즘의 한 예입니다.

  • 체인의 각 블록은 해싱되어 데이터가 변경될 수 없도록 하며, 이를 통해 분산 원장의 무결성이 보장됩니다.
  • 생성된 해시는 '작업 증명(Proof of work)' 기준을 충족해야 유효한 블록으로 인정받을 수 있습니다.
  • 머클 트리(Merkle tree) – 분기 구조와 해시의 해시를 활용하여, 해시 트리는 최소한의 저장 공간으로 대규모 데이터셋의 검증을 가능하게 합니다.
  • 해시 기반 서명과 키는 지갑, 주소, 거래 승인 등에 사용될 수 있습니다.

블록체인 상태의 분산 검증과 수정이 불가능한 추가 전용 원장 모델은 일방향 해싱 덕분에 가능합니다. 해시 함수는 중앙화된 신뢰 모델이 없는 공개 원장(예: 비트코인)에서 사건을 검증하는 신뢰할 수 있고 결정적인 방법을 제공합니다.

암호화 분야의 이러한 새로운 기능들은 창시자들에 의해 이 분야에 혁신의 새로운 물결을 가져올 것으로 기대되었습니다.

타원 곡선 암호화

이후 등장한 혁신 중 하나가 바로 타원 곡선 암호화입니다.

타원 곡선 암호화는 1985년 두 과학자 N. Koblitz와 V. Miller에 의해 도입되었습니다. 이들은 표준 Diffie-Hellman 키 교환 프로토콜에서 일반적으로 사용되는 유한 소수체 대신, 타원 곡선으로 정의된 점들을 사용하여 이산 로그 문제 가정이 성립하도록 하는 아이디어를 제안했습니다. 이 방식의 세부 내용은 이 섹션의 범위를 벗어나지만, 높은 수준에서 보면 타원 곡선이란 특정 수학적 방정식을 만족하는 점들의 집합입니다.

타원 곡선의 방정식은 다음과 같이 생겼습니다:

Elliptic curve

이 방식에는 몇 가지 유용한 특성이 있습니다:

  • 수평 대칭성. 곡선 위의 어떤 점도 x축을 기준으로 반사하면 동일한 곡선 위에 남아 있습니다.
  • 수직이 아닌 직선은 곡선을 최대 세 번까지 교차할 수 있습니다.
  • 공개 키를 블록체인에서 효율적으로 저장하고 전송하려면 키의 크기가 작아야 합니다.

이러한 특성은 Diffie-Hellman 알고리즘과 유사한 방식으로 키 쌍을 생성하는 데 사용할 수 있습니다. 비트코인은 ECDSA(타원 곡선 디지털 서명 알고리즘)를 사용합니다. 이는 타원 곡선과 유한 필드를 이용해 데이터를 '서명'하는 과정으로, 제3자가 서명의 진위를 검증할 수 있으면서도 서명자는 서명을 생성할 수 있는 독점적 권한을 유지합니다. 비트코인에서는 소유권을 이전하는 거래가 바로 서명되는 데이터입니다.

'유한' 부분은 Diffie-Hellman에서 'mod' 방식과 유사하며, 방정식의 결과값을 나누고 나머지를 사용해 숫자 범위 내에 들어가도록 합니다.

3.3 디지캐시

암호학에 대한 ‘새로운 관심의 물결’에 초기에 참여한 인물 중 한 명은 David Chaum이었다. 그는 어린 시절 컴퓨터 시스템을 해킹하는 법을 배우며 시간을 보냈고, 그 성공 경험은 그에게 소위 ‘안전하다’고 여겨지는 시스템에 대한 불신을 심어주었다. 또한 그는 지금까지 고려되지 않았던 문제를 인식했다: "누가 누구와 언제 대화하는지에 대한 지식을 어떻게 비밀로 유지할 수 있을까".

그는 공개키 암호화를 이용해 메시지를 ‘섞어’ 발신자와 수신자를 익명으로 만드는 익명 메일링 프로토콜을 설계했다. 이 기술은 TOR 네트워크의 기반이 되었다.

Chaum은 디지털 결제 역시 같은 관점에서 바라보았다 – ‘개인이 수행하는 추적 가능한 금융 거래는 그 사람의 위치, 인간관계, 생활방식에 대해 많은 것을 드러낼 수 있다’는 점을 인식한 것이다. 1980년 그는 암호화로 보안이 유지되는 디지털 현금 시스템을 특허 등록했으며, 이는 암호화폐의 기반이 되었다. 그는 또한 메시지와 결제의 분산화를 중심으로 한 완전히 탈중앙화된 경제를 암호학으로 만드는 아이디어도 탐구하기 시작했다.

정부는 Napster와 같은 중앙 통제 네트워크의 ‘머리’를 잘라내는 데 능숙하지만, Gnutella와 TOR 같은 순수 P2P 네트워크는 스스로 자리를 지키는 듯하다.
Satoshi Nakamoto

중앙 권한이 없는 탈중앙화 시스템, 즉 피어 투 피어(P2P)는 여러 가지 장점을 제공한다:

  • 누구나 별도의 등록이나 승인 없이 새로운 노드를 실행함으로써 시스템을 확장할 수 있으므로 빠르게 성장할 수 있다
  • 모든 노드가 동일하므로 장애가 발생해도 우회가 가능하다
  • 시스템을 장악하거나 손상시킬 수 있는 중앙 권한이 없다
  • 중앙 집중식 통제 지점이 없으므로 포획, 규제, 과세 또는 감시가 더 어렵다

10년 후 그는 세계 최초의 디지털 현금 시스템인 ‘ecash’를 만들기 위해 Digicash라는 회사를 설립했다. 여러 유명 인사들이 한때 Digicash에 합류했고, 어느 정도 성공을 거두기도 했으나 결국 실패하여 파산을 선언했다.

디지털 머니의 추가 발전

2010년 7월 포럼 게시글에서 Satoshi Nakamoto는 이렇게 말했다: “Bitcoin은 1998년 Cypherpunks에서 Wei Dai가 제안한 b-money와 Nick Szabo의 Bit Gold 제안을 구현한 것이다.”

이 두 아이디어 모두 제안 단계에서 그쳤지만, 그 안에 담긴 몇몇 아이디어는 분명히 Bitcoin 개발에 영향을 주었다:

  • 계산 작업에 화폐적 가치를 부여하기 위해 ‘작업 증명(Proof of work)’을 사용하는 것
  • 계산 비용이 시간이 지남에 따라 변하며 이를 반드시 반영해야 한다는 개념

하지만 먼저 Hashcash를 살펴보자.

3.4 해시캐시

Hashcash는 이 분야의 또 다른 초기 혁신가인 Adam Back이 만들었습니다. Adam은 인터넷에서의 자유 시장과 프라이버시에 깊은 관심을 가지고 있었고, Cypherpunks 메일링 리스트를 우연히 발견해 가입한 뒤 활발히 활동하게 되었습니다.

그는 디지털 머니에 매우 관심이 많았고, 그룹이 Chaum과 함께 DigiCash에 대해 좀 더 긴밀히 협력할 수 있는 방법을 제안하기도 했지만, 이 제안들은 실현되지 않았습니다. 이후 그는 또 다른 새로운 문제인 이메일 스팸에 주목하게 되었습니다. 그와 Cypherpunks 멤버들은 스팸 문제, 즉 스패머가 수천 개의 이메일을 손쉽게 만들어 네트워크를 마비시키는 문제에 대한 해결책을 찾고자 했습니다. 그의 혁신적인 해결책은 해싱에 기반을 두고 있었습니다. 해싱은 암호학을 이용해 어떤 데이터든 고유하고 무작위적인 특정 길이의 문자열로 변환하는 기술로, 이메일이 유효하다고 간주되어 네트워크를 통해 전송되기 위해서는 반드시 이 디지털 '우표'를 첨부해야 한다는 개념이었습니다. 일반적인 이메일에는 사소한 비용이지만, 스패머에게는 부담이 되는 방식이었습니다.

Hashcash가 만들어낸 핵심 혁신은 실제 세계의 자원, 즉 컴퓨팅 파워를 디지털 네트워크에 연결했다는 점입니다. 이전까지 디지털 자원은 무한히 복제될 수 있었지만, 'hashcash'의 수는 사람들이 투자하려는 에너지의 양에 의해 제한되었습니다.

이 솔루션은 Adam이 디지털 화폐 시스템에 필요하다고 생각했던 몇 가지 기준을 충족했지만, 익명성, 탄력성, 신뢰 불필요성 등에도 불구하고 각 hashcash는 재사용이 불가능하고 진정한 희소성을 가지지 못했습니다. 그는 이러한 문제를 외부 제3자를 활용해 해결할 수 있는 다른 방법들도 제안했습니다.

BitGold

Nick Szabo는 Hashcash와 작업증명(Proof of Work) 개념을 바탕으로 대안적 해결책을 제안했습니다. 그는 Hashcash가 발표된 지 1년 후인 1998년에 메일링 리스트에서 이를 설명했습니다.

해결책에 한 걸음 더 다가갔지만, 이 제안에도 여전히 여러 가지 과제가 남아 있었습니다.

  • 누가 해시 소유권의 등록부를 운영하며, 그들을 어떻게 신뢰할 수 있을까요?
  • 해싱 비용은 시간이 지남에 따라 일반적으로 저렴해지기 때문에, 이는 HashCash에도 도전 과제였습니다.

연결된 해시들이 타임스탬프가 찍히기 때문에, 그는 해싱의 난이도를 시간에 따라 기록하는 일종의 이력 추적 방식을 제안했습니다. 즉, 이전 해시는 이후 해시보다 더 많은 처리 비용이 들었을 것이므로, 시간이 지남에 따라 비용이 감소합니다. 하지만 이로 인해 해시들은 '대체 가능'하지 않게 되며, 즉 동일한 가치가 아니게 되어 디지털 머니의 핵심 속성 중 하나가 손상됩니다. 이를 해결하기 위해 Nick은 BitGold 위에서 작동하는 일종의 '자유 은행제'를 제안하여, 서로 다른 그룹의 해시들을 동일한 가치로 묶어줄 수 있도록 했습니다.

B-Money

Bit Gold 제안 이후 곧바로 Wei Dai가 유사한 해결책을 제안했습니다. 그는 이미 Cypherpunks를 위해 여러 도구를 개발했으며, 디지털 머니에 대한 자신만의 아이디어도 가지고 있었습니다.

그의 제안은 Bit Gold와 유사하게 디지털 서명을 이용해 현금을 이전하고, 거래 기록은 원장에 저장되며, 이 원장에는 공개키와 각 키에 할당된 화폐 단위가 기록됩니다. Bit-Gold와 마찬가지로 신뢰할 수 있는 제3자는 보안상 취약점으로 간주되었고, 전자 화폐 시스템은 잔고, 거래, 이중 지불 방지 등을 단일 주체에 의존해서는 안 된다는 믿음이 있었습니다.

Wei-Dai는 이러한 문제에 대해 여러 해결책을 제안했는데, 그 중 하나는 중앙 기관이 원장을 관리하는 대신 모든 노드가 사본을 유지하는 방식이었습니다. 모든 사용자가 자신의 원장과 각 거래의 유효성을 직접 확인한다면, 모든 노드가 최신 상태를 유지하는 한 네트워크 전체에서 원장이 동기화될 수 있습니다. 이렇게 고도로 분산된 시스템은 부패시키기 어렵습니다.

Wei Dai는 이것이 비잔틴 장군 문제(1)를 해결하지 못한다는 점을 인식했습니다. 노드가 쉽게 동기화를 잃거나 거짓말을 할 수 있기 때문입니다. 그는 원장을 유지하는 '신뢰할 수 있는' 서버 일부를 두거나, 이 서버들이 정직하게 운영되도록 경제적 인센티브를 제공하는 등의 대안을 제시했습니다.

통화 정책에 대해서는, B-Money의 구매력을 외부 소비자 물가지수에 연동하는 방식을 제안했습니다. 그는 시간이 지나도 동일한 양의 B-Money로 지수의 동일한 비율을 구매할 수 있도록 하여 가격 안정성을 제공하고자 했습니다. 따라서 누구나 유효한 해시를 제공함으로써 새로운 화폐 단위를 생성할 수 있지만, 해시 생성의 난이도는 CPU 비용과 물가지수에 따라 시간이 지나면서 변할 수 있으므로 각 단위는 '불변'하게 됩니다.

3.5 비트토렌트

비트코인에 이르기까지 암호화폐의 형성에 중요한 역할을 한 또 다른 프로젝트는 BitTorrent입니다.

2001년, 브램 코헨은 BitTorrent라는 프로토콜 설계를 발표했으며, 이는 피어 투 피어 파일 공유 시스템을 구동하기 위해 만들어졌습니다. 그는 MojoNation이라는 회사에서 일하기 시작했는데, 이 회사는 사람들이 기밀 파일을 암호화된 조각으로 나누어 소프트웨어를 실행하는 컴퓨터에 분산 저장할 수 있도록 설립되었습니다. 파일의 복사본은 여러 컴퓨터에서 동시에 다운로드되었습니다. 비록 궁극적으로 실패했지만, 이 경험을 통해 코헨은 파일 공유 분야를 알게 되었고, 더 나은 프로토콜을 만들 수 있다고 결심하게 되었습니다. 그 프로토콜은 다음과 같은 요소로 구성되었습니다:

  • 스웜: 콘텐츠를 다운로드하거나 업로드하는 기계들의 커뮤니티
  • 트래커: 검색 엔진과 유사하게 작동하지만, 스웜 내에 포함된 파일을 추적하는 전용 도구입니다. 이를 통해 사용자는 필요한 파일을 쉽게 확인하고 접근할 수 있습니다.
  • BitTorrent 클라이언트: 트래커에 접근하기 위해 컴퓨터에 설치하는 프로그램입니다. 참고로, 파일이 실제로 보관되는 유일한 장소는 스웜입니다.
  • 네트워크에 파일 공유자로 참여하는 사용자가 더 빠른 다운로드 속도를 얻을 수 있는 인센티브 체계

비트코인과의 유사점:

  • 두 프로토콜 모두 피어 투 피어 방식으로 운영됩니다.
  • 탈중앙화된 설계
  • BitTorrent 파일과 비트코인 원장은 네트워크 전체에 분산되어 있습니다.
  • 오픈 소스에서 시작됨 (BitTorrent는 결국 폐쇄형 소프트웨어가 되었습니다.)

3.6 재사용 가능한 작업 증명

Hal Finney는 사이퍼펑크 운동의 또 다른 유명한 인물로, 전자 화폐의 개발에 매우 관심이 많았으며 메일링 리스트에서 활발히 활동했습니다.

그는 작업 증명(Proof-of-Work, POW) 기반 전자 화폐 시스템 개발에 다시 도전하기로 결정했습니다. 이 시점까지 해시 출력값은 각 거래마다 고유했지만, 그의 아이디어는 '재사용 가능한 작업 증명(Reusable Proofs of Work)'을 만드는 것이었습니다.

이 접근 방식의 단점은 중앙 집중식 서버가 필요하다는 점으로, 이 서버가 이중 지불을 하지 않거나 중단되지 않을 것이라는 신뢰가 필요합니다. 이를 해결하기 위해 Hal은 보안 하드웨어 구성요소에 호스팅할 수 있고 독립적으로 검증할 수 있는 자유 오픈 소스 소프트웨어를 사용할 것을 제안했습니다.

이 솔루션 역시 다른 제안들과 동일한 문제점 중 일부를 여전히 안고 있었습니다:

  • 사용자들이 토큰을 요청할 동기가 부족하고, 사용자들이 이 토큰으로 결제하길 원하지 않으면 판매자들도 시스템에 연결하고 싶어하지 않는, 이른바 '닭이 먼저냐 달걀이 먼저냐'와 같은 채택의 문제.
  • 컴퓨터 성능이 향상됨에 따라 POW의 비용도 시간이 지남에 따라 저렴해질 가능성이 높으므로, 결국 시장에 RPOW 화폐 단위가 넘쳐날 수 있음을 시사합니다.
무어의 법칙이 계속 유효하다면, (POW) 토큰을 만드는 비용은 꾸준하고 기하급수적으로 떨어질 것입니다. 이것은 돈이 아니며 가치 저장 수단으로 의도된 것이 아니라, 컴퓨터 작업을 쉽게 교환할 수 있도록 표현한 것임을 명심하세요.
Hal Finney

이러한 특성들로 인해 프로젝트의 매력과 채택이 제한되었고, 그의 최선의 노력에도 불구하고 이 프로젝트 역시 전자 화폐를 만들기 위한 또 하나의 실패한 시도로 끝나고 말았습니다.

3.7 비트코인

수년간의 실패한 시도 끝에, 사이퍼펑크들은 대부분 디지털 무허가 화폐라는 아이디어에 대한 관심을 잃어가고 있었습니다. 그때 Adam Back은 Satoshi Nakamoto라는 익명의 인물로부터 ‘제3자 없는 전자 화폐’라는 제목의 백서 초안이 첨부된 이메일을 받았습니다.

지금까지 요약하자면, 우리는 최소한 다음과 같은 아이디어들을 갖고 있습니다:

  • 프라이버시와 익명성을 어느 정도 제공할 수 있는 암호학적 서명
  • 담보 없는 화폐의 개념 (B-Money)
  • 새로운 화폐 발행을 제한하기 위한 제안(그러나 실질적인 방법은 없음)
  • 공개키로 소유권이 부여되는 디지털 코인(B-Money)과 서명을 통해 이동하고 수신자 주소에 따라 재할당될 수 있는 코인(RPOW와 Hashcash)
  • 모든 노드가 완전히 분산된 원장의 사본을 유지(B-Money) (당시에는 비현실적이라 여겨졌음)
  • 타임스탬프 프로토콜 – 머클 트리 해싱을 사용하여 모든 사용자가 동일한 기록을 보관할 경우 위조하기 어려운 수학적으로 입증 가능한 사건의 연대기 제공
  • 실제 세계의 노력을 시스템에 연결하기 위한 작업 증명(그러나 해시 자체를 화폐로 사용)
  • 모든 피어가 동등하며 네트워크에 자유롭게 참여하거나 떠날 수 있는 완전히 탈중앙화된 네트워크(BitTorrent)
  • 새로운 해시를 이전 해시에 연결하는 개념(Bit Gold와 타임스탬프)

이 시점에서 부족했던 것은 다음과 같습니다:

  • ‘비잔틴 장군 문제’에 대한 실질적인 해결책
  • 하드웨어가 지속적으로 발전해도 유통되는 화폐의 양을 제한하는 방법
  • 사람들이 참여하도록 유도하는 인센티브 체계(닭이 먼저냐 달걀이 먼저냐 문제)

최근의 시도들과 Bitcoin의 또 다른 주요 차이점은, Satoshi가 Bit Gold와 B-Money처럼 개념적 수준에 머무르지 않고, 메일링 리스트에 발표하기 전부터 진정한 ‘Cypherpunks write code’ 정신에 따라 오랜 시간 코드를 개발해왔다는 점입니다.

Bitcoin이 이전의 전자 화폐 시도들과 차별화된 혁신은 무엇이었을까요?

작업 증명은 합의 메커니즘이자 보안과 불변성을 제공하는 방법으로 사용되었습니다: 해시를 화폐로 사용하는 대신, 새로운 개념적 과정인 채굴을 통해 노드가 여러 거래를 모아 무작위 숫자를 추가한 뒤 데이터 ‘블록’에 해싱을 적용합니다. 해시 조건을 충족하는 유효한 블록이 생성되면 네트워크에 광고됩니다. 이 블록들은 각각 이전 블록의 해시로 연결되며, 여러 노드가 동시에 서로 다른 블록을 검증하고 광고하여 체인이 분기될 경우 가장 긴 블록체인이 선택됩니다. 작업 증명은 분산된 타이브레이커로서 비잔틴 장군 문제를 해결합니다.

이 채굴자들은 각 블록마다 새로운 비트코인을 할당받음으로써 작업 증명에 필요한 CPU를 제공할 인센티브를 받았습니다. 이들이 받는 비트코인 양은 약 4년마다 감소하도록 프로그래밍되어 있으며, 모든 비트코인이 발행될 때까지 계속됩니다. 이로써 유통될 수 있는 총 비트코인은 2,100만 개로 엄격히 제한됩니다.

가장 독창적인 아이디어는 하드웨어가 발전하고 더 많은 연산력이 네트워크에 투입될 때마다 생성되는 화폐의 양을 어떻게 조절할 것인가에 대한 해결 방식이었습니다. 일정 개수의 블록(2016개)의 타임스탬프를 평균 내어, 블록이 너무 빨리 생성되면 새로운 블록을 만들기 위한 해시 난이도를 높이고, 너무 느리면 난이도를 낮춥니다. 이 조정은 모든 노드가 실행하는 탈중앙화 프로토콜에 내장되어 있어, 이를 무시하는 채굴자는 에너지를 낭비해도 그 블록이 네트워크에 의해 거부되어 아무런 이득을 얻지 못합니다. 이 조정은 새로운 블록 생성이 계획된 발행 일정에 맞춰지도록 보장하며, 채굴자들이 ‘규칙을 따르도록’ 유도합니다.


요약

건전한 화폐 원칙에 기반한 탈중앙화된 P2P 전자 화폐 시스템을 구축하는 데 필요한 퍼즐의 많은 조각들은 Satoshi가 백서를 발표하고 곧이어 코드를 최초로 공개하기 전부터 이미 마련되어 있었습니다.

Bitcoin의 본질은 0.1 버전이 공개된 순간부터 핵심 설계가 그 수명 동안 영원히 고정되었다는 점에 있습니다.
Satoshi Nakamoto

많은 개선 아이디어(BIP)가 제안되고 채택되었지만, Bitcoin은 2009년부터 초기 릴리스에 설계된 프로토콜을 따라 거의 중단 없이 백그라운드에서 작동해왔습니다. 모든 개선은 이전 버전과의 하위 호환성을 유지하면서 이루어졌습니다.

참고
  1. 비잔틴 장군 문제에 대한 설명은 다음을 참고하세요: https://en.wikipedia.org/wiki/Byzantine_fault

↑ 목차로 돌아가기