โมเดลความเป็นส่วนตัวของ Mimblewimble สามารถถูกทำลายได้ นักวิจัยของ Dragonfly Capital กล่าว
หมายเหตุบรรณาธิการ: บทความนี้มาจากเชนนิวส์ (ID: chainnewscom)หมายเหตุบรรณาธิการ: บทความนี้มาจาก
เชนนิวส์ (ID: chainnewscom)
ผู้แต่ง: Ivan Bogatyy พิมพ์ซ้ำโดยได้รับอนุญาตจาก Odaily
ผู้เรียบเรียง: Zhan Juan
"$ 60 ต่อสัปดาห์ใน AWS สามารถค้นพบที่อยู่ที่ถูกต้องของธุรกรรมของ Grin ถึง 96% เห็นได้ชัดว่า Mimblewimble นั้นไม่มีประสิทธิภาพเพียงพอที่จะให้การปกป้องความเป็นส่วนตัวที่แข็งแกร่ง"
เขียนโดย: Ivan Bogatyy นักวิจัยที่ Dragonfly Capital ซึ่งเป็นกองทุนเพื่อการลงทุนบล็อกเชน ก่อนหน้านี้ทำหน้าที่เป็นหุ้นส่วนทั่วไปของ MetaStable Capital ซึ่งเป็นกองทุนเพื่อการลงทุนบล็อกเชน
ผู้เรียบเรียง: Zhan Juan

