This article has been translated from English to Thai.
ในบทเรียนนี้ เราจะมาดูกันว่า ลายเซ็นดิจิทัลใน Bitcoin และสกุลเงินดิจิทัลอื่นๆ ทำงานยังไงบ้าง
ก่อนจะมาถึงจุดนี้ เราต้องเรียนรู้เรื่องเทคนิคหลายๆ อย่างก่อน เพราะมันเป็นเหมือน "ตัวต่อ" ที่จำเป็นในการสร้างลายเซ็นดิจิทัล:
ถ้าคุณยังไม่คุ้นเคยกับแนวคิดเหล่านี้ เราได้อธิบายมันในบทเรียนก่อนๆ ให้เข้าใจง่ายๆ แล้ว ลองสำรวจลิงก์ด้านบนเพื่อเรียนรู้เพิ่มเติมได้เลย
ลายเซ็นดิจิทัลถูกสร้างขึ้นยังไง?
มาดูกันว่าลายเซ็นดิจิทัลถูกสร้างขึ้นยังไงกันแบบทีละขั้นตอน:
- เมื่อคุณต้องการส่งบิทคอยน์ กระเป๋าเงินของคุณจะสร้าง ข้อความการทำธุรกรรม ขึ้นมา ข้อความนี้จะมีข้อมูลเช่น จำนวนบิทคอยน์ที่ต้องการส่งและที่อยู่ของผู้รับ
- ข้อความนี้จะถูกส่งผ่าน ฟังก์ชันแฮช
- ฟังก์ชันแฮชจะให้ผลลัพธ์ที่เรียกว่า "แฮชของข้อความ" หรือแค่ "แฮช"
- แฮชของข้อความนี้จะถูก เข้ารหัส ด้วย คีย์ส่วนตัว ของคุณ
- แฮชของข้อความที่ถูก เข้ารหัส จะกลายเป็น "ลายเซ็นดิจิทัล"
นี่คือผังงานของกระบวนการนี้:
ดังนั้น ในตอนท้ายของกระบวนการนี้ กระเป๋าเงินของคุณจะสร้าง “สิ่งของ” สองอย่าง:
- ข้อความการทำธุรกรรม
- ลายเซ็นดิจิทัล (เป็นแฮชที่เข้ารหัสของข้อความการทำธุรกรรม)
ในจุดนี้ ยังไม่มีอะไรถูกส่งออกไปยังเครือข่าย Bitcoin เลย
ถ้าคุณไม่ได้สังเกต ข้อความการทำธุรกรรมเองก็จำเป็นต้องใช้เป็น “ส่วนผสม” ในการสร้างลายเซ็นดิจิทัล
ดังนั้นคุณจะไม่ใช้แค่คีย์ส่วนตัวของคุณในการสร้างลายเซ็นดิจิทัล… คุณใช้ คีย์ส่วนตัวและแฮช ของข้อความการทำธุรกรรม
นี่หมายความว่าคุณไม่สามารถใช้ลายเซ็นดิจิทัลนี้กับธุรกรรมอื่นได้ ถ้าคุณพยายามใช้ลายเซ็นดิจิทัลนี้ในธุรกรรมที่สอง มันจะถูกปฏิเสธโดยเครือข่าย Bitcoin เพราะลายเซ็นดิจิทัลเป็นเอกลักษณ์ของข้อมูลจากธุรกรรมแรก
ลายเซ็นดิจิทัลทุกอันเป็นเอกลักษณ์ของธุรกรรมเฉพาะเจาะจง
ลายเซ็นดิจิทัลถูกตรวจสอบยังไง?
เพื่อที่จะ ใช้งานบิทคอยน์จากที่อยู่บิทคอยน์หนึ่งๆ ต้อง พิสูจน์ “ความเป็นเจ้าของ” (หรือ: ความรู้เกี่ยวกับ) คีย์ส่วนตัวที่คู่กันกับคีย์สาธารณะ ที่เกี่ยวข้องกับ ที่อยู่นั้น
แต่คุณต้องการทำสิ่งนี้โดยไม่ต้องเปิดเผยคีย์ส่วนตัวของคุณ
ลายเซ็นดิจิทัล เป็นสิ่งที่คุณสามารถใช้เพื่อ พิสูจน์ว่าคุณรู้จักคีย์ส่วนตัว ที่เชื่อมโยงกับคีย์สาธารณะ โดยไม่ต้องเปิดเผยคีย์ส่วนตัวจริงๆ
มาดูกันว่ามันทำงานยังไง:
- เมื่อคุณเริ่มทำธุรกรรม Bitcoin ซอฟต์แวร์กระเป๋าเงินของคุณจะส่ง “สิ่งของ” สามอย่างให้กับเครือข่าย Bitcoin: ข้อความการทำธุรกรรมเดิม ลายเซ็นดิจิทัล และคีย์สาธารณะของคุณ (ที่ผูกอยู่กับที่อยู่ที่บิทคอยน์ที่คุณต้องการส่งถูกเก็บไว้ในตอนนี้)
- เมื่อโหนด Bitcoin ได้รับ “สิ่งของ” เหล่านี้ มันจะแยกออกมา
- มันจะนำข้อความการทำธุรกรรมเดิมและส่งผ่านฟังก์ชันแฮชเดียวกันกับที่คุณใช้ก่อนหน้านี้ (ซอฟต์แวร์ Bitcoin ทั้งหมดใช้ฟังก์ชันแฮชเดียวกัน) ส่วนลายเซ็นดิจิทัลจะใช้คีย์สาธารณะที่คุณให้มาในการถอดรหัส
- แฮชทั้งสองจะถูกเปรียบเทียบกัน
- แฮชทั้งสองตรงกันเป๊ะไหม?
- ถ้าแฮชทั้งสองตรงกัน นี่พิสูจน์ว่าคุณเป็นเจ้าของจริงของบิทคอยน์ที่คุณต้องการส่ง
นี่คือผังงานของกระบวนการนี้:

มีสองสิ่งที่ต้องระวังในที่นี้:
1. การสามารถถอดรหัสด้วยคีย์สาธารณะพิสูจน์ตัวตนของผู้ส่ง
ในขั้นตอนที่ 3 เมื่อโหนดสามารถถอดรหัสลายเซ็นดิจิทัลได้ นี่พิสูจน์ “ตัวตน” ของคุณ
จำไว้ว่าคีย์ส่วนตัวและคีย์สาธารณะมีความเชื่อมโยงทางคณิตศาสตร์ หากคุณสามารถถอดรหัสข้อความด้วยคีย์ สาธารณะ ของฉัน แสดงว่าฉันเข้ารหัสมันด้วยคีย์ ส่วนตัว ของฉัน
ถ้าคุณไม่สามารถถอดรหัสข้อความ แสดงว่ามันถูกเข้ารหัสโดยคีย์ส่วนตัวของคนอื่น และนั่นหมายความว่าข้อความไม่ได้มาจากฉัน
2. แฮชที่ตรงกันเป๊ะพิสูจน์ว่าข้อความไม่ได้ถูกเปลี่ยนแปลง
ในขั้นตอนที่ 6 การตรวจสอบให้แน่ใจว่าแฮชทั้งสองตรงกันเป๊ะจะยืนยันว่าข้อความดั้งเดิม ไม่ได้ถูกเปลี่ยนแปลง
นี่เป็นสิ่งสำคัญที่ต้องรู้เพราะแม้ว่าลายเซ็นดิจิทัลจะถูกเข้ารหัส ข้อความการทำธุรกรรมดั้งเดิมอยู่ในรูปแบบข้อความธรรมดาเพราะธุรกรรม Bitcoin ทั้งหมดเป็นสาธารณะให้ทุกคนดู
จำไว้ว่าการเปลี่ยนแปลงเพียงเล็กน้อยจะทำให้เกิดแฮชที่แตกต่างกันอย่างสิ้นเชิง ดังนั้นถ้ามีคนดักฟังข้อความการทำธุรกรรมดั้งเดิมขณะที่มันกำลังไปยังโหนดและแก้ไขมัน (เช่น เพื่อส่งบิทคอยน์ไปยังที่อยู่ของเขาเอง) เมื่อข้อความถูกส่งผ่านฟังก์ชันแฮช มันจะสร้างแฮชที่แตกต่างกันอย่างสิ้นเชิงจากลายเซ็นดิจิทัล
คล้ายกับลายเซ็นที่เขียนด้วยลายมือที่เชื่อมโยงคนกับเอกสารเฉพาะ ลายเซ็นดิจิทัลที่ใช้การเข้ารหัส…เข้ารหัสทางคณิตศาสตร์…เชื่อมโยงตัวตนกับข้อความเฉพาะ
สรุป
ตอนนี้คุณเข้าใจแล้วว่าลายเซ็นดิจิทัลถูกสร้างขึ้นและตรวจสอบอย่างไร นี่คือภาพรวมใหญ่ว่าการ “เซ็นชื่อ” ธุรกรรมหมายถึงอะไรและลายเซ็นดิจิทัลของผู้ส่งถูกใช้เพื่อยืนยันความเป็นเจ้าของบิทคอยน์ที่เขา/เธอต้องการส่งอย่างไร:

