Dandelion Protocol คืออะไร? คู่มือสำหรับผู้เริ่มต้นฉบับสมบูรณ์
Bitcoin และสกุลเงินดิจิทัลอื่น ๆ ใช้ความเป็นส่วนตัวที่ ทั้งสองอย่าง ระดับบล็อกเชนและเลเยอร์เครือข่าย บล็อกเชนสาธารณะคือการบันทึกธุรกรรมดิจิทัลอย่างถาวรดังนั้นการใช้งานความเป็นส่วนตัวของบล็อกเชนจึงมุ่งเน้นไปที่การปิดบังข้อมูลธุรกรรมและไม่เปิดเผยตัวตนของผู้ส่งและผู้รับ.
cryptocurrencies ที่เน้นความเป็นส่วนตัวเช่น Monero และ Zcoin รวมคุณสมบัติการไม่เปิดเผยตัวตนระดับ blockchain เช่น Ring CTs และการพิสูจน์ความรู้ที่ไม่มีศูนย์เพื่อให้แน่ใจว่าไม่สามารถตรวจสอบธุรกรรมได้ อย่างไรก็ตามการสื่อสารเครือข่าย P2P / ซ้อนทับยังมีบทบาทสำคัญในการโต้ตอบแบบไม่ระบุตัวตนบนเครือข่ายบล็อกเชน ทั้ง Monero และ Zcoin รวมคุณสมบัติความเป็นส่วนตัวของเลเยอร์เครือข่ายเช่น ทต และ I2P, แต่คุณสมบัติเหล่านี้ยังมาพร้อมกับการพัฒนาที่ยาวนานและข้อเสียอื่น ๆ.
โปรโตคอล Dandelion เป็นโซลูชันการไม่เปิดเผยตัวตนของเลเยอร์เครือข่ายที่ได้รับการเสนอในปี 2560 เพื่อช่วยปรับปรุงความเป็นส่วนตัวของเครือข่าย P2P ของ Bitcoin ข้อเสนอดั้งเดิมของมันถูกค้นพบในเวลาต่อมาว่ามีหลากหลาย ความผิดพลาด ที่อาจนำไปสู่การไม่เปิดเผยชื่อเมื่อเวลาผ่านไปเนื่องจากสมมติฐานเชิงอุดมคติของฝ่ายตรงข้ามที่อาจเกิดขึ้น.
ในที่สุด Dandelion Protocol รุ่นปรับปรุงได้รับการเสนอในเดือนพฤษภาคมเมื่อต้นปีนี้เรียกว่า ดอกแดนดิไลอัน++. Dandelion ++ จัดการกับข้อกังวลด้วยโปรโตคอลดั้งเดิมและทีมวิจัยได้นำไปใช้แล้วพร้อมการตอบรับเชิงบวกจากทีมพัฒนาของ Bitcoin Dandelion ++ ดูเหมือนพร้อมที่จะรวมอยู่ในการเปิดตัว Bitcoin Core ที่กำลังจะมีขึ้น.
Dandelion คืออะไร++?
Dandelion ++ เป็นโซลูชันเลเยอร์เครือข่ายที่มีน้ำหนักเบาและตรงไปตรงมาพร้อมการรับประกันการไม่เปิดเผยตัวตนอย่างเป็นทางการซึ่งสามารถนำไปใช้กับสกุลเงินดิจิทัลที่มีอยู่ได้อย่างง่ายดาย ปรับปรุงอย่างชัดเจนตามสมมติฐานเชิงอุดมคติของข้อเสนอ Dandelion ดั้งเดิมและแตกต่างจากโปรโตคอลการไม่เปิดเผยตัวตนการสื่อสารออกอากาศส่วนใหญ่ในแนวทางเป้าหมายการใช้งานและเมตริกการวิเคราะห์.
เพื่อให้เข้าใจวิธีการทำงานของ Dandelion ++ ได้ดียิ่งขึ้นสิ่งสำคัญคือต้องให้ความสำคัญกับวิธีการถ่ายทอดธุรกรรมใน Bitcoin และวิธีการทำงานของโปรโตคอล Dandelion ดั้งเดิม ใน Bitcoin เมื่อผู้ใช้ออกอากาศธุรกรรมจากโหนดระบบจะแพร่กระจายไปยังโหนดที่เชื่อมต่อกับโหนดเฉพาะที่เรียกว่าเพียร์ จากนั้นข้อความธุรกรรมจะถูกแพร่กระจายในภายหลังในปฏิกิริยาลูกโซ่ซึ่งแต่ละโหนดจะกระจายข้อความไปยังโหนดที่เชื่อมต่ออยู่ สิ่งนี้เรียกว่าโปรโตคอลซุบซิบของ Bitcoin และเป็นวิธีที่ธุรกรรมสามารถเข้าถึงโหนดส่วนใหญ่ในเครือข่ายได้อย่างรวดเร็ว.
ปัจจุบัน Bitcoin ใช้รูปแบบการออกอากาศที่เรียกว่าการแพร่กระจายซึ่งแต่ละโหนดจะกระจายธุรกรรมด้วยความล่าช้าที่อธิบายและเป็นอิสระไปยังเพื่อนบ้านเพื่อลดการไม่เปิดเผยตัวตนของที่อยู่ IP ของผู้ใช้ ในขณะที่มีประสิทธิภาพการแพร่กระจายมี เมื่อเร็ว ๆ นี้ ได้รับการพิสูจน์แล้วจากการศึกษาหลายชิ้นว่าไม่ให้การป้องกันการเปิดเผยตัวตนอย่างเพียงพอ.
ต้นกำเนิดของข้อความธุรกรรมและที่อยู่ IP (ซึ่งไม่รวมอยู่ในข้อความธุรกรรม Bitcoin) สามารถแมปโดยผู้สังเกตการณ์บุคคลที่สามได้หาก ควบคุมโหนดให้เพียงพอ หรือใช้ซูเปอร์โหนดที่เชื่อมต่อกับโหนดจำนวนมาก พวกเขาสามารถจับคู่ที่อยู่ต้นทางได้อย่างมีประสิทธิภาพโดยการสังเกตว่าโหนดใดเห็นธุรกรรมก่อน ดอกแดนดิไลออน++ กระดาษ ระบุอย่างชัดเจนว่าการศึกษาที่ใช้ supernode บันทึกการรับส่งข้อมูลที่ส่งต่อของโหนด P2P ทั้งหมดอย่างไรและสังเกตรูปแบบของธุรกรรมที่แพร่กระจายไปตามช่วงเวลาเพื่อสรุปที่อยู่ IP ต้นทางในที่สุด ด้วยการเชื่อมโยงที่อยู่ IP กับนามแฝงของผู้ส่งบุคคลที่สามสามารถยกเลิกการระบุชื่อผู้ใช้และเชื่อมโยงธุรกรรมเพิ่มเติมแม้ว่าจะใช้คีย์สาธารณะใหม่สำหรับแต่ละธุรกรรมก็ตาม.
ในตอนแรก Dandelion ได้รับการเสนอให้ลดช่องโหว่เหล่านี้ แต่อาศัยการรับประกันทางทฤษฎีที่ไม่ได้ถือปฏิบัติ ข้อเสนอ Dandelion ดั้งเดิมสร้างสมมติฐานในอุดมคติ 3 ข้อ:
- โหนดทั้งหมดเป็นไปตามโปรโตคอล
- แต่ละโหนดสร้างหนึ่งธุรกรรมอย่างแม่นยำ
- โหนด Bitcoin ทั้งหมดเรียกใช้ Dandelion
สมมติฐานเหล่านี้ไม่ได้ผลในทางปฏิบัติอย่างชัดเจนและเป็นสาเหตุที่ Dandelion ++ พยายามแก้ไขปัญหาเหล่านี้ โปรโตคอล Dandelion ดั้งเดิมทำงานใน 2 ขั้นตอน:
- ระยะต้นกำเนิด
- เฟสปุย
เฟสต้นกำเนิดคือเฟสที่ไม่ระบุตัวตนซึ่งโปรโตคอลได้รับการออกแบบมาเพื่อลดความเป็นไปได้ในการแมปกลับไปยังที่อยู่ IP ของโหนดเดิม ในเฟสต้นกำเนิดแทนที่จะเป็นโหนดที่ถ่ายทอดธุรกรรมไปยังเพื่อนร่วมงานที่เชื่อมต่อทั้งหมดมันจะถ่ายทอดข้อความธุรกรรมผ่านกราฟความเป็นส่วนตัวไปยังเพียร์สุ่มเดียวตามอัลกอริทึม จากนั้นโหนดนั้นจะส่งข้อความธุรกรรมไปยังเพียร์ตัวเดียวเท่านั้นและรูปแบบจะดำเนินต่อไปจนกระทั่งในที่สุด (และแบบสุ่ม) โหนดใดโหนดหนึ่งจะกระจายข้อความในรูปแบบทั่วไปของการแพร่กระจายไปยังส่วนที่เหลือของเครือข่าย.
นี่คือจุดเริ่มต้นของระยะปุย เมื่อโหนดเดียวเผยแพร่ข้อความโดยใช้วิธีการแพร่กระจายข้อความธุรกรรมจะแพร่กระจายไปยังโหนดส่วนใหญ่ในเครือข่ายอย่างรวดเร็ว อย่างไรก็ตามการตรวจสอบย้อนกลับไปยังโหนดเดิมทำได้ยากขึ้นมากเนื่องจากข้อความธุรกรรมถูกโอนไปยังแต่ละโหนดผ่านกราฟความเป็นส่วนตัวก่อนที่จะแพร่กระจายในลักษณะที่จะทำให้ผู้สังเกตการณ์สามารถแมปกับโหนดเดียวได้ แต่ผู้สังเกตการณ์สามารถทำแผนที่การแพร่กระจายของธุรกรรมกลับไปยังโหนดต่างๆที่มีการถ่ายโอนข้อความในเฟสต้นกำเนิดได้เท่านั้นดังนั้นจึงทำให้ข้อมูลประจำตัวที่แท้จริงของผู้ส่งสับสน โดยทั่วไปแล้วสิ่งนี้จะคล้ายกับการที่ลายเซ็นของวงแหวนทำให้ผู้ลงนามจริงของธุรกรรมนั้นสับสน.
เครดิตรูปภาพ – การนำเสนอของ Giulia Fanti ในลิสบอน
Zcoin บล็อก เป็นตัวอย่างที่ดีเยี่ยมของวิธีการทำงานของโปรโตคอล Dandelion โดยใช้เรื่องซุบซิบในโรงเรียนมัธยมทั่วไป:
* ระยะต้นกำเนิด *
- Kathy:“ Pssst ฉันชอบ Nuwa มาก โปรดอย่าบอกใคร”
- George:“ OMG คุณรู้ไหมว่า Kathy บอกอะไรฉัน? เธอมีความสนใจอย่างมากกับ Nuwa ฉันบอกคุณเพียงคนเดียวโปรดอย่าบอกใคร”
- อลิซ:“ เบ็ตตี้คุณจะไม่เชื่อในสิ่งที่เพื่อนสนิทของเคธีจอร์จบอกฉันว่าเคธีกำลังเอาชนะนูวาอย่างหนัก! คุณเป็นเพื่อนที่ดีที่สุดของฉันดังนั้นฉันจึงบอกคุณเท่านั้นโปรดอย่าบอกใครว่าโอเค!”
* เริ่มขั้นตอน Fluff *
- Blabbermouth Betty:“ โอ้ว้าวข่าวร้อน…ฉันได้มาจากแหล่งข้อมูลที่ดีที่ Kathy มีความสนใจอย่างมากกับ Nuwa …ขอบอกทุกคนว่านี่เป็นเรื่องที่น่าตื่นเต้นมาก!”
ปัญหาหลักเกี่ยวกับโปรโตคอล Dandelion ดั้งเดิมเกิดจากการประเมินฝ่ายตรงข้ามที่เฉพาะเจาะจงต่ำเกินไปเนื่องจากสมมติฐานของความรู้ที่ จำกัด ของพวกเขา Dandelion ++ มุ่งเน้นไปที่การเปลี่ยนแปลงอย่างละเอียดในตัวเลือกการใช้งานของ Dandelion เช่นโครงสร้างกราฟและกลไกในการส่งต่อข้อความ.
ด้วยเหตุนี้การเปลี่ยนแปลงเล็กน้อยเหล่านี้ในอัลกอริทึมจะเพิ่มพื้นที่สถานะปัญหาสำหรับการวิเคราะห์แบบไม่เปิดเผยตัวตน Dandelion ++ อาศัยการเพิ่มจำนวนข้อมูลที่ฝ่ายตรงข้ามต้องเรียนรู้เพื่อกำจัดการเปิดเผยชื่อผู้ใช้.
Dandelion ++ แตกต่างอย่างชัดเจนจาก Dandelion ในระยะ Stem ซึ่งส่งผ่านธุรกรรมผ่านเส้นทางที่เกี่ยวพันกันที่เรียกว่าสายเคเบิลก่อนที่จะกระจายข้อความธุรกรรมไปยังเครือข่าย สายเคเบิลสามารถแยกส่วนได้ แต่สัญชาตญาณในการเลือกโหนดที่จะเผยแพร่ยังคง จำกัด อยู่ในพื้นที่ใกล้เคียง นี่เป็นข้อพิจารณาที่สำคัญเมื่อเปรียบเทียบโซลูชันการไม่เปิดเผยตัวตนระดับเครือข่ายเช่น Tor ที่เป็นโปรโตคอลการกำหนดเส้นทางแบบหัวหอมที่ลูกค้าต้องการข้อมูลเครือข่ายทั่วโลกในปัจจุบันเพื่อกำหนดเส้นทางการทำธุรกรรม.
เครดิตรูปภาพ – เอกสารวิชาการ Dandelion ++
ทั้ง Dandelion และ Dandelion ++ ดำเนินไปในวัฏจักรแบบอะซิงโครนัส แต่ละโหนดจะก้าวหน้าเมื่อนาฬิกาภายในถึงเกณฑ์ที่กำหนด ในแต่ละช่วงเวลา Dandelion ++ จะทำงานใน 4 องค์ประกอบหลักพร้อมการปรับแต่งเล็กน้อย:
- กราฟไม่เปิดเผยตัวตน
- การส่งต่อธุรกรรม (ของตัวเอง)
- การส่งต่อธุรกรรม (รีเลย์)
- กลไกที่ไม่ปลอดภัย
Anonymity Graph ใช้กราฟ 4 ปกติแบบสุ่มแทนที่จะเป็นกราฟเชิงเส้นสำหรับเฟสที่ไม่เปิดเผยตัวตน การเลือกรีเลย์ Dandelion ++ โดยโหนดนั้นไม่ขึ้นอยู่กับว่าเพื่อนบ้านขาออกสนับสนุน Dandelion หรือไม่++.
Transaction Forwarding (ของตัวเอง) คือเมื่อทุกครั้งที่โหนดสร้างธุรกรรมของตัวเองมันจะส่งต่อธุรกรรมตามขอบขาออกเดียวกันในกราฟ 4 ปกติ สิ่งนี้แตกต่างจากหนึ่งในสมมติฐานที่เป็นปัญหาใน Dandelion โดยที่โหนดถูกสันนิษฐานเพื่อสร้างธุรกรรมเดียวเท่านั้น.
Transaction Forwarding (รีเลย์) คือช่วงเวลาของความน่าจะเป็นในเฟสต้นกำเนิดที่โหนดได้รับธุรกรรมต้นกำเนิดและเลือกที่จะถ่ายทอดธุรกรรมหรือกระจายไปยังเครือข่าย ทางเลือกในการกระจายธุรกรรมไปยังเครือข่ายคือ pseudorandom. นอกจากนี้โหนดยังเป็นตัวกระจายสัญญาณหรือโหนดรีเลย์สำหรับธุรกรรมที่ส่งต่อทั้งหมด.
Fail-Safe Mechanism เป็นที่สำหรับธุรกรรมของ Stem Phase แต่ละโหนดติดตามว่าจะถูกมองว่าเป็นธุรกรรมเฟสปุยอีกครั้งหรือไม่ ถ้าไม่ใช่โหนดจะกระจายธุรกรรม.
การปรับแต่งอัลกอริทึมเล็กน้อยในขั้นตอนเหล่านี้ทำให้การแมปที่อยู่ IP ทำได้ยากขึ้นอย่างมากจากการสังเกตการแพร่กระจายของข้อความธุรกรรม เอกสาร Dandelion ++ กล่าวต่อไปเพื่อระบุการโจมตีเฉพาะที่สามารถใช้กับโปรโตคอล Dandelion ดั้งเดิมรวมถึงการโจมตีแบบเรียนรู้กราฟการโจมตีทางแยกการโจมตีแบบกราฟและการโจมตีหลุมดำ ด้วยเวกเตอร์การโจมตีแต่ละครั้งพวกเขาแสดงให้เห็นว่า Dandelion ++ ช่วยลดความเสี่ยงด้วยการวิเคราะห์และการจำลองทางทฤษฎีอย่างไร.
Dandelion ++ ไม่ได้เพิ่มเวลาในการตอบสนองของเครือข่ายอย่างมีนัยสำคัญและความเป็นไปได้ในทางปฏิบัติได้แสดงให้เห็นบน mainnet ของ Bitcoin เป็นเครื่องมือที่ไม่เปิดเผยตัวตนของเลเยอร์เครือข่ายที่มีน้ำหนักเบาและมีประสิทธิภาพเพื่อลดความเป็นไปได้ในการทำแผนที่โจมตีเพื่อกำจัดผู้ใช้ แม้จะมีข้อดี แต่ Dandelion ++ ก็ไม่ได้ปกป้อง ISP หรือศัตรูระดับ AS อย่างชัดเจนซึ่งสามารถใช้การโจมตีแบบกำหนดเส้นทางเพื่อกำจัดการเปิดเผยชื่อผู้ใช้.
การเปรียบเทียบ Dandelion ++ กับ Tor
Dandelion ++ มีข้อดีที่โดดเด่นเหนือการใช้งานเครือข่ายแบบไม่เปิดเผยตัวตนอื่น ๆ เช่น Tor. ทต เป็นเลเยอร์ซ้อนทับเครือข่ายที่โดดเด่นที่สุดซึ่งเน้นที่ความเป็นส่วนตัวและใช้การกำหนดเส้นทางแบบออนนิกเพื่อปกปิดตำแหน่งทางภูมิศาสตร์และที่อยู่ IP ของผู้ใช้.
การรวมทอร์ในระดับเครือข่ายสแต็กของระบบสกุลเงินดิจิทัลเป็นเรื่องที่ท้าทายมาก Monero เป็นตัวอย่างที่ยอดเยี่ยมในเรื่องนี้เนื่องจากต้องใช้เวลากว่าสี่ปีในการใช้ I2P ที่เหมือน Tor Kovri โครงการในเครือข่ายของพวกเขาและยังคงอยู่ระหว่างดำเนินการ เครือข่ายสกุลเงินดิจิทัลจำนวนมากไม่มีเวลาหรือความเชี่ยวชาญทางเทคนิคในการผสานรวมฟังก์ชันการทำงานประเภทนี้.
ผู้ใช้ที่กำหนดเส้นทางการทำธุรกรรมผ่าน Tor นั้นไม่สามารถทำได้โดยเฉพาะอย่างยิ่งสำหรับผู้ใช้ Bitcoin หลักที่ไม่ทราบถึงข้อบกพร่องด้านความเป็นส่วนตัวของเครือข่ายหรือขาดประสบการณ์ในการกำหนดเส้นทางการทำธุรกรรมผ่าน Tor อย่างถูกต้อง นอกจากนี้ Tor อาจทำงานช้าเนื่องจากแบนด์วิดท์ที่ จำกัด เมื่อเทียบกับ Dandelion++.
เหมือน ศึกษา ที่ระบุถึงความกังวลเกี่ยวกับการไม่เปิดเผยตัวตนของการแพร่กระจายการแพร่ภาพใน Bitcoin ยังเน้นย้ำถึงการโจมตีบนโหนดที่พวกเขาปฏิเสธหรือขึ้นบัญชีดำการเชื่อมต่อ Tor ซึ่งอาจนำไปสู่การยกเลิกการระบุชื่อธุรกรรมและการแมปที่อยู่ IP ของผู้ใช้ด้วย.
สรุป
Dandelion ++ เป็นการปรับปรุงที่มีประโยชน์เหนือโปรโตคอล Dandelion ดั้งเดิม ในที่สุดการรวมเข้ากับการเปิดตัว Bitcoin Core ที่กำลังจะมาถึงดูเหมือนว่ามีแนวโน้มและน่าจะนำเสนอการปรับปรุงที่สำคัญในความเป็นส่วนตัวของเครือข่าย P2P ของ Bitcoin เวกเตอร์การโจมตีของสกุลเงินดิจิทัลยังคงมีการพัฒนาอย่างต่อเนื่องดังนั้นวิธีแก้ปัญหาเหล่านี้ Dandelion ++ เป็นอีกก้าวหนึ่งในการปกป้องผู้ใช้ ความเป็นส่วนตัวใน Bitcoin.