직접 비트코인 거래를 바이트 단위로 만들어봅니다

비트코인 거래가 어떻게 작동하는지 처음부터 하나를 만들어보면서 가르치는 실습 개발자 코스. 여기서 시작하세요.

0단계 ·

진행률 0/0

무엇을 배우는가

이 10부작 코스는 원시 바이트에서 비트코인 거래를 구성하는 과정을 안내합니다. 끝날 즈음이면 지갑에서 "Send"를 클릭하는 것과 블록체인에서 확정을 보는 것 사이에 정확히 무슨 일이 일어나는지 이해하게 됩니다 - 추상이 아니라 당신이 직접 재현할 수 있는 구체적 데이터 연산의 연속으로서.

우리가 만들 것

우리는 손으로 원시 비트코인 거래를 만들 것입니다. 세부사항을 숨기는 라이브러리로가 아니라, 필드 단위로: 입력 선택, 출력 구축, 바이트 직렬화, 개인키 서명, 결과를 네트워크에 브로드캐스트.

최종 산출물은 16진수 형식의 유효하고 브로드캐스트 가능한 거래일 것입니다 - 이런 식으로:

0200000001aabbccdd...ff00000000

그 문자열의 모든 바이트가 끝날 즈음이면 당신에게 의미가 있을 것입니다.

전제조건

다음에 편해야 합니다:

  • 기본 암호학 개념 - 해싱, 공개/개인 키 쌍
  • 16진수 표기법 - 16진수 값 읽기와 변환
  • 명령줄 도구 - 전반에 걸쳐 Bitcoin CLI 예시를 사용합니다
  • 임의의 프로그래밍 언어 - 의사코드와 Python 스타일 스니펫이 예시에 등장하지만, 개념은 언어에 구애받지 않습니다

사전 비트코인 개발 경험은 필요하지 않습니다. 해시 함수가 무엇을 하는지 이해한다면 충분한 배경이 있습니다.

UTXO 모델: 빠른 입문

비트코인은 계좌 잔고를 사용하지 않습니다. "Alice는 0.5 BTC를 가지고 있다"고 말하는 데이터베이스 행이 없습니다. 대신 비트코인은 **미지출 거래 출력(Unspent Transaction Outputs, UTXO)**을 추적합니다 - 특정 주소에 속하는 특정 단위의 개별 코인들.

비트코인을 쓴다는 것은:

  1. 하나 이상의 기존 UTXO를 소비(입력)
  2. 새 UTXO 생성(출력) - 수취인용 하나, 거스름돈용 하나
  3. 차액을 채굴자 수수료로 파괴

이 입력/출력 모델이 우리가 만들 모든 것의 기반입니다. 계좌 모델이 스프레드시트라면, UTXO 모델은 물리적 동전 더미입니다 - 동전을 녹여서 새 동전을 주조하지 않고는 나눌 수 없습니다.

코스 로드맵

단계주제
1개요 (현재 위치)
2UTXO 이해하기
3거래 입력 구축
4거래 출력 구축
5거래 수수료 계산
6원시 거래 직렬화
7거래 서명
8SegWit과 증인 데이터
9거래 브로드캐스트
10검증과 탐색

각 단계는 이전 단계 위에 쌓입니다. 6단계까지 가면 서명되지 않은 원시 거래를 갖게 됩니다. 7단계에서 유효해집니다. 9단계에서 네트워크에 들어갑니다.

다음 단계

UTXO 이해하기로 계속해서 비트코인이 계좌 잔고 없이 소유권을 추적하는 방식을 배우세요.