Digital Signature คืออะไร และทำงานอย่างไร

บล็อกเชนใช้ลายเซ็นดิจิทัลเป็นส่วนสำคัญของกระบวนการตรวจสอบแบบไม่มีศูนย์กลาง ทำให้เกิดวิธีการยืนยันอย่างปลอดภัยโดยไม่เปิดเผยตัวตนของผู้ใช้

บทนำ

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

อย่างไรก็ตาม เทคโนโลยีบล็อกเชนได้เป็นที่นิยมกันมาโดยใช้ลายเซ็นดิจิทัลเป็นส่วนสำคัญของกระบวนการตรวจสอบและการยืนยันธุรกรรมในระบบที่กระจายและของบทความนี้จะสำรวจอย่างใองการทำงานของลายเซ็นดิจิทัล อัลกอริทึมต่างๆที่ใช้โดยบล็อกเชน และการประยุกต์ใช้งานของพวกเขาในพื้นที่ Web3

เข้าใจลายเซ็นดิจิทัล

แหล่งที่มา: CoinGeek

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

โดยปกติลายเซ็นต์รับรองให้สัญญามีผลผูกพันทางกฎหมาย ยืนยันตัวตนของผู้ที่เกี่ยวข้อง และมีการยอมรับที่แน่นอนของเงื่อนไขของสัญญา ลายเซ็นดิจิทัลก้าวไปอีกขั้นเพื่อแก้ปัญหาการเปลี่ยนแปลงและการปลอมแปลงซึ่งทำให้มันเป็นรูปแบบของลายเซ็นที่ปลอดภัยกว่า

คุณสมบัติของลายเซ็นดิจิทัล

คุณลักษณะหลักของลายเซ็นดิจิทัลคือ:

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

การเข้ารหัสแบบไม่สมมาตร

แหล่งที่มา: WikiBooks

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

ในการเข้ารหัสลับ, กุญแจมักเป็นสตริงของตัวเลขและตัวอักษร ที่ใช้ในการสลับข้อมูลเพื่อให้ดูเหมือนสุ่ม อย่างไรก็ตาม ผู้ใดมีกุญแจที่ถูกต้องสำหรับการถอดรหัสข้อมูลสามารถเรียงข้อมูลใหม่ให้กลับไปสู่รูปแบบเดิม

ตัวอย่างเช่น สมมติว่าเราเอาภาพหนึ่ง และเข้ารหัสด้วยคีย์ ขอเรียกว่าคีย์คือ 28j932d8kd8 ภาพของเราจะถูกเห็นว่า "X5CSycg14=xJ" อย่างไรก็ตาม โดยการถอดรหัสด้วยคีย์ที่ถูกต้อง เราสามารถได้ภาพของเรากลับมา

คำศัพท์สำคัญที่คุณต้องเข้าใจ

การทำแฮช

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

แหล่งข้อมูล: CyberHoot

ในภาพด้านบน ชิ้นข้อความ (ปริศนา) ผ่านฟังก์ชันแฮช (SHA-256) และถูกแปลงเป็นแฮช (ความยาวคงที่ของตัวเลขและตัวอักษร)

ฟังก์ชันแฮชคืออะไร?

อัลกอริทึมที่ประมวลผลข้อมูลที่จะทำเครื่องหมายลายเซ็น, โดยสร้างค่าแฮชขนาดคงที่ ฟังก์ชันแฮช ทำให้ลายเซ็นเหลือความยาวคงที่ โดยไม่ว่าขนาดของข้อมูลเดิมจะเป็นอย่างไร

ค่าแฮช

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

วิธีการทำงานของลายเซ็นดิจิทัลคืออะไร?

เพื่อดำเนินการลายเซ็นดิจิทัล คุณจะต้องใช้สิ่งต่อไปนี้:

  1. คู่กุญแจ: คู่กุญแจประกอบด้วยคู่กุญแจสาธารณะ/ส่วนตัว คีย์ส่วนตัวใช้สร้างลายเซ็นเจาะจงและคีย์สาธารณะที่สอดคล้องใช้ตรวจสอบลายเซ็น

  2. ข้อมูลที่จะถูกลงนาม: เนื้อหาหรือข้อความที่คุณต้องการลงนาม นี่อาจเป็นเอกสาร ธุรกรรม หรือข้อมูลดิจิทัลใดก็ได้

  3. ฟังก์ชันแฮช: ฟังก์ชันแฮชถูกใช้กับข้อมูลเพื่อสร้างค่าแฮชขนาดคงที่ ค่าแฮชนี้จึงถูกเข้ารหัสด้วยกุญแจส่วนตัวเพื่อสร้างลายเซ็นดิจิทัล

  4. อัลกอริทึมลายเซ็นดิจิทัล: อัลกอริทึมที่รวมกุญแจส่วนตัวกับข้อมูลที่ต้องการลงชื่อโดยทั่วไปเกี่ยวข้องกับฟังก์ชันแฮช อัลกอริทึมนี้สร้างลายเซ็นดิจิทัล

  5. กลไกการตรวจสอบ: ผู้ใดที่ต้องการที่จะตรวจสอบลายเซ็นดิจิทัลจำเป็นต้องมีสิทธิ์เข้าถึงคีย์สาธารณะและอัลกอริทึมเดียวกันกับลายเซ็นดิจิทัล คีย์สาธารณะใช้ในการถอดรหัสลายเซ็นดิจิทัลและเปิดเผยค่าแฮชซึ่งจากนั้นเปรียบเทียบกับค่าแฮชที่คำนวณจากข้อมูลเดิม

พวกเขาจะรวมกันอย่างไรเพื่อให้ทำงานได้?

ต้นฉบับ: CamCert — ผู้ส่งลงนาม (เข้ารหัส) ค่าแฮชด้วยกุญแจส่วนตัวของตนเอง และผู้รับตรวจสอบความถูกต้องของข้อความโดยเปรียบเทียบค่าแฮช

ขั้นตอนที่ 1: สร้างค่าจำลอง / ค่าแฮชโดยใช้ข้อมูลเดิมผ่านฟังก์ชันแฮช

ขั้นตอนที่ 2: ลงชื่อลงบันทึกด้วยกุญแจส่วนตัวของผู้ส่งเพื่อสร้างการเข้ารหัส

ขั้นตอนที่ 3: ส่งไฟล์ที่เข้ารหัสแล้วไปยังผู้รับ ซึ่งสามารถถอดรหัสด้วยคีย์สาธารณะของผู้ส่งเพื่อสร้างข้อมูลสำคัญ

ขั้นตอนที่ 4: หลังจากถอดรหัสลับ ให้รันข้อมูลผ่านฟังก์ชันแฮชเดียวกันเพื่อสร้างดิเจสต์เทียกี่เทียกุ

ขั้นตอนที่ 5: ตรวจสอบความ完整และความสมบูรณ์ของข้อมูลโดยเปรียบเทียบค่าแฮชที่สร้างขึ้นใหม่กับค่าแฮชที่ได้รับพร้อมกับข้อมูล การตรงกันยืนยันความสมบูรณ์ของข้อมูล

เรามาใช้ภาพประกอบนี้ของการโอนเอกสารระหว่าง Mark ผู้ส่ง และ Karen ผู้รับ

  1. ลงชื่อและส่ง: มาร์คเริ่มกระบวนการโดยการส่งเอกสาร เอกสารถูกส่งผ่านอัลกอริทึมแฮชเพื่อสร้างค่าไฮเปอร์/แฮช ค่าไฮเปอร์นี้จากนั้นถูกเข้ารหัสด้วยกุญแจส่วนตัวของมาร์ค เพื่อเสร็จสิ้นลายเซ็นดิจิทัล; การผสมของเอกสารและกุญแจส่วนตัวของเขา
  2. การรับและตรวจสอบ: Karen ผู้รับใช้กุญแจสาธารณะของ Mark เพื่อถอดรหัสลายเซ็นดิจิทัลเพื่อให้ได้สารสำคัญต้นฉบับ ที่ Karen ใช้อัลกอริทึมแฮชเดียวกันกับเอกสารที่ได้รับ เพื่อสร้างสารสำคัญอีกตัว
  3. Karen เปรียบเทียบสองสารอาหาร: หนึ่งจากลายเซ็นที่ถอดรหัสและหนึ่งจากการสร้างขึ้นอิสระ หากตรงกัน Karen จึงมั่นใจในความสมบูรณ์ของเอกสารและความถูกต้องของ Mark ในฐานะผู้ส่ง

อัลกอริทึมลายเซ็นที่ใช้ในบล็อกเชน

การเลือกอัลกอริธึมลายเซ็นดิจิทัลขึ้นอยู่กับปัจจัยต่างๆ เช่น ข้อกําหนดด้านความปลอดภัย ขนาดคีย์ และข้อควรพิจารณาด้านประสิทธิภาพ อัลกอริธึมแต่ละตัวมีจุดแข็งและจุดอ่อนและการใช้งานอาจพัฒนาตามความก้าวหน้าในการเข้ารหัสและความท้าทายด้านความปลอดภัยที่เกิดขึ้นใหม่

ส่วนนี้กล่าวถึงอัลกอริทึมลายเซ็นดิจิทัลที่ใช้บ่อยที่สุดในเทคโนโลยีบล็อกเชน

  1. ECDSA (Elliptic Curve Digital Signature Algorithm): ใช้คีย์ที่สั้นกว่าและต้องการทรัพยากรการคํานวณน้อยลงและใช้ "คีย์การเข้ารหัสเส้นโค้งวงรี" ซึ่งเป็นกลุ่มจุดจํากัดบนเส้นโค้งที่การดําเนินการบางอย่างดําเนินการได้ง่ายในทิศทางเดียว แต่ท้าทายในทิศทางย้อนกลับ เพื่อความปลอดภัย ECDSA อาศัยปัญหาบันทึกที่ไม่ต่อเนื่อง เป็นอัลกอริธึมลายเซ็นที่ได้รับความนิยมมากที่สุดที่ใช้ในเทคโนโลยีบล็อกเชน

  2. EdDSA (Edwards-curve Digital Signature Algorithm): นี่เป็นอัลกอริทึมลายเซ็นดิจิทัลที่ทันสมัยและมีประสิทธิภาพ ที่มีพื้นฐานบนวิธีการเขี้ยวอิลิพติกเซิร์ฟ. มันถูกนำเสนอเพื่อที่จะทำให้สามารถแก้ไขความกังวลบางประการและปรับปรุงประสิทธิภาพเมื่อเทียบกับโครงสร้างลายเซ็นอื่น ๆ เช่น ECDSA อัลกอริทึมถูกออกแบบมาเพื่อให้มั่นคงปลอดภัยอย่างแข็งแรงด้วยขนาดกุญแจที่เล็กเป็นไปได้ ซึ่งทำให้เหมาะสมสำหรับการใช้งานในแอปพลิเคชันต่าง ๆ เช่นเทคโนโลยีบล็อกเชน เช่น Cardano และ Solana.

  3. อัลกอริทึม Schnorr: ลายเซ็น Schnorr เป็นประเภทของอัลกอริทึมลายเซ็นดิจิทัลที่เป็นไปได้ให้มีการรวมกลุ่มได้ คือ สามารถรวบรวมลายเซ็นหลายรายการบนข้อความเดียวกันเข้าด้วยกันเป็นลายเซ็นเดียว ลายเซ็นนี้ไม่เพียงทำให้มีพื้นที่มากขึ้นเท่านั้น แต่ยังช่วยให้กระบวนการตรวจสอบมีประสิทธิภาพมากขึ้น
    มันพิสูจน์แล้วว่ามีประสิทธิภาพในสถานการณ์ที่เกี่ยวข้องกับหลายฝ่ายที่ลงนามในข้อความทั่วไปเช่นการอนุญาตธุรกรรมจากที่อยู่หลายลายเซ็น (multisig) ในกรณีเช่นนี้ผู้เข้าร่วมแต่ละคนจะต้องให้คีย์สาธารณะและลายเซ็นของพวกเขา ดังนั้นหากสามฝ่ายตั้งใจจะลงนามในข้อความเดียวกันหลักฐานจะครอบคลุมคีย์สาธารณะสามคีย์และลายเซ็นสามลายเซ็น สิ่งนี้ดูเหมือนจะไม่มีประสิทธิภาพในการคํานวณและการจัดเก็บเนื่องจากแต่ละโหนดจําเป็นต้องเรียกใช้ฟังก์ชันการตรวจสอบลายเซ็นสามครั้งและจัดเก็บชุดลายเซ็นและคีย์สาธารณะที่แตกต่างกันสามชุด
    อัลกอริทึม Schnorr สร้างลายเซ็นเจาะจงที่ถูกต้องสำหรับผลรวมของกุญแจสาธารณะของพวกเขา การรวมกุญแจสามารถลดค่า gas และปรับปรุงความสามารถในการขยายของเลเยอร์ฐานเริ่มต้นเนื่องจากลายเซ็นที่มาจากธุรกรรมหลายฝ่ายเข้าร่วมใช้พื้นที่ในบล็อกเท่ากับลายเซ็นที่มาจากธุรกรรมแบบเดี่ยว

  4. ลายเซ็นเอ็มอาร์: ขั้นตอนการเข้ารหัส BLS (Boneh-Lynn-Shacham) นี้ ขึ้นอยู่กับการจับคู่ไบไลน์บนกลุ่มเส้นโค้งที่เรียกว่า กลุ่มเส้นโค้งเอลลิปติก มันถูกนำเสนอโดย Dan Boneh, Ben Lynn, และ Hovav Shacham ในปี 2001 จุดประสงค์หลักของการเข้ารหัส BLS คือแนวโน้มของโครงสร้างลายเซ็นที่มีประสิทธิภาพและปลอดภัยที่สนับสนุนคุณสมบัติที่ไม่ซ้ำกัน เช่นการรวมกลุ่ม นอกจากนี้ ลายเซ็น BLS ถูกใช้ใน Ethereum 2.0 และ Chia

บล็อกเชน อัลกอริทึมแฮช และอัลกอริทึมลายเซ็น

  1. บิตคอยน์ (BTC):
    ขั้นตอนการเข้ารหัส: SHA-256
    อัลกอริทึมลายเซ็นดิจิทัล: ECDSA, Schnoor (TapRoot Soft Fork)

  2. Ethereum (ETH):
    ขั้นตอนการแฮช: Keccak
    อัลกอริทึมลายเซ็นดิจิทัล: ECDSA

  3. Litecoin (LTC):
    อัลกอริทึมการแฮช: Scrypt
    ขั้นตอนของลายเซ็นดิจิทัล: ECDSA

  4. ริปเปิ้ล (XRP):
    อัลกอริทึมแฮช: SHA-256
    ลัทธิลายเซ็นดิจิทัล: ECDSA

  5. Cardano (ADA):
    อัลกอริทึมแฮช: Keccak
    อัลกอริทึมลายเซ็นดิจิทัล: EdDSA (อัลกอริทึมลายเซ็นดิจิทัล Edwards-curve)

  6. Polkadot (DOT):
    อัลกอริทึมการเข้ารหัส: Blake2
    วิธีการลายเซ็นดิจิทัล: EdDSA

  7. Tezos (XTZ):
    อัลกอริทึมการแฮช: Blake2b
    อัลกอริทึมลายเซ็นดิจิทัล: EdDSA

  8. BNB Chain (BNB):
    อัลกอริทึมแฮช: Keccak (ใช้สำหรับโทเค็น BEP-2)
    วิธีการลายเซ็นดิจิทัล: ECDSA

วิธีที่บิตคอยน์ใช้ลายเซ็นดิจิทัล

Bitcoin ใช้วิธี Elliptic Curve Digital Signature Algorithm (ECDSA) เพื่อสร้างลายเซ็นเจอร์ที่เป็นเอกลักษณ์สำหรับแต่ละธุรกรรม อย่างไรก็ตาม ด้วยความก้าวหน้าล่าสุด อัลกอริทึม Schnorr ได้ถูกนำเสนอผ่าน TapRoot soft fork อัลกอริทึมนี้ที่โดดเด่นด้วยประสิทธิภาพในเชิงความจุของพื้นที่จัดเก็บและความเร็วในการตรวจสอบ สามารถเพิ่มประสิทธิภาพในการขยายขอบเขตของบิตคอยน์ได้ถึง 30% ด้วยคุณลักษณะการรวมธุรกรรมของมัน

)

แหล่งที่มา: ไทม์ส์ออฟอินเดีย — ธุรกรรมที่ได้รับลายเซ็นเท่านั้นที่สามารถรับรองและตรวจสอบได้จากโหนดของเครือข่าย

กลไกพื้นฐานของธุรกรรม Bitcoin ประกอบด้วยชุดขั้นตอนที่รวมถึงการใช้ลายเซ็นดิจิทัล

ที่นี่คือภาพรวม:

  1. ผู้ส่งตัดสินใจทำธุรกรรมบิตคอยน์ นี่อาจเกี่ยวข้องกับการส่งบิตคอยน์ให้กับผู้ใช้อื่น ๆ หรือผู้ใช้อื่น ๆ หลายคน
  2. ผู้ส่งสร้างข้อความธุรกรรมที่มีรายละเอียดสำคัญ เช่น ที่อยู่วอลเล็ตของผู้รับ เป็นจำนวนบิทคอยน์ที่ถูกส่ง ค่าธรรมเนียมที่เกี่ยวข้อง และที่มาของบิทคอยน์ (การเลือกใช้เอาต์พุตธุรกรรมที่ไม่ได้ใช้หรือ UTXO) ที่ถูกใช้เป็นข้อมูลนำเข้าสำหรับธุรกรรม
  3. ผู้ส่งลงลายเซ็นข้อความธุรกรรมด้วยกุญแจส่วนตัวของตนโดยใช้วิธีการลายเซ็นดิจิทัลแบบเคอร์ฟบิก ซึ่งลายเซ็นดิจิทัลนี้จะให้พิสูจน์ว่าธุรกรรมได้รับการอนุญาตโดยเจ้าของที่อยู่ผู้ส่งที่ถูกต้อง
  4. ข้อความธุรกรรมถูกแฮชโดยใช้ SHA-256 (อัลกอริทึมแฮชค่าคงที่ 256 บิต) และจากนั้นถูกแฮชต่อไปโดยใช้ RIPEMD-160 (RACE Integrity Primitives Evaluation Message Digest 160 บิต) กระบวนการนี้จะสร้างแฮชความยาวคงที่ที่รู้จักกันดีว่าเป็นรหัสธุรกรรมหรือแฮช
  5. ธุรกรรมที่ได้รับลายเซ็นถูกประกาศไปยังเครือข่ายบิตคอยน์ ซึ่งทำให้เห็นได้ทั้งหมดโหนด (คอมพิวเตอร์ที่มีส่วนร่วมในเครือข่ายบิตคอยน์) โหนดในเครือข่าย รวมทั้งนักขุด ตรวจสอบความถูกต้องของธุรกรรม การตรวจสอบนี้รวมถึงการตรวจสอบลายเซ็นดิจิทัลเพื่อให้แน่ใจว่าตรงกับคีย์สาธารณะของผู้ส่งและข้อมูลขาเข้า (UTXO) ที่ใช้ในธุรกรรมไม่ได้ใช้ไปและถูกต้อง
  6. ธุรกรรมที่ถูกต้องถูกเก็บรวบรวมโดยนักขุดเหมืองซึ่งแข่งขันกันเพื่อแก้ปัญหาทางคณิตศาสตร์ที่ซับซ้อน (พิสูจน์การทำงาน) นักขุดเหมืองคนแรกที่แก้ปัญหาจะเพิ่มบล็อกที่มีธุรกรรมที่ตรวจสอบแล้วเข้าไปยังบล็อกเชน
  7. บล็อกที่เพิ่มใหม่ถูกส่งออกไปยังเครือข่าย และโหนดอื่น ๆ ตรวจสอบการทำงานและความถูกต้องของธุรกรรมภายในบล็อก หลังจากที่มีข้อตกลงกันแล้ว บล็อกถือว่าได้รับการยืนยันและธุรกรรมถูกบันทึกอย่างถาวรในบล็อกเชน
  8. ยอดเงินในกระเป๋าเงินของผู้รับถูกอัปเดตเพื่อสะท้อนถึงบิตคอยน์ที่ได้รับ และยอดเงินในกระเป๋าเงินของผู้ส่งถูกปรับเพื่อคำนวณยอด UTXOs ที่ใช้

การใช้งานของลายเซ็นดิจิทัลในเว็บ 3

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

การพิสูจน์ตัวเพื่อดำเนินการทางการเงิน

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

การดำเนินการสมาร์ทคอนแทรค

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

การระบุและการตรวจสอบตัวตนแบบกระจาย

ผู้ใช้เข้าสู่แอปพลิเคชันที่ไม่ central (dApp) โดยใช้ identity บล็อกเชนของตัวเอง เช่นที่อยู่ Ethereum เเอดเดรส แอปพลิเเคชันที่ไม่ central ขอข้อความที่ถูกลงนามจากผู้ใช้ (กุญแจส่วนตัว) ซึ่งเป็นฐานสำหรับการเป็นเจ้าของ ลายเซ็นดิจิทัล ทำให้สามารถพิสูจน์ตัวตนของผู้ใช้

นี่ยังสามารถเป็นวิธีง่าย ๆ ในการเชื่อมต่อผู้ใช้ Web3 ใหม่ ๆ เนื่องจากพวกเขาไม่จำเป็นต้องสร้างบัญชีและเก็บรหัสผ่านอีกต่อไป ผู้ใช้สามารถซ่อนตัวตนและไม่จำเป็นต้องเปิดเผยรายละเอียดส่วนตัวอย่างเช่นที่อยู่อีเมลของพวกเขา

ความสมบูรณ์ของข้อมูลและการไม่ปฏิเสธของ NFTs

ศิลปินลงนามในไฟล์ศิลปะดิจิทัลด้วยคีย์ส่วนตัวก่อนที่จะสร้างเป็น NFT ลายเซ็นดิจิทัลช่วยให้มั่นใจได้ถึงความสมบูรณ์ของงานศิลปะและศิลปินไม่สามารถปฏิเสธการประพันธ์ได้ในภายหลัง

ระบบลงคะแนน

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

ความสามารถในการทำงานร่วมกันข้ามโซนโซน

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

ความท้าทายและแนวโน้มในอนาคต

ความท้าทายของการโจมตีควอนตัม

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

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

อย่างไรก็ตาม พวกเขาสามารถถูกป้องกันได้โดยลายเซ็นดิจิทัลหลังควอนตัม ซึ่งกำลังอยู่ในขบวนการพัฒนาอยู่แล้ว แม้ว่าพวกเขาจะใช้พื้นที่จัดเก็บข้อมูลมากขึ้นบนบล็อกเชน

สรุป

ลายเซ็นดิจิทัลยืนยันความถูกต้องและความคงสภาพของข้อมูล โดยอ้างอิงจากหลักการของการเข้ารหัสแบบไม่对称และการทำฮาช มันทำงานโดยการใช้กุญแจส่วนตัวของผู้ส่งเพื่อรับรองความถูกต้องของรูปแบบของข้อมูล และผู้รับรองด้วยกุญแจสาธารณะของผู้ส่ง อัลกอริทึมการเข้ารหัสที่ใช้มากที่สุดโดยบล็อกเชนคือ ECDSA, EdDSA, Schnoor และลายเซ็นดิจิทัล BLS

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

Author: Paul
Translator: Sonia
Reviewer(s): Piccolo、Edward、Ashley He
* The information is not intended to be and does not constitute financial advice or any other recommendation of any sort offered or endorsed by Gate.io.
* This article may not be reproduced, transmitted or copied without referencing Gate.io. Contravention is an infringement of Copyright Act and may be subject to legal action.

Digital Signature คืออะไร และทำงานอย่างไร

กลาง1/19/2024, 6:23:26 PM
บล็อกเชนใช้ลายเซ็นดิจิทัลเป็นส่วนสำคัญของกระบวนการตรวจสอบแบบไม่มีศูนย์กลาง ทำให้เกิดวิธีการยืนยันอย่างปลอดภัยโดยไม่เปิดเผยตัวตนของผู้ใช้

บทนำ

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

อย่างไรก็ตาม เทคโนโลยีบล็อกเชนได้เป็นที่นิยมกันมาโดยใช้ลายเซ็นดิจิทัลเป็นส่วนสำคัญของกระบวนการตรวจสอบและการยืนยันธุรกรรมในระบบที่กระจายและของบทความนี้จะสำรวจอย่างใองการทำงานของลายเซ็นดิจิทัล อัลกอริทึมต่างๆที่ใช้โดยบล็อกเชน และการประยุกต์ใช้งานของพวกเขาในพื้นที่ Web3

เข้าใจลายเซ็นดิจิทัล

แหล่งที่มา: CoinGeek

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

โดยปกติลายเซ็นต์รับรองให้สัญญามีผลผูกพันทางกฎหมาย ยืนยันตัวตนของผู้ที่เกี่ยวข้อง และมีการยอมรับที่แน่นอนของเงื่อนไขของสัญญา ลายเซ็นดิจิทัลก้าวไปอีกขั้นเพื่อแก้ปัญหาการเปลี่ยนแปลงและการปลอมแปลงซึ่งทำให้มันเป็นรูปแบบของลายเซ็นที่ปลอดภัยกว่า

คุณสมบัติของลายเซ็นดิจิทัล

คุณลักษณะหลักของลายเซ็นดิจิทัลคือ:

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

การเข้ารหัสแบบไม่สมมาตร

แหล่งที่มา: WikiBooks

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

ในการเข้ารหัสลับ, กุญแจมักเป็นสตริงของตัวเลขและตัวอักษร ที่ใช้ในการสลับข้อมูลเพื่อให้ดูเหมือนสุ่ม อย่างไรก็ตาม ผู้ใดมีกุญแจที่ถูกต้องสำหรับการถอดรหัสข้อมูลสามารถเรียงข้อมูลใหม่ให้กลับไปสู่รูปแบบเดิม

ตัวอย่างเช่น สมมติว่าเราเอาภาพหนึ่ง และเข้ารหัสด้วยคีย์ ขอเรียกว่าคีย์คือ 28j932d8kd8 ภาพของเราจะถูกเห็นว่า "X5CSycg14=xJ" อย่างไรก็ตาม โดยการถอดรหัสด้วยคีย์ที่ถูกต้อง เราสามารถได้ภาพของเรากลับมา

คำศัพท์สำคัญที่คุณต้องเข้าใจ

การทำแฮช

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

แหล่งข้อมูล: CyberHoot

ในภาพด้านบน ชิ้นข้อความ (ปริศนา) ผ่านฟังก์ชันแฮช (SHA-256) และถูกแปลงเป็นแฮช (ความยาวคงที่ของตัวเลขและตัวอักษร)

ฟังก์ชันแฮชคืออะไร?

อัลกอริทึมที่ประมวลผลข้อมูลที่จะทำเครื่องหมายลายเซ็น, โดยสร้างค่าแฮชขนาดคงที่ ฟังก์ชันแฮช ทำให้ลายเซ็นเหลือความยาวคงที่ โดยไม่ว่าขนาดของข้อมูลเดิมจะเป็นอย่างไร

ค่าแฮช

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

วิธีการทำงานของลายเซ็นดิจิทัลคืออะไร?

เพื่อดำเนินการลายเซ็นดิจิทัล คุณจะต้องใช้สิ่งต่อไปนี้:

  1. คู่กุญแจ: คู่กุญแจประกอบด้วยคู่กุญแจสาธารณะ/ส่วนตัว คีย์ส่วนตัวใช้สร้างลายเซ็นเจาะจงและคีย์สาธารณะที่สอดคล้องใช้ตรวจสอบลายเซ็น

  2. ข้อมูลที่จะถูกลงนาม: เนื้อหาหรือข้อความที่คุณต้องการลงนาม นี่อาจเป็นเอกสาร ธุรกรรม หรือข้อมูลดิจิทัลใดก็ได้

  3. ฟังก์ชันแฮช: ฟังก์ชันแฮชถูกใช้กับข้อมูลเพื่อสร้างค่าแฮชขนาดคงที่ ค่าแฮชนี้จึงถูกเข้ารหัสด้วยกุญแจส่วนตัวเพื่อสร้างลายเซ็นดิจิทัล

  4. อัลกอริทึมลายเซ็นดิจิทัล: อัลกอริทึมที่รวมกุญแจส่วนตัวกับข้อมูลที่ต้องการลงชื่อโดยทั่วไปเกี่ยวข้องกับฟังก์ชันแฮช อัลกอริทึมนี้สร้างลายเซ็นดิจิทัล

  5. กลไกการตรวจสอบ: ผู้ใดที่ต้องการที่จะตรวจสอบลายเซ็นดิจิทัลจำเป็นต้องมีสิทธิ์เข้าถึงคีย์สาธารณะและอัลกอริทึมเดียวกันกับลายเซ็นดิจิทัล คีย์สาธารณะใช้ในการถอดรหัสลายเซ็นดิจิทัลและเปิดเผยค่าแฮชซึ่งจากนั้นเปรียบเทียบกับค่าแฮชที่คำนวณจากข้อมูลเดิม

พวกเขาจะรวมกันอย่างไรเพื่อให้ทำงานได้?

ต้นฉบับ: CamCert — ผู้ส่งลงนาม (เข้ารหัส) ค่าแฮชด้วยกุญแจส่วนตัวของตนเอง และผู้รับตรวจสอบความถูกต้องของข้อความโดยเปรียบเทียบค่าแฮช

ขั้นตอนที่ 1: สร้างค่าจำลอง / ค่าแฮชโดยใช้ข้อมูลเดิมผ่านฟังก์ชันแฮช

