ผู้เขียนต้นฉบับ: Fu Shaoqing, SatoshiLab, Wanwudao BTC Studio
1. เตรียมความรู้
ก่อนที่จะเข้าใจที่อยู่กระเป๋าเงินดิจิทัลต่างๆ อย่างถ่องแท้ เราจำเป็นต้องมีความรู้พื้นฐาน ซึ่งส่วนใหญ่ประกอบด้วยความรู้เกี่ยวกับคีย์สาธารณะและคีย์ส่วนตัวในการเข้ารหัสแบบอสมมาตร อัลกอริทึมแฮช แนวคิดการเข้ารหัสทั่วไป และหลักการพื้นฐานของการสร้างที่อยู่ กระเป๋าเงิน Bitcoin ได้รับการออกแบบโดยใช้โปรโตคอล BIP และที่อยู่กระเป๋าเงินที่ไม่ใช่ Bitcoin ส่วนใหญ่ก็ได้รับการออกแบบโดยใช้โปรโตคอลที่เกี่ยวข้องกับ BIP เช่นกัน ในขณะที่ทบทวนความรู้ที่เกี่ยวข้องกับที่อยู่ Bitcoin เราจะแนะนำที่อยู่กระเป๋าเงินประเภทอื่นๆ ด้วย
1.1 ความรู้เกี่ยวกับการเข้ารหัสแบบอสมมาตรและคีย์สาธารณะและส่วนตัว
การเข้ารหัสแบบอสมมาตรเป็นรากฐานสำคัญของวิทยาการเข้ารหัสลับสมัยใหม่ ซึ่งนำเสนอครั้งแรกโดย Whitfield Diffie และ Martin Hellman ในปี พ.ศ. 2519 ลักษณะเด่นของการเข้ารหัสแบบอสมมาตรคือการใช้กุญแจคู่หนึ่งที่มีความสัมพันธ์ทางคณิตศาสตร์กัน ได้แก่ กุญแจสาธารณะที่เผยแพร่และกุญแจส่วนตัวที่เก็บไว้เป็นความลับ กุญแจสำคัญคือการเข้ารหัสและถอดรหัสจะดำเนินการโดยใช้กุญแจที่แตกต่างกัน ข้อมูลที่เข้ารหัสด้วยกุญแจสาธารณะสามารถถอดรหัสได้ด้วยกุญแจส่วนตัวที่ตรงกันเท่านั้น ในทางกลับกัน ข้อมูลที่ลงนามด้วยกุญแจส่วนตัวสามารถตรวจสอบความถูกต้องได้โดยใช้กุญแจสาธารณะที่ตรงกัน วิธีนี้ช่วยแก้ปัญหาการกระจายกุญแจในการเข้ารหัสแบบสมมาตรได้อย่างสมบูรณ์แบบ ช่วยให้การสื่อสารมีความปลอดภัยโดยไม่จำเป็นต้องใช้ความลับที่แบ่งปันกันไว้ล่วงหน้า
ในภาคสกุลเงินดิจิทัลปัจจุบัน อัลกอริทึมการเข้ารหัสแบบอสมมาตรที่ใช้กันอย่างแพร่หลายที่สุดคืออัลกอริทึมลายเซ็นดิจิทัลเส้นโค้งวงรี (Elliptic Curve Digital Signature Algorithm: ECDSA) โดยเฉพาะอย่างยิ่งเส้นโค้ง secp 256k1 ที่ใช้ในสกุลเงินดิจิทัลอย่าง Bitcoin อัลกอริทึมนี้ใช้คีย์ที่สั้นกว่าและมีประสิทธิภาพมากกว่าอัลกอริทึม RSA แบบดั้งเดิม แต่ยังคงรักษาระดับความปลอดภัยไว้เท่าเดิม อัลกอริทึมลายเซ็นดิจิทัล Schnorr ก็เริ่มถูกนำมาใช้ในภาคสกุลเงินดิจิทัลตามเทคโนโลยี Taproot ของ Bitcoin เช่นกัน เมื่อเทียบกับ ECDSA แล้ว Schnorr มีข้อได้เปรียบหลายประการ
หลักการและฟังก์ชันของอัลกอริทึมของคีย์สาธารณะและคีย์ส่วนตัว (บทความนี้จะอธิบายเกี่ยวกับสาขาของสกุลเงินดิจิทัลเป็นหลัก)
ในสกุลเงินดิจิทัล คีย์ส่วนตัวคือตัวเลขขนาดใหญ่ที่สร้างขึ้นแบบสุ่ม ซึ่งทำหน้าที่เป็นหลักฐานเดียวที่ยืนยันการควบคุมสินทรัพย์ คีย์สาธารณะได้มาจากคีย์ส่วนตัวผ่านการคูณเส้นโค้งวงรีแบบทางเดียว (กล่าวคือ การหาคีย์สาธารณะจากคีย์ส่วนตัวนั้นทำได้ง่าย แต่แทบจะเป็นไปไม่ได้เลยที่จะย้อนกลับกระบวนการ) โดยทั่วไป ที่อยู่กระเป๋าเงินจะเป็นแฮชของคีย์สาธารณะ
หน้าที่ของมันมีดังนี้:
คีย์ส่วนตัว: ใช้เพื่อสร้างลายเซ็นธุรกรรมเพื่อพิสูจน์สิทธิ์ของคุณในการใช้จ่ายเงินที่เกี่ยวข้อง ต้องเก็บรักษาไว้เป็นความลับอย่างเคร่งครัด
คีย์สาธารณะ: ใช้เพื่อตรวจสอบความถูกต้องของลายเซ็นธุรกรรม เพื่อให้มั่นใจว่าลายเซ็นถูกสร้างขึ้นโดยคีย์ส่วนตัวที่เกี่ยวข้อง นอกจากนี้ยังใช้เพื่อสร้างที่อยู่การชำระเงินสาธารณะที่สามารถแชร์กับใครก็ได้อย่างปลอดภัย
กล่าวโดยสรุป คีย์ส่วนตัวใช้สำหรับลงนาม และคีย์สาธารณะใช้สำหรับยืนยันตัวตนและสร้างที่อยู่ การผสมผสานทั้งสองอย่างนี้ช่วยรับประกันความปลอดภัยและความน่าเชื่อถือของการโอนกรรมสิทธิ์สินทรัพย์
ในบิตคอยน์ คีย์สาธารณะแบ่งออกเป็นแบบไม่มีการบีบอัดและแบบบีบอัด คีย์สาธารณะแบบไม่มีการบีบอัดจะเริ่มต้นด้วย 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) Private Key และรูปแบบการเข้ารหัสมีดังนี้:

ตัวอย่างข้อมูลเฉพาะมีดังต่อไปนี้:

