ข้อบกพร่องเชิงทฤษฎีในหนึ่งในกลไกความเป็นส่วนตัวที่สำคัญที่สุดของ Zcash ทำให้นักพัฒนาต้องเร่งทำงานในสิ่งที่บางคนอธิบายว่าเป็นโหมดเร่งด่วนเหมือนช่วงสงคราม ผลลัพธ์คือ การอัปเกรด Zcash Ironwood ซึ่งเป็นพูลป้องกันความเป็นส่วนตัว (shielded pool) ตัวใหม่ที่ผ่านการตรวจสอบอย่างเป็นทางการ (formally verified) มาแทนที่พูลเดิม และเปิดใช้งานที่บล็อกสูง 3,428,143 ในฐานะส่วนหนึ่งของการอัปเกรดเครือข่าย NU6.3 — และถือเป็นหนึ่งในการยกเครื่องด้านความปลอดภัยที่สำคัญที่สุดในประวัติศาสตร์ของเครือข่าย
Summary
ประเด็นสำคัญ
- การอัปเกรด Zcash Ironwood เปิดใช้งานที่บล็อกสูง 3,428,143 ผ่านฮาร์ดฟอร์ก NU6.3 โดยแทนที่พูล Orchard shielded ที่มีช่องโหว่ด้วยพูลใหม่ที่ผ่านการตรวจสอบอย่างเป็นทางการ
- นักวิจัย Taylor Hornby ค้นพบบั๊ก “infinity” ใน Orchard ช่วงปลายเดือนพฤษภาคม ซึ่งในทางทฤษฎีอาจเปิดโอกาสให้มีการสร้างเหรียญ ZEC ปลอมที่ตรวจไม่พบได้
- มีการจัดทำพิสูจน์ทางคณิตศาสตร์แบบตรวจสอบด้วยเครื่อง (machine-checked) ซึ่งประกอบด้วยทฤษฎีบทมากกว่า 2,700 ข้อ เพื่อยืนยันว่า Ironwood ไม่สามารถสร้างเหรียญ ZEC ปลอมที่ตรวจไม่พบได้ ภายใต้สมมติฐานการออกแบบของมัน
- มีการย้ายเหรียญประมาณ 40,207 ZEC ไปยัง Ironwood แล้ว ในขณะที่ยังมีประมาณ 3.6 ล้าน ZEC อยู่ใน Orchard ซึ่งตอนนี้ถูกจำกัดให้ใช้สำหรับการถอนออกเท่านั้น
- การอัปเกรดนี้ทำให้ Zebra กลายเป็นซอฟต์แวร์โหนดที่ต้องใช้ โดยยุติการรองรับซอฟต์แวร์ zcashd รุ่นเก่า
อะไรที่บีบให้ Zcash ต้องตัดสินใจ
เรื่องราวเริ่มต้นในช่วงปลายเดือนพฤษภาคม เมื่อ Taylor Hornby นักวิจัยจาก Shielded Labs ค้นพบสิ่งที่ชุมชน Zcash เรียกกันในภายหลังว่าบั๊ก “infinity” ของ Orchard — ข้อบกพร่องลึกภายในวงจร zero-knowledge ของ Orchard ที่สร้างความเสี่ยงเชิงทฤษฎีต่อการสร้างเหรียญ ZEC ปลอมโดยไม่ทิ้งร่องรอยที่ตรวจพบได้ต่อสาธารณะ ไม่มีหลักฐานว่าช่องโหว่นี้เคยถูกโจมตีใช้งานจริง แต่เพียงแค่ความเป็นไปได้นั้นก็สร้างความเสียหายมากพอ: มูลค่า ZEC สูญเสียไปกว่าครึ่งหลังจากการเปิดเผยข้อมูลต่อสาธารณะ
แพตช์ฉุกเฉินที่ปล่อยออกมาเมื่อต้นเดือนมิถุนายนได้ปิดการใช้งาน Orchard ชั่วคราว และวงจรที่แก้ไขแล้วก็ถูกนำมาใช้ผ่านฮาร์ดฟอร์ก NU6.2 ภายในเวลาเพียงห้าวัน แต่การแพตช์วงจรเพียงอย่างเดียวยังไม่เพียงพอ ด้วยลักษณะการทำงานของโมเดลความเป็นส่วนตัวของ Zcash นักพัฒนาระบุว่าเป็นไปไม่ได้ในเชิงคณิตศาสตร์ที่จะพิสูจน์อย่างแน่ชัดว่าไม่เคยมีเงินเฟ้อที่ซ่อนอยู่เกิดขึ้นภายในพูลเก่าเลย ข้อจำกัดนั้นทำให้การเปลี่ยนใหม่ทั้งพูล — ไม่ใช่แค่การแก้ไข — เป็นหนทางเดียวที่จะฟื้นฟูความถูกต้องของปริมาณเหรียญที่ตรวจสอบได้
จากแพตช์สู่การเปลี่ยนใหม่ทั้งพูลใน 60 วัน
การตัดสินใจทิ้งของเก่าแล้วสร้างใหม่ แทนที่จะเพียงแพตช์แล้วเดินหน้าต่อ คือการตัดสินใจเชิงกลยุทธ์ที่สำคัญที่สุด ผู้ร่วมก่อตั้ง Shielded Labs อย่าง Zooko Wilcox เป็นผู้เสนอให้เปลี่ยน Orchard ทั้งหมดตั้งแต่แรก และสิ่งที่ตามมาคือการพัฒนาร่วมกันอย่างประสานสอดคล้องเป็นเวลาราว 60 วัน ระหว่าง Shielded Labs, Zcash Open Development Lab (ZODL), Project Tachyon, Valar Group และมูลนิธิ Zcash
Josh Swihart ผู้อำนวยการบริหารของ ZODL ระบุว่า วิศวกรจากองค์กรของเขามีส่วนร่วมคิดเป็น 82% ของการเปลี่ยนแปลงที่ถูกรวมเข้ามาในรีโพสิทอรีของโปรโตคอลและกระเป๋าเงินของ Zcash ระหว่างกระบวนการเปลี่ยนพูล ขณะที่ Jason McGee ผู้อำนวยการบริหารของ Shielded Labs ชี้ให้เห็นว่าผู้ให้บริการโครงสร้างพื้นฐาน — ทั้งกระดานเทรด ผู้ให้บริการกระเป๋าเงิน และพูลขุด — กำลังเปลี่ยนจาก zcashd ไปใช้สแตกซอฟต์แวร์ Z3 ตัวใหม่ในเวลาเดียวกันกับที่ต้องเตรียมตัวสำหรับ Ironwood แม้ท้ายที่สุดจะไม่มีการเลื่อนกำหนดการออกไปก็ตาม
Ironwood เปลี่ยนรูปแบบความปลอดภัยของ Zcash อย่างไร
Ironwood ไม่ใช่แค่เวอร์ชันที่แพตช์แล้วของ Orchard แต่มันนำเสนอระบบบัญชีแยกประเภทที่แยกออกมาต่างหากโดยสิ้นเชิง พร้อมด้วย ต้นไม้ note commitment ชุด nullifier และพูลมูลค่าบนเชนของตัวเอง ทำให้โหนดใด ๆ สามารถติดตามพูล shielded ใหม่ได้อย่างอิสระจากทุกสิ่งที่เกิดขึ้นมาก่อนหน้านี้
การอัปเกรดยังติดตั้งจุดตรวจสอบบัญชีสาธารณะ — ซึ่งโปรเจ็กต์อธิบายว่าเป็นประตูหมุน (turnstile) เงินทุนสามารถออกจาก Orchard ผ่านประตูหมุนนั้นได้ แต่กลไกนี้จะป้องกันในเชิงคณิตศาสตร์ไม่ให้มีมูลค่าที่ออกจากพูลเก่ามากกว่ามูลค่าที่เคยเข้าไปอย่างถูกต้องตามกติกา ผลลัพธ์ที่ตั้งใจไว้มีความตรงไปตรงมา: เหรียญปลอมใด ๆ ในเชิงสมมติที่อาจถูกสร้างขึ้นภายใน Orchard ก่อนหรือระหว่างช่วงที่มีช่องโหว่ จะถูกขังอยู่ในนั้นอย่างถาวร ไม่สามารถปนเปื้อนการคำนวณปริมาณเหรียญของ Ironwood ได้
โน้ตที่กู้คืนได้จากควอนตัมและการเตรียมพร้อมสำหรับอนาคต
ควบคู่ไปกับกลไกป้องกันปริมาณเหรียญ พูลใหม่ยังผนวกเอา โน้ตแบบ ZIP 2005 ที่กู้คืนได้จากควอนตัม (quantum-recoverable notes) เข้ามาด้วย ฟีเจอร์นี้ไม่ได้ทำให้ธุรกรรม Zcash ปลอดภัยจากควอนตัมในวันนี้ — เพราะยังจำเป็นต้องออกแบบและเปิดใช้โปรโตคอลการกู้คืนแยกต่างหากในอนาคต — แต่ได้วางรากฐานทางคริปโทกราฟีสำหรับกลไกดังกล่าว หากความก้าวหน้าด้านคอมพิวเตอร์ควอนตัมในอนาคตทำให้การป้องกันปัจจุบันอ่อนแอลง
การอัปเกรด NU6.3 ยังปิดฉากการเปลี่ยนผ่านที่วางแผนไว้นาน ด้วยการทำให้ Zebra กลายเป็นซอฟต์แวร์โหนดที่ต้องใช้ และยุติการรองรับซอฟต์แวร์ zcashd รุ่นเก่า ทั่วทั้งเครือข่าย
การตรวจสอบอย่างเป็นทางการ: การรับประกันด้วย 2,700 ทฤษฎีบท
องค์ประกอบที่โดดเด่นที่สุดในเชิงเทคนิคของการเปิดตัว Ironwood คือ พิสูจน์ทางคณิตศาสตร์แบบตรวจสอบด้วยเครื่อง ที่เสร็จสมบูรณ์โดย Project Tachyon ร่วมกับนักพัฒนา Zcash พิสูจน์นี้เขียนด้วย ภาษาโปรแกรม Lean และประกอบด้วยทฤษฎีบทมากกว่า 2,700 ข้อ ซึ่งพัฒนาขึ้นในระยะเวลากว่าหนึ่งเดือนโดยสามทีมของนักวิจัยและนักเข้ารหัสลับ — และได้ตรวจสอบอย่างเป็นทางการว่า Ironwood ไม่สามารถสร้างเหรียญ ZEC ปลอมที่ตรวจไม่พบได้ ภายใต้สมมติฐานการออกแบบที่ระบุไว้
พิสูจน์ดังกล่าวครอบคลุมองค์ประกอบที่จำเป็นต่อความถูกต้องของยอดคงเหลือ: ระบบพิสูจน์แบบ zero-knowledge ของ Ironwood กฎของวงจร และการบันทึกบัญชีในระดับเลดเจอร์ ผู้ร่วมก่อตั้ง Zcash อย่าง Sean Bowe อธิบายความพยายามนี้อย่างชัดเจนว่า: “ความร่วมมือข้ามทีมครั้งนี้ได้เปลี่ยนประวัติศาสตร์ของ Zcash ไปตลอดกาล โดยกำจัดแหล่งที่มาทั้งหมดของบั๊กการปลอมเหรียญที่ตรวจไม่พบออกจากโปรโตคอล Ironwood ใหม่”
มีขอบเขตสำคัญข้อหนึ่งที่ต้องเข้าใจ: การตรวจสอบอย่างเป็นทางการนี้ครอบคลุมเฉพาะความถูกต้องของยอดคงเหลือ แต่ ไม่ได้ครอบคลุมถึงการรับประกันด้านความเป็นส่วนตัวที่แยกต่างหากของ Ironwood ความมั่นคงของปริมาณเหรียญและความเป็นส่วนตัวของธุรกรรมเป็นคุณสมบัติคนละด้านกัน และพิสูจน์นี้กล่าวถึงเฉพาะด้านแรกเท่านั้น
สถานะการย้ายและอนาคตของ Orchard
ตอนนี้ Orchard อยู่ใน ระยะออกอย่างเดียว (exit-only) แล้ว พูลนี้จะไม่รับกิจกรรม shielded ใหม่อีกต่อไป แต่ผู้ใช้ยังสามารถถอนเงินออกได้ตามดุลยพินิจของตนเอง ตามข้อมูลจาก ตัวติดตามการย้ายของ Zcash มีประมาณ 40,207 ZEC ที่ถูกย้ายเข้าสู่ Ironwood แล้วนับตั้งแต่เปิดใช้งาน ตัวเลขที่ใหญ่กว่ามาก — ประมาณ 3.6 ล้าน ZEC — ยังคงอยู่ใน Orchard รอการย้าย ซึ่งคิดเป็นส่วนใหญ่ของสิ่งที่เคยเป็นพูลความเป็นส่วนตัวหลักของเครือข่าย
ในช่วงสูงสุด Orchard เคยคิดเป็นเกือบ 88% ของปริมาณโทเค็น Zcash ที่อยู่ในสถานะ shielded ตามข้อมูลจาก The Block โดยที่พูล Sapling และ Sprout รุ่นเก่ากว่ารวมกันเป็นส่วนที่เหลือ ขนาดของสถานะเดิมนั้นหมายความว่าการย้ายจะต้องใช้เวลา และความเร็วของการเปลี่ยนผ่านน่าจะกลายเป็นหนึ่งในสัญญาณที่ชัดเจนที่สุดว่าผู้ใช้กลับมามีความเชื่อมั่นในโครงสร้างพื้นฐานด้านความเป็นส่วนตัวของ Zcash มากน้อยเพียงใดหลังเหตุการณ์ช่องโหว่ครั้งนี้
เมื่อมีประตูหมุนและการตรวจสอบอย่างเป็นทางการรองรับโมเดลปริมาณเหรียญของพูลใหม่ งานด้านวิศวกรรมก็เสร็จสิ้นแล้ว คำถามที่เหลืออยู่คือระบบนิเวศ Zcash โดยรวมจะปิดช่องว่างระหว่าง 40,000 ZEC ที่ย้ายมาแล้ว กับ 3.6 ล้าน ZEC ที่ยังรออยู่อีกฝั่งได้เร็วเพียงใด
คำถามที่พบบ่อย
การอัปเกรด Zcash Ironwood คืออะไร?
Ironwood คือการอัปเกรดเครือข่าย Zcash ที่แทนที่พูล Orchard shielded ซึ่งมีช่องโหว่ ด้วยพูล shielded ที่ผ่านการตรวจสอบอย่างเป็นทางการ ช่วยเพิ่มความปลอดภัยด้านปริมาณเหรียญและยังคงรักษาความเป็นส่วนตัวไว้ การอัปเกรดนี้เปิดใช้งานที่บล็อกสูง 3,428,143 ในฐานะส่วนหนึ่งของฮาร์ดฟอร์ก NU6.3
ทำไมต้องมีการอัปเกรด Ironwood?
การอัปเกรดนี้จำเป็นเพราะบั๊ก “infinity” ที่ถูกค้นพบในพูล Orchard ช่วงปลายเดือนพฤษภาคม สร้างความเสี่ยงเชิงทฤษฎีต่อการสร้างเหรียญ ZEC ปลอมที่ตรวจไม่พบ ด้วยโมเดลความเป็นส่วนตัวของ Zcash ทำให้เป็นไปไม่ได้ที่จะพิสูจน์ว่าบั๊กนี้ไม่เคยถูกโจมตีใช้งานเลย นักพัฒนาจึงตัดสินใจแทนที่ Orchard ทั้งหมด แทนที่จะพึ่งพาเพียงการแพตช์
Ironwood ยังสามารถสร้างเหรียญ ZEC ปลอมได้หรือไม่?
ตามพิสูจน์ทางคณิตศาสตร์แบบตรวจสอบด้วยเครื่องที่เสร็จสมบูรณ์โดย Project Tachyon และนักพัฒนา Zcash — ซึ่งประกอบด้วยทฤษฎีบทมากกว่า 2,700 ข้อที่เขียนด้วย Lean — Ironwood ไม่สามารถสร้างเหรียญ ZEC ปลอมที่ตรวจไม่พบได้ ภายใต้สมมติฐานการออกแบบของมัน พิสูจน์นี้ครอบคลุมเฉพาะความถูกต้องของยอดคงเหลือ แต่ไม่ครอบคลุมถึงการรับประกันด้านความเป็นส่วนตัวที่แยกต่างหากของ Ironwood
จะเกิดอะไรขึ้นกับเงินที่ยังอยู่ในพูล Orchard?
Orchard ได้เข้าสู่ระยะออกอย่างเดียวแล้ว ผู้ใช้ยังสามารถถอนเงินออกจากพูลได้ แต่พูลจะไม่รับธุรกรรม shielded ใหม่อีกต่อไป ปัจจุบันมีประมาณ 3.6 ล้าน ZEC ที่ยังอยู่ใน Orchard รอการย้ายไปยัง Ironwood ในขณะที่มีประมาณ 40,207 ZEC ที่ถูกย้ายไปแล้ว
{“@context”:”https://schema.org”,”@type”:”FAQPage”,”mainEntity”:[{“@type”:”Question”,”name”:”การอัปเกรด Zcash Ironwood คืออะไร?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Ironwood คือการอัปเกรดเครือข่าย Zcash ที่แทนที่พูล Orchard shielded ซึ่งมีช่องโหว่ ด้วยพูล shielded ที่ผ่านการตรวจสอบอย่างเป็นทางการ ช่วยเพิ่มความปลอดภัยด้านปริมาณเหรียญและยังคงรักษาความเป็นส่วนตัวไว้ การอัปเกรดนี้เปิดใช้งานที่บล็อกสูง 3,428,143 ในฐานะส่วนหนึ่งของฮาร์ดฟอร์ก NU6.3.”}},{“@type”:”Question”,”name”:”ทำไมต้องมีการอัปเกรด Ironwood?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”การอัปเกรดนี้จำเป็นเพราะบั๊ก “infinity” ที่ถูกค้นพบในพูล Orchard ช่วงปลายเดือนพฤษภาคม สร้างความเสี่ยงเชิงทฤษฎีต่อการสร้างเหรียญ ZEC ปลอมที่ตรวจไม่พบ ด้วยโมเดลความเป็นส่วนตัวของ Zcash ทำให้เป็นไปไม่ได้ที่จะพิสูจน์ว่าบั๊กนี้ไม่เคยถูกโจมตีใช้งานเลย นักพัฒนาจึงตัดสินใจแทนที่ Orchard ทั้งหมด แทนที่จะพึ่งพาเพียงการแพตช์.”}},{“@type”:”Question”,”name”:”Ironwood ยังสามารถสร้างเหรียญ ZEC ปลอมได้หรือไม่?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”ตามพิสูจน์ทางคณิตศาสตร์แบบตรวจสอบด้วยเครื่องที่เสร็จสมบูรณ์โดย Project Tachyon และนักพัฒนา Zcash — ซึ่งประกอบด้วยทฤษฎีบทมากกว่า 2,700 ข้อที่เขียนด้วย Lean — Ironwood ไม่สามารถสร้างเหรียญ ZEC ปลอมที่ตรวจไม่พบได้ ภายใต้สมมติฐานการออกแบบของมัน พิสูจน์นี้ครอบคลุมเฉพาะความถูกต้องของยอดคงเหลือ แต่ไม่ครอบคลุมถึงการรับประกันด้านความเป็นส่วนตัวที่แยกต่างหากของ Ironwood.”}},{“@type”:”Question”,”name”:”จะเกิดอะไรขึ้นกับเงินที่ยังอยู่ในพูล Orchard?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Orchard ได้เข้าสู่ระยะออกอย่างเดียวแล้ว ผู้ใช้ยังสามารถถอนเงินออกจากพูลได้ แต่พูลจะไม่รับธุรกรรม shielded ใหม่อีกต่อไป ปัจจุบันมีประมาณ 3.6 ล้าน ZEC ที่ยังอยู่ใน Orchard รอการย้ายไปยัง Ironwood ในขณะที่มีประมาณ 40,207 ZEC ที่ถูกย้ายไปแล้ว.”}}]}
บทความนี้จัดทำขึ้นโดยได้รับความช่วยเหลือจากปัญญาประดิษฐ์และผ่านการตรวจทานโดยทีมบรรณาธิการแล้ว

