ไข่ส้มวิทยา ไข่ส้มวิทยา
หมวดที่ 3: ธุรกรรมและกุญแจดิจิทัล • ตอนที่ 18

กุญแจส่วนตัว (Private Keys) เจาะลึก: ตัวเลขสุ่มตัวเดียว ใหญ่แค่ไหน สุ่มยังไงให้ปลอดภัย ทำไมไม่มีใครเดาถูก

เจาะลึกขนาดตัวเลข 256 บิต ความกว้างของพื้นที่สุ่ม และเหตุผลที่ไม่มีใครสามารถเดากุญแจซ้ำได้

#Bitcoinมือใหม่ #PrivateKey #256bit #Entropy
สไลด์ปกตอนที่ 18: กุญแจส่วนตัว (Private Keys) เจาะลึก: ตัวเลขสุ่มตัวเดียว ใหญ่แค่ไหน สุ่มยังไงให้ปลอดภัย ทำไมไม่มีใครเดาถูก
🔍 แตะเพื่อขยายรูป
สไลด์ประกอบบทเรียนตอนที่ 18 — แตะเพื่อดูแบบเต็มจอ

ตอนที่ 17 เราแยกให้ชัดแล้วว่า กุญแจส่วนตัว (Private Key), กุญแจสาธารณะ (Public Key) และที่อยู่ (Address) ต่างกันอย่างไร และทั้งหมดเริ่มต้นที่ กุญแจส่วนตัว ซึ่งเราบอกไว้ว่าเป็นเพียง “ตัวเลขสุ่ม”

วันนี้เราจะมาซูมเจาะดูตัวเลขตัวนี้กันครับว่า มันคืออะไร ใหญ่โตแค่ไหน และทำไมการสุ่มตัวเลขธรรมดา ๆ ถึงกลายเป็นปราการด่านสำคัญที่แข็งแกร่งที่สุดของบิทคอยน์!

🔑 ทำไมบิทคอยน์ถึงไม่ให้เราตั้งรหัสผ่านเอง?

เวลาเราสมัครใช้งานบริการต่าง ๆ สิ่งแรกที่เรามักทำคือตั้งรหัสผ่านจากวันเกิด เบอร์โทรศัพท์ หรือคำศัพท์ที่เราคุ้นเคย ปัญหาใหญ่คือ สิ่งที่มนุษย์ “จำง่าย” มักเป็นสิ่งที่คอมพิวเตอร์ “เดาง่าย” เสมอ

บิทคอยน์จึงแก้ปัญหานี้ด้วยวิธีตรงกันข้ามสุดขั้ว: ไม่ให้มนุษย์ตั้งรหัสเองเลยแม้แต่คนเดียว! แต่บังคับให้ใช้คอมพิวเตอร์สุ่มตัวเลขขนาดมหึมาขึ้นมา ซึ่งไม่มีความหมาย ไม่มีรูปแบบ และไม่มีเรื่องราวใด ๆ ให้ใครเดาได้เลย ตัวเลขสุ่มตัวนั้นแหละครับคือ กุญแจส่วนตัว (Private Key)

🔢 กุญแจส่วนตัว (Private Key) คืออะไรกันแน่?

กุญแจส่วนตัวคือ ตัวเลขจำนวนเต็มบวกขนาดใหญ่มาก ๆ ตัวหนึ่ง และเพราะมันคือตัวเลข เราจึงสามารถเขียนมันได้หลายรูปแบบ:

  • เลขฐานสอง (Binary): ชุดตัวเลข 0 และ 1 จำนวน 256 ตัว ซึ่งเป็นวิธีที่คอมพิวเตอร์จัดเก็บจริง
  • เลขฐานสิบ (Decimal): ตัวเลขปกติที่เราใช้ในชีวิตประจำวัน
  • เลขฐานสิบหก (Hexadecimal): ใช้ตัวเลข 0-9 ร่วมกับตัวอักษร a-f รวมความยาว 64 ตัวอักษร เพื่อให้สั้นลงและอ่านง่ายขึ้น

