Private Key และ Public Key คืออะไร ทำไมถึงเป็นหัวใจของความปลอดภัยคริปโต (อัปเดต 2026)
Private Key คือตัวเลขลับ 256 บิตที่พิสูจน์สิทธิ์เป็นเจ้าของบิตคอยน์ Public Key คำนวณจากมันได้ทางเดียวเท่านั้น เจาะกลไก trapdoor function ที่ทำให้คริปโตไม่ต้องมีธนาคารมายืนยันตัวตน พร้อมตัวอย่างว่าโลกดิจิทัลนอกคริปโตก็ใช้กลไกเดียวกันนี้อยู่ทุกวัน

บทความนี้เป็นส่วนหนึ่งของซีรีส์ "คริปโต 1-100" ของ Bitcoin Addict อ่านเดี่ยวๆ ได้ ไม่ต้องอ่านบทอื่นก่อนก็เข้าใจ
ถ้าเคยเปิดแอป wallet คริปโตหรือสมัครบัญชีเว็บเทรดเป็นครั้งแรก น่าจะเคยเจอหน้าจอเตือนตัวหนาว่า "ห้ามบอกรหัสชุดนี้กับใครเด็ดขาด แม้แต่ทีมแอดมิน" หรือเคยเห็นโพสต์ในกลุ่มคริปโตที่มีคนมาขอความช่วยเหลือว่าเงินในกระเป๋าหายเกลี้ยงทั้งกระเป๋าภายในไม่กี่วินาที หลังดันไปกรอกรหัสลับของตัวเองในเว็บปลอมที่ปลอมหน้าตาเหมือน wallet จริงทุกอย่าง นั่นคือจุดที่คนส่วนใหญ่เจอคำว่า Private Key โดยไม่รู้ตัวว่ากำลังเจออยู่
คำเตือนแบบนี้ฟังดูเหมือนกฎความปลอดภัยทั่วไปที่แอปไหนก็เตือน แต่จริงๆ แล้วมันคือแก่นของกลไกที่ทำให้บิตคอยน์และคริปโตทั้งระบบทำงานได้โดยไม่ต้องมีธนาคารหรือใครมายืนยันความเป็นเจ้าของเงินแทนเรา ถ้าไม่เข้าใจว่า Private Key กับ Public Key คืออะไรและเชื่อมกันยังไง จะไม่มีทางเข้าใจได้จริงว่าทำไมกฎ "ห้ามให้ใครเห็น Private Key" ถึงเข้มงวดถึงขั้นห้ามมีข้อยกเว้น หรือทำไมเงินที่หลุดมือไปแล้วครั้งเดียวถึงไม่มีทางเรียกคืนได้เลยเหมือนบัญชีธนาคารที่โทรอายัดได้ บทความนี้จะไล่อธิบายตั้งแต่รากฐานว่ากุญแจสองดอกนี้คืออะไร
Private Key คือตัวเลขลับที่สุ่มขึ้นมาแบบสุ่มจริง ใช้เป็นหลักฐานพิสูจน์สิทธิ์ในการสั่งย้ายบิตคอยน์ออกจาก address เปรียบได้กับกุญแจไขตู้เซฟ ส่วน Public Key คือค่าที่คำนวณมาจาก Private Key ด้วยสมการทางคณิตศาสตร์ทางเดียว ใช้สร้างเป็น address ที่เปิดเผยให้คนอื่นเห็นได้อย่างปลอดภัย เพราะต่อให้รู้ Public Key หรือ address ก็ไม่มีทางคำนวณย้อนกลับไปหา Private Key ได้เลย
ทั้งคู่คือกลไกที่ทำให้บิตคอยน์ไม่ต้องมีธนาคารหรือใครสักคนมายืนยันว่าเงินนี้เป็นของใคร ทุกอย่างพิสูจน์ได้ด้วยคณิตศาสตร์ล้วนๆ บทความนี้จะพาเข้าใจว่ากุญแจสองดอกนี้เชื่อมกันยังไง ทำไมมันถึงปลอดภัยระดับที่แฮ็กเกอร์ทั้งโลกรวมพลังกันก็ยังเดาไม่ถูก และทำไมกฎเหล็กข้อเดียวที่ห้ามทำผิดคือ "ห้ามให้ใครเห็น Private Key เด็ดขาด"
Address กับ Private Key: บัญชีธนาคารเวอร์ชันไม่มีธนาคาร
บัญชีธนาคารทั่วไปมีสองส่วนที่คนคุ้นเคยกันดี คือชื่อเจ้าของบัญชีกับเลขบัญชี เลขบัญชีบอกว่าเงินก้อนนี้เชื่อมกับใคร ส่วนธนาคารเป็นคนกลางที่ยืนยันตัวตนเราทุกครั้งก่อนปล่อยเงินออกจากบัญชี
บิตคอยน์มีสิ่งที่ทำหน้าที่คล้ายเลขบัญชีเรียกว่า address เป็นชุดตัวเลขและตัวอักษรความยาว 27-34 ตัว (ออกแบบให้ไม่มี "O" ตัวโอใหญ่ "0" เลขศูนย์ และ "l" ตัวแอลเล็ก เพื่อกันความสับสนตอนพิมพ์หรืออ่าน) แต่ต่างจากบัญชีธนาคารตรงที่ ไม่มีธนาคารมาคอยยืนยันตัวตนเราแทน สิ่งที่ทำหน้าที่แทนธนาคารทั้งหมดคือ Private Key ตัวเลขลับที่เจ้าของ address ต้องถือไว้คนเดียว เปรียบได้กับกุญแจไขตู้เซฟ ใครถือกุญแจนี้อยู่ก็มีสิทธิ์เต็มที่จะย้ายเงินออกจาก address นั้น ไม่ว่าจะเป็นเจ้าของจริงหรือไม่ก็ตาม
หลักการใช้งานจึงตรงไปตรงมา ถ้าอยากให้ใครโอนเงินมาให้ ส่ง address ไปให้เขาอย่างเดียวก็พอ ไม่ต้องใช้ Private Key เลย เหมือนบอกเลขบัญชีให้คนอื่นโอนเงินเข้ามาได้โดยไม่ต้องรู้รหัสผ่านตู้เอทีเอ็มของเรา แต่ถ้าจะถอนเงินออกจาก address ของตัวเอง ต้องใช้ Private Key เสมอ ไม่มีข้อยกเว้น และนี่คือกฎที่ต้องจำขึ้นใจ ส่ง address ให้ใครก็ได้ แต่ห้ามส่ง Private Key ให้ใครเด็ดขาด
Public Key คืออะไร แล้วมันต่างจาก address ตรงไหน
หลายคนสับสนระหว่าง Public Key กับ address เพราะสองอย่างนี้เกี่ยวเนื่องกันโดยตรง Public Key คือค่าที่คำนวณมาจาก Private Key ด้วยสมการคณิตศาสตร์ที่เรียกว่า elliptic curve cryptography ส่วน address คือ Public Key ที่ถูกนำไปย่อยด้วยฟังก์ชัน hash อีกชั้นหนึ่งเพื่อให้สั้นลงและมีการตรวจสอบพิมพ์ผิดในตัว พูดง่ายๆ คือ Private Key → Public Key → Address เป็นสายพานทางเดียวที่คำนวณไปข้างหน้าได้เสมอ แต่ย้อนกลับไม่ได้แม้แต่ขั้นตอนเดียว
จุดที่ทำให้กลไกนี้ปลอดภัยระดับรากฐานคือคุณสมบัติที่เรียกว่า trapdoor function หรือฟังก์ชันประตูดัก ลองนึกภาพการล็อกกุญแจแม่กุญแจ (padlock) ใครก็ล็อกมันได้ง่ายๆ แค่กดปิด แต่การจะปลดล็อกโดยไม่มีกุญแจดอกที่ถูกต้องนั้นยากมาก elliptic curve cryptography ทำงานด้วยหลักการเดียวกันในทางคณิตศาสตร์ การคำนวณจาก Private Key ไปเป็น Public Key ทำได้ง่ายและเร็วมาก แต่การคำนวณย้อนจาก Public Key กลับไปหา Private Key นั้นยากในระดับที่ต้องใช้พลังคอมพิวเตอร์เดา (brute-force) เท่านั้น ไม่มีทางลัดทางคณิตศาสตร์ใดๆ ที่รู้จักในปัจจุบัน

