คณิตศาสตร์เบื้องหลัง Bitcoin: Elliptic Curve Cryptography คืออะไร
บิตคอยน์ (Bitcoin) ไม่ได้เป็นเพียง “เงินในอากาศ” ที่ถูกสร้างขึ้นมาลอยๆ หัวใจของความปลอดภัยและความเป็นเจ้าของในระบบ Bitcoin ถูกค้ำประกันไว้ด้วยศาสตร์การเข้ารหัสลับขั้นสูงที่ชื่อว่า Elliptic Curve Cryptography (ECC) หรือ “การเข้ารหัสลับบนเส้นโค้งอิลลิปติก”
หลายคนอาจคุ้นเคยกับแนวคิดของ “กุญแจ” ในโลกคริปโตฯ ที่ว่าเรามี Private Key (กุญแจส่วนตัว) ที่ต้องเก็บไว้เป็นความลับ และ Public Key (กุญแจสาธารณะ) ที่เราส่งให้คนอื่นได้
แต่คณิตศาสตร์อะไรที่เชื่อมโยงกุญแจทั้งสองนี้เข้าด้วยกัน? ทำไมเราถึงมั่นใจได้ว่าคนอื่นที่มี Public Key ของเรา จะไม่สามารถคำนวณย้อนกลับมาเป็น Private Key ของเราได้?
คำตอบอยู่ในความมหัศจรรย์ของ “เส้นโค้งอิลลิปติก” ครับ
🗝️ เปรียบเทียบกับการล็อกกุญแจจริง: แม่กุญแจอัจฉริยะ
เพื่อให้เข้าใจง่ายที่สุด ลองนึกถึงการทำงานของกุญแจแบบดั้งเดิมเทียบกับกุญแจที่ ECC ใช้
-
กุญแจบ้าน (แบบสมมาตร): คุณมีกุญแจ 1 ดอก ที่ใช้ทั้ง “ล็อก” และ “ปลดล็อก” ประตู ถ้าคุณอยากให้เพื่อนเข้าบ้านได้ คุณต้อง “ปั๊มกุญแจ” (คัดลอก Private Key) ให้เขา ซึ่งนี่เป็นความเสี่ยงอย่างมาก
-
กุญแจแบบ ECC (แบบอสมมาตร): นี่คือจุดที่ต่างออกไป ลองจินตนาการว่า ECC สร้าง “ชุดแม่กุญแจอัจฉริยะ” ให้คุณ ซึ่งประกอบด้วย 2 ส่วน:
-
Public Key (กุญแจสาธารณะ): นี่คือ “แม่กุญแจที่เปิดค้างไว้” (An Open Padlock) คุณสามารถคัดลอกแม่กุญแจนี้กี่อันก็ได้ แล้วส่งไปให้ใครก็ได้ในโลก
-
Private Key (กุญแจส่วนตัว): นี่คือ “ลูกกุญแจ” เพียงดอกเดียวในจักรวาล ที่สามารถ “ปลดล็อก” แม่กุญแจที่เปิดค้างไว้นั้นได้ (หรือในความเป็นจริง คือใช้ “เซ็น” ธุรกรรม)
-
สถานการณ์:
เพื่อนของคุณต้องการส่งของล้ำค่า (เช่น Bitcoin) มาให้คุณใน “กล่อง”
-
คุณส่ง Public Key (แม่กุญแจที่เปิดอยู่) ให้เพื่อน
-
เพื่อนนำของใส่กล่อง และใช้ Public Key ของคุณ “กดล็อก” กล่องนั้น
-
เมื่อแม่กุญแจถูกกดล็อกแล้ว มันจะไม่สามารถเปิดได้อีก แม้แต่ตัวเพื่อนคุณเองที่เพิ่งกดล็อกไปก็เปิดไม่ได้!
-
กล่องนี้ถูกส่งมาหาคุณ
-
มีเพียงคุณคนเดียวที่มี Private Key (ลูกกุญแจ) ที่สามารถไขกล่องนี้และเอาของข้างในออกมาได้
ความมหัศจรรย์ของ ECC คือ การเป็นไปไม่ได้ ที่คนอื่นซึ่งเห็น “แม่กุญแจที่เปิดอยู่” (Public Key) จะสามารถสร้าง “ลูกกุญแจ” (Private Key) ขึ้นมาเลียนแบบได้
➗ เส้นโค้งอิลลิปติก (Elliptic Curve) คืออะไร?
แล้วคณิตศาสตร์สร้าง “กุญแจที่ย้อนกลับไม่ได้” นี้ได้อย่างไร?
คำตอบคือ มันไม่ได้ใช้เส้นโค้งธรรมดา แต่ใช้ “เส้นโค้งอิลลิปติก” ซึ่งโดยทั่วไปจะมีสมการหน้าตาประมาณนี้:
แต่สิ่งสำคัญไม่ได้อยู่ที่ “รูปทรง” ของกราฟ แต่อยู่ที่ “การดำเนินการทางคณิตศาสตร์” ที่เราสามารถทำบนจุดต่างๆ บนเส้นโค้งนี้ได้
นักคณิตศาสตร์ค้นพบว่า เราสามารถ “บวก” จุดบนเส้นโค้งนี้เข้าด้วยกันได้ (เรียกว่า Point Addition) มันไม่ใช่การบวกเลขแบบ 1+1=2 แต่เป็นกฎทางเรขาคณิตที่ว่า:
“ถ้าเอาจุด P มา ‘บวก’ กับจุด Q (ลากเส้นตรงผ่าน P และ Q) มันจะได้จุดใหม่ -R และเมื่อสะท้อนจุดนั้นข้ามแกน X ก็จะได้จุด R ซึ่งเป็นผลลัพธ์ (P + Q = R) และจุด R นั้นก็จะยังคงอยู่บนเส้นโค้ง”
การค้นพบที่สำคัญกว่านั้นคือ “การบวกจุดเดิมซ้ำๆ” (Point Multiplication)
🔒 กลไก “กับดัก” ที่สร้างกุญแจ
นี่คือหัวใจของ ECC ที่ใช้ใน Bitcoin:
-
จุดเริ่มต้น (G): นักคณิตศาสตร์ทั้งโลกตกลงกันว่าจะใช้เส้นโค้งสมการไหน และจะใช้ “จุดเริ่มต้น” (Base Point) ที่ชื่อว่า G ซึ่งเป็นจุดที่ทุกคนรู้กัน (เปรียบเหมือน “สีตั้งต้น” หรือ “แม่กุญแจที่ยังไม่ผลิต”)
-
การสร้าง Private Key (k): นี่คือส่วนของคุณ คุณแค่ “สุ่ม” ตัวเลขขนาดมหึมาขึ้นมา 1 ตัว (เช่น ตัวเลข 256-bit) เลขนี้คือ Private Key (k) ของคุณ และคุณต้องเก็บมันเป็นความลับสุดยอด
-
การสร้าง Public Key (K): นี่คือคณิตศาสตร์ที่เกิดขึ้น:
-
คุณนำจุด G มา “บวก” กับตัวเองซ้ำๆ เป็นจำนวน k ครั้ง (ตามเลข Private Key ของคุณ)
-
K = G + G + G + … + G (บวกกัน k ครั้ง)
-
หรือเขียนย่อๆ ว่า K = kG
-
ผลลัพธ์ที่ได้คือจุดใหม่ที่ชื่อว่า K ซึ่งก็ยังอยู่บนเส้นโค้งเดิม จุด K นี้คือ Public Key ของคุณ
-
นี่คือ “กับดัก” (Trapdoor Function) ที่สำคัญที่สุด:
-
ทางไป (ง่าย): ถ้าคุณรู้ k (Private Key) และ G (จุดเริ่มต้น) การคำนวณหา K (Public Key) นั้น ง่ายมาก (คอมพิวเตอร์ทำได้ในเสี้ยววินาที)
-
ทางกลับ (เป็นไปไม่ได้): ถ้าคุณรู้ K (Public Key) และ G (จุดเริ่มต้น) การที่จะคำนวณย้อนกลับว่า “ต้องเอา G มาบวกกันกี่ครั้ง (k) ถึงจะได้ K” นั้น เป็นไปไม่ได้ในทางปฏิบัติ
มันเหมือนกับการ “ผสมสี” ครับ:
-
Private Key (k): คือ “สูตรลับ” (เช่น หยดสีแดง 5 ครั้ง, สีเหลือง 3 ครั้ง)
-
Public Key (K): คือ “สีสุดท้าย” ที่ผสมเสร็จ (เช่น สีส้มเฉดพิเศษ)
มันง่ายมากที่จะทำตามสูตร (k) เพื่อให้ได้สีสุดท้าย (K) แต่ถ้าผมยื่น “สีส้ม” (K) ให้คุณ แล้วถามว่า “ผมใช้สีแดงกับสีเหลืองผสมกันกี่หยด?” คุณไม่มีทางตอบได้เลย
สรุป: จากคณิตศาสตร์สู่ความปลอดภัย
ในโลกของ Bitcoin:
-
Private Key (k) ของคุณคือ “สูตรลับ” ที่เก็บไว้ใน Wallet ของคุณ
-
Public Key (K) ของคุณคือ “สีที่ผสมแล้ว” ที่คุณโชว์ให้คนอื่นดู (ซึ่งจะถูกแปลงเป็น Bitcoin Address อีกที)
เมื่อคุณต้องการ “ใช้” Bitcoin (เช่น โอนเงิน) คุณไม่ได้ “ไขกุญแจ” แต่คุณกำลังใช้ Private Key (k) ของคุณเพื่อ “เซ็นชื่อ” (Sign) บนข้อความธุรกรรมนั้น
คนทั้งโลกในเครือข่าย Bitcoin สามารถใช้ Public Key (K) ของคุณ (ซึ่งพวกเขารู้) มา “พิสูจน์” ว่าลายเซ็นนั้นถูกต้อง และมาจากเจ้าของ Private Key ตัวจริง โดยที่พวกเขาไม่จำเป็นต้องรู้เลยว่า Private Key (k) ของคุณคืออะไร
นี่คือความสง่างามของ Elliptic Curve Cryptography ที่อนุญาตให้เรา “พิสูจน์ความเป็นเจ้าของ” โดยไม่จำเป็นต้อง “เปิดเผยความลับ” ซึ่งเป็นรากฐานที่ทำให้ระบบการเงินแบบกระจายศูนย์อย่าง Bitcoin เป็นไปได้จริงครับ

ความคิดเห็น