ทั้งหมดนี้คือตัวเลขเดียวกัน เหมือนเราเขียนคำว่า “สิบ” หรือ “10” ความหมายและค่าของมันเท่ากันทุกประการครับ

🧩 เลข 256 บิต (256-bit) มันใหญ่โตมโหฬารแค่ไหน?

บิต (Bit) คือหน่วยข้อมูลที่เล็กที่สุด แต่ละตำแหน่งมีค่าได้ 2 แบบคือ 0 หรือ 1 ดังนั้น เลข 256 บิต จึงมีความเป็นไปได้ทั้งหมด: $$2^{256} \approx 1.15 \times 10^{77}\text{ รูปแบบ}$$ นั่นคือเลข 1 ตามด้วยเลขศูนย์อีก 77 ตัว! ขนาดพื้นที่ตัวเลขนี้กว้างใหญ่เกินกว่าจินตนาการของสมองมนุษย์จะเข้าใจได้

🏭 กุญแจถูกสร้างขึ้นมาได้อย่างไร? (การสุ่มที่ไม่มีเวทมนตร์)

ตอนที่เราเปิดใช้งานกระเป๋าเงินบิทคอยน์ครั้งแรก ตัวแอปไม่ได้ทำอะไรซับซ้อนเลยครับ มันเพียงแค่สุ่มตัวเลข 256 บิตขึ้นมา 1 ตัวเท่านั้น

ความจริงคือ เราสามารถสร้างกุญแจส่วนตัวด้วยตัวเองได้หลายวิธี:

  • โยนเหรียญ 256 ครั้ง: ออกหัวจดเป็น 1 ออกก้อยจดเป็น 0 จนครบ 256 ตัว คุณก็จะได้กุญแจส่วนตัวที่ใช้งานได้จริงในบิทคอยน์!
  • ฟังก์ชันสุ่มระดับความปลอดภัยสูง (CSPRNG): ให้ระบบปฏิบัติการสุ่มตัวเลขจากสัญญาณรบกวนทางกายภาพของฮาร์ดแวร์
  • ฟังก์ชันแฮช SHA-256: ป้อนข้อมูลสุ่มขนาดใหญ่เข้าไป แล้วนำผลลัพธ์แฮช 256 บิตมาใช้เป็นกุญแจ

สิ่งสำคัญที่สุดมีเพียงข้อเดียว: ต้องเป็นการสุ่มจริง ๆ (Cryptographically Secure Randomness) เพราะหากระบบสุ่มมีช่องโหว่หรือมีรูปแบบที่คาดเดาได้ ผู้ไม่หวังดีอาจสร้างกุญแจที่ซ้ำกับเราได้

🌍 ไม่ต้องขออนุญาตใคร: การเปิดบัญชีที่ไร้คนกลาง

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

แต่ในบิทคอยน์ “บัญชี” ของเราเกิดขึ้นทันทีที่เราสุ่มตัวเลขสำเร็จบนเครื่องตัวเอง:

  • ไม่ต้องกรอกใบสมัคร
  • ไม่ต้องขออนุญาตใคร
  • ไม่มีคนกลางคอยจัดสรรเลขบัญชี
  • ไม่มีใครในโลกมีอำนาจสั่งระงับหรือปิดกั้นการสร้างกุญแจของเราได้

🤔 ถ้ามีคนบังเอิญสุ่มตัวเลขได้ซ้ำกับเราล่ะ?

ในทางทฤษฎี หากใครสักคนในโลกบังเอิญสุ่มได้ตัวเลขเดียวกันกับเรา เขาก็จะมีสิทธิ์ใช้จ่ายเงินในกระเป๋าของเราได้ทันที

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

ความปลอดภัยของบิทคอยน์จึงไม่ได้พึ่งพา “กฎหมายที่ห้ามใครเดาซ้ำ” แต่พึ่งพา “ความกว้างใหญ่ไพศาลของคณิตศาสตร์” ที่ทำให้การสุ่มซ้ำไม่มีทางเกิดขึ้นได้จริง