1.2. อัลกอริทึมแฮชที่ใช้กันทั่วไปใน Bitcoin
นอกเหนือจากความรู้เกี่ยวกับคีย์สาธารณะและคีย์ส่วนตัวแล้ว คุณยังต้องเข้าใจอัลกอริทึมแฮชหรืออัลกอริทึมแฮชด้วย
ฟังก์ชันแฮชแบบทางเดียว (one-way hash function) ประกอบด้วยอินพุตหนึ่งรายการ เรียกว่า ข้อความ และเอาต์พุตหนึ่งรายการ เรียกว่า ค่าแฮช ฟังก์ชันแฮชแบบทางเดียวจะคำนวณค่าแฮชโดยอ้างอิงจากเนื้อหาของข้อความ ซึ่งสามารถใช้ตรวจสอบความสมบูรณ์ของข้อความได้ ฟังก์ชันแฮชสามารถแปลงข้อมูลที่มีความยาวใดๆ ให้เป็นค่าเอาต์พุตที่มีความยาวคงที่ได้
1. เราขอแนะนำ SHA-256 และ RIPEMD-160 ที่ใช้กันทั่วไป
SHA-256 ย่อมาจาก Secure Hash Algorithm 256-bit อัลกอริทึมนี้รับข้อมูลอินพุตทุกขนาด และผ่านการคำนวณทางคณิตศาสตร์ที่ซับซ้อนหลายชุด จะสร้างสตริงความยาวคงที่ (256 บิต หรือ 32 ไบต์) ที่ดูเหมือนเป็นข้อความสุ่มที่อ่านไม่ออก โดยทั่วไปแล้ว สตริงนี้จะแสดงด้วยเลขฐานสิบหก 64 หลัก (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 หลัก
ตัวอย่างเช่น หากคุณป้อน hello world หลังจากการคำนวณ RIPEMD-160 คุณจะได้รับ:
d 7 d 56920283 f 17 ab 4 d 7 e 10 d 4 a 5 d 6 df 50 e 594 a 9 c 3
2. อัลกอริทึมแฮชทั่วไปที่ใช้ใน Bitcoin คือ
HASH 256 (โดยทั่วไปมักใช้ SHA-256 คู่)
แฮช 160 (SHA-256 + RIPEMD-160)
SHA-256 (SHA-256 ตัวเดียว)
HMAC-SHA 512 (HMAC พร้อม SHA-512)
3. สถานการณ์การใช้งาน
(1) การขุด Bitcoin ใช้ HASH 256 ซึ่งเป็นสองเท่า นั่นคือค่าแฮชในส่วนหัวของบล็อกคือ HASH 256 SHA-256
(2) ID ธุรกรรม - TXID ใช้ HASH 256
(3) รากเมอร์เคิลในการทำธุรกรรมใช้ HASH 256
(4) แฮชคีย์สาธารณะใช้ HASH 160 ซึ่งเป็น SHA 256 เดี่ยว + RIPE-160 เดี่ยว
(5) คีย์ขยายใช้ HMAC (SHA-512)
(6) HASH 256 ใช้ในธุรกรรมลายเซ็น
1.3. ความรู้การเข้ารหัสทั่วไป ฐาน 64, ฐาน 58, ม้านั่ง 32
มีการเข้ารหัสหลายแบบที่คุณจำเป็นต้องรู้เกี่ยวกับที่อยู่กระเป๋าเงิน Bitcoin ได้แก่ ฐาน 64 ฐาน 58 และ Bench 32
1. การเข้ารหัสฐาน 64 (ไม่ได้ใช้ใน Bitcoin แต่เป็นการเข้ารหัสทั่วไปในช่วงแรก จึงนำมาใช้ร่วมกัน)
เป้าหมายการออกแบบ: ส่งข้อมูลไบนารีอย่างปลอดภัยและเชื่อถือได้ในสื่อที่เป็นข้อความเท่านั้น (เช่น อีเมล, HTML, XML) โดยมั่นใจได้ว่าข้อมูลจะไม่ถูกแก้ไขระหว่างการส่งข้อมูล (เนื่องจากอักขระบางตัวมีความหมายพิเศษในโปรโตคอล เช่น อักขระขึ้นบรรทัดใหม่)
หลักการ:
แบ่งข้อมูลไบนารีขนาด 3 ไบต์ (24 บิต) ออกเป็น 4 กลุ่ม โดยแต่ละกลุ่มมี 6 บิต
ค่า 6 บิต (0-63) แต่ละค่าจะสอดคล้องกับอักขระที่พิมพ์ได้ เนื่องจาก 2^6 = 64 จึงมีอักขระทั้งหมด 64 ตัว
หากข้อมูลอินพุตไม่เป็นทวีคูณของ 3 จะมีการเติมอักขระ =
ชุดตัวละคร:
(ทั้งหมด 64 ตัวอักษร)AZ, az, 0-9, +, /
คุณสมบัติหลัก:
ประสิทธิภาพการเข้ารหัสสูง: อักขระแต่ละตัวจะมีข้อมูล 6 บิต ซึ่งถือเป็นวิธีการเข้ารหัสที่มีประสิทธิภาพสูงสุดจากสามวิธี
l ความคล่องตัวสูง: ใช้กันอย่างแพร่หลายในอีเมล MIME, URL ข้อมูล (เช่น data:image/png;base 64,... ในหน้าเว็บ) และสำหรับการจัดเก็บคีย์การเข้ารหัสและใบรับรอง
l มีอักขระที่ไม่ใช่ตัวอักษรและตัวเลข: ใช้ + และ / อักขระเหล่านี้อาจต้องถูก escape ในบรรทัดคำสั่งหรือ URL
l ไม่มีฟังก์ชันตรวจสอบผลรวม: การเข้ารหัสฐานมาตรฐาน 64 เองไม่ได้ให้ฟังก์ชันตรวจจับข้อผิดพลาด
2. การเข้ารหัสฐาน 58
เป้าหมายการออกแบบ: ปรับให้เหมาะสมสำหรับการประมวลผลด้วยตนเอง หลีกเลี่ยงความคลุมเครือทางภาพ และอำนวยความสะดวกในการป้อนข้อมูลและการตรวจทานด้วยตนเอง ส่วนใหญ่ใช้ในรูปแบบที่อยู่ดั้งเดิมของ Bitcoin
หลักการ:
l มาจากฐาน 64 แต่มีการลบตัวอักษรที่ทำให้สับสนออก
ปฏิบัติต่อข้อมูลเป็นจำนวนเต็มขนาดใหญ่ จากนั้นหารด้วย 58 อย่างต่อเนื่อง และจับคู่ส่วนที่เหลือเป็นชุดอักขระ
ไบต์ศูนย์นำหน้า (0 x 00) จะถูกเข้ารหัสเป็นอักขระ '1'
ชุดตัวละคร:
123456789 ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
(ลบ 0 (ศูนย์), O (ตัว o ใหญ่), I (ตัว i ใหญ่), l (ตัว L เล็ก), +, /, ทั้งหมด 58 ตัวอักษร)

คุณสมบัติหลัก:
l การทำให้เป็นมนุษย์: ชุดอักขระจะลบอักขระที่สับสนได้ง่าย ช่วยลดข้อผิดพลาดในการถอดเสียงและการป้อนข้อมูลได้อย่างมาก
ตัวอักษรและตัวเลขล้วน: สตริงที่สร้างขึ้นนั้น "สะอาด" มากและไม่มีสัญลักษณ์ใดๆ ทำให้คัดลอกและวางได้ง่ายในสภาพแวดล้อมใดๆ
มีประสิทธิภาพน้อยกว่าเล็กน้อย: อักขระแต่ละตัวจะมีข้อมูลประมาณ 5.857 บิต ซึ่งมีประสิทธิภาพน้อยกว่าฐาน 64 เล็กน้อย
มักจะรวมกับ checksum: การตรวจสอบฐาน 58 จริงๆ แล้วใช้ใน Bitcoin ซึ่งเพิ่มคำนำหน้าเวอร์ชันและ checksum แบบ 4 ไบต์ก่อนการเข้ารหัส ซึ่งสามารถตรวจจับข้อผิดพลาดของอินพุตได้อย่างมีประสิทธิภาพ
แอปพลิเคชัน: ที่อยู่ Bitcoin ดั้งเดิม (P 2 PKH เริ่มต้นด้วย 1), คีย์ส่วนตัว Bitcoin (รูปแบบ WIF), ที่อยู่ของสกุลเงินดิจิทัลอื่น ๆ เช่น Litecoin
3. การเข้ารหัส Bech 32
เป้าหมายการออกแบบ: ออกแบบมาสำหรับที่อยู่ Bitcoin SegWit (Segregated Witness) โดยมีความสามารถในการตรวจจับและแก้ไขข้อผิดพลาดที่แข็งแกร่งยิ่งขึ้น และไม่คำนึงถึงตัวพิมพ์เล็ก-ใหญ่ และรองรับการแปลงอักษรตัวพิมพ์ใหญ่ที่มีประสิทธิภาพ
โปรโตคอล BIP ที่เกี่ยวข้องมีดังนี้:
รูปแบบที่อยู่ฐาน 32 ของ BIP-173 สำหรับเอาต์พุตพยานดั้งเดิม v 0-16
BIP-350 Bech รูปแบบ 32 ม. สำหรับที่อยู่พยาน v 1+
Bech 32 m คือ Bech 32 เวอร์ชัน V 1 โดยมีการปรับเปลี่ยนเล็กน้อยในอัลกอริทึมการตรวจสอบความถูกต้อง
หลักการ:
l สร้างขึ้นโดยใช้รหัส BCH (Bose–Chaudhuri–Hocquenghem) ซึ่งเป็นรหัสแก้ไขข้อผิดพลาดที่สามารถตรวจจับและแก้ไขข้อผิดพลาดต่างๆ ได้หลายรายการ
โครงสร้างคือ: HRP (ส่วนที่มนุษย์อ่านได้ เช่น bc 1) + ตัวคั่น (1) + ส่วนข้อมูล (การเข้ารหัสฐาน 32) + ผลรวมตรวจสอบ
l ใช้ชุดย่อย 32 อักขระที่ได้รับการปรับให้เหมาะสม
ชุดอักขระ: (ตัวอักษรทั้งหมดเป็นตัวพิมพ์เล็ก แต่การเข้ารหัสไม่คำนึงถึงตัวพิมพ์ใหญ่-เล็ก) qpzry 9 x 8 gf 2 tvdw 0 s 3 jn 54 khce 6 mua 7 l

คุณสมบัติหลัก:
การตรวจจับข้อผิดพลาดอันทรงพลัง: สามารถตรวจจับข้อผิดพลาดส่วนใหญ่ได้ และแก้ไขข้อผิดพลาดเพียงไม่กี่ข้อโดยอัตโนมัติ วิธีนี้ล้ำหน้ากว่า Base 58 Checksum ซึ่งตรวจจับได้เพียงข้อผิดพลาด แต่ไม่สามารถแก้ไขข้อผิดพลาดได้
l ไม่คำนึงถึงตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก: ที่อยู่จะถูกต้องไม่ว่าคุณจะป้อนเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก ซึ่งทำให้ผู้ใช้ได้รับประสบการณ์ที่ดีกว่า
l กะทัดรัดและมีประสิทธิภาพ: ส่วนข้อมูลใช้ฐาน 32 (5 บิตต่ออักขระ) ซึ่งมีขนาดกะทัดรัดกว่าสำหรับข้อมูล SegWit
ส่วนที่มนุษย์อ่านได้ (HRP): bc 1 (Bitcoin mainnet) หรือ tb 1 (Bitcoin testnet) ที่จุดเริ่มต้นของที่อยู่จะระบุประเภทเครือข่ายได้อย่างชัดเจนและไม่สับสนได้ง่าย
ต้นทุนสูงกว่า: ความซับซ้อนในการคำนวณของการเข้ารหัสและถอดรหัสสูงกว่าฐาน 58
แอปพลิเคชัน: ที่อยู่ SegWit ดั้งเดิมของ Bitcoin (P 2 WPKH เริ่มต้นด้วย bc 1 q...), ที่อยู่ Taproot (P 2 TR เริ่มต้นด้วย bc 1 p...)
หากผู้อ่านต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับเนื้อหาที่เกี่ยวข้อง ขอแนะนำให้ดูเว็บไซต์ต่อไปนี้ ซึ่งมีรายละเอียดการเข้ารหัสและถอดรหัส แผนภาพ Checksum และคำอธิบายทีละขั้นตอน
https://learnmeabitcoin.com/technical/keys/bech 32/

สรุปและวิธีการเลือก
สำหรับการส่งข้อมูลทั่วไป: เลือก Base 64 ซึ่งเป็นมาตรฐานเครือข่าย มีไลบรารีสำเร็จรูปสำหรับภาษาการเขียนโปรแกรมเกือบทั้งหมด และมีประสิทธิภาพสูงสุด
สำหรับตัวระบุที่ผู้ใช้เห็น (เช่น ระบบเดิม): เลือกการตรวจสอบ Base 58 วิธีนี้จะสร้างสตริงที่อ่านและป้อนด้วยตนเองได้ง่าย และป้องกันข้อผิดพลาดทางภาพ
สำหรับที่อยู่คริปโทเคอร์เรนซีสมัยใหม่ (โดยเฉพาะ Bitcoin) ขอแนะนำให้ใช้ Bech 32 (เช่น ที่อยู่ที่ขึ้นต้นด้วย bc 1) เป็นอย่างยิ่ง เนื่องจากให้ความปลอดภัยและประสบการณ์การใช้งานสูงสุด และอาจช่วยลดค่าธรรมเนียมการทำธุรกรรม (เนื่องจากหลักการของเทคโนโลยี SegWit ที่คำนวณพื้นที่พยานได้เท่ากับหนึ่งในสี่ของพื้นที่เดิม) นี่คือทิศทางการพัฒนาในอนาคต
1.4. หลักการพื้นฐานของการสร้างที่อยู่สกุลเงินดิจิทัล
ที่อยู่ของสกุลเงินดิจิทัลถูกสร้างขึ้นโดยการสร้างคีย์สาธารณะและคีย์ส่วนตัวคู่หนึ่งโดยอาศัยกลไกการเข้ารหัสของคีย์สาธารณะและคีย์ส่วนตัว จากนั้นผ่านอัลกอริทึมและมาตรฐานบางอย่าง คีย์สาธารณะจะถูกแปลงเป็นที่อยู่ของสกุลเงินดิจิทัล กลไกบางอย่างยังมักใช้เพื่อสร้างชุดคีย์ส่วนตัวและชุดคีย์สาธารณะที่สอดคล้องกัน
การสร้างคีย์ส่วนตัวสามารถดูได้จากแผนผังต่อไปนี้

หลังจากได้คีย์ส่วนตัวแล้ว เราจะได้คีย์สาธารณะที่สอดคล้องกับคีย์ส่วนตัวนั้น จากนั้นเราจะคำนวณที่อยู่กระเป๋าเงินตามอัลกอริทึม เราจะใช้กระบวนการสร้างที่อยู่ Bitcoin ที่พบบ่อยที่สุดดังตัวอย่างด้านล่าง:

แผนภาพสาธิตนี้แสดงแผนภาพหลักการสร้างอัลกอริทึมแอดเดรสที่พบบ่อยที่สุด ต่อไปจะกล่าวถึงประเภทของแอดเดรส Bitcoin ที่แตกต่างกัน แผนภาพหลักจะมีความแตกต่างกันบ้าง ประเภทของแอดเดรสแต่ละประเภทจะอธิบายโดยละเอียดในส่วนที่สามด้านล่าง
2. โปรโตคอลที่เกี่ยวข้องกับที่อยู่ Bitcoin
ด้วยอัลกอริทึมและการเข้ารหัสที่เกี่ยวข้องกับการสร้างที่อยู่ Bitcoin จึงจำเป็นต้องมีมาตรฐานโปรโตคอลเฉพาะ ซึ่งส่วนใหญ่มาจากโปรโตคอล BIP และโปรโตคอล SLIP ตัวย่อและความหมายของคำสองคำนี้มีดังนี้:
BIP: ข้อเสนอปรับปรุง Bitcoin
SLIP: ข้อเสนอการปรับปรุงของ SatoshiLabs
2.1. โปรโตคอลหลักสามประการ (BIP-32, 39, 44) และโปรโตคอลที่เกี่ยวข้อง
1. BIP-32 (กระเป๋าสตางค์แบบกำหนดลำดับชั้น)
หน้าที่หลักของ BIP-32 คือการดึงคู่คีย์จำนวนมาก (คีย์ส่วนตัวและคีย์สาธารณะ) จากมาสเตอร์ซีด (master seed) เพียงตัวเดียว ก่อนหน้านี้ วอลเล็ตเป็นชุดของคีย์ส่วนตัวที่ไม่เกี่ยวข้องกัน ทำให้การสำรองข้อมูลทำได้ยากมาก 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 กำหนดลำดับชั้นเชิงตรรกะสำหรับกระเป๋าเงินแบบกำหนดได้ (deterministic wallet) โดยอิงตามอัลกอริทึมที่อธิบายไว้ใน BIP-32 และรูปแบบวัตถุประสงค์ที่อธิบายไว้ใน BIP-43 โดยกำหนดโครงสร้างมาตรฐานสำหรับคีย์ทรีของ BIP-32 โดยระบุรูปแบบเส้นทางที่ชัดเจน เช่น m/purpose'/coin_type'/account'/change/address_index มาตรฐานนี้อนุญาตให้ใช้ HD wallet seed เดียวกันในการจัดการคริปโทเคอร์เรนซีหลายสกุล (เช่น Bitcoin, Litecoin และ Ethereum) โดยมีหลายบัญชีในแต่ละสกุลเงิน โดยแต่ละบัญชีจะมีที่อยู่รับและที่อยู่แลกเปลี่ยนที่แตกต่างกัน มาตรฐานนี้รับประกันความเข้ากันได้กับผู้ให้บริการกระเป๋าเงินหลายราย ช่วยให้สามารถจัดการโทเค็นหลายรายการ หลายบัญชี เชนภายนอกและภายในภายในแต่ละบัญชี และที่อยู่หลายล้านที่อยู่ต่อเชน

รูปแบบมาตรฐาน: m/purpose'/coin_type'/account'/change/address_index
ม.: กุญแจมาสเตอร์ (master)
วัตถุประสงค์': แก้ไขเป็น 44' แสดงถึงการปฏิบัติตามมาตรฐาน BIP 44 (การอนุมานขั้นสูง)
'coin_type': ประเภทสกุลเงิน เช่น Bitcoin คือ 0', Ethereum คือ 60' (อนุพันธ์ที่ได้รับการปรับปรุง)
บัญชี': ดัชนีบัญชี ช่วยให้ผู้ใช้สามารถสร้างบัญชีหลายบัญชีในกระเป๋าเงินเดียว (การสืบทอดที่ปรับปรุงแล้ว)
การเปลี่ยนแปลง: เปลี่ยนเชน 0 ใช้สำหรับเชนภายนอก (ที่อยู่รับ) และ 1 ใช้สำหรับเชนภายใน (เปลี่ยนที่อยู่)
address_index: ดัชนีที่อยู่ สร้างขึ้นตามลำดับเริ่มจาก 0
ตัวอย่าง: เส้นทางของที่อยู่รับแรกของบัญชี Bitcoin แรกคือ: 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 โดยมีจุดประสงค์หลักเพื่อให้มีวิธีการที่ปลอดภัยยิ่งขึ้นในการใช้และจัดการสินทรัพย์ Bitcoin
เราจะดูตัวอย่างประเภทคำสั่งได้ในหัวข้อ 3.3
สคริปต์ล็อคคือ: m {pubkey}...{pubkey} n OP_CHECKMULTISIG
สคริปต์ปลดล็อค: OP_0 ...ลายเซ็น...
อย่างไรก็ตาม โปรโตคอลนี้กำหนดเฉพาะธุรกรรมมาตรฐานเท่านั้น และไม่ได้กำหนดประเภทที่อยู่เฉพาะเจาะจง ต่อมา สคริปต์ลายเซ็นหลายรายการนี้ได้ถูกกำหนดมาตรฐานเป็นประเภทที่อยู่ P2SH
2. BIP-13 (รูปแบบที่อยู่สำหรับการจ่ายเงินให้กับสคริปต์แฮช) - ที่อยู่ P 2 SH
วัตถุประสงค์หลักของ BIP-13 คือการกำหนดมาตรฐานสำหรับที่อยู่เริ่มต้นที่หมายเลข 3 ที่อยู่นี้ไม่ได้สอดคล้องกับคีย์สาธารณะโดยตรง แต่สอดคล้องกับค่าแฮชของสคริปต์ โดยทั่วไปมักใช้สำหรับ:
กระเป๋าเงินที่มีลายเซ็นหลายรายการ (ต้องใช้ลายเซ็นหลายรายการเพื่อใช้จ่ายเงิน)
ความเข้ากันได้กับ SegWit
ความสำคัญ: การแฮชเงื่อนไขสคริปต์ที่ซับซ้อนลงในที่อยู่สั้นจะช่วยลดความซับซ้อนของประสบการณ์ผู้ใช้และเปิดประตูสู่สัญญาอัจฉริยะที่ซับซ้อน
คำจำกัดความเฉพาะของรูปแบบที่อยู่:
ฐาน 58-encode: [เวอร์ชันหนึ่งไบต์][แฮช 20 ไบต์][ผลรวมตรวจสอบ 4 ไบต์]
3. BIP-16 (จ่ายให้กับสคริปต์แฮช)
โปรโตคอลนี้กำหนดฟังก์ชันแฮชของสคริปต์สำหรับการชำระเงิน ในขณะที่ BIP-13 กำหนดฟังก์ชันแฮชของสคริปต์สำหรับการชำระเงิน คุณสามารถดูสคริปต์ที่กำหนดโดย BIP-16 ได้ดังนี้:
สคริปต์ล็อค: OP_HASH 160 [ค่าแฮช 20 ไบต์] OP_EQUAL
สคริปต์ปลดล็อค: ...ลายเซ็น... {สคริปต์แบบอนุกรม}
คุณสามารถดูตัวอย่างเฉพาะได้ในส่วนที่ 3.4
4. BIP-49 (รูปแบบการอนุมานสำหรับบัญชีที่ซ้อนกันแบบ P2WPKH ใน P2SH)
เมื่อใช้ P2WPKH กับธุรกรรม P2SH แบบซ้อนกัน (BIP 141) จำเป็นต้องมีระบบการอนุมานแบบสากล ซึ่งช่วยให้ผู้ใช้สามารถใช้งานกระเป๋าเงิน HD ต่างๆ ได้อย่างราบรื่นด้วยมาสเตอร์ซีดเดียวกันและ/หรือบัญชีเดียว ดังนั้น ผู้ใช้จึงจำเป็นต้องสร้างบัญชี SegWit เฉพาะ เพื่อให้มั่นใจว่ามีเพียงกระเป๋าเงินที่รองรับ BIP นี้เท่านั้นที่สามารถตรวจจับและประมวลผลบัญชีได้อย่างเหมาะสม
ในการดึงคีย์สาธารณะจากบัญชีรูท BIP นี้ใช้โครงสร้างบัญชีเดียวกันกับที่กำหนดไว้ใน BIP 44 แต่ใช้ค่าจุดประสงค์ที่แตกต่างกันเท่านั้นเพื่อระบุวิธีการจัดลำดับธุรกรรมที่แตกต่างกัน
m/วัตถุประสงค์'/ประเภทเหรียญ'/บัญชี'/เปลี่ยนแปลง/ดัชนีที่อยู่
สำหรับระดับเส้นทางวัตถุประสงค์ จะใช้ "49" ส่วนระดับที่เหลือจะใช้ตามที่กำหนดไว้ใน BIP 44
ในการรับที่อยู่ P2SH จากคีย์สาธารณะที่คำนวณไว้ข้างต้น ให้ใช้การห่อหุ้มที่กำหนดไว้ใน BIP 141:
พยาน: <ลายเซ็น> <คีย์สาธารณะ>
scriptSig: <0<แฮชคีย์ 20 ไบต์>>
(0 x 160014{แฮชคีย์ 20 ไบต์})
scriptPubKey: HASH 160 <20-byte-script-hash> เท่ากับ
(0xA 914{20-byte-script-hash}87)
5. BIP-84 (โครงการที่มาสำหรับบัญชี P2 WPKH)
เมื่อใช้ธุรกรรม P2 WPKH จำเป็นต้องมีระบบการอนุมานแบบสากล ซึ่งช่วยให้ผู้ใช้สามารถใช้กระเป๋าเงิน HD ต่างๆ ได้อย่างราบรื่นด้วยบัญชีหลักและ/หรือบัญชีส่วนบุคคลเดียวกัน ดังนั้น ผู้ใช้จะต้องสร้างบัญชี SegWit เฉพาะเพื่อให้มั่นใจว่ามีเพียงกระเป๋าเงินที่รองรับ BIP นี้เท่านั้นที่สามารถตรวจจับและประมวลผลบัญชีได้อย่างเหมาะสม
ในการดึงคีย์สาธารณะจากบัญชีรูท 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 คีย์เดียว)
โปรโตคอลนี้ให้เอาต์พุตคีย์เดี่ยว P2TR (BIP 341) เป็นคีย์ภายใน Taproot เพื่อให้ได้คีย์สาธารณะจากบัญชีรูท BIP นี้ใช้โครงสร้างบัญชีเดียวกันกับที่กำหนดไว้ใน BIP 44, 49 และ 84 แต่มีค่าปลายทางของประเภทสคริปต์ที่ต่างกัน
m/วัตถุประสงค์'/ประเภทเหรียญ'/บัญชี'/เปลี่ยนแปลง/ดัชนีที่อยู่
สำหรับระดับเส้นทางวัตถุประสงค์ จะใช้ 86 ฟุต ระดับที่เหลือใช้ตามที่กำหนดไว้ใน BIP 44, 49 และ 84
7. BIP-173 (รูปแบบที่อยู่ฐาน 32 สำหรับเอาต์พุตพยานเนทีฟ v 0-16)
ฟังก์ชันหลักของ BIP-173: กำหนดรูปแบบที่อยู่ใหม่ที่ออกแบบมาสำหรับธุรกรรม Segregated Witness ดั้งเดิม (Native SegWit) ซึ่งโดยปกติแล้วจะอยู่ที่เริ่มต้นด้วย bc 1 q
ข้อดี:
ค่าธรรมเนียมธุรกรรมที่ต่ำกว่า: ธุรกรรม SegWit ดั้งเดิมมีปริมาณข้อมูลที่เล็กกว่า ส่งผลให้มีค่าธรรมเนียมธุรกรรมที่ถูกกว่า
การป้องกันข้อผิดพลาดที่เข้มงวดยิ่งขึ้น: การใช้การเข้ารหัส Bech 32 สามารถป้องกันข้อผิดพลาดในการป้อนข้อมูลได้อย่างมีประสิทธิภาพ (เช่น การสับสนระหว่างตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก 'O' และตัวเลข '0') และข้อผิดพลาดในการตรวจจับ
รองรับการอัพเกรดครั้งใหญ่: ปูทางไปสู่การอัพเกรดในอนาคตเช่น Taproot
8. BIP-350 (ที่อยู่สำหรับ P 2 WPKH และ P 2 WSH ใน Bech 32 m) - ที่อยู่ Taproot (Bech 32 m)
ผลกระทบหลักของ BIP-350: มีการปรับเปลี่ยนเล็กน้อยแต่สำคัญต่อรูปแบบ Bech 32 ของ BIP-173 โดยสร้างการเข้ารหัส Bech 32 m เพื่อรองรับวิธีการชำระเงิน Taproot ใหม่ (P 2 TR) นี่คือที่อยู่ซึ่งขึ้นต้นด้วย bc 1 p
เหตุใดจึงจำเป็นต้องใช้รูปแบบใหม่: เพื่อแยกความแตกต่างจาก SegWit ดั้งเดิม (v 0) เนื่องจาก Taproot ใช้เวอร์ชัน witness ใหม่ (v 1) Bech 32m ช่วยให้แน่ใจว่ากฎการตรวจสอบความถูกต้องของ checksum ระหว่างเวอร์ชันต่างๆ จะไม่ขัดแย้งกัน
9. BIP-141 (Segregated Witness) - พยานที่ถูกแยกออกจากกัน
วัตถุประสงค์หลักของ BIP-141: แม้ว่า BIP-141 จะเป็นโปรโตคอลหลัก แต่ก็มีการเพิ่มที่อยู่ความเข้ากันได้ (Nested P2SH) ซึ่งเป็นธุรกรรม SegWit ที่ห่อหุ้มด้วยสคริปต์ P2SH แบบดั้งเดิม ที่อยู่เหล่านี้เริ่มต้นด้วยเลข 3 และมีลักษณะเหมือนกับที่อยู่แบบหลายลายเซ็น
วัตถุประสงค์: มอบช่องทางให้ผู้ใช้ได้รับประโยชน์จากส่วนลดค่าธรรมเนียม SegWit ล่วงหน้า ขณะที่ซอฟต์แวร์และบริการของระบบนิเวศยังไม่ได้รับการอัปเกรดให้รองรับที่อยู่ Bech 32 ดั้งเดิม ปัจจุบันที่อยู่เหล่านี้กำลังถูกแทนที่ด้วยที่อยู่ Bech 32 ดั้งเดิมอย่างค่อยเป็นค่อยไป
3. ประเภทที่อยู่ Bitcoin และประเภทสคริปต์ล็อค
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 feb 33 f 52 c 586 da 25 c 70113 b 8 eea 41216440 eb 84771 cb 67 a 67 fdb 68 c 01
คุณสามารถดูลิงก์ต่อไปนี้เพื่อดูการสาธิตโดยละเอียดเพิ่มเติม:
ในบางเบราว์เซอร์ การชำระเงินไปยังคีย์สาธารณะจะยังคงแสดงเป็นการชำระเงินไปยังค่าแฮชของคีย์สาธารณะ ซึ่งเป็นที่อยู่ Bitcoin ที่เริ่มต้นด้วย 1
รูปแบบที่อยู่นี้เป็นที่อยู่แบบยาวซึ่งเริ่มต้นด้วย 1 ตัวอย่างเช่น:
13 QECtNiFPXijbMZmcgaTom 3 pCXwHvDYTUWGtRxZN 7 ปีงบประมาณ 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 ปีงบประมาณ 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 th 51684 c 43435 da 751 ac 8 วัน 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
ไดอะแกรมการรันสคริปต์