คุณสมบัติความเป็นส่วนตัวของ Mimblewimble มีข้อบกพร่องโดยพื้นฐาน ด้วยเงินเพียง $60 ต่อสัปดาห์ใน AWS ฉันสามารถค้นพบที่อยู่ของผู้เริ่มต้นและผู้รับที่แน่นอนของธุรกรรม 96% ของ Grin ได้แบบเรียลไทม์
ในช่วงสองปีที่ผ่านมา Mimblewimble ได้รับความนิยมเพิ่มขึ้นในฐานะโปรโตคอลความเป็นส่วนตัวที่มีน้ำหนักเบา Mimblewimble ถูกคิดค้นขึ้นในปี 2559 โดยแฮ็กเกอร์ที่ใช้นามแฝงว่า Tom Elvis Jedusor ซึ่งโยนคำอธิบายข้อความของโปรโตคอลในการแชท IRC และหายตัวไป ตั้งแต่นั้นเป็นต้นมา แอปพลิเคชั่นที่โด่งดังที่สุดของ Mimblewimble ได้แก่ Grin เหรียญความเป็นส่วนตัว "ปล่อยอย่างยุติธรรม" โครงการ Tari และ BEAM ที่ได้รับการสนับสนุนจาก VC และบางคนถึงกับพิจารณารวมเข้ากับ Litecoin
นักวิจัยบางคนตั้งสมมติฐานเกี่ยวกับจุดอ่อนด้านความเป็นส่วนตัวที่เป็นไปได้ใน Mimblewimble การมีส่วนร่วมของฉันคือการสาธิตวิธีการโจมตีที่แม่นยำ พิสูจน์ความเป็นไปได้บนเครือข่ายจริง และวัดประสิทธิภาพ ในการทดสอบ Grin ในโลกแห่งความเป็นจริง ฉันพบอัตราความสำเร็จ 96% ในการเปิดเผยข้อมูลธุรกรรม ดังนั้นจึงเป็นที่ชัดเจนว่า Mimblewimble ไม่สามารถคาดหวังให้การปกป้องความเป็นส่วนตัวที่แข็งแกร่งได้
นี่คือข้อมูลเชิงลึกทางเทคนิคเกี่ยวกับการโจมตีการใช้งาน Mimblewimble รวมถึงโอเพ่นซอร์สโค้ด ข้อมูลที่ทำซ้ำได้ และคำถามที่พบบ่อยทางเทคนิค ต่อไปนี้ ผมจะให้คำอธิบายระดับสูงเกี่ยวกับความสามารถในการเชื่อมโยง วิธีการที่จะถูกโจมตี และความหมายของเทคนิคความเป็นส่วนตัว
ชื่อเรื่องรอง
ความสามารถในการเชื่อมโยงคืออะไร?
สิ่งสำคัญคือต้องเข้าใจว่าการโจมตีนี้หมายถึงอะไรและไม่ได้หมายถึงอะไร
การโจมตีครั้งนี้ไม่ได้ทำให้เราทราบจำนวนเงินที่แน่นอนที่ผู้คนได้รับค่าจ้าง Mimblewimble ประสบความสำเร็จในการสร้างความสับสนให้กับจำนวนเงินที่ชำระโดยใช้การเข้ารหัสแบบโค้งวงรีธรรมดา (Pedersen Commitment) แต่การโจมตีนี้ช่วยให้เราทราบได้ว่าใครจ่ายเงินให้กับใคร กล่าวอีกนัยหนึ่ง ช่วยให้เราเชื่อมโยงธุรกรรมและยืนยันขั้นตอนการชำระเงินได้
เหตุใดจึงเป็นปัญหาใหญ่ อาจต้องการคำอธิบาย
สมมติว่า Coinbase รู้ว่าที่อยู่เป็นของชาวเวเนซุเอลาชื่อ Daniel และคุณซึ่งเป็นผู้ใช้ในสหรัฐอเมริกา ต้องการแลกเปลี่ยนเงินสดกับ Coinbase แต่หลังจากเปิดเผยกราฟการทำธุรกรรมที่คลุมเครือ Coinbase รู้ว่าคุณได้รับเงินจาก Daniel แม้ว่าพวกเขาจะไม่รู้ว่าคุณได้รับเท่าไรก็ตาม ตามนโยบายของ OFAC (สำนักงานควบคุมทรัพย์สินต่างประเทศ) เกี่ยวกับเวเนซุเอลา Coinbase จะปิดบัญชีของคุณ
แน่นอนว่าการแลกเปลี่ยนรู้มากเกี่ยวกับกราฟธุรกรรม เนื่องจากมีข้อมูล KYC ของผู้ใช้ที่แลกเปลี่ยน crypto เป็น fiat
อีกตัวอย่างหนึ่ง สมมติว่ารัฐบาลเผด็จการรู้ว่าที่อยู่เฉพาะเป็นของผู้คัดค้านทางการเมือง คุณบริจาคเงินจำนวนเล็กน้อยให้กับผู้คัดค้านคนนี้ ในภายหลัง เมื่อคุณส่งเงินไปยังการแลกเปลี่ยนในประเทศของคุณโดยใช้โปรโตคอล Mimblewimble การแลกเปลี่ยนนั้นจะแบ่งปันข้อมูลการทำธุรกรรมของคุณกับรัฐบาล เนื่องจากรัฐบาลสามารถเห็นภาพรวมของข้อตกลง ตอนนี้พวกเขารู้ว่าคุณสนับสนุนผู้เห็นต่างทางการเมือง
การโจมตีประเภทนี้เป็นไปไม่ได้ใน Zcash เนื่องจาก Zcash นั้น "ไม่สามารถเชื่อมโยงได้" หรืออีกนัยหนึ่งคือ ทุกธุรกรรมของ Zcash จะมีการปิดบังตัวตนจำนวนมาก ชุดที่ไม่ระบุชื่อเป็นชุดของธุรกรรมโดยพื้นฐานแล้วซึ่งธุรกรรมของคุณไม่สามารถมองเห็นได้ คิดว่ามันเหมือนกับการคลุกคลีกับฝูงชน: ยิ่งตั้งค่าการไม่เปิดเผยตัวตนไว้มากเท่าใด ธุรกรรมของคุณก็จะปะปนกันมากขึ้นเท่านั้น "ฝูงชน"

ใน Zcash ความไม่เปิดเผยตัวตนที่ตั้งค่าไว้สำหรับแต่ละธุรกรรมจะรวมเหรียญทั้งหมดที่ได้รับการป้องกัน จากมุมมองทางทฤษฎีข้อมูล นี่เป็นการไม่เปิดเผยตัวตนที่เป็นไปได้มากที่สุด
ใน Monero ความไม่เปิดเผยตัวตนที่ตั้งค่าไว้สำหรับแต่ละธุรกรรมคือชุดของธุรกรรมล่อลวง (ที่เชื่อถือได้) ทั้งหมด ในขณะที่ไคลเอนต์ Monero อนุญาตให้คุณระบุขนาดของชุดล่อ ค่าเริ่มต้นปัจจุบันคือ 11 Monero มีปัญหาของตัวเองเกี่ยวกับการสุ่มตัวอย่างความปลอดภัย แต่ฉันคิดว่ามันเป็นไปได้ส่วนใหญ่ขึ้นอยู่กับการแลกเปลี่ยน
พูดให้ชัดเจน ฉันไม่ได้ตั้งใจจะกล่าวหากริน ฉันเคารพชุมชน Grin และนักพัฒนาหลักเป็นอย่างมาก ซึ่งให้ความช่วยเหลืออย่างมากในการรับฟังคำถามของฉัน