ตัวเลขลับตัวนี้ปลอดภัยขนาดไหน
Private Key ของบิตคอยน์ไม่ใช่รหัสผ่านที่เราตั้งเอง แต่เป็นตัวเลขที่ถูกสุ่มขึ้นมาด้วยวิธีการที่เข้มงวดมาก เรียกว่า Cryptographically Secure Pseudo-random Number Generator (CSPRNG) ซึ่งรับประกันว่าผลลัพธ์การสุ่มกระจายตัวจริง ไม่มีรูปแบบให้เดาทาง ถ้าสุ่มแบบมีรูปแบบ เช่น ได้เลขเรียงติดกัน ก็จะถือว่าไม่ปลอดภัยเพราะมีโอกาสถูกคาดเดาได้ ทางออกที่ยอมรับกันทั่วโลกในทางเทคนิคคือใช้คอมพิวเตอร์ทั่วไปที่มีอยู่แล้วในการสร้างค่าสุ่มระดับนี้
ตัว Private Key ประกอบด้วยเลขฐานสอง (0 กับ 1) จำนวน 256 ตัว ซึ่งฟังดูอาจไม่เยอะ แต่ถ้าลองคำนวณจำนวนความเป็นไปได้ทั้งหมดจะพบว่ามันมหาศาลเกินจินตนาการ นักวิทยาศาสตร์เคยประมาณการว่าจำนวนอะตอมทั้งหมดที่สังเกตเห็นได้ในจักรวาลของเรามีอยู่ราว 10 ยกกำลัง 80 อะตอม ซึ่งใกล้เคียงกับจำนวน Private Key ที่เป็นไปได้ทั้งหมด นั่นแปลว่าโอกาสที่คนสองคนจะสุ่มได้ Private Key ตัวเดียวกันโดยบังเอิญ หรือแฮ็กเกอร์จะไล่สุ่มจนเจอ Private Key ของใครสักคน แทบจะเป็นศูนย์ในทางปฏิบัติ
สิ่งที่น่าสนใจคือความปลอดภัยระดับนี้ไม่ได้แปลว่ายิ่งเพิ่มความยาวของ key ยิ่งดีขึ้นเรื่อยๆ ในทางเทคนิคแล้ว 256 บิตถือว่าเกินพอแล้วสำหรับมาตรฐานความปลอดภัยที่ต้องการ (ระดับความแข็งแกร่งของ public key จริงๆ อยู่ที่ราว 128 บิตตามหลักการของ elliptic curve cryptography) เพิ่มความยาวมากกว่านี้จึงไม่ได้เพิ่มประโยชน์ในทางปฏิบัติแต่อย่างใด
รูปแบบของ Private Key ที่อาจเคยเห็นผ่านตา
Private Key ดิบๆ ที่เป็นเลขฐานสองยาว 256 บิตนั้นไม่สะดวกต่อการใช้งาน ในทางปฏิบัติจึงมีการแปลงเป็นรูปแบบที่กระชับขึ้น เช่น เลขฐาน 16 (hexadecimal) หรือรูปแบบที่เรียกว่า WIF (Wallet Import Format) ซึ่งเข้ารหัสให้เป็นชุดตัวอักษรที่มีการตรวจสอบพิมพ์ผิดในตัว (checksum) คล้ายกับที่ address มีระบบตรวจสอบความถูกต้องเช่นกัน
ส่วน Public Key ก็มีสองรูปแบบคือแบบเต็ม (uncompressed) และแบบย่อ (compressed) ซึ่งเป็นการเลือกบันทึกเฉพาะค่าที่จำเป็นบนเส้นโค้งคณิตศาสตร์เพื่อประหยัดพื้นที่ จุดที่ควรรู้คือ Private Key ตัวเดียวกันเมื่อแปลงเป็น Public Key แบบ compressed กับ uncompressed จะได้ address ที่หน้าตาต่างกัน แม้จะมาจาก Private Key เดียวกันก็ตาม ซึ่งเป็นรายละเอียดทางเทคนิคที่นักพัฒนา wallet ต้องจัดการให้ผู้ใช้ทั่วไปไม่ต้องปวดหัว
ความเป็นส่วนตัวที่กลับหัวกลับหางจากธนาคาร
ระบบบัญชีธนาคารทำงานตรงข้ามกับบล็อกเชนอย่างน่าสนใจ ถ้ารู้เลขบัญชีธนาคารของใครสักคน เราจะรู้ตัวตนเขาได้ทันทีผ่านการกรอกในแอปธนาคาร แต่จะไม่รู้ว่าเขามีเงินเท่าไรหรือทำธุรกรรมอะไรบ้างเพราะข้อมูลนั้นถูกปิดไว้เป็นความลับของธนาคาร
ในทางกลับกัน ถ้ารู้ address ของใครสักคนในบล็อกเชน เราจะเห็นยอดเงินและประวัติธุรกรรมทั้งหมดของ address นั้นได้ทันทีเพราะทุกอย่างเปิดเผยต่อสาธารณะ แต่จะไม่รู้ว่าเจ้าของ address นั้นเป็นใครถ้าเขาไม่เปิดเผยตัวเอง คุณสมบัติการคำนวณทางเดียวของ Public Key จึงเป็นตัวการันตีว่า เปิดเผย address ได้อย่างปลอดภัยโดยไม่เสี่ยงถูกขโมยเงิน แต่ก็ต้องแลกกับความโปร่งใสของยอดเงินและธุรกรรมที่ใครก็ตรวจสอบได้ตลอดกาล ร่องรอยบนบล็อกเชนไม่สามารถลบ ปกปิด หรือทำลายได้เหมือนฐานข้อมูลของบริษัทหรือเอกสารทั่วไป