คุณสามารถดูลิงก์ต่อไปนี้เพื่อดูการสาธิตโดยละเอียดเพิ่มเติม:
แผนผังของการสร้างที่อยู่ 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 อักขระที่ไม่ได้บีบอัดถูกบีบอัดให้เหลือค่าแฮช 40 อักขระโดยใช้แฮช 160 ก็มีโอกาสที่จะเกิดการชนกันของแฮช ซึ่งหมายความว่ามีโอกาสเล็กน้อยที่จะเกิดที่อยู่ซ้ำกัน เรื่องนี้น่ากังวลไม่ใช่หรือ? อ่านเพิ่มเติมเกี่ยวกับเหตุผลที่ใช้แฮชคีย์สาธารณะเป็นที่อยู่:
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 เป็น 2 faea 34 b 9 f 1 f 8 ca 078 f 8621 acd 4 บีซี 22897 บี 03 ดา 422 บี 9 บี 56646 บี 342 เอ 2
OP_PUSHBYTES_65
04 ec 3 aff 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/หน้า 2 มิลลิวินาที/
P2MS (การชำระเงินแบบหลายลายเซ็น) ไม่มีรูปแบบที่อยู่จริง วิธีที่นิยมใช้กันมากที่สุดคือการรวมสคริปต์การชำระเงิน P2MS ไว้ในสคริปต์ P2SH หรือ P2WSH เพื่อให้ที่อยู่อ้างอิงถึงอีกสองที่อยู่ที่คล้ายกัน เมื่อเทียบกับการใช้ P2MS โดยตรง P2MS มีข้อดีดังต่อไปนี้:
เนื่องจาก P2MS ไม่มีรูปแบบที่อยู่ หากคุณต้องการล็อกบิตคอยน์ของคุณโดยตรง คุณต้องสร้างและส่งสคริปต์ล็อกต้นฉบับด้วยตัวเอง ยิ่งไปกว่านั้น การดำเนินการนี้อาจไม่ได้สร้างธุรกรรมให้คุณ เนื่องจากกระเป๋าสตางค์ส่วนใหญ่อนุญาตให้ทำธุรกรรมโดยใช้ที่อยู่เท่านั้น (ไม่ใช่สคริปต์ดิบ) สถานการณ์เช่นนี้หมายความว่าการสร้างอินพุตที่สามารถใช้จ่าย UTXO ดังกล่าวเป็นความท้าทายสำหรับผู้เชี่ยวชาญที่ใช้เครื่องมือเฉพาะทางหรือชุดพัฒนา ทำให้คนทั่วไปสร้างอินพุตดังกล่าวได้ยาก
P2MS จำกัดคีย์สาธารณะไว้สูงสุดสามคีย์ การรวมคีย์สาธารณะทั้งหมดจะทำให้สคริปต์การล็อกสำหรับ P2MS มีขนาดใหญ่มาก (ซึ่งส่งผลให้มีค่าธรรมเนียมสูง) ดังนั้นจึงจำกัดไว้ที่สามคีย์ (เพื่อป้องกันการรวมศูนย์ข้อมูล UTXO มากเกินไป) อย่างไรก็ตาม ด้วย P2SH คุณสามารถใช้คีย์สาธารณะได้สูงสุด 15 คีย์สำหรับการล็อกหลายลายเซ็น
ดังนั้นผู้ใช้ยังสามารถใช้ P2MS ได้หากต้องการ แต่การใช้ P2SH เพื่อให้ได้ฟังก์ชันเดียวกันจะสะดวกกว่า
3.4. ชำระเงินให้กับสคริปต์แฮช P 2 SH
P2SH (Pay To Script Hash) จ่ายให้กับสคริปต์แฮช หลังจากความสามารถในการจ่ายให้กับสคริปต์แฮชแล้ว ประสิทธิภาพการทำธุรกรรมของ Bitcoin ก็ได้รับการปรับปรุงอย่างมาก
(1) แผนผัง

