위험 경고: '가상화폐', '블록체인'이라는 이름으로 불법 자금 모집 위험에 주의하세요. — 은행보험감독관리위원회 등 5개 부처
검색
로그인
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
시장 동향 보기
비트코인 주소와 관련된 지식 체계에 대한 체계적인 이해를 한 편의 기사로 정리
WaterdripCapital
特邀专栏作者
2025-09-21 04:00
이 기사는 약 28677자로, 전체를 읽는 데 약 41분이 소요됩니다
비트코인 주소의 생성 원리, 프로토콜 표준, 주소 유형 및 진화 경로를 체계적으로 정리하고 암호화 자산 주소 시스템에 대한 포괄적인 분석을 제공합니다.

원저자: Fu Shaoqing, SatoshiLab, Wanwudao BTC Studio

1. 지식을 준비하세요

다양한 디지털 화폐 지갑 주소를 완전히 이해하기 전에 몇 가지 기본 지식이 필요합니다. 여기에는 주로 비대칭 암호화의 공개 키와 개인 키, 해싱 알고리즘, 일반적인 인코딩 개념, 그리고 주소 생성의 기본 원리에 대한 지식이 포함됩니다. 비트코인 지갑 주소는 BIP 프로토콜을 기반으로 설계되었으며, 대부분의 비비트코인 지갑 주소도 BIP 관련 프로토콜을 기반으로 설계되었습니다. 비트코인 주소에 대한 관련 지식을 검토하는 동시에 다른 유형의 지갑 주소에 대한 소개도 제공하겠습니다.

1.1. 비대칭 암호화 지식과 공개 키 및 개인 키

비대칭 암호화는 현대 암호학의 초석으로, 1976년 휘트필드 디피와 마틴 헬만이 처음 제안했습니다. 비대칭 암호화의 핵심 특징은 수학적으로 연관된 한 쌍의 키, 즉 공개된 공개 키와 비밀로 유지되는 개인 키를 사용한다는 것입니다. 핵심 특징은 암호화와 복호화가 서로 다른 키를 사용하여 수행된다는 것입니다. 공개 키로 암호화된 정보는 해당 개인 키로만 복호화할 수 있습니다. 반대로, 개인 키로 서명된 정보는 해당 공개 키를 사용하여 진위 여부를 확인할 수 있습니다. 이는 대칭 암호화의 키 분배 문제를 완벽하게 해결하여 미리 공유된 비밀 없이도 안전한 통신을 가능하게 합니다.

현재 디지털 화폐 분야에서 가장 널리 사용되는 비대칭 암호화 알고리즘은 타원 곡선 디지털 서명 알고리즘(ECDSA)이며, 특히 비트코인과 같은 암호화폐에 사용되는 secp 256k1 곡선 알고리즘이 대표적입니다. 이 알고리즘은 기존 RSA 알고리즘보다 동일한 수준의 보안을 유지하면서 더 짧은 키 길이와 더 높은 효율성을 제공합니다. 비트코인의 Taproot 기술에 이어, Schnorr 디지털 서명 알고리즘 또한 암호화폐 분야에 사용되기 시작했습니다. Schnorr는 ECDSA와 비교하여 여러 가지 장점을 제공합니다.

공개키와 비밀키의 알고리즘 원리와 기능(본 논문은 주로 디지털 화폐 분야를 기술하고 있습니다)

디지털 화폐에서 개인 키는 자산에 대한 통제권을 유일하게 증명하는 무작위로 생성된 큰 숫자입니다. 공개 키는 개인 키에서 단방향 타원 곡선 곱셈을 통해 도출됩니다. 즉, 개인 키에서 공개 키를 도출하는 것은 쉽지만, 그 과정을 되돌리는 것은 거의 불가능합니다. 지갑 주소는 일반적으로 공개 키의 해시값입니다.

그 기능은 다음과 같습니다.

개인 키: 해당 자금을 사용할 권한이 있음을 증명하는 거래 서명을 생성하는 데 사용됩니다. 엄격하게 기밀로 유지되어야 합니다.

공개 키: 거래 서명의 유효성을 검증하여 서명이 해당 개인 키로 생성되었는지 확인하는 데 사용됩니다. 또한 누구와도 안전하게 공유할 수 있는 공개 결제 주소를 생성하는 데에도 사용됩니다.

간단히 말해, 개인 키는 서명에 사용되고 공개 키는 검증 및 주소 생성에 사용됩니다. 이 두 가지를 결합하면 자산 소유권 이전의 보안성과 신뢰성이 보장됩니다.

비트코인에서 공개 키는 압축되지 않은 공개 키와 압축된 공개 키로 나뉩니다. 압축되지 않은 공개 키는 04로 시작하며 길이는 65바이트입니다. 압축된 공개 키는 02(짝수) 또는 03(홀수)으로 시작하며 길이는 33바이트입니다.

예를 들면 다음과 같습니다.

공개 키(압축 해제): 04 b 4632 d 08485 ff 1 df 2 db 55 b 9 dafd 23347 d 1 c 47 a 457072 a 1 e 87 be 26896549 a 87378 ec 38 ff 91 d 43 e 8 c 2092 ebda 601780485263 da 089465619 e 0358 a 5 c 1 be 7 ac 91 f 4

공개 키(압축):

02 b 4632 d 08485 ff 1 df 2 db 55 b 9 dafd 23347 d 1 c 47 a 457072 a 1 e 87 be 26896549 a 8737

기존의 압축되지 않은 공개 키 다이어그램

압축 공개 키의 개략도

디지털 화폐와 관련된 공개키와 비밀키 지식에는 WIF(Wallet Import) 비밀키라는 용어도 널리 쓰이고 있으며, 그 인코딩 형식은 다음과 같습니다.

구체적인 데이터 샘플은 다음과 같습니다.

1.2. 비트코인에서 일반적으로 사용되는 해싱 알고리즘

공개 키와 개인 키에 대한 지식 외에도 해시 알고리즘이나 해시 알고리즘을 이해해야 합니다.

단방향 해시 함수는 메시지라는 하나의 입력과 해시 값이라는 하나의 출력을 갖습니다. 단방향 해시 함수는 메시지의 내용을 기반으로 해시 값을 계산하며, 이 해시 값을 사용하여 메시지의 무결성을 검사할 수 있습니다. 해시 함수는 모든 길이의 정보를 고정 길이의 출력 값으로 변환할 수 있습니다.

1. 일반적으로 사용되는 SHA-256과 RIPEMD-160을 소개합니다.

SHA-256은 Secure Hash Algorithm 256-bit의 약자입니다. 이 알고리즘은 어떤 크기의 입력 데이터든 받아들이고, 일련의 복잡한 수학적 계산을 통해 무작위로 보이는 고정 길이(256비트 또는 32바이트)의 문자열을 생성합니다. 이 문자열은 일반적으로 64자리의 16진수(0-9, A-F)로 표현됩니다.

예를 들어, hello world를 입력하면 SHA-256 계산 후 다음과 같은 결과가 나옵니다.

b 94 d 27 b 9934 d 3 e 08 a 52 e 52 d 7 da 7 dabfac 484 efe 37 a 5380 ee 9088 f 7 ace 2 efcde 9

RIPEMD-160은 RACE Raw Integrity Check Message Digest-160의 약자로, 더 짧은 디지털 지문을 생성하도록 특별히 설계된 생성기입니다. SHA-256과 유사한 단방향 해시 함수입니다. 입력을 받아 고정 길이(160비트 또는 20바이트)의 출력을 생성하며, 일반적으로 40자리의 16진수로 표현됩니다.

예를 들어, hello world를 입력하면 RIPEMD-160 계산 후 다음과 같은 결과가 나옵니다.

일 7 일 56920283 일 17 일 4 일 7 일 10 일 4 일 5 일 6 일 50 일 594 일 9 일 3 일

2. 비트코인에서 사용되는 일반적인 해싱 알고리즘은 다음과 같습니다.

HASH 256 (가장 일반적으로 사용되는 것은 이중 SHA-256입니다)

해시 160(SHA-256 + RIPEMD-160)

SHA-256(단일 SHA-256)

HMAC-SHA 512(SHA-512가 포함된 HMAC)

3. 사용 시나리오

(1) 비트코인 채굴은 HASH 256을 사용하는데, 이는 double입니다. 즉, 블록 헤더의 해시값은 HASH 256입니다. SHA-256

(2) 거래 ID - TXID는 HASH 256을 사용합니다.

(3) 해당 트랜잭션의 머클루트는 HASH 256을 사용합니다.

(4) 공개키 해시는 SHA 256 하나 + RIPE-160 하나로 구성된 HASH 160을 사용합니다.

(5) 확장키는 HMAC(SHA-512)를 사용합니다.

(6) 서명거래에서는 HASH 256을 사용한다.

1.3. 공통 인코딩 지식 Base 64, Base 58, Bench 32

비트코인 지갑 주소에는 Base 64, Base 58, Bench 32 등 여러 가지 인코딩에 대해 알아야 합니다.

1. Base 64 인코딩(비트코인에서는 사용되지 않지만 초기 공통 인코딩으로 함께 도입됨)

설계 목표: 텍스트 전용 미디어(예: 이메일, HTML, XML)에서 이진 데이터를 안전하고 안정적으로 전송하고, 전송 중에 데이터가 수정되지 않도록 보장합니다(일부 문자는 프로토콜에서 줄 바꿈 문자와 같이 특별한 의미를 갖기 때문).

원칙:

l 이진 데이터 3바이트(24비트)를 각각 6비트씩 4개 그룹으로 나눕니다.

각 6비트 값(0~63)은 인쇄 가능한 문자에 해당합니다. 2^6 = 64이므로 총 64개의 문자가 있습니다.

입력 데이터가 3의 배수가 아니면 = 문자로 채워집니다.

문자 집합:

(총 64자)AZ, az, 0-9, +, /

주요 특징:

l 높은 코딩 효율성: 각 문자는 6비트의 정보를 전달하며, 이는 세 가지 코딩 방법 중 가장 효율적입니다.

l 높은 다용성: MIME 이메일, 데이터 URL(웹 페이지의 data:image/png;base 64 등)에 널리 사용되며 암호화 키와 인증서를 저장하는 데에도 사용됩니다.

l 영숫자가 아닌 문자 포함: + 및 /를 사용하세요. 이러한 문자는 명령줄이나 URL에서 이스케이프 처리해야 할 수 있습니다.

l 체크섬 기능 없음: 표준 Base 64 인코딩 자체는 오류 감지 기능을 제공하지 않습니다.

2. Base 58 인코딩

디자인 목표: 수동 처리 최적화, 시각적 모호성 방지, 수동 입력 및 교정 용이. 주로 비트코인의 초기 주소 형식에 사용됩니다.

원칙:

l은 Base 64에서 파생되었지만 혼란스러운 문자가 제거되었습니다.

데이터를 큰 정수로 처리한 다음, 58로 계속 나누고 나머지를 문자 집합에 매핑합니다.

선행 0(0 x 00) 바이트는 문자 '1'로 인코딩됩니다.

문자 집합:

123456789 ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

(0(영), O(대문자 o), I(대문자 i), l(소문자 L), +, /, 총 58자를 제거했습니다)

주요 특징:

l 인간화: 문자 집합은 혼동하기 쉬운 문자를 제거하여 전사 및 입력 오류를 크게 줄입니다.

순수한 영숫자: 생성된 문자열은 매우 "깔끔"하고 어떤 기호도 포함하지 않아 어떤 환경에서도 쉽게 복사하여 붙여넣을 수 있습니다.

l 약간 덜 효율적입니다. 각 문자는 약 5.857비트의 정보를 전달하는데, 이는 Base 64보다 약간 덜 효율적입니다.

l 체크섬과 결합되는 경우가 많습니다. Base 58 체크섬은 실제로 비트코인에서 사용되는데, 인코딩 전에 버전 접두사와 4바이트 체크섬을 추가하여 입력 오류를 효과적으로 감지할 수 있습니다.

응용 프로그램: 비트코인 레거시 주소(P 2 PKH, 1로 시작), 비트코인 개인 키(WIF 형식), 라이트코인과 같은 다른 암호화폐의 주소.

3. Bech 32 인코딩

설계 목표: 비트코인 SegWit(분리 증인) 주소에 맞춰 설계되었으며, 오류 감지 및 수정 기능이 강화되었고, 대소문자를 구분하지 않으며 효율적인 대문자 변환을 지원합니다.

관련 BIP 프로토콜은 다음과 같습니다.

네이티브 v 0-16 위트니스 출력을 위한 BIP-173 Base 32 주소 형식

v 1+ 증인 주소용 BIP-350 Bech 32m 형식

Bech 32 m은 체크섬 알고리즘을 약간 조정한 Bech 32의 V1 버전입니다.

원칙:

l 여러 개의 오류를 감지하고 정정할 수 있는 오류 정정 코드인 BCH(Bose–Chaudhuri–Hocquenghem) 코드를 기반으로 구성됩니다.

l 구조는 다음과 같습니다: HRP(bc 1과 같은 사람이 읽을 수 있는 부분) + 구분 기호(1) + 데이터 부분(Base 32 인코딩) + 체크섬.

l 최적화된 32자 하위 집합을 사용합니다.

문자 집합: (모든 문자는 소문자이지만 인코딩은 대소문자를 구분하지 않습니다) qpzry 9 x 8 gf 2 tvdw 0 s 3 jn 54 khce 6 mua 7 l

주요 특징:

강력한 오류 감지: 대부분의 오류 조합을 감지하고, 감지된 오류는 자동으로 수정할 수 있습니다. 이는 오류를 감지만 할 뿐 수정은 할 수 없는 Base 58 체크섬보다 더욱 발전된 기능입니다.

l 대소문자 구분 없음: 대문자나 소문자로 입력해도 주소는 유효하므로 더 나은 사용자 경험을 제공합니다.

l 컴팩트하고 효율적: 데이터 부분은 Base 32(문자당 5비트)를 사용하는데, 이는 SegWit 데이터에 더 적합합니다.

사람이 읽을 수 있는 부분(HRP): 주소의 시작 부분에 있는 bc 1(비트코인 메인넷) 또는 tb 1(비트코인 테스트넷)은 네트워크 유형을 명확하게 나타내며 혼동하기 쉽지 않습니다.

비용이 더 높습니다. 인코딩 및 디코딩의 계산 복잡도가 Base 58보다 높습니다.

응용 프로그램: 비트코인 기본 SegWit 주소(P 2 WPKH, bc 1 q...로 시작), Taproot 주소(P 2 TR, bc 1 p...로 시작).

독자가 관련 내용에 대해 더 자세히 알고 싶다면 자세한 인코딩 및 디코딩, 체크섬 다이어그램과 단계별 설명이 포함된 다음 웹사이트를 참조하는 것이 좋습니다.

https://learnmeabitcoin.com/technical/keys/bech 32/

요약 및 선택 방법

일반적인 데이터 전송에는 Base 64를 선택합니다. Base 64는 네트워크 표준이며, 거의 모든 프로그래밍 언어에 대한 라이브러리를 이미 제공하고 가장 효율적입니다.

사용자 대상 식별자(예: 레거시 시스템): Base 58 Check를 선택하세요. 이렇게 하면 읽고 직접 입력하기 쉬운 문자열이 생성되고 시각적 오류가 방지됩니다.

최신 암호화폐 주소(특히 비트코인)의 경우, Bech 32(bc 1로 시작하는 주소)를 강력히 권장합니다. 이 주소는 최고의 보안과 사용자 경험을 제공하며, 세그윗(SegWit) 기술의 원리에 따라 위트니스 필드가 기존 영역의 4분의 1로 계산되기 때문에 거래 수수료도 낮출 수 있습니다. 이는 향후 개발 방향입니다.

1.4. 디지털 화폐 주소 생성의 기본 원칙

디지털 화폐의 주소는 공개 키와 개인 키의 암호화 메커니즘을 기반으로 한 쌍의 공개 키와 개인 키를 생성하여 생성됩니다. 그런 다음 특정 알고리즘과 표준을 통해 공개 키가 디지털 화폐 주소로 도출됩니다. 특정 메커니즘은 개인 키 세트와 그에 상응하는 공개 키 세트를 생성하는 데에도 자주 사용됩니다.

개인 키 생성은 다음 다이어그램을 참조할 수 있습니다.

개인 키를 도출한 후, 해당 개인 키에 대응하는 공개 키를 얻을 수 있습니다. 그런 다음, 알고리즘에 따라 지갑 주소를 계산합니다. 아래에서 가장 일반적인 비트코인 주소 생성 과정을 예로 들어 보겠습니다.

데모 다이어그램은 가장 일반적인 주소 알고리즘 생성 원리 다이어그램을 보여줍니다. 나중에 몇 가지 다른 비트코인 주소 유형이 소개될 것입니다. 원리 다이어그램에는 몇 가지 차이점이 있을 것입니다. 각 주소 유형에 대해서는 아래 세 번째 섹션에서 자세히 설명합니다.

2. 비트코인 주소 관련 프로토콜

비트코인 주소 생성과 관련된 알고리즘과 인코딩에는 몇 가지 특정 프로토콜 표준이 필요한데, 이는 주로 BIP 프로토콜과 SLIP 프로토콜에서 유래합니다. 이 두 단어의 약어와 의미는 다음과 같습니다.

BIP: 비트코인 개선 제안

SLIP: SatoshiLabs 개선 제안

2.1. 3가지 핵심 프로토콜(BIP-32, 39, 44) 및 관련 프로토콜

1. BIP-32(계층적 결정론적 지갑)

BIP-32의 주요 기능은 단일 마스터 시드에서 다수의 키 쌍(개인 키와 공개 키)을 생성하는 것입니다. 이전에는 지갑이 서로 관련 없는 개인 키들의 집합이었기 때문에 백업이 매우 어려웠습니다. BIP-32를 사용하면 하나의 마스터 시드(일반적으로 BIP-39 니모닉에서 생성됨)만 백업하여 전체 지갑 트리 구조의 모든 주소와 자금을 복원할 수 있습니다. 이를 통해 백업 및 복구 프로세스가 크게 간소화됩니다.

BIP-32 프로토콜은 특정 공개 및 개인 키 파생 알고리즘을 정의합니다. 자식 키 파생(CKD) 함수

개인 부모 키 → 개인 자식 키

공개 부모 키 → 공개 자식 키

개인 부모 키 → 공개 자식 키

공개 부모 키 → 개인 자식 키

BIP-32의 계층적 결정론적 지갑의 원리는 아래 그림과 같습니다.

2. BIP-39(결정적 키 생성을 위한 니모닉 코드)

