‘Mastering Bitcoin 2nd’ 세미나 2, 1장. Introduction
Chapter 1. Introduction
비트코인에 대한 책이니, 당연하게 비트코인이 무엇인지에 대한 소개로 시작합니다. 어려운 내용은 없으니 쭉 읽어나가시면 됩니다. 본문 내용을 전체적으로 읽고 난 후 아래 강조한 부분들을 다시 한 번 짚고 넘어갑니다.
What is Bitcoin
“Bitcoin: A Peer-to-Peer Electronic Cash System”
비트코인 백서 제목을 보면 비트코인 창시자 사토시 나카모토가 비트코인으로 하고자 하는 바는 간략 명확합니다. P2P 전자 화폐 시스템입니다. P2P를 선택한 것은 비트코인이 탈중앙화를 전제로 하기 때문입니다.
Bitcoin is a collection of concepts and technologies that form the basis of a digital money ecosystem.
P2P 네트워크 환경에서 전자 화폐(디지털 머니)를 전송하려면 많은 장치들이 필요한데, 비트코인을 이야기할 때 많은 부분이 이러한 장치들에 대한 설명입니다.
Units of currency called bitcoin are used to store and transmit value among participants in the bitcoin network. Bitcoin users communicate with each other using the bitcoin protocol primarily via the internet. The bitcoin protocol stack, available as open source software, can be run on a wide range of computing devices, including laptops and smartphones, making the technology easily accessible.
비트코인은 ‘비트코인’이란 이름을 다양한 의미로 사용합니다. 비트코인 네트워크를 이야기할 때도 ‘비트코인’, 통화 단위를 이야기 할 때도 ‘비트코인’, 프로토콜을 이야기 할 때도 ‘비트코인’, 소프트웨어를 이야기할 때도 ‘비트코인’을 사용합니다. 처음에 그렇게 사용했다고 해서 혼란스러움을 안고 계속 그렇게 사용할 필요가 없습니다. 컨텍스트를 반영한 추가적인 용어를 더해서 사용하는 것이 좋습니다. ‘비트코인’은 통화 단위를 나타내기 위해서만 사용하고, 그 외에는 ‘비트코인 네트워크’, ‘비트코인 프로토콜’, ‘비트코인 소프트웨어’와 같이 구분해서 사용하면 됩니다.
Bitcoin is a distributed, peer-to-peer system. As such there is no “central” server or point of control.
사토시 나카모토가 처음 비트코인 소프트웨어를 개발할 때나 지금이나 p2p는 탈중앙화를 위한 최선의 선택입니다.
Essentially, bitcoin mining decentralizes the currency-issuance and clearing functions of a central bank and replaces the need for any central bank.
채굴은 중앙화된 신뢰를 탈중앙화하는 신의 한수입니다. 채굴은 탈중앙화 방식으로 p2p 네트워크를 선택한 경우에 이를 지탱하는 가장 중요한 장치입니다.
Bitcoin represents the culmination of decades of research in cryptography and distributed systems and includes four key innovations brought together in a unique and powerful combination. Bitcoin consists of:
- A decentralized peer-to-peer network (the bitcoin protocol)
- A public transaction ledger (the blockchain)
- A set of rules for independent transaction validation and currency issuance (consensus rules)
- A mechanism for reaching global decentralized consensus on the valid blockchain (Proof-of-Work algorithm)
비트코인은 하루 아침에 발명된 것이 아닙니다. 암호학과 분산시스템에 대한 수 십년 간의 연구에 기반한 것입니다. 그렇다고 이들 기술들을 단순하게 활용한 것은 아닙니다. 위에서 언급하고 있는 4가지 혁명적인 생각이 더해져서 완성된 것입니다. 좀 더 깊이 들여다 보면, 이들의 운명이 p2p 네트워크를 탈중앙화 방식으로 선택하는 순간 결정되었음을 알 수 있습니다. p2p의 가장 고유한 특징은 노드들 사이에 차이가 발생한다는 것입니다. 이 차이의 문제를 혁명적인 발상으로 해결했다는 것이 사토시 나카모토의 위대함입니다.
몇 가지 수치는 기억하고 넘어갑시다.
- 매 10분 마다 채굴, 매 4년 마다 반감기, 전체 발행량 2천 1백만개, 2140년까지 발행
As a developer, I see bitcoin as akin to the internet of money, a network for propagating value and securing the ownership of digital assets via distributed computation.
비트코인은 통화를 표방하니 ‘돈 인터넷’이라고 생각할 수 있습니다. 비트코인 이후 블록체인이란 개념이 등장했고, 블록체인은 좀 더 넓은 범위의 문제를 해결하기 위해 ‘돈’ 보다는 ‘가치’라는 용어를 선호하게 되고, ‘가치의 인터넷’이란 멋진 개념을 등장시킵니다.
Tokenomics에서는 가치 인터넷의 중요성을 정보 인터넷과 비교해서 다음과 같이 설명하고 있습니다.
The Internet of value provides the ability to move value as easily as we move information. The difference between information and value is the scarcity: if you give information to someone you still own it, but if you transfer value to someone, you do not own it anymore.
Digital Currencies Before Bitcoin
비트코인 전에도 디지털 화폐는 있었습니다. 비트코인은 디지털 화폐라고 부를 수 있는 것들이 갖추어야 할 조건들을 성공적으로 만족시켰습니다. 그것도 탈중앙화된 환경에서.
Three basic questions for anyone accepting digital money are:
- Can I trust that the money is authentic and not counterfeit?
- Can I trust that the digital money can only be spent once (known as the “double-spend” problem)?
- Can I be sure that no one else can claim this money belongs to them and not me?
위의 3가지 질문에 예라고 답할 수 있어야 디지털 화폐가 될 수 있습니다. 비트코인 이전의 디지털 화폐들은 두 번째 문제를 중앙화된 방법으로 해결하려고 했습니다. 탈중앙화된 방식으로 소유권 증명과 이중 지불을 해결한 것은 비트코인이 최초라고 할 수 있습니다. ‘탈중앙화된 방식으로 소유권 증명과 이중 지불 문제를 해결했다’가 비트코인의 위대함입니다.
History of Bitcoin
몇 가지 년도만 기억해 둡시다. 2008년 백서 발표, 2009년 참조 구현 공개, 2011년 사토시 나카모토 자취를 감춤
A Solution to a Distributed Computing Problem
Satoshi Nakamoto’s invention is also a practical and novel solution to a problem in distributed computing, known as the “Byzantine Generals’ Problem.” Briefly, the problem consists of trying to agree on a course of action or the state of a system by exchanging information over an unreliable and potentially compromised network. Satoshi Nakamoto’s solution, which uses the concept of Proof-of-Work to achieve consensus without a central trusted authority.
비잔틴 장군 문제는 분산 컴퓨팅의 고질적 문제입니다. 사토시 나카모토는 비트코인에서 작업증명이란 방식으로 신뢰할 수 있는 중앙 기관 없이 이를 해결했습니다.
Bitcoin Uses, Users, and Their Stories
Getting Started
비트코인 네트워크는 P2P 방식으로 구현되기 때문에 중앙 서버가 없습니다. 비트코인은 이점을 강조하기 위해 비트코인 구현을 ‘클라이언트’ 라고 합니다. 사토시 나카모토가 처음 구현한 버전을 ‘사토시 클라이언트’라고 부릅니다.
A “bitcoin wallet” is the most common user interface to the bitcoin system, just like a web browser is the most common user interface for the HTTP protocol. There are many implementations and brands of bitcoin wallets, just like there are many brands of web browsers (e.g., Chrome, Safari, Firefox, and Internet Explorer). And just like we all have our favorite browsers (Mozilla Firefox, Yay!) and our villains (Internet Explorer, Yuck!), bitcoin wallets vary in quality, performance, security, privacy, and reliability.
비트코인 지갑을 웹브라우저에 비유한 설명은 참 적절합니다. 블록체인 지갑의 역할은 이런 것이어야 합니다.
Choosing a Bitcoin Wallet
대부분 사용자들은 스마트폰 앱 지갑을 사용합니다. 편하게 사용할 지갑으로 ImToken 을 추천합니다.
요즘 같은 시대에 종이지갑을 이야기 하면 놀라실 수도 있습니다. 네트워크에 연결되어 있다는 것은 해킹의 위험이 있다는 것입니다. 종이 지갑은 네트워크에 연결되어 있지 않기 때문에 잘 보관만 한다면 보안이 뛰어난 지갑이 될 수 있습니다.
풀노드는 전체 블록체인을 모두 가지고 노드가 할 수 있는 역할을 모두 할 수 있는 노드입니다. 이미 200GB가 훌쩍 넘은 블록체인을 모두 다운로드 받아 풀노드를 운영하는 것은 쉬운 일이 아닙니다.
Quick Start
지갑을 생성하고 비트코인을 실제로 주고 받는 경험 만큼 실제적인 학습은 없겠지만, 그 비싼 비트코인을 직접 주고 받아보는 경험을 해 보는 것은 현실에서는 쉽지 않습니다. 꼭 경험을 해야 겠다고 굳은 결심을 하신 분만 거래소에 가입하시고 원화를 입금한 후 비트코인을 사서 자신의 지갑으로 전송해 봅니다. 그렇지 않으신 분은 책 내용을 쭉 따라가면서 이렇게 되는구나 정도의 간접 경험을 하고 넘어갑니다.
오프라인 모임에서는 세미나 참석자들에게 아임토큰을 설치하게 하고, 비트코인 대신 이더리움과 ERC20 토큰을 전송해 주었습니다. 이더리움은 세미나 참석비의 일부로 구매해서 제공했고, ERC20 토큰은 블록체인레벨업이 자체 발행한 BLU 코인을 제공했습니다.
Getting Your First Bitcoin, Finding the Current Price of Bitcoin
비트코인을 구하고 시세를 보는 가장 간단한 방법은 거래소를 통하는 것입니다. 시세를 보기 위해서는 회원가입이 필요 없으니 업비트나 빗썸 사이트에 접속해 보시기 바랍니다.
Sending and Receiving Bitcoin
현실적으로 어렵지만 비트코인을 구하신 분들은 직접 해 보시고, 그렇지 않으신 분들은 책 내용을 읽고 넘어갑니다.
Confirmations
This means that the transaction has been propagated to the network but has not yet been recorded in the bitcoin transaction ledger, known as the blockchain. To be confirmed, a transaction must be included in a block and added to the blockchain, which happens every 10 minutes, on average.
보내기 한다고 해서 바로 블록체인에 기록되는 것은 아니라는 점에 주의합니다. 10분 마다 채굴을 통해 블록이 생성되고 블록체인에 추가되어야 합니다. 블록체인에 추가되면 confirmed 되었다고 합니다. 조금 길게 풀어 보면 ‘트랜잭션 순서가 확정되었다’라고 할 수 있습니다. p2p 특성 상 말이 확정이지 실제 확정은 아닙니다. 첫 번째 확정, 두 번째 확정, 세 번째 확정 이런 식으로 이야기할 수 있습니다. 비트코인의 경우 여섯 번째 확정 정도가 되면 진짜 확정된 것으로 간주할 수 있습니다. 이에 대해서 좀 더 많은 이야기를 해야 하지만 여기서는 이 정도만 짚고 넘어가도록 하겠습니다.