(2) ข้อมูลตัวอย่าง
สคริปต์ล็อคในเอาท์พุต
OP_แฮช 160
OP_PUSHBYTES_20
748284390 f 9 อี 263 ก 4 b 766 ก 75 วัน 0633 ค 50426 eb 875
OP_เท่ากัน
สคริปต์ปลดล็อคในการป้อนข้อมูล
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 49 a 48010 e 2103 a 767 c 7221 e 9 f 15 f 870 f 1 โฆษณา 9311 f 5 ab 937 d 79 fcaeee 15 bb 2 c 722 bca 515581 b 4 c 052 th
ไดอะแกรมการรันสคริปต์

คุณสามารถดูลิงก์ต่อไปนี้เพื่อดูการสาธิตโดยละเอียดเพิ่มเติม:
https://learnmeabitcoin.com/technical/script/หน้า 2 ชม./
หลักการที่อยู่

เข้ารหัสแฮช 160 ของคีย์สาธารณะหรือสคริปต์ไปยังที่อยู่เดิม
รูปแบบที่อยู่เริ่มต้นด้วย 3 (เครือข่ายทดสอบเริ่มต้นด้วย 2) ตัวอย่างเช่น:
3 Nfmmt 78 SUwQTZtr 4 หน้า 9 จำนวน 5 วัตต์ 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 ใช้สคริปต์ปลดล็อกที่ซับซ้อนได้ง่ายขึ้น (ยังให้พื้นฐานสำหรับการใช้ MAST trees ใน Taproot ที่ตามมาด้วย)
ค่าธรรมเนียมธุรกรรมที่ถูกกว่า (ซึ่งจะโอนต้นทุนไปที่ผู้ใช้จ่าย ซึ่งจำเป็นต้องใช้ไบต์ที่ปลดล็อกมากขึ้นเพื่อใช้จ่ายเอาต์พุต)
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 d 3 ed 4 cf 55 dc 6752 a 12 d 3091 d 436 ef 8 f 0 f 982 ff 8
OP_เท่ากัน
สคริปต์ปลดล็อคในการป้อนข้อมูล
OP_PUSHBYTES_22
001402 c 8147 af 586 cace 7589672191 bb 1 c 790 e 9 e 9 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. การชำระเงินให้กับแพ็คเกจ witness script hash P 2 SH - P 2 WSH
P 2 SH-P 2 WSH (P 2 WSH ห่อหุ้มด้วย P 2 SH) ห่อหุ้มการชำระเงินไปยังสคริปต์แฮช 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_เท่ากัน
สคริปต์ปลดล็อคในการป้อนข้อมูล
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. ชำระเงินให้กับพยานคีย์สาธารณะแฮช P2 WPKH
P 2 WPHK (Pay To Witness Public Key Hash) ใช้สำหรับการชำระเงินไปยังที่อยู่ Segregated Witness
(1) แผนผัง

(2) ข้อมูลตัวอย่าง
สคริปต์ล็อคในเอาท์พุต
OP_0
OP_PUSHBYTES_20
841 ข 80 ง 2 cc 75 ฉ 5345 ค 482 อัฟ 96294 ง 04 ฟดด 66 ข 2 ข 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 ตัวอย่างเช่น:
bc 1 การ์ 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 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 2 wsh/
แผนภาพการสร้างที่อยู่

ใช้คำนำหน้า OP_0 เพื่อแยกแยะเวอร์ชันแรกของ Segregated Witness (ที่อยู่ Taproot ที่ตามมาใช้ OP_1 เพื่อแยกแยะ) ตามด้วยแฮชสคริปต์ 32 ไบต์ และสุดท้ายคือรูปแบบการเข้ารหัสที่อยู่ Bech 32
รูปแบบที่อยู่เริ่มต้นด้วย bc 1 q ตัวอย่างเช่น:
bc 1 qmc 7 วัน 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 อี 35158 ถึง 447 ea 182 ea 0 e 022 th 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 ซีซี 3812286 d 3 f 83 3329
ไดอะแกรมการรันสคริปต์


คุณสามารถดูลิงก์ต่อไปนี้เพื่อดูคำอธิบายโดยละเอียดเพิ่มเติม: https://learnmeabitcoin.com/technical/script/p 2 tr/
ใช้คำนำหน้า OP_1 เพื่อแยกแยะ Segregated Witness เวอร์ชันที่สอง (ที่อยู่ SegWit ก่อนหน้านี้ใช้ OP_0 เพื่อแยกแยะ) ตามด้วยแฮชคีย์สาธารณะ 20 ไบต์ และสุดท้ายคือรูปแบบการเข้ารหัสที่อยู่ Bech 32
รูปแบบที่อยู่เริ่มต้นด้วย bc 1 p ตัวอย่างเช่น:
bc 1 ppsxtf 9 และ 28 tx 36 e 6 nlra 79 ม. 270 vuagzknt 97 วัตต์ 6 ga 4 ah 5 g 7 ggxpu 8 วินาที 6 z 8 ftw
4. ที่อยู่เส้นทางที่ได้มาและการปกป้องความเป็นส่วนตัวในการทำธุรกรรม Bitcoin
4.1. ประวัติการทำธุรกรรม Bitcoin
การเปลี่ยนแปลงที่อยู่ Bitcoin ยังมีความเกี่ยวข้องอย่างใกล้ชิดกับการเปลี่ยนแปลงประวัติธุรกรรม Bitcoin หลายรายการ ซึ่งส่วนใหญ่เป็นผลมาจากการเปลี่ยนแปลงที่เกิดจากการนำ SegWit สองชุดของ Bitcoin มาใช้
1. ธุรกรรมที่กำหนดไว้ในเอกสารไวท์เปเปอร์ (รูปแบบธุรกรรมแบบง่าย)

