<?php wp_title('|', true, 'right'); ?>

ทำความรู้จักกับ Bitcoin Private key : กุญแจความปลอดภัยที่เดาได้ยากกว่าลุ้นถูกหวยเป็นล้านเท่า

ติดตามสยามบล็อกเชนบนSiam Blockchain

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

ในบทความนี้ เราจะพาทุกท่านไปเจาะลึกเรื่องราวของ Private Key ว่ามันคืออะไร สำคัญอย่างไร และทำไมถึงแทบเป็นไปไม่ได้เลยที่จะเดา Private Key เพื่อขโมย Bitcoin

Private key คืออะไร?

คีย์ส่วนตัว หรือ Private key คือ จำนวนเต็มขนาด 256 บิต ซึ่งโดยปกติแล้วจะแสดงในรูปแบบเลขฐานสิบหกและลำดับของตัวอักษร 64 ตัว ซึ่งประกอบด้วยตัวเลข 0 ถึง 9 และตัวอักษร ‘a’ ถึง ‘f’ ตัวอย่างเช่น 

62d871b6fcdc51e50d1ef6a00be4e2ca934b96df5ca0883f7cc0ce4fd6921e32

ตัวอย่างด้านบนนั้นจะเป็นการแสดง Bitcoin private key ในรูปแบบเลขฐานสิบหก ซึ่งคีย์ส่วนตัวนี้ที่ถูกสร้างขึ้นแบบสุ่ม ๆ และเป็นเสมือนดอกกุญแจที่ต้องใช้ในการเข้าถึง Bitcoin

ความสำคัญของ Private key

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

Private key สามารถคาดเดาได้ไหม ?

หากจะให้พูดสั้น ๆ เลยก็ต้องขอตอบว่า Private key สามารถคาดเดาได้ แต่การคาดเดา private key อาจจะไม่ง่ายเหมือนกับการเดารหัสล็อกอินโซเชียลมีเดีย เพราะจากการคำนวนความน่าจะเป็นในการเดา Bitcoin Private key ให้ถูกต้องจะอยู่ที่ 1 ต่อ 2²⁵⁶ ซึ่งแม้จะดูเหมือนว่าอาจจะมีหนทาง แต่พอมองดูลึก ๆ แล้วจะรู้ว่าการพยายามเดารหัสนั้นเป็นการทิ้งเวลาไปเสียเปล่า 

เพื่อให้เข้าใจง่ายเราจะลองเปรียบเทียบให้เห็นภาพ ยกตัวอย่างเช่นไพ่หนึ่งสำรับมีไพ่ 52 ใบ ให้เราลองสับไพ่และหยิบไพ่สุ่ม ๆ ขึ้นมา 1 ใบและวางมันบนโต๊ะ จากนั้นหยิบไพ่ขึ้นมาอีกใบจาก 51 ใบที่เหลือและวางทับลงไปเรื่อย ๆ จนหมดกอง ก็จะสามารถคิดได้เป็นสูตร 52 x 51 x 50 x … x1 หรือเท่ากับ 52 factorial ซึ่งชุดค่าผสมที่เป็นไปได้จะเท่ากับ 8.0658 × 10⁶⁷ ถือเป็นตัวเลขที่มหาศาล โดยขนาดอายุของจักรวาลยังถูกคำนวนไว้เท่ากับ 4.32 × 10¹⁷ วินาที (ประมาณ 1.39 หมื่นล้านปี) หรือกล่าวอีกนัยหนึ่งคือลำดับของไพ่ที่เราจะได้หลังจากเราสับไพ่เสร็จแล้วจะเป็นลำดับที่ไม่เคยซ้ำกันในประวัติศาสตร์นับตั้งแต่กำเนิดจักรวาล และจะยังคงเป็นเช่นนั้นตลอดไป

เรื่องที่น่าตกใจไปกว่านั้นก็คือ ขนาดชุดตัวเลขการเรียงไพ่ที่มีขนาดถึง 8.0658 × 10⁶⁷ ยังน้อยกว่าการเดารหัส privatekey ให้เจอถึง 30 เท่า 

หรือพูดให้เข้าใจง่าย ๆ หากคุณสามารถสร้าง privatekey ของบิทคอยน์ได้หนึ่งอันต่อหนึ่งวินาที ตลอดระยะเวลาที่ใช้ในการปรับระดับภูเขาเอเวอเรสต์ให้ราบเรียบจำนวน 256 ครั้ง คุณยังจะสร้าง privatekey ได้เพียง 1 ใน 30 ส่วนของคีย์ส่วนตัวทั้งหมดที่เป็นไปได้เท่านั้น และนั่นยังไม่ได้คำนึงถึงเวลาที่ใช้ในการตรวจสอบว่าคีย์ที่สร้างขึ้นแต่ละตัวอีกว่าถูกต้องหรือไม่ 

ดังนั้นเราจะเห็นได้ว่าสมองของมนุษย์ไม่สามารถประมวลผลตัวเลขขนาดนั้นได้เลยเครื่องจักรจึงมีความสำคัญ โดย GPU ในคอมพิวเตอร์รุ่นปัจจุบันจะสามารถคำนวนตัวเลขหลักพันล้านได้ในหนึ่งวินาที ซึ่งสมมติว่าเราจับมัด GPU 4 ตัวรวมกัน โดยให้แต่ละ GPU สามารถคำนวนได้ในหลัก 1 พันล้านกำลัง 2 นั่นจะเท่ากับการคำนวนขั้นที่ 1 จาก 8 ขั้นเพียงเท่านั้นจากสูตร 2³² × 2³² × … 2³², แปดครั้งซึ่งจะได้ผลทั้งหมดเท่ากับ 2²⁵⁶ หรือตัวเลขความน่าจะเป็นในการสุ่มหา private key

ในการคำนวนขั้นที่สองเราจำเป็นที่จะต้องใช้พลังการประมวลผลของ GPU ชนิดดังกล่าวจำนวน 4 พันล้านตัว ซึ่งตีไปง่าย ๆ ได้ว่าต้องใช้เซิฟเวอร์ทั้งหมดของ Google ที่มีในโลกคูณไปอีกพันเท่าถึงจะเพียงพอประมวลผลข้อมูลในระดับนี้

และถึงแม้ว่าจะมีการนำ supercomputer เข้ามาใช้งานเราก็จำเป็นต้องมี supercomputer มากกว่า 4 พันล้านเครื่องถึงจะคำนวน Bitcoin private keys ได้ถูกต้องทั้งหมดและจะใช้เวลานานถึง 127 ปี ถึงจะคำนวนระดับที่ 7 ได้ และในระดับที่ 8 ยังได้ชี้ให้เราเห็นว่าจากตัวเลขต่าง ๆ ที่ได้สร้างขึ้นมาจะมี Bitcoin private key ที่ใช้ได้จริงเพียง 1 ใน 4 พันล้าน เท่านั้น

ดังนั้นดับฝันไปได้เลยว่าใครที่คิดอยากจะลองเดา private key เพราะมันซับซ้อนและปลอดภัยเอามาก ๆ จนแทบจะเป็นไปไม่ได้เลยว่าจะถูกเจาะ เว้นแต่จะเจ้าของ private key จะตั้งใจปล่อยให้รหัสดังกล่าวตกไปอยู่ในมือของคนอื่น

ที่มา : Medium