ขั้นตอนที่ 2: ลงชื่อลงบันทึกด้วยกุญแจส่วนตัวของผู้ส่งเพื่อสร้างการเข้ารหัส

ขั้นตอนที่ 3: ส่งไฟล์ที่เข้ารหัสแล้วไปยังผู้รับ ซึ่งสามารถถอดรหัสด้วยคีย์สาธารณะของผู้ส่งเพื่อสร้างข้อมูลสำคัญ

ขั้นตอนที่ 4: หลังจากถอดรหัสลับ ให้รันข้อมูลผ่านฟังก์ชันแฮชเดียวกันเพื่อสร้างดิเจสต์เทียกี่เทียกุ

ขั้นตอนที่ 5: ตรวจสอบความ完整และความสมบูรณ์ของข้อมูลโดยเปรียบเทียบค่าแฮชที่สร้างขึ้นใหม่กับค่าแฮชที่ได้รับพร้อมกับข้อมูล การตรงกันยืนยันความสมบูรณ์ของข้อมูล

เรามาใช้ภาพประกอบนี้ของการโอนเอกสารระหว่าง Mark ผู้ส่ง และ Karen ผู้รับ

  1. ลงชื่อและส่ง: มาร์คเริ่มกระบวนการโดยการส่งเอกสาร เอกสารถูกส่งผ่านอัลกอริทึมแฮชเพื่อสร้างค่าไฮเปอร์/แฮช ค่าไฮเปอร์นี้จากนั้นถูกเข้ารหัสด้วยกุญแจส่วนตัวของมาร์ค เพื่อเสร็จสิ้นลายเซ็นดิจิทัล; การผสมของเอกสารและกุญแจส่วนตัวของเขา
  2. การรับและตรวจสอบ: Karen ผู้รับใช้กุญแจสาธารณะของ Mark เพื่อถอดรหัสลายเซ็นดิจิทัลเพื่อให้ได้สารสำคัญต้นฉบับ ที่ Karen ใช้อัลกอริทึมแฮชเดียวกันกับเอกสารที่ได้รับ เพื่อสร้างสารสำคัญอีกตัว
  3. Karen เปรียบเทียบสองสารอาหาร: หนึ่งจากลายเซ็นที่ถอดรหัสและหนึ่งจากการสร้างขึ้นอิสระ หากตรงกัน Karen จึงมั่นใจในความสมบูรณ์ของเอกสารและความถูกต้องของ Mark ในฐานะผู้ส่ง

อัลกอริทึมลายเซ็นที่ใช้ในบล็อกเชน

การเลือกอัลกอริธึมลายเซ็นดิจิทัลขึ้นอยู่กับปัจจัยต่างๆ เช่น ข้อกําหนดด้านความปลอดภัย ขนาดคีย์ และข้อควรพิจารณาด้านประสิทธิภาพ อัลกอริธึมแต่ละตัวมีจุดแข็งและจุดอ่อนและการใช้งานอาจพัฒนาตามความก้าวหน้าในการเข้ารหัสและความท้าทายด้านความปลอดภัยที่เกิดขึ้นใหม่

ส่วนนี้กล่าวถึงอัลกอริทึมลายเซ็นดิจิทัลที่ใช้บ่อยที่สุดในเทคโนโลยีบล็อกเชน

  1. ECDSA (Elliptic Curve Digital Signature Algorithm): ใช้คีย์ที่สั้นกว่าและต้องการทรัพยากรการคํานวณน้อยลงและใช้ "คีย์การเข้ารหัสเส้นโค้งวงรี" ซึ่งเป็นกลุ่มจุดจํากัดบนเส้นโค้งที่การดําเนินการบางอย่างดําเนินการได้ง่ายในทิศทางเดียว แต่ท้าทายในทิศทางย้อนกลับ เพื่อความปลอดภัย ECDSA อาศัยปัญหาบันทึกที่ไม่ต่อเนื่อง เป็นอัลกอริธึมลายเซ็นที่ได้รับความนิยมมากที่สุดที่ใช้ในเทคโนโลยีบล็อกเชน

  2. EdDSA (Edwards-curve Digital Signature Algorithm): นี่เป็นอัลกอริทึมลายเซ็นดิจิทัลที่ทันสมัยและมีประสิทธิภาพ ที่มีพื้นฐานบนวิธีการเขี้ยวอิลิพติกเซิร์ฟ. มันถูกนำเสนอเพื่อที่จะทำให้สามารถแก้ไขความกังวลบางประการและปรับปรุงประสิทธิภาพเมื่อเทียบกับโครงสร้างลายเซ็นอื่น ๆ เช่น ECDSA อัลกอริทึมถูกออกแบบมาเพื่อให้มั่นคงปลอดภัยอย่างแข็งแรงด้วยขนาดกุญแจที่เล็กเป็นไปได้ ซึ่งทำให้เหมาะสมสำหรับการใช้งานในแอปพลิเคชันต่าง ๆ เช่นเทคโนโลยีบล็อกเชน เช่น Cardano และ Solana.

  3. อัลกอริทึม Schnorr: ลายเซ็น Schnorr เป็นประเภทของอัลกอริทึมลายเซ็นดิจิทัลที่เป็นไปได้ให้มีการรวมกลุ่มได้ คือ สามารถรวบรวมลายเซ็นหลายรายการบนข้อความเดียวกันเข้าด้วยกันเป็นลายเซ็นเดียว ลายเซ็นนี้ไม่เพียงทำให้มีพื้นที่มากขึ้นเท่านั้น แต่ยังช่วยให้กระบวนการตรวจสอบมีประสิทธิภาพมากขึ้น
    มันพิสูจน์แล้วว่ามีประสิทธิภาพในสถานการณ์ที่เกี่ยวข้องกับหลายฝ่ายที่ลงนามในข้อความทั่วไปเช่นการอนุญาตธุรกรรมจากที่อยู่หลายลายเซ็น (multisig) ในกรณีเช่นนี้ผู้เข้าร่วมแต่ละคนจะต้องให้คีย์สาธารณะและลายเซ็นของพวกเขา ดังนั้นหากสามฝ่ายตั้งใจจะลงนามในข้อความเดียวกันหลักฐานจะครอบคลุมคีย์สาธารณะสามคีย์และลายเซ็นสามลายเซ็น สิ่งนี้ดูเหมือนจะไม่มีประสิทธิภาพในการคํานวณและการจัดเก็บเนื่องจากแต่ละโหนดจําเป็นต้องเรียกใช้ฟังก์ชันการตรวจสอบลายเซ็นสามครั้งและจัดเก็บชุดลายเซ็นและคีย์สาธารณะที่แตกต่างกันสามชุด
    อัลกอริทึม Schnorr สร้างลายเซ็นเจาะจงที่ถูกต้องสำหรับผลรวมของกุญแจสาธารณะของพวกเขา การรวมกุญแจสามารถลดค่า gas และปรับปรุงความสามารถในการขยายของเลเยอร์ฐานเริ่มต้นเนื่องจากลายเซ็นที่มาจากธุรกรรมหลายฝ่ายเข้าร่วมใช้พื้นที่ในบล็อกเท่ากับลายเซ็นที่มาจากธุรกรรมแบบเดี่ยว

  4. ลายเซ็นเอ็มอาร์: ขั้นตอนการเข้ารหัส BLS (Boneh-Lynn-Shacham) นี้ ขึ้นอยู่กับการจับคู่ไบไลน์บนกลุ่มเส้นโค้งที่เรียกว่า กลุ่มเส้นโค้งเอลลิปติก มันถูกนำเสนอโดย Dan Boneh, Ben Lynn, และ Hovav Shacham ในปี 2001 จุดประสงค์หลักของการเข้ารหัส BLS คือแนวโน้มของโครงสร้างลายเซ็นที่มีประสิทธิภาพและปลอดภัยที่สนับสนุนคุณสมบัติที่ไม่ซ้ำกัน เช่นการรวมกลุ่ม นอกจากนี้ ลายเซ็น BLS ถูกใช้ใน Ethereum 2.0 และ Chia

