Private Key คืออะไร? ทำไมคนที่ถือ Key ถึงควบคุม Bitcoin ได้?
“แล้วใครมีสิทธิ Spend UTXO ก้อนนั้น?” นี่คือคำถามที่เรียกได้ว่าเด็ดดวงที่สุดในปฐพี
Private Key คืออะไร?
ถ้าผมตอบแบบสั้นที่สุด…
มันคือ ความลับ ที่ทำให้คุณสามารถสร้างหลักฐานทางคณิตศาสตร์ เพื่ออนุญาตให้ Bitcoin ของคุณเอาไป Spend ได้
แต่เดี๋ยวก่อน…
ประโยคนี้มีอะไรแปลก ๆ อยู่หนึ่งอย่าง
ผมไม่ได้พูดว่า :
Private Key คือรหัสผ่านของ Bitcoin
และผมก็ไม่ได้พูดว่า :
Private Key คือที่เก็บ Bitcoin
เพราะจริง ๆ แล้ว…
Bitcoin ไม่ได้สิงอยู่ใน Private Key ของคุณ
มันไม่ได้อยู่ใน Hardware Wallet ด้วยนะ
ไม่ได้อยู่ในมือถือด้วยนะ
ไม่ได้อยู่ใน Trezor ด้วยนะ
และไม่ได้อยู่ในกระดาษที่คุณเขียน Seed Phrase เก็บเอาไว้นะ
Bitcoin อยู่บน Blockchain เว้ย!!! และ Blockchain ก็สิงอยู่ใน Node Server (เดี๋ยวค่อยพาไปท่องจักรวาลอีกที)
สิ่งที่ Wallet ของคุณถือเอาไว้นั่นก็คือ Key
และ Key นั่นต่างหากที่ทำให้คุณสามารถพิสูจน์ตัวเองได้ว่า…
“ผมมีสิทธิ Spend UTXO ก้อนนี้”
ตรงนี้แหละครับที่ Bitcoin เริ่มน่าสนใจขึ้นมาอีกระดับนึง
จาก UTXO มาถึง Private Key
ในบทความก่อนหน้าเรื่อง UTXO คืออะไร? ทำไม Bitcoin ถึงไม่มี Balance อยู่จริง เราเห็นแล้วว่า Bitcoin ไม่ได้เก็บยอดเงินของเราเป็น Account Balance แบบธนาคารพานิชย์
ซึ่งใน Wallet Application อาจแสดงตัวเลข :
Balance = 1.5 BTC
แต่เบื้องหลังของ Wallet นั้นอาจประกอบด้วย :
UTXO ใบที่ #1 → 0.3 BTC
UTXO ใบที่ #2 → 0.7 BTC
UTXO ใบที่ #3 → 0.5 BTC
ซึ่งรวมกันเป็น :
1.5 BTC ถ้วนๆ
ทีนี้คำถามคือ…
สมมุติว่ามี UTXO หนึ่งก้อน :
UTXO → จำนวน 0.5 BTC
ใครเป็นเจ้าของมัน ?
ใน Blockchain มีชื่อคุณเขียนอยู่ไหม ?
ไม่มี!!!
มีเลขบัตรประชาชนไหม ?
ไม่มี!!!
มี Username หรือ Password ไหม ?
ไม่มี!!!
แล้ว Bitcoin Network รู้ได้ยังไงว่า…
คุณมีสิทธิ Spend มัน ?
คำตอบของคำถามนี้มันเกี่ยวข้องกับสิ่งที่เรียกว่า :
Cryptography
และหนึ่งในส่วนสำคัญที่สุดของระบบนี้คือ
Private Key
Private Key คืออะไร?
ในระดับพื้นฐาน Private Key คือเลขรหัสลับขนาดใหญ่มาก ที่ถูกเลือกแบบ Random จากช่วงค่าที่ Bitcoin อนุญาตให้มีได้
ตัวอย่าง Private Key อาจถูกแสดงออกมาเป็นเลขฐานสิบหกยาว ๆ ประมาณนี้ :
E9873D79C6D87DC0FB6A5778633389...
นี่เป็นเพียงตัวอย่าง — เตือนไว้ก่อนนะว่าอย่าเอาไปใช้เป็น Private Key จริงนะเฟ้ย!!!
ประเด็นก็คือคุณไม่จำเป็นต้องจดจำเลขพวกนี้
แต่สิ่งสำคัญคือ :
Private Key ต้องเป็นความลับ
เพราะจาก Private Key เราสามารถสร้างข้อมูลทาง Cryptography ที่ใช้ในการควบคุมการ Spend Bitcoin ได้
Mental Model แบบง่าย ๆ คือ :
Private Key
↓
Public Key
↓
ข้อมูลที่ใช้สร้าง Bitcoin Address / Script
และเมื่อคุณต้องการ Spend Bitcoin :
Private Key
↓
สร้าง Digital Signature
↓
Bitcoin Network ตรวจสอบ Signature
↓
ถ้าเงื่อนไขของ UTXO ถูกต้อง
↓
Transaction สามารถผ่านการตรวจสอบได้
ตรงนี้คือหัวใจของบทความนี้
Private Key ไม่ใช่ Password
เมื่อเข้าใจว่า Private Key คืออะไร แล้ว เราจะเห็นทันทีว่ามันแตกต่างจาก Password ที่เราใช้ Login เข้าเว็บไซต์อย่างสิ้นเชิงเลยนะจ๊ะสาว
นี่เป็นความเข้าใจผิดที่ผมคิดว่าสำคัญมาก
เวลาคุณเข้าเว็บไซต์แล้วกรอก :
Username
Password
แล้วระบบเว็บไซต์ทำอะไรต่อ ?
แน่นอนว่า Server มันมี Database
มันรู้ว่าคุณคือใคร
มันตรวจสอบ Credential ของคุณ
แล้ว Server ตัดสินใจว่า :
“โอเค ให้บักห่าคนนี้ Login”
แต่ Bitcoin ไม่มีบริษัทกลางมานั่งทำหน้าที่นี้
และระบบของ Bitcoin มันไม่มี :
bitcoin.com database
ที่เก็บ Username ของคุณ
ไม่มีสำนักงานใหญ่ของบริษัท Bitcoin
ไม่มี Call Center ให้โทรไปบอกว่า :
“พี่ครับ ผมลืม Private Key ช่วย Reset ให้หน่อย” 😂
Private Key จึงไม่ใช่ Password ในความหมายแบบที่เราคุ้นเคย
Password คือสิ่งที่ระบบหนึ่งใช้ authenticate คุณ
แต่ใน Bitcoin สิ่งที่เราสนใจคือการสร้าง Cryptographic Signature ที่สามารถถูกตรวจสอบได้ตามกฎของ Protocol
และตรงนี้นำไปสู่คู่หูของ Private Key…
Public Key
และถ้าอยากเข้าใจว่า Private Key คืออะไร ? ให้ลึกขึ้น เราต้องรู้จักอีกสิ่งหนึ่งที่เกิดขึ้นคู่กับมัน นั่นคือ Public Key
คำว่า Private กับ Public บอกหน้าที่ของมันค่อนข้างตรงตัว
Private Key
เก็บเป็นความลับ
Public Key
สามารถเปิดเผยได้ตามการใช้งาน
ที่น่าสนใจคือ…
เราสามารถคำนวณ :
Private Key → Public Key
ได้อย่าง่ายดาย
แต่การพยายามย้อนจาก :
Public Key → Private Key
นั้นไม่มีทางเกิดขึ้นได้เลย เพราะมันเป็น One Way Function
กระบวนการย้อนศรนี้เป็นปัญหาทางคณิตศาสตร์ ที่ถูกออกแบบให้มีความยากเย็นอย่างมหาศาลด้วยหลักการทาง Cryptography
นี่คือสิ่งที่ทำให้เราสามารถเปิดเผย Public Key ออกสู่วง Public ได้สบายๆ โดยไม่ต้องเปิดเผย Private Key เลยแม้แต่น้อย
แล้ว Bitcoin Address มาจากไหน?
ลองพิจารณาดู ตอนนี้เรามี :
Private Key
↓
Public Key
แล้ว Address ล่ะ?
ใน Bitcoin รูปแบบ Address มีหลายประเภท และรายละเอียดแตกต่างกันระหว่าง Legacy, SegWit, Nested Segwit หรือ Legacy Segwit และ Taproot
ดังนั้นถ้าเราจะพูดให้เข้าใจง่ายโดยไม่หลอกตัวเองว่า Bitcoin มี Address แบบเดียว :
Private Key
↓
สร้าง Public Key
↓
Public Key และ/หรือข้อมูลที่เกี่ยวข้องถูกนำไปใช้สร้าง Script / Address ตามรูปแบบที่เราเลือก
เช่นคุณอาจเคยเห็น Address ที่ขึ้นต้นด้วย:
1...
หรือ
3...
หรือ
bc1q...
หรือ
bc1p...
พวกมันไม่ได้หมายความว่า Bitcoin มี Network คนละตัว
แต่มันสะท้อนรูปแบบ Address และ Spending Condition ที่แตกต่างกัน
เรื่องนี้เราสามารถขุด Rabbit Hole แยกได้อีกบทหนึ่ง 😂
สำหรับตอนนี้ให้จำเพียงว่า :
Address ไม่ใช่ Private Key
คุณสามารถแจกจ่าย Bitcoin Address ให้กับคนอื่นเพื่อรับ Bitcoin ได้
แต่…
อย่าให้ Private Key กับใครเชียวนะ!!!
ถ้ามีคนเห็น Bitcoin Address ของผม เขาขโมย Bitcoin ได้ไหม?
โดยปกติแล้ว :
ไม่ได้
ลองคิดแบบนี้
คุณประกาศ Bitcoin Address:
bc1qxxxxxxxxxxxxxxxx...
คนอื่นสามารถส่ง Bitcoin มาที่ Address นั้นได้
และเนื่องจาก Blockchain เป็น Public Ledger คนอื่นก็สามารถวิเคราะห์ข้อมูล Transaction ที่เกี่ยวข้องบน Blockchain ได้ทั้งหมด
แต่การรู้ Address…
ไม่ได้ทำให้เขาสามารถสร้าง Signature ที่ถูกต้องเพื่อ Spend UTXO ของคุณได้
เขายังขาดสิ่งสำคัญนั่นก็คือ :
Private Key
นี่เป็นความแตกต่างระหว่าง :
การรู้ว่าเงินของกูนั้นอยู่ตรงไหน ?
กับ
การมีความสามารถในการ Spend เงินนั้นๆ
แล้ว Private Key “ปลดล็อก Bitcoin” จริงไหม?
เรามักได้ยินคำอธิบายว่า :
Private Key คือกุญแจที่ใช้ไข Bitcoin
มันเป็นภาพเปรียบเทียบที่ดีสำหรับมือใหม่
แต่ถ้าจะพูดให้แม่นยำมากขึ้นก็คือ…
Private Key ไม่ได้ถูกส่งเข้า Blockchain แล้วไป “ไขกล่อง Bitcoin” เหมือนเอากุญแจเสียบแม่กุญแจ
สิ่งที่เกิดขึ้นคือ Private Key ถูกใช้ในกระบวนการสร้าง :
Digital Signature
จุดสำคัญของการเข้าใจว่า Private Key คืออะไร จึงไม่ได้อยู่ที่การจำตัวเลข 256-bit แต่อยู่ที่การเข้าใจว่า Key นี้ถูกใช้สร้าง Digital Signature ได้อย่างไร ?
Signature นี้สามารถพิสูจน์ได้ว่า Transaction ได้รับการอนุญาตด้วย Key ที่ถูกต้องตาม Spending Condition
โดยที่คุณ…
ไม่ต้องเปิดเผย Private Key ออกไปสู่ Public เลยแม้แต่น้อย
นี่โคตรสำคัญ!!!
เพราะถ้า Bitcoin ต้องส่ง Private Key ออกไปให้ Node ทุกตัวดูเพื่อพิสูจน์ว่าเราเป็นเจ้าของ…
ระบบคงพังตั้งแต่วันแรก เรียกได้ว่าชิบหายการช่างกันเลยทีเดียว 😂
สิ่งที่เราเปิดเผยคือ หลักฐาน!!!
ไม่ใช่ ความลับ!!!
ลองสร้าง Bitcoin Transaction กันอีกครั้ง
สมมุติเรามี :
UTXO อันนึงมูลค่า= 100,000 sats
เราต้องการส่ง :
30,000 sats → Bob
Wallet เลือก UTXO นั้นมาเป็น Input
แล้วสร้าง Output :
Bob → 30,000 sats
Change → 69,500 sats
และสมมุติ :
Fee ที่จ่ายให้ Miner → 500 sats
แต่แค่สร้าง Input กับ Output ยังไม่พอ
เพราะถ้าใครก็ได้สามารถบอก Network ว่า :
“เอา UTXO ของ DJ Tar มาเป็น Input ให้ผมหน่อยสิ”
Bitcoin คงเป็นระบบการเงินที่ส้นตีนที่สุดในโลก 😂
เราจึงต้องมีวิธีพิสูจน์ว่า Transaction นี้ได้รับการอนุญาตให้ Spend UTXO นั้นจริง
ตรงนี้เองที่ :
Private Key
↓
สร้าง
Digital Signature
และ Node สามารถตรวจสอบ Signature ตามกฎของ Bitcoin ได้
โดยไม่จำเป็นต้องรู้ Private Key ของคุณ
นี่คือความมหัศจรรย์ของ Public-Key Cryptography
ลองคิดดูดี ๆ
ผมสามารถพิสูจน์กับคนทั้งโลกว่า :
“ผมมี Secret ที่ถูกต้องสำหรับการสร้าง Signature นี้”
โดยที่…
ผมไม่ต้องบอก Secret นั้นให้ใครเลย
Node Server สามารถตรวจสอบได้
Miner หรือคนทำเหมืองขุด Bitcoin สามารถตรวจสอบได้
คนที่รัน Full Node Server อยู่บ้านก็สามารถตรวจสอบได้
และทุกคนสามารถใช้กฎเดียวกันในการตัดสิน Transaction ของผมได้
ไม่ต้องโทรถามธนาคาร
ไม่ต้องถามรัฐบาล
ไม่ต้องถาม Satoshi
และไม่ต้องเชื่อผม
นี่สิคือการ Verify.
นี่แหละเหตุผลที่คำว่า
Don’t trust. Verify.
ปรากฏอยู่ทั่ววัฒนธรรม Bitcoin ^_^
แล้ว Private Key ใหญ่แค่ไหน?
Bitcoin Private Key โดยพื้นฐานเกี่ยวข้องกับค่าขนาด 256-bit ภายใต้มาตรฐานของคณิตศาสตร์ elliptic curve
คำว่า 256-bit อาจดูไม่มีอะไร อาจจะดูน้อยนิดกระจอกงอกง่อย
จนกระทั่งคุณคิดถึงจำนวนความเป็นไปได้
เลข 256-bit มี space โดยประมาณ :
2²⁵⁶
ไอ่น้อง!!! นี่มัน 2 ยกกำลัง 256 เลยนะเฟ้ย!!!
ซึ่งเป็นตัวเลขที่ใหญ่จนมนุษย์แทบไม่มี intuition ที่ดีสำหรับมันได้เลยกับเลขจำนวนนี้
นี่คือเหตุผลว่าทำไมแนวคิด :
“เดี๋ยวผมนั่งสุ่ม Private Key ไปเรื่อย ๆ จนเจอ Bitcoin ของคนอื่น”
นี่ไม่ใช่วิธีโจมตี Bitcoin ที่สมเหตุสมผลเลย เมื่อ Key ถูกสร้างอย่างปลอดภัย
แต่มีคำสำคัญอยู่ตรงนั้น:
“ถูกสร้างอย่างปลอดภัย” หรือเปล่าวะ ???
เพราะ Cryptography จะแข็งแรงแค่ไหนก็ไม่มีประโยชน์…
ถ้าคุณสร้าง Private Key จาก Random Number ที่เดาได้ (Hardware Wallet เทพๆอย่าง Cold Card ก็โดนมาแล้ว)
ห้ามคิด Private Key ขึ้นมาเองนะจ๊ะ
สมมุติคุณบอกว่า :
“งั้นผมจะเอาวันเกิดผมมาสร้าง Private Key”
หรือ :
“ผมจะใช้คำว่า ilovebitcoin123”
หรือ :
“ผมจะโยนลูกเต๋าสองสามครั้งแล้วเอาตัวเลขมาทำ Key”
อย่าหาทำ!!!
Private Key ต้องมาจากแหล่ง Random ที่เหมาะสมและมี Entropy มากเพียงพอ
Wallet ที่ออกแบบมาดีจะจัดการเรื่องนี้ให้อย่างง่ายดาย
ดังนั้นประเด็นของบทความนี้คือ เข้าใจว่ามันทำงานอย่างไร
ไม่ใช่ :
“กลับบ้านไปคิดเลข Private Key เอง” หากใครทำแบบนั้นผมจะขอถีบหน้าหงายสักทีนึงจะได้มั้ย ? 😂
แล้ว Seed Phrase คือ Private Key หรือเปล่า?
เมื่อเข้าใจว่า Private Key คืออะไร เราก็จะเข้าใจทันทีว่า Hardware Wallet ไม่ได้มีหน้าที่ “เก็บ Bitcoin” แต่มีหน้าที่สำคัญในการปกป้อง Key และช่วย Signing Transaction แค่นั้นเอง
มาถึงเรื่องที่คนสับสนกันเยอะมากนั่นก็คือ
เวลาคุณสร้าง Hardware Wallet คุณอาจได้รับคำประมาณ:
12 words
หรือ
24 words
เช่น:
word1 word2 word3 ...
สิ่งนี้มักเรียกว่า :
Seed Phrase
แล้ว Seed Phrase คือ Private Key หรือไม่?
ไม่ใช่อันเดียวกันซะทีเดียว แต่มันเกี่ยวข้อกันนิดหน่อย
ใน Wallet แบบ Hierarchical Deterministic (HD Wallet) โดยทั่วไป Seed สามารถถูกใช้เป็นต้นทางในการ derive Key จำนวนมาก
Mental Model แบบง่ายคือ :
Seed Phrase
↓
Seed
↓
เกิดเป็นโครงสร้างของ HD Wallet
↓
เกิด Private Keys จำนวนมาก
↓
Public Keys
↓
Addresses / Scripts
นี่คือเหตุผลว่าทำไม Backup คำ 24 คำ เพียงชุดเดียว…
สามารถใช้กู้คืน Address และ Key จำนวนมากของ Wallet ได้
และนี่ก็เป็นเหตุผลว่า…
Seed Phrase ต้องถูกปกป้องอย่างจริงจัง เก็บดีๆ
เพราะถ้ามีใครได้ Seed ของคุณไป…
เขาอาจ derive Key ที่จำเป็นต่อการ Spend Bitcoin ของคุณได้เช่นกัน
ซึ่งแปลว่าตังค์คุณหายแน่นอนร้อยปะเตง!!!
แล้ว Hardware Wallet เก็บ Bitcoin ไว้หรือเปล่า?
นี่เป็นอีก Myth ที่เราต้องฆ่าทิ้ง 😂
สมมุติผมซื้อ Hardware Wallet ราคา 3,500 บาท
แล้วหน้าจอแสดง :
0.5 BTC
Bitcoin 0.5 BTC ไม่ได้วิ่งผ่าน USB เข้าไปอยู่ในอุปกรณ์นั้น
เพียงแต่ Hardware Wallet มีหน้าที่สำคัญอย่างหนึ่งคือ :
ปกป้อง Key และช่วยทำ Signing
Bitcoin ยังคงถูกบันทึกอยู่ในระบบ Blockchain/UTXO ตามปกติ ซึ่งอีก Blockchain ก็อยู่ใน Node Server โน่น
ดังนั้นถ้า Hardware Wallet ตกน้ำ…
หรือรถเหยียบ…
หรือหมาแดกเข้าไป 😂
นั่นแปลว่า Bitcoin ไม่ได้ถูกทำลายไปพร้อมกับเครื่อง
ถ้าคุณมี Backup ที่ถูกต้องและรองรับมาตรฐานที่เกี่ยวข้อง คุณสามารถกู้ Wallet บนอุปกรณ์ Hardware Wallet ได้
นี่คือเหตุผลที่สิ่งที่ต้อง Backup จริง ๆ ไม่ใช่ :
ตัว Hardware
แต่คือข้อมูลที่ทำให้คุณสามารถ Recover Keys ได้ นั่นก็คือ Seed 24 คำนั่นเอง
และนี่ก็แปลว่า Seed 24 คำนั้น สำคัญกว่าตัว Hardware Wallet เองเสียด้วยซ้ำ
Not Your Keys, Not Your Coins หมายความว่าอะไร?
ประโยคเด็ดของชาว Bitcoin ที่คุณจะได้ยินบ่อยๆก็คือ :
Not Your Keys, Not Your Coins.
สมมุติคุณซื้อ Bitcoin แล้วฝากไว้บน Exchange
แล้ว Application มันบอก :
Your Balance: 0.5 BTC
คำถามก็คือใครถือ Private Key ของ Bitcoin On-chain จริง ๆ ?
ถ้า Exchange เป็น Custodian…
โดยทั่วไปการทำงานมันเป็นแบบนี้ :
Exchange
คุณมี Account กับ Exchange นั้นๆ
และ Exchange มีระบบบัญชีภายในบอกว่ามี Bitcoin จำนวนหนึ่งเป็นของคุณ
มันอาจทำงานได้ดี
บริษัทอาจมีความน่าเชื่อถือ
และ Custody ก็มีประโยชน์ในบางสถานการณ์
แต่โมเดลความไว้วางใจแตกต่างจาก :
Self-Custody
และนี่คือเหตุผลที่คำถามว่า Private Key คืออะไร เชื่อมโยงโดยตรงกับแนวคิด Self-Custody ของ Bitcoin
ใน Self-Custody คุณควบคุม Key ที่จำเป็นต่อการอนุญาตการ Spend ด้วยตัวคุณเอง
ดังนั้นคำว่า :
Not Your Keys, Not Your Coins
ไม่ได้หมายความว่า Bitcoin หายไปจาก Blockchain ถ้าคุณใช้ Exchange
มันกำลังเตือนว่า :
ถ้าคุณไม่ได้ควบคุม Keys ด้วยตัวคุณเอง คุณก็ต้องพึ่งพาคนอื่นในการเข้าถึงและ Spend Bitcoin นั้นๆ
นี่คือความแตกต่างที่สำคัญเป็นอย่างมาก
แต่ถือ Private Key เองก็ไม่ได้มีแต่ข้อดี
ตรงนี้ต้องพูดกันตรง ๆ ไม่มีอ้อมค้อมเลยนะ
Self-Custody ให้อำนาจกับคุณ
แต่ในทางเดียวกันนั้น…
มันโยนความรับผิดชอบกลับมาที่คุณด้วยเช่นกัน
ถ้าธนาคารทำ Password หายให้คุณไม่ได้ คุณอาจโทร Call Center แล้วก็ได้ทุกอย่างกลับคืนมา
ถ้า Exchange Account มีปัญหา คุณอาจติดต่อ Support
แต่ถ้าคุณทำ Seed Phrase ของ Self-Custody Wallet หาย และไม่มี Backup อื่นที่ใช้กู้คืนได้…
นั่นเท่ากับจบเห่ และไม่มีใครที่จะมี Magic Button ที่สามารถสร้าง Secret เดิมกลับมาให้คุณได้อีกแน่นอน
Bitcoin ไม่รู้ว่าคุณชื่ออะไรก็จริง
Protocol ไม่สนว่าคุณมีสำเนาทะเบียนบ้านหรือไม่
Cryptography ไม่เคยสงสารใครด้วยเช่นกัน 😂
นี่คือทั้ง :
พลัง
และ
ความรับผิดชอบ
ของ Self-Custody
Private Key คือ “เจ้าของ Bitcoin” จริงหรือ?
ตอนนี้เราต้องแก้คำพูดของตัวเองอีกครั้ง
เราชอบพูดว่า :
“คนที่มี Private Key คือเจ้าของ Bitcoin”
เราสามารถใช้ประโยคด้านบนในการสอนคนอื่นได้
มันก็เข้าใจง่ายดี
แต่ในระดับ Protocol…
คำว่า เจ้าของ ไม่ได้ถูกเขียนอยู่บน Blockchain แบบชัดแจ้ง
Bitcoin สนใจเพียงแต่ว่า :
Spending Condition ของ Output คืออะไร?
และ Transaction ใหม่นั้น :
สามารถให้ข้อมูล/Signature ที่ทำให้เงื่อนไขนั้นสำเร็จได้หรือไม่?
สำหรับ UTXO ทั่วไปนั้น Private Key มีบทบาทสำคัญในการสร้าง Signature
แต่ Bitcoin Script สามารถสร้างเงื่อนไขที่ซับซ้อนได้ด้วย ยกตัวอย่างเช่น :
“มี Private Key หนึ่งดอก = เปิดได้” หรือ “มี Private Key สามดอก = เปิดได้”
เช่น:
Multisig
Timelock
และ Script Conditions อื่น ๆ
ดังนั้นถ้าจะพูดให้แม่นที่สุด:
Private Key ไม่ใช่ใบรับรองกรรมสิทธิ์
มันคือ Secret ที่สามารถใช้สร้าง Cryptographic Signature สำหรับ Spending Condition
อาจฟังดูไม่ Sexy เท่า :
YOUR KEY = YOUR BITCOIN
แต่…
มันอธิบายได้ง่ายกว่า 😂
อย่าเอา Private Key จริงไปใส่ในเว็บไซต์ใดๆก็ตาม
ตรงนี้ผมขอเตือนแบบตัวโต ๆ เพราะ Hardware Wallet จะไม่เคยถามหาให้คุณกรอก Seed แม้แต่ครั้งเดียว เพราะ Hardware Wallet จะให้คุณเห็น Seed เพียงครั้งเดียวตอนที่คุณสร้าง Wallet ใหม่เท่านั้น และทุกๆครั้งของการใช้จ่าย Bitcoin ตัว Hardware Wallet จะถามหาแค่ PIN เท่านั้น!
ห้ามนำ Private Key หรือ Seed Phrase ที่ถือ Bitcoin จริง ไปกรอกในเว็บไซต์เพื่อ “ทดลอง”
ไม่ว่าจะเป็น :
Private Key Calculator
Transaction Signing Website
Seed Checker
Wallet Recovery Website
หรือเว็บหน้าตาสวยแค่ไหนก็ตาม
ถ้าอยากทดลองเรื่อง Private Key, Signature หรือ Raw Transaction:
ใช้ Testnet / Regtest
หรือใช้ Key ที่สร้างขึ้นมาเพื่อการทดลองและ ไม่มีเงินจริง
ในบทความแรกของเราเรื่องการสร้าง Bitcoin Transaction ด้วยมือเปล่า ผมพาเปิดฝากระโปรง Transaction ให้ดู
แต่การเรียนรู้ Protocol กับการเอาเงินจริงไปเสี่ยง…
เป็นคนละเรื่องกัน
Don’t trust.
และผมขอเตือนตรงนี้เลยว่า…
Don’t paste your damn seed phrase anywhere. 😂
สรุป Private Key คืออะไร?
กลับมาที่คำถามแรก :
Private Key คืออะไร?
Private Key คือข้อมูลลับทาง Cryptography ที่ใช้ในการสร้าง Digital Signature เพื่ออนุญาตการ Spend ตามเงื่อนไขของ Bitcoin
มันไม่ใช่ Bitcoin
มันไม่ได้เก็บ Bitcoin ไว้ข้างในตัวมัน
มันไม่ใช่ Password ของบัญชี Bitcoin
และ Blockchain ไม่ได้รู้ชื่อของคุณจาก Private Key
สิ่งที่มันทำคือทำให้คุณสามารถสร้าง :
Cryptographic Proof
ที่ Node Server ของระบบ Bitcoin สามารถ Verify ได้
โดยไม่ต้องเปิดเผย Secret ของคุณ
ดังนั้น Mental Model ที่ผมอยากให้คุณเอากลับบ้านคือ :
UTXO
↓
มี Spending Condition
↓
คุณมี Private Key
↓
Private Key ใช้สร้าง Digital Signature
↓
Node Server ตรวจสอบ Signature
↓
ถ้าเงื่อนไขถูกต้อง
UTXO นั้นๆก็จะสามารถถูก Spend ได้
และตอนนี้เราเดินมาถึงคำถามถัดไปโดยธรรมชาติแล้ว…
เราเอา Private Key ไปสร้าง Digital Signature
แต่…
Digital Signature ทำงานยังไงวะ?
ทำไมคนทั้งโลกถึงตรวจสอบได้ว่า Signature ถูกต้อง…
แต่ไม่มีใครสามารถเอา Signature นั้นมาย้อนหา Private Key ของเราได้ง่าย ๆ?
และ Signature กำลัง Sign อะไร กันแน่?
นี่คือ Rabbit Hole ต่อไปของเรา
Digital Signature ของ Bitcoin ทำงานอย่างไร?
เจอกันบทความหน้า ครับผม ^_^
คำถามที่พบบ่อยเกี่ยวกับ Private Key
Private Key คืออะไร?
Private Key คือข้อมูลลับทาง Cryptography ที่ Bitcoin Wallet ใช้ในการสร้าง Digital Signature เพื่ออนุญาตการ Spend Bitcoin ตาม Condition ที่ UTXO นั้นๆกำหนดเอาไว้
Private Key กับ Seed Phrase เหมือนกันไหม?
ไม่เหมือนกันเนื่องจจาก Private Key เป็น Key เฉพาะตัวหนึ่ง ส่วน Seed Phrase ใน HD Wallet สามารถใช้เป็นข้อมูลตั้งต้นในการกู้คืนและ derive Private Key จำนวนมากได้ ซึ่งเรียกได้ว่า Seed เป็นพ่อทุกสถาบัน ส่วน Private Key เป็นลูกเมียน้อย
Bitcoin อยู่ใน Hardware Wallet หรือไม่?
ไม่!!! Bitcoin ไม่ได้ถูกเก็บเป็นเหรียญอยู่ภายใน Hardware Wallet
เพราะ Hardware Wallet ก็เป็นแค่ตัวอุปกรณ์มีหน้าที่สำคัญในการปกป้อง Key และช่วย Signing Transaction
ถ้ามีคนรู้ Bitcoin Address ของเรา เขาสามารถขโมย Bitcoin ได้ไหม?
การรู้ Address อย่างเดียวไม่ได้ทำให้สามารถสร้าง Digital Signature ที่จำเป็นต่อการ Spend UTXO ได้ อย่างไรก็ตาม Bitcoin Blockchain เป็น Public Ledger จึงยังมีประเด็นด้าน Privacy ที่ต้องพิจารณา
ถ้า Private Key หาย Bitcoin จะหายไหม?
Bitcoin ไม่ได้หายออกจาก Blockchain พูดง่ายๆก็คือ Bitcoin มันไม่ได้หายไปไหน แต่ถ้าหากว่าคุณทำ Private Key หาย คุณอาจไม่สามารถ Spend Bitcoin เหล่านั้นได้อีกเลย
สามารถแชร์ Public Key หรือ Bitcoin Address ได้ไหม?
Bitcoin Address ถูกออกแบบมาเพื่อใช้รับ Bitcoin จึงสามารถแชร์ได้ตามความเหมาะสม แต่ Private Key และ Seed Phrase ต้องเก็บเป็นความลับ!
Exchange ถือ Private Key ให้เราหรือไม่?
ใน Custodial Exchange โดยทั่วไปผู้ให้บริการ Excahnge เป็นผู้ควบคุม Keys ของระบบ On-chain ให้เรา เพียงแต่เราสามารถ Login เข้าไปดูยอดเงินของเราผ่าน Website หรือ Application ของ Exchange ก็เท่านั้นเอง