BIP-39의 주요 목적은 BIP-32의 난수 마스터 시드(0과 1로 구성된 긴 문자열)를 사람이 쉽게 쓰고, 백업하고, 기억할 수 있는 영어 단어(보통 12개 또는 24개 단어)로 변환하는 것입니다. 이 프로토콜은 또한 영어 문장을 사용할 수 있다고 명시하고 있지만, 실제로 구현되는 경우는 드뭅니다. 이는 지갑을 생성할 때 표시되는 니모닉 문구입니다. 이는 사용자 경험과 백업의 안정성을 크게 향상시킵니다.

https://github.com/Roasbeef/bips/blob/bip-tap/bip-0039/bip-0039-wordlists.md

BIP는 공식적으로 다음 언어로 니모닉 단어 라이브러리를 제공합니다: 영어, 일본어, 한국어, 스페인어, 중국어(간체), 중국어(번체), 프랑스어, 이탈리아어, 체코어, 포르투갈어

3. BIP-44(결정적 지갑을 위한 다중 계정 계층) - 다중 통화 및 다중 계정 계층

BIP 44는 BIP-32에 기술된 알고리즘과 BIP-43에 기술된 목적 체계를 기반으로 결정론적 지갑의 논리적 계층 구조를 정의합니다. BIP-32 키 트리의 표준화된 구조를 정의하며, m/purpose'/coin_type'/account'/change/address_index와 같은 명확한 경로 형식을 지정합니다. 이 표준은 동일한 HD 지갑 시드를 사용하여 여러 암호화폐(예: 비트코인, 라이트코인, 이더리움)를 관리할 수 있도록 하며, 각 암호화폐에 대해 별도의 수신 주소와 잔돈 주소를 가진 여러 계정을 사용할 수 있도록 합니다. 다양한 지갑 제공업체 간의 호환성을 보장하여 여러 토큰, 여러 계정, 계정당 외부 및 내부 체인, 그리고 체인당 수백만 개의 주소를 처리할 수 있도록 합니다.

표준 형식: m/purpose'/coin_type'/account'/change/address_index

m: 마스터 키(master)

목적: 44'로 고정되어 BIP 44 표준(향상된 파생)을 준수함을 나타냅니다.

'coin_type': 화폐 유형, 예를 들어 비트코인은 0', 이더리움은 60'(향상된 파생상품)입니다.

계정': 사용자가 하나의 지갑에 여러 계정을 생성할 수 있는 계정 인덱스(향상된 파생 기능).

변경: 체인을 변경합니다. 0은 외부 체인(수신 주소)에 사용되고, 1은 내부 체인(변경 주소)에 사용됩니다.

address_index: 주소 인덱스, 0부터 순차적으로 생성됩니다.

예: 첫 번째 비트코인 계정의 첫 번째 수신 주소 경로는 다음과 같습니다. m/44'/0'/0'/0/0

단일 소수 기호 '는 강화된 파생을 나타냅니다.

4. BIP-43(결정적 지갑의 목적 필드) 목적 필드

별도의 BIP-32 프로토콜은 구현자에게 너무 많은 자유를 제공하기 때문에, 이 프로토콜은 목적 필드를 구체적으로 설명합니다. 이 프로토콜은 서로 다른 체계가 별도의 BIP 번호를 신청하고 동일한 목적 필드를 사용하도록 장려하여, 중복되는 BIP 32 공간에서 주소가 생성되지 않도록 합니다.

섹션 4.2에서는 다양한 BIP에 의해 정의된 목적 필드를 살펴보겠습니다.

사용 코드 10001-19999는 SLIP 프로토콜용으로 예약되어 있습니다.

5. SLIP-0044(BIP-0044 등록 동전 종류)

이 프로토콜은 coin_type 유형을 정의합니다. 현재 주류로 사용되는 수천 개의 coin_type 유형은 SLIP-0044의 일반적인 디지털 화폐 유형에서 확인할 수 있습니다. 자세한 내용은 다음 링크에서 확인할 수 있습니다.

https://github.com/satoshilabs/slips/blob/master/slip-0044.md

2.2. 주소 형식 프로토콜과 에볼루션 프로토콜

1. BIP-11(M-of-N 표준 거래) M/N 표준 거래

이 프로토콜은 M/N 서명을 사용한 표준 거래 유형을 제공하며, 주로 비트코인 자산을 사용하고 관리하는 보다 안전한 방법을 제공합니다.

3.3절에서 해당 명령어 유형의 예를 볼 수 있습니다.

잠금 스크립트는 다음과 같습니다. m {pubkey}...{pubkey} n OP_CHECKMULTISIG

스크립트 잠금 해제: OP_0 ...서명...

그러나 이 프로토콜은 표준 거래만 정의하고 특정 주소 유형을 정의하지 않습니다. 이후 이 다중 서명 스크립트는 P2SH 주소 유형으로 표준화되었습니다.

2. BIP-13(Pay-to-Script-Hash를 위한 주소 형식) - P 2 SH 주소

BIP-13의 주요 목적은 숫자 3으로 시작하는 주소에 대한 표준을 정의하는 것입니다. 이 주소는 공개 키에 직접 대응되는 것이 아니라 스크립트의 해시 값에 대응됩니다. 가장 일반적으로 사용되는 용도는 다음과 같습니다.

다중 서명 지갑(자금을 사용하려면 여러 서명이 필요함).

SegWit과의 호환성.

중요성: 복잡한 스크립트 조건을 짧은 주소로 해싱하면 사용자 경험이 간소화되고 복잡한 스마트 계약이 가능해집니다.

주소 형식의 구체적인 정의:

base 58-인코딩: [1바이트 버전][20바이트 해시][4바이트 체크섬]

3. BIP-16(스크립트 해시 지불)

이 프로토콜은 스크립트 해시 함수로 결제를 정의하는 반면, BIP-13은 스크립트 해시 주소로 결제를 정의합니다. BIP-16에서 정의된 스크립트는 다음과 같습니다.

잠금 스크립트: OP_HASH 160 [20바이트 해시 값] OP_EQUAL

스크립트 잠금 해제: ...서명... {직렬화된 스크립트}

3.4절에서 구체적인 예를 볼 수 있습니다.

4. BIP-49(P2WPKH-Nested-in-P2SH 기반 계정을 위한 파생 체계)

중첩된 P2SH(BIP 141) 거래에서 P2WPKH를 사용할 경우, 범용 파생 방식이 필요합니다. 이를 통해 사용자는 동일한 마스터 시드 및/또는 단일 계정을 사용하여 여러 HD 지갑을 원활하게 사용할 수 있습니다. 따라서 사용자는 해당 BIP와 호환되는 지갑만 계정을 감지하고 적절하게 처리할 수 있도록 전용 SegWit 계정을 생성해야 합니다.

루트 계정에서 공개 키를 파생하기 위해 이 BIP는 BIP 44에 정의된 것과 동일한 계정 구조를 사용하지만 다른 트랜잭션 직렬화 방법을 나타내기 위해 다른 목적 값만 사용합니다.

m/목적'/코인_유형'/계좌'/변경/주소_인덱스

경로 레벨에는 "49"를 사용합니다. 나머지 레벨은 BIP 44에 정의된 대로 사용됩니다.

위에서 계산된 공개 키에서 P2SH 주소를 파생하려면 BIP 141에 정의된 캡슐화를 사용합니다.

증인: <서명> <공개키>

scriptSig: <0<20바이트 키 해시>>

(0 x 160014{20바이트 키 해시})

scriptPubKey: HASH 160 <20바이트 스크립트 해시> 동일

(0xA 914{20바이트 스크립트 해시}87)

5. BIP-84(P2 WPKH 기반 계정을 위한 파생 체계)

P2 WPKH 거래를 사용할 때는 범용 파생 체계가 필요합니다. 이를 통해 사용자는 동일한 마스터 시드 및/또는 개별 계정을 가진 여러 HD 지갑을 원활하게 사용할 수 있습니다. 따라서 사용자는 해당 BIP와 호환되는 지갑만 계정을 감지하고 적절하게 처리할 수 있도록 전용 SegWit 계정을 생성해야 합니다.

루트 계정에서 공개 키를 파생하기 위해 이 BIP는 BIP 44 및 BIP 49에 정의된 것과 동일한 계정 구조를 사용하지만, 다른 트랜잭션 직렬화 방법을 나타내기 위해 다른 대상 값만 사용합니다.

m/목적'/코인_유형'/계좌'/변경/주소_인덱스

목적 레벨에는 84'를 사용합니다. 나머지 레벨은 BIP 44 또는 BIP 49에 정의된 대로 사용됩니다.

위에서 계산된 공개 키에서 P² WPKH 주소를 파생하려면 BIP 141에 정의된 캡슐화를 사용합니다.

증인: <서명> <공개키>

scriptSig: (비어 있음)

scriptPubKey: 0<20바이트 키 해시>

(0x0014{20바이트 키 해시})

6. BIP-86(단일 키 P 2 TR 출력을 위한 키 파생)

이 프로토콜은 Taproot 내부 키로 단일 키 P2TR(BIP 341) 출력을 제공합니다. 루트 계정에서 공개 키를 도출하기 위해 이 BIP는 BIP 44, 49, 84에 정의된 것과 동일한 계정 구조를 사용하지만, 스크립트 유형 대상 값은 다릅니다.

m/목적'/코인_유형'/계좌'/변경/주소_인덱스

경로 레벨의 경우 86'를 사용합니다. 나머지 레벨은 BIP 44, 49, 84에 정의된 대로 사용됩니다.

7. BIP-173(네이티브 v 0-16 위트니스 출력을 위한 Base 32 주소 형식)