ทำไมการรั่วของ Private Key ถึงร้ายแรงกว่าที่คิด
Private Key ไม่ได้เป็นแค่รหัสผ่านธรรมดาที่เปลี่ยนใหม่ได้เมื่อหลุด เพราะมันผูกติดกับ address นั้นตลอดไป ถ้า Private Key รั่วไหลออกไปแม้แต่ครั้งเดียว คนที่ได้ไปสามารถย้ายเงินออกจาก address นั้นได้ทันทีโดยที่เจ้าของตัวจริงไม่มีทางยับยั้งได้เลย ไม่มีธนาคารให้โทรไปอายัดบัญชี ไม่มีกระบวนการพิสูจน์ตัวตนใดๆ มาช่วยทวงคืน เพราะระบบถูกออกแบบมาให้เชื่อ Private Key เป็นหลักฐานสิทธิ์เพียงอย่างเดียวโดยไม่สนใจว่าใครเป็นผู้ถือมันอยู่จริงๆ
นี่คือเหตุผลที่ระบบ wallet สมัยใหม่แทบทั้งหมดไม่ให้ผู้ใช้ทั่วไปต้องเห็นหรือจดจำ Private Key ดิบๆ โดยตรง แต่ใช้ Seed Phrase เป็นตัวกลางที่จดจำง่ายกว่าแทน (อ่านรายละเอียดเต็มได้ใน Seed Phrase คืออะไร ทำไมห้ามให้ใครเห็น ของซีรีส์นี้ ยังไม่ publish) ซึ่งเบื้องหลังแล้ว Seed Phrase คือกลไกที่ใช้สร้าง Private Key จำนวนมากจากจุดตั้งต้นเดียว ทำให้ผู้ใช้ต้องเก็บรักษาแค่ชุดคำเดียวแทนที่จะต้องจำ Private Key แยกทุกบัญชี
จุดเชื่อมใกล้ตัว: เทียบกับระบบเช็คธนาคารไทยที่คนไทยคุ้นเคยอยู่แล้ว
แนวคิดเรื่องกุญแจสองดอกอาจฟังดูไกลตัว แต่จริงๆ แล้วคนไทยคุ้นเคยกับหลักการที่ใกล้เคียงกันมานานแล้วผ่านระบบเช็คธนาคาร เวลาเปิดบัญชีเช็คกับธนาคาร เจ้าของบัญชีต้องเซ็นตัวอย่างลายเซ็นทิ้งไว้กับธนาคารก่อน (specimen signature) ทุกครั้งที่เขียนเช็คมาขึ้นเงิน ธนาคารจะเทียบลายเซ็นบนเช็คกับตัวอย่างที่เก็บไว้ ถ้าลายเซ็นไม่ตรงกันธนาคารจะปฏิเสธการจ่ายเงินทันที
ลายเซ็นในระบบนี้ทำหน้าที่คล้าย Private Key ตรงที่เป็นสิ่งที่พิสูจน์ว่าคนสั่งจ่ายเงินคือเจ้าของบัญชีจริง ต่างกันตรงที่ลายเซ็นบนกระดาษปลอมแปลงได้ (แม้จะยากสำหรับคนทั่วไป) และต้องพึ่งพนักงานธนาคารเป็นคนตรวจสอบด้วยสายตา ซึ่งมีโอกาสผิดพลาดหรือถูกหลอกได้ ส่วน "ลายเซ็นดิจิทัล" ที่เกิดจาก Private Key ในบิตคอยน์นั้นถูกตรวจสอบด้วยคณิตศาสตร์ล้วนๆ ผ่านเครือข่ายคอมพิวเตอร์หลายหมื่นเครื่องทั่วโลกพร้อมกัน (อ่านกลไกการตรวจสอบแบบกระจายศูนย์นี้เพิ่มได้ใน Node คืออะไร ของซีรีส์นี้ ยังไม่ publish) ปลอมแปลงไม่ได้เลยตราบใดที่ยังไม่มีใครขโมย Private Key ตัวจริงไปได้ นี่คือความต่างที่สำคัญระหว่างระบบที่พึ่งความไว้วางใจของมนุษย์ กับระบบที่พึ่งการพิสูจน์ทางคณิตศาสตร์เพียงอย่างเดียว

