ธุรกรรมที่เป็นความลับใน Monero หรือวิธีถ่ายโอนสิ่งที่ไม่รู้จักไปยังจุดหมายปลายทางที่ไม่รู้จัก

เราสานต่อซีรีส์ของเราเกี่ยวกับบล็อกเชน Monero และบทความในวันนี้จะมุ่งเน้นไปที่โปรโตคอล RingCT (Ring Confidential Transactions) ซึ่งแนะนำธุรกรรมที่เป็นความลับและลายเซ็นวงแหวนใหม่ น่าเสียดายที่มีข้อมูลเพียงเล็กน้อยบนอินเทอร์เน็ตเกี่ยวกับวิธีการทำงาน และเราพยายามเติมเต็มช่องว่างนี้

ธุรกรรมที่เป็นความลับใน Monero หรือวิธีถ่ายโอนสิ่งที่ไม่รู้จักไปยังจุดหมายปลายทางที่ไม่รู้จัก

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

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

โปรโตคอล RingCT

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

เป็นที่น่าสังเกตว่าแนวคิดในการซ่อนจำนวนเงินไม่ใช่เรื่องใหม่ Greg Maxwell ผู้พัฒนา Bitcoin Core เป็นหนึ่งในคนกลุ่มแรก ๆ ที่อธิบายสิ่งนี้ในตัวเขา บทความธุรกรรมที่เป็นความลับ. การใช้งาน RingCT ในปัจจุบันคือการปรับเปลี่ยนโดยมีความเป็นไปได้ในการใช้ลายเซ็นวงแหวน (ไม่ว่าจะไม่มีก็ตาม) และนั่นคือที่มาของชื่อ - ธุรกรรมที่เป็นความลับของแหวน

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

ในเดือนมกราคม 2017 ฮาร์ดฟอร์คของเครือข่าย Monero เกิดขึ้น ทำให้สามารถเลือกใช้ธุรกรรมที่เป็นความลับได้ และในเดือนกันยายนของปีเดียวกัน ด้วยฮาร์ดฟอร์กเวอร์ชัน 6 ธุรกรรมดังกล่าวจึงกลายเป็นธุรกรรมเดียวที่ได้รับอนุญาตบนเครือข่าย

RingCT ใช้กลไกหลายอย่างพร้อมกัน: ลายเซ็นกลุ่มที่ไม่เปิดเผยตัวตนที่เกิดขึ้นเองที่เชื่อมโยงหลายชั้น (ลายเซ็นกลุ่มที่ไม่เปิดเผยตัวตนที่เกิดขึ้นเองแบบหลายชั้นที่เชื่อมโยงได้ซึ่งต่อไปนี้จะเรียกว่า MLSAG) รูปแบบความมุ่งมั่น (ความมุ่งมั่นของ Pedersen) และการพิสูจน์ช่วง (คำนี้ไม่มีการแปลที่เป็นที่ยอมรับเป็นภาษารัสเซีย) .

โปรโตคอล RingCT แนะนำธุรกรรมที่ไม่ระบุชื่อสองประเภท: แบบง่ายและเต็มรูปแบบ กระเป๋าเงินจะสร้างรายการแรกเมื่อธุรกรรมใช้มากกว่าหนึ่งอินพุต ส่วนรายการที่สองจะเกิดขึ้นในสถานการณ์ตรงกันข้าม โดยมีความแตกต่างกันในการตรวจสอบความถูกต้องของจำนวนธุรกรรมและข้อมูลที่ลงนามด้วยลายเซ็น MLSAG (เราจะพูดถึงเรื่องนี้เพิ่มเติมด้านล่าง) นอกจากนี้ ธุรกรรมประเภทเต็มสามารถสร้างขึ้นได้ด้วยอินพุตจำนวนเท่าใดก็ได้ โดยไม่มีความแตกต่างพื้นฐาน ในหนังสือ "ศูนย์ถึง Monero" ในเรื่องนี้ว่ากันว่าการตัดสินใจจำกัดธุรกรรมทั้งหมดไว้ที่อินพุตเดียวนั้นเกิดขึ้นอย่างรวดเร็วและอาจมีการเปลี่ยนแปลงได้ในอนาคต

ลายเซ็น MLSAG

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

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

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

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

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

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

ธุรกรรมที่เป็นความลับใน Monero หรือวิธีถ่ายโอนสิ่งที่ไม่รู้จักไปยังจุดหมายปลายทางที่ไม่รู้จัก

ข้อมูลนี้จะถูกเขียนลงในธุรกรรม

ดังที่เราเห็น MLSAG มีเพียงความท้าทายเดียวเท่านั้น c0ซึ่งช่วยให้คุณประหยัดขนาดลายเซ็น (ซึ่งต้องใช้พื้นที่มากอยู่แล้ว) นอกจากนี้ผู้ตรวจสอบใด ๆ โดยใช้ข้อมูลธุรกรรมที่เป็นความลับใน Monero หรือวิธีถ่ายโอนสิ่งที่ไม่รู้จักไปยังจุดหมายปลายทางที่ไม่รู้จักคืนค่าค่า c1,…, cm และตรวจสอบว่าธุรกรรมที่เป็นความลับใน Monero หรือวิธีถ่ายโอนสิ่งที่ไม่รู้จักไปยังจุดหมายปลายทางที่ไม่รู้จัก. ดังนั้นแหวนของเราจึงถูกปิดและลายเซ็นได้รับการตรวจสอบแล้ว

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

Pedersen ความมุ่งมั่น

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

สัญญาผูกมัด Monero ใช้เพื่อซ่อนจำนวนเงินโอน และใช้ตัวเลือกที่พบบ่อยที่สุด - ข้อผูกมัด Pedersen อย่างไรก็ตามข้อเท็จจริงที่น่าสนใจ - ในตอนแรกนักพัฒนาเสนอให้ซ่อนจำนวนเงินโดยการผสมแบบธรรมดานั่นคือการเพิ่มผลลัพธ์สำหรับจำนวนที่กำหนดเองเพื่อทำให้เกิดความไม่แน่นอน แต่แล้วพวกเขาก็เปลี่ยนไปใช้ข้อผูกพัน (ไม่ใช่ความจริงที่ว่าพวกเขาประหยัดได้ ขนาดธุรกรรมดังที่เราจะเห็นด้านล่าง)
โดยทั่วไปความมุ่งมั่นมีลักษณะดังนี้:
ธุรกรรมที่เป็นความลับใน Monero หรือวิธีถ่ายโอนสิ่งที่ไม่รู้จักไปยังจุดหมายปลายทางที่ไม่รู้จักที่ไหน C — ความหมายของความมุ่งมั่นนั้นเอง a - จำนวนเงินที่ซ่อนอยู่ H เป็นจุดคงที่บนเส้นโค้งรูปไข่ (ตัวสร้างเพิ่มเติม) และ x — หน้ากากตามอำเภอใจบางชนิด ซึ่งเป็นปัจจัยการซ่อนที่สร้างขึ้นแบบสุ่ม จำเป็นต้องมีหน้ากากที่นี่เพื่อให้บุคคลที่สามไม่สามารถคาดเดาคุณค่าของความมุ่งมั่นได้

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

RingCT ง่าย

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

วิธีการนี้ช่วยให้เราสามารถพิสูจน์ให้ฝ่ายที่เกี่ยวข้องทราบว่าเราใช้จำนวนเงินเท่ากันโดยไม่ต้องเปิดเผยข้อมูลเหล่านั้น

