Mastering Bitcoin 2nd 읽기 온라인 세미나 1-5.Introduction - Getting Started

in #kr2 years ago (edited)

이번 절에서는

  • 비트코인 지갑 선택의 문제를 거론하면서 비트코인 지갑을 분류합니다.
  • 앨리스의 이야기를 통해 비트코인 지갑을 설치하고, 조를 통해 비트코인을 전송받는 과정을 설명합니다.

Choosing a Bitcoin Wallet

비트코인 지갑이 한 두 개가 아니니 당연 지갑 선택의 문제가 있겠죠. 많은 수가 있으니 분류해 두면 선택이 좀 쉬워지겠죠.

다양한 플랫폼들을 지원해야 하니 플랫폼을 기준으로 분류해야겠죠.
데스크탑은 기본일거고, 모바일이나 웹도 지원해야 하겠죠.

Web wallets are accessed through a web browser and store the user’s wallet on a server owned by a third party. It is inadvisable to store large amounts of bitcoin on third-party systems.
웹 지갑은 지갑을 써드파티의 서버에 저장한다네요. 다 관리해 주니까 편하기는 하겠지만 좀 찝찝하네요. 당연히 큰 양의 비트코인을 가진 경우에는 이 지갑을 사용하지는 않겠죠.

하드웨어 지갑도 있네요. 다른 방법보다 안전하겠죠? 큰 양의 비트코인을 가진 경우에 적당하겠네요.
종이지갑도 있어요. 좀 구시대적으로 보일 수는 있고 귀찮기는 하겠지만 해킹 등으로 부터 안전할 수는 있겠죠.

Another way to categorize bitcoin wallets is by their degree of autonomy and how they interact with the bitcoin network:

다른 분류 기준으로 degree of autonomy와 비트코인 네트워크와 상호작용 방식을 제시합니다.
다른 노드에 의존하지 않고 스스로 처리할 수 있는 정도(degree of autonomy)에 따라 Full-node 클라이언트와 Lightweight 클라이언트와 Third-party API 클라이언트 순으로 나열할 수 있습니다. 지갑 분류한다고 해 놓고 여기에서는 클라이언트 분류를 하고 있네요. 어쨋든~

Full-node 클라이언트는 거래정보를 모두 갖고 있고, 지갑도 자체적으로 관리합니다. 자체적으로 모든 일을 할 수 있습니다.

A lightweight client, also known as a simple-payment-verification (SPV) client, connects to bitcoin full nodes (mentioned previously) for access to the bitcoin transaction information, but stores the user wallet locally and independently creates, validates, and transmits transactions. Lightweight clients interact directly with the bitcoin network, without an intermediary.

Lightweight 클라이언트는 SPV(단순지불검증) 클라이언트라고도 불리는데, 이름 그대로 경량(요약) 정보 만을 가지고 있기 때문에 거래 정보에 액세스하려면 풀 노드에 연결해야 합니다. 지갑은 자체적으로 관리하고 독립적으로 거래를 생성하고 검증하고 전송할 수 있습니다. 중간자 없이 비트코인 네트워크와 직접적으로 상호작용합니다.

Third-party API 클라이언트는 비트코인 네트워크와 직접적으로 상호작용하지 않고 Third-Party API를 사용해서 비트코인 네트워크와 상호작용합니다. 지갑은 사용자가 관리하거나 Third-Party에서 관리할 수 있습니다.

Quick Start

앨리스는 파티에서 조를 만났고 조의 열광적인 비트코인 설명에 넘어가 자신의 안드로이폰에 “Mycelium” 지갑을 다운로드 받았습니다.
Mycelium를 실행하자 자동적으로 그녀의 지갑을 만들어주고, 그림 1-1과 같은 화면을 볼 수 있었습니다.

앨리스의 지갑은 임의로 개인키와 그에 대응하는 비트코인 주소를 발행합니다. 비트코인 주소가 만들어졌다고는 하지만 아직 어떤 거래도 하지 않았기 때문에 앨리스의 비트코인 주소는 비트코인 네트워크에서 아무 의미도 갖지 못합니다.

Getting Your First Bitcoin

비트코인을 처음 장만하는 여러 가지 방법들을 알려주고 있습니다.
그냥 거래소 통해서 사~

Finding the Current Price of Bitcoin

앨리스는 친구인 조에게서 10달러를 주고 그에 상응하는 비트코인을 받기로 합니다. 그런데 달러를 비트코인으로 바꾸려면 비트코인 시세를 알아야 합니다. 보통 지갑들은 이 기능을 갖고 있습니다.

조는 스마트폰 카메라로 앨리스 지갑의 QR코드를 스캔해서 앨리스의 비트코인 주소를 알아내 수신자로 설정합니다. 10달러를 입력하고 지갑은 가장 최근의 환율에 액세스해서 이를 변환합니다.

전송버튼을 클릭합니다. 조의 모바일 지갑은 앨리스의 주소에 송금액을 할당한 거래를 생성합니다. 이 거래에 조의 개인 키를 가지고 서명하고 피어-투-피어 프로토콜을 통해 비트코인 네트워크에 전송합니다. 합니다. 1초 내에 네트워크의 대부분 노드에 수신되고 처음으로 앨리스의 주소를 보게 됩니다.
앨리스의 지갑도 비트코인 네트워크에 게시된 거래를 계속해서 받아 지갑의 주소와 일치하는 것을 찾습니다. 조의 지갑이 거래를 전송한 후 몇 초 후에 앨리스의 지갑에 수신한 금액이 나타납니다.

처음에는 앨리스의 주소에 조와의 거래가 '미승인(Unconfirmed)'로 보일 것입니다. 해당 거래가 네트워크에는 전송은 되었지만 블록체인에는 아직 기록되지 않았기 때문입니다.