This article has been translated from English to Thai.

ในบทเรียนนี้ เราจะมาดูกันว่า ลายเซ็นดิจิทัลใน Bitcoin และสกุลเงินดิจิทัลอื่นๆ ทำงานยังไงบ้าง

ก่อนจะมาถึงจุดนี้ เราต้องเรียนรู้เรื่องเทคนิคหลายๆ อย่างก่อน เพราะมันเป็นเหมือน "ตัวต่อ" ที่จำเป็นในการสร้างลายเซ็นดิจิทัล:

ถ้าคุณยังไม่คุ้นเคยกับแนวคิดเหล่านี้ เราได้อธิบายมันในบทเรียนก่อนๆ ให้เข้าใจง่ายๆ แล้ว ลองสำรวจลิงก์ด้านบนเพื่อเรียนรู้เพิ่มเติมได้เลย

ลายเซ็นดิจิทัลถูกสร้างขึ้นยังไง?

มาดูกันว่าลายเซ็นดิจิทัลถูกสร้างขึ้นยังไงกันแบบทีละขั้นตอน:

  1. เมื่อคุณต้องการส่งบิทคอยน์ กระเป๋าเงินของคุณจะสร้าง ข้อความการทำธุรกรรม ขึ้นมา ข้อความนี้จะมีข้อมูลเช่น จำนวนบิทคอยน์ที่ต้องการส่งและที่อยู่ของผู้รับ
  2. ข้อความนี้จะถูกส่งผ่าน ฟังก์ชันแฮช
  3. ฟังก์ชันแฮชจะให้ผลลัพธ์ที่เรียกว่า "แฮชของข้อความ" หรือแค่ "แฮช"
  4. แฮชของข้อความนี้จะถูก เข้ารหัส ด้วย คีย์ส่วนตัว ของคุณ
  5. แฮชของข้อความที่ถูก เข้ารหัส จะกลายเป็น "ลายเซ็นดิจิทัล"

นี่คือผังงานของกระบวนการนี้:

How a Digital Signature is Created

ดังนั้น ในตอนท้ายของกระบวนการนี้ กระเป๋าเงินของคุณจะสร้าง “สิ่งของ” สองอย่าง:

  1. ข้อความการทำธุรกรรม
  2. ลายเซ็นดิจิทัล (เป็นแฮชที่เข้ารหัสของข้อความการทำธุรกรรม)

ในจุดนี้ ยังไม่มีอะไรถูกส่งออกไปยังเครือข่าย Bitcoin เลย

ถ้าคุณไม่ได้สังเกต ข้อความการทำธุรกรรมเองก็จำเป็นต้องใช้เป็น “ส่วนผสม” ในการสร้างลายเซ็นดิจิทัล

ดังนั้นคุณจะไม่ใช้แค่คีย์ส่วนตัวของคุณในการสร้างลายเซ็นดิจิทัล… คุณใช้ คีย์ส่วนตัวและแฮช ของข้อความการทำธุรกรรม

นี่หมายความว่าคุณไม่สามารถใช้ลายเซ็นดิจิทัลนี้กับธุรกรรมอื่นได้ ถ้าคุณพยายามใช้ลายเซ็นดิจิทัลนี้ในธุรกรรมที่สอง มันจะถูกปฏิเสธโดยเครือข่าย Bitcoin เพราะลายเซ็นดิจิทัลเป็นเอกลักษณ์ของข้อมูลจากธุรกรรมแรก

ลายเซ็นดิจิทัลทุกอันเป็นเอกลักษณ์ของธุรกรรมเฉพาะเจาะจง

ลายเซ็นดิจิทัลถูกตรวจสอบยังไง?

เพื่อที่จะ ใช้งานบิทคอยน์จากที่อยู่บิทคอยน์หนึ่งๆ ต้อง พิสูจน์ “ความเป็นเจ้าของ” (หรือ: ความรู้เกี่ยวกับ) คีย์ส่วนตัวที่คู่กันกับคีย์สาธารณะ ที่เกี่ยวข้องกับ ที่อยู่นั้น