เพื่อให้สิ่งต่าง ๆ ชัดเจนยิ่งขึ้น ลองดูตัวอย่าง สมมติว่าธุรกรรมใช้เอาต์พุตสองรายการ (หมายความว่ากลายเป็นอินพุต) ที่ 10 และ 5 XMR และสร้างเอาต์พุตสามรายการมูลค่า 12 XMR: 3, 4 และ 5 XMR ในเวลาเดียวกัน เขาจ่ายค่าคอมมิชชั่น 3 XMR ดังนั้น จำนวนเงินที่ใช้ไปบวกจำนวนเงินที่สร้างขึ้นและค่าคอมมิชชั่นจะเท่ากับ 15 XMR ลองคำนวณข้อผูกพันและดูความแตกต่างในจำนวนเงิน (จำคณิตศาสตร์ไว้):

ธุรกรรมที่เป็นความลับใน Monero หรือวิธีถ่ายโอนสิ่งที่ไม่รู้จักไปยังจุดหมายปลายทางที่ไม่รู้จัก
ต่อไปนี้เราจะเห็นว่าเพื่อให้สมการมาบรรจบกัน เราต้องการผลรวมของมาสก์อินพุตและเอาท์พุตให้เท่ากัน ในการทำเช่นนี้ กระเป๋าเงินจะสร้างแบบสุ่ม x1, y1, y2 และ y3และส่วนที่เหลือ x2 คำนวณดังนี้:
ธุรกรรมที่เป็นความลับใน Monero หรือวิธีถ่ายโอนสิ่งที่ไม่รู้จักไปยังจุดหมายปลายทางที่ไม่รู้จัก
การใช้มาสก์เหล่านี้ทำให้เราสามารถพิสูจน์ให้ผู้ตรวจสอบทราบว่าเราไม่ได้สร้างรายได้มากกว่าที่เราใช้ไป โดยไม่เปิดเผยจำนวนเงิน ต้นฉบับใช่ไหม?

RingCT เต็มแล้ว

ในการทำธุรกรรม RingCT แบบเต็ม การตรวจสอบจำนวนเงินโอนจะซับซ้อนกว่าเล็กน้อย ในธุรกรรมเหล่านี้ กระเป๋าเงินจะไม่คำนวณข้อผูกพันสำหรับอินพุตใหม่ แต่ใช้สิ่งที่คำนวณเมื่อถูกสร้างขึ้น ในกรณีนี้ เราต้องถือว่าเราจะไม่ได้รับผลต่างของผลรวมเท่ากับศูนย์อีกต่อไป แต่จะได้รับผลต่างแทน:
ธุรกรรมที่เป็นความลับใน Monero หรือวิธีถ่ายโอนสิ่งที่ไม่รู้จักไปยังจุดหมายปลายทางที่ไม่รู้จัก
ที่นี่ z — ความแตกต่างระหว่างมาสก์อินพุตและเอาต์พุต ถ้าเราพิจารณา zG เป็นกุญแจสาธารณะ (ซึ่งโดยพฤตินัยแล้ว) z คือคีย์ส่วนตัว ดังนั้นเราจึงรู้กุญแจสาธารณะและกุญแจส่วนตัวที่เกี่ยวข้อง ด้วยข้อมูลนี้ในมือ เราสามารถใช้มันในลายเซ็นวงแหวน MLSAG พร้อมกับคีย์สาธารณะของเอาต์พุตที่ถูกผสม:
ธุรกรรมที่เป็นความลับใน Monero หรือวิธีถ่ายโอนสิ่งที่ไม่รู้จักไปยังจุดหมายปลายทางที่ไม่รู้จัก
ดังนั้น ลายเซ็นวงแหวนที่ถูกต้องจะช่วยให้มั่นใจได้ว่าเรารู้คีย์ส่วนตัวทั้งหมดของคอลัมน์ใดคอลัมน์หนึ่ง และเราจะรู้ได้เฉพาะคีย์ส่วนตัวในแถวสุดท้ายเท่านั้น หากธุรกรรมไม่ได้สร้างรายได้มากกว่าที่ใช้ไป อย่างไรก็ตาม นี่คือคำตอบสำหรับคำถามที่ว่า "เหตุใดจำนวนข้อผูกพันจึงไม่ทำให้ความแตกต่างกลายเป็นศูนย์" - ถ้า zG = 0จากนั้นเราจะขยายคอลัมน์ด้วยผลลัพธ์จริง

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