BIP-173의 주요 기능은 다음과 같습니다. 네이티브 분리 증인(네이티브 SegWit) 거래를 위해 설계된 새로운 주소 형식을 정의합니다. 이는 일반적으로 bc 1 q로 시작하는 주소입니다.

장점:

낮은 거래 수수료: 기본 SegWit 거래는 데이터 양이 적기 때문에 거래 수수료가 저렴합니다.

더욱 강력한 오류 방지: Bech 32 인코딩을 사용하면 입력 오류(대문자와 소문자 'O', 숫자 '0'을 혼동하는 등)와 감지 오류를 효과적으로 방지할 수 있습니다.

대규모 업그레이드 지원: Taproot와 같은 향후 업그레이드를 위한 길을 열어줍니다.

8. BIP-350(Bech 32m의 P 2 WPKH 및 P 2 WSH 주소) - Taproot 주소(Bech 32m)

BIP-350의 주요 효과: BIP-173의 Bech 32 형식에 작지만 중요한 조정이 이루어졌으며, 새로운 Taproot 결제 방식(P 2 TR)을 지원하는 Bech 32 m 인코딩이 생성되었습니다. 이는 bc 1 p로 시작하는 주소입니다.

새로운 형식이 필요한 이유: Taproot가 새로운 감시 버전(v1)을 사용함에 따라 기존 네이티브 SegWit(v0)과 구별하기 위함입니다. Bech 32m은 서로 다른 버전 간의 체크섬 검증 규칙이 충돌하지 않도록 보장합니다.

9. BIP-141(분리 증인) - 분리 증인 자체

BIP-141의 주요 목적: BIP-141 자체는 핵심 프로토콜이지만, 기존 P2SH 스크립트로 래핑된 SegWit 거래인 호환 주소(중첩 P2SH)를 도입합니다. 이 주소는 3으로 시작하며 다중 서명 주소와 동일하게 보입니다.

목적: 생태계 소프트웨어 및 서비스가 아직 네이티브 Bech 32 주소를 지원하도록 업그레이드되지 않은 상황에서, 사용자가 SegWit 수수료 할인 혜택을 미리 누릴 수 있도록 지원합니다. 이러한 주소는 현재 네이티브 Bech 32 주소로 점진적으로 대체되고 있습니다.

3. 비트코인 주소 유형 및 잠금 스크립트 유형

3.1. 공개 키 해시 P 2 PK에 지불

P2PK(Pay To Public Key)는 주소 연산을 수행하지 않고 공개 키로 지불하는 가장 오래된 주소 형식입니다. 현재는 거의 사용되지 않습니다.

비교 학습을 위해 문서에서 그 원리와 샘플 데이터를 요약했습니다.

(1) 개략도

(2) 샘플 데이터

P 2 PK가 소비할 수 있는 스크립트를 생성하기 위해 샘플 데이터는 다음과 같습니다.

출력에서 스크립트 잠금

OP_PUSHBYTES_65

049464205950188 c 29 d 377 eebca 6535 e 0 f 3699 ce 4069 ecd 77 ffebfbd 0 bcf 95 e 3 c 134 cb 7 d 2742 d 800 a 12 df 41413 a 09 ef 87 a 80516353 a 2 f 0 a 280547 bb 5512 dc 03 da 8

OP_CHECKSIG

입력에서 스크립트 잠금 해제

OP_PUSHBYTES_72

3045022100 c 219 a 522 e 65 ca 8500 ebe 05 a 70 d 5 a 49 d 840 ccc 15 f 2 afa 4 ee 9 df 783 f 06 b 2 a 322310220489 a 46 c 37 2월 33 f 52 c 586 da 25 c 70113 b 8 eea 41216440 eb 84771 cb 67 a 67 fdb 68 c 01

더 자세한 데모를 보려면 다음 링크를 클릭하세요.

https://learnmeabitcoin.com/explorer/tx/1 db 6251 a 9 afce 7025 a 2061 a 19 e 63 c 700 dffc 3 bec 368 bd 1883 decfac 353357 a 9 d#output-1

일부 브라우저에서는 공개 키에 대한 지불이 공개 키의 해시 값에 대한 지불로 표시됩니다. 해시 값은 1로 시작하는 비트코인 주소입니다.

이 주소 형식은 1로 시작하는 긴 주소입니다. 예:

13 QECtNiFPXijbMZmcgaTom 3 pCXwHvDYTUWGtRxZN 7 fY 24 u 4 fG 5 iiqXaQz 3 TvuQydLrkz 9 L 4 YhcYn 3 khC 44 yQwaZme 6 uoXQ

형성 과정

공개 키(압축되지 않음) =

04283338 ffd 784 c 198147 f 99 aed 2 cc 16709 c 90 b 1522 e 3 b 3637 b 312 a 6 f 9130 e 0 eda 7081 e 373 a 96 d 36 be 319710 cd 5 c 134 aaffba 81 ff 08650 d 7 de 8 af 332 fe 4 d 8 cde 20

접두사 + 공개 키 + 체크섬 =

0004283338 ffd 784 c 198147 f 99 aed 2 cc 16709 c 90 b 1522 e 3 b 3637 b 312 a 6 f 9130 e 0 eda 7081 e 373 a 96 d 36 be 319710 cd 5 c 134 aaffba 81 ff 08650 d 7 de 8 af 332 fe 4 d 8 cde 2067 da 00 eb

58진수 주소 =

13 QECtNiFPXijbMZmcgaTom 3 pCXwHvDYTUWGtRxZN 7 fY 24 u 4 fG 5 iiqXaQz 3 TvuQydLrkz 9 L 4 YhcYn 3 khC 44 yQwaZme 6 uoXQ

3.2. 공개 키 해시(P2PKH) 지불

P2PKH(Pay To Public Key Hash)는 일반적으로 사용되는 거래 방식입니다.

(1) 개략도

(2) 샘플 데이터

출력에서 스크립트 잠금

OP_DUP

OP_해시 160

OP_PUSHBYTES_20

55 ae 51684 c 43435 da 751 ac 8 d 2173 b 2652 eb 64105

OP_EQUALVERIFY

OP_CHECKSIG

입력에서 스크립트 잠금 해제

OP_PUSHBYTES_72

3045022100 c 233 c 3 a 8 a 510 e 03 ad 18 b 0 a 24694 ef 00 c 78101 bfd 5 ac 075 b 8 c 1037952 ce 26 e 91 e 02205 aa 5 f 8 f 88 f 29 bb 4 ad 5808 ebc 12 abfd 26 bd 791256 f 367 b 04 c 6 d 955 f 01 f 28 a 772401

OP_PUSHBYTES_33

03 f 0609 c 81 a 45 f 8 cab 67 fc 2 d 050 c 21 b 1 acd 3 d 37 c 7 acfd 54041 be 6601 ab 4 cef 4 f 31

스크립트 실행 다이어그램

더 자세한 데모를 보려면 다음 링크를 클릭하세요.

https://learnmeabitcoin.com/explorer/tx/40 e 331 b 67 c 0 fe 7750 bb 3 b 1943 b 378 bf 702 dce 86124 dc 12 fa 5980 f 975 db 7 ec 930#input-0

P2PKH 주소 형성의 개략도

이 주소 형식은 1로 시작합니다. 예: 1 JBSCVF 6 VM 6 QjFZyTnbpLjoCJTQEqVbepG

형성 과정

공개 키(압축되지 않음) =

04283338 ffd 784 c 198147 f 99 aed 2 cc 16709 c 90 b 1522 e 3 b 3637 b 312 a 6 f 9130 e 0 eda 7081 e 373 a 96 d 36 be 319710 cd 5 c 134 aaffba 81 ff 08650 d 7 de 8 af 332 fe 4 d 8 cde 20

해시 160(공개 키) = bc 73550 c 1612 ee 81155 d 29254217 CBD 60084 a 6 d 1

접두사+해시 160(공개키)+체크섬 =

00 bc 73550 c 1612 ee 81155 d 29254217 CBD 60084 a 6 d 1691 c 58 b 9

기본 58 주소 = 1 JBSCVF 6 VM 6 QjFZyTnbpLjoCJTQEqVbepG

이론적으로, 압축되지 않은 130자 공개 키를 Hash 160을 사용하여 40자 해시 값으로 압축하면 해시 충돌이 발생할 가능성이 있습니다. 즉, 주소가 중복될 가능성이 약간 있습니다. 이는 문제가 되지 않을까요? 공개 키 해시를 주소로 사용하는 이유에 대한 추가 정보는 다음을 참조하세요.

https://bitcoin.stackexchange.com/questions/3600/비트코인 주소의 공개 키 해시는 왜 필요한가요?

3.3. 다중 서명 P2MS에 대한 지불

P 2 MS(Pay To Multisig)는 여러 서명에 대한 결제를 허용하는 결제 방식입니다. 관련 원칙에 대한 설명은 BIP 11: M-of-N 표준 거래를 참조하십시오.

(1) 개략도

위 다이어그램에서 2/3 다중 서명을 사용하는 것은 다음과 같습니다.

(2) 샘플 데이터

출력에서 스크립트 잠금

OP_2

OP_PUSHBYTES_65

04 d 81 fd 577272 bbe 73308 c 93009 eec 5 dc 9 fc 319 fc 1 ee 2 e 7066 e 17220 a 5 d 47 a 18314578 be 2 faea 34 b 9 f 1 f 8 ca 078 f 8621 acd 4 bc 22897 b 03 daa 422 b 9 bf 56646 b 342 a 2