แต่คุณต้องการทำสิ่งนี้โดยไม่ต้องเปิดเผยคีย์ส่วนตัวของคุณ

ลายเซ็นดิจิทัล เป็นสิ่งที่คุณสามารถใช้เพื่อ พิสูจน์ว่าคุณรู้จักคีย์ส่วนตัว ที่เชื่อมโยงกับคีย์สาธารณะ โดยไม่ต้องเปิดเผยคีย์ส่วนตัวจริงๆ

มาดูกันว่ามันทำงานยังไง:

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

นี่คือผังงานของกระบวนการนี้:

How a Digital Signature is Verified

มีสองสิ่งที่ต้องระวังในที่นี้:

1. การสามารถถอดรหัสด้วยคีย์สาธารณะพิสูจน์ตัวตนของผู้ส่ง

ในขั้นตอนที่ 3 เมื่อโหนดสามารถถอดรหัสลายเซ็นดิจิทัลได้ นี่พิสูจน์ “ตัวตน” ของคุณ

จำไว้ว่าคีย์ส่วนตัวและคีย์สาธารณะมีความเชื่อมโยงทางคณิตศาสตร์ หากคุณสามารถถอดรหัสข้อความด้วยคีย์ สาธารณะ ของฉัน แสดงว่าฉันเข้ารหัสมันด้วยคีย์ ส่วนตัว ของฉัน

ถ้าคุณไม่สามารถถอดรหัสข้อความ แสดงว่ามันถูกเข้ารหัสโดยคีย์ส่วนตัวของคนอื่น และนั่นหมายความว่าข้อความไม่ได้มาจากฉัน

2. แฮชที่ตรงกันเป๊ะพิสูจน์ว่าข้อความไม่ได้ถูกเปลี่ยนแปลง

ในขั้นตอนที่ 6 การตรวจสอบให้แน่ใจว่าแฮชทั้งสองตรงกันเป๊ะจะยืนยันว่าข้อความดั้งเดิม ไม่ได้ถูกเปลี่ยนแปลง

นี่เป็นสิ่งสำคัญที่ต้องรู้เพราะแม้ว่าลายเซ็นดิจิทัลจะถูกเข้ารหัส ข้อความการทำธุรกรรมดั้งเดิมอยู่ในรูปแบบข้อความธรรมดาเพราะธุรกรรม Bitcoin ทั้งหมดเป็นสาธารณะให้ทุกคนดู

จำไว้ว่าการเปลี่ยนแปลงเพียงเล็กน้อยจะทำให้เกิดแฮชที่แตกต่างกันอย่างสิ้นเชิง ดังนั้นถ้ามีคนดักฟังข้อความการทำธุรกรรมดั้งเดิมขณะที่มันกำลังไปยังโหนดและแก้ไขมัน (เช่น เพื่อส่งบิทคอยน์ไปยังที่อยู่ของเขาเอง) เมื่อข้อความถูกส่งผ่านฟังก์ชันแฮช มันจะสร้างแฮชที่แตกต่างกันอย่างสิ้นเชิงจากลายเซ็นดิจิทัล

คล้ายกับลายเซ็นที่เขียนด้วยลายมือที่เชื่อมโยงคนกับเอกสารเฉพาะ ลายเซ็นดิจิทัลที่ใช้การเข้ารหัส…เข้ารหัสทางคณิตศาสตร์เชื่อมโยงตัวตนกับข้อความเฉพาะ

สรุป

ตอนนี้คุณเข้าใจแล้วว่าลายเซ็นดิจิทัลถูกสร้างขึ้นและตรวจสอบอย่างไร นี่คือภาพรวมใหญ่ว่าการ “เซ็นชื่อ” ธุรกรรมหมายถึงอะไรและลายเซ็นดิจิทัลของผู้ส่งถูกใช้เพื่อยืนยันความเป็นเจ้าของบิทคอยน์ที่เขา/เธอต้องการส่งอย่างไร:

Digital Signature Process