ธุรกรรมบิตคอยน์ขั้นพื้นฐานในยุคแรกๆ อนุญาตให้มีอินพุตได้หลายรายการ และเอาต์พุตได้สูงสุดสองรายการ เอาต์พุตหนึ่งสำหรับเงินทอนของผู้รับ และอีกเอาต์พุตหนึ่งสำหรับการโอนจากภายนอก (หมายเหตุ: ส่วนต่างระหว่างอินพุตทั้งหมดและเอาต์พุตทั้งหมดคือค่าธรรมเนียมธุรกรรม)
ที่อยู่ในช่วงแรกได้แก่ P 2 PK, P 2 PKH, P 2 MS และ P 2 SH
2. การทำธุรกรรมใน Segregated Witness เวอร์ชัน 1 (SegWit)
Segregated Witness (SegWit) คือการอัปเกรดโปรโตคอลสำหรับเครือข่ายบล็อกเชน Bitcoin นักพัฒนา Pieter Wiulle เสนอในเดือนธันวาคม 2558 ให้เป็นการอัปเดตหลักสำหรับไคลเอ็นต์ Bitcoin Core โซลูชันนี้ขยายขีดความสามารถด้วยการแยกข้อมูลธุรกรรมออกจากข้อมูลลายเซ็น โซลูชันนี้ยังคงความเข้ากันได้กับเครือข่าย Bitcoin แบบดั้งเดิมและหลีกเลี่ยงการฮาร์ดฟอร์ก
กลไกหลักช่วยเพิ่มขีดจำกัดขนาดบล็อกจาก 1 เมกะไบต์เป็น 4 เมกะไบต์ (ตามสถิติแล้ว คาดว่าขนาดที่เพิ่มขึ้นจริงจะอยู่ที่ 2-2.1 เมกะไบต์) เทคโนโลยีนี้ช่วยเพิ่มพื้นที่ว่างบนเครือข่ายหลักโดยการจัดเก็บลายเซ็นดิจิทัลในบล็อกพยานเพิ่มเติม เทคโนโลยีนี้ช่วยแก้ไขปัญหาความอ่อนตัวของธุรกรรม ปรับปรุงการสร้างตัวระบุธุรกรรมเพื่อป้องกันการโจมตีแบบ double-spending และวางรากฐานสำหรับโปรโตคอลชั้นที่สอง เช่น Lightning Network ในฐานะมาตรฐานไคลเอนต์หลักที่บริษัทส่วนใหญ่ในอุตสาหกรรมใช้ Bitcoin Core ต้องใช้อัตราแฮช 95% ของเครือข่ายเพื่อรองรับการอัปเกรดนี้ แต่อัตราการรองรับจริงยังคงอยู่ระหว่าง 32% ถึง 33.8% อย่างต่อเนื่อง ฝ่ายค้านมุ่งเน้นไปที่ประโยชน์ทางเทคนิคที่เป็นที่ถกเถียงและศักยภาพในการแทรกแซงจากบุคคลที่สามเพื่อลดการกระจายอำนาจของ Bitcoin โปรโตคอลนี้เปิดใช้งานบนเครือข่ายหลัก Bitcoin เมื่อวันที่ 24 สิงหาคม 2017
ที่อยู่ในนั้นคือ P 2 WPKH, P 2 WSH, P 2 SH-P 2 WPKH, P 2 SH-P 2 WPSH และประเภทที่อยู่อื่นๆ อีกหลายประเภท
3. การทำธุรกรรมใน Segregated Witness v2 (Taproot)
เทคโนโลยี Taproot ถูกเสนอขึ้นในเดือนมกราคม 2020 และมีผลบังคับใช้อย่างเป็นทางการในรูปแบบ Soft Fork ในเดือนพฤศจิกายน 2021 การอัปเกรดนี้เป็นการผสมผสานระหว่าง BIP 340, BIP 341 และ BIP 342 โดย BIP 340 ได้นำลายเซ็น Schnorr มาใช้ ซึ่งสามารถตรวจสอบธุรกรรมหลายรายการพร้อมกัน แทนที่อัลกอริทึมลายเซ็นดิจิทัล Elliptic Curve (ECDSA) วิธีนี้ช่วยเพิ่มขีดความสามารถของเครือข่ายและเร่งการประมวลผลธุรกรรมแบบกลุ่ม อำนวยความสะดวกในการใช้งานสัญญาอัจฉริยะที่ซับซ้อน BIP 341 ได้นำ Merkle-based Abstract Syntax Trees (MAST) มาใช้เพื่อเพิ่มประสิทธิภาพการจัดเก็บข้อมูลธุรกรรมบนบล็อกเชน BIP 342 (Tapscript) ใช้ภาษาสคริปต์ของ Bitcoin เพื่อขยายข้อจำกัดของความสามารถในการเขียนสคริปต์ดั้งเดิมของ Bitcoin
ที่อยู่ใน Taproot เป็นประเภทที่อยู่ P 2 TR
4.2. คำจำกัดความเส้นทางการอนุมานที่รู้จักทั่วไป
ก่อนอื่นเรามาทำความเข้าใจเส้นทางการกำเนิดทั่วไปของ Bitcoin ก่อน จากนั้นมาดูเส้นทางการกำเนิดทั่วไปของเครือข่ายอื่นๆ
1. เส้นทางการกำเนิด Bitcoin ทั่วไป
รูปแบบมาตรฐานเส้นทางการอนุมานที่กำหนดไว้ใน BIP คือ: m/purpose'/coin_type'/account'/change/address_index
เส้นทางการอนุมาน Bitcoin ที่พบมากที่สุดนั้นแตกต่างกันตามจุดประสงค์ของฟิลด์ ซึ่งสอดคล้องกับประเภทที่อยู่ที่แตกต่างกัน
(1) BIP 44 - ที่อยู่เดิม (เดิม) (1...)
เส้นทาง: ม./44'/0'/0'/0/0
วัตถุประสงค์: มาตรฐานกระเป๋าสตางค์ HD รุ่นแรก ใช้ในการสร้างที่อยู่ P2PKH โดยเริ่มจาก 1
คุณสมบัติ:
ความเข้ากันได้ดีที่สุด รองรับโดยกระเป๋าสตางค์และการแลกเปลี่ยนทั้งหมด
ค่าธรรมเนียมการทำธุรกรรมสูงที่สุดเนื่องจากปริมาณข้อมูลการทำธุรกรรมมีจำนวนมาก
สถานการณ์การใช้งาน: ปัจจุบันส่วนใหญ่ใช้ในการกู้คืนเงินจากกระเป๋าเงินเก่ามากหรือเติมเงินเข้าแพลตฟอร์มเก่าที่ไม่รองรับประเภทที่อยู่ใหม่
(2) BIP 49 - ที่อยู่ SegWit แบบซ้อนกัน (3...)
เส้นทาง: ม./49'/0'/0'/0/0
วัตถุประสงค์: ใช้เพื่อสร้างที่อยู่ P 2 SH-P 2 WPKH โดยเริ่มต้นด้วย 3
คุณสมบัติ:
ทำได้โดยการห่อที่อยู่ SegWit ไว้ในสคริปต์ P2SH
ค่าธรรมเนียมธุรกรรมต่ำกว่า Legacy แต่สูงกว่า Native SegWit
ความเข้ากันได้นั้นดีมาก และกระเป๋าสตางค์และการแลกเปลี่ยนเกือบทั้งหมดรองรับการรับและส่งไปยังที่อยู่ที่เริ่มต้นด้วย 3
กรณีการใช้งาน: ในช่วงแรกของการส่งเสริม SegWit SegWit ถือเป็นโซลูชันที่เข้ากันได้ดีกับการเปลี่ยนผ่านไปสู่ Native SegWit ปัจจุบันยังคงได้รับการสนับสนุนอย่างกว้างขวาง
(3) BIP 84 - ที่อยู่ SegWit ดั้งเดิม (bc 1 q...)
เส้นทาง: ม./84'/0'/0'/0/0
วัตถุประสงค์: ใช้เพื่อสร้างที่อยู่ P 2 WPKH ที่เริ่มต้นด้วย bc 1 q
คุณสมบัติ:
ค่าธรรมเนียมการทำธุรกรรมจะต่ำที่สุด เนื่องจากปริมาณข้อมูลการทำธุรกรรมมีขนาดเล็กที่สุด และรูปแบบก็มีประสิทธิภาพมากที่สุด
ความปลอดภัยที่เหมาะสมที่สุด ได้รับประโยชน์อย่างเต็มที่จากข้อได้เปรียบทางเทคนิคของ SegWit
ความเข้ากันได้: ปัจจุบัน กระเป๋าสตางค์ โหนด และแพลตฟอร์มแลกเปลี่ยนส่วนใหญ่ในปัจจุบันรองรับระบบนี้ อย่างไรก็ตาม ระบบเก่าบางระบบอาจไม่สามารถจดจำระบบนี้ได้
สถานการณ์การใช้งาน: มาตรฐานที่ต้องการและแนะนำในปัจจุบันสำหรับการประหยัดค่าธรรมเนียมและเพลิดเพลินไปกับคุณสมบัติทางเทคนิคล่าสุด
(4) BIP 86 - ที่อยู่ Taproot (P 2 TR) (bc 1 p...)
เส้นทาง: ม./86'/0'/0'/0/0
วัตถุประสงค์: ใช้เพื่อสร้างที่อยู่ P 2 TR โดยเริ่มจาก bc 1 p นี่คือการอัปเกรดครั้งใหญ่ล่าสุดของ Bitcoin
คุณสมบัติ:
ความเป็นส่วนตัวที่ได้รับการปรับปรุง ทำให้การชำระเงินแบบง่ายๆ และธุรกรรมสคริปต์ที่ซับซ้อนดูแทบแยกแยะไม่ออกบนเครือข่าย
ประสิทธิภาพที่สูงขึ้น ให้ความสามารถในการปรับขนาดที่ดีขึ้น และค่าธรรมเนียมที่ต่ำลงสำหรับสัญญาอัจฉริยะที่ซับซ้อน (เช่น Lightning Network, DLC)
อัลกอริทึมลายเซ็น (Schnorr Signatures) มีประสิทธิภาพมากขึ้นและรองรับการรวมคีย์
สถานการณ์การใช้งาน: แสดงถึงทิศทางการพัฒนาในอนาคตของ Bitcoin และเหมาะสำหรับผู้ใช้และแอปพลิเคชันที่ต้องการใช้เทคโนโลยีล่าสุด แสวงหาค่าธรรมเนียมที่ต่ำลงและความเป็นส่วนตัวที่ดีขึ้น
(5) เส้นทางการอนุมานที่ใช้ในเทคโนโลยี RGB
หากเหรียญถูกกำหนดตามมาตรฐานโปรโตคอล BIP-44 และโปรโตคอล SLIP-44 ตามมาตรฐานโปรโตคอล RGB-0044 วัตถุประสงค์คือ 84 เส้นทางการอนุมานอย่างเป็นทางการของ RGB มีดังนี้: m_type/84'