บล็อกเชน อัลกอริทึมแฮช และอัลกอริทึมลายเซ็น

  1. บิตคอยน์ (BTC):
    ขั้นตอนการเข้ารหัส: SHA-256
    อัลกอริทึมลายเซ็นดิจิทัล: ECDSA, Schnoor (TapRoot Soft Fork)

  2. Ethereum (ETH):
    ขั้นตอนการแฮช: Keccak
    อัลกอริทึมลายเซ็นดิจิทัล: ECDSA

  3. Litecoin (LTC):
    อัลกอริทึมการแฮช: Scrypt
    ขั้นตอนของลายเซ็นดิจิทัล: ECDSA

  4. ริปเปิ้ล (XRP):
    อัลกอริทึมแฮช: SHA-256
    ลัทธิลายเซ็นดิจิทัล: ECDSA

  5. Cardano (ADA):
    อัลกอริทึมแฮช: Keccak
    อัลกอริทึมลายเซ็นดิจิทัล: EdDSA (อัลกอริทึมลายเซ็นดิจิทัล Edwards-curve)

  6. Polkadot (DOT):
    อัลกอริทึมการเข้ารหัส: Blake2
    วิธีการลายเซ็นดิจิทัล: EdDSA

  7. Tezos (XTZ):
    อัลกอริทึมการแฮช: Blake2b
    อัลกอริทึมลายเซ็นดิจิทัล: EdDSA

  8. BNB Chain (BNB):
    อัลกอริทึมแฮช: Keccak (ใช้สำหรับโทเค็น BEP-2)
    วิธีการลายเซ็นดิจิทัล: ECDSA

วิธีที่บิตคอยน์ใช้ลายเซ็นดิจิทัล

Bitcoin ใช้วิธี Elliptic Curve Digital Signature Algorithm (ECDSA) เพื่อสร้างลายเซ็นเจอร์ที่เป็นเอกลักษณ์สำหรับแต่ละธุรกรรม อย่างไรก็ตาม ด้วยความก้าวหน้าล่าสุด อัลกอริทึม Schnorr ได้ถูกนำเสนอผ่าน TapRoot soft fork อัลกอริทึมนี้ที่โดดเด่นด้วยประสิทธิภาพในเชิงความจุของพื้นที่จัดเก็บและความเร็วในการตรวจสอบ สามารถเพิ่มประสิทธิภาพในการขยายขอบเขตของบิตคอยน์ได้ถึง 30% ด้วยคุณลักษณะการรวมธุรกรรมของมัน

)

แหล่งที่มา: ไทม์ส์ออฟอินเดีย — ธุรกรรมที่ได้รับลายเซ็นเท่านั้นที่สามารถรับรองและตรวจสอบได้จากโหนดของเครือข่าย

กลไกพื้นฐานของธุรกรรม Bitcoin ประกอบด้วยชุดขั้นตอนที่รวมถึงการใช้ลายเซ็นดิจิทัล

