652 / 736BK36

Mastering Bitcoin

첫 결제에서 Bitcoin의 작동 원리로 이어지는 기술 안내서

보내기 버튼을 누른 뒤 결제가 확인되기까지 어떤 일이 벌어질까요? Mastering Bitcoin은 일상적인 지갑 사용을 키, 트랜잭션, 네트워크의 역할과 연결합니다. 주 독자는 프로그래머지만, 앞부분은 호기심 많은 초보자에게도 도움이 됩니다.

Mastering Bitcoin은 O’Reilly가 출판한 기술서입니다. 초판은 Andreas M. Antonopoulos가 썼고, 제3판에는 David A. Harding이 참여했습니다. 이 항목은 2023년 제3판을 중심으로 무엇을 배울 수 있고 어디서 시작하면 좋을지 설명합니다.

누군가에게 비트코인을 보낸다고 생각해 보세요. 앱에는 받는 사람의 주소, 금액, 보내기 버튼이 보입니다. 하지만 지갑은 트랜잭션을 구성하고 자금을 사용할 권한을 증명하는 필요한 서명을 붙인 뒤 네트워크로 전달해야 합니다. 입금이 표시된다고 해서 이미 블록에서 확인된 것은 아닙니다. 도입부는 이런 익숙한 상황을 출발점으로 삼아 시스템 내부의 작동을 설명합니다. [4]

Antonopoulos의 초판은 2014년에 나왔습니다. 제3판에는 Andreas M. Antonopoulos와 David A. Harding의 이름이 함께 실렸고 기술 설명도 갱신되었습니다. O’Reilly는 2023년 11월로 표시하지만, 저자들의 저장소는 첫 인쇄본을 2023년 12월과 연결합니다. 서로 다른 출판 기록입니다. 따라서 특정 장이나 예제를 찾을 때는 먼저 어느 판본을 읽고 있는지 확인하는 편이 좋습니다. [1] [2]

읽기 시작하는 데 꼭 필요하지는 않습니다. 서문은 주로 프로그래머를 독자로 삼지만, 앞부분은 다른 독자를 위한 심화 입문이기도 하다고 설명합니다. 결제와 지갑을 먼저 이해한 뒤 데이터와 코드의 세부 내용으로 넘어갈 수 있습니다. 책이 진행될수록 프로그래밍 지식이 중요해지지만, 첫 독서부터 모든 기술 예제를 이해할 필요는 없습니다. [3]

어떤 기기에서 실행되는지, 정보를 어디서 가져오는지, 누가 키를 통제하는지는 별개의 질문입니다. 도입부는 이를 구분합니다. 모바일 앱이 키를 사용자에게 맡기면서 거래 기록은 다른 사람의 서버에 물어볼 수도 있습니다. Bitcoin 규칙을 독립적으로 검증하는 노드인 Full Node의 역할은 키 보관과 다릅니다. 하드웨어 서명 장치 역시 연결된 앱의 모든 기능을 대신하지 않습니다. 따라서 ‘모바일’이나 ‘하드웨어’라는 이름만으로는 충분하지 않습니다. [4]

복구 정보는 키를 다시 만들고 공개 기록에서 트랜잭션을 찾아오게 할 수 있습니다. 하지만 누구에게 왜 지불했는지 같은 메모까지 되돌려 주지는 않을 수 있습니다. 블록체인 밖에서 이루어지는 결제는 필요한 정보가 공개 기록에 모두 남지도 않습니다. 같은 단어 목록이면 모든 앱에서 모든 것이 복원된다고 가정하면 위험합니다. 사용하는 지갑의 복구 절차와 완전한 백업에 필요한 내용을 알아야 합니다. [4]

Bitcoin이 발전하면 개발자가 알아야 할 내용도 달라집니다. 저자들의 제3판 변경 목록은 트랜잭션 구조, 지출 권한, 서명, 수수료를 별도 장으로 다룬다고 설명합니다. Taproot, 그 스크립트 규칙인 Tapscript, 또 다른 디지털 서명 방식인 Schnorr Signatures도 추가되었습니다. 노드 간 통신 설명도 확장되었습니다. 따라서 이전 판본은 같은 기능들을 모두 설명하지 않을 수 있습니다. [5]

책에는 직접 살펴볼 수 있는 실제 데이터가 쓰입니다. 그렇다고 책 속 주소가 자신의 결제를 보낼 적절한 대상이 되는 것은 아닙니다. 서문은 관련 키가 공개되어 있거나 사용할 수 없을 수 있다고 명확히 경고합니다. 보낸 자금을 다른 독자가 쓰거나, 자금에 접근할 수 없게 될 수 있습니다. 예제는 학습 도구이지 안전하게 준비된 지갑이 아닙니다. 예제 코드를 가져다 쓸 때도 이 차이를 기억해야 합니다. [3]

공식 저장소는 장별 본문을 제공하며, third_edition_print1 태그는 제3판의 특정 인쇄본을 가리킵니다. GitHub의 일부 장간 링크는 책을 하나로 합쳐야 작동합니다. 이 항목을 위해 서문, 도입부, 저자의 변경 목록을 읽고 출판 정보를 확인했습니다. 책 전체를 평가하거나 모든 프로그램을 실행한 것은 아닙니다. 도입부에서 시작해 자신이 이해하려는 질문을 따라 읽어나가면 좋습니다. [2] [3] [4] [5]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 트랜잭션, Bitcoin Script, 지갑, Full Node. 다음 항목에서도 이 글을 참조합니다 The Internet of Money — Volume 1.

01프로그래밍을 몰라도 이 책이 도움이 될까요?

네. 서문에 따르면 앞부분은 더 깊은 설명을 원하는 비프로그래머에게도 적합합니다. 이후 부분은 코드와 기술적 세부 사항을 다룹니다. 도입부부터 시작하고 어려운 주제는 차근차근 다시 읽어도 됩니다.

02책에 나온 주소로 비트코인을 보내 결제를 시험해도 될까요?

안 됩니다. 서문은 이를 명확히 경고합니다. 다른 독자가 예제 주소의 키를 알 수도 있고, 사용할 수 있는 접근 수단이 없을 수도 있습니다. 누군가 자금을 가져가거나 자금에 접근하지 못하게 될 수 있습니다. 예제 주소는 자신의 지갑이 아닙니다.

DOC · 001O’Reilly — Mastering Bitcoin, 3rd Edition출판사 DOC · 002Mastering Bitcoin — official repository and editions1차 출처 DOC · 003Mastering Bitcoin — third edition Preface1차 출처 DOC · 004Mastering Bitcoin — third edition Introduction1차 출처 DOC · 005Mastering Bitcoin — third edition changes1차 출처
개정일: 1차 출처 우선 · 투자 조언이 아닙니다