นอกจากนี้ ผู้เขียนยังได้ศึกษาเว็บไซต์อย่างเป็นทางการของ RGB และใช้เส้นทางการอนุมานของ m/9735'/ ตามคำอธิบายใน LNPBP-46: การอนุมาน LN เนื้อหาที่เกี่ยวข้องโดยเฉพาะมีดังนี้:

หมายเหตุ: มาตรฐานเฉพาะที่จะใช้ต้องมีการค้นคว้าเพิ่มเติมเกี่ยวกับแอปพลิเคชันที่เกี่ยวข้องและเอกสารโปรโตคอล RGB
(6) เส้นทางสำคัญอื่นๆ
เส้นทางรูท BIP 32: m/0' (หรือบางครั้งเป็น m/0) การใช้งานรุ่นเก่าบางรุ่นหรือกระเป๋าสตางค์ที่ไม่ได้มาตรฐานอาจใช้เส้นทางนี้โดยตรง แต่ไม่แนะนำให้ใช้อย่างยิ่งเนื่องจากไม่ตรงตามมาตรฐานหลายสกุลเงินและหลายบัญชี
เส้นทางกระเป๋าเงินแบบหลายลายเซ็น: สำหรับกระเป๋าเงินแบบหลายลายเซ็น ผู้ร่วมมือแต่ละคนมักใช้เส้นทางมาตรฐานของตนเอง (เช่น m/48'/0'/0'/2') เพื่อสร้างคีย์สาธารณะสำหรับกระเป๋าเงินแบบหลายลายเซ็น โดยทั่วไปแล้วซอฟต์แวร์กระเป๋าเงินที่ประสานงานกับกระเป๋าเงินแบบหลายลายเซ็น (เช่น Electrum, Specter) จะจัดการเส้นทางนี้ และผู้ใช้ทั่วไปไม่จำเป็นต้องจัดการด้วยตนเอง
เส้นทาง Testnet: เพียงเปลี่ยน coin_type ในเส้นทางด้านบนจาก 0' เป็น 1' ตัวอย่างเช่น เส้นทาง Testnet Native SegWit คือ: m/84'/1'/0'/0/0

2. ต่อไปนี้เป็นรายชื่อสกุลเงินหลักบางส่วนและเส้นทางการกำเนิดทั่วไป
(1) เชนที่เข้ากันได้กับ Ethereum และ EVM (BSC, Polygon, Avalanche C-Chain เป็นต้น)
Ethereum และเครือข่ายอนุพันธ์จำนวนมากมี coin_type เดียวกันเนื่องจากใช้การเข้ารหัส (secp 256k1 curve) และรูปแบบที่อยู่แบบเดียวกัน
เส้นทาง: ม./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) Binance Coin (BNB) Beacon Chain
BNB มีระบบโซ่และที่อยู่อิสระของตัวเอง ซึ่งแตกต่างจากโซ่ EVM
เส้นทาง: ม./44'/714'/0'/0/0
ประเภทเหรียญ: 714'
รูปแบบที่อยู่: bnb 1... (Bech 32) หรือ tbnb 1... (testnet)
คำอธิบาย: ใช้สำหรับสินทรัพย์ BNB บน Binance Chain
(3) ลายจุด
เส้นทาง: ม./44'/354'/0'/0/0
ประเภทเหรียญ: 354'
รูปแบบที่อยู่: อิงตามรูปแบบ SS 58 โดยปกติจะเริ่มต้นด้วย 1
(4) โซลานา
เส้นทาง: ม./44'/501'/0'/0'
ประเภทเหรียญ: 501'
หมายเหตุ: โปรดทราบว่าเส้นทางของ Solana จะใช้อนุพันธ์ 0 ที่แข็งแกร่งขึ้นในตอนท้าย แทนที่จะเป็น 0 ทั่วไป นี่เป็นแนวทางปฏิบัติมาตรฐาน
(5) คาร์ดาโน
เส้นทางการอนุมานของ Cardano ค่อนข้างพิเศษและซับซ้อน และขึ้นอยู่กับโซลูชัน BIP 44-ADA ของตัวเอง
เส้นทาง: m/1852'/1815'/0'/0/0
วัตถุประสงค์: 1852' (ออกแบบมาโดยเฉพาะสำหรับ Cardano)
ประเภทเหรียญ: 1815' (ปีที่ ADA ถือกำเนิด)
รูปแบบที่อยู่ : ที่อยู่ 1... (เบค 32)
หมายเหตุ: นี่เป็นเส้นทางมาตรฐานที่ใช้โดยกระเป๋าเงิน Daedalus และ Yoroi
(6) ริปเปิล (XRP)
เส้นทาง: ม./44'/144'/0'/0/0
ประเภทเหรียญ: 144'
รูปแบบที่อยู่: ร... (ฐาน 58)
(7) ไลท์คอยน์
Litecoin เช่นเดียวกับ Bitcoin มีประเภทที่อยู่หลายประเภทเช่นกัน
เลกาซี (L...): m/44'/2'/0'/0/0
SegWit (ม...): ม./49'/2'/0'/0/0
SegWit ดั้งเดิม (ltc 1 q...): m/84'/2'/0'/0/0
ประเภทเหรียญ: 2'
(8) โดเจคอยน์
เส้นทาง: ม./44'/3'/0'/0/0
ประเภทเหรียญ: 3'
รูปแบบที่อยู่: D... (ฐาน 58)
(9) ทรอน
เส้นทาง: ม./44'/195'/0'/0/0
ประเภทเหรียญ: 195'
รูปแบบที่อยู่: T... (ฐาน 58)
3. สถานการณ์ที่ไม่เป็นมาตรฐานหรือเป็นข้อยกเว้น
(1) โมเนโร
Monero ไม่ได้ใช้มาตรฐาน BIP 32/BIP 44 แต่มีรูปแบบกระเป๋าสตางค์แบบกำหนดลำดับชั้นของตัวเอง ซึ่งใช้การเข้ารหัส (เส้นโค้ง Ed 25519) และโครงสร้างคีย์ที่แตกต่างกัน
เส้นทางที่ได้มามีลักษณะดังนี้: m/44'/128'/0' (แต่ไม่ใช่เส้นทาง BIP 32 มาตรฐาน)
สำคัญ: คุณไม่สามารถใช้วลีการกู้คืนที่ออกแบบมาสำหรับ Bitcoin/Ethereum เพื่อกู้คืนเงินโดยตรงจากกระเป๋าเงิน Monero และในทางกลับกัน การกู้คืนกระเป๋าเงิน Monero ต้องใช้วลีและระบบการกู้คืนของ Monero เอง
(2) เส้นทางคลาสสิกของ Ethereum สำหรับกระเป๋าสตางค์ฮาร์ดแวร์
กระเป๋าเงินฮาร์ดแวร์บางตัว เช่น Ledger มีเส้นทางแยกสำหรับ Ethereum Classic (ETC) เพื่อแยกความแตกต่างจาก Ethereum (ETH) แม้ว่ารูปแบบที่อยู่ของกระเป๋าเงินจะเหมือนกันก็ตาม
อีเธอเรียม (ETH): m/44'/60'/0'/0/0
Ethereum Classic (ETC): m/44'/61'/0'/0/0