ไม่ได้มีแค่คริปโต กลไกนี้อยู่รอบตัวเราอยู่แล้วโดยไม่รู้ตัว
หลายคนอาจเข้าใจว่า Private Key กับ Public Key เป็นสิ่งที่ Bitcoin คิดค้นขึ้นมาเอง แต่ความจริงแล้วหลักการนี้มีชื่อทางวิชาการว่า asymmetric cryptography หรือการเข้ารหัสแบบกุญแจไม่สมมาตร ซึ่งถูกใช้งานเป็นรากฐานของระบบความปลอดภัยดิจิทัลมาก่อน Bitcoin จะถือกำเนิดเสียอีก และยังคงเป็นเสาหลักของอินเทอร์เน็ตที่คนทั่วไปใช้งานอยู่ทุกวันโดยไม่รู้ตัวว่ากำลังพึ่งพากลไกเดียวกันนี้อยู่
ตัวอย่างที่ใกล้ตัวที่สุดคือทุกครั้งที่เข้าเว็บไซต์แล้วเห็นสัญลักษณ์รูปกุญแจล็อคหน้าที่อยู่เว็บ (HTTPS) เบราว์เซอร์กำลังใช้ระบบใบรับรองดิจิทัล (TLS certificate) ที่พึ่งพา Private Key กับ Public Key คู่หนึ่งในการยืนยันว่าเว็บที่กำลังเข้าคือของจริง ไม่ใช่เว็บปลอมที่ปลอมหน้าตาเหมือนกันทุกอย่าง เป็นกลไกเดียวกันเป๊ะกับที่ทำให้แฮ็กเกอร์ปลอม address คนอื่นไม่ได้ในบิตคอยน์ นักพัฒนาที่ต้อง login เข้าเซิร์ฟเวอร์ระยะไกลทุกวันก็ใช้กลไกนี้ผ่าน SSH key แทนการพิมพ์รหัสผ่าน โดยเก็บ Private Key ไว้ในเครื่องตัวเองและส่งเฉพาะ Public Key ไปฝากไว้กับเซิร์ฟเวอร์ ส่วนคนที่ต้องส่งอีเมลลับสุดยอดก็อาจเคยได้ยินชื่อ PGP หรือ GPG ซึ่งใช้หลักการเดียวกันในการเข้ารหัสเนื้อหาให้เฉพาะผู้รับที่ถือ Private Key ที่ถูกต้องเท่านั้นถึงจะเปิดอ่านได้
หลักการเดียวกันนี้ยังเป็นแกนของ Public Key Infrastructure (PKI) ที่ใช้ทำลายเซ็นดิจิทัลระดับที่มีผลทางกฎหมาย ต่างจากการวาดลายเซ็นหรือกดยอมรับบนหน้าจอทั่วไปที่หลายแพลตฟอร์มเซ็นเอกสารออนไลน์ใช้กันเป็นค่าเริ่มต้น (ซึ่งเป็นแค่บันทึกความยินยอม ไม่ได้อาศัยกุญแจเข้ารหัสของผู้เซ็นเอง) ลายเซ็นดิจิทัลแบบ PKI จริงจะผูก Private Key ไว้กับตัวผู้เซ็นเอกสารเท่านั้น แล้วให้ใครก็ตามที่ถือ Public Key ตรวจสอบย้อนกลับได้ว่าเอกสารนี้เซ็นโดยคนคนนั้นจริงและไม่มีใครมาแก้ไขเนื้อหาทีหลัง แม้แต่แอป ThaID ของกรมการปกครองที่คนไทยใช้ยืนยันตัวตนแทนบัตรประชาชนตัวจริงก็วางอยู่บนโครงสร้าง PKI ที่ผูก Private Key กับ Public Key ของผู้ถือบัตรเข้าด้วยกันในลักษณะเดียวกัน
จะเห็นว่ากุญแจสองดอกที่อธิบายมาทั้งหมดในบทความนี้ไม่ใช่สิ่งประดิษฐ์เฉพาะของโลกคริปโต แต่เป็นเครื่องมือความปลอดภัยดิจิทัลที่มีมาก่อนและถูกพิสูจน์แล้วว่าใช้งานได้จริงในหลายวงการ สิ่งที่ Satoshi Nakamoto ทำกับ Bitcoin ก็คือหยิบแนวคิดที่มีอยู่แล้วนี้มาประยุกต์ใช้กับเงิน ให้กลายเป็นหลักฐานพิสูจน์ความเป็นเจ้าของทรัพย์สินแทนที่จะใช้แค่ยืนยันตัวตนหรือเข้ารหัสข้อมูลเหมือนที่ผ่านมา ไม่ได้คิดค้นกลไกทางคณิตศาสตร์ใหม่ขึ้นมาจากศูนย์แต่อย่างใด
สรุป: กุญแจสองดอกที่แทนที่ธนาคารได้ทั้งระบบ
Private Key กับ Public Key คือกลไกที่ทำให้บิตคอยน์พิสูจน์ความเป็นเจ้าของเงินได้โดยไม่ต้องมีใครมายืนยันแทน Private Key เป็นความลับที่ต้องเก็บไว้คนเดียวเท่านั้น Public Key และ address คือสิ่งที่เปิดเผยให้ใครเห็นก็ได้อย่างปลอดภัย เพราะฟังก์ชันทางคณิตศาสตร์ที่เชื่อมทั้งสองเข้าด้วยกันเดินได้ทางเดียวเท่านั้น ความเข้าใจเรื่องนี้คือรากฐานที่ทำให้เข้าใจได้ว่าทำไมกฎ "ห้ามให้ใครเห็น Private Key" ถึงเป็นกฎที่เข้มงวดที่สุดในโลกคริปโต เพราะไม่มีกลไกไหนช่วยแก้ไขความผิดพลาดนี้ย้อนหลังได้เลย
คำถามที่พบบ่อย
Private Key คืออะไร สรุปสั้นๆ?
คือตัวเลขลับ 256 บิตที่สุ่มขึ้นมาแบบปลอดภัย ใช้เป็นหลักฐานพิสูจน์สิทธิ์ในการย้ายบิตคอยน์ออกจาก address เปรียบเสมือนกุญแจไขตู้เซฟ ใครถือ Private Key อยู่ก็มีสิทธิ์เต็มที่จะใช้เงินใน address นั้น ไม่ว่าจะเป็นเจ้าของจริงหรือไม่
Public Key ต่างจาก Address ยังไง?
Public Key คือค่าที่คำนวณโดยตรงจาก Private Key ด้วยสมการ elliptic curve ส่วน Address คือ Public Key ที่ถูกนำไปย่อยด้วยฟังก์ชัน hash อีกชั้นเพื่อให้สั้นลงและมีระบบตรวจพิมพ์ผิดในตัว พูดง่ายๆ Address คือรูปแบบสุดท้ายที่เอาไว้ใช้รับเงินจริง
ทำไมรู้ Public Key แล้วคำนวณย้อนกลับไปหา Private Key ไม่ได้?
เพราะฟังก์ชันคณิตศาสตร์ที่ใช้ (elliptic curve cryptography) เป็น trapdoor function คำนวณไปข้างหน้าง่ายมาก แต่คำนวณย้อนกลับต้องใช้พลังประมวลผลไล่เดาซึ่งในทางปฏิบัติทำไม่ได้เลยด้วยเทคโนโลยีปัจจุบัน
ถ้า Private Key หลุดออกไป แก้ไขยังไงได้บ้าง?
แก้ไขไม่ได้เลย ต้องรีบย้ายเงินทั้งหมดออกไปยัง address ใหม่ที่มี Private Key ใหม่ทันทีที่รู้ว่ามีความเสี่ยงว่า Private Key เดิมอาจรั่ว เพราะระบบไม่มีกลไกอายัดหรือเปลี่ยนรหัสผ่านย้อนหลังเหมือนบัญชีธนาคาร
ทำไมต้องมี Public Key ทำไมไม่ใช้ address ตรงจาก Private Key เลย?
เพราะการแบ่งเป็นสามชั้น (Private Key → Public Key → Address) ช่วยเพิ่มความปลอดภัย เพราะ address ที่เผยแพร่จริงถูกซ่อนอีกชั้นด้วย hash ทำให้ต่อให้เทคโนโลยีในอนาคตเจาะ Public Key ได้ (ตราบใดที่ยังไม่เคยใช้จ่ายจาก address นั้น) ผู้โจมตีก็ยังไม่รู้ Public Key ที่แท้จริงจนกว่าเจ้าของจะทำธุรกรรมออกไปก่อน
เก็บ Private Key ไว้ยังไงถึงจะปลอดภัยที่สุด?
ส่วนใหญ่ผู้ใช้ทั่วไปไม่ต้องจัดการ Private Key ดิบๆ โดยตรง แต่เก็บผ่าน Seed Phrase ที่ wallet สร้างให้แทน วิธีที่ปลอดภัยที่สุดคือใช้ Hardware Wallet เก็บแบบออฟไลน์ทั้งหมด อ่านรายละเอียดเต็มได้ในบทความ Seed Phrase และ Hardware Wallet ของซีรีส์นี้
เรียบเรียงจากหนังสือ Bitcoin & Blockchain 101 เงินดิจิทัลเปลี่ยนโลก (ฉบับ UPDATE 2024) โดย พีรพัฒน์ หาญคงแก้ว ผู้ก่อตั้ง Blockchain Review บทที่ 5 (นิยาม Address/Private Key, การเปรียบเทียบกับบัญชีธนาคาร, กลไก Cryptography และ CSPRNG, การคำนวณ 256 บิตเทียบจำนวนอะตอมในจักรวาล, คุณสมบัติคำนวณทางเดียวระหว่าง Private Key กับ Address, ความเป็นส่วนตัวที่ต่างจากระบบธนาคาร)
เสริมข้อมูลเทคนิคจากคลังหนังสือของไมเคิล: Mastering Bitcoin (Andreas Antonopoulos & David Harding) บทที่ 4 เรื่อง elliptic curve cryptography เป็น trapdoor function (K=k×G คำนวณไปข้างหน้าง่าย ย้อนกลับยากเท่า discrete log), รูปแบบ Private Key แบบ Hex/WIF/WIF-compressed, Public Key แบบ compressed (33 ไบต์)/uncompressed (65 ไบต์) ให้ address ต่างกันแม้มาจาก Private Key เดียวกัน, ระดับความปลอดภัยจริงของ public key อยู่ที่ 128 บิต เพิ่มความยาวเกินนี้ไม่ได้ประโยชน์เพิ่ม
ตัวเลขปัจจุบันตรวจสอบผ่านความรู้ทั่วไปด้าน cryptography ที่ไม่เปลี่ยนแปลงตามเวลา (หลักการ elliptic curve cryptography และ CSPRNG เป็นคณิตศาสตร์พื้นฐานที่ใช้เหมือนเดิมตั้งแต่ Bitcoin เริ่มต้นจนถึงปี 2026)