สาธิตกุญแจส่วนตัวและวลีกู้คืน

ทำความเข้าใจโครงสร้างกุญแจส่วนตัว Bitcoin WIF และวลีกู้คืน BIP39 โดยใช้เฉพาะตัวอย่างเพื่อการเรียนรู้

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

ตัวอย่างรูปแบบแบบสุ่ม

ปุ่มนี้ใช้อินเทอร์เฟซสร้างเลขสุ่มเชิงวิทยาการเข้ารหัสของเบราว์เซอร์เพื่อสร้างจำนวนขนาด 32 ไบต์ที่อยู่ในช่วง secp256k1 การสร้างแต่ละครั้งจะแทนที่ผลก่อนหน้า ตัวอย่างจะไม่ถูกบันทึก ไม่อัปโหลด และไม่เชื่อมต่อเครือข่าย

ยังไม่ได้สร้างตัวอย่าง

ทำไมกุญแจส่วนตัวจึงมี 64 อักขระ?

กุญแจส่วนตัวทั่วไปของ Bitcoin และ Ethereum แสดงเป็นจำนวนเต็มขนาด 32 ไบต์ได้ แต่ละไบต์เขียนเป็นอักขระฐานสิบหกสองตัว รวม 64 หลัก เครื่องมือ Ethereum มักเติม 0x ไว้ด้านหน้า ซึ่งเป็นคำนำหน้าสำหรับแสดงผล ไม่ใช่ส่วนหนึ่งของกุญแจ ค่าที่ถูกต้องต้องมากกว่าศูนย์และน้อยกว่าอันดับของกรุป secp256k1 ข้อมูล Hex 64 หลักจึงไม่ได้เป็นกุญแจส่วนตัวที่ถูกต้องเสมอไป

WIF ไม่ใช่การเข้ารหัสลับ

Bitcoin WIF เข้ารหัสข้อมูลไบต์เวอร์ชัน กุญแจส่วนตัว 32 ไบต์ เครื่องหมาย 01 สำหรับกุญแจสาธารณะแบบบีบอัดซึ่งอาจมีหรือไม่ก็ได้ และรหัสตรวจสอบสี่ไบต์ เป็น Base58Check ไบต์เวอร์ชันของเครือข่ายหลักคือ 80 (ฐานสิบหก) รูปแบบบีบอัดมักขึ้นต้นด้วย K หรือ L ส่วนแบบไม่บีบอัดมักขึ้นต้นด้วย 5 เครื่องหมายบีบอัดระบุรูปแบบกุญแจสาธารณะ ไม่ได้หมายถึงการบีบอัดกุญแจส่วนตัว

เวอร์ชัน 80กุญแจส่วนตัว 32 ไบต์เครื่องหมาย 01รหัสตรวจสอบ 4 ไบต์Base58Check

WIF สามารถแปลงกลับเป็นกุญแจส่วนตัวได้ และไม่มีการป้องกันด้วยรหัสผ่าน การได้ WIF ไปเท่ากับได้กุญแจที่ตรงกันไปด้วย

BIP39: จากเลขสุ่มสู่คำ

BIP39 รวมเอนโทรปีแบบสุ่มกับบิตตรวจสอบ แล้วนำทุก 11 บิตไปจับคู่กับคำในรายการ 2048 คำ ชุด 12 คำตรงกับเอนโทรปี 128 บิตและบิตตรวจสอบ 4 บิต ชุด 24 คำตรงกับเอนโทรปี 256 บิตและบิตตรวจสอบ 8 บิต ความยาวมาตรฐานอื่น ๆ ได้แก่ 15, 18 และ 21 คำ

ตารางเทียบโครงสร้าง BIP39
จำนวนคำจำนวนบิตเอนโทรปีบิตตรวจสอบ
121284
151605
181926
212247
242568

เวกเตอร์ทดสอบสาธารณะ: ชุดคำด้านล่างเป็นที่รู้กันทั่วไป ห้ามใช้รับเงินโดยเด็ดขาด

abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about

ชุดนี้ตรงกับเอนโทรปีทดสอบ 128 บิตที่เป็นศูนย์ทั้งหมด วลีกู้คืนร่วมกับวลีรหัสผ่านเพิ่มเติมซึ่งอาจมีหรือไม่ก็ได้ จะผ่าน PBKDF2-HMAC-SHA512 (ทำซ้ำ 2048 รอบ) เพื่อสร้างซีดขนาด 64 ไบต์ จากนั้นกระเป๋าเงินสร้างกุญแจตามเส้นทางอนุพันธ์ การตรวจสอบผ่านบอกได้เพียงว่าโครงสร้างถูกต้อง ไม่ได้พิสูจน์ว่ามีความสุ่มเพียงพอ แหล่งที่มาปลอดภัย หรือมีสินทรัพย์ วลีรหัสผ่านต่างกันจะสร้างซีดต่างกัน และการพิมพ์ผิดก็อาจได้กระเป๋าเงินอีกใบที่ถูกต้องเช่นกัน

คำแนะนำการใช้งานออฟไลน์

  1. ดาวน์โหลด HTML ของเว็บไซต์และไดเรกทอรี assets ให้ครบถ้วน และตรวจสอบแหล่งดาวน์โหลด
  2. ตัดการเชื่อมต่อเครือข่าย แล้วเปิดหน้านี้จากไฟล์บนอุปกรณ์ สคริปต์ที่จำเป็นทั้งหมดมาพร้อมเว็บไซต์
  3. ใช้เฉพาะตัวอย่างในหน้านี้ อย่าวางความลับจริงในช่องป้อนข้อมูลอื่น
  4. ควรสร้างกระเป๋าเงินจริงในกระเป๋าเงินหรืออุปกรณ์ฮาร์ดแวร์ที่เชื่อถือได้ และสำรองข้อมูลออฟไลน์ตามขั้นตอนของอุปกรณ์ การออฟไลน์เพียงอย่างเดียวไม่สามารถแก้ไขโปรแกรมที่ถูกดัดแปลงได้

อ้างอิง:ข้อกำหนด BIP39คำอธิบายการเข้ารหัสข้อมูล WIF