Private Key คืออะไร ทำไมคนที่ถือ Key ถึงควบคุม Bitcoin ได้

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 ก็เท่านั้นเอง

Similar Posts

  • UTXO คืออะไร? ทำไม Bitcoin ถึงไม่มี Balance อยู่จริง

    UTXO คืออะไร? ถ้าคุณเพิ่งเริ่มศึกษา Bitcoin คำนี้อาจฟังดูเหมือนศัพท์เทคนิคที่เข้าใจยาก แต่จริง ๆ แล้ว UTXO คือหนึ่งในแนวคิดพื้นฐานที่สุดของ Bitcoin และถ้าคุณเข้าใจมัน คุณจะเริ่มเห็นทันทีว่า Bitcoin ทำงานแตกต่างจากบัญชีธนาคารที่เราใช้กันทุกวันอย่างไร ถ้าผมถามคุณว่า… “ตอนนี้คุณมีเงินอยู่ในบัญชีธนาคารเท่าไหร่?” คุณอาจเปิด Mobile Banking ขึ้นมา แล้วตอบว่า ฉันมีเงินอยู่ 50,000 บาท ก็โอเค๊ นั่นมันง่ายมาก เพราะระบบธนาคารทำให้เราคุ้นเคยกับสิ่งที่เรียกว่า Account Base Balance แน่นอนว่าธนาคารมีบัญชีของคุณที่เป็นระบบฐานข้อมูล Databaseและในบัญชีนั้นมีตัวเลขเขียนเอาไว้ว่า นาย A มีเงิน = 50,000 บาท ถ้าคุณโอนให้ Bob 10,000 บาท ระบบก็ทำหน้าที่หักลบตัวเลขออกประมาณว่า: นาย A เหลือยอดเงินในบัญชีคือ : 50,000 → 40,000 บาท และนาย Bob ก็จะมียอดเงินเพิ่มขึ้นเป็น…

  • Digital Signature คืออะไร? Bitcoin พิสูจน์ว่าเป็นเจ้าของได้อย่างไร โดยไม่เปิดเผย Private Key

    Digital Signature คืออะไร? ถ้าผมบอกคุณว่า… ผมสามารถพิสูจน์กับคนทั้งโลกได้ว่า “ผมมี Private Key ของแท้” โดยที่… ผมไม่ต้องเอา Private Key ให้ใครดูเลยแม้แต่นิดเดียว คุณจะเชื่อมั้ย? หรือคุณอาจถามว่า : “แล้วกูจะรู้ได้ยังไงว่ามึงมีของจริง?” 😂 นี่แหละครับคือหนึ่งในความมหัศจรรย์ของ Cryptography ที่ Bitcoin ใช้ ในบทความก่อนหน้าเรื่อง Private Key คืออะไร? ทำไมคนที่ถือ Key ถึงควบคุม Bitcoin ได้? เรารู้แล้วว่า Private Key ไม่ใช่ Password และ Bitcoin ก็ไม่ได้ถูกเก็บอยู่ใน Private Key Private Key คือ Secret ที่สามารถนำมาใช้สร้างหลักฐานทาง Cryptography เพื่ออนุญาตให้เราทำการ Spend Bitcoin ตามเงื่อนไขที่กำหนดไว้ได้อย่างสบายใจ ซึ่งอีหลักฐานที่ว่านี้คือสิ่งที่เรียกว่า :…

  • Bitcoin Transaction คืออะไร? วิธีสร้างด้วยมือเปล่าใน 8 ขั้นตอน

    เคยสงสัยไหมว่า ตอนที่เรากด Send Bitcoin ใน Wallet จริง ๆ แล้วเบื้องหลังมันกำลังทำอะไรอยู่? ถ้าวันหนึ่งไม่มี Wallet ให้ใช้ไม่มีปุ่ม Send ให้กดไม่มีหน้าจอสวย ๆ มาคอยจัดการทุกอย่างให้เรา… เรายังสามารถสร้าง Bitcoin Transaction ขึ้นมาเองได้ไหม? คำตอบคือ ได้ บทความนี้เราจะลองถอด Wallet ออกทีละชั้น แล้วสร้าง Bitcoin Transaction “ด้วยมือเปล่า” ตั้งแต่การเลือก Tools ที่เราจะใช้, กำหนดว่าจะส่งมันไปที่ไหน, สร้าง Transaction ขึ้นมา ไปจนถึงการเซ็น Transaction ก่อนส่งออกไปยัง Bitcoin Network เป้าหมายไม่ใช่การทรมานตัวเองด้วยการทำสิ่งที่ Wallet ทำให้เราได้ภายในไม่กี่วินาที 😆 แต่คือการเปิดฝากระโปรงดูว่า Bitcoin ทำงานอย่างไรจริง ๆ เพราะเมื่อคุณสร้าง Transaction เองได้สักครั้ง คำว่า UTXO, Input,…