OP_PUSHBYTES_65

04 ec 3 afff 0 b 2 b 66 e 8152 e 9018 fe 3 be 3 fc 92 b 30 bf 886 b 3487 a 525997 d 00 fd 9 da 2 d 012 dce 5 d 5275854 adc 3106572 a 5 d 1 e 12 d 4211 b 228429 f 5 a 7 b 2 f 7 ba 92 eb 0475 bb 1

OP_PUSHBYTES_65

04 b 49 b 496684 b 02855 bc 32 f 5 daefa 2 e 2 e 406 db 4418 f 3 b 86 bca 5195600951 c 7 d 918 cdbe 5 e 6 d 3736 ec 2 abf 2 dd 7610995 c 3086976 b 2 c 0 c 7 b 4 e 459 d 10 b 34 a 316 d 5 a 5 e 7

OP_3

OP_CHECKMULTISIG

입력에서 스크립트 잠금 해제

OP_0

OP_PUSHBYTES_72

3045022100 af 204 ef 91 b 8 dba 5884 df 50 f 87219 ccef 22014 c 21 dd 05 aa 44470 d 4 ed 800 b 7 f 6 e 40220428 fe 058684 db 1 bb 2 bfb 6061 bff 67048592 c 574 effc 217 f 0 d 150 daedcf 36787601

OP_PUSHBYTES_72

3045022100 e 8547 aa 2 c 2 a 2761 a 5 a 28806 d 3 ae 0 d 1 bbf 0 aeff 782 f 9081 dfea 67 b 86 cacb 321340220771 a 166929469 c 34959 daf 726 a 2 ac 0 c 253 f 9 aff 391 e 58 a 3 c 7 cb 46 d 8 b 7 e 0 fdc 4801

스크립트 실행 다이어그램

더 자세한 데모를 보려면 다음 링크를 클릭하세요.

https://learnmeabitcoin.com/technical/script/p 2ms/

P2MS(Payment to Multi-Signature)는 실제로 주소 형식을 가지고 있지 않습니다. 가장 일반적인 방법은 P2MS 결제 스크립트를 P2SH 또는 P2WSH 스크립트로 감싸서 해당 주소가 다른 두 개의 유사한 주소를 참조하도록 하는 것입니다. P2MS를 직접 사용하는 것과 비교했을 때 다음과 같은 장점이 있습니다.

P2MS에는 주소 형식이 없기 때문에 비트코인을 직접 잠그려면 원본 잠금 스크립트를 직접 작성하여 전송해야 합니다. 더 심각한 문제는 대부분의 지갑이 원시 스크립트가 아닌 주소를 사용한 거래만 허용하기 때문에, 이 방법으로는 거래가 생성되지 않을 수 있다는 것입니다. 따라서 UTXO를 사용할 수 있는 입력값을 생성하는 것은 전문 도구나 개발 키트를 사용하는 전문가에게만 어려운 작업이며, 일반인이 숙달하기는 어렵습니다.

P2MS는 최대 3개의 공개 키로 제한됩니다. 모든 공개 키를 포함하면 P2MS 잠금 스크립트가 매우 커져 수수료가 높아지므로, UTXO 데이터의 과도한 중앙 집중화를 방지하기 위해 3개로 제한합니다. 그러나 P2SH에서는 다중 서명 잠금에 최대 15개의 공개 키를 사용할 수 있습니다.

따라서 사용자는 원한다면 P2MS를 계속 사용할 수 있지만, 동일한 기능을 얻으려면 P2SH를 사용하는 것이 더 편리합니다.

3.4. 스크립트 해시 P 2 SH에 지불

P2SH(Pay To Script Hash)는 스크립트 해시로 지불합니다. 스크립트 해시로 지불할 수 있게 되면서 비트코인의 거래 성능이 크게 향상되었습니다.

(1) 개략도

(2) 샘플 데이터

출력에서 스크립트 잠금

OP_해시 160

OP_PUSHBYTES_20

748284390 f 9 e 263 a 4 b 766 a 75 d 0633 c 50426 eb 875

OP_EQUAL

입력에서 스크립트 잠금 해제

OP_0

OP_PUSHBYTES_71

3044022100 d 0 ed 946330182916 da 16 a 6149 cd 313 a 4 b 1 a 7 b 41591 ee 52 fb 3 e 79 d 64 e 36139 d 66021 f 6 ccf 173040 ef 24 cb 45 c 4 db 3 e 9 c 771 c 938 a 1 ba 2 cf 8 d 2404416 f 70886 e 360 af 401

OP_PUSHBYTES_71

5121022 afc 20 bf 379 bc 96 a 2 f 4 e 9 e 63 ffceb 8652 b 2 b 6 a 097 f 63 fbee 6 ecec 2 a 49 a 48010 e 2103 a 767 c 7221 e 9 f 15 f 870 f 1 ad 9311 f 5 ab 937 d 79 fcaee 15 bb 2 c 722 bca 515581 b 4 c 052 ae

스크립트 실행 다이어그램

더 자세한 데모를 보려면 다음 링크를 클릭하세요.

https://learnmeabitcoin.com/technical/script/p 2 sh/

주소 원칙

공개 키 또는 스크립트의 해시 160을 레거시 주소로 인코딩합니다.

이 주소 형식은 3으로 시작합니다(테스트 네트워크는 2로 시작합니다). 예:

3 Nfmmt 78 SUwQTZtr 4p 9 수량 5 Wgaykt 6 PhoS

형성 과정:

해시 160은 사용자의 공개 키 또는 스크립트를 인코딩하여 결과를 얻습니다.

해시 160(공개 키 또는 스크립트) = d 5 ed 76 bbb 243 d 456240014178 ba 5 fbb 37 ada 36 bc

기본 58 주소 = 접두사(05) + 해시 160(공개 키 또는 스크립트) + 체크섬(32 e 485 ca) = 3 MCAKgGRPTMjYP 3 cD 1 vTeD 7 aQZJPVECAC 1

P2SH의 몇 가지 확실한 장점은 다음과 같습니다.

l 복잡한 잠금 해제 스크립트를 사용하기가 더 쉽습니다(또한 후속 Taproot에서 MAST 트리를 사용하기 위한 기반을 제공합니다).

더 저렴한 거래 수수료(이는 실제로 더 많은 잠금 해제 바이트를 사용하여 출력을 소비해야 하는 소비자에게 비용을 전가함)

lP 2 SH는 더 강력한 개인 정보 보호 기능을 제공합니다.

출력 바이트가 줄어들기 때문에 전체 UTXO 집합이 더 작아집니다. 단일 UTXO의 크기가 더 작아지기 때문에 더 많은 UTXO를 메모리에 저장할 수 있습니다.

참고: P2SH에서 상환 스크립트의 최대 길이는 520바이트입니다. 즉, P2SH 스크립트가 P2MS인 경우 최대 15개의 공개 키를 포함할 수 있습니다(압축된 공개 키는 33바이트이고, 15개의 압축된 공개 키는 33*15=495바이트로, 520바이트 미만의 최대값입니다).

3.5. 패키지에 대한 지불을 위해 공개 키 해시 P 2 SH-P 2 WPKH를 확인합니다.

2 SHP 2 WPKH는 P 2 SH로 래핑되어, 증인 공개 키 해시 P에 대한 지불을 스크립트 해시 P 2 SH 메서드에 대한 지불로 래핑합니다. PP 2 WPKH()2 WPKH

(1) 개략도

(2) 샘플 데이터

출력에서 스크립트 잠금

OP_해시 160

OP_PUSHBYTES_20

6일 3판 4교대 55직류 6752 A 12일 3091일 436익 8에프 0에프 982프 8

OP_EQUAL

입력에서 스크립트 잠금 해제

OP_PUSHBYTES_22

001402 c 8147 af 586 cace 7589672191 bb 1 c 790 e 9 e 9 a 72

스크립트 실행 다이어그램

(3) 이 지불 주소의 개략도는 다음과 같습니다.

더 자세한 데모를 보려면 다음 링크를 클릭하세요.

https://learnmeabitcoin.com/technical/script/p 2 sh-p 2 wpkh/

이 주소 형식은 3으로 시작합니다. 예: 3 Beer 3 irc 1 vgs 76 ENA 4 coqsEQpGZeM 5 CTd

3.6. 패키지 증인 스크립트 해시 P 2 SH - P 2 WSH에 대한 지불

P 2 SH-P 2 WSH(P 2 SH에 래핑된 P 2 WSH)는 증인 스크립트 해시 PS에 대한 지불을 스크립트 해시 P 2 SH 메서드에 대한 지불로 래핑합니다.

(1) 개략도

(2) 샘플 데이터

출력에서 스크립트 잠금

OP_해시 160

OP_PUSHBYTES_20

257014 cec 2 f 75 c 19367 b 2 a 6 a 0 e 08 b 9 f 304108 e 3 b

OP_EQUAL

입력에서 스크립트 잠금 해제

OP_PUSHBYTES_34

0020973 cfd 44 e 60501 c 38320 ab 1105 fb 3 ee 3916 d 2952702 e 3 c 8 cb 4 cbb 7056 aa 6 b 47 f

스크립트 실행 다이어그램

(3) 이 지불 주소의 개략도는 다음과 같습니다.

더 자세한 데모를 보려면 다음 링크를 클릭하세요.

https://learnmeabitcoin.com/technical/script/p 2 sh-p 2 wsh/