4.3 การปกป้องความเป็นส่วนตัวและการใช้งานหลายที่อยู่
Bitcoin มีปรากฏการณ์เฉพาะตัวที่เรียกว่า "การเปลี่ยนแปลงที่อยู่" หรือกล่าวอีกนัยหนึ่งคือ โมเดลบล็อกเชนใดๆ ที่ใช้โมเดล UTXO ก็มีลักษณะเช่นนี้ การทำความเข้าใจ "การเปลี่ยนแปลงที่อยู่" จำเป็นต้องเข้าใจประเด็นสำคัญสามประการ:
1. โมเดล UTXO (เอาท์พุตธุรกรรมที่ไม่ได้ใช้)
นี่คือโมเดลบัญชีแยกประเภทหลักของ Bitcoin ซึ่งแตกต่างจากโมเดลยอดคงเหลือในบัญชีแบบดั้งเดิม
หลักการพื้นฐาน: เครือข่าย Bitcoin ไม่ได้บันทึก "ยอดคงเหลือ" ของคุณ แต่จะบันทึก "เช็ค" ที่ยังไม่ได้ใช้ (UTXO) เช็คเหล่านี้มีมูลค่าที่แตกต่างกัน และจะถูกทำลายเมื่อถูกใช้ไปและมีการสร้างเช็คใหม่ขึ้นมา
ขั้นตอนการทำธุรกรรม: เมื่อคุณชำระเงิน คุณต้องนำ "เช็ค" (รายการอินพุต) หนึ่งรายการหรือมากกว่าออกจากกระเป๋าเงินของคุณ โดยมูลค่ารวมของเช็คต้องมากกว่าหรือเท่ากับจำนวนเงินที่คุณต้องการชำระ ธุรกรรมจะสร้าง "เช็ค" ใหม่สองรายการ:
ส่วนที่หนึ่งสำหรับผู้รับเงิน: มูลค่าจะเท่ากับจำนวนเงินที่ชำระ
หนึ่งสำหรับตัวคุณเอง (เปลี่ยน): มูลค่าเท่ากับ (ยอดรวมที่ป้อน - จำนวนเงินที่ชำระ - ค่าธรรมเนียมธุรกรรม)
ประเด็นสำคัญ: การเปลี่ยนแปลงคือผลลัพธ์ใหม่ (UTXO) ที่จ่ายให้กับคุณ ไม่มีความแตกต่างในโครงสร้างธุรกรรมจากผลลัพธ์ที่คุณจ่ายให้กับผู้อื่น
หมายเหตุ: คำว่า "เช็ค" ในที่นี้ใช้แทนคำว่า "เงินสด" (ซึ่งมักพิมพ์ด้วยจำนวนเงินคงที่) เนื่องจากจำนวนเงินบนเช็คเป็นแบบสุ่มและอาจแตกต่างกันไปในแต่ละเช็ค ซึ่งสอดคล้องกับสถานการณ์ UTXO ใน Bitcoin มากกว่า คำว่า "เช็ค" และ "เงินสด" มักใช้แทนกันเพื่อสื่อความหมายเดียวกัน
2. การปกป้องความเป็นส่วนตัวโดยการออกแบบ
การใช้ที่อยู่คงที่อาจส่งผลต่อความเป็นส่วนตัวได้อย่างมาก
ปัญหาการนำที่อยู่กลับมาใช้ใหม่: หาก UTXO ทั้งหมด (รวมถึงการเปลี่ยนแปลง) กลับไปยังที่อยู่เดียวกัน หน่วยงานวิเคราะห์บล็อคเชนหรือบุคลากรสามารถดำเนินการต่อไปนี้ได้อย่างง่ายดาย:
เชื่อมโยงธุรกรรมทั้งหมดของคุณ: ทราบกระแสเงินทั้งหมดเบื้องหลังที่อยู่นี้
ประเมินความมั่งคั่งของคุณ: ดูรายได้ทั้งหมดของคุณอย่างชัดเจน
ทำลายชุดการไม่เปิดเผยตัวตน: ไม่สามารถผสมธุรกรรมของบุคคลอื่นเข้ากับของคุณได้
วิธีแก้ปัญหา: ใช้ที่อยู่ใหม่เอี่ยมสำหรับการเปลี่ยนแปลงในการทำธุรกรรมแต่ละครั้ง วิธีนี้ทำให้ผู้สังเกตการณ์ภายนอกไม่สามารถระบุได้ว่าผลลัพธ์ใดในธุรกรรมที่จ่ายให้กับผู้ค้า และผลลัพธ์ใดเป็นเงินทอนที่ส่งคืนให้คุณ วิธีนี้จะเพิ่มความยากลำบากในการวิเคราะห์บล็อกเชนอย่างมาก และช่วยปกป้องความเป็นส่วนตัวทางการเงินของคุณ
3. การใช้งานทางเทคนิคของ HD Wallet (Hierarchical Deterministic Wallet)
การจัดการที่อยู่ใหม่และคีย์ส่วนตัวด้วยตนเองสำหรับการเปลี่ยนแปลงแต่ละครั้งนั้นไม่สามารถทำได้ ดังนั้นกระเป๋าสตางค์ HD จะทำให้กระบวนการนี้เป็นแบบอัตโนมัติ
โครงสร้างโซ่: กระเป๋าเงิน HD สามารถสร้างที่อยู่และคีย์ส่วนตัวจากเมล็ดพันธุ์ได้แทบไม่จำกัด (ช่วยจำ)
เส้นทางที่ได้มา: ตามที่เราได้หารือกันก่อนหน้านี้ เส้นทางมาตรฐาน m/44'/0'/0'/1/* ถูกใช้โดยเฉพาะสำหรับการเปลี่ยนแปลง (การเปลี่ยนแปลง = 1)
m/44'/0'/0'/0/*: ใช้เพื่อสร้างที่อยู่รับ (ลิงก์ภายนอก)
m/44'/0'/0'/1/*: ใช้เพื่อสร้างที่อยู่การเปลี่ยนแปลง (ห่วงโซ่ภายใน)
เวิร์กโฟลว์:
เมื่อซอฟต์แวร์กระเป๋าเงินของคุณสร้างธุรกรรม หากจำเป็นต้องมีการเปลี่ยนแปลง ระบบจะนำธุรกรรมนั้นจาก "กลุ่มที่อยู่สำหรับการเปลี่ยนแปลง" ภายใน (/1/*) โดยอัตโนมัติเป็นที่อยู่สำหรับรับการเปลี่ยนแปลง ที่อยู่ถัดไปที่ไม่เคยถูกใช้
หลังจากธุรกรรมได้รับการออกอากาศและได้รับการยืนยันแล้ว การเปลี่ยนแปลงใหม่ UTXO จะถูกบันทึกภายใต้ที่อยู่ใหม่นี้
ครั้งต่อไปที่คุณใช้จ่ายเงิน กระเป๋าสตางค์ของคุณจะสแกน UTXO ทั้งหมดในทั้งเครือข่ายการรับและการแลกเปลี่ยน และใช้เป็น "อินพุต" ที่พร้อมใช้งาน คุณไม่จำเป็นต้องจัดการด้วยตนเอง กระเป๋าสตางค์จะจัดการทุกอย่างโดยอัตโนมัติ
กล่าวโดยสรุป การเปลี่ยนแปลงที่อยู่คือผลลัพธ์ที่หลีกเลี่ยงไม่ได้จากการรวมกันของ [ , ] และ [ ] ไม่ใช่ทางเลือก แต่เป็นพฤติกรรมมาตรฐานของกระเป๋าเงิน Bitcoin ข้อกำหนดการปกป้องความเป็นส่วนตัวของโมเดล UTXO เทคโนโลยีกระเป๋าเงิน HD
ใช้ Blockchain Explorer: ค้นหาธุรกรรมจริง (เช่น ธุรกรรมจากกระเป๋าเงินของคุณเอง) และดูรายละเอียดได้ที่ mempool.space หรือ blockstream.info ลองวิเคราะห์อินพุตและเอาต์พุตของธุรกรรมนั้น แล้วลองเดาดูว่าอันไหนคือเอาต์พุตการชำระเงินและอันไหนคือเอาต์พุตเงินทอน (โดยปกติแล้วเอาต์พุตเงินทอนจะชี้ไปยังที่อยู่ใหม่ของผู้ส่ง)
ใช้กระเป๋าเงินทดสอบ: สร้างกระเป๋าเงินใหม่บนเครือข่ายทดสอบ ดำเนินการส่งและรับสองสามครั้ง จากนั้นสังเกตว่ารายการที่อยู่ในกระเป๋าเงินของคุณเปลี่ยนแปลงไปอย่างไร และ UTXO ถูกสร้างและใช้ไปอย่างไร
อ้างอิง
1. https://learnmeabitcoin.com/ เป็นเว็บไซต์ที่ยอดเยี่ยมสำหรับการเรียนรู้เกี่ยวกับ Bitcoin
2. BIP 32: กระเป๋าสตางค์แบบกำหนดลำดับชั้น 11 กุมภาพันธ์ 2555, https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki
3. BIP 39: รหัสช่วยจำสำหรับการสร้างคีย์แบบกำหนดได้ 10 กันยายน 2556, https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
4. BIP 44: ลำดับชั้นหลายบัญชีสำหรับกระเป๋าสตางค์แบบกำหนดได้ 24 เมษายน 2557 https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki
5. BIP 43: ฟิลด์จุดประสงค์สำหรับกระเป๋าสตางค์แบบกำหนดได้ 24 เมษายน 2557, https://github.com/bitcoin/bips/blob/master/bip-0043.mediawiki
6. SLIP-0044: ประเภทเหรียญที่ลงทะเบียนสำหรับ BIP-0044, 9 กรกฎาคม 2557, https://github.com/satoshilabs/slips/blob/master/slip-0044.md
7. BIP 11: ธุรกรรมมาตรฐาน M-of-N, 18 ตุลาคม 2554, https://github.com/bitcoin/bips/blob/master/bip-0011.mediawiki
8. BIP 13: รูปแบบที่อยู่สำหรับ pay-to-script-hash, 18 ตุลาคม 2554, https://github.com/bitcoin/bips/blob/master/bip-0013.mediawiki
9. BIP 16: จ่ายให้กับสคริปต์แฮช 3 ม.ค. 2555, https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki
10. BIP 49: รูปแบบการสร้างอนุพันธ์สำหรับบัญชี P 2 WPKH ที่ซ้อนกันใน P 2 SH 19 พฤษภาคม 2559 https://github.com/bitcoin/bips/blob/master/bip-0049.mediawiki
11. BIP 84: รูปแบบการอนุมานสำหรับบัญชีที่ใช้ P 2 WPKH, 28 ธันวาคม 2017, https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki
12. BIP 86: การหาคีย์สำหรับเอาต์พุต P 2 TR คีย์เดียว 22 มิถุนายน 2564 https://github.com/bitcoin/bips/blob/master/bip-0086.mediawiki
13. BIP 173: รูปแบบที่อยู่ฐาน 32 สำหรับเอาต์พุตพยานดั้งเดิม v 0-16, 20 มีนาคม 2017, https://github.com/Roasbeef/bips/blob/bip-tap/bip-0173.mediawiki
14. BIP 350: ที่อยู่สำหรับ P 2 WPKH และ P 2 WSH ใน Bech 32 ม. 2020-12-16, https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki
15. BIP 141: พยานที่แยกออกจากกัน, 16 ธันวาคม 2020, https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki
- 核心观点:详解比特币地址生成原理与协议演进。
- 关键要素:
- 非对称加密与哈希算法是基础。
- BIP协议规范地址生成与派生。
- 地址类型从P2PKH演进至P2TR。
- 市场影响:提升钱包安全与交易效率。
- 时效性标注:长期影响。


