654 / 736BK38

Programming Bitcoin

직접 부품을 만들며 Bitcoin 이해하기

지갑에서 보내기를 누르면 나머지는 앱이 처리합니다. Programming Bitcoin은 그 안에서 정확히 무엇이 일어나야 하는지 묻습니다. Jimmy Song은 작은 프로그래밍 연습에서 출발해 독자가 직접 시험용 거래를 만들고 서명해 전파하는 단계까지 안내합니다.

Programming Bitcoin은 Jimmy Song의 2019년 기술서입니다. 독자가 조금씩 만드는 Python 라이브러리, 즉 재사용할 수 있는 프로그램 부품의 모음을 통해 Bitcoin을 설명합니다. 프로그래밍의 기초가 있는 사람을 위한 교재이며, 완성된 지갑이 아닙니다.

앱을 쓰는 능력과 작동 원리를 이해하는 능력은 다릅니다. Song은 독자를 전자에서 후자로 이끌고자 합니다. Bitcoin을 설명하는 데 그치지 않고 구성 요소를 직접 작성하고 시험하게 합니다. 필요한 데이터를 얻고 거래를 만들어 네트워크에 전달하는 방법을 이해하는 것이 목표입니다. 통화나 사회 문제는 다루는 범위에서 벗어납니다. [3]

책은 앞의 내용을 바탕으로 이어지는 14개 장으로 구성됩니다. 키와 서명에 필요한 수학부터 시작합니다. 다음에는 저장과 전송에 맞는 정확한 형식으로 데이터를 바꾸는 직렬화를 배우고, 거래와 블록, 네트워크 통신으로 나아갑니다. 이 순서에는 이유가 있습니다. 더 복잡한 과제에서 이미 만든 부품을 활용하기 때문입니다. [3]

1–12장은 연습 문제를 담고 있습니다. 독자는 Python 파일을 수정하고 미리 준비된 테스트로 자신의 풀이가 과제 요구에 맞는지 확인합니다. 여기서 Jupyter notebook은 휴대용 컴퓨터가 아니라 코드를 실행하고 결과를 바로 확인할 수 있는 작업 문서입니다. 답은 부록과 저장소에 있지만, 중요한 것은 정답을 베끼기보다 자신의 오류를 이해하는 일입니다. [3]

마지막 프로그래밍 연습은 앞선 작업을 합칩니다. 다른 노드에 연결하고 사용 가능한 자금을 파악한 다음, 거래를 만들어 서명하고 전파합니다. 이는 실험을 위한 별도의 네트워크인 testnet에서 이루어집니다. 저자의 학습 계획을 소개한다고 해서 우리가 직접 연습을 실행했거나 오늘날의 환경에서 동작을 검증했다는 뜻은 아닙니다. [3]

라이브러리는 Python 3을 사용합니다. Song은 중급 수준을 권하지만 초보 프로그래머도 많은 개념을 이해할 수 있다고 봅니다. 수학은 대수의 기초면 충분하다는 전제이며 새로운 도구를 차례로 소개합니다. 코딩을 해 본 적이 없다면 언어와 Bitcoin 프로토콜을 동시에 배우기보다 Python 기초부터 익히는 편이 쉽습니다. [3]

마지막 장에서 Song은 개인 키를 보호하기가 어렵다고 강조합니다. 지갑에는 이해하기 쉬운 조작 화면과 백업, 거래 내역도 필요합니다. 한 함수의 테스트를 통과했다고 프로그램 전체의 안전성이 입증되지는 않습니다. 이 라이브러리는 학습용이며 완전하거나 최적화된 구현을 목표로 하지 않으므로, 실제 자금에 적합하다고 자동으로 판단할 수 없습니다. [3] [4]

저자는 시험용 지갑, 블록 탐색기, 온라인 상점 또는 보조 라이브러리를 직접 만들어 보라고 제안합니다. 상점의 경우 testnet에서 시작하고 안전한 암호 라이브러리를 사용하라고 권합니다. 공개 프로젝트에 기여하는 것도 방법입니다. 이는 학습 아이디어이며, 현재 검증된 서비스 목록이나 취업 약속이 아닙니다. [4]

O’Reilly는 2019년 2월, 저자의 저장소 README는 2019년 3월로 표기합니다. 두 출판 기록은 구분해서 다룹니다. 이 소개는 출판 정보, 서문 전체, 마지막 장 Advanced Topics and Next Steps를 바탕으로 합니다. 책 전체의 서평이나 부속 코드의 테스트는 아닙니다. 온라인 본문은 바뀔 수 있으므로 오래된 설치 안내를 사용하기 전에 최신 문서와 비교해야 합니다. [1] [2] [3] [4]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Private Key, 트랜잭션, Bitcoin Script, Full Node.

01완전한 초보자를 위한 책인가요?

프로그래밍 기초가 있다면 Bitcoin 개발 입문자에게 맞을 수 있습니다. 서문은 특히 Python과 대략 대수 수준의 수학 지식을 전제로 합니다. 코드를 쓰기보다 Bitcoin 사용법부터 이해하고 싶다면 입문 가이드가 더 직접적인 길입니다.

02연습을 마치면 이 라이브러리에 제 비트코인을 맡겨도 되나요?

연습을 끝냈다는 사실만으로 그런 결론을 내릴 수는 없습니다. 저자는 라이브러리를 분명히 학습 도구로 만듭니다. 실제 자금을 안전하게 다루려면 키 보호와 백업 복구를 포함한 훨씬 폭넓은 검증이 필요하며, 이 소개는 그런 검증을 제공하지 않습니다.

DOC · 001O’Reilly — Programming Bitcoin출판사 DOC · 002Programming Bitcoin — official repository1차 출처 DOC · 003Programming Bitcoin — Preface1차 출처 DOC · 004Programming Bitcoin — Advanced Topics and Next Steps1차 출처
개정일: 1차 출처 우선 · 투자 조언이 아닙니다