이 주소 형식은 3으로 시작합니다. 예: 3 NUPJunPTWu 5 ivNHoi 375 bsTiN 7 P 2 MpZC 2

3.7. Pay to Witness 공개 키 해시 P2 WPKH

P 2 WPHK(Pay To Witness 공개 키 해시)는 분리된 증인 주소로 지불하는 데 사용됩니다.

(1) 개략도

(2) 샘플 데이터

출력에서 스크립트 잠금

OP_0

OP_PUSHBYTES_20

841 b 80 d 2 cc 75 f 5345 c 482 af 96294 d 04 fdd 66 b 2 b 7

입력에서 스크립트 잠금 해제(증인 영역 데이터)

3044022042 e 5 e 3 ed 2 a 41214 ae 864634 b 6 fde 33 ca 2 ff 312 f 3 d 89 d 6 aa 3 e 14 c 026 d 50 d 8 ed 3202206 c 38 dcd 0432 a 0724490356 fbf 599 cdae 40 e 334 c 3667 a 9253 f 8 f 4 cc 57 cf 3 c 448001

03 f 465315805 ed 271 eb 972 e 43 d 84 d 2 a 9 e 19494 d 10151 d 9 f 6 adb 32 b 8534 bfd 764 ab

스크립트 실행 다이어그램

더 자세한 데모를 보려면 다음 링크를 클릭하세요.

https://learnmeabitcoin.com/technical/script/p 2 wpkh/

주소 형성 다이어그램

접두사 OP_0은 Segregated Witness의 첫 번째 버전을 구별하는 데 사용되고(이후 Taproot 주소는 OP_1을 사용하여 구별함), 그 뒤에 20바이트 공개 키 해시가 오고, 마지막으로 Bech 32 주소 인코딩 형식이 옵니다.

이 주소 형식은 bc 1 q로 시작합니다. 예:

기원전 1 qar 0 srrr 7 xfkvy 5 l 643 lydnw 9 re 59 gtzzwf 5 mdq

참고: P2WPKH는 압축된 공개 키만 허용합니다.

3.8. 증인 스크립트 해시 P 2 WSH

P 2 WSH(Pay To Witness Script Hash), 증인에게 지불하는 스크립트 해시.

(1) 개략도

(2) 샘플 데이터

출력에서 스크립트 잠금

OP_0

OP_PUSHBYTES_32

65 f 91 a 53 cb 7120057 db 3 d 378 bd 0 f 7 d 944167 d 43 a 7 dcbff 15 d 6 afc 4823 f 1 d 3 ed 3

입력에서 스크립트 잠금 해제

00

30440220415899 bbee 08 e 42376 d 06 e 8 f 86 c 92 b 4987613 c 2816352 fe 09 cd 1479 fd 639 f 18 c 02200 db 57 f 508 f 69 e 266 d 76 c 23891708158 bda 18690 c 165 a 41 b 0 aa 88303 b 97609 f 7801

304402203973 de 2303 e 8787767090 dd 25 c 8 a 4 dc 97 ce 1 aa 7 eb 4 c 0962 f 13952 ed 4 e 856 ff 8 e 02203 f 1 bb 425 def 789 eea 8 be 46407 d 10 b 3 c 8730407176 aef 4 dc 2 c 29865 eb 5 e 5542 bf 01

522103848 e 308569 b 644372 a 5 eb 26665 f 1 a 8 c 34 ca 393 c 130 b 376 db 2 fae 75 c 43500013 c 2103 cec 1 ee 615 c 17 e 06 d 4 f 4 b 0 a 08617 dffb 8 e 568936 bdff 18 fb 057832 a 58 ad 4 d 1 b 752103 eed 7 ae 80 c 34 d 70 f 5 ba 93 f 93965 f 69 f 3 c 691 da 0 f 4607 f 242 f 4 fd 6 c 7 a 48789233 e 53 ae

스크립트 실행 다이어그램

더 자세한 데모를 보려면 다음 링크를 클릭하세요.

https://learnmeabitcoin.com/technical/script/p 2wsh/

주소 형성 다이어그램

접두사 OP_0은 Segregated Witness의 첫 번째 버전을 구별하는 데 사용되고(이후 Taproot 주소는 OP_1을 사용하여 구별함), 그 뒤에 32바이트 스크립트 해시가 오고, 마지막으로 Bech 32 주소 인코딩 형식이 옵니다.

이 주소 형식은 bc 1 q로 시작합니다. 예:

기원전 1 qmc 7 d 40 nxddfklulxq 55 f 2 jhupauaystdlxnj 69 asztedz 8 uz 6 e 3 q 9 lj 223

3.9. Taproot 주소로 지불 P 2 TR

P2TR(Pay To Taproot)은 Taproot 주소로 지급합니다. 이 지급 유형에는 키 경로 지출(Key Path Spend)과 스크립트 경로 지출(Script Path Spend)의 두 가지 유형이 있습니다. 자세한 내용은 아래 설명을 참조하세요.

(1) 개략도

(2) 샘플 데이터 1 - 주요 경로 지출

출력에서 스크립트 잠금

OP_1

OP_PUSHBYTES_32

0 f 0 c 8 db 753 acbd 17343 a 39 c 2 f 3 f 4 e 35 e 4 be 6 da 749 f 9 e 35137 ab 220 e 7 b 238 a 667

입력에서 스크립트 잠금 해제

b 693 a 0797 b 24 bae 12 ed 0516 a 2 f 5 ba 765618 dca 89 b 75 e 498 ba 5 b 745 b 71644362298 a 45 ca 39230 d 10 a 02 ee 6290 a 91 cebf 9839600 f 7 e 35158 a 447 개 182 개 0 e 022 ae 01

키 경로 지출 실행 스크립트 다이어그램

(3) 샘플 데이터 2-3 스크립트 경로 지출

출력에서 스크립트 잠금

OP_1

OP_PUSHBYTES_32

0 f 0 c 8 db 753 acbd 17343 a 39 c 2 f 3 f 4 e 35 e 4 be 6 da 749 f 9 e 35137 ab 220 e 7 b 238 a 667

입력에서 스크립트 잠금 해제

01769105 cbcbdcaaee 5 e 58 cd 201 ba 3152477 fda 31410 df 8 b 91 b 4 aee 2 c 4864 c 7700615 efb 425 e 002 f 146 a 39 ca 0 a 4 f 2924566762 d 9213 bd 33 f 825 fad 83977 fba 7 f 01

206 d 4 ddc 0 e 47 d 2 e 8 f 82 cbe 2 fc 2 d 0 d 749 e 7 bd 3338112 cecdc 76 d 8 f 831 ae 6620 dbe 0 ac

c 0924 c 163 b 385 af 7093440184 af 6 fd 6244936 d 1288 cbb 41 cc 3812286 d 3 f 83 a 3329

스크립트 실행 다이어그램

더 자세한 설명은 다음 링크에서 확인하실 수 있습니다: https://learnmeabitcoin.com/technical/script/p 2 tr/

접두사 OP_1은 분리된 증인의 두 번째 버전을 구별하는 데 사용됩니다(이전 SegWit 주소는 OP_0을 사용하여 구별함). 그 뒤에 20바이트 공개 키 해시가 오고, 마지막으로 Bech 32 주소 인코딩 형식이 옵니다.

이 주소 형식은 bc 1 p로 시작합니다. 예:

bc 1 ppsxtf 9 y 28 tx 36 e 6 nlra 79 m 270 vuagzknt 97 w 6 ga 4 ah 5 g 7 ggxpu 8 s 6 z 8 ftw

4. 비트코인 거래에서 파생 경로 주소와 개인 정보 보호

4.1. 비트코인 거래 내역

비트코인 주소의 변화는 비트코인 거래의 여러 역사적 변화와 밀접한 관련이 있는데, 이는 주로 비트코인의 두 가지 SegWit 구현으로 인한 변화 때문입니다.

1. 백서에 정의된 거래(단순거래모델)

초기의 기본 비트코인 거래는 여러 개의 입력과 최대 두 개의 출력을 허용했습니다. 하나는 수취인의 잔돈을 위한 출력이고, 다른 하나는 외부 이체를 위한 출력이었습니다. (참고: 총 입력과 총 출력의 차이가 거래 수수료입니다.)

초기 주소에는 P 2 PK, P 2 PKH, P 2 MS, P 2 SH가 포함되었습니다.

2. 분리된 증인 버전 1(SegWit)의 거래

세그윗(SegWit, Segregated Witness)은 비트코인 블록체인 네트워크의 프로토콜 업그레이드입니다. 개발자 피터 빌레(Pieter Wiulle)가 2015년 12월 비트코인 코어 클라이언트의 핵심 업데이트로 제안한 이 솔루션은 거래 데이터와 서명 데이터를 분리하여 용량을 확장합니다. 이 솔루션은 기존 비트코인 네트워크와의 호환성을 유지하고 하드포크를 방지합니다.

핵심 메커니즘은 블록 크기 제한을 1MB에서 4MB로 증가시킵니다(통계에 따르면 실제 증가량은 2~2.1MB로 추정됩니다). 이 기술은 추가 증인 블록에 디지털 서명을 저장하여 메인 체인의 공간을 확보합니다. 이 기술은 거래 가변성 문제를 해결하고, 거래 식별자 생성을 개선하여 이중 지출 공격을 방지하며, 라이트닝 네트워크와 같은 2계층 프로토콜의 기반을 마련합니다. 업계 대부분 기업이 채택한 주류 클라이언트 표준인 비트코인 코어는 이 업그레이드를 지원하기 위해 네트워크 해시율의 95%를 요구하지만, 실제 지원률은 32%에서 33.8% 사이를 꾸준히 유지해 왔습니다. 반대 측은 논란의 여지가 있는 기술적 유용성과 비트코인의 탈중앙화를 약화시킬 수 있는 제3자 간섭 가능성에 집중했습니다. 이 프로토콜은 2017년 8월 24일 비트코인 메인넷에서 활성화되었습니다.

