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

作者: Paul
譯者: Sonia
審校: Piccolo、Edward、Ashley He
* 投資有風險,入市須謹慎。本文不作為 Gate.io 提供的投資理財建議或其他任何類型的建議。
* 在未提及 Gate.io 的情況下,複製、傳播或抄襲本文將違反《版權法》,Gate.io 有權追究其法律責任。

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

作者: Paul
譯者: Sonia
審校: Piccolo、Edward、Ashley He
* 投資有風險,入市須謹慎。本文不作為 Gate.io 提供的投資理財建議或其他任何類型的建議。
* 在未提及 Gate.io 的情況下,複製、傳播或抄襲本文將違反《版權法》,Gate.io 有權追究其法律責任。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!