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 ซึ่งหากอยากรู้ว่า Address ของคุณเป็นประเภทไหน? ก็สามาระดูได้จากรหัสที่นำหน้า Address ดังตัวอย่างต่อไปนี้

1... → Legacy
3... → commonly Nested SegWit (though not exclusively)
bc1q... → Native SegWit
bc1p... → 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 ก็เท่านั้นเอง


แล้วคำว่า “เป็นเจ้าของ” Bitcoin หมายความว่าอะไรกันแน่?

ตอนเริ่มบทความนี้ เราถามคำถามง่าย ๆ ว่า

Private Key คืออะไร?

ตอนแรกมันดูเหมือนคำตอบก็น่าจะง่ายเหมือนกัน

มันคือกุญแจของ Bitcoin

แต่พอเปิดฝากระโปรงลงไปจริง ๆ

แม่งมันไม่ใช่แบบนั้นเลย

Bitcoin ไม่ได้อยู่ใน Private Key

ไม่ได้อยู่ใน Hardware Wallet

ไม่ได้อยู่ใน Seed Phrase ที่เราเขียนเก็บไว้

และบน Blockchain ก็ไม่มีช่องไหนเขียนว่า

Owner : DJ Tar

Bitcoin ไม่รู้ด้วยซ้ำว่าคุณเป็นใคร

มันไม่รู้ชื่อ

ไม่รู้เลขบัตรประชาชน

ไม่รู้ว่าคุณซื้อ Bitcoin ก้อนนี้มาจากไหน

และมันก็ไม่สนด้วย

สิ่งที่ Protocol สนใจมีแค่ว่า

UTXO ก้อนนี้มีเงื่อนไขในการ Spend อย่างไร?

และ Transaction ที่กำลังเข้ามา

สามารถให้หลักฐานที่ทำให้เงื่อนไขนั้นสำเร็จได้หรือเปล่า?

Private Key จึงไม่ได้ทำให้ Bitcoin Network “รู้ว่าคุณคือเจ้าของ”

มันทำอะไรที่แปลกกว่านั้น

มันทำให้คุณสามารถสร้าง Digital Signature เพื่อพิสูจน์สิทธิในการ Spend ได้ โดยไม่ต้องเปิดเผย Secret ที่ใช้สร้างหลักฐานนั้นออกมา

ไม่มี Account Department คอยเปลี่ยนชื่อเจ้าของ

ไม่มี Database กลางบันทึกว่า Bitcoin ก้อนนี้เป็นของใคร

ไม่มี Call Center ที่รู้จักคุณ

มีแค่

กฎ

Secret

และก็

Proof

พอคิดมาถึงตรงนี้ ผมเลยรู้สึกว่าประโยค

Not Your Keys, Not Your Coins

จริง ๆ แล้วลึกกว่าคำเตือนเรื่อง Exchange เยอะ

เพราะสิ่งที่ Bitcoin กำลังเปลี่ยนอาจไม่ใช่แค่ว่า

“เราจะเก็บเงินไว้ที่ไหน?”

แต่มันกำลังเล่นกับคำถามที่พื้นฐานกว่านั้นมาก

ถ้าไม่มีบริษัท ไม่มีธนาคาร และไม่มีใครรู้ด้วยซ้ำว่าผมเป็นใคร…คำว่า “ของผม” เกิดขึ้นจากอะไรกัน ?