ที่นี่คือภาพรวม:

  1. ผู้ส่งตัดสินใจทำธุรกรรมบิตคอยน์ นี่อาจเกี่ยวข้องกับการส่งบิตคอยน์ให้กับผู้ใช้อื่น ๆ หรือผู้ใช้อื่น ๆ หลายคน
  2. ผู้ส่งสร้างข้อความธุรกรรมที่มีรายละเอียดสำคัญ เช่น ที่อยู่วอลเล็ตของผู้รับ เป็นจำนวนบิทคอยน์ที่ถูกส่ง ค่าธรรมเนียมที่เกี่ยวข้อง และที่มาของบิทคอยน์ (การเลือกใช้เอาต์พุตธุรกรรมที่ไม่ได้ใช้หรือ UTXO) ที่ถูกใช้เป็นข้อมูลนำเข้าสำหรับธุรกรรม
  3. ผู้ส่งลงลายเซ็นข้อความธุรกรรมด้วยกุญแจส่วนตัวของตนโดยใช้วิธีการลายเซ็นดิจิทัลแบบเคอร์ฟบิก ซึ่งลายเซ็นดิจิทัลนี้จะให้พิสูจน์ว่าธุรกรรมได้รับการอนุญาตโดยเจ้าของที่อยู่ผู้ส่งที่ถูกต้อง
  4. ข้อความธุรกรรมถูกแฮชโดยใช้ SHA-256 (อัลกอริทึมแฮชค่าคงที่ 256 บิต) และจากนั้นถูกแฮชต่อไปโดยใช้ RIPEMD-160 (RACE Integrity Primitives Evaluation Message Digest 160 บิต) กระบวนการนี้จะสร้างแฮชความยาวคงที่ที่รู้จักกันดีว่าเป็นรหัสธุรกรรมหรือแฮช
  5. ธุรกรรมที่ได้รับลายเซ็นถูกประกาศไปยังเครือข่ายบิตคอยน์ ซึ่งทำให้เห็นได้ทั้งหมดโหนด (คอมพิวเตอร์ที่มีส่วนร่วมในเครือข่ายบิตคอยน์) โหนดในเครือข่าย รวมทั้งนักขุด ตรวจสอบความถูกต้องของธุรกรรม การตรวจสอบนี้รวมถึงการตรวจสอบลายเซ็นดิจิทัลเพื่อให้แน่ใจว่าตรงกับคีย์สาธารณะของผู้ส่งและข้อมูลขาเข้า (UTXO) ที่ใช้ในธุรกรรมไม่ได้ใช้ไปและถูกต้อง
  6. ธุรกรรมที่ถูกต้องถูกเก็บรวบรวมโดยนักขุดเหมืองซึ่งแข่งขันกันเพื่อแก้ปัญหาทางคณิตศาสตร์ที่ซับซ้อน (พิสูจน์การทำงาน) นักขุดเหมืองคนแรกที่แก้ปัญหาจะเพิ่มบล็อกที่มีธุรกรรมที่ตรวจสอบแล้วเข้าไปยังบล็อกเชน
  7. บล็อกที่เพิ่มใหม่ถูกส่งออกไปยังเครือข่าย และโหนดอื่น ๆ ตรวจสอบการทำงานและความถูกต้องของธุรกรรมภายในบล็อก หลังจากที่มีข้อตกลงกันแล้ว บล็อกถือว่าได้รับการยืนยันและธุรกรรมถูกบันทึกอย่างถาวรในบล็อกเชน
  8. ยอดเงินในกระเป๋าเงินของผู้รับถูกอัปเดตเพื่อสะท้อนถึงบิตคอยน์ที่ได้รับ และยอดเงินในกระเป๋าเงินของผู้ส่งถูกปรับเพื่อคำนวณยอด UTXOs ที่ใช้

การใช้งานของลายเซ็นดิจิทัลในเว็บ 3

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

การพิสูจน์ตัวเพื่อดำเนินการทางการเงิน

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

การดำเนินการสมาร์ทคอนแทรค

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

การระบุและการตรวจสอบตัวตนแบบกระจาย

ผู้ใช้เข้าสู่แอปพลิเคชันที่ไม่ central (dApp) โดยใช้ identity บล็อกเชนของตัวเอง เช่นที่อยู่ Ethereum เเอดเดรส แอปพลิเเคชันที่ไม่ central ขอข้อความที่ถูกลงนามจากผู้ใช้ (กุญแจส่วนตัว) ซึ่งเป็นฐานสำหรับการเป็นเจ้าของ ลายเซ็นดิจิทัล ทำให้สามารถพิสูจน์ตัวตนของผู้ใช้

นี่ยังสามารถเป็นวิธีง่าย ๆ ในการเชื่อมต่อผู้ใช้ Web3 ใหม่ ๆ เนื่องจากพวกเขาไม่จำเป็นต้องสร้างบัญชีและเก็บรหัสผ่านอีกต่อไป ผู้ใช้สามารถซ่อนตัวตนและไม่จำเป็นต้องเปิดเผยรายละเอียดส่วนตัวอย่างเช่นที่อยู่อีเมลของพวกเขา

ความสมบูรณ์ของข้อมูลและการไม่ปฏิเสธของ NFTs

ศิลปินลงนามในไฟล์ศิลปะดิจิทัลด้วยคีย์ส่วนตัวก่อนที่จะสร้างเป็น NFT ลายเซ็นดิจิทัลช่วยให้มั่นใจได้ถึงความสมบูรณ์ของงานศิลปะและศิลปินไม่สามารถปฏิเสธการประพันธ์ได้ในภายหลัง

ระบบลงคะแนน

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

ความสามารถในการทำงานร่วมกันข้ามโซนโซน

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

ความท้าทายและแนวโน้มในอนาคต

ความท้าทายของการโจมตีควอนตัม

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

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

อย่างไรก็ตาม พวกเขาสามารถถูกป้องกันได้โดยลายเซ็นดิจิทัลหลังควอนตัม ซึ่งกำลังอยู่ในขบวนการพัฒนาอยู่แล้ว แม้ว่าพวกเขาจะใช้พื้นที่จัดเก็บข้อมูลมากขึ้นบนบล็อกเชน

สรุป

ลายเซ็นดิจิทัลยืนยันความถูกต้องและความคงสภาพของข้อมูล โดยอ้างอิงจากหลักการของการเข้ารหัสแบบไม่对称และการทำฮาช มันทำงานโดยการใช้กุญแจส่วนตัวของผู้ส่งเพื่อรับรองความถูกต้องของรูปแบบของข้อมูล และผู้รับรองด้วยกุญแจสาธารณะของผู้ส่ง อัลกอริทึมการเข้ารหัสที่ใช้มากที่สุดโดยบล็อกเชนคือ ECDSA, EdDSA, Schnoor และลายเซ็นดิจิทัล BLS

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

Author: Paul
Translator: Sonia
Reviewer(s): Piccolo、Edward、Ashley He
* The information is not intended to be and does not constitute financial advice or any other recommendation of any sort offered or endorsed by Gate.io.
* This article may not be reproduced, transmitted or copied without referencing Gate.io. Contravention is an infringement of Copyright Act and may be subject to legal action.
Start Now
Sign up and get a
$100
Voucher!