ดังนั้นใน Mimblewimble จะ "ยกเลิกการเปิดเผยตัวตน" ของกราฟธุรกรรมได้อย่างไร

ฉันสังเกตเห็นว่าแม้จะมีการเข้ารหัสจำนวนเงินที่ชำระ แต่ Mimblewimble ก็ยังคงแสดงกราฟธุรกรรมที่เชื่อมโยงได้ แต่ผู้ออกแบบโปรโตคอลตระหนักถึงสิ่งนี้ ดังนั้น Mimblewimble จึงใช้สองเทคนิคหลักเพื่อต่อสู้กับความสามารถในการเชื่อมโยง: วิธีแรกคือการรวมแบบตัดผ่านแบบเต็มบล็อก และอย่างที่สองคือ Dandelion )

ฟังดูโอเคใช่มั้ย? มีเพียงปัญหาเดียว: CoinJoin นี้ต้องสร้างทีละธุรกรรม เนื่องจากมีการสร้างธุรกรรมและเผยแพร่อย่างต่อเนื่องจากที่ต่างๆ การไข CoinJoins จึงเป็นเรื่องเล็กน้อยหากคุณเรียกใช้โหนด sniffer เพื่อดึงข้อมูลธุรกรรมทั้งหมดก่อนที่การรวมการส่งผ่านจะเสร็จสมบูรณ์ โหนดดมกลิ่นสามารถตรวจจับเครือข่ายและบันทึกธุรกรรมเดิมก่อนที่จะรวมแต่ละธุรกรรม การเก็บถาวรข้อความทั้งหมดที่คุณตรวจพบในเครือข่าย P2P ทำได้ง่ายมาก
รอ จริงเหรอ? แค่นั้นแหละ?
ทีม Grin ได้เสนอแนวป้องกันอีกแนวหนึ่ง: Dandelion Protocol Dandelion เป็นเทคโนโลยีเครือข่ายที่พัฒนาโดยนักวิจัยที่ CMU (Carnegie Mellon University) ซึ่งพยายามทำให้ผู้ริเริ่มการทำธุรกรรมสับสน
โดยทั่วไปแล้วในสกุลเงินดิจิทัล เช่น Bitcoin ผู้ริเริ่มธุรกรรมเพียงแค่ประกาศธุรกรรมของตนให้ผู้อื่นทราบดัง ๆ ซึ่งจะแพร่กระจายอย่างรวดเร็วผ่านเครือข่าย P2P แต่ใน Dandelion Protocol การออกอากาศของทุกธุรกรรมจะเริ่มต้นด้วยเกมลับของโทรศัพท์ ผู้ริเริ่มเผยแพร่ธุรกรรมไปยังเพียร์หนึ่งอย่างเงียบ ๆ และเพียร์นี้เผยแพร่ไปยังเพียร์อื่นอย่างเงียบ ๆ ดังนั้นห่วงโซ่จะถูกส่ง หลังจากการกระโดดแบบสุ่มไม่กี่ครั้ง เพื่อนคนสุดท้ายจะประกาศธุรกรรมเป็น Bitcoin แต่เพื่อนคนนี้อยู่ห่างจากผู้ริเริ่มมากจนเป็นไปไม่ได้ที่ผู้สังเกตการณ์จะบอกได้ว่าใครคือจุดเริ่มต้นของห่วงโซ่
สิ่งนี้มีประโยชน์อย่างมากในการทำให้ IP ของเทรดเดอร์สับสน แต่ Dandelion Protocol ยังมีฟังก์ชันที่สองใน Grin: มันเกิดขึ้นเพื่อกำจัด sniffer archive nodes เนื่องจากธุรกรรมแต่ละรายการเริ่มต้นจากห่วงโซ่ Dandelion ตราบใดที่ธุรกรรมสองรายการข้ามกันในห่วงโซ่ Dandelion ธุรกรรมเหล่านั้นจะถูกรวมเข้าด้วยกันก่อนหน้านี้ หากสิ่งนี้เกิดขึ้น เมื่อถึงเวลาที่ธุรกรรมถูกถ่ายทอดไปยังผู้สังเกตการณ์ทั้งหมด โหนดดมกลิ่นจะไม่สามารถแยกส่วนได้ พวกเขาได้รับการผสม (CoinJoined)
โดยค่าเริ่มต้น แต่ละโหนด Grin จะเชื่อมต่อกับเพียร์อื่นๆ อีก 8 คน แต่ด้วยการเพิ่มจำนวนเพียร์ ฉันก็สามารถเชื่อมต่อโหนดดมกลิ่นของฉันกับโหนดอื่นๆ ทุกโหนดในเครือข่ายได้ สมมติว่าฉันออนไลน์นานพอ ในที่สุดเกือบทุกโหนดจะเชื่อมต่อกับฉัน ทำให้ฉันกลายเป็นซูเปอร์โหนด
เมื่อฉันกลายเป็น super node เป็นไปได้มากว่าเส้นทางของ dandelion ของธุรกรรมใดๆ จะผ่านฉันไป โดยทั่วไปฉันสามารถจับมันได้ก่อนที่ธุรกรรมจะรวมกัน: กรณีที่เป็นไปไม่ได้เพียงอย่างเดียวคือธุรกรรมสองรายการตัดกันบนเส้นทางของดอกแดนดิไลออนก่อนที่ฉันจะเห็น ถ้าฉันเห็นธุรกรรมใดรายการหนึ่งก่อนที่จะรวมเข้าด้วยกัน ฉันสามารถใช้พีชคณิตอย่างง่ายเพื่อคลายข้อมูลเหล่านั้นได้
ในการโจมตีที่ฉันเปิดตัว ฉันสามารถเชื่อมต่อธุรกรรมได้ 96% และเชื่อมต่อได้เพียง 200 โหนดจากทั้งหมด 3,000 โหนดในเครือข่าย Grin ถ้าฉันใช้เงินเพิ่มอีกนิด ฉันสามารถเชื่อมต่อกับ 3,000 โหนดได้อย่างง่ายดายเพื่อแบ่งการทำธุรกรรมเกือบทุกชนิด ฉันไม่จำเป็นต้องเป็น supernode เดียวในการทำเช่นนี้ การโจมตีแบบเดียวกันสามารถทำได้โดยการปั่นโหนด 3,000 โหนดด้วย IP ที่ไม่ซ้ำกัน ซึ่งแต่ละโหนดเชื่อมต่อกับเพียร์เดียว การโจมตีมีผลเท่าเทียมกันตราบใดที่ฉันดักจับข้อมูลธุรกรรมทั้งหมดและดัมพ์ลงในฐานข้อมูลหลักส่วนกลาง
ชื่อเรื่องรอง
Mimblewimble ยังมีชีวิตอยู่หรือไม่?
มันขึ้นอยู่กับ. ฉันเชื่อว่า Grin ไม่มีทางที่ชัดเจนในการไม่สามารถเชื่อมโยงได้ดังที่จินตนาการไว้ในปัจจุบัน แค่เพิ่มปัจจัยของแดนดิไลออน ตามที่ผมพูดถึงในบทความทางเทคนิคนี้ ยังไม่เพียงพอที่จะเอาชนะผู้โจมตีที่มีความทะเยอทะยาน
แต่นอกเหนือจากความสามารถในการเชื่อมโยงแล้ว Mimblewimble ยังมีคุณค่าที่ไม่เหมือนใคร! รองรับการรวมแบบพาสทรู ซึ่งเป็นเทคนิคการบีบอัดที่มีประสิทธิภาพสำหรับโหนดแบบเต็ม และซ่อนจำนวนธุรกรรมได้อย่างมีประสิทธิภาพ หากคุณต้องการความเป็นส่วนตัวที่สูงขึ้น คุณสามารถรวม Mimblewimble เข้ากับโปรโตคอลอื่นๆ ที่ทำให้กราฟธุรกรรมสับสนได้ เช่น ใน Ethereum 9¾ จะรวม Mimblewimble เข้ากับรูปแบบการยกเลิกข้อผูกมัดแบบ Zerocash
แต่เป็นที่ชัดเจนว่า Mimblewimble เองนั้นไม่ทรงพลังพอที่จะให้การปกป้องความเป็นส่วนตัวที่แข็งแกร่ง