Similar Posts

  • Bitcoin Node คืออะไร? ทำไม Bitcoin ถึงไม่ต้องมีใครเป็นคนกลาง

    ในบทความที่แล้วเราเพิ่งคุยกันเรื่อง Digital Signature ว่า Bitcoin สามารถตรวจสอบได้ว่า Transaction นึงนั้นมี Signature ที่ถูกต้องหรือไม่? โดยที่เจ้าของ Private Key ไม่ต้องเอา Secret Key ของตัวเองออกมาเปิดเผยให้ใครเห็นเลยแม้แต่คนเดียว มันก็…ฟังดูดีนะครับ แต่พอผมคิดต่อไปอีกนิดนึงแล้ว มันเสือกมีคำถามหนึ่งโผล่ขึ้นมาในหัว แล้วใครเป็นคนตรวจสอบวะ? ใครที่เป็นคนบอกเราว่า Signature อันนี้ถูกต้อง? ใครเป็นคนบอกว่า UTXO ที่กำลังจะถูก Spend นี้มีอยู่จริง และมันยังเป็น UTXO ที่ไม่เคยถูกใช้ไปแล้ว? ใครเป็นคนบอกว่า Transaction นี้ไม่ได้ถูกเสกเพิ่มขึ้นมาจากอากาศ? แล้วถ้าวันหนึ่ง Miner เสือกบอกว่า “กูขุด Block นี้ได้แล้วนะ” ใครเป็นคนบอกว่า Block ที่มันขุดมานั้นถูกต้องตามกฎของ Bitcoin? ถ้าคำตอบของเราคือ “ก็ Server กลางของ Bitcoin ไง” งั้นเราก็มีปัญหาแล้วล่ะ เพราะถ้ามี Server กลางสักเครื่องเป็นคนบอกทุกคนว่าอะไรของจริง…

  • Blockchain คืออะไร? ลองสร้าง Blockchain ของ Bitcoin ขึ้นมาด้วยมือกัน

    ตอนผมรู้จักคำว่า Blockchain ใหม่ ๆ ผมจำได้ว่ามันมักจะมาพร้อมกับ Diagram หน้าตาประมาณนี้ แล้วก็มีคำอธิบายประมาณว่า Blockchain คือเทคโนโลยีบัญชีแบบกระจายศูนย์ ที่จัดเก็บข้อมูลเป็น Block และเชื่อมต่อกันด้วย Cryptography อืม…ก็นะ อ่านแล้วดูฉลาดขึ้นมาทันที แต่กูก็ไม่ได้เข้าใจอะไรเลย 😂 และคำถามก็ยังคงวนเวียนอยู่ในหัวของผมว่า Blockchain คืออะไร? ข้างใน Blockchain มันมีอะไร? แล้วมันเอา Block มาต่อกันได้ยังไง? ใครเป็นคนต่อ? ใครเป็นคนเก็บ เก็บไว้ที่ไหน? แล้วทำไมคนชอบพูดว่า Blockchain นั้นไม่สามารถแก้ไขข้อมูลย้อนหลังได้? แล้วถ้ากูเปิด Notepad ขึ้นมาแล้วเขียน Block #1 Block #2 Block #3 แล้ววาดลูกศรต่อกัน… นี่คือ….กูสร้าง Blockchain แล้วหรือยังวะ? ตอนผมเริ่มศึกษา Bitcoin จริง ๆ ผมถึงเริ่มรู้สึกว่า บางทีเราอาจเรียนเรื่อง Blockchain ผิดทางกันมาตั้งแต่แรก ซึ่งเวลาที่มีใครสักคนจะสอนวิธีการทำงานของ…

  • Bitcoin Address คืออะไร? มันถูกสร้างมาจาก Private Key ได้อย่างไร?

    ครั้นนึกถึงตอนผมเป็นมือใหม่แล้วเพิ่งเริ่มได้สัมผัสกับ Bitcoin ซึ่งในช่วงเวลานั้นผมเข้าใจเรื่อง Address ง่ายมากครับ 1.เปิด Wallet 2.กด Receive Application ของ Exchange มันก็โยนตัวหนังสือยาว ๆ มาให้ชุดหนึ่ง ซึ่งจะมีหน้าตาประมาณนี้ bc1q… พร้อม QR Code ยึก ๆ ยือ ๆ อันนึง จากนั้นผมก็ทำการ Copy แล้วส่งให้คนที่จะโอน Bitcoin มาให้ จบข่าวในพระราชสำนัก… Bitcoin Address ก็คงเหมือนเลขบัญชีธนาคารนั่นแหละ ง่ายชิบหาย 😂 จนวันหนึ่งผมเริ่มสังเกตว่า… ทำไม Address ของบางคนขึ้นต้นด้วย 1 บางอันขึ้นต้นด้วย 3 แต่ของผมแม่งเสือกเป็น bc1q แล้วหลัง ๆ ดันมี bc1p โผล่มาอีก อ้าว…อี่ยังวะ ? แบบใด๋ ? ตกลงแล้ว…

  • Bitcoin Self Custody คืออะไร? Not Your Keys, Not Your Coins หมายความว่าอะไร?

    นึกย้อนกลับไปในตอนผมเริ่มซื้อ Bitcoin ใหม่ ๆ ผมก็ซื้อจาก Exchange เหมือนคนทั่วไปนี่แหละ จุดเริ่มต้นมันก็มาจาก สมัคร Account ก่อนเลย ละก็ KYC (ถ่ายรูปบัตรประชาชน ละก็ หันซ้าย หันขวา อ้าปาก พยักหน้า กระพริบตา) จากนั้นก็โอนเงินบาทเข้าไป ละก็เลือก BTC จากนั้นก็กด Buy แล้วมันก็ขึ้นที่หน้าจอก็ว่า 0.01 BTC โอเค๊… กูมี Bitcoin แล้ว ง่ายดี 😂 แต่พอศึกษาไปเรื่อย ๆ ผมก็เริ่มได้ยินประโยคหนึ่งซ้ำแล้วซ้ำอีก นั่นก็คือ Not Your Keys, Not Your Coins ตอนแรกผมก็คิดว่า Bitcoin ก็อยู่ใน Account กูนี่หว่า ชื่อก็ชื่อกู Password กูก็รู้ 2FA ก็อยู่ในมือถือกู แล้วทำไมมันถึงไม่ใช่…

  • Bitcoin Lightning Network ทำงานอย่างไร? จากการเปิด Channel ไปจนถึงการจ่ายค่ากาแฟภายในไม่กี่วินาที

    มีความจริงอยู่หนึ่งประการที่ใครๆก็รู้กันนั่นก็คือ Bitcoin มี Block ใหม่เกิดขึ้นโดยเฉลี่ยประมาณทุก ๆ 10 นาที และบางช่วงเราก็อาจต้องรอนานกว่านั้นเพราะ Block Time ของ Bitcoin มันเกิดจากการประมาณการซึ่งมันไม่แน่ไม่นอน ยิ่งถ้าหากว่าเราจะรอให้มันเกิดหลาย Confirmation ก็จะยิ่งนานเข้าไปใหญ่ คุณลองคิดดูนะ ถ้าวันหนึ่งผมเดินเข้าไปในร้านกาแฟเพื่อซื้อกาแฟ จากนั้นผมก็หยิบโทรศัพท์ขึ้นมา แล้วผมก็เปิด Lightning Wallet จากนั้นผมก็ Scan QR Code ละก็กดปุ่ม PAY … ติ๊ง! ⚡ แล้วพนักงานของร้านก็บอกว่าได้รับ Bitcoin แล้ว ทั้งหมดนี่ใช้เวลาเพียงไม่กี่วินาที เอ๊ะ… แต่เดี๋ยวนะ… Block ใหม่แม่งยังไม่เกิดเลยนี่หว่า 😂 แล้ว Transaction ของผมอยู่ใน Block ไหน? แล้ว Miner คนไหนขุดมัน? แล้ว Transaction ของผมที่จ่ายค่ากาแฟนี่ได้กี่ Confirmation แล้ว? เมื่อผมเปิด…

  • 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 ตามเงื่อนไขที่กำหนดไว้ได้อย่างสบายใจ ซึ่งอีหลักฐานที่ว่านี้คือสิ่งที่เรียกว่า :…