ลายเซ็นแบบวงซ่อนผู้ส่งคริปโตอย่างไร

· อ่าน 6 นาที

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

ลายเซ็นแบบวงคืออะไร?

คำตอบสั้นๆ

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

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

ลายเซ็นแบบวงมีที่มาอย่างไร?

Ron Rivest, Adi Shamir และ Yael Tauman เสนอลายเซ็นแบบวงที่ ASIACRYPT 2001 ในงานชื่อ “How to Leak a Secret” ตัวอย่างคือสมาชิกคณะรัฐมนตรีที่อยากส่งเรื่องลับให้นักข่าว โดยพิสูจน์ว่ามาจากคณะรัฐมนตรีแต่ไม่เปิดเผยสมาชิก เขาลงนามด้วยคีย์ของตนร่วมกับคีย์สาธารณะของรัฐมนตรีคนอื่น นักข่าวจึงตรวจลายเซ็นได้โดยไม่รู้ว่าใครเขียน

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

ลายเซ็นแบบวงทำงานอย่างไร?

ระบบสมัยใหม่ที่ใช้ในคริปโตสร้างวงจากแฮชและคีย์บนเส้นโค้งวงรี แนวคิดสำหรับวงคีย์สาธารณะ 16 คีย์มีขั้นตอนง่ายๆ ดังนี้:

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

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

key image ป้องกันการใช้จ่ายซ้ำอย่างไร?

ลายเซ็นแบบวงทั่วไปมีช่องว่างหนึ่งสำหรับเงิน หากทุกการใช้จ่ายซ่อนในเอาต์พุตอื่น เครือข่ายมองไม่เห็นว่าเหรียญเดิมถูกใช้สองครั้ง ลายเซ็นแบบวงที่เชื่อมโยงได้แก้เรื่องนี้ Joseph Liu, Victor Wei และ Duncan Wong อธิบายระบบแรกชื่อ LSAG ที่ ACISP 2004 (ePrint 2004/027) ลายเซ็นสองชุดที่สร้างด้วยคีย์ส่วนตัวเดียวกันเชื่อมโยงกันได้ ขณะที่ผู้ลงนามยังซ่อนอยู่ในวง

การออกแบบ CryptoNote ปี 2013 พัฒนาแนวคิดนี้เป็น key image สำหรับเอาต์พุตที่มีคีย์ส่วนตัว x และคีย์สาธารณะ P กระเป๋าเงินคำนวณ I = x · Hp(P) โดย Hp แฮชคีย์สาธารณะเป็นจุดบนเส้นโค้ง ลายเซ็นพิสูจน์ว่า I เป็นของสมาชิกที่ลงนามโดยไม่บอกว่าใคร เพราะ key image ขึ้นอยู่เฉพาะกับเอาต์พุตที่ใช้จ่าย การใช้เอาต์พุตนั้นอีกครั้งจึงให้ I เดิมเสมอ ทุกโหนดเก็บรายการ key image ที่เคยเห็นและปฏิเสธธุรกรรมที่ใช้ค่าซ้ำ

จาก MLSAG สู่ CLSAG

คริปโตที่ซ่อนจำนวนเงินด้วยต้องให้ลายเซ็นแบบวงพิสูจน์ข้อเท็จจริงที่สอง คือยอดอินพุตที่ซ่อนอยู่ตรงกับสิ่งที่ธุรกรรมใช้จ่าย งานปี 2015 ของ Shen Noether ชื่อ “Ring Signature Confidential Transactions for Monero” (RingCT) ทำด้วย MLSAG ซึ่งเป็นลายเซ็นแบบวงบนคีย์สองชุด ชุดหนึ่งสำหรับความเป็นเจ้าของ อีกชุดสำหรับ commitment ของจำนวนเงิน

CLSAG ของ Brandon Goodell, Sarang Noether และ Arthur Blue (ePrint 2019/654) พิสูจน์ข้อเท็จจริงเดียวกันได้กะทัดรัดกว่า Monero เปลี่ยนจาก MLSAG เป็น CLSAG ในการอัปเกรดเดือนตุลาคม 2020 เอกสาร Monero รายงานว่าตรวจเร็วขึ้นประมาณ 20% และธุรกรรมทั่วไปที่มีสองอินพุตสองเอาต์พุตลดจากประมาณ 2.5 kB เหลือ 1.9 kB

ขนาดวงมีผลต่อความเป็นส่วนตัวอย่างไร?

คำตอบสั้นๆ

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

เอาต์พุตหลอกเป็นเอาต์พุตจริงจากเชน แต่ละรายการจึงอาจเป็นเหรียญที่ใช้จ่ายจริงได้ หากวงมีขนาดต่างกัน กระเป๋าเงินที่เลือกขนาดผิดปกติจะทำเครื่องหมายธุรกรรมของตัวเอง Monero เพิ่มขนาดวงจาก 11 เป็น 16 ในการอัปเกรดเดือนสิงหาคม 2022 และ Blocknet กำหนด 16 ด้วยฉันทามติสำหรับทุกอินพุต