주소는 P 2 WPKH, P 2 WSH, P 2 SH-P 2 WPKH, P 2 SH-P 2 WPSH 및 여러 다른 주소 유형입니다.

3. 분리된 증인 v2(Taproot)의 거래

Taproot 기술은 2020년 1월에 제안되어 2021년 11월에 소프트 포크로 공식 발효되었습니다. 이 업그레이드는 BIP 340, BIP 341, 그리고 BIP 342를 결합한 것입니다. BIP 340은 타원 곡선 디지털 서명 알고리즘(ECDSA)을 대체하여 여러 트랜잭션을 동시에 검증할 수 있는 Schnorr 서명을 도입했습니다. 이를 통해 네트워크 용량이 더욱 확장되고 일괄 트랜잭션 처리 속도가 빨라져 복잡한 스마트 컨트랙트 배포가 용이해졌습니다. BIP 341은 블록체인의 트랜잭션 데이터 저장을 최적화하기 위해 Merkle 기반 추상 구문 트리(MAST)를 구현했습니다. BIP 342(Tapscript)는 비트코인 스크립팅 언어를 사용하여 비트코인 기본 스크립팅 기능의 한계를 확장합니다.

Taproot의 주소는 P 2 TR 주소 유형입니다.

4.2. 일반적으로 알려진 파생 경로 정의

먼저 비트코인의 일반적인 파생 경로를 알아보고, 그다음 다른 체인의 일반적인 파생 경로를 살펴보겠습니다.

1. 일반적인 비트코인 파생 경로

BIP에 정의된 파생 경로 표준 형식은 다음과 같습니다. m/purpose'/coin_type'/account'/change/address_index

비트코인의 가장 일반적인 파생 경로는 주로 다양한 주소 유형에 해당하는 목적 필드에 의해 구분됩니다.

(1) BIP 44 - 레거시(원래) 주소(1...)

경로: m/44'/0'/0'/0/0

목적: 1로 시작하는 P2PKH 주소를 생성하는 데 사용되는 가장 초기의 HD 지갑 표준입니다.

특징:

모든 지갑과 거래소에서 지원되는 최고의 호환성.

거래 데이터 양이 많기 때문에 거래 수수료가 가장 높습니다.

사용 시나리오: 현재는 매우 오래된 지갑에서 자금을 회수하거나 새로운 주소 유형을 지원하지 않는 오래된 플랫폼에 자금을 보충하는 데 주로 사용됩니다.

(2) BIP 49 - 중첩된 SegWit 주소(3...)

경로: m/49'/0'/0'/0/0

목적: 3으로 시작하는 P 2 SH-P 2 WPKH 주소를 생성하는 데 사용됩니다.

특징:

이는 SegWit 주소를 P2SH 스크립트로 래핑하여 달성됩니다.

거래 수수료는 레거시보다 낮지만 네이티브 SegWit보다 높습니다.

호환성이 매우 좋으며, 거의 모든 지갑과 거래소가 3으로 시작하는 주소로의 수신 및 발신을 지원합니다.

사용 사례: SegWit 홍보 초기에는 네이티브 SegWit으로의 전환을 위한 호환 솔루션으로 활용되었으며, 현재까지도 널리 지원되고 있습니다.

(3) BIP 84 - 네이티브 SegWit 주소(bc 1 q...)

경로: m/84'/0'/0'/0/0

목적: bc 1 q로 시작하는 P 2 WPKH 주소를 생성하는 데 사용됩니다.

특징:

거래 수수료가 가장 낮은 이유는 거래 데이터 양이 가장 적고 형식이 가장 효율적이기 때문입니다.

최적의 보안을 제공하고 SegWit의 기술적 장점을 최대한 활용합니다.

호환성: 현재 대부분의 최신 지갑, 노드, 거래소에서 지원합니다. 하지만 일부 매우 오래된 시스템에서는 인식하지 못할 수 있습니다.

사용 시나리오: 수수료를 절약하고 최신 기술 기능을 즐기기 위한 현재 선호되고 권장되는 표준입니다.

(4) BIP 86 - 주근(P 2 TR) 주소(bc 1 p...)

경로: m/86'/0'/0'/0/0

목적: bc 1 p로 시작하는 P 2 TR 주소를 생성하는 데 사용됩니다. 이는 비트코인의 최신 주요 업그레이드입니다.

특징:

향상된 개인정보 보호, 간단한 결제, 복잡한 스크립트 거래는 체인상에서 거의 구별할 수 없을 정도로 구현되었습니다.

더 높은 효율성, 더 나은 확장성, 복잡한 스마트 계약(예: Lightning Network, DLC)에 대한 더 낮은 수수료를 제공합니다.

서명 알고리즘(Schnorr Signatures)은 더 효율적이며 키 집계를 지원합니다.

사용 시나리오: 비트코인의 미래 개발 방향을 나타내며 최신 기술을 사용하고, 더 낮은 수수료와 더 나은 개인 정보 보호 기능을 추구하려는 사용자와 애플리케이션에 적합합니다.

(5) RGB 기술에서 사용되는 유도 경로

코인이 BIP-44 프로토콜 표준에 따라 정의되고 SLIP-44 프로토콜이 RGB-0044 프로토콜에 따라 정의되면 목적은 84입니다. RGB의 공식 파생 경로는 다음과 같습니다. m_type/84'

또한 저자는 RGB 공식 웹사이트를 참고하여 LNPBP-46: LN 유도에 대한 설명에 따라 m/9735'/의 유도 경로가 사용되었음을 확인했습니다. 구체적인 관련 내용은 다음과 같습니다.

참고: 어떤 특정 표준을 사용할지는 관련 애플리케이션과 RGB 프로토콜 문서에 대한 추가 조사가 필요합니다.

(6) 기타 중요 경로

BIP 32 루트 경로: m/0' (또는 경우에 따라 m/0). 일부 이전 구현이나 비표준 지갑에서 이 경로를 직접 사용할 수 있지만, 다중 통화 및 다중 계좌 표준을 충족하지 않으므로 사용하지 않는 것이 좋습니다.

다중 서명 지갑 경로: 다중 서명 지갑의 경우, 각 참여자는 일반적으로 자체 표준 경로(예: m/48'/0'/0'/2')를 사용하여 다중 서명용 공개 키를 도출합니다. 이는 일반적으로 다중 서명을 조정하는 지갑 소프트웨어(예: Electrum, Specter)에서 관리하며, 일반 사용자는 이를 수동으로 처리할 필요가 없습니다.

테스트넷 경로: 위 경로의 coin_type을 0'에서 1'로 변경하세요. 예를 들어, 테스트넷 네이티브 SegWit 경로는 m/84'/1'/0'/0/0입니다.

2. 다음은 주요 통화 몇 가지와 일반적인 파생 경로를 나열한 것입니다.

(1) Ethereum 및 EVM 호환 체인(BSC, Polygon, Avalanche C-Chain 등)

이더리움과 그 파생 체인은 동일한 암호화(secp 256k1 곡선)와 주소 형식을 사용하므로 동일한 coin_type을 공유합니다.

경로: m/44'/60'/0'/0/0

동전 종류: 60'

주소 형식: 0x...

참고: 이는 MetaMask와 Trust Wallet을 포함한 대부분의 지갑에서 사용하는 기본 경로입니다. 모든 EVM 기반 체인(예: BSC m/44'/60'/0'/0/0 및 Polygon m/44'/60'/0'/0/0)은 동일한 경로와 동일한 개인 키 세트를 사용합니다. 주소는 다른 체인에서 동일하게 표시되지만, 다른 체인에서는 별도의 계정입니다. 네트워크를 전환할 때 지갑 소프트웨어는 RPC 노드를 사용하여 여러 체인을 구분합니다.

(2) 바이낸스 코인(BNB) 비콘 체인

BNB는 EVM 체인과는 다른 자체적인 독립적인 체인과 주소 시스템을 가지고 있습니다.

경로: m/44'/714'/0'/0/0

동전 종류: 714'

주소 형식: bnb 1... (Bech 32) 또는 tbnb 1... (testnet)

설명: Binance Chain의 BNB 자산에 사용됩니다.

(3) 폴카닷

경로: m/44'/354'/0'/0/0

동전 종류: 354'

주소 형식: SS 58 형식을 기반으로 하며, 일반적으로 1로 시작합니다.

(4) 솔라나

경로: m/44'/501'/0'/0'

동전_종류: 501'

참고: Solana의 경로는 일반적인 0이 아닌 강화된 미분 0을 끝에 사용합니다. 이는 표준적인 관행입니다.

(5) 카르다노

카르다노의 파생 경로는 다소 특수하고 복잡하며, 자체 BIP 44-ADA 솔루션을 기반으로 합니다.

경로: m/1852'/1815'/0'/0/0

목적: 1852' (카르다노를 위해 특별히 설계됨)

coin_type: 1815' (ADA가 태어난 해)

주소 형식: 주소 1... (Bech 32)