📖 เปรียบเทียบให้เห็นภาพ
1. เม็ดทรายในจักรวาล: ลองจินตนาการว่าเรานับเม็ดทรายทุกเม็ดบนโลก ทั้งชายหาด ทะเลทราย และก้นมหาสมุทร แล้วสมมติให้เม็ดทรายแต่ละเม็ดกลายเป็นโลกอีกใบหนึ่งที่มีเม็ดทรายเต็มไปหมด จากนั้นนำเม็ดทรายทั้งหมดมารวมกัน… จำนวนเม็ดทรายมหาศาลนั้น ยังน้อยกว่าจำนวนกุญแจส่วนตัวที่เป็นไปได้ในบิทคอยน์เสียอีก!
2. ที่นั่งในสนามกีฬาขนาดยักษ์: เหมือนเราเดินเข้าไปในสนามกีฬาที่มีที่นั่งมากกว่าจำนวนอะตอมในโลก ไม่มีคนขายตั๋ว เราแค่เลือกเก้าอี้ตัวหนึ่งแล้วนั่งลง โอกาสที่ใครอีกคนจะเดินมาเลือกนั่งทับเก้าอี้ตัวเดียวกับเราแทบไม่มีทางเกิดขึ้นได้เลยครับ

🧠 สรุปวันนี้ จำแค่นี้

  • กุญแจส่วนตัว (Private Key) คือตัวเลขสุ่มขนาด 256 บิต (เขียนได้ทั้งฐาน 2, ฐาน 10 และฐาน 16)
  • พื้นที่ตัวเลขมีมากถึง $2^{256} \approx 1.15 \times 10^{77}$ รูปแบบ ซึ่งกว้างใหญ่เกินกว่าจะสุ่มซ้ำได้
  • สามารถสร้างขึ้นเองได้ง่าย ๆ เพียงแค่สุ่มเลขให้ปลอดภัย เช่น การโยนเหรียญ 256 ครั้ง
  • ไม่มีคนกลางคอยออกบัญชี ทุกคนมีสิทธิ์สร้างกุญแจของตัวเองได้ทันทีโดยไม่ต้องขออนุญาต
  • ความปลอดภัยของบิทคอยน์ตั้งอยู่บนพื้นฐานทางคณิตศาสตร์ ไม่ใช่กฎเกณฑ์ของมนุษย์

🔮 ตอนหน้า:

เรารู้แล้วว่ากุญแจส่วนตัวคือตัวเลขสุ่มธรรมดา ๆ แล้วจากตัวเลขนี้ ระบบแปลงไปเป็น “กุญแจสาธารณะ (Public Key)” ด้วยคณิตศาสตร์แบบไหน และทำไมจึงเดินทางเดียวได้โดยไม่มีใครย้อนกลับได้? ตอนหน้าเราจะมาผ่าดูกลไกข้างในกันครับ!

🖼️ สไลด์ทั้งหมดของตอนนี้ (8 รูป)

สไลด์ประกอบบทเรียนตอนที่ 18 รูปที่ 2สไลด์ประกอบบทเรียนตอนที่ 18 รูปที่ 3สไลด์ประกอบบทเรียนตอนที่ 18 รูปที่ 4สไลด์ประกอบบทเรียนตอนที่ 18 รูปที่ 5สไลด์ประกอบบทเรียนตอนที่ 18 รูปที่ 6สไลด์ประกอบบทเรียนตอนที่ 18 รูปที่ 7สไลด์ประกอบบทเรียนตอนที่ 18 รูปที่ 8
ทบทวนความเข้าใจ

แบบทดสอบท้ายบทเรียน

ตอบคำถาม 3 ข้อ เพื่อเช็กความเข้าใจของตัวเองได้เลย

1. กุญแจส่วนตัว (Private Key) ในบิทคอยน์มีขนาดเท่าไหร่?

2. เหตุใดจึงไม่มีใครสามารถสุ่มตัวเลข Private Key ซ้ำกับคนอื่นได้?

3. เราสามารถสร้างกุญแจส่วนตัว (Private Key) ได้ด้วยวิธีใด?

✅

อ่านตอนนี้จบแล้วใช่ไหม?

กดบันทึกเพื่อติดตามความก้าวหน้าการเรียนของคุณ