การพิสูจน์ช่วง

จะเกิดอะไรขึ้นหากคุณใช้จำนวนลบเป็นจำนวนเงินในข้อผูกพัน สิ่งนี้อาจนำไปสู่การสร้างเหรียญเพิ่มเติม! ผลลัพธ์นี้เป็นสิ่งที่ยอมรับไม่ได้ ดังนั้นเราจึงต้องรับประกันว่าจำนวนเงินที่เราใช้นั้นไม่เป็นลบ (แน่นอนว่าโดยไม่เปิดเผยจำนวนเงินเหล่านี้ ไม่เช่นนั้นจะมีงานมากมายและไร้ประโยชน์) กล่าวอีกนัยหนึ่ง เราต้องพิสูจน์ว่าผลรวมอยู่ในช่วง [0, 2น - 1].

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

สมมติว่าปริมาณของเรามีขนาดเล็กและพอดีกับ 4 บิต (ในทางปฏิบัติคือ 64 บิต) และเราสร้างเอาต์พุตมูลค่า 5 XMR เราคำนวณข้อผูกพันสำหรับแต่ละหมวดหมู่และข้อผูกพันรวมสำหรับจำนวนเงินทั้งหมด:ธุรกรรมที่เป็นความลับใน Monero หรือวิธีถ่ายโอนสิ่งที่ไม่รู้จักไปยังจุดหมายปลายทางที่ไม่รู้จัก
ต่อไป แต่ละข้อผูกพันจะผสมกับตัวแทน (ซี-2ไอเอช) และลงนามเป็นคู่กับลายเซ็นแหวน Borromeo (ลายเซ็นแหวนอื่น) เสนอโดย Greg Maxwell ในปี 2015 (คุณสามารถอ่านเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ ที่นี่):
ธุรกรรมที่เป็นความลับใน Monero หรือวิธีถ่ายโอนสิ่งที่ไม่รู้จักไปยังจุดหมายปลายทางที่ไม่รู้จักเมื่อนำมารวมกัน สิ่งนี้เรียกว่าการพิสูจน์ช่วง และช่วยให้คุณมั่นใจได้ว่าข้อผูกพันจะใช้จำนวนในช่วง [0, 2น - 1].

ทำอะไรต่อไป

ในการใช้งานปัจจุบัน การพิสูจน์ช่วงจะใช้พื้นที่มาก - 6176 ไบต์ต่อเอาต์พุต สิ่งนี้นำไปสู่การทำธุรกรรมที่ใหญ่กว่าและค่าธรรมเนียมที่สูงขึ้น เพื่อลดขนาดของธุรกรรม Monero นักพัฒนากำลังแนะนำระบบกันกระสุนแทนลายเซ็น Borromeo ซึ่งเป็นกลไกการพิสูจน์ช่วงโดยไม่มีข้อผูกมัดระดับบิต ตามการประมาณการบางประการพวกเขาสามารถลดขนาดช่วงการพิสูจน์ได้ถึง 94% อย่างไรก็ตามในช่วงกลางเดือนกรกฎาคมเทคโนโลยีก็ผ่านไป การตรวจสอบ จาก Kudelski Security ซึ่งไม่ได้เปิดเผยข้อบกพร่องที่สำคัญใดๆ ในตัวเทคโนโลยีเองหรือในการใช้งาน เทคโนโลยีนี้ได้ถูกนำมาใช้แล้วในเครือข่ายทดสอบ และด้วยฮาร์ดฟอร์กใหม่ มันอาจจะสามารถย้ายไปยังเครือข่ายหลักได้

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

ที่มา: will.com

เพิ่มความคิดเห็น