ถ้าความต้องการของคุณคือไม่อยากทิ้งร่องรอย Footprint ของการสร้าง Seed คุณไม่จำเป็นต้องเสียตังค์ ไม่ต้องเสียเวลารอของ ไม่ต้องออกแรงทุบแรงเจาะให้เมื่อยตุ้ม แค่มีมือกับหัวสมองก็สามารถสร้างคำจากเหรียญ ลูกเต๋า เลขหน้ากระดาษ หรืออะไรก็ได้ที่ใช้สุ่มได้ดีกว่า ว่าแล้วก็มาดูวิธีการสร้าง Seed แบบง่ายสุด ๆ กัน
สิ่งที่ต้องใช้ในการสร้าง Seed ง่าย ๆ ด้วยตัวเอง
- อะไรก็ได้ที่สุ่มได้
- เครื่องคอมพิวเตอร์ที่รัน Python ได้
- กระดาษ
- ดินสอ / ปากกา
- ไฟแช็ก / ไม้ขีด / เหล็กจุดไฟ / หินจุดไฟ / ไม้คันธนูจุดไฟ อย่างใดอย่างหนึ่ง (Optional)
วิธีการสุ่ม Seed
หลักการคือเราจะทำการสุ่มคำทั้งหมด 23 คำจากในพจนานุกรม bip-39 ที่มีคำทั้งหมด 2,048 คำ เพราะฉะนั้นสุ่มยังไงก็ได้ถึง 2,048 ตัวเลือกก็เป็นใช้ได้ ง่ายไหม? (คำตอบคือโคตรง่ายครับ!) โดยคำที่ 24 ที่เป็น Checksum เดี๋ยวเราไปเอา Code มาช่วยคำนวณแล้วกัน
เริ่มเลยละกัน
ไปดาวน์โหลด bip-39 ฉบับภาษาอังกฤษมาลงไว้ในเครื่องก่อน คลิกที่นี่เพื่อดาวน์โหลด หรือถ้าอยากได้ภาษาอื่นก็เข้าไปดาวน์โหลดมาเอง Repo เดียวกันนี่แหละ
วิธีแรกในการสร้าง Seed คือการโยนหัวก้อย
เราจะมาโยนกันทีละเหรียญ แล้วคำนวณกันแบบนี้ คือสมมติกำหนดให้ถ้าออกหัว = 0 และถ้าออกก้อย = 1 หรือใครจะโยนทีละ 11 เหรียญก็ได้ ไม่มีปัญหาอะไร
ผลรวมที่ได้คือ 866 แล้วเอาไป +1 (เพราะจะเริ่มนับคำแรกที่เลข 1 ถ้าจะเริ่มนับจากคำแรกที่เลข 0 ก็ไม่ต้องบวก) = 867 จากนั้นไปเปิดพจนานุกรม bip-39 แล้วลากไปที่บรรทัด 867 ได้เลย
เมื่อเทียบแล้วจะได้คำว่า “hobby” ก็จดไว้ แล้วทำซ้ำต่อไปเรื่อย ๆ จนได้ครบ 23 คำ
วิธีอื่น ๆ ในการสร้าง Seed แบบง่าย ๆ
- คุณจะโยนลูกเต๋า 6 หน้า หรือเปิดหนังสือแล้วนับเลขคู่ = 0 เลขคี่ = 1 แล้วจดคำตามวิธีแรกก็ได้
- หรือจะเปิดหนังสือ 2,048 หน้า
- หรือไปหาเต๋า 2,048 หน้ามา
- หรือพรินต์คำออกมา 2,048 คำแล้วโปรยสุ่มหยิบเหมือนชิงโชคในรายการทีวีสมัยก่อนเลยก็ได้
เพราะที่จริงแล้วมันก็ใช้หลักการสุ่มแบบเดียวกัน คือสุ่มให้ได้จำนวนเท่ากับ Sample ตามที่เราวางไว้ 2,048 ความน่าจะเป็น แล้วทำให้ครบ 23 คำถือเป็นอันใช้ได้
ขั้นตอนต่อไปคือคำที่ 24 หรือ Checksum
สมมุติว่าได้ทั้ง 23 คำมาแล้วคือ “hobby control vehicle tonight unusual clog visa ice plunge glimpse recipe series open hour vintage deposit universe tip job dress radar refuse motion”
จากนั้นไป Clone หรือดาวน์โหลด Repo จาก https://github.com/4rmx/Bip39-Dice.git มา โดยผมได้ Fork มาจาก https://github.com/veebch/Bip39-Dice เพื่อแก้โค้ดจากที่ต้องเขียนใส่ไฟล์ rolls.txt มาเป็นการพิมพ์ด้วยคีย์บอร์ดแทน เราจะได้ไม่ต้องไปเจาะฮาร์ดดิสก์กัน (หรือเผื่อใครไม่ชอบของผมก็ไปใช้ของเขาได้ไม่ว่ากัน)
และแล้วก็ได้เวลาชักปลั๊ก ปิดอินเทอร์เน็ต ปิด Wi-Fi ปิด Bluetooth ปิดไฟ หรือถอดปลั๊กอะไรก็ตามที่คิดว่ามันพร้อมจะแฮ็กข้อมูลคุณออกไปได้เลยตามอัธยาศัย
จากนั้นให้เข้าไปที่ Path ที่คุณ Clone มา (หรือกรณีคุณดาวน์โหลดมาก็แตกไฟล์ Zip ให้เรียบร้อย) ในทีนี้ของผมชื่อโฟลเดอร์ “Bip39-Dice” พิมพ์คำสั่งรันไฟล์ 24thword.py ของผมเป็น python3 ผมก็พิมพ์ “python3 24thword.py” แล้วเริ่มกรอกไปทีละคำ แล้วกดปุ่ม Enter ไปจนครบ 23 คำที่ทำไว้
หลังจากพิมพ์ครบจะได้ผลลัพธ์แบบนี้ เพื่อความฟินอย่าลืมเช็กคำกับตำแหน่งให้เรียบร้อยถูกต้องตรงกับที่เราสุ่มมา
ผ่ามมม!!! แล้วเราก็จะได้ Candidate ของคำที่ 24 หรือ Checksum มาอีก 8 คำ (แบบที่ไม่ต้องรอ สว. มาเลือกให้ด้วยนะ) ซึ่งสามารถใช้การโยนหัว/ก้อย 3 ครั้งแบบตารางข้างบนเพื่อสุ่ม 8 ความน่าจะเป็น หรือเลือกสุ่มเองด้วยวิธีอะไรก็ได้ จากนั้นเราก็จะได้ Mnemonic Seed จำนวน 24 คำที่ตรงตามมาตรฐาน bip-39 มาเป็นของตัวเองแล้ว
ถึงเวลากดปุ่ม Reset คอมพิวเตอร์ หรือจะปิดเครื่องทิ้งไว้แล้วถอดปลั๊กไฟออกก็ได้ เพื่อให้แน่ใจว่าความจำใน Memory มันจะได้หายหมดจริง ๆ ก่อนจะนำเครื่องไปทำอย่างอื่นต่อ
ส่วน Seed ที่ได้มา จะเอาไปเก็บรักษาด้วยวิธีอะไร จะตอกใส่แผ่นเหล็ก เก็บไว้ในตู้เซฟ หรือฝังดินก็แล้วแต่ตามศรัทธา แต่อย่าลืมทำลายกระดาษทดของเราด้วยนะ จะเผาไฟหรือฉีกกินวันละคำเพื่อให้จำได้ อันนี้ก็แล้วแต่ศรัทธาอีกเช่นกันครับ!
One comment
[…] blockchain โดยนอกจากจะใช้สร้าง Seed […]