ลายเซ็นดิจิทัลเป็นเครื่องมือทางคริปโตที่ใช้ในสาขาต่าง ๆ เช่นความมั่นคงในด้านความปลอดภัย การค้าอิเล็กทรอนิกส์ และการกระจายซอฟต์แวร์ พวกเขาให้วิธีการสำหรับการตรวจสอบต้นทางและความสมบูรณ์ของข้อความหรือเอกสารดิจิทัล
อย่างไรก็ตาม เทคโนโลยีบล็อกเชนได้เป็นที่นิยมกันมาโดยใช้ลายเซ็นดิจิทัลเป็นส่วนสำคัญของกระบวนการตรวจสอบและการยืนยันธุรกรรมในระบบที่กระจายและของบทความนี้จะสำรวจอย่างใองการทำงานของลายเซ็นดิจิทัล อัลกอริทึมต่างๆที่ใช้โดยบล็อกเชน และการประยุกต์ใช้งานของพวกเขาในพื้นที่ Web3
แหล่งที่มา: CoinGeek
ลายเซ็นดิจิทัลเป็นเทคนิคทางเข้ารหัสที่ใช้ในการยืนยันความถูกต้องและความสมบูรณ์ของข้อความดิจิทัล เอกสาร หรือธุรกรรม ลายเซ็นดิจิทัลถือว่าปลอดภัยกว่าลายเซ็นอิเล็กทรอนิก
โดยปกติลายเซ็นต์รับรองให้สัญญามีผลผูกพันทางกฎหมาย ยืนยันตัวตนของผู้ที่เกี่ยวข้อง และมีการยอมรับที่แน่นอนของเงื่อนไขของสัญญา ลายเซ็นดิจิทัลก้าวไปอีกขั้นเพื่อแก้ปัญหาการเปลี่ยนแปลงและการปลอมแปลงซึ่งทำให้มันเป็นรูปแบบของลายเซ็นที่ปลอดภัยกว่า
คุณลักษณะหลักของลายเซ็นดิจิทัลคือ:
แหล่งที่มา: WikiBooks
การเขียนรหัสไม่对称เป็นวิธีการเข้ารหัสและถอดรหัสข้อมูลด้วยกุญแจสองชุดที่แตกต่างกัน ทำให้หนึ่งในกุญแจ (นั่นคือกุญแจสาธารณะ) ถูกแชร์ไว้เป็นสาธารณะกับทุกคน กุญแจอีกตัวที่เรียกว่ากุญแจส่วนตัว เป็นกุญแจที่ลับและเก็บไว้อย่างปลอดภัยที่รู้จักเฉพาะผู้ลงนาม ข้อมูลที่ถูกเข้ารหัสด้วยตัวหนึ่งสามารถถอดรหัสได้เฉพาะโดยใช้ตัวอื่น
ในการเข้ารหัสลับ, กุญแจมักเป็นสตริงของตัวเลขและตัวอักษร ที่ใช้ในการสลับข้อมูลเพื่อให้ดูเหมือนสุ่ม อย่างไรก็ตาม ผู้ใดมีกุญแจที่ถูกต้องสำหรับการถอดรหัสข้อมูลสามารถเรียงข้อมูลใหม่ให้กลับไปสู่รูปแบบเดิม
ตัวอย่างเช่น สมมติว่าเราเอาภาพหนึ่ง และเข้ารหัสด้วยคีย์ ขอเรียกว่าคีย์คือ 28j932d8kd8 ภาพของเราจะถูกเห็นว่า "X5CSycg14=xJ" อย่างไรก็ตาม โดยการถอดรหัสด้วยคีย์ที่ถูกต้อง เราสามารถได้ภาพของเรากลับมา
การทำแฮชคือกระบวนการแปลงข้อมูล (ข้อความ ไฟล์) ที่มีขนาดต่าง ๆ เป็นผลลัพธ์ที่มีความยาวของตัวอักษรและตัวเลขที่คงที่โดยใช้ฟังก์ชันแฮช มันเป็นกระบวนการแบบ one-way ที่ค่าแฮชไม่สามารถกลับไปสู่ข้อมูลเริ่มต้น แต่ชิ้นของข้อมูลเดียวกันจะสร้างค่าแฮชเดียวกันเสมอ
แหล่งข้อมูล: CyberHoot
ในภาพด้านบน ชิ้นข้อความ (ปริศนา) ผ่านฟังก์ชันแฮช (SHA-256) และถูกแปลงเป็นแฮช (ความยาวคงที่ของตัวเลขและตัวอักษร)
อัลกอริทึมที่ประมวลผลข้อมูลที่จะทำเครื่องหมายลายเซ็น, โดยสร้างค่าแฮชขนาดคงที่ ฟังก์ชันแฮช ทำให้ลายเซ็นเหลือความยาวคงที่ โดยไม่ว่าขนาดของข้อมูลเดิมจะเป็นอย่างไร
ผลลัพธ์สุดท้ายของฟังก์ชันแฮชคือค่าแฮชหรือที่เรียกว่าข้อความย่อ ซึ่งเป็นที่แตกต่างกันสำหรับแต่ละข้อมูลนำเข้า ขนาดของค่าแฮชคือตั้งแต่ 32 บิตถึง 256 บิต ขึ้นอยู่กับฟังก์ชันแฮชที่ใช้ ค่าแฮชจำเป็นเฉพาะสำหรับการใช้งานเดียวในกระบวนการเช่นการตรวจสอบข้อมูลหรือการสร้างลายเซ็นดิจิทัล ดังนั้น ลายเซ็นดิจิทัลเป็นเอกสารสำคัญต่อธุรกรรม
เพื่อดำเนินการลายเซ็นดิจิทัล คุณจะต้องใช้สิ่งต่อไปนี้:
คู่กุญแจ: คู่กุญแจประกอบด้วยคู่กุญแจสาธารณะ/ส่วนตัว คีย์ส่วนตัวใช้สร้างลายเซ็นเจาะจงและคีย์สาธารณะที่สอดคล้องใช้ตรวจสอบลายเซ็น
ข้อมูลที่จะถูกลงนาม: เนื้อหาหรือข้อความที่คุณต้องการลงนาม นี่อาจเป็นเอกสาร ธุรกรรม หรือข้อมูลดิจิทัลใดก็ได้
ฟังก์ชันแฮช: ฟังก์ชันแฮชถูกใช้กับข้อมูลเพื่อสร้างค่าแฮชขนาดคงที่ ค่าแฮชนี้จึงถูกเข้ารหัสด้วยกุญแจส่วนตัวเพื่อสร้างลายเซ็นดิจิทัล
อัลกอริทึมลายเซ็นดิจิทัล: อัลกอริทึมที่รวมกุญแจส่วนตัวกับข้อมูลที่ต้องการลงชื่อโดยทั่วไปเกี่ยวข้องกับฟังก์ชันแฮช อัลกอริทึมนี้สร้างลายเซ็นดิจิทัล
กลไกการตรวจสอบ: ผู้ใดที่ต้องการที่จะตรวจสอบลายเซ็นดิจิทัลจำเป็นต้องมีสิทธิ์เข้าถึงคีย์สาธารณะและอัลกอริทึมเดียวกันกับลายเซ็นดิจิทัล คีย์สาธารณะใช้ในการถอดรหัสลายเซ็นดิจิทัลและเปิดเผยค่าแฮชซึ่งจากนั้นเปรียบเทียบกับค่าแฮชที่คำนวณจากข้อมูลเดิม
ต้นฉบับ: CamCert — ผู้ส่งลงนาม (เข้ารหัส) ค่าแฮชด้วยกุญแจส่วนตัวของตนเอง และผู้รับตรวจสอบความถูกต้องของข้อความโดยเปรียบเทียบค่าแฮช
ขั้นตอนที่ 1: สร้างค่าจำลอง / ค่าแฮชโดยใช้ข้อมูลเดิมผ่านฟังก์ชันแฮช
ขั้นตอนที่ 2: ลงชื่อลงบันทึกด้วยกุญแจส่วนตัวของผู้ส่งเพื่อสร้างการเข้ารหัส
ขั้นตอนที่ 3: ส่งไฟล์ที่เข้ารหัสแล้วไปยังผู้รับ ซึ่งสามารถถอดรหัสด้วยคีย์สาธารณะของผู้ส่งเพื่อสร้างข้อมูลสำคัญ
ขั้นตอนที่ 4: หลังจากถอดรหัสลับ ให้รันข้อมูลผ่านฟังก์ชันแฮชเดียวกันเพื่อสร้างดิเจสต์เทียกี่เทียกุ
ขั้นตอนที่ 5: ตรวจสอบความ完整และความสมบูรณ์ของข้อมูลโดยเปรียบเทียบค่าแฮชที่สร้างขึ้นใหม่กับค่าแฮชที่ได้รับพร้อมกับข้อมูล การตรงกันยืนยันความสมบูรณ์ของข้อมูล
เรามาใช้ภาพประกอบนี้ของการโอนเอกสารระหว่าง Mark ผู้ส่ง และ Karen ผู้รับ
การเลือกอัลกอริธึมลายเซ็นดิจิทัลขึ้นอยู่กับปัจจัยต่างๆ เช่น ข้อกําหนดด้านความปลอดภัย ขนาดคีย์ และข้อควรพิจารณาด้านประสิทธิภาพ อัลกอริธึมแต่ละตัวมีจุดแข็งและจุดอ่อนและการใช้งานอาจพัฒนาตามความก้าวหน้าในการเข้ารหัสและความท้าทายด้านความปลอดภัยที่เกิดขึ้นใหม่
ส่วนนี้กล่าวถึงอัลกอริทึมลายเซ็นดิจิทัลที่ใช้บ่อยที่สุดในเทคโนโลยีบล็อกเชน
ECDSA (Elliptic Curve Digital Signature Algorithm): ใช้คีย์ที่สั้นกว่าและต้องการทรัพยากรการคํานวณน้อยลงและใช้ "คีย์การเข้ารหัสเส้นโค้งวงรี" ซึ่งเป็นกลุ่มจุดจํากัดบนเส้นโค้งที่การดําเนินการบางอย่างดําเนินการได้ง่ายในทิศทางเดียว แต่ท้าทายในทิศทางย้อนกลับ เพื่อความปลอดภัย ECDSA อาศัยปัญหาบันทึกที่ไม่ต่อเนื่อง เป็นอัลกอริธึมลายเซ็นที่ได้รับความนิยมมากที่สุดที่ใช้ในเทคโนโลยีบล็อกเชน
EdDSA (Edwards-curve Digital Signature Algorithm): นี่เป็นอัลกอริทึมลายเซ็นดิจิทัลที่ทันสมัยและมีประสิทธิภาพ ที่มีพื้นฐานบนวิธีการเขี้ยวอิลิพติกเซิร์ฟ. มันถูกนำเสนอเพื่อที่จะทำให้สามารถแก้ไขความกังวลบางประการและปรับปรุงประสิทธิภาพเมื่อเทียบกับโครงสร้างลายเซ็นอื่น ๆ เช่น ECDSA อัลกอริทึมถูกออกแบบมาเพื่อให้มั่นคงปลอดภัยอย่างแข็งแรงด้วยขนาดกุญแจที่เล็กเป็นไปได้ ซึ่งทำให้เหมาะสมสำหรับการใช้งานในแอปพลิเคชันต่าง ๆ เช่นเทคโนโลยีบล็อกเชน เช่น Cardano และ Solana.
อัลกอริทึม Schnorr: ลายเซ็น Schnorr เป็นประเภทของอัลกอริทึมลายเซ็นดิจิทัลที่เป็นไปได้ให้มีการรวมกลุ่มได้ คือ สามารถรวบรวมลายเซ็นหลายรายการบนข้อความเดียวกันเข้าด้วยกันเป็นลายเซ็นเดียว ลายเซ็นนี้ไม่เพียงทำให้มีพื้นที่มากขึ้นเท่านั้น แต่ยังช่วยให้กระบวนการตรวจสอบมีประสิทธิภาพมากขึ้น
มันพิสูจน์แล้วว่ามีประสิทธิภาพในสถานการณ์ที่เกี่ยวข้องกับหลายฝ่ายที่ลงนามในข้อความทั่วไปเช่นการอนุญาตธุรกรรมจากที่อยู่หลายลายเซ็น (multisig) ในกรณีเช่นนี้ผู้เข้าร่วมแต่ละคนจะต้องให้คีย์สาธารณะและลายเซ็นของพวกเขา ดังนั้นหากสามฝ่ายตั้งใจจะลงนามในข้อความเดียวกันหลักฐานจะครอบคลุมคีย์สาธารณะสามคีย์และลายเซ็นสามลายเซ็น สิ่งนี้ดูเหมือนจะไม่มีประสิทธิภาพในการคํานวณและการจัดเก็บเนื่องจากแต่ละโหนดจําเป็นต้องเรียกใช้ฟังก์ชันการตรวจสอบลายเซ็นสามครั้งและจัดเก็บชุดลายเซ็นและคีย์สาธารณะที่แตกต่างกันสามชุด
อัลกอริทึม Schnorr สร้างลายเซ็นเจาะจงที่ถูกต้องสำหรับผลรวมของกุญแจสาธารณะของพวกเขา การรวมกุญแจสามารถลดค่า gas และปรับปรุงความสามารถในการขยายของเลเยอร์ฐานเริ่มต้นเนื่องจากลายเซ็นที่มาจากธุรกรรมหลายฝ่ายเข้าร่วมใช้พื้นที่ในบล็อกเท่ากับลายเซ็นที่มาจากธุรกรรมแบบเดี่ยว
ลายเซ็นเอ็มอาร์: ขั้นตอนการเข้ารหัส BLS (Boneh-Lynn-Shacham) นี้ ขึ้นอยู่กับการจับคู่ไบไลน์บนกลุ่มเส้นโค้งที่เรียกว่า กลุ่มเส้นโค้งเอลลิปติก มันถูกนำเสนอโดย Dan Boneh, Ben Lynn, และ Hovav Shacham ในปี 2001 จุดประสงค์หลักของการเข้ารหัส BLS คือแนวโน้มของโครงสร้างลายเซ็นที่มีประสิทธิภาพและปลอดภัยที่สนับสนุนคุณสมบัติที่ไม่ซ้ำกัน เช่นการรวมกลุ่ม นอกจากนี้ ลายเซ็น BLS ถูกใช้ใน Ethereum 2.0 และ Chia
บิตคอยน์ (BTC):
ขั้นตอนการเข้ารหัส: SHA-256
อัลกอริทึมลายเซ็นดิจิทัล: ECDSA, Schnoor (TapRoot Soft Fork)
Ethereum (ETH):
ขั้นตอนการแฮช: Keccak
อัลกอริทึมลายเซ็นดิจิทัล: ECDSA
Litecoin (LTC):
อัลกอริทึมการแฮช: Scrypt
ขั้นตอนของลายเซ็นดิจิทัล: ECDSA
ริปเปิ้ล (XRP):
อัลกอริทึมแฮช: SHA-256
ลัทธิลายเซ็นดิจิทัล: ECDSA
Cardano (ADA):
อัลกอริทึมแฮช: Keccak
อัลกอริทึมลายเซ็นดิจิทัล: EdDSA (อัลกอริทึมลายเซ็นดิจิทัล Edwards-curve)
Polkadot (DOT):
อัลกอริทึมการเข้ารหัส: Blake2
วิธีการลายเซ็นดิจิทัล: EdDSA
Tezos (XTZ):
อัลกอริทึมการแฮช: Blake2b
อัลกอริทึมลายเซ็นดิจิทัล: EdDSA
BNB Chain (BNB):
อัลกอริทึมแฮช: Keccak (ใช้สำหรับโทเค็น BEP-2)
วิธีการลายเซ็นดิจิทัล: ECDSA
Bitcoin ใช้วิธี Elliptic Curve Digital Signature Algorithm (ECDSA) เพื่อสร้างลายเซ็นเจอร์ที่เป็นเอกลักษณ์สำหรับแต่ละธุรกรรม อย่างไรก็ตาม ด้วยความก้าวหน้าล่าสุด อัลกอริทึม Schnorr ได้ถูกนำเสนอผ่าน TapRoot soft fork อัลกอริทึมนี้ที่โดดเด่นด้วยประสิทธิภาพในเชิงความจุของพื้นที่จัดเก็บและความเร็วในการตรวจสอบ สามารถเพิ่มประสิทธิภาพในการขยายขอบเขตของบิตคอยน์ได้ถึง 30% ด้วยคุณลักษณะการรวมธุรกรรมของมัน
)
แหล่งที่มา: ไทม์ส์ออฟอินเดีย — ธุรกรรมที่ได้รับลายเซ็นเท่านั้นที่สามารถรับรองและตรวจสอบได้จากโหนดของเครือข่าย
กลไกพื้นฐานของธุรกรรม Bitcoin ประกอบด้วยชุดขั้นตอนที่รวมถึงการใช้ลายเซ็นดิจิทัล
ที่นี่คือภาพรวม:
ตอนนี้ที่เราเข้าใจการทำงานและความสำคัญของลายเซ็น เรามาเน้นที่การประยุกต์ใช้ของลายเซ็นดิจิทัลในการป้องกันธุรกรรม การรับรองความถูกต้องของตัวตน และการรักษาความสมบูรณ์ของข้อมูลในระบบ Web3
ในกรณีเช่นนี้ อลิซต้องการโอน Ethereum ให้บ็อบ เธอลงลายเซ็นธุรกรรมด้วยคีย์ส่วนตัวของเธอ เพื่อสร้างลายเซ็นดิจิทัล ระบบเครือข่าย Ethereum ยืนยันลายเซ็นโดยใช้คีย์สาธารณะของอลิซ เพื่อให้แน่ใจว่าธุรกรรมได้รับการอนุญาตจากเธอ สิ่งนี้ก็สามารถนำไปใช้ในการโอนสิทธิ์เป็นเจ้าของของ NFT โดยที่มันถูกบันทึกบนบล็อกเชนด้วยธุรกรรมที่ลงลายเซ็น ทำให้มั่นใจในความถูกต้องของการเปลี่ยนแปลงเจ้าของ
สมาร์ทคอนทรัคต์ถูกสร้างขึ้นเพื่อทำงานร่วมกับลายเซ็นและสามารถดำเนินธุรกรรมหลังจากการตรวจสอบ ตัวอย่างเช่น ในแพลตฟอร์มการให้ยืมแบบกระจาย ผู้ใช้เริ่มต้นการขอยืมเงิน คำขอนี้กระตุ้นการดำเนินการของสมาร์ทคอนทรัคต์ ผู้ใช้ลงลายมือถือกับธุรกรรมด้วยกุญแจส่วนตัวของตน และสมาร์ทคอนทรัคต์ตรวจสอบลายเซ็นเพื่อดำเนินการของข้อตกลงการยืมเงิน
ผู้ใช้เข้าสู่แอปพลิเคชันที่ไม่ central (dApp) โดยใช้ identity บล็อกเชนของตัวเอง เช่นที่อยู่ Ethereum เเอดเดรส แอปพลิเเคชันที่ไม่ central ขอข้อความที่ถูกลงนามจากผู้ใช้ (กุญแจส่วนตัว) ซึ่งเป็นฐานสำหรับการเป็นเจ้าของ ลายเซ็นดิจิทัล ทำให้สามารถพิสูจน์ตัวตนของผู้ใช้
นี่ยังสามารถเป็นวิธีง่าย ๆ ในการเชื่อมต่อผู้ใช้ Web3 ใหม่ ๆ เนื่องจากพวกเขาไม่จำเป็นต้องสร้างบัญชีและเก็บรหัสผ่านอีกต่อไป ผู้ใช้สามารถซ่อนตัวตนและไม่จำเป็นต้องเปิดเผยรายละเอียดส่วนตัวอย่างเช่นที่อยู่อีเมลของพวกเขา
ศิลปินลงนามในไฟล์ศิลปะดิจิทัลด้วยคีย์ส่วนตัวก่อนที่จะสร้างเป็น NFT ลายเซ็นดิจิทัลช่วยให้มั่นใจได้ถึงความสมบูรณ์ของงานศิลปะและศิลปินไม่สามารถปฏิเสธการประพันธ์ได้ในภายหลัง
ในแพลตฟอร์มลงคะแนนที่ไม่มีการจัดกลุ่ม ผู้ลงคะแนนลงคะเนนโดยการลงนามตามทางเลือกของพวกเขาด้วยกุญแจส่วนตัวของพวกเขา ลายเซ็นดิจิทัลยืนยันคะแนนเลือกและรับรองให้แต่ละผู้ลงคะแนนสามารถตรวจสอบส่วนร่วมของพวกเขา แอปพลิเคชันนี้ถูกเห็นในการลงคะแนนสำหรับการปกครองและการลงคะแนนโปรโตคอลความเห็น
ผู้ใช้โอนโทเค็นจากบล็อกเชนหนึ่งไปยังอีกตัวโดยใช้โปรโตคอลสะพาน ผู้ใช้ลงลายเซ็นการทำธุรกรรมบนโซร์สเชนและโดยที่เชนปลายทางยืนยันลายเซ็นเพื่ออนุญาตให้การโอนทางกายภาพได้
ลายเซ็นดิจิทัลยังคงเป็นหนึ่งในวิธีการตรวจสอบที่แน่นอนบนบล็อกเชน อย่างไรก็ตาม การพัฒนาคอมพิวเตอร์ควอนตัมขนาดใหญ่จะเป็นอันตรายต่อความปลอดภัยของบล็อกเชน เนื่องจากอัลกอริทึมการเข้ารหัสสามารถถูกถอดรหัสโดยคอมพิวเตอร์ควอนตัมอย่างรวดเร็ว
คอมพิวเตอร์ควอนตัมสามารถประมวลผลงานที่ความเร็วไม่น่าเชื่อได้ สามารถทำในเวลาไม่กี่วินาทีสิ่งที่คอมพิวเตอร์แบบดั้งเดิมใช้เวลาหลายชั่วโมง ผู้กระทำที่ไม่ดีสามารถใช้คอมพิวเตอร์ควอนตัมเพื่อนำการโจมตีควอนตัมซึ่งสามารถเสี่ยงภัยกับบล็อกเชนทั้งหมด
อย่างไรก็ตาม พวกเขาสามารถถูกป้องกันได้โดยลายเซ็นดิจิทัลหลังควอนตัม ซึ่งกำลังอยู่ในขบวนการพัฒนาอยู่แล้ว แม้ว่าพวกเขาจะใช้พื้นที่จัดเก็บข้อมูลมากขึ้นบนบล็อกเชน
ลายเซ็นดิจิทัลยืนยันความถูกต้องและความคงสภาพของข้อมูล โดยอ้างอิงจากหลักการของการเข้ารหัสแบบไม่对称และการทำฮาช มันทำงานโดยการใช้กุญแจส่วนตัวของผู้ส่งเพื่อรับรองความถูกต้องของรูปแบบของข้อมูล และผู้รับรองด้วยกุญแจสาธารณะของผู้ส่ง อัลกอริทึมการเข้ารหัสที่ใช้มากที่สุดโดยบล็อกเชนคือ ECDSA, EdDSA, Schnoor และลายเซ็นดิจิทัล BLS
นอกจากนี้การใช้ลายเซ็นดิจิทัลมักจะเกี่ยวข้องมากที่สุดในการตรวจสอบธุรกรรม ดำเนินการสมาร์ทคอนแทรค การลงคะแนนเสียงในการปกครอง การโอนเงินระหว่างเชน และความสมบูรณ์ของข้อมูลของ NFTs
ลายเซ็นดิจิทัลเป็นเครื่องมือทางคริปโตที่ใช้ในสาขาต่าง ๆ เช่นความมั่นคงในด้านความปลอดภัย การค้าอิเล็กทรอนิกส์ และการกระจายซอฟต์แวร์ พวกเขาให้วิธีการสำหรับการตรวจสอบต้นทางและความสมบูรณ์ของข้อความหรือเอกสารดิจิทัล
อย่างไรก็ตาม เทคโนโลยีบล็อกเชนได้เป็นที่นิยมกันมาโดยใช้ลายเซ็นดิจิทัลเป็นส่วนสำคัญของกระบวนการตรวจสอบและการยืนยันธุรกรรมในระบบที่กระจายและของบทความนี้จะสำรวจอย่างใองการทำงานของลายเซ็นดิจิทัล อัลกอริทึมต่างๆที่ใช้โดยบล็อกเชน และการประยุกต์ใช้งานของพวกเขาในพื้นที่ Web3
แหล่งที่มา: CoinGeek
ลายเซ็นดิจิทัลเป็นเทคนิคทางเข้ารหัสที่ใช้ในการยืนยันความถูกต้องและความสมบูรณ์ของข้อความดิจิทัล เอกสาร หรือธุรกรรม ลายเซ็นดิจิทัลถือว่าปลอดภัยกว่าลายเซ็นอิเล็กทรอนิก
โดยปกติลายเซ็นต์รับรองให้สัญญามีผลผูกพันทางกฎหมาย ยืนยันตัวตนของผู้ที่เกี่ยวข้อง และมีการยอมรับที่แน่นอนของเงื่อนไขของสัญญา ลายเซ็นดิจิทัลก้าวไปอีกขั้นเพื่อแก้ปัญหาการเปลี่ยนแปลงและการปลอมแปลงซึ่งทำให้มันเป็นรูปแบบของลายเซ็นที่ปลอดภัยกว่า
คุณลักษณะหลักของลายเซ็นดิจิทัลคือ:
แหล่งที่มา: WikiBooks
การเขียนรหัสไม่对称เป็นวิธีการเข้ารหัสและถอดรหัสข้อมูลด้วยกุญแจสองชุดที่แตกต่างกัน ทำให้หนึ่งในกุญแจ (นั่นคือกุญแจสาธารณะ) ถูกแชร์ไว้เป็นสาธารณะกับทุกคน กุญแจอีกตัวที่เรียกว่ากุญแจส่วนตัว เป็นกุญแจที่ลับและเก็บไว้อย่างปลอดภัยที่รู้จักเฉพาะผู้ลงนาม ข้อมูลที่ถูกเข้ารหัสด้วยตัวหนึ่งสามารถถอดรหัสได้เฉพาะโดยใช้ตัวอื่น
ในการเข้ารหัสลับ, กุญแจมักเป็นสตริงของตัวเลขและตัวอักษร ที่ใช้ในการสลับข้อมูลเพื่อให้ดูเหมือนสุ่ม อย่างไรก็ตาม ผู้ใดมีกุญแจที่ถูกต้องสำหรับการถอดรหัสข้อมูลสามารถเรียงข้อมูลใหม่ให้กลับไปสู่รูปแบบเดิม
ตัวอย่างเช่น สมมติว่าเราเอาภาพหนึ่ง และเข้ารหัสด้วยคีย์ ขอเรียกว่าคีย์คือ 28j932d8kd8 ภาพของเราจะถูกเห็นว่า "X5CSycg14=xJ" อย่างไรก็ตาม โดยการถอดรหัสด้วยคีย์ที่ถูกต้อง เราสามารถได้ภาพของเรากลับมา
การทำแฮชคือกระบวนการแปลงข้อมูล (ข้อความ ไฟล์) ที่มีขนาดต่าง ๆ เป็นผลลัพธ์ที่มีความยาวของตัวอักษรและตัวเลขที่คงที่โดยใช้ฟังก์ชันแฮช มันเป็นกระบวนการแบบ one-way ที่ค่าแฮชไม่สามารถกลับไปสู่ข้อมูลเริ่มต้น แต่ชิ้นของข้อมูลเดียวกันจะสร้างค่าแฮชเดียวกันเสมอ
แหล่งข้อมูล: CyberHoot
ในภาพด้านบน ชิ้นข้อความ (ปริศนา) ผ่านฟังก์ชันแฮช (SHA-256) และถูกแปลงเป็นแฮช (ความยาวคงที่ของตัวเลขและตัวอักษร)
อัลกอริทึมที่ประมวลผลข้อมูลที่จะทำเครื่องหมายลายเซ็น, โดยสร้างค่าแฮชขนาดคงที่ ฟังก์ชันแฮช ทำให้ลายเซ็นเหลือความยาวคงที่ โดยไม่ว่าขนาดของข้อมูลเดิมจะเป็นอย่างไร
ผลลัพธ์สุดท้ายของฟังก์ชันแฮชคือค่าแฮชหรือที่เรียกว่าข้อความย่อ ซึ่งเป็นที่แตกต่างกันสำหรับแต่ละข้อมูลนำเข้า ขนาดของค่าแฮชคือตั้งแต่ 32 บิตถึง 256 บิต ขึ้นอยู่กับฟังก์ชันแฮชที่ใช้ ค่าแฮชจำเป็นเฉพาะสำหรับการใช้งานเดียวในกระบวนการเช่นการตรวจสอบข้อมูลหรือการสร้างลายเซ็นดิจิทัล ดังนั้น ลายเซ็นดิจิทัลเป็นเอกสารสำคัญต่อธุรกรรม
เพื่อดำเนินการลายเซ็นดิจิทัล คุณจะต้องใช้สิ่งต่อไปนี้:
คู่กุญแจ: คู่กุญแจประกอบด้วยคู่กุญแจสาธารณะ/ส่วนตัว คีย์ส่วนตัวใช้สร้างลายเซ็นเจาะจงและคีย์สาธารณะที่สอดคล้องใช้ตรวจสอบลายเซ็น
ข้อมูลที่จะถูกลงนาม: เนื้อหาหรือข้อความที่คุณต้องการลงนาม นี่อาจเป็นเอกสาร ธุรกรรม หรือข้อมูลดิจิทัลใดก็ได้
ฟังก์ชันแฮช: ฟังก์ชันแฮชถูกใช้กับข้อมูลเพื่อสร้างค่าแฮชขนาดคงที่ ค่าแฮชนี้จึงถูกเข้ารหัสด้วยกุญแจส่วนตัวเพื่อสร้างลายเซ็นดิจิทัล
อัลกอริทึมลายเซ็นดิจิทัล: อัลกอริทึมที่รวมกุญแจส่วนตัวกับข้อมูลที่ต้องการลงชื่อโดยทั่วไปเกี่ยวข้องกับฟังก์ชันแฮช อัลกอริทึมนี้สร้างลายเซ็นดิจิทัล
กลไกการตรวจสอบ: ผู้ใดที่ต้องการที่จะตรวจสอบลายเซ็นดิจิทัลจำเป็นต้องมีสิทธิ์เข้าถึงคีย์สาธารณะและอัลกอริทึมเดียวกันกับลายเซ็นดิจิทัล คีย์สาธารณะใช้ในการถอดรหัสลายเซ็นดิจิทัลและเปิดเผยค่าแฮชซึ่งจากนั้นเปรียบเทียบกับค่าแฮชที่คำนวณจากข้อมูลเดิม
ต้นฉบับ: CamCert — ผู้ส่งลงนาม (เข้ารหัส) ค่าแฮชด้วยกุญแจส่วนตัวของตนเอง และผู้รับตรวจสอบความถูกต้องของข้อความโดยเปรียบเทียบค่าแฮช
ขั้นตอนที่ 1: สร้างค่าจำลอง / ค่าแฮชโดยใช้ข้อมูลเดิมผ่านฟังก์ชันแฮช
ขั้นตอนที่ 2: ลงชื่อลงบันทึกด้วยกุญแจส่วนตัวของผู้ส่งเพื่อสร้างการเข้ารหัส
ขั้นตอนที่ 3: ส่งไฟล์ที่เข้ารหัสแล้วไปยังผู้รับ ซึ่งสามารถถอดรหัสด้วยคีย์สาธารณะของผู้ส่งเพื่อสร้างข้อมูลสำคัญ
ขั้นตอนที่ 4: หลังจากถอดรหัสลับ ให้รันข้อมูลผ่านฟังก์ชันแฮชเดียวกันเพื่อสร้างดิเจสต์เทียกี่เทียกุ
ขั้นตอนที่ 5: ตรวจสอบความ完整และความสมบูรณ์ของข้อมูลโดยเปรียบเทียบค่าแฮชที่สร้างขึ้นใหม่กับค่าแฮชที่ได้รับพร้อมกับข้อมูล การตรงกันยืนยันความสมบูรณ์ของข้อมูล
เรามาใช้ภาพประกอบนี้ของการโอนเอกสารระหว่าง Mark ผู้ส่ง และ Karen ผู้รับ
การเลือกอัลกอริธึมลายเซ็นดิจิทัลขึ้นอยู่กับปัจจัยต่างๆ เช่น ข้อกําหนดด้านความปลอดภัย ขนาดคีย์ และข้อควรพิจารณาด้านประสิทธิภาพ อัลกอริธึมแต่ละตัวมีจุดแข็งและจุดอ่อนและการใช้งานอาจพัฒนาตามความก้าวหน้าในการเข้ารหัสและความท้าทายด้านความปลอดภัยที่เกิดขึ้นใหม่
ส่วนนี้กล่าวถึงอัลกอริทึมลายเซ็นดิจิทัลที่ใช้บ่อยที่สุดในเทคโนโลยีบล็อกเชน
ECDSA (Elliptic Curve Digital Signature Algorithm): ใช้คีย์ที่สั้นกว่าและต้องการทรัพยากรการคํานวณน้อยลงและใช้ "คีย์การเข้ารหัสเส้นโค้งวงรี" ซึ่งเป็นกลุ่มจุดจํากัดบนเส้นโค้งที่การดําเนินการบางอย่างดําเนินการได้ง่ายในทิศทางเดียว แต่ท้าทายในทิศทางย้อนกลับ เพื่อความปลอดภัย ECDSA อาศัยปัญหาบันทึกที่ไม่ต่อเนื่อง เป็นอัลกอริธึมลายเซ็นที่ได้รับความนิยมมากที่สุดที่ใช้ในเทคโนโลยีบล็อกเชน
EdDSA (Edwards-curve Digital Signature Algorithm): นี่เป็นอัลกอริทึมลายเซ็นดิจิทัลที่ทันสมัยและมีประสิทธิภาพ ที่มีพื้นฐานบนวิธีการเขี้ยวอิลิพติกเซิร์ฟ. มันถูกนำเสนอเพื่อที่จะทำให้สามารถแก้ไขความกังวลบางประการและปรับปรุงประสิทธิภาพเมื่อเทียบกับโครงสร้างลายเซ็นอื่น ๆ เช่น ECDSA อัลกอริทึมถูกออกแบบมาเพื่อให้มั่นคงปลอดภัยอย่างแข็งแรงด้วยขนาดกุญแจที่เล็กเป็นไปได้ ซึ่งทำให้เหมาะสมสำหรับการใช้งานในแอปพลิเคชันต่าง ๆ เช่นเทคโนโลยีบล็อกเชน เช่น Cardano และ Solana.
อัลกอริทึม Schnorr: ลายเซ็น Schnorr เป็นประเภทของอัลกอริทึมลายเซ็นดิจิทัลที่เป็นไปได้ให้มีการรวมกลุ่มได้ คือ สามารถรวบรวมลายเซ็นหลายรายการบนข้อความเดียวกันเข้าด้วยกันเป็นลายเซ็นเดียว ลายเซ็นนี้ไม่เพียงทำให้มีพื้นที่มากขึ้นเท่านั้น แต่ยังช่วยให้กระบวนการตรวจสอบมีประสิทธิภาพมากขึ้น
มันพิสูจน์แล้วว่ามีประสิทธิภาพในสถานการณ์ที่เกี่ยวข้องกับหลายฝ่ายที่ลงนามในข้อความทั่วไปเช่นการอนุญาตธุรกรรมจากที่อยู่หลายลายเซ็น (multisig) ในกรณีเช่นนี้ผู้เข้าร่วมแต่ละคนจะต้องให้คีย์สาธารณะและลายเซ็นของพวกเขา ดังนั้นหากสามฝ่ายตั้งใจจะลงนามในข้อความเดียวกันหลักฐานจะครอบคลุมคีย์สาธารณะสามคีย์และลายเซ็นสามลายเซ็น สิ่งนี้ดูเหมือนจะไม่มีประสิทธิภาพในการคํานวณและการจัดเก็บเนื่องจากแต่ละโหนดจําเป็นต้องเรียกใช้ฟังก์ชันการตรวจสอบลายเซ็นสามครั้งและจัดเก็บชุดลายเซ็นและคีย์สาธารณะที่แตกต่างกันสามชุด
อัลกอริทึม Schnorr สร้างลายเซ็นเจาะจงที่ถูกต้องสำหรับผลรวมของกุญแจสาธารณะของพวกเขา การรวมกุญแจสามารถลดค่า gas และปรับปรุงความสามารถในการขยายของเลเยอร์ฐานเริ่มต้นเนื่องจากลายเซ็นที่มาจากธุรกรรมหลายฝ่ายเข้าร่วมใช้พื้นที่ในบล็อกเท่ากับลายเซ็นที่มาจากธุรกรรมแบบเดี่ยว
ลายเซ็นเอ็มอาร์: ขั้นตอนการเข้ารหัส BLS (Boneh-Lynn-Shacham) นี้ ขึ้นอยู่กับการจับคู่ไบไลน์บนกลุ่มเส้นโค้งที่เรียกว่า กลุ่มเส้นโค้งเอลลิปติก มันถูกนำเสนอโดย Dan Boneh, Ben Lynn, และ Hovav Shacham ในปี 2001 จุดประสงค์หลักของการเข้ารหัส BLS คือแนวโน้มของโครงสร้างลายเซ็นที่มีประสิทธิภาพและปลอดภัยที่สนับสนุนคุณสมบัติที่ไม่ซ้ำกัน เช่นการรวมกลุ่ม นอกจากนี้ ลายเซ็น BLS ถูกใช้ใน Ethereum 2.0 และ Chia
บิตคอยน์ (BTC):
ขั้นตอนการเข้ารหัส: SHA-256
อัลกอริทึมลายเซ็นดิจิทัล: ECDSA, Schnoor (TapRoot Soft Fork)
Ethereum (ETH):
ขั้นตอนการแฮช: Keccak
อัลกอริทึมลายเซ็นดิจิทัล: ECDSA
Litecoin (LTC):
อัลกอริทึมการแฮช: Scrypt
ขั้นตอนของลายเซ็นดิจิทัล: ECDSA
ริปเปิ้ล (XRP):
อัลกอริทึมแฮช: SHA-256
ลัทธิลายเซ็นดิจิทัล: ECDSA
Cardano (ADA):
อัลกอริทึมแฮช: Keccak
อัลกอริทึมลายเซ็นดิจิทัล: EdDSA (อัลกอริทึมลายเซ็นดิจิทัล Edwards-curve)
Polkadot (DOT):
อัลกอริทึมการเข้ารหัส: Blake2
วิธีการลายเซ็นดิจิทัล: EdDSA
Tezos (XTZ):
อัลกอริทึมการแฮช: Blake2b
อัลกอริทึมลายเซ็นดิจิทัล: EdDSA
BNB Chain (BNB):
อัลกอริทึมแฮช: Keccak (ใช้สำหรับโทเค็น BEP-2)
วิธีการลายเซ็นดิจิทัล: ECDSA
Bitcoin ใช้วิธี Elliptic Curve Digital Signature Algorithm (ECDSA) เพื่อสร้างลายเซ็นเจอร์ที่เป็นเอกลักษณ์สำหรับแต่ละธุรกรรม อย่างไรก็ตาม ด้วยความก้าวหน้าล่าสุด อัลกอริทึม Schnorr ได้ถูกนำเสนอผ่าน TapRoot soft fork อัลกอริทึมนี้ที่โดดเด่นด้วยประสิทธิภาพในเชิงความจุของพื้นที่จัดเก็บและความเร็วในการตรวจสอบ สามารถเพิ่มประสิทธิภาพในการขยายขอบเขตของบิตคอยน์ได้ถึง 30% ด้วยคุณลักษณะการรวมธุรกรรมของมัน
)
แหล่งที่มา: ไทม์ส์ออฟอินเดีย — ธุรกรรมที่ได้รับลายเซ็นเท่านั้นที่สามารถรับรองและตรวจสอบได้จากโหนดของเครือข่าย
กลไกพื้นฐานของธุรกรรม Bitcoin ประกอบด้วยชุดขั้นตอนที่รวมถึงการใช้ลายเซ็นดิจิทัล
ที่นี่คือภาพรวม:
ตอนนี้ที่เราเข้าใจการทำงานและความสำคัญของลายเซ็น เรามาเน้นที่การประยุกต์ใช้ของลายเซ็นดิจิทัลในการป้องกันธุรกรรม การรับรองความถูกต้องของตัวตน และการรักษาความสมบูรณ์ของข้อมูลในระบบ Web3
ในกรณีเช่นนี้ อลิซต้องการโอน Ethereum ให้บ็อบ เธอลงลายเซ็นธุรกรรมด้วยคีย์ส่วนตัวของเธอ เพื่อสร้างลายเซ็นดิจิทัล ระบบเครือข่าย Ethereum ยืนยันลายเซ็นโดยใช้คีย์สาธารณะของอลิซ เพื่อให้แน่ใจว่าธุรกรรมได้รับการอนุญาตจากเธอ สิ่งนี้ก็สามารถนำไปใช้ในการโอนสิทธิ์เป็นเจ้าของของ NFT โดยที่มันถูกบันทึกบนบล็อกเชนด้วยธุรกรรมที่ลงลายเซ็น ทำให้มั่นใจในความถูกต้องของการเปลี่ยนแปลงเจ้าของ
สมาร์ทคอนทรัคต์ถูกสร้างขึ้นเพื่อทำงานร่วมกับลายเซ็นและสามารถดำเนินธุรกรรมหลังจากการตรวจสอบ ตัวอย่างเช่น ในแพลตฟอร์มการให้ยืมแบบกระจาย ผู้ใช้เริ่มต้นการขอยืมเงิน คำขอนี้กระตุ้นการดำเนินการของสมาร์ทคอนทรัคต์ ผู้ใช้ลงลายมือถือกับธุรกรรมด้วยกุญแจส่วนตัวของตน และสมาร์ทคอนทรัคต์ตรวจสอบลายเซ็นเพื่อดำเนินการของข้อตกลงการยืมเงิน
ผู้ใช้เข้าสู่แอปพลิเคชันที่ไม่ central (dApp) โดยใช้ identity บล็อกเชนของตัวเอง เช่นที่อยู่ Ethereum เเอดเดรส แอปพลิเเคชันที่ไม่ central ขอข้อความที่ถูกลงนามจากผู้ใช้ (กุญแจส่วนตัว) ซึ่งเป็นฐานสำหรับการเป็นเจ้าของ ลายเซ็นดิจิทัล ทำให้สามารถพิสูจน์ตัวตนของผู้ใช้
นี่ยังสามารถเป็นวิธีง่าย ๆ ในการเชื่อมต่อผู้ใช้ Web3 ใหม่ ๆ เนื่องจากพวกเขาไม่จำเป็นต้องสร้างบัญชีและเก็บรหัสผ่านอีกต่อไป ผู้ใช้สามารถซ่อนตัวตนและไม่จำเป็นต้องเปิดเผยรายละเอียดส่วนตัวอย่างเช่นที่อยู่อีเมลของพวกเขา
ศิลปินลงนามในไฟล์ศิลปะดิจิทัลด้วยคีย์ส่วนตัวก่อนที่จะสร้างเป็น NFT ลายเซ็นดิจิทัลช่วยให้มั่นใจได้ถึงความสมบูรณ์ของงานศิลปะและศิลปินไม่สามารถปฏิเสธการประพันธ์ได้ในภายหลัง
ในแพลตฟอร์มลงคะแนนที่ไม่มีการจัดกลุ่ม ผู้ลงคะแนนลงคะเนนโดยการลงนามตามทางเลือกของพวกเขาด้วยกุญแจส่วนตัวของพวกเขา ลายเซ็นดิจิทัลยืนยันคะแนนเลือกและรับรองให้แต่ละผู้ลงคะแนนสามารถตรวจสอบส่วนร่วมของพวกเขา แอปพลิเคชันนี้ถูกเห็นในการลงคะแนนสำหรับการปกครองและการลงคะแนนโปรโตคอลความเห็น
ผู้ใช้โอนโทเค็นจากบล็อกเชนหนึ่งไปยังอีกตัวโดยใช้โปรโตคอลสะพาน ผู้ใช้ลงลายเซ็นการทำธุรกรรมบนโซร์สเชนและโดยที่เชนปลายทางยืนยันลายเซ็นเพื่ออนุญาตให้การโอนทางกายภาพได้
ลายเซ็นดิจิทัลยังคงเป็นหนึ่งในวิธีการตรวจสอบที่แน่นอนบนบล็อกเชน อย่างไรก็ตาม การพัฒนาคอมพิวเตอร์ควอนตัมขนาดใหญ่จะเป็นอันตรายต่อความปลอดภัยของบล็อกเชน เนื่องจากอัลกอริทึมการเข้ารหัสสามารถถูกถอดรหัสโดยคอมพิวเตอร์ควอนตัมอย่างรวดเร็ว
คอมพิวเตอร์ควอนตัมสามารถประมวลผลงานที่ความเร็วไม่น่าเชื่อได้ สามารถทำในเวลาไม่กี่วินาทีสิ่งที่คอมพิวเตอร์แบบดั้งเดิมใช้เวลาหลายชั่วโมง ผู้กระทำที่ไม่ดีสามารถใช้คอมพิวเตอร์ควอนตัมเพื่อนำการโจมตีควอนตัมซึ่งสามารถเสี่ยงภัยกับบล็อกเชนทั้งหมด
อย่างไรก็ตาม พวกเขาสามารถถูกป้องกันได้โดยลายเซ็นดิจิทัลหลังควอนตัม ซึ่งกำลังอยู่ในขบวนการพัฒนาอยู่แล้ว แม้ว่าพวกเขาจะใช้พื้นที่จัดเก็บข้อมูลมากขึ้นบนบล็อกเชน
ลายเซ็นดิจิทัลยืนยันความถูกต้องและความคงสภาพของข้อมูล โดยอ้างอิงจากหลักการของการเข้ารหัสแบบไม่对称และการทำฮาช มันทำงานโดยการใช้กุญแจส่วนตัวของผู้ส่งเพื่อรับรองความถูกต้องของรูปแบบของข้อมูล และผู้รับรองด้วยกุญแจสาธารณะของผู้ส่ง อัลกอริทึมการเข้ารหัสที่ใช้มากที่สุดโดยบล็อกเชนคือ ECDSA, EdDSA, Schnoor และลายเซ็นดิจิทัล BLS
นอกจากนี้การใช้ลายเซ็นดิจิทัลมักจะเกี่ยวข้องมากที่สุดในการตรวจสอบธุรกรรม ดำเนินการสมาร์ทคอนแทรค การลงคะแนนเสียงในการปกครอง การโอนเงินระหว่างเชน และความสมบูรณ์ของข้อมูลของ NFTs