참고: 이는 Daedalus와 Yoroi 지갑에서 사용되는 표준 경로입니다.

(6) 리플(XRP)

경로: m/44'/144'/0'/0/0

동전 종류: 144'

주소 형식: r... (58진법)

(7) 라이트코인

라이트코인도 비트코인과 마찬가지로 여러 가지 주소 유형을 가지고 있습니다.

레거시(L...): m/44'/2'/0'/0/0

SegWit(M...): m/49'/2'/0'/0/0

네이티브 SegWit(ltc 1 q...): m/84'/2'/0'/0/0

동전 종류: 2'

(8) 도지코인

경로: m/44'/3'/0'/0/0

동전 종류: 3'

주소 형식: D... (58진법)

(9) 트론

경로: m/44'/195'/0'/0/0

동전 종류: 195'

주소 형식: T... (58진법)

3. 비표준적 또는 예외적 상황

(1) 모네로

모네로는 BIP 32/BIP 44 표준을 사용하지 않습니다. 모네로는 서로 다른 암호화(Ed 25519 곡선)와 키 구조를 사용하는 자체적인 계층적 결정론적 지갑 체계를 가지고 있습니다.

파생된 경로는 다음과 같습니다. m/44'/128'/0'(하지만 이는 표준 BIP 32 경로가 아닙니다)

중요: 비트코인/이더리움용으로 설계된 복구 문구를 사용하여 모네로 지갑에서 직접 자금을 복구할 수 없으며, 그 반대의 경우도 마찬가지입니다. 모네로 지갑을 복구하려면 모네로의 자체 복구 문구와 시스템을 사용해야 합니다.

(2) 하드웨어 지갑을 위한 Ethereum Classic 경로

Ledger와 같은 일부 하드웨어 지갑은 주소 형식이 동일하더라도 Ethereum Classic(ETC)과 Ethereum(ETH)을 구별하기 위해 별도의 경로를 제공합니다.

이더리움(ETH): m/44'/60'/0'/0/0

이더리움 클래식(ETC): m/44'/61'/0'/0/0

4.3. 개인정보 보호 및 다중 주소 사용

비트코인에는 "주소 변경"이라는 고유한 현상이 있습니다. 더 정확히 말하면 UTXO 모델을 기반으로 하는 모든 블록체인 모델이 이러한 특징을 보입니다. "주소 변경"을 이해하려면 세 가지 핵심 사항을 이해해야 합니다.

1. UTXO 모델(미사용 거래 출력)

이는 비트코인의 핵심 원장 모델로, 기존의 계좌 잔액 모델과 다릅니다.

기본 원칙: 비트코인 네트워크는 "잔액"을 기록하는 것이 아니라, 사용되지 않은 일련의 "수표"(UTXO)를 기록합니다. 이러한 수표는 액면가가 다르며, 사용되면 파기되고 새로운 수표가 생성됩니다.

거래 과정: 결제 시 지갑에서 하나 이상의 "수표"(입력)를 인출해야 하며, 총 금액은 결제하려는 금액 이상이어야 합니다. 이 거래는 두 개의 새로운 "수표"를 생성합니다.

수취인을 위한 것: 액면가는 지불 금액과 동일합니다.

본인용(잔돈): 액면가는 (입력한 총 금액 - 지불 금액 - 거래 수수료)와 같습니다.

핵심 요점: 잔돈은 본질적으로 당신에게 지불되는 새로운 출력(UTXO)입니다. 다른 사람에게 지불하는 출력과 거래 구조상 아무런 차이가 없습니다.

참고: 여기서는 "현금"(종종 고정 금액으로 인쇄됨) 대신 "수표"라는 용어를 사용합니다. 수표 금액은 무작위이며 수표마다 다를 수 있기 때문입니다. 이는 비트코인의 UTXO 시나리오와 더 일치합니다. "수표"와 "현금"이라는 용어는 종종 같은 의미를 전달하기 위해 혼용됩니다.

2. 개인 정보 보호 설계

고정된 주소를 사용하면 개인정보 보호가 심각하게 침해될 수 있습니다.

주소 재사용 문제: 모든 UTXO(변경 포함)가 동일한 주소로 돌아가면 블록체인 분석 기관이나 담당자는 쉽게 다음을 수행할 수 있습니다.

모든 거래를 연결하세요. 이 주소에서 발생하는 모든 자금 흐름을 알아보세요.

귀하의 재산을 추산해 보세요: 귀하의 총 수입을 명확하게 확인하세요.

익명성이 파괴됩니다. 다른 사람의 거래 내역을 자신의 거래 내역과 섞는 것은 불가능합니다.

해결책: 각 거래마다 잔돈을 새 주소로 사용하세요. 이렇게 하면 외부 관찰자가 거래에서 어떤 금액이 판매자에게 지급되고 어떤 금액이 당신에게 반환되는지 파악하기 어려워집니다. 이렇게 하면 블록체인 분석의 난이도가 크게 높아지고 금융 정보 보호도 강화됩니다.

3. HD Wallet(계층적 결정론적 지갑)의 기술 구현

매번 변경 사항에 따라 새로운 주소와 개인 키를 수동으로 관리하는 것은 실행 불가능하며, HD 지갑은 이 프로세스를 자동화합니다.

체인 구조: HD 지갑은 시드(니모닉)로부터 거의 무제한의 주소와 개인 키를 생성할 수 있습니다.

파생 경로: 앞서 논의했듯이 표준 경로 m/44'/0'/0'/1/*은 특별히 변경에 사용됩니다(변경 = 1).

m/44'/0'/0'/0/*: 수신 주소를 생성하는 데 사용됩니다(외부 링크).

m/44'/0'/0'/1/*: 변경 주소(내부 체인)를 생성하는 데 사용됩니다.

워크플로:

지갑 소프트웨어가 거래를 생성할 때 잔돈이 필요한 경우, 자동으로 내부 "잔돈 주소 풀"(/1/*)에서 잔돈 수신 주소로 해당 잔돈을 가져옵니다. 사용되지 않은 다음 주소는

거래가 브로드캐스트되고 확인되면 새로운 변경 UTXO가 이 새로운 주소로 저장됩니다.

다음에 자금을 사용할 때, 지갑은 수신 체인과 환전 체인의 모든 UTXO를 스캔하여 사용 가능한 "입력"으로 사용합니다. 수동으로 관리할 필요가 없습니다. 지갑이 모든 것을 자동으로 처리합니다.

간단히 말해, 변경 주소는 [ , ], [ ]의 조합으로 인해 발생하는 불가피한 결과입니다. 이는 선택 사항이 아니라 비트코인 지갑의 표준 동작입니다. UTXO 모델 개인정보 보호 요구 사항 HD 지갑 기술

블록체인 탐색기를 사용하세요. 실제 거래(예: 본인 지갑의 거래)를 찾아 mempool.space 또는 blockstream.info에서 세부 정보를 확인하세요. 입력과 출력을 분석하여 어떤 것이 지불 출력이고 어떤 것이 잔돈 출력인지 추측해 보세요(일반적으로 잔돈 출력은 발신자의 새 주소를 가리킵니다).

테스트 지갑을 사용합니다. 테스트넷에서 새 지갑을 만들고, 몇 가지 보내기 및 받기 작업을 수행한 다음, 지갑의 주소 목록이 어떻게 바뀌는지, UTXO가 어떻게 생성되고 소비되는지 관찰합니다.

참고문헌

1. https://learnmeabitcoin.com/은 비트코인에 대해 배우기에 좋은 웹사이트입니다.

2. BIP 32: 계층적 결정론적 지갑, 2012-02-11, https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki

3. BIP 39: 결정적 키 생성을 위한 니모닉 코드, 2013-09-10, https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki

4. BIP 44: 결정적 지갑을 위한 다중 계정 계층, 2014-04-24, https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki

5. BIP 43: 결정적 지갑을 위한 목적 필드, 2014-04-24, https://github.com/bitcoin/bips/blob/master/bip-0043.mediawiki

6. SLIP-0044: BIP-0044에 등록된 코인 유형, 2014-07-09, https://github.com/satoshilabs/slips/blob/master/slip-0044.md

7. BIP 11:M-of-N 표준 거래, 2011-10-18, https://github.com/bitcoin/bips/blob/master/bip-0011.mediawiki

8. BIP 13: pay-to-script-hash에 대한 주소 형식, 2011-10-18, https://github.com/bitcoin/bips/blob/master/bip-0013.mediawiki

9. BIP 16: 스크립트 해시 지불, 2012-01-03, https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki

10. BIP 49: P 2 WPKH-nested-in-P 2 SH 기반 계정에 대한 파생 방식, 2016-05-19 https://github.com/bitcoin/bips/blob/master/bip-0049.mediawiki

11. BIP 84: P 2 WPKH 기반 계정을 위한 파생 방식, 2017-12-28, https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki

12. BIP 86: 단일 키 P 2 TR 출력을 위한 키 도출, 2021-06-22, https://github.com/bitcoin/bips/blob/master/bip-0086.mediawiki

13. BIP 173: 네이티브 v 0-16 위트니스 출력을 위한 Base 32 주소 형식, 2017-03-20, https://github.com/Roasbeef/bips/blob/bip-tap/bip-0173.mediawiki

14. BIP 350: Bech 32 m의 P 2 WPKH 및 P 2 WSH 주소, 2020-12-16, https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki

15. BIP 141: 분리된 증인, 2020-12-16, https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki

BTC
기술
Odaily 공식 커뮤니티에 가입하세요