Blocknet ใช้ลายเซ็นแบบวงอย่างไร

ทุกอินพุตของ Blocknet ลงนามด้วย CLSAG และ RingCT บนวงที่มี 16 เอาต์พุตพอดี ฉันทามติบังคับกฎเหล่านี้ จึงไม่มีกระเป๋าเงินใดข้ามได้:

รูปแบบธุรกรรมไม่มีโหมดโปร่งใส ทุกการชำระเงินบนเชนจึงมีวงเช่นนี้ ลายเซ็นแบบวงซ่อนผู้ส่ง stealth address แบบใช้ครั้งเดียว ซ่อนผู้รับ และ Pedersen commitment พร้อม Bulletproofs ซ่อนจำนวนเงิน วิธีที่ Blocknet รักษาความเป็นส่วนตัวของการชำระเงิน อธิบายแต่ละชั้นและความหมายเมื่อคุณจ่ายเงินให้ใครสักคน

สิ่งที่จะตามมากับการอัปเกรด Faraday

Blocknet วางแผนอัปเกรดเครือข่ายชื่อ Faraday โดยวางแผนเปิดใช้ราววันที่ 16 กุมภาพันธ์ 2027 ตาม blocknetcrypto.com เว็บไซต์อธิบายว่า “ปัจจุบันการใช้จ่ายซ่อนอยู่ใน 16 เอาต์พุต หลัง Faraday จะซ่อนอยู่ในทุกเอาต์พุตบนเชน” Faraday ยังจะนำหลักฐานการใช้จ่ายใหม่มาใช้ ซึ่งเว็บไซต์อธิบายว่า “ออกแบบให้คอมพิวเตอร์ควอนตัมปลอมการใช้จ่ายไม่ได้” การออกแบบ ทดสอบ และตรวจสอบเชิงโจมตีอยู่ระหว่างดำเนินการ และวันที่ยังเป็นแผน ไม่ใช่กำหนดสุดท้าย

รับ BNT เพื่อส่งอย่างเป็นส่วนตัว

วิธีง่ายๆ ที่จะรับเหรียญซึ่งใช้วงเหล่านี้คือการขุด โปรแกรมขุด seine ฟรี เป็นโอเพนซอร์ส และปรับขนาดให้เหมาะกับคอมพิวเตอร์ของคุณ โดยมี bntpool.com เป็นพูลเริ่มต้น คุณจึงเริ่มขุดได้ในไม่กี่นาที คู่มือขุด ครอบคลุมการตั้งค่า และคุณขุดเข้าที่อยู่หรือชื่อ Blocknet ID ได้โดยตรง

คำถามที่พบบ่อย

ลายเซ็นแบบวงต่างจากลายเซ็นกลุ่มอย่างไร?

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

key image ในลายเซ็นแบบวงคืออะไร?

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

CLSAG คืออะไร?

CLSAG เป็นระบบลายเซ็นแบบวงที่เชื่อมโยงได้ ซึ่ง Brandon Goodell, Sarang Noether และ Arthur Blue อธิบายในปี 2019 พิสูจน์ว่าผู้ลงนามเป็นเจ้าของเอาต์พุตหนึ่งในวงและยอดเงินสมดุล พร้อม key image ป้องกันการใช้จ่ายซ้ำ Monero นำมาใช้ในเดือนตุลาคม 2020 และ Blocknet ลงนามทุกอินพุตด้วย CLSAG และ RingCT

Blocknet ใช้วงขนาดเท่าไร?

Blocknet ใช้วงขนาด 16 พอดีสำหรับทุกอินพุต ได้แก่เอาต์พุตจริงและเอาต์พุตหลอก 15 รายการ ซึ่งแต่ละรายการเป็นเอาต์พุตจริงที่มีอยู่บนเชนแล้ว ฉันทามติปฏิเสธขนาดอื่น เพราะทุกอินพุตใช้ขนาดเดียวกัน ขนาดวงจึงไม่ทำให้ธุรกรรมใดโดดเด่น และเอาต์พุตจริงอยู่ในตำแหน่งสุ่มในวง

ลายเซ็นแบบวงซ่อนจำนวนเงินที่จ่ายหรือไม่?

ไม่ ลายเซ็นแบบวงซ่อนว่าเอาต์พุตใดเป็นผู้จ่าย จำนวนเงินซ่อนด้วยอีกชั้นหนึ่งคือ Pedersen commitment ที่ผูกกับตัวเลขโดยไม่แสดง และ range proof แบบ Bulletproofs ที่พิสูจน์ว่าทุกจำนวนเงินถูกต้อง Blocknet ใช้ทั้งหมดร่วมกันในทุกธุรกรรม พร้อม stealth address แบบใช้ครั้งเดียวที่ซ่อนผู้รับ