بروتوكول إجماع Stellar

โดย David Mazières · 2015

โหมดเดี่ยว stellar.org

บทคัดย่อ

การชำระเงินระหว่างประเทศนั้นช้าและมีราคาแพง ส่วนหนึ่งเป็นเพราะการกำหนดเส้นทางการชำระเงินแบบหลายฮอปผ่านต่างกัน ระบบธนาคาร Stellar คือเครือข่ายการชำระเงินระดับโลกแห่งใหม่ ที่สามารถโอนเงินดิจิทัลได้โดยตรงทุกที่ใน โลกในไม่กี่วินาที นวัตกรรมที่สำคัญคือการทำธุรกรรมที่ปลอดภัย กลไกข้ามตัวกลางที่ไม่น่าเชื่อถือโดยใช้กลไกใหม่ โปรโตคอลข้อตกลงไบแซนไทน์ที่เรียกว่า SCP ด้วย SCP แต่ละตัว สถาบันระบุสถาบันอื่นที่จะยังคงอยู่ ในข้อตกลง; ผ่านการเชื่อมโยงระหว่างกันทั่วโลกของ ระบบการเงินทั้งเครือข่ายจึงตกลงกันแบบอะตอมมิก ธุรกรรมที่ครอบคลุมสถาบันต่างๆ โดยพลการ โดยไม่มีความเสี่ยงในการละลายหรืออัตราแลกเปลี่ยนจากผู้ออกสินทรัพย์ตัวกลาง หรือผู้ดูแลสภาพคล่อง เรานำเสนอแบบจำลอง ระเบียบวิธี และ การตรวจสอบอย่างเป็นทางการ อธิบายเครือข่ายการชำระเงิน Stellar และสุดท้ายประเมิน Stellar เชิงประจักษ์ผ่านการวัดประสิทธิภาพ และประสบการณ์ของเราในการใช้งานการผลิตเป็นเวลาหลายปี แนวคิดของซีซีเอส • ความปลอดภัยและความเป็นส่วนตัว →กระจาย ความปลอดภัยของระบบ • การจัดระบบคอมพิวเตอร์ → สถาปัตยกรรมแบบเพียร์ทูเพียร์ • ระบบสารสนเทศ → การโอนเงินทางอิเล็กทรอนิกส์ คำหลัก blockchain, BFT องค์ประชุม การชำระเงิน รูปแบบการอ้างอิง ACM: มาร์ตา โลคาวา, จูเลียโน โลซา, เดวิด มาซิแยร์, เกรย์ดอน ฮวาเร, นิโคลัส แบร์รี่, เอไล กาฟนี่, โจนาธาน โจฟ, ราฟาเอล มาลินอฟสกี้, เจด แม็กคาเลบ 2019 การชำระเงินทั่วโลกที่รวดเร็วและปลอดภัยด้วย Stellar ใน SOSP ’62: การประชุมสัมมนาเรื่องหลักการระบบปฏิบัติการ วันที่ 27–30 ตุลาคม 2019 ฮันต์สวิลล์ ON แคนาดา ACM, นิวยอร์ก, NY, สหรัฐอเมริกา, 17 หน้า https://doi.org/10.1145/3341301.3359636

خلاصة

المدفوعات الدولية بطيئة ومكلفة، ويرجع ذلك جزئيًا إلى توجيه الدفع متعدد القفزات عبر طرق غير متجانسة الأنظمة المصرفية. Stellar هي شبكة دفع عالمية جديدة التي يمكنها تحويل الأموال الرقمية مباشرة إلى أي مكان في العالم العالم في ثواني. الابتكار الرئيسي هو معاملة آمنة آلية عبر وسطاء غير موثوق بهم، وذلك باستخدام جديد بروتوكول الاتفاقية البيزنطية يسمى SCP. مع SCP، لكل منهما تحدد المؤسسة المؤسسات الأخرى التي ستبقى معها في الاتفاق؛ من خلال الترابط العالمي النظام المالي، ثم توافق الشبكة بأكملها على الذرية المعاملات التي تشمل مؤسسات تعسفية، مع عدم وجود مخاطر الملاءة المالية أو سعر الصرف من مصدري الأصول الوسطاء أو صناع السوق. نقدم نموذج SCP وبروتوكوله و التحقق الرسمي؛ وصف شبكة الدفع Stellar؛ وأخيرًا قم بتقييم Stellar تجريبيًا من خلال المعايير وخبرتنا مع عدة سنوات من استخدام الإنتاج. مفاهيم CCS • الأمن والخصوصية →الموزعة أمن الأنظمة؛ • تنظيم أنظمة الكمبيوتر → أبنية نظير إلى نظير؛ • نظم المعلومات → تحويل الأموال إلكترونيا. الكلمات الرئيسية blockchain, BFT, النصاب القانوني, الدفعات التنسيق المرجعي ACM: مارتا لوخافا، جوليانو لوسا، ديفيد مازيير، جرايدون هور، نيكولا باري، إيلي جافني، جوناثان جوف، رافائيل مالينوفسكي، جيد مكالب. 2019. مدفوعات عالمية سريعة وآمنة باستخدام Stellar. في SOSP ’19: ندوة حول مبادئ أنظمة التشغيل، 27-30 أكتوبر 2019، هانتسفيل، أونتاريو، كندا. ACM، نيويورك، نيويورك، الولايات المتحدة الأمريكية، 17 صفحة. https://doi.org/10.1145/3341301.3359636

การแนะนำ

การชำระเงินระหว่างประเทศช้ามากและมีค่าใช้จ่ายสูง [32] พิจารณาความไม่สามารถทำได้จริงในการส่งเงิน $0.50 จากสหรัฐอเมริกาไปที่ *กาลอยส์ อิงค์ †ยูซีแอลเอ อนุญาตให้จัดทำสำเนาดิจิทัลหรือสำเนาของงานนี้ทั้งหมดหรือบางส่วนเพื่อ อนุญาตให้ใช้ส่วนตัวหรือในชั้นเรียนโดยไม่มีค่าธรรมเนียม โดยที่ไม่ต้องทำสำเนา จัดทำหรือแจกจ่ายเพื่อหากำไรหรือข้อได้เปรียบทางการค้าและมีสำเนาดังกล่าว ประกาศนี้และการอ้างอิงฉบับเต็มในหน้าแรก ลิขสิทธิ์สำหรับส่วนประกอบ งานนี้ต้องเป็นของบุคคลอื่นที่ไม่ใช่ ACM จะต้องได้รับเกียรติ นามธรรมด้วย เครดิตได้รับอนุญาต หากต้องการคัดลอกหรือเผยแพร่ซ้ำเพื่อโพสต์บนเซิร์ฟเวอร์หรือไปที่ แจกจ่ายไปยังรายการ ต้องได้รับอนุญาตเฉพาะล่วงหน้าและ/หรือมีค่าธรรมเนียม คำขอ สิทธิ์จาก [email protected] SOSP '19, 27–30 ตุลาคม 2019, Huntsville, ON, แคนาดา © 2019 สมาคมเครื่องจักรคอมพิวเตอร์. ACM ISBN 978-1-4503-6873-5/19/10...$15.00 https://doi.org/10.1145/3341301.3359636 เม็กซิโก สองประเทศเพื่อนบ้าน ผู้ใช้ปลายทางจ่ายเงินเกือบ 9 ดอลลาร์ สำหรับค่าเฉลี่ยการโอนดังกล่าว [32] และข้อตกลงทวิภาคี นายหน้าโดยธนาคารกลางของประเทศสามารถลดลงได้เท่านั้น ต้นทุนของธนาคารอ้างอิงเป็น $0.67 ต่อรายการ [2] นอกเหนือจากค่าธรรมเนียมแล้ว โดยทั่วไปจะนับเวลาแฝงของการชำระเงินระหว่างประเทศด้วย ในเวลาไม่กี่วันทำให้ไม่สามารถหาเงินไปต่างประเทศได้อย่างรวดเร็ว กรณีฉุกเฉิน ในประเทศที่ระบบธนาคารไม่มี ทำงานหรือไม่ให้บริการแก่พลเมืองทุกคน หรือในกรณีที่ค่าธรรมเนียมไม่สามารถยอมรับได้ ผู้คนหันไปใช้การชำระเงินโดยรถประจำทาง [38] โดย เรือ [19] และบางครั้งโดย Bitcoin [55] ซึ่งทั้งหมดนี้ ทำให้เกิดความเสี่ยง ความหน่วง หรือความไม่สะดวก แม้ว่าจะต้องเสียค่าใช้จ่ายในการปฏิบัติตามกฎระเบียบอยู่เสมอ แต่หลักฐานบ่งชี้ว่าสูญเสียเงินจำนวนมากไปเนื่องจากขาดการแข่งขัน [21], ซึ่งซ้ำเติมด้วยเทคโนโลยีที่ไม่มีประสิทธิภาพ คนไหน. สามารถสร้างสรรค์สิ่งใหม่ๆ ได้ ราคาและเวลาในการตอบสนองลดลง ตัวอย่างเช่น การโอนเงินจากบัญชีธนาคารในไตรมาสที่ 2 ปี 2019 มีค่าใช้จ่ายโดยเฉลี่ย 6.99% ในขณะที่ตัวเลขเงินบนมือถืออยู่ที่ 4.88% [13] เครือข่ายการชำระเงินแบบเปิดระดับโลกที่ดึงดูดนวัตกรรม และการแข่งขันจากหน่วยงานที่ไม่ใช่ธนาคารอาจลดลง ต้นทุนและเวลาแฝงในทุกเลเยอร์ รวมถึงการปฏิบัติตามข้อกำหนด [83] บทความนี้นำเสนอ Stellar ซึ่งเป็นการชำระเงินตาม blockchain เครือข่ายที่ออกแบบมาโดยเฉพาะเพื่ออำนวยความสะดวกด้านนวัตกรรมและ การแข่งขันในการชำระเงินระหว่างประเทศ Stellar เป็นอันแรก เพื่อให้บรรลุเป้าหมายทั้งสามประการดังต่อไปนี้ (ภายใต้ ก “สมมติฐานทางอินเทอร์เน็ต” ที่แปลกใหม่แต่ใช้ได้จริง: 1. เปิดการเป็นสมาชิก – ใครๆ ก็สามารถออกสกุลเงินสำรองได้ tokens ดิจิทัลที่สามารถแลกเปลี่ยนระหว่างผู้ใช้ได้ 2. ขั้นสุดท้ายที่บังคับใช้โดยผู้ออก – ผู้ออกของ token สามารถป้องกันได้ ธุรกรรมใน token จากการกลับรายการหรือเลิกทำ 3. อะตอมมิกระหว่างผู้ออก – ผู้ใช้สามารถแลกเปลี่ยนอะตอมได้ และซื้อขาย tokens จากผู้ออกหลายราย การบรรลุสองข้อแรกนั้นเป็นเรื่องง่าย บริษัทใดก็ตามสามารถเสนอผลิตภัณฑ์เช่น Paypal, Venmo, WeChat เพียงฝ่ายเดียวได้ ชำระเงินหรือ Alipay และรับรองการชำระเงินขั้นสุดท้ายใน สกุลเงินเสมือนที่พวกเขาสร้างขึ้น น่าเสียดายที่การทำธุรกรรมแบบอะตอมมิกข้ามสกุลเงินเหล่านี้เป็นไปไม่ได้ ในความเป็นจริง แม้ว่า Paypal จะซื้อบริษัทแม่ของ Venmo แล้วก็ตาม ในปี 2013 ยังเป็นไปไม่ได้ที่ผู้ใช้ปลายทางจะส่ง Venmo ดอลลาร์สำหรับผู้ใช้ Paypal [78] พ่อค้าเท่านั้นที่สามารถ ยอมรับทั้งสองอย่างด้วยการผสานรวมเพียงครั้งเดียว เป้าหมายที่ 2 และ 3 สามารถบรรลุได้ในระบบปิด โดยเฉพาะอย่างยิ่งหลายประเทศมีระบบการชำระเงินภายในประเทศที่มีประสิทธิภาพ เครือข่าย ซึ่งโดยทั่วไปจะได้รับการดูแลโดยหน่วยงานกำกับดูแลที่เชื่อถือได้ในระดับสากล อย่างไรก็ตามการเป็นสมาชิกนั้นจำกัดอยู่เพียงแบบปิดเท่านั้น ชุดของธนาคารชาร์เตอร์และเครือข่ายถูกจำกัดอยู่ที่ การเข้าถึงของหน่วยงานกำกับดูแลของประเทศSOSP '19, 27–30 ตุลาคม 2019, Huntsville, ON, แคนาดา โลกาวา และคณะ บรรลุเป้าหมาย 1 และ 3 ในการขุด blockchains ที่โดดเด่นที่สุดในรูปแบบของ ERC20 tokens บน Ethereum [3] แนวคิดหลักของ blockchains เหล่านี้คือการสร้างสกุลเงินดิจิทัลใหม่เพื่อใช้เป็นรางวัลแก่ผู้คนสำหรับการตั้งถิ่นฐาน ธุรกรรมที่ยากต่อการย้อนกลับ ขออภัย ซึ่งหมายความว่าผู้ออก token ไม่ได้ควบคุมการทำธุรกรรมขั้นสุดท้าย ถ้าเป็นซอฟต์แวร์ ข้อผิดพลาดทำให้ประวัติการทำธุรกรรมถูกจัดระเบียบใหม่ [26, 73] หรือเมื่อริบมาจากคนฉ้อโกงเกินราคา การจัดระเบียบประวัติศาสตร์ใหม่ [74, 97] ผู้ออกอาจต้องรับผิดชอบต่อ tokens พวกเขาได้แลกเป็นเงินในโลกแห่งความเป็นจริงแล้ว Stellar blockchain มีคุณสมบัติที่แตกต่างสองประการ ประการแรก สนับสนุนตลาดที่มีประสิทธิภาพโดยกำเนิดระหว่าง tokens จากผู้ออกบัตรที่แตกต่างกัน โดยเฉพาะ ใครๆ ก็สามารถออก token, blockchain มีสมุดคำสั่งซื้อในตัวสำหรับการซื้อขายระหว่างคู่ tokens ใดๆ และผู้ใช้สามารถออกการชำระเงินตามเส้นทางได้ ที่มีการซื้อขายแบบอะตอมมิกในหลายคู่สกุลเงินในขณะนั้น รับประกันราคาจำกัดตั้งแต่ต้นจนจบ ประการที่สอง Stellar แนะนำข้อตกลงไบเซนไทน์ใหม่ โปรโตคอล SCP (Stellar โปรโตคอลฉันทามติ) ซึ่งผ่านทางนั้น token ผู้ออกกำหนดเซิร์ฟเวอร์ validator เฉพาะเพื่อบังคับใช้ การทำธุรกรรมขั้นสุดท้าย ตราบใดที่ไม่มีใครประนีประนอม validators ของผู้ออก (และลายเซ็นดิจิทัลที่เกี่ยวข้องและ การเข้ารหัสลับ hashes ยังคงปลอดภัย) ผู้ออกจะทราบแน่ชัดว่าธุรกรรมใดเกิดขึ้นและหลีกเลี่ยงความเสี่ยง ของการสูญเสียจากการปรับโครงสร้างประวัติศาสตร์ blockchain แนวคิดหลักของ SCP คือผู้ออกสินทรัพย์ส่วนใหญ่ได้รับประโยชน์จาก ตลาดที่มีสภาพคล่องและต้องการอำนวยความสะดวกในการทำธุรกรรมปรมาณู กับทรัพย์สินอื่นๆ ดังนั้น validator ผู้ดูแลระบบจึงกำหนดค่า เซิร์ฟเวอร์ของพวกเขาจะเห็นด้วยกับ validators อื่น ๆ อย่างแน่นอน ประวัติการทำธุรกรรมทั้งหมดในสินทรัพย์ทั้งหมด validator v1 สามารถเป็นได้ กำหนดค่าให้เห็นด้วยกับ v2 หรือ v2 สามารถกำหนดค่าให้เห็นด้วยได้ กับ v1 หรือทั้งสองอย่างอาจกำหนดค่าให้เห็นด้วยซึ่งกันและกัน ในทุกกรณี จะไม่ยอมรับประวัติการทำธุรกรรมจนกว่า มันรู้ว่าอีกฝ่ายไม่สามารถยอมรับประวัติศาสตร์ที่แตกต่างได้ โดยการเปลี่ยนแปลง ถ้า v1 ไม่เห็นด้วยกับ v2 และ v2 ไม่เห็นด้วยกับ v3 (หรือกลับกัน) v1 จะไม่เห็นด้วยกับ v3 v3 ไม่ว่า v3 จะแสดงถึงสินทรัพย์ v1 หรือไม่ก็ตาม ของ. ภายใต้สมมติฐานที่ว่าข้อตกลงเหล่านี้มีความสัมพันธ์กัน เชื่อมต่อเครือข่ายทั้งหมดอย่างต่อเนื่อง SCP รับประกัน ข้อตกลงระดับโลก ทำให้เป็นข้อตกลงไบแซนไทน์ระดับโลก โปรโตคอลที่มีการเป็นสมาชิกแบบเปิด เราเรียกสมมติฐานการเชื่อมต่อใหม่นี้ว่าสมมติฐานอินเทอร์เน็ต และสังเกตว่ามัน ถือครองทั้ง “อินเทอร์เน็ต” (ซึ่งใครๆ ก็เข้าใจ หมายถึงเครือข่าย IP ที่เชื่อมต่อแบบ Transitive ที่ใหญ่ที่สุดเพียงเครือข่ายเดียว) และการชำระเงินระหว่างประเทศแบบเดิม (ซึ่งเป็นแบบ hop-by-hop ไม่ใช่อะตอม แต่ใช้ประโยชน์จากการเชื่อมต่อแบบเปลี่ยนผ่านทั่วโลก เครือข่ายสถาบันการเงิน) Stellar ใช้งานจริงตั้งแต่เดือนกันยายน 2015 เพื่อให้ blockchain สามารถจัดการความยาวได้ ระบบจะทำงาน SCP ในช่วงเวลา 5 วินาที—เร็วตามมาตรฐาน blockchain แต่ ช้ากว่าการใช้งานทั่วไปของข้อตกลงไบแซนไทน์มาก แม้ว่าการใช้งานหลักจะเป็นการชำระเงิน แต่ Stellar ก็มีเช่นกัน ได้รับการพิสูจน์แล้วว่าน่าสนใจสำหรับ tokens ที่ไม่สามารถทดแทนเงินได้ซึ่งได้รับประโยชน์ จากตลาดรองทันที (ดูหัวข้อ 7.1) ส่วนถัดไปจะกล่าวถึงงานที่เกี่ยวข้อง ส่วนที่ 3 นำเสนอ เอสซีพี. ส่วนที่ 4 อธิบายการตรวจสอบ SCP อย่างเป็นทางการของเรา ส่วนที่ 5 อธิบายชั้นการชำระเงินของ Stellar ส่วนที่ 6 เกี่ยวข้อง ประสบการณ์การปรับใช้บางส่วนและบทเรียนที่ได้เรียนรู้ ส่วนที่ 7 ประเมินระบบ ส่วนที่ 8 สิ้นสุดลง

مقدمة

من المعروف أن المدفوعات الدولية بطيئة ومكلفة [32]. خذ بعين الاعتبار عدم جدوى إرسال 0.50 دولار من الولايات المتحدة إلى * شركة جالوا †جامعة كاليفورنيا الإذن بعمل نسخ رقمية أو ورقية من كل هذا العمل أو جزء منه يُمنح الاستخدام الشخصي أو الاستخدام في الفصل الدراسي بدون رسوم بشرط عدم وجود نسخ صنعت أو وزعت لتحقيق الربح أو الميزة التجارية وتحمل تلك النسخ هذا الإشعار والاقتباس الكامل في الصفحة الأولى. حقوق الطبع والنشر للمكونات يجب تكريم هذا العمل المملوك لآخرين غير ACM. التجريد مع الائتمان مسموح به. النسخ بخلاف ذلك، أو إعادة النشر، للنشر على الخوادم أو إلى إعادة التوزيع على القوائم يتطلب الحصول على إذن محدد مسبق و/أو دفع رسوم. طلب الأذونات من [email protected]. SOSP '19، 27-30 أكتوبر 2019، هانتسفيل، أونتاريو، كندا © 2019 جمعية آلات الحوسبة. ACM ISBN 978-1-4503-6873-5/19/10...$15.00 https://doi.org/10.1145/3341301.3359636 المكسيك دولتان متجاورتان. يدفع المستخدمون النهائيون ما يقرب من 9 دولارات لمتوسط هذا النقل [32]، واتفاق ثنائي ولم يكن من الممكن إلا أن تخفض الديون التي توسطت فيها البنوك المركزية في البلدان تبلغ تكلفة البنك الأساسي 0.67 دولارًا أمريكيًا لكل عنصر [2]. على رأس الرسوم، يتم احتساب زمن الوصول للمدفوعات الدولية بشكل عام في أيام، مما يجعل من المستحيل الحصول على الأموال في الخارج بسرعة حالات الطوارئ. في البلدان التي لا يوجد بها نظام مصرفي العمل أو لا يخدم جميع المواطنين، أو عندما تكون الرسوم غير محتملة، يلجأ الناس إلى إرسال المدفوعات بالحافلة [38]، عن طريق القارب [19]، وأحيانًا الآن بواسطة Bitcoin [55]، وكلها تحمل المخاطر أو الكمون أو الإزعاج. على الرغم من أنه ستكون هناك دائمًا تكاليف امتثال، تشير الأدلة إلى ضياع مبلغ كبير بسبب انعدام المنافسة [21]، والتي تتفاقم بسبب التكنولوجيا غير الفعالة. حيث الناس يمكن أن يبتكر، وتنخفض الأسعار وفترات التأخير. على سبيل المثال، بلغت تكلفة التحويلات من الحسابات المصرفية في الربع الثاني من عام 2019 ما متوسطه 6.99%، بينما بلغت نسبة تحويل الأموال عبر الهاتف المحمول 4.88% فقط [13]. شبكة دفع عالمية مفتوحة تجذب الابتكار ومن الممكن أن تؤدي المنافسة من جانب الكيانات غير المصرفية إلى الانخفاض التكاليف وزمن الوصول في جميع الطبقات، بما في ذلك الامتثال [83]. تعرض هذه الورقة Stellar، دفعة مستندة إلى blockchain شبكة مصممة خصيصًا لتسهيل الابتكار و المنافسة في المدفوعات الدولية. Stellar هو الأول نظام لتحقيق الأهداف الثلاثة التالية (تحت أ "فرضية الإنترنت" جديدة ولكنها صالحة تجريبيًا): 1. العضوية المفتوحة – يمكن لأي شخص إصدار عملة مدعومة tokens الرقمية التي يمكن تبادلها بين المستخدمين. 2. النهاية التي يفرضها المُصدر - يمكن لجهة إصدار token أن تمنع المعاملات في token من التراجع أو التراجع. 3. الذرية عبر المُصدر – يمكن للمستخدمين التبادل ذريًا وتداول tokens من جهات إصدار متعددة. إن تحقيق الأولين أمر سهل. يمكن لأي شركة أن تقدم من جانب واحد منتجًا مثل Paypal وVenmo وWeChat الدفع، أو Alipay والتأكد من نهائية المدفوعات في العملات الافتراضية التي قاموا بإنشائها. ولسوء الحظ، فإن التعامل ذريًا عبر هذه العملات أمر مستحيل. في الواقع، على الرغم من استحواذ Paypal على الشركة الأم لشركة Venmo في عام 2013، لا يزال من المستحيل على المستخدمين النهائيين إرسال Venmo دولار لمستخدمي Paypal [78]. في الآونة الأخيرة فقط يمكن للتجار حتى قبول كلاهما بتكامل واحد. يمكن تحقيق الهدفين 2 و 3 في نظام مغلق. وعلى وجه الخصوص، يتمتع عدد من البلدان بمدفوعات محلية تتسم بالكفاءة الشبكات، التي تشرف عليها عادةً هيئة تنظيمية موثوقة عالميًا. ومع ذلك، تقتصر العضوية على مغلقة مجموعة من البنوك المعتمدة والشبكات تقتصر على مدى وصول السلطة التنظيمية في البلاد.SOSP '19، 27-30 أكتوبر 2019، هانتسفيل، أونتاريو، كندا لوخافا وآخرون. تم تحقيق الهدفين 1 و3 في blockchains، وعلى الأخص في شكل ERC20 tokens على Ethereum [3]. الفكرة الرئيسية لهذه blockchain هي إنشاء عملة مشفرة جديدة يمكن من خلالها مكافأة الأشخاص على تسوية الأمر المعاملات من الصعب العودة. لسوء الحظ، هذا يعني أن جهات إصدار token لا تتحكم في نهائية المعاملة. إذا البرمجيات تتسبب الأخطاء في إعادة تنظيم سجل المعاملات [26، 73]، أو عندما تكون غنائم الغشاشين أكثر من تكلفة إعادة تنظيم التاريخ [74، 97]، قد يكون المصدرون مسؤولين عن tokens لقد قاموا بالفعل باستبدال أموال العالم الحقيقي. يحتوي Stellar blockchain على خاصيتين مميزتين. أولاً، يدعم أصلاً الأسواق الفعالة بين tokens من مصدرين مختلفين. على وجه التحديد، يمكن لأي شخص إصدار token، يوفر blockchain سجل طلبات مدمجًا للتداول بين أي زوج من token، ويمكن للمستخدمين إصدار دفعات المسار التي تتداول ذريًا عبر عدة أزواج عملات بينما ضمان سعر الحد الشامل. ثانيًا، يقدم Stellar اتفاقية بيزنطية جديدة البروتوكول SCP (Stellar بروتوكول الإجماع) والذي من خلاله يقوم مصدرو token بتعيين خوادم validator محددة للتنفيذ نهائية المعاملة. طالما لم يقم أحد بالمساس بـ validators الخاصة بجهة الإصدار (والتوقيعات الرقمية الأساسية و التشفير hashes آمن)، يعرف المصدر بالضبط المعاملات التي حدثت ويتجنب المخاطر من الخسائر الناجمة عن blockchain إعادة تنظيم التاريخ. الفكرة الرئيسية لشركة SCP هي أن معظم مصدري الأصول يستفيدون منها الأسواق السائلة وتريد تسهيل المعاملات الذرية مع الأصول الأخرى. ومن ثم، يتم تكوين مسؤولي validator خوادمهم للاتفاق مع validators الأخرى على وجه التحديد تاريخ جميع المعاملات على جميع الأصول. يمكن أن يكون validator v1 يمكن تكوينه للموافقة على الإصدار 2، أو يمكن تكوين الإصدار 2 للموافقة مع الإصدار 1، أو قد يتم تكوين كليهما للاتفاق مع بعضهما البعض؛ وفي جميع الحالات، لن يلتزم أي منهما بسجل المعاملات حتى إنها تعلم أن الآخر لا يمكنه الالتزام بتاريخ مختلف. بواسطة العبور، إذا كان v1 لا يمكن أن يختلف مع v2 وv2 لا يمكن أن يختلف مع v3 (أو العكس)، فإن v1 لا يمكن أن يختلف مع v3 v3، سواء كان v3 يمثل الأصول التي سمعها v1 أم لا من. في ظل فرضية أن هذه العلاقات اتفاق ربط الشبكة بالكامل بشكل عابر، يضمن SCP اتفاقية عالمية، مما جعلها اتفاقية بيزنطية عالمية بروتوكول ذو عضوية مفتوحة. نحن نطلق على افتراض الترابط الجديد هذا اسم فرضية الإنترنت، ونلاحظ ذلك يحمل كلا من "الإنترنت" (الذي يفهمه الجميع يعني أكبر شبكة IP متصلة بشكل عابر) والمدفوعات الدولية القديمة (التي تتم على أساس خطوة تلو الأخرى غير ذرية، ولكنها تستفيد من عالمية متصلة بشكل عابر شبكة المؤسسات المالية). Stellar قيد الاستخدام الإنتاجي منذ سبتمبر 2015. للحفاظ على طول blockchain قابلاً للإدارة، يتم تشغيل النظام SCP على فترات زمنية مدتها 5 ثوانٍ — بسرعة وفقًا لمعايير blockchain، ولكن أبطأ بكثير من التطبيقات النموذجية للاتفاقية البيزنطية. على الرغم من أن الاستخدام الأساسي كان عبارة عن مدفوعات، إلا أن Stellar كان كذلك أيضًا أثبتت جاذبيتها للأشياء القابلة للاستبدال غير المالية token والتي تستفيد منها من الأسواق الثانوية المباشرة (انظر القسم 7.1). ويناقش القسم التالي الأعمال ذات الصلة. يعرض القسم 3 SCP. يصف القسم 4 التحقق الرسمي من SCP. يصف القسم 5 طبقة الدفع الخاصة بـ Stellar. ويتعلق القسم 6 بعض خبراتنا في النشر والدروس المستفادة. القسم 7 يقيم النظام. وينتهي القسم 8.

Stellar โปรโตคอลฉันทามติ

Stellar ฉันทามติโปรโตคอล (SCP) เป็นแบบองค์ประชุม โปรโตคอลข้อตกลงไบเซนไทน์พร้อมสมาชิกแบบเปิด องค์ประชุมเกิดขึ้นจากการตัดสินใจกำหนดค่าท้องถิ่นแบบรวมของแต่ละโหนด อย่างไรก็ตาม โหนดจะรับรู้เท่านั้น โควรัมที่พวกเขาเป็นเจ้าของและหลังจากนั้นเท่านั้น เรียนรู้การกำหนดค่าในเครื่องของสมาชิกโควรัมคนอื่นๆ ทั้งหมด ข้อดีอย่างหนึ่งของแนวทางนี้คือ SCP โดยธรรมชาติแล้ว ยอมรับมุมมองที่แตกต่างกันของโหนดที่มีอยู่ ดังนั้น โหนดสามารถเข้าร่วมและออกฝ่ายเดียวได้โดยไม่จำเป็นต้องมี “ดูการเปลี่ยนแปลง” โปรโตคอลเพื่อประสานงานสมาชิก 3.1 ข้อตกลงสหพันธรัฐไบเซนไทน์ ปัญหาข้อตกลงไบแซนไทน์แบบดั้งเดิมประกอบด้วย ระบบปิดของโหนด N ซึ่งบางส่วนมีข้อผิดพลาดและอาจเกิดขึ้นได้ ประพฤติตนตามอำเภอใจ โหนดรับค่าอินพุตและการแลกเปลี่ยน ข้อความเพื่อตัดสินใจเกี่ยวกับค่าเอาต์พุตระหว่างอินพุต โปรโตคอลข้อตกลง Byzantine จะปลอดภัยเมื่อไม่มีโหนดใดที่ประพฤติตัวดีสองโหนดจะให้การตัดสินใจที่แตกต่างกันและไม่ซ้ำกัน การตัดสินใจเป็นข้อมูลที่ถูกต้อง (สำหรับคำจำกัดความบางประการของข้อตกลงที่ถูกต้องSOSP '19, 27–30 ตุลาคม 2019, Huntsville, ON, แคนาดา โลกาวา และคณะ ไว้ล่วงหน้า) โปรโตคอลจะใช้งานได้เมื่อรับประกันสิ่งนั้น โหนดที่ซื่อสัตย์ทุกอันจะส่งผลให้มีการตัดสินใจในที่สุด โดยทั่วไปแล้ว โปรโตคอลจะถือว่า N = 3f + 1 สำหรับจำนวนเต็มบางตัว f > 0 รับประกันความปลอดภัยและความมีชีวิตชีวาบางรูปแบบดังนั้น ตราบใดที่โหนด f ส่วนใหญ่มีข้อผิดพลาด ในบางช่วงของสิ่งเหล่านี้ โปรโตคอล โหนดลงคะแนนเสียงตามค่าที่เสนอและข้อเสนอ ได้รับคะแนนเสียง 2f + 1 เรียกว่าเป็นองค์ประชุมของการลงคะแนนเสียง การตัดสินใจ ด้วย N = 3f + 1 โหนด สองโควรัมใดๆ ของ ขนาด 2f + 1 ทับซ้อนกันในอย่างน้อย f + 1 โหนด แม้ว่า f ของพวกนี้ก็ตาม โหนดที่ทับซ้อนกันมีข้อบกพร่อง อย่างน้อยทั้งสององค์ก็ใช้ร่วมกัน โหนดเดียวที่ไม่ผิดพลาด ป้องกันการตัดสินใจที่ขัดแย้งกัน อย่างไรก็ตาม วิธีการนี้จะใช้ได้ก็ต่อเมื่อโหนดทั้งหมดเห็นด้วยเท่านั้น สิ่งที่ถือเป็นองค์ประชุมซึ่งเป็นไปไม่ได้ใน SCP ที่ไหน สองโหนดอาจไม่รู้ด้วยซ้ำถึงการมีอยู่ของกันและกัน ด้วย SCP แต่ละโหนด v จะประกาศชุดของโหนดเพียงฝ่ายเดียว เรียกว่าส่วนองค์ประชุมดังกล่าว โดยที่ (ก) v เชื่อว่าถ้าทั้งหมด สมาชิกของสไลซ์เห็นด้วยกับสถานะของระบบแล้ว มันถูกต้อง และ (b) v เชื่อว่ามีชิ้นของมันอย่างน้อยหนึ่งชิ้น จะพร้อมให้ข้อมูลทันเวลาเกี่ยวกับ สถานะของระบบ เราเรียกระบบผลลัพธ์ซึ่งประกอบด้วย ของโหนดและส่วนต่างๆ ของโหนดเหล่านั้น ซึ่งเป็นข้อตกลงแบบสหพันธรัฐไบเซนไทน์ (เอฟบีเอ) ระบบ. ดังที่เราจะเห็นต่อไป ระบบองค์ประชุมเกิดขึ้น จากชิ้นของโหนด อย่างไม่เป็นทางการ ชิ้นส่วนของโหนด FBA จะแสดงกับใคร โหนดต้องมีข้อตกลง เช่น โหนดอาจต้องมีข้อตกลงกับ 4 องค์กรเฉพาะ โดยแต่ละองค์กรใช้งาน 3 โหนด ถึง เพื่อรองรับเวลาหยุดทำงานก็อาจตั้งค่าชิ้นให้เป็นชุดทั้งหมด ประกอบด้วย 2 โหนดจากแต่ละองค์กร หากสิ่งนี้ “ต้องการ ข้อตกลงกับ” ความสัมพันธ์แบบสกรรมกริยาสัมพันธ์ระหว่างสองโหนดใด ๆ เราได้รับข้อตกลงระดับโลก ไม่เช่นนั้น เราก็จะได้รับความแตกต่าง แต่เฉพาะระหว่างองค์กรที่ต้องการเท่านั้น ข้อตกลงกับอีกฝ่าย เมื่อพิจารณาถึงโทโพโลยีของวันนี้ ระบบการเงิน เราตั้งสมมติฐานว่าการบรรจบกันอย่างกว้างขวางจะทำให้เกิดประวัติศาสตร์บัญชีแยกประเภทที่ผู้คนเรียกกันว่า “เครือข่าย Stellar” เช่นเดียวกับที่เราพูดถึงอินเทอร์เน็ต โควรัมเกิดจากสไลซ์ดังนี้ ทุกโหนดระบุ โควรัมจะแบ่งส่วนในทุกข้อความที่ส่ง ให้ S เป็น ชุดของโหนดซึ่งเป็นที่มาของชุดข้อความ ก โหนดถือว่าชุดข้อความถึงองค์ประชุมแล้ว ขีดจำกัดเมื่อสมาชิกทุกคนของ S มีสไลซ์รวมอยู่ใน S โดยการก่อสร้าง ชุด S ดังกล่าว ถ้ามีมติเป็นเอกฉันท์จะเป็นที่พอใจ ข้อกำหนดข้อตกลงของสมาชิกแต่ละคน เพื่อนที่ผิดพลาดอาจโฆษณาชิ้นส่วนที่สร้างขึ้นเพื่อเปลี่ยนแปลงอะไร โหนดที่มีความประพฤติดีจะพิจารณาองค์ประชุม เพื่อประโยชน์ในการวิเคราะห์โปรโตคอล เราจึงกำหนดให้องค์ประชุมใน FBA เป็นองค์ประชุมที่ไม่ว่างเปล่า ชุด S ของโหนดครอบคลุมอย่างน้อยหนึ่งส่วนโควรัมของ สมาชิกแต่ละคนที่ไม่มีข้อบกพร่อง สิ่งที่เป็นนามธรรมนี้มีเสียงเหมือนชุดใด ๆ ของข้อความที่อ้างว่าเป็นองค์ประชุมที่เป็นเอกฉันท์ ทำได้จริง (แม้ว่าจะมีข้อความจากโหนดที่ผิดพลาด) และจะแม่นยำเมื่อ S มีเพียงโหนดที่ประพฤติตัวดีเท่านั้น ใน ในส่วนนี้ เรายังถือว่าสไลซ์ของโหนดไม่มีการเปลี่ยนแปลง อย่างไรก็ตาม ผลลัพธ์ของเราจะถูกถ่ายโอนไปยังกรณีการเปลี่ยนแปลงสไลซ์ เพราะระบบการเปลี่ยนสไลซ์นั้นปลอดภัยไม่น้อยไปกว่า ระบบชิ้นคงที่ซึ่งชิ้นของโหนดประกอบด้วยทั้งหมด สไลซ์ที่เคยใช้ในกรณีการเปลี่ยนสไลซ์ (ดูทฤษฎีบท 13 ใน [68]) ตามที่อธิบายไว้ในส่วนที่ 4 ความมีชีวิตชีวาขึ้นอยู่กับ โหนดที่มีความประพฤติดีจะลบโหนดที่ไม่น่าเชื่อถือออกไปในที่สุด จากชิ้นของพวกเขา เนื่องจากโหนดที่แตกต่างกันมีข้อกำหนดของข้อตกลงที่แตกต่างกัน FBA จึงขัดขวางคำจำกัดความสากลของความปลอดภัย เราพูด โหนดที่ไม่ผิดพลาด v1 และ v2 จะเชื่อมโยงกันทุกครั้ง โควรัมของ v1 ตัดทุกโควรัมของ v2 อย่างน้อยหนึ่งตัว โหนดที่ไม่ผิดพลาด โปรโตคอล FBA สามารถรับประกันข้อตกลงได้ ระหว่างโหนดที่พันกันเท่านั้น เนื่องจาก SCP ทำเช่นนั้น จึงเป็นความผิดของมัน ความอดทนต่อความปลอดภัยเป็นสิ่งที่ดีที่สุด สมมติฐานทางอินเทอร์เน็ต การออกแบบของ Stellar พื้นฐานระบุว่าโหนดที่ผู้คนสนใจ เกี่ยวกับจะเกี่ยวพันกัน เราบอกว่าชุดของโหนดที่ฉันยังคงอยู่หากฉันเป็นองค์ประชุมที่ไม่มีข้อผิดพลาดสม่ำเสมอ โดยที่สมาชิกทุกๆ สองคนของฉันจะเกี่ยวพันกัน แม้ว่าทุกโหนดภายนอกฉันจะมีข้อผิดพลาดก็ตาม โดยสัญชาตญาณ ข้าพเจ้าก็ควรเป็นผู้ไม่ประมาทในการกระทำที่ไม่เสียหาย โหนด SCP รับประกันความมีชีวิตชีวาที่ไม่ปิดกั้น [93] และ ความปลอดภัยต่อชุดที่ไม่เสียหาย แม้ว่าตัวโหนดเองจะไม่ต้องการก็ตาม ให้รู้(และอาจไม่รู้)ว่าชุดไหนสมบูรณ์ นอกจากนี้ การรวมกันของสองฉากที่สมบูรณ์ซึ่งตัดกันก็คือ ชุดที่สมบูรณ์ ดังนั้นชุดที่ไม่เสียหายจึงกำหนดพาร์ติชันของ โหนดที่ประพฤติตัวดี โดยที่แต่ละพาร์ติชั่นปลอดภัยและใช้งานได้จริง (ภายใต้เงื่อนไขบางประการ)แต่พาร์ติชั่นที่แตกต่างกันอาจเอาท์พุตได้ การตัดสินใจที่แตกต่างกัน 3.1.1 ข้อควรพิจารณาด้านความปลอดภัยเทียบกับความมีชีวิตชีวาใน FBA ด้วยข้อยกเว้นที่จำกัด [64] โปรโตคอลข้อตกลงไบแซนไทน์ที่ปิดส่วนใหญ่จะถูกปรับไปยังจุดสมดุลที่ ความปลอดภัยและความมีชีวิตชีวามีความทนทานต่อความผิดพลาดเหมือนกัน ในเอฟบีเอ นั่นหมายถึงการกำหนดค่าทั้งหมดโดยไม่คำนึงถึงความล้มเหลว ชุดที่เกี่ยวพันกันก็ยังคงอยู่เหมือนเดิม เนื่องจาก FBA เป็นผู้กำหนด โควรัมในลักษณะกระจายอำนาจ ไม่น่าเป็นไปได้ที่การเลือกสไลซ์แต่ละรายการจะนำไปสู่ความสมดุลนี้ นอกจากนี้ ณ อย่างน้อยที่สุดใน Stellar ความสมดุลไม่เป็นที่ต้องการ: ผลที่ตามมา ของความล้มเหลวด้านความปลอดภัย (ได้แก่ การใช้เงินดิจิทัลซ้ำซ้อน) เลวร้ายยิ่งกว่าความล้มเหลวด้านความมีชีวิตชีวา (ได้แก่ ความล่าช้า ในการชำระเงินที่ต้องใช้เวลาหลายวันก่อน Stellar) ผู้คน ดังนั้นควรเลือกองค์ประชุมขนาดใหญ่เช่นนั้น โหนดของพวกเขามีแนวโน้มที่จะยังคงพันกันมากกว่าเดิม การเอียงตาชั่งเพิ่มเติมจะทำให้ฟื้นตัวได้ง่ายขึ้น ความล้มเหลวในความมีชีวิตชีวาโดยทั่วไปในระบบ FBA มากกว่าในระบบปิดแบบดั้งเดิม ในระบบปิด ข้อความทั้งหมดจะต้องเป็น ตีความตามโควรัมชุดเดียวกัน ดังนั้น จำเป็นต้องเพิ่มและลบโหนดเพื่อกู้คืนจากความล้มเหลว การบรรลุฉันทามติเกี่ยวกับเหตุการณ์การกำหนดค่าใหม่ ซึ่งเป็นเรื่องยากเมื่อไม่มีฉันทามติอีกต่อไป ในทางตรงกันข้ามกับ FBA โหนดใด ๆ สามารถปรับส่วนโควรัมของมันเพียงฝ่ายเดียวได้ตลอดเวลา เวลา. เพื่อตอบสนองต่อเหตุขัดข้องอย่างเป็นระบบที่สำคัญ องค์กร ผู้ดูแลระบบโหนดสามารถปรับส่วนของตนได้ แก้ไขปัญหา เช่นเดียวกับการประสานงานการตอบสนอง สู่หายนะ BGP [63] (แม้ว่าจะไม่มีข้อจำกัดของ การกำหนดเส้นทางผ่านลิงก์เครือข่ายทางกายภาพ)

การชำระเงินทั่วโลกที่รวดเร็วและปลอดภัยด้วย Stellar SOSP '19, 27–30 ตุลาคม 2019, Huntsville, ON, แคนาดา 3.1.2 ทฤษฎีบทน้ำตก SCP เป็นไปตามแม่แบบของโมเดลทรงกลมพื้นฐาน [42]; โหนดคืบหน้าผ่านชุดบัตรลงคะแนนที่มีหมายเลขแต่ละชุด พยายามสามงาน: (1) ระบุค่า “ปลอดภัย” ที่ไม่ขัดแย้งกับการตัดสินใจใดๆ ในบัตรลงคะแนนครั้งก่อน (มักเรียกว่า เตรียมบัตรลงคะแนน) (2) ตกลงเรื่องมูลค่าที่ปลอดภัย และ (3) ตรวจพบว่าข้อตกลงประสบผลสำเร็จ อย่างไรก็ตาม FBA เปิดให้บริการแล้ว การเป็นสมาชิกขัดขวางเทคนิคทั่วไปหลายประการ เป็นไปไม่ได้ที่จะ "ย้าย" โปรโตคอลแบบปิดแบบดั้งเดิมไปยัง FBA แบบจำลองโดยเพียงแค่เปลี่ยนคำจำกัดความขององค์ประชุม เทคนิคหนึ่งที่ใช้โดยโปรโตคอลจำนวนมากคือการหมุนเวียน ผ่านโหนดผู้นำในรูปแบบ Round-Robin หลังจากการหมดเวลา ในระบบปิด การเลือกผู้นำแบบพบกันหมดจะช่วยให้มั่นใจได้ ในที่สุดผู้นำที่ซื่อสัตย์และมีเอกลักษณ์เฉพาะตัวจะจบลงด้วยข้อตกลงการประสานงานด้วยค่านิยมเดียว น่าเสียดายที่เป็นแบบโรบิน ไม่สามารถทำงานในระบบ FBA โดยไม่ทราบสมาชิกภาพ เทคนิคทั่วไปอีกประการหนึ่งที่ล้มเหลวกับ FBA คือการสมมติว่าองค์ประชุมเฉพาะสามารถโน้มน้าวโหนดทั้งหมดได้ ตัวอย่างเช่น ถ้าทุกคนจำโหนด 2f + 1 ใด ๆ ที่เป็นองค์ประชุมได้ ลายเซ็น 2f + 1 เพียงพอที่จะพิสูจน์สถานะโปรโตคอลของโหนดทั้งหมด ในทำนองเดียวกัน หากโหนดได้รับองค์ประชุมของข้อความที่เหมือนกัน ผ่านการออกอากาศที่เชื่อถือได้ [24] โหนดสามารถถือว่าโหนดที่ไม่มีข้อผิดพลาดทั้งหมดจะเห็นองค์ประชุมด้วย ในทางตรงกันข้าม ใน FBA ก องค์ประชุมไม่มีความหมายอะไรกับโหนดที่อยู่นอกองค์ประชุม สุดท้ายแล้ว ระบบที่ไม่ใช่แบบรวมศูนย์มักจะใช้ระบบแบบ "ถอยหลัง" การให้เหตุผลเกี่ยวกับความปลอดภัย: หากโหนด f + 1 ผิดพลาด ความปลอดภัยทั้งหมด การค้ำประกันจะหายไป ดังนั้น ถ้าโหนด v ได้ยิน f + 1 โหนดทั้งหมด บอกข้อเท็จจริงบางประการ F, v สามารถสันนิษฐานได้ว่าอย่างน้อยก็มีหนึ่งคนกำลังบอก ความจริง (และด้วยเหตุนี้ F จึงเป็นจริง) โดยไม่สูญเสียความปลอดภัย เช่น การใช้เหตุผลล้มเหลวใน FBA เนื่องจากความปลอดภัยเป็นสมบัติของคู่ ของโหนด ดังนั้นโหนดที่สูญเสียความปลอดภัยให้กับเพื่อนบางคนสามารถทำได้ สูญเสียความปลอดภัยให้กับโหนดมากขึ้นเสมอโดยสมมติข้อเท็จจริงที่ไม่ดี อย่างไรก็ตาม FBA สามารถให้เหตุผลย้อนหลังเกี่ยวกับความมีชีวิตชีวาได้ กำหนดชุด v-blocking เป็นชุดของโหนดที่ตัดกันทุกๆ ชิ้นของ v ถ้าชุด v-blocking B มีข้อบกพร่องอย่างเป็นเอกฉันท์ B สามารถปฏิเสธโหนด v องค์ประชุมและเสียค่าใช้จ่ายได้ ดังนั้น ถ้า B ระบุข้อเท็จจริง F อย่างเป็นเอกฉันท์ แล้ว v ก็รู้ว่า F คือค่าใดค่าหนึ่ง จริงหรือ v ไม่เสียหาย อย่างไรก็ตาม วียังต้องดูให้ครบ องค์ประชุมที่จะรู้ว่าโหนดที่พันกันจะไม่ขัดแย้งกับ F ซึ่งนำไปสู่การสื่อสารรอบสุดท้ายใน SCP และ โปรโตคอล FBA อื่นๆ [47] ที่ไม่จำเป็นในภาษาอะนาล็อก โปรโตคอลการเป็นสมาชิกแบบปิด ผลลัพธ์ที่ได้ก็คือเรานั้น ความเชื่อมั่นสามระดับที่เป็นไปได้ในข้อเท็จจริงที่อาจเกิดขึ้น: ไม่แน่นอน ปลอดภัยที่จะถือว่าอยู่ในโหนดที่สมบูรณ์ (ซึ่งเราจะ ข้อเท็จจริงที่ยอมรับในระยะ) และปลอดภัยที่จะถือว่าเชื่อมโยงกัน โหนด (ซึ่งเราจะเรียกว่าข้อเท็จจริงที่ได้รับการยืนยัน) Node v สามารถระบุได้อย่างมีประสิทธิภาพว่าชุด B กำลัง vblocking หรือไม่โดยตรวจสอบว่า B ตัดกันส่วนทั้งหมดหรือไม่ สิ่งที่น่าสนใจคือหากโหนดประกาศคำสั่งเหล่านั้นเสมอ ยอมรับและครบองค์ประชุมยอมรับคำสั่ง มันกำหนดกระบวนการเรียงซ้อนโดยที่คำสั่งเผยแพร่ตลอด ชุดที่สมบูรณ์ เราเรียกข้อเท็จจริงสำคัญที่เป็นรากฐานของการเผยแพร่นี้ ทฤษฎีบทน้ำตกซึ่งกล่าวถึงสิ่งต่อไปนี้: ถ้าฉันเป็น เซตที่สมบูรณ์ Q คือองค์ประชุมของสมาชิกคนใด ๆ ของ I และ S เป็นจำนวนใด ๆ ซูเปอร์เซ็ตของ Q แล้ว S ⊇I หรือมีสมาชิก v ∈I โดยที่ v < S และ I ∩S กำลังบล็อก v โดยสังหรณ์ใจก็คือสิ่งนี้ ไม่ใช่กรณี ส่วนเสริมของ S จะมีองค์ประชุม ที่ตัดกัน I แต่ไม่ใช่ Q ซึ่งเป็นการละเมิดการแยกโควรัม โปรดทราบว่าถ้าเราเริ่มต้นด้วย S = Q และขยาย S ซ้ำๆ เป็น รวมโหนดทั้งหมดที่บล็อกไว้ เราจะได้เอฟเฟกต์แบบเรียงซ้อนจนกระทั่ง ในที่สุด S ก็ครอบคลุม I ทั้งหมด 3.2 คำอธิบายโปรโตคอล SCP เป็นโปรโตคอลฉันทามติแบบซิงโครนัสบางส่วน [42] ประกอบด้วยชุดของความพยายามเพื่อให้ได้ฉันทามติที่เรียกว่า บัตรลงคะแนน บัตรลงคะแนนใช้การหมดเวลาตามระยะเวลาที่เพิ่มขึ้น ก โปรโตคอลการซิงโครไนซ์บัตรลงคะแนนช่วยให้แน่ใจว่าโหนดยังคงเปิดอยู่ บัตรลงคะแนนใบเดิมเพิ่มระยะเวลาจนถึงบัตรลงคะแนน ซิงโครนัสได้อย่างมีประสิทธิภาพ ไม่รับประกันการสิ้นสุด จนกว่าบัตรลงคะแนนจะซิงโครนัสแต่มีบัตรลงคะแนนซิงโครนัสสองใบ ซึ่งสมาชิกที่ผิดพลาดของชิ้นส่วนของโหนดที่ประพฤติตัวดีทำ ไม่รบกวนก็เพียงพอแล้วสำหรับ SCP ที่จะยุติ ระเบียบวิธีลงคะแนนเสียงระบุการดำเนินการที่เกิดขึ้นในแต่ละกรณี บัตรลงคะแนน การลงคะแนนเสียงเริ่มต้นด้วยขั้นตอนการเตรียมการ ซึ่งในโหนดต่างๆ พยายามกำหนดมูลค่าที่จะเสนอที่ไม่ขัดแย้งกัน การตัดสินใจครั้งก่อนๆ จากนั้นในขั้นตอนการคอมมิต โหนดจะลอง เพื่อประกอบการตัดสินใจเกี่ยวกับมูลค่าที่เตรียมไว้ การลงคะแนนใช้โปรโตคอลย่อยของข้อตกลงที่เรียกว่าการลงคะแนนแบบสหพันธรัฐ เช่นn โหนดใดลงคะแนนในข้อความเชิงนามธรรม ที่อาจได้รับการยืนยันหรือติดขัดในที่สุด ข้อความบางข้อความอาจถูกกำหนดให้ขัดแย้งและปลอดภัย การรับประกันการลงคะแนนเสียงแบบสหพันธรัฐคือไม่มีสมาชิกสองคน ชุดที่เกี่ยวพันกันยืนยันข้อความที่ขัดแย้งกัน ไม่รับประกันการยืนยันคำชี้แจงยกเว้นความครบถ้วนสมบูรณ์ ซึ่งสมาชิกทุกคนลงคะแนนเสียงเหมือนกัน อย่างไรก็ตาม หากก สมาชิกของชุดที่ไม่เสียหายจะยืนยันคำสั่งแบบรวมศูนย์ การลงคะแนนเสียงรับประกันว่าสมาชิกทุกคนในชุดที่สมบูรณ์จะยืนยันข้อความนั้นในที่สุด ดังนั้นการดำเนินขั้นตอนที่ย้อนกลับไม่ได้ เพื่อตอบสนองคำยืนยันที่คงความมีชีวิตชีวาไว้ โหนดที่ไม่บุบสลาย โหนดเริ่มเสนอค่าที่ได้รับจากการเสนอชื่อ โปรโตคอลที่เพิ่มโอกาสของสมาชิกทุกคนที่ไม่บุบสลาย เสนอค่าเดียวกัน และในที่สุดมันก็มาบรรจบกัน (แม้ว่าจะไม่มีทางระบุได้ว่าการบรรจบกันเสร็จสมบูรณ์แล้ว) การเสนอชื่อจะรวมการลงคะแนนแบบสหพันธรัฐเข้ากับการเลือกผู้นำ เนื่องจากการเล่นแบบพบกันหมดเป็นไปไม่ได้ใน FBA การเสนอชื่อจึงใช้ โครงการคัดเลือกผู้นำที่น่าจะเป็นไปได้ ทฤษฎีบทน้ำตกมีบทบาทสำคัญในทั้งในการลงคะแนนเสียง การซิงโครไนซ์และในการหลีกเลี่ยงสถานะที่ถูกบล็อก การยุติไม่สามารถทำได้อีกต่อไป 3.2.1 การลงคะแนนเสียง โหนด SCP ดำเนินการผ่านการลงคะแนนเสียงหลายชุด โดยใช้การลงคะแนนแบบสหพันธรัฐเพื่อเห็นด้วยกับข้อความเกี่ยวกับเรื่องนั้น ค่านิยมจะถูกตัดสินหรือไม่ใช้บัตรลงคะแนนใบใด หากไม่ซิงโครไนซ์ หรือพฤติกรรมที่ผิดพลาดทำให้ไม่สามารถตัดสินใจในบัตรลงคะแนนได้ โหนดหมดเวลาและลองอีกครั้งในการลงคะแนน n + 1

SOSP '19, 27–30 ตุลาคม 2019, Huntsville, ON, แคนาดา โลกาวา และคณะ การเรียกคืนการลงคะแนนแบบสหพันธรัฐอาจไม่สิ้นสุด ดังนั้นบางส่วน ข้อความเกี่ยวกับบัตรลงคะแนนอาจติดอยู่อย่างถาวร สถานะที่ไม่แน่นอนซึ่งโหนดไม่สามารถระบุได้ว่าโหนดเหล่านั้นหรือไม่ ยังอยู่ระหว่างดำเนินการหรือติดขัด เพราะโหนดไม่สามารถแยกแยะได้ ความเป็นไปได้ของข้อความที่ไม่แน่นอนซึ่งพิสูจน์ได้ว่าเป็นความจริงในภายหลัง พวกเขาจะต้องไม่พยายามลงคะแนนเสียงแบบสหพันธรัฐในแถลงการณ์ใหม่ ขัดแย้งกับสิ่งที่ไม่แน่นอน ในการลงคะแนนเสียงแต่ละครั้ง n โหนดใช้การลงคะแนนแบบสหพันธรัฐในสองประเภท ของคำสั่ง: • เตรียม ⟨n,x⟩– ระบุว่าไม่มีค่าอื่นใดนอกจาก x เคยเป็นหรือจะได้รับการพิจารณาในบัตรลงคะแนนใด ๆ ≤n • กระทำการ ⟨n,x⟩– ระบุว่า x ได้รับการตัดสินในการลงคะแนนเสียง n ที่สำคัญ โปรดทราบว่าเตรียม ⟨n,x⟩contradicts commit ⟨n′,x ′⟩เมื่อ n ≥n′ และ x , x ′ โหนดเริ่มการลงคะแนนเสียง n โดยพยายามลงคะแนนแบบรวมศูนย์ใน a คำสั่งเตรียม ⟨n,x⟩ หากมีการจัดเตรียมคำสั่งก่อนหน้า ได้รับการยืนยันเรียบร้อยแล้วผ่านการลงคะแนนแบบสหพันธรัฐ โหนดเลือก x จากการเตรียมบัตรลงคะแนนสูงสุดที่ยืนยันแล้ว มิฉะนั้นโหนดจะตั้งค่า x เป็นเอาต์พุตของ ระเบียบการเสนอชื่อที่อธิบายไว้ในส่วนย่อยถัดไป หากโหนดยืนยันได้สำเร็จให้เตรียม ⟨n,x⟩ ในการลงคะแนนเสียง n จะพยายามลงคะแนนแบบสหพันธรัฐในการกระทำ ⟨n,x⟩ ถ้า ที่สำเร็จ หมายความว่า SCP ตัดสินใจแล้ว ดังนั้นโหนดจึงเอาท์พุต ค่าจากคำสั่งยืนยันการยืนยัน พิจารณาเซต S ที่เกี่ยวพันกัน เนื่องจากมีค่าสูงสุดเพียงค่าเดียว สามารถยืนยันได้โดยสมาชิกของ S ในบัตรลงคะแนนที่กำหนด โดยจะไม่มีการยืนยันค่าที่แตกต่างกันสองค่าโดย สมาชิกของ S ในบัตรลงคะแนนที่กำหนด ยิ่งไปกว่านั้น ถ้ากระทำ ⟨n,x⟩ ได้รับการยืนยันแล้ว เตรียม ⟨n,x⟩ ก็ยืนยันด้วย ตั้งแต่ เตรียม ⟨n,x⟩ ขัดแย้งกับการกระทำใด ๆ ก่อนหน้านี้สำหรับค่าที่แตกต่าง โดยข้อตกลงรับประกันการลงคะแนนเสียงแบบสหพันธรัฐ เราพบว่าไม่สามารถกำหนดมูลค่าที่แตกต่างกันได้ก่อนหน้านี้ การลงคะแนนเสียงโดยสมาชิกของ ส. โดยการปฐมนิเทศหมายเลขบัตรลงคะแนนเรา จึงได้รู้ว่า SCP นั้นปลอดภัย เพื่อความมีชีวิตชีวาให้พิจารณาชุด I ที่สมบูรณ์และยาวพอสมควร การลงคะแนนเสียงแบบซิงโครนัส หากโหนดผิดพลาดปรากฏขึ้นในชิ้น ของโหนดที่ประพฤติตัวดีจะไม่เข้าไปยุ่งเกี่ยวกับ n จากนั้นโดยการลงคะแนนเสียง n + 1 สมาชิกทั้งหมดของฉันได้ยืนยันชุด P เดียวกันของคำสั่งเตรียม ถ้า P = ∅ และบัตรลงคะแนน n ยาวเพียงพอ จะได้ว่า โปรโตคอลการเสนอชื่อจะมีการมาบรรจบกันที่ค่า x บางส่วน มิฉะนั้น ให้ x เป็นค่าจากการจัดเตรียมด้วยบัตรลงคะแนนสูงสุดใน P ไม่ว่าจะด้วยวิธีใด ฉันจะพยายามรวมศูนย์อย่างสม่ำเสมอ ลงคะแนนให้เตรียม ⟨n + 1,x⟩ ในบัตรลงคะแนนครั้งต่อไป ดังนั้นหาก n + 1 เป็นแบบซิงโครนัสเช่นกัน การตัดสินใจสำหรับ x จะตามมาอย่างหลีกเลี่ยงไม่ได้ 3.2.2 การสรรหา การเสนอชื่อต้องอาศัยการลงคะแนนเสียงแบบสหพันธรัฐในแถลงการณ์: • เสนอชื่อ x – สถานะ x เป็นผู้มีสิทธิตัดสินใจที่ถูกต้อง โหนดอาจลงคะแนนให้เสนอชื่อหลายค่า—ต่างกัน ข้อความเสนอชื่อไม่ขัดแย้งกัน อย่างไรก็ตามครั้งหนึ่ง โหนดยืนยันข้อความเสนอชื่อใด ๆ และจะหยุดการลงคะแนน เสนอชื่อค่าใหม่ การลงคะแนนแบบสหพันธรัฐยังคงอนุญาตให้โหนดได้ ยืนยันแถลงการณ์ที่ได้รับการเสนอชื่อใหม่ว่าไม่ได้ลงคะแนนให้ซึ่ง โหวตหรือยอมรับ จากองค์ประชุม ยอมรับ จากองค์ประชุม ถูกต้อง ยอมรับจาก ชุดบล็อค แน่วแน่ โหวตก ยอมรับ ยืนยันแล้ว โหวตแล้ว รูปที่ 1. ขั้นตอนการลงคะแนนเสียงแบบสหพันธรัฐ อนุญาตให้สมาชิกของชุดที่สมบูรณ์สามารถยืนยันซึ่งกันและกันได้ มูลค่าที่ได้รับการเสนอชื่อในขณะที่ยังคงระงับการลงคะแนนเสียงใหม่ ผลลัพธ์ (การพัฒนา) ของการเสนอชื่อคือการผสมผสานเชิงกำหนดของค่าทั้งหมดในข้อความเสนอชื่อที่ได้รับการยืนยัน ถ้า x แสดงถึงชุดของธุรกรรม โหนดสามารถรับการรวมได้ ของชุด ชุดที่ใหญ่ที่สุด หรือชุดที่มี hash สูงสุด ดังนั้น ตราบใดที่โหนดทั้งหมดทำเช่นเดียวกัน เพราะโหนดระงับใหม่ ลงมติหลังจากยืนยันคำเสนอชื่อหนึ่งชุดของ ข้อความที่ยืนยันแล้วสามารถมีค่าได้จำนวนจำกัดเท่านั้น ความจริงที่ว่าข้อความที่ได้รับการยืนยันนั้นแพร่กระจายไปอย่างน่าเชื่อถือ ชุดที่สมบูรณ์หมายถึงโหนดที่สมบูรณ์มาบรรจบกันในที่สุด ค่าที่ได้รับการเสนอชื่อชุดเดียวกันและด้วยเหตุนี้ผลการเสนอชื่อ แม้ว่า ณ จุดที่ไม่ทราบแน่ชัดว่าเกิดความล่าช้าในโปรโตคอลโดยพลการก็ตาม โหนดใช้การเลือกผู้นำแบบรวมศูนย์เพื่อลด จำนวนค่าที่แตกต่างกันในคำสั่งเสนอชื่อ เท่านั้น ผู้นำที่ยังไม่ได้ลงคะแนนให้กับข้อความเสนอชื่ออาจแนะนำ x ใหม่ โหนดอื่นรอฟังจาก ผู้นำและเพียงคัดลอกคะแนนเสียงเสนอชื่อผู้นำ (ถูกต้อง) เพื่อรองรับความล้มเหลว กลุ่มผู้นำจึงเติบโตขึ้นเรื่อยๆ การหมดเวลาเกิดขึ้น แม้ว่าในทางปฏิบัติจะมีเพียงไม่กี่โหนดเท่านั้นที่แนะนำค่าใหม่ของ x 3.2.3 การลงคะแนนเสียงแบบสหพันธรัฐ การลงคะแนนเสียงแบบสหพันธรัฐใช้โปรโตคอลสามเฟสตามที่แสดงใน รูปที่ 1. โหนดพยายามเห็นด้วยกับข้อความเชิงนามธรรมก่อน โหวตแล้วยอมรับและยืนยันแถลงการณ์ในที่สุด โหนด v อาจลงคะแนนให้กับคำสั่ง a ที่ถูกต้องใดๆ ที่ไม่ลงคะแนน ขัดแย้งกับสิ่งอื่นของมันคะแนนเสียงที่โดดเด่นและคำแถลงที่ยอมรับ ทำได้โดยการเผยแพร่ข้อความลงคะแนนเสียงที่ลงนามแล้ว v จากนั้นยอมรับ a ถ้า a สอดคล้องกับข้อความอื่นๆ ที่ยอมรับ และ (กรณีที่ 1)v เป็นสมาชิกขององค์ประชุมที่ แต่ละโหนดจะโหวตให้ a หรือยอมรับ หรือ (กรณีที่ 2) แม้ว่า v ก็ตาม ไม่ได้โหวตให้ a ชุด v-blocking ยอมรับ a ในกรณีที่ 2 v พฤษภาคม เคยลงคะแนนเสียงขัดแย้งกับ ก. ซึ่งขณะนี้ได้ ถูกแทนที่ v ได้รับอนุญาตให้ลืมเกี่ยวกับการโหวตที่ถูกลบล้าง และแสร้งทำเป็นว่ามันไม่เคยแคสต์มันเลย เพราะถ้า v อยู่ในสภาพสมบูรณ์ มันก็รู้ คะแนนเสียงที่เกินกำหนดไม่สามารถครบองค์ประชุมผ่านกรณีที่ 1 v ออกอากาศว่ายอมรับ a แล้วยืนยันเมื่อเข้ามา องค์ประชุมที่มีมติเป็นเอกฉันท์ยอมรับ รูปที่ 2 แสดง ผลของเซต v-blocking และทฤษฎีบทคาสเคดระหว่าง การลงคะแนนเสียงแบบสหพันธรัฐ โหนดที่เกี่ยวพันกันสองโหนดไม่สามารถยืนยันข้อความที่ขัดแย้งกัน เนื่องจากองค์ประชุมที่จำเป็นทั้งสองจะต้องแบ่งปันการชำระเงินทั่วโลกที่รวดเร็วและปลอดภัยด้วย Stellar SOSP '19, 27–30 ตุลาคม 2019, Huntsville, ON, แคนาดา 3 4 2 1 5 7

Stellar بروتوكول الإجماع

يعتمد بروتوكول الإجماع Stellar (SCP) على النصاب القانوني بروتوكول الاتفاقية البيزنطية ذو العضوية المفتوحة. تنشأ النصاب القانوني من قرارات التكوين المحلي المجمعة للعقد الفردية. ومع ذلك، العقد تعترف فقط النصاب الذي ينتمون إليه أنفسهم، وبعد ذلك فقط التعرف على التكوينات المحلية لجميع أعضاء النصاب القانوني الآخرين. إحدى فوائد هذا النهج هو أن SCP بطبيعته يتسامح مع وجهات النظر غير المتجانسة حول ما هي العقد الموجودة. وبالتالي، يمكن للعقد الانضمام والمغادرة من جانب واحد دون الحاجة إلى بروتوكول "عرض التغيير" لتنسيق العضوية. 3.1 الاتفاقية البيزنطية الفيدرالية تتكون مشكلة الاتفاقية البيزنطية التقليدية من أ نظام مغلق من العقد N، وبعضها معيب وربما التصرف بشكل تعسفي. تتلقى العقد قيم الإدخال والتبادل الرسائل لتحديد قيمة الإخراج بين المدخلات. يكون بروتوكول الاتفاقية البيزنطية آمنًا عندما لا تنتج عقدتان جيدتا التصرف قرارات مختلفة وفريدة من نوعها كان القرار مدخلاً صالحًا (بالنسبة لبعض التعريفات الصالحة المتفق عليهاSOSP '19، 27-30 أكتوبر 2019، هانتسفيل، أونتاريو، كندا لوخافا وآخرون. عليه مسبقًا). يكون البروتوكول حيًا عندما يضمن ذلك كل عقدة صادقة تنتج في النهاية قرارًا. عادةً، تفترض البروتوكولات N = 3f + 1 لبعض الأعداد الصحيحة f > 0، ثم ضمان السلامة وشكل من أشكال الحيوية طالما أن معظم العقد f معيبة. في مرحلة ما في هذه البروتوكولات، والعقد تصوت على القيم المقترحة والاقتراح الحصول على 2f + 1 صوت، وهو ما يسمى نصاب الأصوات، يصبح القرار. مع N = 3f + 1 العقد، أي نصابين من يتداخل الحجم 2f + 1 في العقد f + 1 على الأقل؛ حتى لو و من هذه العقد المتداخلة معيبة، ويشترك النصابان على الأقل عقدة واحدة غير معيبة، مما يمنع اتخاذ قرارات متناقضة. ومع ذلك، فإن هذا النهج لا يعمل إلا إذا اتفقت جميع العقد ما يشكل النصاب القانوني، وهو أمر مستحيل في SCP حيث قد لا تعرف العقدتان وجود بعضهما البعض. مع SCP، كل عقدة v تعلن من جانب واحد عن مجموعات من العقد، تسمى شرائح النصاب القانوني، بحيث (أ) v يعتقد أنه إذا كان كل شيء إذن، يتفق أعضاء الشريحة على حالة النظام إنهم على حق، و(ب) v يعتقد أن شريحة واحدة على الأقل من شرائحه سيكون متاحًا لتقديم المعلومات في الوقت المناسب حول حالة النظام. نحن نسمي النظام الناتج، يتكون العقد وشرائحها، اتفاقية بيزنطية موحدة نظام (FBA). وكما سنرى بعد ذلك، يظهر نظام النصاب القانوني من شرائح العقد. بشكل غير رسمي، تعبر شرائح عقدة FBA عن من معه العقدة تتطلب الاتفاق. على سبيل المثال، قد تتطلب العقدة اتفاقًا مع 4 مؤسسات محددة، تدير كل منها 3 عقد؛ ل لاستيعاب وقت التوقف عن العمل، فقد يقوم بتعيين شرائحه لتكون جميع المجموعات تتكون من عقدتين من كل منظمة. إذا كان هذا "يتطلب الاتفاق مع "العلاقة ترتبط بشكل متعدٍ بأي عقدتين، نحصل على اتفاق عالمي. وإلا فإننا قد نحصل على الاختلاف، ولكن فقط بين المنظمات لا يتطلب أي منهما الاتفاق مع الآخر. بالنظر إلى طوبولوجيا اليوم في النظام المالي، فإننا نفترض أن التقارب واسع النطاق سوف يستمر في إنتاج سجل تاريخي واحد يسميه الناس "شبكة Stellar"، بقدر ما نتحدث عن الإنترنت. النصاب القانوني ينشأ من الشرائح على النحو التالي. تحدد كل عقدة شرائح النصاب القانوني في كل رسالة يرسلها. دع S يكون مجموعة العقد التي نشأت منها مجموعة من الرسائل. أ تعتبر العقدة أن مجموعة الرسائل قد وصلت إلى النصاب القانوني العتبة عندما يكون لدى كل عضو في S شريحة مضمنة في S. من خلال البناء، فإن مثل هذه المجموعة S، إذا تم الإجماع عليها، تلبي متطلبات الاتفاق لكل عضو من أعضائها. قد يعلن النظير المعيب عن شرائح تم تصميمها لتغيير ما العقد حسنة التصرف تأخذ في الاعتبار النصاب القانوني. من أجل تحليل البروتوكول، حددنا النصاب القانوني في FBA ليكون غير فارغ مجموعة S من العقد تشمل شريحة نصاب واحدة على الأقل كل عضو غير معيب. وهذا التجريد سليم، كأي مجموعة من الرسائل التي يزعم أنها تمثل النصاب القانوني بالإجماع في الواقع (حتى لو كان يحتوي على رسائل من عقد معيبة)، ويكون دقيقًا عندما يحتوي S على العقد جيدة التصرف فقط. في في هذا القسم، نفترض أيضًا أن شرائح العقد لا تتغير. ومع ذلك، فإن نتائجنا تنتقل إلى حالة الشريحة المتغيرة لأن النظام الذي يتم فيه تغيير الشرائح لا يقل أمانًا عن نظام شريحة ثابتة تتكون فيه شرائح العقدة من جميع الشرائح التي تستخدمها على الإطلاق في حالة الشرائح المتغيرة (انظر النظرية 13 في [68]). كما هو موضح في القسم 4، تعتمد الحيوية على العقد حسنة التصرف تقوم في النهاية بإزالة العقد غير الموثوقة من شرائحهم. نظرًا لأن العقد المختلفة لها متطلبات اتفاقية مختلفة، فإن FBA يمنع تعريفًا عالميًا للسلامة. نحن نقول تتشابك العقد غير المعيبة v1 وv2 عند كل منهما يتقاطع نصاب v1 مع كل نصاب v2 في واحد على الأقل عقدة غير معيبة. يمكن لبروتوكول FBA ضمان الاتفاق فقط بين العقد المتشابكة؛ منذ SCP يفعل ذلك، خطأه التسامح من أجل السلامة هو الأمثل. فرضية الإنترنت ينص تصميم Stellar الأساسي على أن العقد تهتم بالأشخاص حول سوف تكون متشابكة. نقول إن مجموعة العقد I سليمة إذا كنت نصابًا غير معيب بشكل موحد بحيث يتشابك كل عضوين من I حتى لو كانت كل عقدة خارج I معيبة. بشكل حدسي، إذن، يجب أن أبقى منيعًا أمام تصرفات غير سليمة العقد. يضمن SCP كلاً من الحيوية غير المحظورة [93] و السلامة لمجموعات سليمة، على الرغم من أن العقد نفسها لا تحتاج إليها لمعرفة (وقد لا تكون قادرًا على معرفة) المجموعات السليمة. علاوة على ذلك، فإن اتحاد مجموعتين سليمتين متقاطعتين هو مجموعة سليمة. لذلك، تحدد المجموعات السليمة قسمًا من ملف العقد حسنة التصرف، حيث يكون كل قسم آمنًا وحيويًا (في ظل بعض الشروط)، ولكن قد يتم إخراج أقسام مختلفة قرارات متباينة. 3.1.1 اعتبارات السلامة مقابل الحياة في FBA مع استثناءات محدودة [64]، يتم ضبط معظم بروتوكولات الاتفاقية البيزنطية المغلقة على نقطة التوازن التي عندها السلامة والحيوية لهما نفس التسامح مع الخطأ. في فبا، وهذا يعني التكوينات التي، بغض النظر عن الفشل، كل شيء المجموعات المتشابكة سليمة أيضًا. بالنظر إلى أن FBA يحدد النصاب القانوني بطريقة لا مركزية، فمن غير المرجح أن تؤدي اختيارات الشرائح الفردية إلى هذا التوازن. علاوة على ذلك، في على الأقل في Stellar، التوازن غير مرغوب فيه: العواقب من فشل السلامة (أي الأموال الرقمية التي تم إنفاقها بشكل مزدوج). أسوأ بكثير من فشل الحياة (أي التأخير في الدفعات التي استغرقت على أي حال أيامًا قبل Stellar). الناس ولذلك ينبغي القيام بتحديد شرائح النصاب القانوني الكبيرة من هذا القبيل من المرجح أن تظل عقدها متشابكة أكثر من كونها سليمة. علاوة على ذلك، يصبح التعافي منه أسهل إخفاقات الحيوية النموذجية في نظام FBA مقارنةً بالنظام التقليدي المغلق. في الأنظمة المغلقة، يجب أن تكون كافة الرسائل يتم تفسيرها فيما يتعلق بنفس مجموعة النصاب القانوني. وبالتالي، يتطلب إضافة العقد وإزالتها للتعافي من الفشل التوصل إلى إجماع حول حدث إعادة التشكيل، وهو أمر صعب بمجرد انتهاء الإجماع. على النقيض من ذلك، مع FBA، يمكن لأي عقدة ضبط شرائح النصاب القانوني الخاصة بها من جانب واحد في أي وقت الوقت. ردا على انقطاع التيار الكهربائي في أهمية نظامية المؤسسة، يمكن لمسؤولي العقدة ضبط الشرائح الخاصة بهم وفقًا لذلك التغلب على المشكلة، يشبه إلى حد ما تنسيق الاستجابات لكوارث BGP [63] (على الرغم من عدم وجود قيود التوجيه عبر روابط الشبكة الفعلية).

مدفوعات عالمية سريعة وآمنة باستخدام Stellar SOSP '19، 27-30 أكتوبر 2019، هانتسفيل، أونتاريو، كندا 3.1.2 نظرية التتالي يتبع SCP قالب النموذج الدائري الأساسي [42]؛ تتقدم العقد من خلال سلسلة من بطاقات الاقتراع المرقمة، لكل منها محاولة القيام بثلاث مهام: (1) تحديد قيمة "آمنة" لا تتعارض مع أي قرار تم اتخاذه في الاقتراع السابق (يُطلق عليه غالبًا إعداد الاقتراع)، (2) الاتفاق على القيمة الآمنة، و (3) اكتشاف أن الاتفاق كان ناجحًا. ومع ذلك، FBA مفتوح العضوية تحبط العديد من التقنيات الشائعة، مما يجعلها من المستحيل "نقل" البروتوكولات التقليدية المغلقة إلى FBA النموذج ببساطة عن طريق تغيير تعريف النصاب القانوني. إحدى التقنيات المستخدمة في العديد من البروتوكولات هي التدوير من خلال العقد الرائدة بطريقة دائرية بعد انتهاء المهلات. في النظام المغلق، يتم ضمان اختيار القائد بشكل دائري في نهاية المطاف، ينتهي الأمر بالقائد الصادق الفريد إلى تنسيق الاتفاق على قيمة واحدة. لسوء الحظ، جولة روبن لا يمكن العمل في نظام FBA بعضوية غير معروفة. أسلوب شائع آخر يفشل مع FBA هو افتراض أن نصابًا معينًا يمكنه إقناع جميع العقد. على سبيل المثال، إذا تعرف الجميع على أي عقد 2f + 1 كنصاب قانوني، إذن تكفي توقيعات 2f + 1 لإثبات حالة البروتوكول لجميع العقد. وبالمثل، إذا تلقت العقدة نصابًا من الرسائل المتطابقة من خلال البث الموثوق [24]، يمكن للعقدة أن تفترض أن جميع العقد غير الخاطئة سوف تشهد أيضًا النصاب القانوني. في FBA، على النقيض من ذلك، أ النصاب القانوني لا يعني شيئا للعقد خارج النصاب القانوني. وأخيرا، غالبا ما تستخدم الأنظمة غير الفيدرالية "الرجعية" التفكير في السلامة: إذا كانت العقد f + 1 معيبة، فكل الأمان فقدت الضمانات. وبالتالي، إذا سمعت العقدة v جميع العقد f + 1 اذكر بعض الحقائق F، v يمكن أن تفترض أن واحدًا على الأقل هو الذي يخبر الحقيقة (وبالتالي F صحيحة) دون فقدان الأمان. مثل هذا يفشل المنطق في FBA لأن السلامة هي خاصية للأزواج من العقد، لذلك يمكن للعقدة التي فقدت الأمان لبعض أقرانها تفقد الأمان دائمًا لمزيد من العقد من خلال افتراض حقائق سيئة. ومع ذلك، يمكن لـ FBA التفكير بشكل عكسي فيما يتعلق بالحيوية. حدد مجموعة v-blocking كمجموعة من العقد التي تتقاطع مع كل منها شريحة v. إذا كانت مجموعة حجب v B معيبة بالإجماع، فإن B يمكن رفض العقدة ضد النصاب القانوني وتكلفتها الحيوية. وبالتالي، إذا ينص B بالإجماع على الحقيقة F، ثم يعرف v أن أيًا من F هو صحيح أو v ليس سليما. ومع ذلك، لا يزال v بحاجة لرؤية كامل النصاب القانوني لمعرفة أن العقد المتشابكة لن تتعارض مع F، مما يؤدي إلى الجولة النهائية من الاتصالات في SCP و بروتوكولات FBA الأخرى [47] غير المطلوبة في الأنظمة المشابهة بروتوكولات العضوية المغلقة. والنتيجة هي أن لدينا ثلاثة مستويات محتملة من الثقة في الحقائق المحتملة: غير محددة، وآمنة للافتراض بين العقد السليمة (وهو ما سنفعله). مصطلح حقائق مقبولة)، وآمن الافتراض فيما بينها العقد (والتي سنسميها حقائق مؤكدة). يمكن للعقدة v تحديد ما إذا كانت المجموعة B محظورة بكفاءة عن طريق التحقق مما إذا كانت B تتقاطع مع جميع شرائحها. ومن المثير للاهتمام أنه إذا كانت العقد تعلن دائمًا عن البيانات فإنها قبول والنصاب القانوني الكامل لقبول بيان، فإنه يطلق عملية متتالية يتم من خلالها نشر البيانات في جميع أنحاء مجموعات سليمة. نحن نسمي الحقيقة الأساسية الكامنة وراء هذا الانتشار النظرية المتتالية، التي تنص على ما يلي: إذا كنت مجموعة سليمة، Q هو النصاب القانوني لأي عضو في I، وS هو أي مجموعة شاملة من Q، ثم إما S ⊇I أو هناك عضو v ∈I بحيث يكون v < S و I ∩S بمثابة حجب v. حدسيًا، كان هذا ليس الأمر كذلك، فإن تكملة S سوف تحتوي على النصاب القانوني الذي يتقاطع مع I وليس Q، مما ينتهك تقاطع النصاب القانوني. لاحظ أنه إذا بدأنا بـ S = Q وقمنا بتوسيع S بشكل متكرر إلى بتضمين جميع العقد التي يحظرها، نحصل على تأثير متتالي حتى، في النهاية، S يشمل كل I. 3.2 وصف البروتوكول SCP هو بروتوكول إجماع متزامن جزئيًا [42] يتكون من سلسلة من المحاولات للوصول إلى إجماع يسمى بطاقات الاقتراع. تستخدم بطاقات الاقتراع فترات زمنية أطول. أ يضمن بروتوكول مزامنة الاقتراع بقاء العقد قائمة نفس الاقتراع لفترات زمنية متزايدة حتى الاقتراع متزامنة بشكل فعال. الإنهاء غير مضمون حتى تصبح بطاقات الاقتراع متزامنة، ولكن ورقتين متزامنتين وهو ما يفعله الأعضاء المعيبون في شرائح العقد حسنة التصرف عدم التدخل كافية لإنهاء SCP. ويحدد بروتوكول الاقتراع الإجراءات المتخذة خلال كل منها الاقتراع. يبدأ الاقتراع بمرحلة إعداد، حيث يتم تحديد العقد محاولة تحديد قيمة لاقتراح لا يتعارض أي قرار سابق. ثم، في مرحلة الالتزام، تحاول العقد لاتخاذ قرار بشأن القيمة المعدة. يستخدم الاقتراع بروتوكولًا فرعيًا للاتفاق يسمى التصويت الفيدرالي، أيn التي العقد تصوت على البيانات المجردة والتي قد يتم تأكيدها في النهاية أو تتعثر. قد يتم تصنيف بعض العبارات على أنها متناقضة، والسلامة ضمان التصويت الفيدرالي هو عدم وجود عضوين في أي عضو مجموعة متشابكة تؤكد تصريحات متناقضة. ولا يضمن تأكيد القول إلا سليما تعيين الذي يصوت جميع أعضائه بنفس الطريقة. ومع ذلك، إذا كان أ عضو في مجموعة سليمة يؤكد بيانًا متحدًا يضمن التصويت أن جميع أعضاء المجموعة السليمة يؤكدون هذا البيان في النهاية. وبالتالي اتخاذ خطوات لا رجعة فيها ردا على تأكيد التصريحات يحفظ الحيوية ل العقد سليمة. تقترح العقد في البداية القيم التي تم الحصول عليها من الترشيح البروتوكول الذي يزيد من فرص جميع الأعضاء سليمة مجموعة تقترح نفس القيمة، والتي تتقارب في نهاية المطاف (على الرغم من عدم وجود طريقة لتحديد التقارب الكامل). يجمع الترشيح بين التصويت الفيدرالي واختيار القائد. لأن جولة روبن مستحيلة في FBA، يستخدم الترشيح مخطط احتمالي لاختيار القائد. تلعب نظرية التعاقب دورًا حاسمًا في الاقتراع المزامنة وتجنب الحالات المحظورة منها الإنهاء لم يعد ممكنا. 3.2.1 الاقتراع تستمر عقد SCP عبر سلسلة من بطاقات الاقتراع المرقمة، باستخدام التصويت الفيدرالي للاتفاق على البيانات المتعلقة بها يتم أو لا يتم تحديد القيم في أي بطاقة اقتراع. إذا كان غير متزامن أو السلوك الخاطئ يمنع التوصل إلى قرار في الاقتراع ن، انتهت مهلة العقد وحاول مرة أخرى في الاقتراع n + 1.

SOSP '19، 27-30 أكتوبر 2019، هانتسفيل، أونتاريو، كندا لوخافا وآخرون. تذكر أن التصويت الفيدرالي قد لا ينتهي. وبالتالي بعض يمكن أن تتعثر البيانات المتعلقة بأوراق الاقتراع بشكل دائم حالة غير محددة حيث لا يمكن للعقد أبدًا تحديد ما إذا كانت لا تزال في التقدم أو عالقة. لأن العقد لا يمكن استبعادها إمكانية إثبات صحة البيانات غير المحددة لاحقًا، ويجب عليهم ألا يحاولوا أبدًا التصويت الفيدرالي على البيانات الجديدة يتعارض مع غير المحدد. في كل اقتراع n، تستخدم العقد التصويت الفيدرالي على نوعين من البيان: • تحضير ⟨n,x⟩– ينص على عدم وجود قيمة أخرى غير x تم أو سيتم تحديده في أي اقتراع. • الالتزام ⟨n,x⟩– الدول x يتم تحديدها في الاقتراع n. الأهم من ذلك، لاحظ أن تحضير ⟨n,x⟩تناقضات الالتزام ⟨n',x ′⟩عندما n ≥n' و x , x ′. تبدأ العقدة الاقتراع n من خلال محاولة التصويت الفيدرالي على a بيان تحضير ⟨n,x⟩. إذا كان هناك أي بيان إعداد سابق تم تأكيده بنجاح من خلال التصويت الفيدرالي تختار العقدة x من الإعداد المؤكد لأعلى بطاقة اقتراع. وبخلاف ذلك، تقوم العقدة بتعيين x إلى إخراج الملف بروتوكول الترشيح الموضح في القسم الفرعي التالي. إذا وفقط إذا أكدت العقدة بنجاح التحضير ⟨n,x⟩ في الاقتراع n، يحاول التصويت الفيدرالي على الالتزام ⟨n,x⟩. إذا إذا نجح، فهذا يعني أن SCP قد قرر، وبالتالي يتم إخراج العقدة القيمة من بيان الالتزام المؤكد. النظر في مجموعة متشابكة S. منذ قيمة واحدة على الأكثر يمكن تأكيد إعدادها من قبل أعضاء S في اقتراع معين، ولا يجوز تأكيد الالتزام بقيمتين مختلفتين أعضاء S في اقتراع معين. علاوة على ذلك، إذا ارتكبت ⟨n,x⟩ تم تأكيده، ثم تم تأكيد إعداد ⟨n,x⟩ أيضًا؛ منذ ذلك الحين يعد ⟨n,x⟩يناقض أي التزام سابق بقيمة مختلفة، بموجب اتفاقية ضمانات التصويت الفيدرالي لقد حصلنا على أنه لا يمكن تحديد قيمة مختلفة في وقت سابق الاقتراع من قبل أعضاء S. عن طريق التعريف بأرقام الاقتراع، نحن لذا تأكد من أن SCP آمن. من أجل الحيوية، فكر في مجموعة سليمة وطويلة بما فيه الكفاية اقتراع متزامن إذا ظهرت العقد الخاطئة في الشرائح من العقد حسنة التصرف لا تتدخل في ن، ثم عن طريق الاقتراع n + 1 جميع أعضاء لقد أكدوا نفس المجموعة P من بيانات الإعداد. إذا كانت P = ∅وبطاقة الاقتراع n طويلة بما فيه الكفاية، فإن سيكون بروتوكول الترشيح قد تقارب على بعض القيمة x. بخلاف ذلك، اجعل x هي القيمة من الإعداد بأعلى ورقة اقتراع في P. وفي كلتا الحالتين، سأحاول بشكل موحد التصويت على إعداد ⟨n + 1,x⟩ في الاقتراع التالي. لذلك، إذا n + 1 متزامن أيضًا، ويتبع ذلك حتماً قرار x. 3.2.2 الترشيح يستلزم الترشيح التصويت الموحد على البيانات: • ترشيح x - الدول x هي مرشح صالح للقرار. قد تصوت العقد لترشيح قيم متعددة — مختلفة تصريحات الترشيح ليست متناقضة. ومع ذلك، مرة واحدة تؤكد العقدة أي بيان ترشيح، وتتوقف عن التصويت عليه ترشيح قيم جديدة. لا يزال التصويت الفيدرالي يسمح للعقدة بذلك تأكيد بيانات الترشيح الجديدة التي لم تصوت لها التصويت أو القبول أ من النصاب القانوني قبول أ من النصاب القانوني أ صالح قبول من مجموعة الحظر غير ملتزم صوت أ قبلت أ أكد أ تم التصويت بـ أ الشكل 1. مراحل التصويت الفيدرالي يسمح لأعضاء مجموعة سليمة بتأكيد مجموعة بعضهم البعض القيم المرشحة مع الاستمرار في حجب الأصوات الجديدة. النتيجة (المتطورة) للترشيح هي مزيج حتمي من جميع القيم في بيانات الترشيح المؤكدة. إذا يمثل x مجموعة من المعاملات، ويمكن للعقد أن تأخذ الاتحاد من المجموعات، المجموعة الأكبر، أو المجموعة ذات أعلى hash، لذا طالما أن جميع العقد تفعل الشيء نفسه. لأن العقد حجب جديدة الأصوات بعد تأكيد بيان ترشيح واحد، مجموعة يمكن أن تحتوي البيانات المؤكدة على عدد محدود من القيم فقط. حقيقة أن التصريحات المؤكدة انتشرت بشكل موثوق من خلال المجموعات السليمة تعني أن العقد السليمة تتقارب في النهاية على نفس مجموعة القيم المرشحة وبالتالي نتيجة الترشيح، وإن كان عند نقطة غير معروفة بشكل تعسفي في وقت متأخر من البروتوكول. تستخدم العقد اختيار القائد المتحد لتقليل عدد القيم المختلفة في بيانات الترشيح. فقط يجوز للقائد الذي لم يصوت بالفعل لصالح بيان الترشيح أن يقدم علامة x جديدة. العقد الأخرى تنتظر أن تسمع منها القادة ويقومون فقط بنسخ أصوات ترشيح قادتهم (الصالحة). لاستيعاب الفشل، تستمر مجموعة القادة في النمو تحدث المهلات، على الرغم من أن عددًا قليلاً فقط من العقد تقدم قيمًا جديدة لـ x. 3.2.3 التصويت الفيدرالي يستخدم التصويت الفيدرالي بروتوكولًا ثلاثي المراحل كما هو موضح في الشكل 1. تحاول العقد الاتفاق على البيانات المجردة أولاً التصويت، ثم القبول، وأخيراً تأكيد البيانات. قد تصوت العقدة v لأي بيان صالح لا ينطبق عليه ذلك يناقض غيرهالأصوات المتميزة والبيانات المقبولة. ويتم ذلك عن طريق بث رسالة تصويت موقعة. v ثم يقبل a إذا كان a متوافقًا مع البيانات المقبولة الأخرى وإما (الحالة 1)v هو عضو في النصاب القانوني الذي كل عقدة إما تصوت لـ أو تقبل أو (الحالة 2) حتى لو كانت v لم أصوت لصالح مجموعة v-blocking تقبل a. في الحالة 2، قد سبق أن أدلوا بأصوات تتعارض مع ما حدث الآن تم نقضها. v يُسمح له بنسيان الأصوات الملغاة ويتظاهر بأنه لم يلقيهم أبدًا لأنه إذا كان سليمًا، فهو يعلم لا يمكن للأصوات الملغاة إكمال النصاب القانوني من خلال الحالة 1. v يبث أنه يقبل a، ثم يؤكد a عندما يكون موجودًا نصاب يقبل بالإجماع أ. ويبين الشكل 2 تأثير مجموعات الحجب v ونظرية التتالي خلال التصويت الفيدرالي. لا يمكن لعقدتين متشابكتين تأكيد البيانات المتناقضة، حيث يجب أن يتشارك النصابان المطلوبان في أمدفوعات عالمية سريعة وآمنة باستخدام Stellar SOSP '19، 27-30 أكتوبر 2019، هانتسفيل، أونتاريو، كندا 3 4 2 1 5 7

โหวต X

โหวต Y (ก) 3 4 2 1 5 7 6 โหวต เอ็กซ์ โหวต เอ็กซ์ โหวต เอ็กซ์ โหวต ย โหวต เอ็กซ์ โหวต ย โหวต ย (ข) 3 4 2 1 5 7 6 ยอมรับ เอ็กซ์ โหวต เอ็กซ์ ยอมรับ เอ็กซ์ โหวต ย ยอมรับ เอ็กซ์ โหวต ย โหวต ย (ค) 3 4 2 1 5 7 6 ยอมรับ เอ็กซ์ ยอมรับ เอ็กซ์ ยอมรับ เอ็กซ์ โหวต ย ยอมรับ เอ็กซ์ ยอมรับ เอ็กซ์ โหวต ย (ง) 3 4 2 1 5 7 6 ยอมรับ เอ็กซ์ โหวต เอ็กซ์ ยอมรับ เอ็กซ์ ยอมรับ เอ็กซ์ ยอมรับ เอ็กซ์ ยอมรับ เอ็กซ์ ยอมรับ เอ็กซ์ (จ) รูปที่ 2 ผลกระทบแบบเรียงซ้อนในการลงคะแนนเสียงแบบสหพันธรัฐ แต่ละโหนดมีหนึ่งส่วนโควรัมที่ระบุโดยลูกศรไปยังสมาชิกของส่วนนั้น (a) มีการนำข้อความ X และ Y ที่ขัดแย้งกันมาใช้ (b) โหนดลงคะแนนสำหรับข้อความที่ถูกต้อง (c) โหนด 1 ยอมรับ X หลังจากองค์ประชุม {1, 2, 3, 4} โหวตเป็นเอกฉันท์สำหรับ X. (d) โหนด 1, 2, 3 และ 4 ทั้งหมดยอมรับ X; ชุด {1} เป็นการปิดกั้น 5 รายการ ดังนั้นโหนด 5 จึงยอมรับ X ซึ่งอยู่เหนือการควบคุม การโหวตครั้งก่อนสำหรับ Y (e) ชุด {5} คือการบล็อก 6- และ 7 ดังนั้น 6 และ 7 จึงยอมรับ X ทั้งคู่ โหนดที่ไม่ผิดพลาดซึ่งไม่สามารถยอมรับข้อความที่ขัดแย้งกัน ไม่รับประกันการยืนยันคำสั่ง: ใน ในกรณีที่มีการลงคะแนนเสียงแตกแยก ทั้งสองข้อความอาจเป็นรายการถาวรได้ ติดอยู่ในการรอองค์ประชุมในช่วงลงคะแนนเสียง อย่างไรก็ตามหาก โหนดในชุดที่ไม่เสียหายฉันยืนยันคำสั่งแบบเรียงซ้อน ทฤษฎีบทและยอมรับกรณีที่ 2 ทำให้มั่นใจว่าในที่สุดฉันก็จะทำได้ ยืนยันข้อความนั้น 3.2.4 การซิงโครไนซ์บัตรลงคะแนน หากโหนดไม่สามารถยืนยันคำสั่งยืนยันสำหรับ บัตรลงคะแนนปัจจุบัน พวกเขาจะยอมแพ้หลังจากหมดเวลา การหมดเวลาได้รับ นานขึ้นกับการลงคะแนนแต่ละครั้งเพื่อปรับขอบเขตตามอำเภอใจ เกี่ยวกับความล่าช้าของเครือข่าย อย่างไรก็ตาม การหมดเวลาเพียงอย่างเดียวไม่เพียงพอที่จะซิงโครไนซ์บัตรลงคะแนนของโหนดที่ไม่ได้เริ่มต้นในเวลาเดียวกันหรือ ถูกยกเลิกการซิงโครไนซ์ด้วยเหตุผลอื่น เพื่อให้เกิดการซิงโครไนซ์ โหนดจะเริ่มตัวจับเวลาเมื่อเป็นส่วนหนึ่งของ a เท่านั้น องค์ประชุมทั้งหมดที่อยู่ในบัตรลงคะแนนปัจจุบัน (หรือหลังจากนั้น) นี้ ทำให้โหนดที่เริ่มต้นช้าลงและทำให้แน่ใจว่าไม่ สมาชิกของชุดที่สมบูรณ์จะอยู่ไกลกว่ากลุ่มมากเกินไป ยิ่งไปกว่านั้น หากโหนด v สังเกตเห็นการตั้งค่า v-blocking ในภายหลัง บัตรลงคะแนนก็จะข้ามไปที่บัตรลงคะแนนต่ำสุดทันทีเช่นนี้ จะไม่เป็นเช่นนั้นอีกต่อไป โดยไม่คำนึงถึงตัวจับเวลาใดๆ น้ำตก ทฤษฎีบทจะทำให้มั่นใจได้ว่าผู้พลัดหลงทุกคนตามทัน ผลลัพธ์ที่ได้ คือบัตรลงคะแนนมีการซิงโครไนซ์กันคร่าวๆ โดยสมบูรณ์ ตั้งค่าเมื่อระบบกลายเป็นซิงโครนัส 3.2.5 การคัดเลือกผู้นำแบบสหพันธรัฐ การเลือกผู้นำทำให้แต่ละโหนดสามารถเลือกผู้นำในลักษณะดังกล่าวได้ วิธีที่โดยทั่วไปแล้วโหนดจะเลือกเพียงตัวเลขเดียวหรือจำนวนน้อย ของผู้นำ เพื่อรองรับความล้มเหลวของผู้นำ การคัดเลือกผู้นำ ดำเนินการผ่านรอบ หากผู้นำในรอบปัจจุบัน ปรากฏว่าไม่ปฏิบัติตามหน้าที่ของตนแล้วหลังจากนั้น โหนดช่วงหมดเวลาบางรายการจะเข้าสู่รอบถัดไป ขยายกลุ่มผู้นำที่พวกเขาติดตาม แต่ละรอบใช้ฟังก์ชัน hash การเข้ารหัสลับที่ไม่ซ้ำกันสองฟังก์ชัน นั่นคือ H0 และ H1 ซึ่งเอาต์พุตจำนวนเต็มจะอยู่ในช่วง [0,hmax) ตัวอย่างเช่น Stellar ใช้ Hi(m) = SHA256(i∥b∥r ∥m) โดยที่ b คืออินสแตนซ์ SCP โดยรวม (หมายเลขบล็อกหรือบัญชีแยกประเภท) r คือ หมายเลขรอบคัดเลือกผู้นำ และ hmax = 2256 ภายใน ในแต่ละรอบ เรากำหนดลำดับความสำคัญของโหนด v เป็น: ลำดับความสำคัญ(v) = H1(v) ฟางหนึ่งคนจะเลือกแต่ละโหนดให้เป็นผู้นำ โหนดที่มีลำดับความสำคัญสูงสุด (v) แนวทางนี้ใช้ได้ผล มีโควรัมสไลซ์ที่เกือบจะเหมือนกัน แต่ก็ไม่ถูกต้อง จับความสำคัญของโหนดในการกำหนดค่าที่ไม่สมดุล เช่น ถ้ายุโรปและจีนช่วยกันคนละ 3 โหนดทุกโควรัม แต่จีนใช้งาน 1,000 โหนดและยุโรป 4 จากนั้นจีนจะมีโหนดที่มีลำดับความสำคัญสูงสุด 99.6% ของเวลา เราจึงแนะนำแนวคิดเรื่องน้ำหนักชิ้นโดยที่ น้ำหนัก (u,v) ∈[0, 1] คือเศษส่วนของส่วนโควรัมของโหนด u ที่มีโหนด v เมื่อโหนดคุณเลือกผู้นำคนใหม่ พิจารณาเฉพาะเพื่อนบ้าน กำหนดไว้ดังนี้ เพื่อนบ้าน(u) = { v | H0(v) < hmax · น้ำหนัก(u,v) } จากนั้น nodeu จะเริ่มต้นด้วยกลุ่มผู้นำที่ว่างเปล่า และที่แต่ละกลุ่ม round เพิ่มโหนด v ในเพื่อนบ้าน (u) ที่มีค่าสูงสุด ลำดับความสำคัญ(v) หากชุดเพื่อนบ้านว่างเปล่าในรอบใดๆ คุณจะเพิ่มโหนดที่มีค่าต่ำสุดเป็นH0(v)/weight(u,v) แทน

التصويت ×

التصويت ي (أ) 3 4 2 1 5 7 6 التصويت X التصويت X التصويت X التصويت ي التصويت X التصويت ي التصويت ي (ب) 3 4 2 1 5 7 6 قبول X التصويت X قبول X التصويت ي قبول X التصويت ي التصويت ي (ج) 3 4 2 1 5 7 6 قبول X قبول X قبول X التصويت ي قبول X قبول X التصويت ي (د) 3 4 2 1 5 7 6 قبول X التصويت X قبول X قبول X قبول X قبول X قبول X (هـ) الشكل 2. تأثير تتالي في التصويت الاتحادي. تحتوي كل عقدة على شريحة نصاب واحدة يُشار إليها بأسهم لأعضاء الشريحة. (أ) تم تقديم بيانات متناقضة X وY. (ب) تصوت العقد على البيانات الصحيحة. (ج) العقدة 1 تقبل X بعد نصابها القانوني {1، 2، 3، 4} يصوتون بالإجماع لصالح X. (د) تقبل جميع العقد 1 و2 و3 و4 X؛ المجموعة {1} عبارة عن 5 حظر، لذا تقبل العقدة 5 X، مما يؤدي إلى إلغاء ذلك تصويتها السابق لصالح Y. (هـ) المجموعة {5} عبارة عن حجب 6 و7، لذا يقبل كل من 6 و7 X. عقدة غير معيبة لا يمكنها قبول البيانات المتناقضة. تأكيد البيان غير مضمون: في وفي حالة انقسام التصويت، يجوز أن يكون كلا البيانين بشكل دائم عالقون في انتظار اكتمال النصاب القانوني في مرحلة التصويت. ومع ذلك، إذا عقدة في مجموعة سليمة تؤكد بيانًا، التتالي النظرية وقبول الحالة 2 تأكد من أنني سأفعل ذلك جميعًا في النهاية تأكيد هذا البيان. 3.2.4 مزامنة الاقتراع إذا كانت العقد غير قادرة على تأكيد بيان الالتزام لـ الاقتراع الحالي، فإنهم يستسلمون بعد مهلة. يحصل المهلة لفترة أطول مع كل اقتراع حتى يتسنى التكيف مع الحدود التعسفية على تأخير الشبكة. ومع ذلك، فإن المهلات وحدها ليست كافية لمزامنة بطاقات الاقتراع الخاصة بالعقد التي لم تبدأ في نفس الوقت أو حصلت على غير متزامنة لأسباب أخرى. لتحقيق التزامن، تبدأ العقد في تشغيل المؤقت فقط عندما تصبح جزءًا من ملف النصاب القانوني الذي يكون موجودًا في الاقتراع الحالي (أو اللاحق) n. هذا يبطئ العقد التي بدأت مبكرًا ويضمن عدم حدوث ذلك يبقى العضو في مجموعة سليمة متقدمًا جدًا على المجموعة. علاوة على ذلك، إذا لاحظت العقدة v تعيين حجب v في وقت لاحق الاقتراع، فإنه يتخطى على الفور إلى أدنى بطاقة اقتراع مثل هذا لم يعد هذا هو الحال، بغض النظر عن أي توقيت. الشلال ثم تضمن النظرية أن جميع المتطرفين يلحقون بالركب. النتيجة هو أن بطاقات الاقتراع تتم مزامنتها تقريبًا في جميع أنحاء سليمة يتم ضبطه بمجرد أن يصبح النظام متزامنًا. 3.2.5 اختيار الزعيم الاتحادي يسمح اختيار القائد لكل عقدة باختيار القادة في مثل هذا الطريقة التي تختار بها العقد عمومًا واحدًا أو عددًا صغيرًا فقط من القادة. لاستيعاب فشل القائد، يتم اختيار القائد العائدات من خلال جولات. إذا كان قادة الجولة الحالية يبدو أنهم لا يقومون بمسؤولياتهم، ثم بعد أ تنتقل عقد معينة في فترة المهلة إلى الجولة التالية توسيع مجموعة القادة الذين يتبعونهم. تستخدم كل جولة وظيفتين تشفيريتين فريدتين hash، H0 وH1، اللتين تنتجان أعدادًا صحيحة في النطاق [0,hmax). على سبيل المثال، Stellar يستخدم Hi(m) = SHA256(i∥b∥r ∥m)، حيث b هو مثيل SCP الإجمالي (رقم الكتلة أو دفتر الأستاذ)، وr هو الرقم الدائري لاختيار القائد، وhmax = 2256. ضمن جولة، نحدد أولوية العقدة v على النحو التالي: الأولوية (ت) = H1(ت) سيكون رجل القش واحدًا لكل عقدة لتختاره كقائد العقدة ذات الأولوية العليا (v). هذا النهج يعمل بشكل جيد مع شرائح النصاب القانوني المتطابقة تقريبًا، ولكن ليس بشكل صحيح التقاط أهمية العقد في التكوينات غير المتوازنة. على سبيل المثال، إذا ساهمت كل من أوروبا والصين بـ 3 عقد لكل نصاب، لكن الصين تدير 1000 عقدة وأوروبا 4، عندها ستحصل الصين على العقدة ذات الأولوية القصوى بنسبة 99.6% من الوقت. لذلك نقدم فكرة وزن الشريحة، حيث الوزن (u,v) ∈[0, 1] هو جزء من شرائح النصاب القانوني للعقدة u تحتوي على العقدة v. عندما تقوم العقدة u باختيار قائد جديد، فإنه يأخذ في الاعتبار الجيران فقط، ويتم تعريفهم على النحو التالي: الجيران (ش) = { ت | H0(v) < hmax · الوزن(u,v) } تبدأ العقدة بعد ذلك بمجموعة فارغة من القادة، وعند كل منهم تضيف إليها العقدة v في الجيران (u) ذات الأعلى الأولوية (ت). إذا كانت مجموعة الجيران فارغة في أي جولة، فبدلاً من ذلك تضيف العقدة ذات القيمة الأقل H0(v)/weight(u,v).

การตรวจสอบ SCP อย่างเป็นทางการ

เพื่อกำจัดข้อผิดพลาดในการออกแบบ เราได้ตรวจสอบความปลอดภัยของ SCP อย่างเป็นทางการ และคุณสมบัติความมีชีวิตชีวา (ดู [65]) โดยเฉพาะเราตรวจสอบแล้ว โหนดที่พันกันไม่เคยไม่เห็นด้วย และภายใต้เงื่อนไขที่กล่าวถึงด้านล่าง สมาชิกทุกคนในชุดที่สมบูรณ์จะตัดสินใจในที่สุด สิ่งที่น่าสนใจคือการตรวจสอบพบว่า เงื่อนไขที่ SCP รับประกันความมีชีวิตชีวานั้นละเอียดอ่อน และแข็งแกร่งกว่าที่คิดไว้ในตอนแรก [68]: ตามที่กล่าวไว้ด้านล่าง โหนดที่เป็นอันตรายซึ่งจัดการเวลาโดยไม่มีอย่างอื่น การเบี่ยงเบนไปจากโปรโตคอลอาจต้องถูกไล่ออกด้วยตนเอง จากชิ้นโควรัม

SOSP '19, 27–30 ตุลาคม 2019, Huntsville, ON, แคนาดา โลกาวา และคณะ เพื่อให้แน่ใจว่าคุณสมบัติได้รับการพิสูจน์แล้วว่าสามารถถือครองได้ทั้งหมด การกำหนดค่าและการดำเนินการของ FBA เราพิจารณาโดยพลการ จำนวนโหนดที่มีการกำหนดค่าท้องถิ่นโดยพลการ นี้ รวมถึงสถานการณ์ที่มีชุดที่ไม่เสียหายที่ไม่ต่อเนื่องกัน รวมถึงการดำเนินการที่อาจยาวนานอย่างไม่มีที่สิ้นสุด ข้อเสียเปรียบก็คือเรา เผชิญกับปัญหาที่ท้าทายในการตรวจสอบพารามิเตอร์ ระบบสถานะอนันต์ เพื่อให้การตรวจสอบเป็นไปได้ เราได้จำลอง SCP ในตรรกะลำดับแรก (FOL) โดยใช้ Ivy [69] และวิธีการของ [82] กระบวนการตรวจสอบประกอบด้วยการให้การคาดเดาแบบอุปนัยด้วยตนเอง จากนั้นจะมีการตรวจสอบโดยอัตโนมัติ ไอวี่. โมเดล FOL ของ SCP เป็นนามธรรมเหนือบางแง่มุมของ ระบบ FBA ที่ยากต่อการจัดการใน FOL (เช่น ทฤษฎีบทน้ำตกถือเป็นสัจพจน์) ดังนั้นเราจึงตรวจสอบ ความสมบูรณ์ของนามธรรมโดยใช้ Isabelle/HOL [75] หลังจากแสดงปัญหาการตรวจสอบใน FOL แล้ว เราจะตรวจสอบความปลอดภัยโดยจัดให้มีค่าคงที่อุปนัย อุปนัย ค่าคงที่ประกอบด้วยการคาดเดาบรรทัดเดียวหลายสิบรายการสำหรับประมาณ ข้อกำหนดโปรโตคอล 150 บรรทัด จากนั้นเราจะระบุคุณสมบัติความมีชีวิตชีวาของ SCP ใน Linear Temporal Logic ของ Ivy และใช้ ความมีชีวิตชีวาต่อการลดความปลอดภัย [80, 81] เพื่อลดความมีชีวิตชีวา ปัญหาการตรวจสอบปัญหาการหาอุปนัย ไม่เปลี่ยนแปลง ในขณะที่ความปลอดภัยของ SCP นั้นค่อนข้างตรงไปตรงมา พิสูจน์ว่าข้อโต้แย้งความมีชีวิตชีวาของ SCP นั้นซับซ้อนกว่ามากและ ประกอบด้วยค่าคงที่บรรทัดเดียวประมาณ 150 รายการ การพิสูจน์ความมีชีวิตชีวาจำเป็นต้องมีการทำให้เป็นทางการอย่างแม่นยำ สมมติฐานที่ SCP รับรองการยุติ ตอนแรกเราคิดว่าฉากที่สมบูรณ์ฉันจะยุติลงหากทั้งหมด สมาชิกลบโหนดที่ผิดพลาดออกจากส่วนของพวกเขา [68] อย่างไรก็ตาม สิ่งนี้กลับกลายเป็นว่าไม่เพียงพอ: มีความประพฤติดี (แต่ ไม่เสียหาย) โหนดในองค์ประชุมของสมาชิกของ I can ภายใต้ อิทธิพลของโหนดที่ผิดพลาด ป้องกันการยุติโดยดำเนินการให้เสร็จสิ้น องค์ประชุมก่อนการลงคะแนนเสียงสิ้นสุดลงจึงทำให้ สมาชิกของกลุ่ม I จะต้องเลือกค่า x ที่แตกต่างกันในการลงคะแนนครั้งถัดไป ดังนั้นเราจึงต้องสันนิษฐานเพิ่มเติมว่าอย่างไม่เป็นทางการ แต่ละโหนดในองค์ประชุมของสมาชิกคนหนึ่งของฉันในที่สุดเช่นกัน ทันเวลาหรือไม่ส่งข้อความเลยในระยะเวลาที่เพียงพอ ในทางปฏิบัติ นี่หมายถึงสมาชิกของฉันอาจ ต้องปรับชิ้นจนกว่าสภาพจะคงอยู่ นี้ ปัญหาไม่มีอยู่ในระบบ FBA: Losa และคณะ [47] ปัจจุบัน โปรโตคอลที่ความมีชีวิตชีวาขึ้นอยู่กับจุดอ่อนที่อ่อนแอกว่าอย่างเคร่งครัด สมมติฐานของการซิงโครไนซ์ในท้ายที่สุดและการเลือกผู้นำในที่สุด โดยไม่จำเป็นต้องลบโหนดที่ผิดพลาดออกจากชิ้นส่วน

التحقق الرسمي من SCP

للتخلص من أخطاء التصميم، قمنا بالتحقق رسميًا من سلامة SCP وخصائص الحيوية (انظر [65]). على وجه التحديد، لقد تحققنا وأن العقد المتشابكة لا تختلف أبدًا، وأنه في ظل الظروف الموضحة أدناه، يقرر كل عضو في المجموعة السليمة في النهاية. ومن المثير للاهتمام أن التحقق كشف أن الظروف التي بموجبها تضمن SCP الحيوية تكون دقيقة، وأقوى مما كان يعتقد في البداية [68]: كما هو موضح أدناه، العقد الخبيثة التي تتلاعب بالتوقيت دون غير ذلك قد يحتاج الانحراف عن البروتوكول إلى الإخلاء يدويًا من شرائح النصاب.

SOSP '19، 27-30 أكتوبر 2019، هانتسفيل، أونتاريو، كندا لوخافا وآخرون. للتأكد من أن الخصائص ثبت ثباتها بكل ما هو ممكن تكوينات FBA وعمليات التنفيذ، نعتبرها تعسفية عدد العقد ذات التكوينات المحلية التعسفية. هذا يتضمن سيناريوهات ذات مجموعات سليمة مفككة، بالإضافة إلى عمليات تنفيذ طويلة بلا حدود. العيب هو أننا مواجهة المشكلة الصعبة المتمثلة في التحقق من المعلمات نظام الدولة اللانهائية. لإبقاء التحقق سهلاً، قمنا بتصميم SCP في منطق الدرجة الأولى (FOL) باستخدام Ivy [69] ومنهجية [82]. تتكون عملية التحقق من تقديم تخمينات استقرائية يدويًا، والتي يتم بعد ذلك التحقق منها تلقائيًا اللبلاب. يلخص نموذج FOL لملخصات SCP بعض جوانب أنظمة FBA التي يصعب التعامل معها في FOL (على سبيل المثال، يتم أخذ نظرية التتالي كبديهية)، لذلك نحن نتحقق من سلامة التجريد باستخدام Isabelle/HOL [75]. بعد التعبير عن مشكلة التحقق في FOL، نتحقق من السلامة من خلال توفير ثابت استقرائي. الاستقرائي يتكون الثابت من عشرات التخمينات ذات السطر الواحد لحوالي 150 سطرًا من مواصفات البروتوكول. نقوم بعد ذلك بتحديد خصائص حيوية SCP في المنطق الزمني الخطي لـ Ivy ونستخدم من الحيوية إلى تقليل السلامة [80، 81] لتقليل الحيوية مشكلة التحقق لمشكلة العثور على الاستقرائي ثابت. في حين أن سلامة SCP واضحة نسبيًا أثبت أن حجة حيوية SCP أكثر تعقيدًا و يتكون من حوالي 150 ثابتًا في سطر واحد. يتطلب إثبات الحيوية إضفاء الطابع الرسمي الدقيق على الافتراضات التي بموجبها تضمن SCP الإنهاء. لقد اعتقدنا في البداية أن المجموعة السليمة سوف أقوم بإنهائها دائمًا قام الأعضاء بإزالة العقد المعيبة من شرائحهم [68]. ومع ذلك، فقد تبين أن هذا غير كاف: حسن التصرف (لكن غير سليمة) عقدة في النصاب القانوني لعضو أستطيع، تحت تأثير العقد الخاطئة، ومنع الإنهاء عن طريق استكمال النصاب القانوني قبل نهاية الاقتراع مباشرة، مما يتسبب في ذلك أعضاء I لاختيار قيم مختلفة لـ x في الاقتراع التالي. ولذلك يجب علينا بالإضافة إلى ذلك أن نفترض أنه، بشكل غير رسمي، كل عقدة في النصاب القانوني لعضو من أنا في نهاية المطاف سواء يصبح في الوقت المناسب أو لا يرسل الرسائل على الإطلاق لفترة كافية. في الممارسة العملية، هذا يعني أعضاء يجوز لي بحاجة إلى ضبط شرائحهم حتى يستمر الشرط. هذا المشكلة ليست متأصلة في أنظمة FBA: Losa et al. [47] موجود بروتوكول تعتمد حيويته على الأضعف تمامًا افتراضات التزامن النهائي وانتخاب القائد في نهاية المطاف، دون الحاجة إلى إزالة العقد المعيبة من الشرائح.

เครือข่ายการชำระเงิน

ส่วนนี้จะอธิบายเครือข่ายการชำระเงินของ Stellar ซึ่งนำไปใช้เป็นเครื่องจำลองสถานะ [88] ที่ด้านบนของ SCP 5.1 แบบจำลองบัญชีแยกประเภท บัญชีแยกประเภทของ Stellar ได้รับการออกแบบโดยคำนึงถึงนามธรรมของบัญชี (ใน ตรงกันข้ามกับเอาท์พุตธุรกรรมที่ไม่ได้ใช้เหรียญเป็นศูนย์กลางมากกว่า หรือ UTXO โมเดลของ Bitcoin) เนื้อหาบัญชีแยกประเภทประกอบด้วย ชุดรายการบัญชีแยกประเภทสี่ประเภทที่แตกต่างกัน: บัญชี, สายที่เชื่อถือได้, ข้อเสนอและข้อมูลบัญชี บัญชีเป็นตัวการที่เป็นเจ้าของและออกสินทรัพย์ แต่ละ บัญชีถูกตั้งชื่อโดยกุญแจสาธารณะ ตามค่าเริ่มต้น คีย์ส่วนตัวที่เกี่ยวข้องสามารถลงนามธุรกรรมสำหรับบัญชีได้ อย่างไรก็ตาม คุณสามารถกำหนดค่าบัญชีใหม่เพื่อเพิ่มผู้ลงนามรายอื่นและยกเลิกการอนุญาตคีย์ที่ตั้งชื่อบัญชีได้โดยใช้ ตัวเลือก “multisig” เพื่อกำหนดให้ต้องมีผู้ลงนามหลายคน แต่ละบัญชี ประกอบด้วย: หมายเลขลำดับ (รวมอยู่ในธุรกรรม เพื่อป้องกันการเล่นซ้ำ) ธงบางส่วนและความสมดุลใน "พื้นเมือง" สกุลเงินดิจิทัลที่ขุดไว้ล่วงหน้าที่เรียกว่า XLM ซึ่งมีจุดประสงค์เพื่อลดผลกระทบ การโจมตีแบบปฏิเสธการให้บริการและอำนวยความสะดวกในการทำตลาด เป็นสกุลเงินที่เป็นกลาง Trustlines ติดตามความเป็นเจ้าของสินทรัพย์ที่ออกซึ่งได้แก่ ตั้งชื่อโดยคู่ที่ประกอบด้วยบัญชีผู้ออกและชอร์ต รหัสสินทรัพย์ (เช่น “USD” หรือ “EUR”) แต่ละ trustline ระบุ บัญชี สินทรัพย์ ยอดคงเหลือในบัญชีในสินทรัพย์นั้น ก เกินขีดจำกัดซึ่งยอดคงเหลือไม่สามารถเพิ่มขึ้นได้ และธงบางอัน บัญชีจะต้องยินยอมอย่างชัดเจนในการถือครองทรัพย์สินโดย สร้าง trustline เพื่อป้องกันไม่ให้ผู้ส่งอีเมลขยะต้องอานม้า บัญชีที่มีทรัพย์สินที่ไม่ต้องการ กฎระเบียบ Know-your-customer (KYC) กำหนดให้สถาบันการเงินหลายแห่งทราบว่าตนถือเงินฝากของใคร เช่นโดยการตรวจสอบบัตรประจำตัวที่มีรูปถ่าย เพื่อให้เป็นไปตามนั้นผู้ออกสามารถกำหนดได้ การตั้งค่าสถานะ auth_reqired ที่เป็นทางเลือกในบัญชีของพวกเขา ซึ่งจำกัดความเป็นเจ้าของเนื้อหาที่พวกเขาออกให้กับบัญชีที่ได้รับอนุญาต ในการให้อนุญาตดังกล่าว ผู้ออกจะตั้งค่าการอนุญาต ปักธงบนความไว้วางใจของลูกค้า ข้อเสนอที่สอดคล้องกับความเต็มใจของบัญชีในการแลกเปลี่ยน ไปยังสินทรัพย์จำนวนหนึ่งสำหรับอีกสินทรัพย์หนึ่ง ณ เวลาที่กำหนด ราคาในสมุดสั่งซื้อ พวกมันจะถูกจับคู่โดยอัตโนมัติและ เติมเมื่อราคาซื้อ/ขายข้าม สุดท้าย ข้อมูลบัญชีประกอบด้วยบัญชี คีย์ มูลค่าสามเท่า ช่วยให้เจ้าของบัญชี เพื่อเผยแพร่ค่าข้อมูลเมตาขนาดเล็ก เพื่อป้องกันสแปมบัญชีแยกประเภท มียอดคงเหลือ XLM ขั้นต่ำ เรียกว่าสำรอง ทุนสำรองของบัญชีจะเพิ่มขึ้นตามแต่ละบัญชี รายการบัญชีแยกประเภทที่เกี่ยวข้องและลดลงเมื่อรายการบัญชีแยกประเภท หายไป (เช่น เมื่อมีการกรอกหรือยกเลิกคำสั่งซื้อ หรือเมื่อ สายที่เชื่อถือได้จะถูกลบ) ปัจจุบันเงินสำรองเพิ่มขึ้น 0.5 XLM (∼$0.03) ต่อรายการบัญชีแยกประเภท ไม่ว่าจะเป็นเงินสำรองก็เป็นได้ เป็นไปได้ที่จะเรียกคืนมูลค่าทั้งหมดของบัญชีโดยการลบ ด้วยการดำเนินการ AccountMerge ส่วนหัวของบัญชีแยกประเภท แสดงในรูปที่ 3 จัดเก็บแอตทริบิวต์ส่วนกลาง: หมายเลขบัญชีแยกประเภท พารามิเตอร์ เช่น ยอดคงเหลือต่อ รายการบัญชีแยกประเภท hash ของส่วนหัวบัญชีแยกประเภทก่อนหน้า (อันที่จริง hashes หลายรายการสร้างรายการข้าม) เอาต์พุต SCP รวมถึง hash ของธุรกรรมใหม่ที่ใช้กับบัญชีแยกประเภทนี้, hash จาก ผลลัพธ์ของธุรกรรมเหล่านั้น (เช่น สำเร็จหรือล้มเหลวสำหรับ แต่ละรายการ) และสแน็ปช็อต hash ของรายการบัญชีแยกประเภททั้งหมด เนื่องจากสแน็ปช็อต hash มีเนื้อหาบัญชีแยกประเภททั้งหมด validators ไม่จำเป็นต้องเก็บประวัติเพื่อตรวจสอบธุรกรรม อย่างไรก็ตามจะขยายไปถึงหลายร้อยล้านที่คาดไว้ บัญชี เราไม่สามารถ rehash ตารางรายการบัญชีแยกประเภททั้งหมดในทุก ๆ ปิดบัญชีแยกประเภท นอกจากนี้ การโอนบัญชีแยกประเภทไม่สามารถทำได้การชำระเงินทั่วโลกที่รวดเร็วและปลอดภัยด้วย Stellar SOSP '19, 27–30 ตุลาคม 2019, Huntsville, ON, แคนาดา บัญชีแยกประเภท # = 4 H(ก่อนหน้า hdr) เอาท์พุท SCP H∗(ผลลัพธ์) H∗(สแนปช็อต) ... ส่วนหัว บัญชีแยกประเภท # = 5 H(ก่อนหน้า hdr) เอาท์พุท SCP H∗(ผลลัพธ์) H∗(สแนปช็อต) ... ส่วนหัว . . . รูปที่ 3 เนื้อหาบัญชีแยกประเภท H คือ SHA-256 ในขณะที่ H ∗ แสดงถึงการประยุกต์ใช้แบบลำดับชั้นหรือแบบเรียกซ้ำของเอาต์พุต H. SCP ยังขึ้นอยู่กับส่วนหัวก่อนหน้า hash สร้างบัญชี สร้างและฝากเงินเข้าบัญชีแยกประเภทบัญชีใหม่ การรวมบัญชี ลบรายการบัญชีแยกประเภทบัญชี ตั้งค่าตัวเลือก เปลี่ยนสถานะบัญชีและผู้ลงนาม การชำระเงิน ชำระสินทรัพย์ตามจำนวนที่ต้องการเพื่อทำลาย บัญชี เส้นทางการชำระเงิน ชอบจ่ายเงินแต่จ่ายเป็นสินทรัพย์ต่างกัน (ขึ้นไป เพื่อจำกัด); ระบุสินทรัพย์ตัวกลางได้สูงสุด 5 รายการ จัดการข้อเสนอ สร้าง/ลบ/เปลี่ยนแปลงรายการบัญชีแยกประเภทข้อเสนอ -ข้อเสนอแบบพาสซีฟ ด้วยตัวแปรแบบพาสซีฟเพื่อให้สเปรดเป็นศูนย์ จัดการข้อมูล สร้าง/ลบ/เปลี่ยนแปลงบัญชี รายการบัญชีแยกประเภทข้อมูล เปลี่ยนความไว้วางใจ สร้าง/ลบ/เปลี่ยน trustline อนุญาตความไว้วางใจ ตั้งค่าหรือล้างธงที่ได้รับอนุญาตบนสายที่เชื่อถือได้ BumpSequence เพิ่มลำดับ หมายเลขในบัญชี รูปที่ 4 การดำเนินการบัญชีแยกประเภทหลัก ขนาดนั้นทุกครั้งที่โหนดถูกตัดการเชื่อมต่อ เครือข่ายนานเกินไป สแนปชอต hash จึงเป็นเช่นนั้น ออกแบบมาเพื่อเพิ่มประสิทธิภาพทั้ง hashing และการกระทบยอดสถานะ โดยเฉพาะอย่างยิ่ง สแน็ปช็อตจะแบ่งชั้นรายการบัญชีแยกประเภทตามเวลา ของการแก้ไขครั้งล่าสุดในชุดคอนเทนเนอร์ที่มีขนาดเอ็กซ์โปเนนเชียล เรียกว่าถัง การรวบรวมถังเรียกว่าถัง รายการ และมีความคล้ายคลึงกับต้นไม้ผสานที่มีโครงสร้างบันทึก (ต้นไม้ LSM) [77]. รายการถังจะไม่ถูกอ่านในระหว่างการประมวลผลธุรกรรม (ดูหัวข้อ 5.4) ดังนั้นการออกแบบบางอย่าง ลักษณะของต้นไม้ LSM สามารถผ่อนคลายได้ โดยเฉพาะการสุ่ม ไม่จำเป็นต้องเข้าถึงด้วยคีย์ และที่เก็บข้อมูลจะถูกอ่านเท่านั้น ตามลำดับซึ่งเป็นส่วนหนึ่งของระดับการผสาน กำลังแฮชถัง รายการเสร็จสิ้นโดย hash แต่ละที่เก็บข้อมูลเมื่อมีการผสานและคำนวณ hash สะสมใหม่ของที่เก็บข้อมูล hashes (ขนาดเล็ก ดัชนีอ้างอิงคงที่ hashes) ที่แต่ละบัญชีแยกประเภทปิด การกระทบยอดรายการฝากข้อมูลหลังจากขาดการเชื่อมต่อจำเป็นต้องดาวน์โหลด เฉพาะถังที่แตกต่างกัน 5.2 รูปแบบการทำธุรกรรม ธุรกรรมประกอบด้วยบัญชีต้นทาง เกณฑ์ความถูกต้อง ก บันทึกช่วยจำ และรายการการดำเนินการตั้งแต่หนึ่งรายการขึ้นไป รูปที่ 4 แสดงการดำเนินการที่มีอยู่ การดำเนินการแต่ละครั้งมีบัญชีต้นทางซึ่ง ค่าเริ่มต้นของธุรกรรมโดยรวม การทำธุรกรรมจะต้อง ลงนามด้วยคีย์ที่สอดคล้องกับทุกบัญชีต้นทาง การดำเนินการ บัญชี Multisig อาจต้องมีการลงนามที่สูงกว่า น้ำหนักสำหรับการดำเนินการบางอย่าง (เช่น SetOptions) และต่ำกว่า สำหรับผู้อื่น (เช่น AllowTrust) ธุรกรรมเป็นแบบอะตอมมิก หากการดำเนินการใดๆ ล้มเหลว จะไม่มีการดำเนินการใดเลย พวกเขาดำเนินการ สิ่งนี้ทำให้ข้อตกลงหลายทางง่ายขึ้น สมมุติว่าอัน ผู้ออกสร้างสินทรัพย์เพื่อแสดงโฉนดที่ดินและผู้ใช้ก ต้องการแลกเปลี่ยนที่ดินผืนเล็กบวก $10,000 เป็นเงิน ที่ดินแปลงใหญ่ที่บีเป็นเจ้าของ ผู้ใช้ทั้งสองคนสามารถลงนามได้ทั้งคู่ ธุรกรรมเดียวที่มีสามการดำเนินงาน: สองที่ดิน การชำระเงินและการชำระหนึ่งดอลลาร์ เกณฑ์ความถูกต้องหลักของธุรกรรมคือหมายเลขลำดับ ซึ่งจะต้องมากกว่าเกณฑ์ของธุรกรรม รายการบัญชีแยกประเภทแหล่งที่มา ดำเนินธุรกรรมที่ถูกต้อง (สำเร็จหรือไม่) เพิ่มหมายเลขลำดับ เพื่อป้องกันการเล่นซ้ำ หมายเลขลำดับเริ่มต้นประกอบด้วยบัญชีแยกประเภท ให้เป็นบิตสูงเพื่อป้องกันการเล่นซ้ำแม้จะลบไปแล้วก็ตาม และสร้างบัญชีใหม่ เกณฑ์ความถูกต้องอื่นๆ คือขีดจำกัดที่เป็นทางเลือกว่าเมื่อใด ธุรกรรมสามารถดำเนินการได้ กลับคืนสู่ดินแดนและดอลลาร์ สลับด้านบน หาก A ลงนามในธุรกรรมก่อน B, A อาจไม่ อยากให้บีนั่งทำธุรกรรมเป็นเวลาหนึ่งปีก่อนที่จะส่ง มันและอาจกำหนดระยะเวลาที่ทำให้ธุรกรรมเป็นโมฆะ หลังจากนั้นไม่กี่วัน สามารถกำหนดค่าบัญชี Multisig ได้ เพื่อให้การลงนามมีน้ำหนักต่อการเปิดเผยของภาพล่วงหน้า hash ซึ่งเมื่อรวมกับขอบเขตเวลา อนุญาตให้มีการซื้อขาย atomic crosschain [1] บัญชีต้นทางของธุรกรรมจ่ายค่าธรรมเนียมเล็กน้อยเป็น XLM 10−5 XLM เว้นแต่จะมีความแออัด ภายใต้ความแออัด ค่าใช้จ่ายในการดำเนินงานถูกกำหนดโดยการประมูลของชาวดัตช์ ผู้ตรวจสอบความถูกต้องคือ ไม่ได้รับการชดเชยด้วยค่าธรรมเนียมเนื่องจาก validators มีความคล้ายคลึงกัน ถึง Bitcoin โหนดเต็ม ไม่ใช่คนงานเหมือง แทนที่จะทำลาย XLM ค่าธรรมเนียมจะถูกรีไซเคิลและแจกจ่ายตามสัดส่วนด้วยการลงคะแนนเสียงของ ผู้ถือ XLM ที่มีอยู่ ซึ่งเมื่อมองย้อนกลับไปอาจจะหรืออาจจะก็ได้ ไม่คุ้มค่ากับความซับซ้อน 5.3 ค่านิยมที่เป็นเอกฉันท์ สำหรับบัญชีแยกประเภทแต่ละบัญชี Stellar ใช้ SCP เพื่อตกลงเกี่ยวกับโครงสร้างข้อมูล มีสามฟิลด์: ชุดธุรกรรม hash (รวมถึง hash ของส่วนหัวบัญชีแยกประเภทก่อนหน้า) เวลาปิด และการอัพเกรด เมื่อยืนยันการเสนอชื่อหลายค่าแล้ว Stellar จะใช้เวลา ธุรกรรมที่กำหนดโดยมีการดำเนินการมากที่สุด (ทำลายความสัมพันธ์ ตามค่าธรรมเนียมทั้งหมด จากนั้นชุดธุรกรรม hash) การรวมกันของทั้งหมด การอัพเกรดและเวลาปิดสูงสุด เวลาปิดทำการเท่านั้น ใช้ได้หากอยู่ระหว่างเวลาปิดของบัญชีแยกประเภทล่าสุดถึง ปัจจุบัน ดังนั้นโหนดจึงไม่เสนอเวลาที่ไม่ถูกต้อง การอัพเกรดจะปรับพารามิเตอร์ส่วนกลาง เช่น ยอดสำรอง ค่าธรรมเนียมการดำเนินการขั้นต่ำ และเวอร์ชันโปรโตคอล เมื่อ เมื่อรวมกันระหว่างการเสนอชื่อ ค่าธรรมเนียมที่สูงขึ้นและหมายเลขเวอร์ชันโปรโตคอลจะเข้ามาแทนที่หมายเลขที่ต่ำกว่า อัปเกรดการกำกับดูแลเอฟเฟกต์ผ่านพื้นที่แย่งชิงการลงคะแนนแบบสหพันธรัฐ [34] เช่นกัน เสมอภาคหรือรวมศูนย์ validator แต่ละรายการได้รับการกำหนดค่าเป็น ทั้งที่ปกครองหรือไม่ปกครอง (ค่าเริ่มต้น) ตาม ผู้ประกอบการต้องการมีส่วนร่วมในการกำกับดูแลหรือไม่ การควบคุม validators จะพิจารณาการอัปเกรดสามประเภท: ต้องการ ถูกต้อง และไม่ถูกต้อง (สิ่งใดก็ตามที่ validator ไม่มี

SOSP '19, 27–30 ตุลาคม 2019, Huntsville, ON, แคนาดา โลกาวา และคณะ validator แกนกลาง ขอบฟ้า เอฟเอส ดีบี ดีบี ส่ง ลูกค้า ลูกค้า validators อื่นๆ รูปที่ 5. Stellar validator สถาปัตยกรรม รู้วิธีการปฏิบัติ) มีการกำหนดค่าการอัพเกรดที่ต้องการ ทริกเกอร์ในเวลาที่กำหนดโดยมีวัตถุประสงค์เพื่อประสานงานระหว่างกัน ตัวดำเนินการ โหนดที่ควบคุมมักจะลงคะแนนให้เสนอชื่อที่ต้องการ อัปเกรด ยอมรับแต่อย่าลงคะแนนเพื่อเสนอการอัปเกรดที่ถูกต้อง (เช่น ดำเนินการตามองค์ประชุมที่ปิดกั้น) และไม่ต้องลงคะแนนเสียงให้ หรือยอมรับการอัพเกรดที่ไม่ถูกต้อง เสียงสะท้อน validators ที่ไม่อยู่ภายใต้การควบคุม การลงคะแนนใดๆ ที่พวกเขาเห็นสำหรับการอัพเกรดที่ถูกต้อง โดยพื้นฐานแล้วเป็นการมอบหมาย การตัดสินใจว่าต้องการอัปเกรดอะไรสำหรับผู้ที่เลือก เพื่อทำหน้าที่กำกับดูแล 5.4 การนำไปปฏิบัติ รูปที่ 5 แสดงสถาปัตยกรรม validator ของ Stellar ภูต เรียกว่า stellar-core (∼92k บรรทัดของ C ++ ไม่นับไลบรารีบุคคลที่สาม) ใช้โปรโตคอล SCP และเครื่องสถานะที่จำลองแบบ การสร้างมูลค่าสำหรับ SCP จำเป็นต้องลดรายการบัญชีแยกประเภทจำนวนมากให้เหลือเพียงการเข้ารหัสขนาดเล็ก hashส. ในทางตรงกันข้าม การตรวจสอบและดำเนินการธุรกรรม ต้องค้นหาสถานะบัญชีและการจับคู่คำสั่งซื้อที่ ราคาที่ดีที่สุด เพื่อให้บริการทั้งสองฟังก์ชั่นได้อย่างมีประสิทธิภาพ stellar-core เก็บการเป็นตัวแทนของบัญชีแยกประเภทไว้สองรายการ: การเป็นตัวแทนภายนอกที่มีรายการถังซึ่งจัดเก็บเป็นไฟล์ไบนารี่นั้น สามารถอัปเดตได้อย่างมีประสิทธิภาพและเพิ่มขึ้นเรื่อยๆ rehashed และ การแสดงภายในในฐานข้อมูล SQL (PostgreSQL สำหรับโหนดการผลิต) Stellar-core สร้างไฟล์เก็บถาวรประวัติแบบเขียนอย่างเดียวที่มี แต่ละชุดธุรกรรมที่ได้รับการยืนยันและภาพรวมของ ถัง ไฟล์เก็บถาวรช่วยให้โหนดใหม่สามารถบู๊ตตัวเองได้ เมื่อเข้าร่วมเครือข่าย อีกทั้งยังมีบันทึกบัญชีแยกประเภทอีกด้วย ประวัติศาสตร์—จำเป็นต้องมีสถานที่ที่สามารถค้นหาได้ ธุรกรรมเมื่อสองปีที่แล้ว เนื่องจากประวัติศาสตร์เป็นเพียงการผนวกเท่านั้น และเข้าถึงไม่บ่อยก็สามารถเก็บไว้ในที่ราคาถูกได้ เช่น Amazon Glacier หรือบริการใดๆ ที่อนุญาตให้จัดเก็บได้ และดึงไฟล์แฟลต โดยทั่วไปแล้วโฮสต์ของเครื่องมือตรวจสอบจะไม่โฮสต์ ที่เก็บถาวรของตนเองเพื่อหลีกเลี่ยงผลกระทบต่อการตรวจสอบ ประสิทธิภาพจากประวัติการเสิร์ฟ เพื่อให้ stellar-core เรียบง่าย จึงไม่ได้ตั้งใจจะใช้ โดยตรงโดยแอปพลิเคชันและเปิดเผยเฉพาะอินเทอร์เฟซที่แคบมากสำหรับการส่งธุรกรรมใหม่ เพื่อรองรับ ลูกค้า validators ส่วนใหญ่เรียกใช้ daemon ที่เรียกว่าขอบฟ้า (∼18k lines of Go) ที่มีอินเทอร์เฟซ HTTP สำหรับการส่ง และการเรียนรู้ธุรกรรม Horizon มีสิทธิ์เข้าถึงแบบอ่านอย่างเดียว ฐานข้อมูล SQL ของ stellar-core ช่วยลดความเสี่ยงของเส้นขอบฟ้า แกนดาวฤกษ์ที่ไม่เสถียร คุณสมบัติต่างๆ เช่น การค้นหาเส้นทางการชำระเงินนั้นถูกนำไปใช้งานอย่างสมบูรณ์และสามารถอัปเกรดได้ ฝ่ายเดียวโดยไม่ประสานงานกับ validators อื่น ๆ daemons เลเยอร์ที่เป็นตัวเลือกที่สูงกว่าหลายตัวเป็นไคลเอนต์ที่ขอบฟ้า ล้อมรอบระบบนิเวศ บริดจ์เซิร์ฟเวอร์อำนวยความสะดวก การบูรณาการ Stellar กับระบบที่มีอยู่ เช่น การโพสต์การแจ้งเตือนการชำระเงินทั้งหมดที่ได้รับจากบัญชีเฉพาะ ก เซิร์ฟเวอร์การปฏิบัติตามกฎระเบียบมอบ hooks สำหรับสถาบันการเงิน แลกเปลี่ยนและอนุมัติข้อมูลผู้ส่งและผู้รับผลประโยชน์ ในการชำระเงินเพื่อให้สอดคล้องกับรายการคว่ำบาตร สุดท้ายนี้ เซิร์ฟเวอร์รวมใช้การตั้งชื่อที่มนุษย์สามารถอ่านได้ ระบบบัญชี. 6 ประสบการณ์การใช้งาน Stellar เติบโตเป็นเวลาหลายปีจนกลายเป็นรัฐที่มีระดับปานกลาง จำนวนตัวดำเนินการโหนดเต็มรูปแบบที่เชื่อถือได้พอสมควร อย่างไรก็ตาม การกำหนดค่าของโหนดนั้นมีความมีชีวิตชีวา (แม้ว่าจะไม่ใช่ก็ตาม ความปลอดภัย) ขึ้นอยู่กับเรา มูลนิธิ Stellar การพัฒนา (เอสดีเอฟ); หาก SDF หายไปอย่างกะทันหัน ผู้ดำเนินการโหนดรายอื่น จะต้องเข้ามาแทรกแซงและลบเราออกด้วยตนเอง จากส่วนโควรัมเพื่อให้เครือข่ายดำเนินการต่อ แม้ว่าเราและคนอื่นๆ ต้องการลดความสำคัญเชิงระบบของ SDF แต่เป้าหมายนี้ก็ได้รับลำดับความสำคัญเพิ่มมากขึ้นหลังจากนั้น นักวิจัย [58] ระบุปริมาณและเผยแพร่การรวมศูนย์ของเครือข่ายโดยไม่แยกแยะความเสี่ยงด้านความปลอดภัยและ ความมีชีวิตชีวา ผู้ปฏิบัติงานจำนวนหนึ่งตอบสนองต่อการปรับเปลี่ยนการกำหนดค่าที่ใช้งานอยู่ โดยหลักๆ แล้วจะเป็นการเพิ่มขนาดของพวกเขา แบ่งองค์ประชุมเพื่อลดความสำคัญของ SDF; น่าแปลกที่สิ่งนี้เพิ่มความเสี่ยงต่อความมีชีวิตชีวาเท่านั้น ปัญหาสองประการทำให้สถานการณ์รุนแรงขึ้น อันดับแรกเป็นที่นิยม เครื่องมือตรวจสอบบุคคลที่สาม Stellar [5] เป็นระบบ ประเมินเวลาทำงาน validator สูงเกินไปโดยไม่ตรวจสอบจริง แกนดาวฤกษ์นั้นกำลังทำงานอยู่ สิ่งนี้ทำให้ผู้คนรวม โหนดที่ไม่น่าเชื่อถือในส่วนโควรัม ประการที่สอง มีข้อบกพร่องใน stellar-core หมายถึงเมื่อ validator ย้ายไปยังบัญชีแยกประเภทถัดไป มันไม่ได้ช่วยให้โหนดที่เหลือทำ previ ได้เพียงพอบัญชีแยกประเภทในกรณีที่ข้อความสูญหาย เป็นผลให้ เครือข่ายประสบปัญหาการหยุดทำงานเป็นเวลา 67 นาทีและจำเป็น การประสานงานด้วยตนเองโดยผู้ดูแลระบบ validator เพื่อรีสตาร์ท ที่แย่กว่านั้นคือในขณะที่พยายามรีสตาร์ทเครือข่าย ส่งผลให้มีการกำหนดค่าใหม่อย่างรวดเร็วบนหลายโหนด ในการกำหนดค่าที่ไม่ถูกต้องโดยรวมซึ่งทำให้บางโหนดสามารถ แยกออกจากกันโดยต้องมีการปิดโหนดเหล่านั้นด้วยตนเองและ ส่งธุรกรรมที่ยอมรับอีกครั้งระหว่างความแตกต่าง โชคดีที่ความแตกต่างนี้ถูกจับได้และแก้ไขแล้ว อย่างรวดเร็วและไม่มีธุรกรรมที่ขัดแย้งกัน แต่ ความเสี่ยงที่เครือข่ายไม่สามารถเพลิดเพลินกับจุดตัดองค์ประชุม— แยกทางกันในขณะที่ยังคงยอมรับความขัดแย้งที่อาจขัดแย้งกันต่อไป มีการทำธุรกรรมเพียงเพราะการกำหนดค่าที่ไม่ถูกต้อง เหตุการณ์นี้เป็นรูปธรรมมาก การทบทวนประสบการณ์เหล่านี้นำไปสู่ข้อสรุปที่สำคัญสองประการ และการดำเนินการแก้ไขที่สอดคล้องกันการชำระเงินทั่วโลกที่รวดเร็วและปลอดภัยด้วย Stellar SOSP '19, 27–30 ตุลาคม 2019, Huntsville, ON, แคนาดา สำคัญ 100% 51% 51% สูง 67% 51% ปานกลาง 67% 51% ต่ำ 67% 51% 51% ... ... ... 51% ... 51% รูปที่ 6 ลำดับชั้นคุณภาพของเครื่องมือตรวจสอบความถูกต้อง โหนดคุณภาพสูงสุด ต้องใช้เกณฑ์สูงสุด 100% ในขณะที่คุณภาพที่ต่ำกว่าได้รับการกำหนดค่าเป็นเกณฑ์ 67% โหนดภายในหนึ่งเดียว องค์กรต้องการเสียงข้างมากเพียง 51% 6.1 ความซับซ้อนและความเปราะบางของการกำหนดค่า Stellar แสดงการแบ่งส่วนควอรัมเป็นชุดควอรัมที่ซ้อนกันซึ่งประกอบด้วยรายการ n รายการและเกณฑ์ k โดยที่ชุดใด ๆ ของรายการ k ถือเป็นองค์ประชุม แต่ละรายการใน n รายการนั้นเป็นอย่างใดอย่างหนึ่ง คีย์สาธารณะ validator หรือชุดองค์ประชุมอื่นแบบเรียกซ้ำ แม้ว่าเราจะมีความยืดหยุ่นและกะทัดรัด แต่เราก็ได้ตระหนักถึงองค์ประชุมที่ซ้อนกัน ตั้งค่าตัวดำเนินการโหนดให้มีความยืดหยุ่นมากเกินไปและมีคำแนะนำน้อยเกินไป: ง่ายต่อการเขียนที่ไม่ปลอดภัย (หรือ การกำหนดค่าที่ไร้สาระ) หลักเกณฑ์ในการจัดกลุ่ม โหนดเป็นชุด สำหรับการจัดระเบียบชุดย่อยเป็นลำดับชั้น และ สำหรับการเลือกเกณฑ์ทั้งหมดไม่มีความชัดเจนเพียงพอและมีส่วนทำให้เกิดความล้มเหลวในการปฏิบัติงาน ไม่ชัดเจนว่าควรหรือไม่ ถือว่า "ระดับ" ในลำดับชั้นที่ซ้อนกันเป็นระดับของความไว้วางใจ หรือองค์กรหรือทั้งสองอย่าง การกำหนดค่ามากมายในสนาม ผสมแนวคิดเหล่านี้นอกเหนือจากการระบุอันตราย หรือเกณฑ์ที่ไร้ความหมาย ดังนั้นเราจึงเพิ่มกลไกการกำหนดค่าที่ง่ายขึ้น ที่แยกชุดองค์ประชุมที่ซ้อนกันออกเป็นสองลักษณะ: การจัดกลุ่ม โหนดเข้าด้วยกันตามองค์กร และติดป้ายกำกับแต่ละองค์กรด้วยการจำแนกประเภทความน่าเชื่อถืออย่างง่าย (ต่ำ กลาง สูง หรือ สำคัญ) องค์กรในระดับสูงและสูงกว่าจะต้องทำ เผยแพร่เอกสารสำคัญทางประวัติศาสตร์ ระบบใหม่จะสังเคราะห์ชุดองค์ประชุมที่ซ้อนกันซึ่งแต่ละองค์กรจะแสดงเป็น ตั้งค่าเกณฑ์ 51% และองค์กรจะถูกจัดกลุ่มเป็นชุด ด้วยเกณฑ์ 67% หรือ 100% (ขึ้นอยู่กับคุณภาพของกลุ่ม) แต่ละกลุ่มเป็นรายการเดียวในกลุ่มถัดไป (คุณภาพสูงกว่า) ดังแสดงในรูปที่ 6 โมเดลที่เรียบง่ายนี้ช่วยลด ความน่าจะเป็นของการกำหนดค่าที่ไม่ถูกต้องทั้งในแง่ของโครงสร้าง ของชุดที่ซ้อนกันที่สังเคราะห์และเกณฑ์ที่เลือกไว้ แต่ละชุด 6.2 การตรวจจับการกำหนดค่าที่ไม่ถูกต้องในเชิงรุก ประการที่สอง เราตระหนักว่าการตรวจจับการกำหนดค่าที่ไม่ถูกต้องโดยรวมโดยรอสังเกตผลกระทบด้านลบนั้นสายเกินไป โดยเฉพาะอย่างยิ่งในส่วนที่เกี่ยวกับการกำหนดค่าที่ไม่ถูกต้องซึ่งอาจแตกต่างออกไป—ก โหมดความล้มเหลวที่ร้ายแรงกว่าการหยุดทำงาน—ความต้องการของเครือข่าย เพื่อให้สามารถตรวจจับการกำหนดค่าที่ไม่ถูกต้องได้ทันที เพื่อให้ผู้ปฏิบัติงานสามารถคืนค่าได้ก่อนที่ความแตกต่างจะเกิดขึ้นจริง เพื่อตอบสนองความต้องการนี้ เราได้สร้างกลไกในซอฟต์แวร์ validator ที่รวบรวมสถานะการกำหนดค่าโดยรวมของเพียร์ทั้งหมดในการปิดสกรรมกริยาของโหนดอย่างต่อเนื่อง และตรวจจับศักยภาพของความแตกต่าง—นั่นคือ การแยกจากกัน โควรัม—ภายในโครงร่างโดยรวมนั้น 6.2.1 การตรวจสอบจุดตัดองค์ประชุม แม้ว่าการรวบรวมโควรัมสไลซ์จะเป็นเรื่องง่าย แต่การค้นหาโควรัมที่ไม่ต่อเนื่องกันนั้นถือเป็น NP-hard ร่วมกัน [62] อย่างไรก็ตาม เราก็รับเอา ชุดของการวิเคราะห์พฤติกรรมอัลกอริทึมและกฎการกำจัดตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เสนอโดย Lachowski [62] ที่ตรวจสอบอินสแตนซ์ทั่วไป ของปัญหาที่มีขนาดเร็วกว่านั้นหลายเท่า ต้นทุนกรณีที่เลวร้ายที่สุด ในทางปฏิบัติแล้วเครือข่ายในปัจจุบัน การปิดสกรรมกริยาโควรัมสไลซ์อยู่ในลำดับ 20–30 โหนดและโดยทั่วไปจะตรวจสอบด้วยการเพิ่มประสิทธิภาพของ Lachowski ภายในเวลาไม่กี่วินาทีบน CPU ตัวเดียว หากมีความจำเป็นเกิดขึ้น เพื่อเพิ่มประสิทธิภาพ เราอาจทำการค้นหาแบบขนาน 6.2.2 กำลังตรวจสอบการกำหนดค่าที่มีความเสี่ยง การตรวจพบว่าเครือข่ายยอมรับโควรัมที่ไม่เป็นสมาชิกร่วมนั้นเป็นขั้นตอนหนึ่ง ไปถูกทางแต่ส่งสัญญาณอันตรายช้าอย่างไม่สบายใจ สำหรับปัญหาที่สำคัญเช่นนี้ ตามหลักการแล้ว เราต้องการให้ผู้ดำเนินการโหนดได้รับคำเตือนเมื่อมีการกำหนดค่าโดยรวมของเครือข่าย กำลังเข้าสู่ภาวะเสี่ยงเท่านั้น ดังนั้นเราจึงขยายตัวตรวจสอบโควรัม-ทางแยก เพื่อตรวจจับสภาวะที่เราเรียกว่าวิกฤต: เมื่อกระแส การกำหนดค่าโดยรวมคือการกำหนดค่าที่ไม่ถูกต้องอย่างหนึ่ง รัฐที่ยอมรับองค์ประชุมที่ไม่ต่อเนื่องกัน เพื่อตรวจจับภาวะวิกฤติ ตัวตรวจสอบจะแทนที่การกำหนดค่าของแต่ละองค์กรซ้ำแล้วซ้ำอีกด้วยการกำหนดค่าที่ไม่ถูกต้องที่เลวร้ายที่สุดจำลอง รันตัวตรวจสอบจุดตัดโควรัมด้านในกับผลลัพธ์อีกครั้ง หากมีการกำหนดค่าผิดพลาดร้ายแรงดังกล่าวอยู่อีกขั้นตอนหนึ่ง จากสถานะปัจจุบันซอฟต์แวร์จะออกคำเตือนและ รายงานองค์กรที่มีความเสี่ยงในการกำหนดค่าที่ไม่ถูกต้อง การเปลี่ยนแปลงเหล่านี้ทำให้ชุมชนของผู้ปฏิบัติงานมีสองชั้น การแจ้งเตือนและคำแนะนำเพื่อป้องกันรูปแบบที่เลวร้ายที่สุด ของการกำหนดค่าผิดพลาดร่วมกัน

شبكة الدفع

يصف هذا القسم شبكة الدفع الخاصة بـ Stellar، والتي تم تنفيذها كجهاز حالة منسوخ [88] أعلى SCP. 5.1 نموذج دفتر الأستاذ تم تصميم دفتر الأستاذ Stellar حول تجريد الحساب (في على النقيض من مخرجات المعاملات غير المنفقة التي تركز على العملات المعدنية أو UTXO طراز Bitcoin). تتكون محتويات الدفتر من أ مجموعة من إدخالات دفتر الأستاذ من أربعة أنواع متميزة: الحسابات، وخطوط الثقة، العروض وبيانات الحساب. الحسابات هي المديرون الذين يمتلكون الأصول ويصدرونها. كل تتم تسمية الحساب بواسطة مفتاح عام. افتراضيًا، يمكن للمفتاح الخاص المقابل توقيع المعاملات الخاصة بالحساب. ومع ذلك، يمكن إعادة تكوين الحسابات لإضافة موقعين آخرين وإلغاء تخويل المفتاح الذي يُسمي الحساب، باستخدام خيار "multisig" يتطلب عدة موقعين. كل حساب يحتوي أيضًا على: رقم تسلسلي (مدرج في المعاملات لمنع الإعادة)، وبعض الأعلام، ورصيد في “أصلي” عملة مشفرة تم تعدينها مسبقًا تسمى XLM، تهدف إلى التخفيف بعض هجمات حجب الخدمة وتسهيل صناعة السوق كعملة محايدة. تقوم خطوط الثقة بتتبع ملكية الأصول المصدرة، وهي اسمه زوج يتكون من حساب الإصدار وقصير رمز الأصل (على سبيل المثال، "USD" أو "EUR"). يحدد كل خط ثقة حساب، أصل، رصيد الحساب في ذلك الأصل، أ الحد الذي لا يمكن أن يرتفع الميزان فوقه، وبعض الأعلام. يجب أن يوافق الحساب صراحةً على الاحتفاظ بالأصل من خلاله إنشاء خط ثقة، ومنع مرسلي البريد العشوائي من التسلل حسابات ذات أصول غير مرغوب فيها. تتطلب لوائح اعرف عميلك (KYC) من العديد من المؤسسات المالية معرفة الودائع التي تحتفظ بها، على سبيل المثال عن طريق التحقق من بطاقة الهوية التي تحتوي على صورة. للامتثال، يمكن للمصدرين تعيين علامة auth_reqired اختيارية على حساباتهم، مما يقيد ملكية الأصول التي يصدرونها للحسابات المعتمدة. لمنح هذا الترخيص، يقوم المصدر بتعيين معتمد وضع علامة على خطوط ثقة العملاء. تتوافق العروض مع رغبة الحساب في التداول إلى مبلغ معين من أصل معين لآخر في وقت معين السعر في دفتر الطلبات؛ تتم مطابقتها تلقائيًا و يتم ملؤها عندما تتقاطع أسعار الشراء/البيع. وأخيرًا، تتكون بيانات الحساب من الحساب والمفتاح والقيمة الثلاثية، مما يسمح لأصحاب الحساب لنشر قيم البيانات الوصفية الصغيرة. لمنع البريد العشوائي في دفتر الأستاذ، يوجد حد أدنى لرصيد XLM، يسمى الاحتياط. يزداد احتياطي الحساب مع كل منها يرتبط إدخال دفتر الأستاذ ويتناقص عند إدخال دفتر الأستاذ يختفي (على سبيل المثال، عند تنفيذ أمر ما أو إلغاؤه، أو عند أ تم حذف خط الثقة). حاليًا ينمو الاحتياطي بمقدار 0.5 XLM (∼ 0.03 دولار) لكل إدخال في دفتر الأستاذ. بغض النظر عن الاحتياطي، فهو كذلك من الممكن استعادة القيمة الكاملة للحساب عن طريق الحذف مع عملية AccountMerge. يقوم رأس دفتر الأستاذ، الموضح في الشكل 3، بتخزين السمات العامة: رقم دفتر الأستاذ، والمعلمات مثل الرصيد الاحتياطي لكل إدخال دفتر الأستاذ، hash من رأس دفتر الأستاذ السابق (في الواقع عدة hashes تشكل قائمة تخطي)، بما في ذلك إخراج SCP hash من المعاملات الجديدة المطبقة في دفتر الأستاذ هذا، hash من نتائج تلك المعاملات (على سبيل المثال، النجاح أو الفشل ل لكل منهما)، ولقطة hash لجميع إدخالات دفتر الأستاذ. نظرًا لأن اللقطة hash تشتمل على كافة محتويات دفتر الأستاذ، لا يحتاج validators إلى الاحتفاظ بالسجل للتحقق من صحة المعاملات. ومع ذلك، لتوسيع نطاق مئات الملايين من المتوقع الحسابات، لا يمكننا إعادة hash جميع جداول إدخال دفتر الأستاذ في كل منها إغلاق دفتر الأستاذ. علاوة على ذلك، ليس من العملي نقل دفتر الأستاذمدفوعات عالمية سريعة وآمنة باستخدام Stellar SOSP '19، 27-30 أكتوبر 2019، هانتسفيل، أونتاريو، كندا دفتر الأستاذ # = 4 H (نطاق عالي الديناميكية السابق) مخرجات SCP ح∗(النتائج) ح∗(لقطة) ... header دفتر الأستاذ # = 5 H (نطاق عالي الديناميكية السابق) مخرجات SCP ح∗(النتائج) ح∗(لقطة) ... header . . . الشكل 3. محتويات دفتر الأستاذ. H هو SHA-256، بينما H ∗ يمثل التطبيق الهرمي أو التكراري لـ H. مخرجات SCP يعتمد أيضًا على الرأس السابق hash. إنشاء حساب إنشاء وتمويل إدخال دفتر الأستاذ الجديد للحساب دمج الحساب حذف إدخال دفتر الأستاذ الحساب خيارات الضبط تغيير علامات الحساب والموقعين الدفع ادفع كمية محددة من الأصول إلى الوجهة. com.acct. مسار الدفع مثل الدفع، ولكن الدفع في أصول مختلفة (ما يصل للحد)؛ حدد ما يصل إلى 5 أصول وسيطة إدارة العرض إنشاء/حذف/تغيير إدخال دفتر الأستاذ للعرض، -العرض السلبي مع متغير سلبي للسماح بانتشار صفر إدارة البيانات إنشاء/حذف/تغيير الحساب. إدخال دفتر البيانات تغيير الثقة إنشاء/حذف/تغيير خط الثقة السماح بالثقة قم بتعيين أو مسح العلامة المعتمدة على خط الثقة BumpSequence زيادة ما يلي. رقم على الحساب الشكل 4. عمليات دفتر الأستاذ الرئيسي بهذا الحجم في كل مرة يتم فيها قطع اتصال العقدة الشبكة لفترة طويلة جدًا. وبالتالي فإن اللقطة hash هي مصمم لتحسين كل من hashing وتسوية الحالة. على وجه التحديد، تقوم اللقطة بتقسيم إدخالات دفتر الأستاذ حسب الوقت التعديل الأخير في مجموعة من الحاويات ذات الحجم المتضاعف تسمى الدلاء. يسمى جمع الدلاء بالدلو القائمة، وتحمل بعض التشابه مع أشجار الدمج المنظمة بالسجل (أشجار-LSM) [77]. لا تتم قراءة قائمة المجموعة أثناء معالجة المعاملات (انظر القسم 5.4). ومن ثم تصميم معين يمكن تخفيف جوانب أشجار LSM. وعلى وجه الخصوص، عشوائية الوصول عن طريق المفتاح غير مطلوب، ولا تتم قراءة الدلاء إلا على الإطلاق بالتتابع كجزء من دمج المستويات. تجزئة الدلو يتم إجراء القائمة عن طريق hashing كل مجموعة أثناء دمجها وحساب تراكمي جديد hash للمجموعة hashes (صغير، الفهرس المرجعي الثابت hashes) عند كل إغلاق لدفتر الأستاذ. تتطلب تسوية قائمة المجموعة بعد قطع الاتصال التنزيل الدلاء فقط التي تختلف. 5.2 نموذج الصفقة تتكون المعاملة من حساب المصدر ومعايير الصلاحية وأ مذكرة، وقائمة واحدة أو أكثر من العمليات. يسرد الشكل 4 العمليات المتاحة. كل عملية لها حساب مصدر، والذي الافتراضيات لتلك الصفقة الشاملة. لا بد من الصفقة يتم توقيعه بواسطة المفاتيح المقابلة لكل حساب مصدر في عملية. يمكن أن تتطلب حسابات Multisig توقيعًا أعلى الوزن لبعض العمليات (مثل SetOptions) وأقل للآخرين (مثلallowTrust). المعاملات ذرية - إذا فشلت أي عملية، فلن يحدث أي منها ينفذون. وهذا يبسط الصفقات متعددة الاتجاهات. لنفترض أن يقوم المُصدر بإنشاء أصل لتمثيل سندات الأرض، ويقوم المستخدم أ يريد استبدال قطعة أرض صغيرة بالإضافة إلى 10000 دولار مقابل أ قطعة أرض أكبر يملكها B. يمكن لكلا المستخدمين التوقيع معاملة واحدة تحتوي على ثلاث عمليات: أرضان المدفوعات ودفع دولار واحد. معيار صلاحية المعاملة الرئيسي هو رقمها التسلسلي، الذي يجب أن يكون أكبر من الرقم التسلسلي للمعاملة. إدخال دفتر الأستاذ حساب المصدر. تنفيذ معاملة صالحة (بنجاح أم لا) يؤدي إلى زيادة الرقم التسلسلي، مما يمنع إعادة التشغيل. تحتوي أرقام التسلسل الأولية على دفتر الأستاذ عدد البتات العالية لمنع إعادة التشغيل حتى بعد الحذف وإعادة إنشاء الحساب. معيار الصلاحية الآخر هو الحد الاختياري للوقت يمكن تنفيذ الصفقة. العودة إلى الأرض والدولار المبادلة أعلاه، إذا قام A بتوقيع المعاملة قبل B، فلا يجوز لـ A ذلك تريد B أن يجلس على المعاملة لمدة عام قبل تقديمها عليه، وبالتالي يمكن وضع حد زمني لإبطال المعاملة بعد بضعة أيام. يمكن أيضًا تكوين حسابات Multisig لإضفاء وزن التوقيع على الكشف عن الصورة المسبقة hash، والتي، إلى جانب الحدود الزمنية، تسمح بالتداول عبر سلسلة ذرية [1]. يدفع الحساب المصدر للمعاملة رسومًا بسيطة بعملة XLM، 10−5 XLM ما لم يكن هناك ازدحام. في ظل الازدحام يتم تحديد تكلفة العمليات عن طريق المزاد الهولندي. المصادقون هم لا يتم تعويضها بالرسوم لأن validators متشابهة إلى Bitcoin العقد الكاملة، وليس عمال المناجم. بدلاً من تدمير XLM، يتم إعادة تدوير الرسوم وتوزيعها بشكل متناسب عن طريق التصويت حاملي XLM الحاليين، والذي قد يكون أو قد يكون في وقت لاحق لم تكن تستحق التعقيد. 5.3 قيم الإجماع بالنسبة لكل دفتر أستاذ، يستخدم Stellar SCP للموافقة على بنية البيانات مع ثلاثة حقول: مجموعة المعاملات hash (بما في ذلك hash) من رأس دفتر الأستاذ السابق)، في وقت قريب، ود ترقيات. عندما يتم تأكيد ترشيح قيم متعددة، يأخذ Stellar المعاملة التي تم تعيينها بأكبر عدد من العمليات (قطع العلاقات بإجمالي الرسوم، ثم مجموعة المعاملات hash)، اتحاد الكل ترقيات، وأعلى وقت إغلاق. وقت قريب هو فقط صالح إذا كان بين وقت إغلاق دفتر الأستاذ الأخير و موجودة، لذلك لا ترشح العقد أوقاتًا غير صالحة. تقوم الترقيات بضبط المعلمات العالمية مثل الرصيد الاحتياطي والحد الأدنى لرسوم التشغيل وإصدار البروتوكول. متى مجتمعة أثناء الترشيح، تحل الرسوم الأعلى وأرقام إصدار البروتوكول محل الأرقام الأقل. ترقيات تأثير الحكم من خلال مساحة صراع التصويت الفيدرالي [34]، ولا مساواة ولا مركزية. تم تكوين كل validator كـ إما الحاكم أو غير الحاكم (الافتراضي)، وفقا إلى ما إذا كان مشغلها يريد المشاركة في الحكم. تعتبر إدارة validators ثلاثة أنواع من الترقية: مطلوب وصالح وغير صالح (أي شيء لا يفعله validator

SOSP '19، 27-30 أكتوبر 2019، هانتسفيل، أونتاريو، كندا لوخافا وآخرون. validator الأساسية الأفق خ.س ديسيبل ديسيبل إرسال العميل العميل validators أخرى الشكل 5. بنية Stellar validator تعرف كيفية التنفيذ). تم تكوين الترقيات المطلوبة ل الزناد في وقت محدد، والمقصود أن يتم التنسيق فيما بينهم مشغلي. العقد الحاكمة تصوت دائمًا للترشيح المرغوب الترقيات، اقبل ولكن لا تصوت لترشيح ترقيات صالحة (أي، وافق على النصاب القانوني المحظور)، ولا تصوت لصالحه أبدًا أو قبول ترقيات غير صالحة. صدى validators غير الحاكم أي تصويت يرونه لترقية صالحة، هو في الأساس تفويض القرار بشأن الترقيات المطلوبة لأولئك الذين يختارون ذلك لدور الحكم. 5.4 التنفيذ يوضح الشكل 5 بنية Stellar validator. شيطان يُسمى Stellar-core (∼ 92 ألف سطر من C ++، دون احتساب مكتبات الطرف الثالث) ينفذ بروتوكول SCP وجهاز الحالة المنسوخ. يتطلب إنتاج قيم SCP تقليل أعداد كبيرة من إدخالات دفتر الأستاذ إلى عمليات تشفير صغيرة hashes. وعلى النقيض من ذلك، التحقق من صحة المعاملة وتنفيذها يتطلب البحث عن حالة الحساب ومطابقة الطلب في أفضل الأسعار. لخدمة كلتا الوظيفتين بكفاءة، نجمي النواة يحتفظ بتمثيلين لدفتر الأستاذ: تمثيل خارجي يحتوي على قائمة الجرافة، المخزنة كملفات ثنائية يمكن تحديثه بكفاءة وإعادة hashed بشكل تدريجي، و تمثيل داخلي في قاعدة بيانات SQL (PostgreSQL لعقد الإنتاج). Stellar- يقوم النواة بإنشاء أرشيف محفوظات للكتابة فقط يحتوي على كل مجموعة معاملات تم تأكيدها ولقطات منها دلاء. يتيح الأرشيف للعقد الجديدة أن تقوم بتمهيد نفسها عند الانضمام إلى الشبكة. كما يوفر سجلا لدفتر الأستاذ التاريخ - يجب أن يكون هناك مكان ما يمكن للمرء البحث عنه الصفقة منذ عامين. منذ التاريخ هو إلحاق فقط ولا يتم الوصول إليه بشكل متكرر، ويمكن الاحتفاظ به في أماكن رخيصة مثل Amazon Glacier أو أي خدمة تسمح بالتخزين واسترجاع الملفات المسطحة. عادةً لا يستضيف مضيفو أداة التحقق أرشيفاتهم الخاصة لتجنب أي تأثير على التحقق من الصحة الأداء من خدمة التاريخ. لإبقاء النواة النجمية بسيطة، فهي غير مخصصة للاستخدام مباشرة عن طريق التطبيقات ولا يعرض سوى واجهة ضيقة جدًا لتقديم المعاملات الجديدة. لدعم العملاء، يقوم معظم validators بتشغيل برنامج خفي يسمى Horizon (∼18k خطوط Go) التي توفر واجهة HTTP للإرسال وتعلم المعاملات . Horizon لديه حق الوصول للقراءة فقط قاعدة بيانات SQL الخاصة بـ stellar-core، مما يقلل من مخاطر الأفق زعزعة الاستقرار النجمي. يتم تنفيذ ميزات مثل العثور على مسار الدفع بالكامل في الأفق ويمكن ترقيتها من جانب واحد دون التنسيق مع validators الأخرى. العديد من البرامج الاختيارية ذات الطبقة العليا هي عملاء للأفق، مما يكمل النظام البيئي. يسهل خادم الجسر تكامل Stellar مع الأنظمة الحالية، على سبيل المثال، نشر إشعارات بجميع المدفوعات المستلمة بواسطة حساب معين. أ يوفر خادم الامتثال خطافات للمؤسسات المالية تبادل واعتماد معلومات المرسل والمستفيد بشأن المدفوعات، للامتثال لقوائم العقوبات. وأخيرا، ينفذ خادم الاتحاد تسمية يمكن قراءتها بواسطة الإنسان نظام للحسابات. 6 تجربة النشر Stellar نمت لعدة سنوات إلى دولة معتدلة عدد مشغلي العقدة الكاملة الموثوقين بشكل معقول. ومع ذلك، كانت تكوينات العقد بحيث تكون الحيوية (وإن لم تكن كذلك). السلامة) تعتمد علينا، مؤسسة Stellar التنمية (قسد)؛ لو اختفت قوات الدفاع الذاتي فجأة، مشغلي العقدة الآخرين كان سيحتاج إلى التدخل وإزالتنا يدويًا من شرائح النصاب القانوني لاستمرار الشبكة. في حين أننا والعديد من الآخرين نريد تقليل الأهمية النظامية لقوات سوريا الديمقراطية، فقد حظي هذا الهدف بأولوية متزايدة بعد ذلك قام الباحثون [58] بقياس ونشر مركزية الشبكة دون التمييز بين المخاطر على السلامة حيوية. كان رد فعل عدد من المشغلين هو إجراء تعديلات التكوين النشطة، مما أدى في المقام الأول إلى زيادة حجم طائراتهم شرائح النصاب القانوني في محاولة لتخفيف أهمية قوات سوريا الديمقراطية؛ ومن المفارقات أن هذا أدى فقط إلى زيادة المخاطر على الحيوية. مشكلتان أدت إلى تفاقم الوضع. أولا شعبية تم استخدام أداة مراقبة Stellar التابعة لجهة خارجية [5] بشكل منهجي المبالغة في تقدير وقت تشغيل validator من خلال عدم التحقق فعليًا كان ذلك النواة النجمية يعمل؛ هذا يقود الناس إلى تضمين العقد غير الموثوقة في شرائح النصاب القانوني الخاصة بهم. ثانياً: خطأ في يُقصد بالنواة النجمية بمجرد انتقال validator إلى دفتر الأستاذ التالي، لم يساعد العقد المتبقية بشكل كافٍ في إكمال العقد السابقدفتر الأستاذ في حالة فقدان الرسائل. ونتيجة لذلك، شهدت الشبكة 67 دقيقة من التوقف وكانت مطلوبة التنسيق اليدوي بواسطة مسؤولي validator لإعادة التشغيل. والأسوأ من ذلك، أثناء محاولة إعادة تشغيل الشبكة، أدت عمليات إعادة التكوين السريعة المتزامنة على عقد متعددة في تكوين خاطئ جماعي سمح لبعض العقد بذلك تتباعد، مما يتطلب الإغلاق اليدوي لتلك العقد و إعادة تقديم المعاملات المقبولة أثناء الاختلاف. ولحسن الحظ، تم اكتشاف هذا الاختلاف وتصحيحه بسرعة ولم تحتوي على أي معاملات متضاربة، ولكن خطر فشل الشبكة في التمتع بتقاطع النصاب القانوني— الانقسام مع الاستمرار في قبول التضارب المحتمل المعاملات، وذلك ببساطة بسبب التكوين الخاطئ ملموسة جدا من هذا الحادث. أدت مراجعة هذه التجارب إلى استنتاجين رئيسيين والإجراءات التصحيحية المقابلة.مدفوعات عالمية سريعة وآمنة باستخدام Stellar SOSP '19، 27-30 أكتوبر 2019، هانتسفيل، أونتاريو، كندا حرجة 100% 51% 51% عالية 67% 51% متوسطة 67% 51% منخفض، 67% 51% 51% ... ... ... 51% ... 51% الشكل 6. التسلسل الهرمي لجودة المدقق. أعلى جودة العقد تتطلب الحد الأعلى وهو 100%، في حين يتم ضبط الجودة الأدنى على عتبة 67%. العقد داخل واحدة تتطلب المنظمة أغلبية بسيطة بنسبة 51٪. 6.1 تعقيد التكوين وهشاشته Stellar يعبر عن شرائح النصاب كمجموعات نصاب متداخلة تتكون من n إدخالات وعتبة k حيث توجد أي مجموعة من إدخالات k يشكل شريحة النصاب القانوني. كل من الإدخالات n هو إما validator مفتاح عام أو، بشكل متكرر، مجموعة نصاب أخرى. وعلى الرغم من مرونتنا وصغر حجمنا، فقد حققنا النصاب القانوني المتداخل أتاحت المجموعات في الوقت نفسه لمشغلي العقد مرونة كبيرة جدًا وقليلًا جدًا من التوجيه: كان من السهل كتابة ملفات غير آمنة (أو حتى لا معنى لها) التكوينات. معايير التجميع العقد إلى مجموعات، لتنظيم المجموعات الفرعية في تسلسل هرمي، و لاختيار العتبات كلها كانت غير واضحة بما فيه الكفاية وساهمت في الفشل التشغيلي. ولم يكن من الواضح ما إذا كان الأمر كذلك التعامل مع "المستوى" في التسلسل الهرمي المتداخل كمستوى ثقة، أو منظمة، أو كليهما؛ العديد من التكوينات في هذا المجال اختلطت هذه المفاهيم، بالإضافة إلى تحديد الخطورة أو عتبات لا معنى لها. ولذلك أضفنا آلية تكوين أبسط الذي يفصل بين جانبين من مجموعات النصاب المتداخلة: التجميع العقد معًا حسب المؤسسة، وتصنيف كل مؤسسة بتصنيف ثقة بسيط (منخفض، متوسط، مرتفع، أو حرجة). مطلوب من المنظمات ذات المستوى الأعلى وما فوق ذلك نشر أرشيف التاريخ. يقوم النظام الجديد بتجميع مجموعات النصاب المتداخلة التي يتم فيها تمثيل كل مؤسسة كـ تم تحديد عتبة 51%، ويتم تجميع المنظمات في مجموعات بحدود 67% أو 100% (حسب جودة المجموعة). كل مجموعة عبارة عن إدخال واحد في المجموعة التالية (الأعلى جودة)، كما هو موضح في الشكل 6. هذا النموذج المبسط يقلل من احتمالية التكوين الخاطئ، سواء من حيث الهيكل من المجموعات المتداخلة المركبة والعتبات المختارة كل مجموعة. 6.2 الكشف الاستباقي عن التكوين الخاطئ ثانياً، أدركنا أن اكتشاف سوء التشكيل الجماعي من خلال الانتظار لملاحظة آثاره السلبية قد فات الأوان. خاصة فيما يتعلق بالتكوينات الخاطئة التي يمكن أن تتباعد — أ وضع فشل أكثر خطورة من التوقف — احتياجات الشبكة لتكون قادرًا على اكتشاف التكوين الخاطئ على الفور حتى يتمكن المشغلون من التراجع عنه قبل حدوث أي اختلاف فعليًا. لتلبية هذه الحاجة، قمنا ببناء آلية في برنامج validator تعمل بشكل مستمر على جمع حالة التكوين الجماعية لجميع النظراء في الإغلاق المتعدي للعقدة وتكتشف احتمالية الاختلاف، أي الانفصال النصاب القانوني – ضمن هذا التكوين الجماعي. 6.2.1 التحقق من تقاطع النصاب القانوني على الرغم من أن جمع شرائح النصاب أمر سهل، إلا أن العثور على النصاب المنفصل فيما بينها يعد أمرًا صعبًا [62]. ومع ذلك، اعتمدنا مجموعة من الاستدلالات الخوارزمية وقواعد حذف الحالات اقترحه Lachowski [62] للتحقق من الحالات النموذجية من المشكلة عدة أوامر من حيث الحجم أسرع من تكلفة أسوأ الحالات. من الناحية العملية، الشبكة الحالية تكون عمليات الإغلاق الانتقالية لشريحة النصاب في حدود 20-30 العقد، وباستخدام تحسينات Lachowski، يتم التحقق عادةً في غضون ثوان على وحدة المعالجة المركزية واحدة. إذا دعت الحاجة لتعزيز الأداء، يمكننا موازاة البحث. 6.2.2 التحقق من التكوينات الخطرة يعد اكتشاف أن الشبكة تقبل النصاب القانوني المنفصل بمثابة خطوة في الاتجاه الصحيح، لكنه يشير إلى الخطر في وقت متأخر بشكل غير مريح لمثل هذه القضية الحرجة. من الناحية المثالية، نريد أن يتلقى مشغلو العقد تحذيرات عند التكوين الجماعي للشبكة يقترب فقط من حالة محفوفة بالمخاطر. ولذلك قمنا بتوسيع مدقق تقاطع النصاب القانوني للكشف عن حالة نسميها الحرجية: عندما يكون التيار التكوين الجماعي هو تكوين خاطئ واحد بعيدا عن دولة تقبل النصاب القانوني المنفصل. للكشف عن الأهمية، يقوم المدقق باستبدال تكوين كل مؤسسة بشكل متكرر بمحاكاة تكوين خاطئ لأسوأ الحالات إعادة تشغيل مدقق تقاطع النصاب الداخلي على النتيجة. في حالة وجود أي خطأ فادح في التكوين على بعد خطوة واحدة من الحالة الحالية، يصدر البرنامج تحذيرًا و تقارير المنظمة التي تشكل خطر التكوين الخاطئ. تمنح هذه التغييرات مجتمع المشغلين طبقتين من الإشعار والتوجيه للعزل ضد أسوأ الأشكال من سوء التكوين الجماعي

การประเมิน

เพื่อทำความเข้าใจความเหมาะสมของ Stellar ในฐานะการชำระเงินทั่วโลกและ เครือข่ายการซื้อขาย เราประเมินสถานะของเครือข่ายสาธารณะ และทำการทดลองแบบควบคุมในการทดลองส่วนตัว เครือข่าย เรามุ่งเน้นไปที่คำถามต่อไปนี้: • โทโพโลยีเครือข่ายการผลิตมีลักษณะอย่างไร? โดยเฉลี่ยจะออกอากาศกี่ข้อความ และ SCP ประสบกับการหมดเวลาอย่างไร • เวลาแฝงในการอัปเดตฉันทามติและบัญชีแยกประเภทยังคงไม่ขึ้นอยู่กับจำนวนบัญชีหรือไม่SOSP '19, 27–30 ตุลาคม 2019, Huntsville, ON, แคนาดา โลกาวา และคณะ • เวลาแฝงจะได้รับผลกระทบอย่างไรจากการเพิ่ม (ก) ธุรกรรมต่อวินาที (และผลที่ตามมาคือ ธุรกรรมต่อ บัญชีแยกประเภท) และ (b) จำนวน validator โหนด? • ค่าใช้จ่ายในการรันโหนดในแง่ของ CPU คือเท่าไร หน่วยความจำและแบนด์วิธเครือข่าย? เครือข่ายการชำระเงินมีอัตราการทำธุรกรรมต่ำเมื่อเปรียบเทียบ ไปยังระบบกระจายประเภทอื่นๆ blockchains ชั้นนำ Bitcoin และ Ethereum ยืนยันธุรกรรมสูงสุด 15 รายการ/วินาที น้อยกว่า Stellar นอกจากนี้ระบบเหล่านี้ยังใช้เวลาเพียงไม่กี่นาที หนึ่งชั่วโมงเพื่อยืนยันธุรกรรมอย่างปลอดภัย เนื่องจากการพิสูจน์การทำงานต้องรอหลายบล็อคจึงจะขุดได้ ที่ ไม่ใช่-blockchain เครือข่าย SWIFT เฉลี่ยเพียง 420 ธุรกรรมต่อวินาทีในวันที่มีการใช้งานสูงสุด [14] เราจึงเลือก เพื่อเปรียบเทียบการวัดของเรากับเป้าหมาย 5 วินาที ช่วงบัญชีแยกประเภทซึ่งเป็นเป้าหมายเชิงรุกมากขึ้น ผลลัพธ์ของเราแสดงให้เห็น เวลาแฝงนั้นต่ำกว่าขีดจำกัดนี้อย่างสบายใจด้วย การเพิ่มประสิทธิภาพที่ยังไม่ได้ใช้งานหลายอย่างยังคงอยู่ในขั้นตอนการทำงาน 7.1 จุดยึด สินทรัพย์ที่มีการซื้อขายสูงสุดตามปริมาณ ได้แก่ สกุลเงิน (เช่น 3 USD จุดยึด 2 หยวน) จุดยึด Bitcoin การรักษาความปลอดภัยที่ได้รับการสนับสนุนจากอสังหาริมทรัพย์ token [92] และสกุลเงินในแอป [8] แองเคอร์ที่ต่างกันมีนโยบายที่แตกต่างกัน ตัวอย่างเช่น สมอหนึ่งดอลลาร์สหรัฐ Stronghold ตั้งค่า auth_reqired และต้องการกระบวนการ Know-yourcustomer (KYC) สำหรับทุกบัญชีที่ถือครอง สินทรัพย์ อีกอันคือ AnchorUSD ใครๆ ก็รับและซื้อขายกัน USD ของพวกเขา (ทำให้สามารถส่ง $0.50 ไปยังเม็กซิโกได้อย่างแท้จริง ใน 5 วินาทีโดยมีค่าธรรมเนียม $0.000001) อย่างไรก็ตาม AnchorUSD ต้องใช้ KYC และค่าธรรมเนียมในการซื้อหรือแลก USD ด้วยการโอนเงินแบบธรรมดา ในประเทศฟิลิปปินส์ที่ไหน กฎระเบียบของธนาคารเข้มงวดกว่าสำหรับการชำระเงินที่เข้ามา, Coins.ph รองรับการถอนเงิน PHP ที่ตู้ ATM ใดก็ได้ [36] นอกเหนือจากการรักษาความปลอดภัย token ที่กล่าวมาข้างต้นและสกุลเงินในแอปแล้ว ยังมี token ที่ไม่ใช่สกุลเงินที่หลากหลายตั้งแต่ พันธบัตรเชิงพาณิชย์ [22] และคาร์บอนเครดิต [85, 96] ขึ้นไปอีก เนื้อหาลึกลับ เช่น token ที่จูงใจในการทำงานร่วมกัน การยึดรถ [35]. 7.2 เครือข่ายสาธารณะ ในขณะที่เขียนบทความนี้ มีโหนดเต็มรูปแบบที่ใช้งานอยู่ 126 โหนด โดยในจำนวนนี้มี 66 โหนด มีส่วนร่วมในการลงมติโดยการลงนามในข้อความลงคะแนนเสียง รูปที่ 7 (สร้างโดย [5]) แสดงภาพเครือข่ายโดยมีเส้นแบ่งระหว่าง สองโหนดหากมีอันหนึ่งปรากฏในส่วนโควรัมของอีกอันหนึ่งและ เส้นสีน้ำเงินเข้มเพื่อแสดงการพึ่งพาแบบสองทิศทาง ที่ center คือกลุ่มของ 17 de facto “tier-one validators” ที่ดำเนินการโดยพฤตินัย SDF, SatoshiPay, LOBSTR, COINQVEST และ Keybase เมื่อสี่เดือนก่อนก่อนเกิดเหตุการณ์มาตรา 6 ที่นั่น มี 15 โหนดที่สำคัญอย่างเป็นระบบ: 3 โหนดจากที่ดูเหมือน องค์กรระดับหนึ่งและซิงเกิลตันแบบสุ่มหลายรายการ ที่ กราฟยังดูไม่ปกติมากนัก ดังนั้นกลไกการกำหนดค่าใหม่และ/หรือการตัดสินใจของผู้ปฏิบัติงานที่ดีขึ้นจึงดูเหมือน เพื่อสนับสนุนโทโพโลยีเครือข่ายที่ดียิ่งขึ้น โดยไม่ต้อง ทรัพยากรทางการเงินที่ยอดเยี่ยม (และผู้ถือหุ้นที่เกี่ยวข้อง รูปที่ 7 แผนที่ชิ้นโควรัม ภาระผูกพัน) คงเป็นเรื่องยากที่จะรับสมัคร 5 ระดับหนึ่ง องค์กรตั้งแต่เริ่มต้นอย่างไรก็ตาม นี่แสดงว่าองค์ประชุม สไลซ์มีบทบาทสำคัญในการบูตเครือข่าย: ใครๆ ก็สามารถทำได้ เข้าร่วมโดยมีเป้าหมายในการเป็นผู้เล่นคนสำคัญเพราะว่า ไม่มีผู้เฝ้าประตูที่จะตกลงกันเป็นคู่ ขณะนี้มีบัญชีมากกว่า 3.3 ล้านบัญชีในบัญชีแยกประเภท จบแล้ว ในช่วง 24 ชั่วโมงล่าสุด Stellar เฉลี่ย 4.5 ธุรกรรม และ การดำเนินงาน 15.7 ต่อวินาที การตรวจสอบบัญชีแยกประเภทล่าสุดส่วนใหญ่ ธุรกรรมดูเหมือนจะมีการดำเนินการเพียงครั้งเดียว ในขณะที่ทุก ๆ สองสามรายการ บัญชีแยกประเภทที่เราเห็นธุรกรรมที่มีการดำเนินการหลายอย่างนั้น ดูเหมือนจะมาจากผู้ดูแลสภาพคล่องที่จัดการข้อเสนอ ที่ เวลาเฉลี่ยเพื่อให้บรรลุฉันทามติและปรับปรุงบัญชีแยกประเภทได้ 1,061 มิลลิวินาที และ 46 มิลลิวินาที ตามลำดับ เปอร์เซ็นไทล์ที่ 99 คือ 2252 ms และ 142 ms (อันแรกสะท้อนการหมดเวลา 1 วินาที ในการคัดเลือกผู้นำการเสนอชื่อ) หมายเหตุประสิทธิภาพของ SCP คือ ส่วนใหญ่ไม่ขึ้นอยู่กับธุรกรรมต่อวินาที ตั้งแต่ SCP เห็นด้วยกับ hash ของธุรกรรมจำนวนมากโดยพลการ คอขวดมีแนวโน้มที่จะเกิดจากการเผยแพร่ผู้สมัคร ธุรกรรมระหว่างการเสนอชื่อ การดำเนินการ และการตรวจสอบความถูกต้อง ธุรกรรมและการรวมถัง เรายังไม่ต้องการ เพื่อทำการประมวลผลธุรกรรมของ stellar-core แบบขนานบนแกน CPU หรือดิสก์ไดรฟ์หลายตัว เรายังประเมินจำนวนข้อความ SCP ที่ออกอากาศด้วย บนเครือข่ายการผลิต ในกรณีปกติที่มีตัวเดียว ผู้นำเลือกที่จะเสนอชื่อค่าเราคาดหวังเจ็ดตรรกะ ข้อความที่จะออกอากาศ: สองข้อความที่จะโหวตและยอมรับ โนมิคำสั่งเนท สองข้อความที่ต้องยอมรับและยืนยัน เตรียมคำสั่งสองข้อความเพื่อยอมรับและยืนยัน คำสั่งยืนยันและสุดท้ายคือข้อความภายนอก (ส่งหลังจากทำบัญชีแยกประเภทใหม่ไปยังดิสก์เพื่อช่วยเหลือผู้หลงทาง ตามทัน) การใช้งานจะรวมการยืนยันการคอมมิต และส่งออกข้อความเป็นการเพิ่มประสิทธิภาพ เนื่องจากเป็นเช่นนั้น ปลอดภัยในการแปลงค่าภายนอกหลังจากที่มีการดำเนินการแล้ว จากนั้นเราจะวิเคราะห์ตัวชี้วัดที่รวบรวมจากการผลิต Stellar validator จบแล้ว ตลอดระยะเวลา 68 ชั่วโมง มีการส่งข้อความ 1.3 ข้อความ/วินาที โดยเฉลี่ย 6-7 ข้อความต่อบัญชีแยกประเภท เราสังเกตว่ายอดรวม

การชำระเงินทั่วโลกที่รวดเร็วและปลอดภัยด้วย Stellar SOSP '19, 27–30 ตุลาคม 2019, Huntsville, ON, แคนาดา เปอร์เซ็นต์ไทล์ จำนวนการหมดเวลา การสรรหา การลงคะแนนเสียง 75% 0 0 99% 1 0 สูงสุด 4 1 รูปที่ 8 การหมดเวลาต่อบัญชีแยกประเภทเกิน 68 ชั่วโมง จำนวนข้อความที่ออกอากาศโดย validators นั้นมากกว่า เนื่องจากใน นอกเหนือจากข้อความการลงคะแนนแบบรวมศูนย์แล้ว โหนดยังออกอากาศอีกด้วย ธุรกรรมใดๆ ที่พวกเขาเรียนรู้ รูปที่ 8 แสดงการหมดเวลาที่เกิดขึ้นจากการผลิต validator ในช่วง 68 ชั่วโมง หมดเวลาการเสนอชื่อคือ การวัดประสิทธิภาพ (ใน) ของฟังก์ชันการเลือกตั้งผู้นำ ในขณะที่การหมดเวลาของบัตรลงคะแนนจะขึ้นอยู่กับเครือข่ายเป็นอย่างมาก และข้อความอาจล่าช้า การหมดเวลามีความสอดคล้องกัน ด้วยจำนวนข้อความที่ส่ง: หกข้อความใน สถานการณ์กรณีที่ดีที่สุด และข้อความอย่างน้อยเจ็ดข้อความหากจำเป็นต้องมีการเสนอชื่อเพิ่มเติม 7.3 การทดลองที่มีการควบคุม เราทำการทดลองแบบควบคุมในภาชนะที่บรรจุไว้ อินสแตนซ์ Amazon EC2 c5d.9xlarge พร้อม RAM ขนาด 72 GiB NVMe SSD ขนาด 900 GB และ vCPU 36 ตัว แต่ละกรณีอยู่ใน ภูมิภาค EC2 เดียวกันและมีแบนด์วิดท์คงที่ 10 Gbps เราใช้ SQLite เป็นร้านค้า (Stellar ยังรองรับ PostgreSQL ด้วย แต่มีงานแบบอะซิงโครนัสที่ส่งเสียงรบกวนเข้าสู่การวัด) Stellar ให้แบบสอบถามรันไทม์ในตัว, Generateload, ที่ช่วยให้สามารถสร้างโหลดสังเคราะห์ที่เป้าหมายเฉพาะได้ ธุรกรรม/อัตราที่สอง แม้ว่า Stellar รองรับหลากหลาย คุณสมบัติการซื้อขาย เช่น หนังสือสั่งซื้อและเส้นทางข้ามสินทรัพย์ การชำระเงิน เราเน้นการชำระเงินแบบง่ายๆ การยืนยันธุรกรรมประกอบด้วยหลายขั้นตอนดังนั้นเราจึง บันทึกการวัดสำหรับแต่ละสิ่งต่อไปนี้: • การสรรหา: ระยะเวลาตั้งแต่การเสนอชื่อจนถึงการเตรียมการครั้งแรก • การลงคะแนนเสียง: ระยะเวลาตั้งแต่การเตรียมการครั้งแรกจนถึงการยืนยัน ก ลงคะแนนเสียงแล้ว • การอัปเดตบัญชีแยกประเภท: ถึงเวลาใช้มูลค่าที่เป็นเอกฉันท์ • จำนวนธุรกรรม: ธุรกรรมที่ยืนยันต่อบัญชีแยกประเภท การทดลองแต่ละครั้งของเราถูกกำหนดโดยพารามิเตอร์สามตัว: จำนวนรายการบัญชีในบัญชีแยกประเภท, จำนวนเงิน โหลด (ในรูปแบบของการชำระเงิน XLM) ที่ส่งต่อวินาที และจำนวน validators เรากำหนดค่าทุก ๆ validator เพื่อทราบเกี่ยวกับ validator อื่นๆ ทั้งหมด (สถานการณ์ที่เลวร้ายที่สุด สำหรับ SCP) โดยกำหนดให้โควรัมเป็นส่วนใหญ่อย่างง่าย โหนด (เพื่อเพิ่มจำนวนองค์ประชุมที่แตกต่างกันให้สูงสุด) พื้นฐาน การทดสอบพื้นฐานของเราวัดได้ Stellar ด้วย 100,000 บัญชี สี่ validators และการสร้างโหลด อัตราการทำธุรกรรม 100 รายการ/วินาที เราสังเกตธุรกรรม 507 รายการต่อบัญชีแยกประเภทโดยเฉลี่ย โดยมีค่าเบี่ยงเบนมาตรฐานอยู่ที่ 49 (9.7%) โปรดทราบว่าไม่มีธุรกรรมใดตกหล่น เล็กน้อย 105 106 107 0 500 1,000 1,500 2,000 บัญชี เวลาแฝง [ms] การปรับปรุงบัญชีแยกประเภท การลงคะแนนเสียง การสรรหา รูปที่ 9. เวลาแฝงเมื่อจำนวนบัญชีเพิ่มขึ้น ความแปรปรวนเกิดจากข้อจำกัดด้านตารางเวลาของตัวสร้างโหลด เราสังเกตว่าจำนวนธุรกรรมต่อบัญชีแยกประเภท สอดคล้องกับอัตราการสร้างโหลดของเรา ตามบัญชีแยกประเภท ปิดทุกๆ 5 วินาที การสรรหา การลงคะแนนเสียง และบัญชีแยกประเภท การอัปเดตแสดงเวลาแฝงเฉลี่ย 82.53 ms, 95.96 ms และ 174.08 มิลลิวินาที ตามลำดับ เราสังเกตเห็นความล่าช้าในการเสนอชื่อ เปอร์เซ็นไทล์ที่ 99 ต่ำกว่า 61 มิลลิวินาทีอย่างสม่ำเสมอ โดยอาจมีเป็นครั้งคราว เพิ่มขึ้นประมาณ 1 วินาที ซึ่งสอดคล้องกับก้าวแรก ในฟังก์ชันหมดเวลาของการเลือกผู้นำ เมื่อพิจารณาถึงประสิทธิภาพพื้นฐานแล้ว เราจึงพิจารณาถึงผลกระทบ ของการเปลี่ยนแปลงพารามิเตอร์การตั้งค่าการทดสอบแต่ละรายการ บัญชี ข้อมูลในรูปที่ 9 แสดงให้เห็นว่า Stellar ปรับขนาด รวมถึงจำนวนบัญชีที่เพิ่มขึ้น การสร้างแบบทดสอบ บัญชีกลายเป็นกระบวนการที่ใช้เวลานาน เช่น การสร้างที่เก็บข้อมูลและ การรวมเข้าด้วยกันทำให้เราไม่สามารถเติมฐานข้อมูลได้อย่างง่ายดาย ด้วยบัญชีโดยตรงผ่าน SQL ดังนั้นเราจึงดำเนินการของเรา ทดลองได้ถึง 50,000,000 บัญชี ในขณะที่มี ผลกระทบน้อยที่สุดต่อเวลาแฝงในการอัปเดตฉันทามติและบัญชีแยกประเภท เราทราบว่าการเพิ่มบัญชีทำให้เกิดค่าใช้จ่าย การรวมถังซึ่งมีขนาดใหญ่ขึ้น อัตราการทำธุรกรรม อัตราการทำธุรกรรมส่งผลกระทบต่อจำนวนเงิน ทราฟฟิกมัลติคาสต์ระหว่าง validators จำนวนธุรกรรมที่รวมอยู่ในแต่ละบัญชีแยกประเภท และขนาดของระดับบนสุด ถัง เพื่อให้เข้าใจถึงผลกระทบของการทำธุรกรรมที่เพิ่มขึ้น โหลดเลย เราทำการทดสอบกับ 100,000 บัญชีและ 4 validators รูปที่ 10 แสดงการเติบโตที่ช้าในเวลาแฝงที่เป็นเอกฉันท์ ในขณะที่ใช้เวลาส่วนใหญ่ในการอัปเดตบัญชีแยกประเภท ไม่น่าแปลกใจเลยที่ชุดธุรกรรมมีขนาดเพิ่มขึ้น ใช้เวลานานกว่าในการส่งไปยังฐานข้อมูล เรายังทราบด้วยว่า เวลาแฝงในการอัปเดตบัญชีแยกประเภทขึ้นอยู่กับการใช้งานอย่างมาก และได้รับผลกระทบจากการเลือกฐานข้อมูล โหนดตัวตรวจสอบ หากต้องการดูว่าจำนวน tierone validators เพิ่มขึ้นเพียงใดส่งผลต่อประสิทธิภาพ เราได้ทำการทดลอง ด้วยบัญชี 100,000 บัญชี 100 ธุรกรรม/วินาที และจำนวน validators ที่แตกต่างกันตั้งแต่ 4 ถึง 43 validators ทั้งหมดปรากฏขึ้น ในส่วนโควรัมของ validators ทั้งหมด ชิ้นโควรัมที่มีขนาดเล็กลง มีผลกระทบต่อประสิทธิภาพน้อยกว่าSOSP '19, 27–30 ตุลาคม 2019, Huntsville, ON, แคนาดา โลกาวา และคณะ 100 150 200 250 300 350 0 500 1,000 1,500 2,000 โหลด [ธุรกรรม/วินาที] เวลาแฝง [ms] การปรับปรุงบัญชีแยกประเภท การลงคะแนนเสียง การสรรหา รูปที่ 10 เวลาแฝงเมื่อโหลดธุรกรรมเพิ่มขึ้น 10 20 30 40 0 500 1,000 1,500 2,000 ผู้ตรวจสอบความถูกต้อง เวลาแฝง [ms] การปรับปรุงบัญชีแยกประเภท การลงคะแนนเสียง การสรรหา รูปที่ 11. เวลาแฝงเมื่อจำนวนโหนดเพิ่มขึ้น การเปลี่ยนจำนวนโหนดตรวจสอบความถูกต้องบนเครือข่าย ส่งผลกระทบต่อจำนวนข้อความ SCP ที่มีการแลกเปลี่ยนเช่นกัน จำนวนค่าที่เป็นไปได้ในระหว่างการเสนอชื่อ รูปที่ 11 แสดงเวลาการเสนอชื่อที่เพิ่มขึ้นในอัตราที่ค่อนข้างน้อย แม้ว่าข้อมูลจะชี้ให้เห็นว่าการลงคะแนนเสียงถือเป็นปัญหาคอขวด แต่เรา เชื่อว่าปัญหาการปรับขนาดหลายอย่างสามารถแก้ไขได้ด้วยการปรับปรุง เครือข่ายซ้อนทับของ Stellar เพื่อเพิ่มประสิทธิภาพการรับส่งข้อมูลเครือข่าย เช่น ที่คาดไว้ เวลาแฝงในการอัปเดตบัญชีแยกประเภทยังคงไม่ขึ้นอยู่กับ จำนวนโหนด อัตราปิด สุดท้ายนี้ เราต้องการวัดประสิทธิภาพตั้งแต่ต้นจนจบของ Stellar โดยการวัดความถี่ในการยืนยันบัญชีแยกประเภท และ Stellar บรรลุเป้าหมาย 5 วินาทีโดยไม่ วางธุรกรรมใด ๆ เราสังเกตเห็นการปิดบัญชีแยกประเภทโดยเฉลี่ย เท่าของ 5.03 วิ, 5.10 วิ และ 5.15 วิ เมื่อเราเพิ่มบัญชี รายการ อัตราการทำธุรกรรม และจำนวนโหนด ตามลำดับ ผลลัพธ์แนะนำว่า Stellar สามารถปิดบัญชีแยกประเภทได้อย่างสม่ำเสมอ ภายใต้ภาระสูง 7.4 กำลังเรียกใช้ validator คุณสมบัติที่สำคัญอย่างหนึ่งของ Stellar คือต้นทุนที่ต่ำ ใช้งาน validator ตามที่จุดยึดควรทำงาน (หรือทำสัญญาด้วย) validators เพื่อบังคับใช้ขั้นสุดท้าย SDF รันการผลิต 3 รายการ validators ทั้งหมดบนอินสแตนซ์ AWS c5.large ซึ่งมี 2 คอร์ RAM 4 GiB และ CPU Intel(R) Xeon(R) Platinum 8124M @ โปรเซสเซอร์ 3.00GHz การตรวจสอบการใช้ทรัพยากรในที่เดียว ของเครื่องเหล่านี้ เราสังเกตเห็นการใช้กระบวนการ Stellar CPU ประมาณ 7% และหน่วยความจำ 300 MiB ในแง่ของการรับส่งข้อมูลเครือข่าย โดยมีการเชื่อมต่อกับเพียร์ 28 รายการและขนาดองค์ประชุม จาก 34 อัตราขาเข้าและขาออกอยู่ที่ 2.78 Mbit/s และ 2.56 Mbit/s ตามลำดับ ฮาร์ดแวร์ที่จำเป็นในการทำงานดังกล่าว กระบวนการมีราคาไม่แพง ในกรณีของเรา ค่าใช้จ่ายคือ 0.054 USD/ชั่วโมง หรือประมาณ $40/เดือน 7.5 งานในอนาคต การทดลองเหล่านี้แนะนำว่า Stellar สามารถปรับขนาดคำสั่งซื้อ 1–2 รายการได้อย่างง่ายดาย ยิ่งใหญ่เกินกว่าการใช้งานเครือข่ายในปัจจุบัน เพราะว่า ความต้องการด้านประสิทธิภาพนั้นค่อนข้างเรียบง่ายจนถึงปัจจุบัน Stellar เหลือพื้นที่ไว้สำหรับการเพิ่มประสิทธิภาพแบบตรงไปตรงมาหลายอย่างโดยใช้ เทคนิคที่รู้จักกันดี ตัวอย่างเช่น ธุรกรรมและ SCP ข้อความถูกถ่ายทอดโดย validators โดยใช้การฟลัดแบบไร้เดียงสา โปรโตคอล แต่ควรใช้อย่างมีประสิทธิภาพและมีโครงสร้างมากกว่า มัลติคาสต์แบบเพียร์ทูเพียร์ [30] นอกจากนี้ฐานข้อมูลยังหนัก เวลาในการอัปเดตบัญชีแยกประเภทสามารถปรับปรุงได้โดยใช้เทคนิคการแบทช์มาตรฐานและการดึงข้อมูลล่วงหน้า

Stellar network quorum slice map showing validator nodes and their bidirectional dependencies

تقييم

Stellar network quorum slice map showing validator nodes and their bidirectional dependencies

لفهم مدى ملاءمة Stellar كدفعة عالمية و شبكة التداول، قمنا بتقييم حالة الشبكة العامة وأجرى تجارب مضبوطة على تجربة خاصة شبكة. ركزنا على الأسئلة التالية: • كيف تبدو طوبولوجيا شبكة الإنتاج؟ كم عدد الرسائل التي يتم بثها في المتوسط، و كيف يواجه SCP المهلات؟ • هل يظل زمن الاستجابة لتحديث الإجماع ودفتر الأستاذ مستقلاً عن عدد الحسابات؟SOSP '19، 27-30 أكتوبر 2019، هانتسفيل، أونتاريو، كندا لوخافا وآخرون. • كيف تتأثر فترات الاستجابة بزيادة (أ) المعاملات في الثانية (وبالتالي المعاملات في كل ثانية). دفتر الأستاذ)، و(ب) عدد العقد validator؟ • ما هي تكلفة تشغيل العقدة من حيث وحدة المعالجة المركزية، الذاكرة وعرض النطاق الترددي للشبكة؟ تتمتع شبكات الدفع بمعدلات معاملات منخفضة مقارنة إلى أنواع أخرى من النظام الموزع. الرائدة blockchains، Bitcoin وEthereum، تأكيد ما يصل إلى 15 معاملة في الثانية، أقل من Stellar. علاوة على ذلك، تستغرق هذه الأنظمة دقائق ساعة لتأكيد المعاملة بشكل آمن، لأن إثبات العمل يتطلب الانتظار حتى يتم تعدين عدة كتل. ال بلغ متوسط شبكة غير blockchain SWIFT 420 معاملة في الثانية فقط في يوم الذروة [14]. لذلك اخترنا لمقارنة قياساتنا مع هدف الـ 5 ثواني الفاصل الزمني دفتر الأستاذ، وهو هدف أكثر عدوانية. تظهر نتائجنا أن زمن الوصول أقل من هذا الحد بشكل مريح حتى مع العديد من التحسينات غير المنفذة لا تزال قيد التنفيذ. 7.1 المراسي تشمل الأصول الأكثر تداولًا من حيث الحجم العملة (على سبيل المثال، 3 دولارات أمريكية المرساة، 2 يوان صيني)، المرساة Bitcoin، والأمان المدعوم بالعقارات token [92]، والعملة داخل التطبيق [8]. المراسي المختلفة لها سياسات مختلفة. على سبيل المثال، مرساة واحدة بالدولار الأمريكي، Stronghold، يقوم بتعيين auth_reqired ويتطلب عملية معرفة عميلك (KYC) لكل حساب يحتفظ به الأصول. آخر، AnchorUSD، يتيح لأي شخص الاستلام والتداول الدولار الأمريكي (مما يجعل من الممكن حرفيًا إرسال 0.50 دولارًا إلى المكسيك في 5 ثواني برسوم قدرها 0.000001 دولار). ومع ذلك، مرساةUSD يتطلب KYC ورسومًا لشراء أو استرداد الدولار الأمريكي مع التحويلات البرقية التقليدية. في الفلبين حيث تعتبر اللوائح المصرفية أكثر مرونة فيما يتعلق بالمدفوعات الواردة، والعملات المعدنية يدعم صرف PHP من أي ماكينة صراف آلي [36]. بالإضافة إلى الأمان المذكور أعلاه token والعملة داخل التطبيق، هناك مجموعة من العملات غير token تتراوح من السندات التجارية [22] وأرصدة الكربون [85، 96] وأكثر الأصول الباطنية مثل token التحفيز التعاوني استعادة ملكية السيارة [35]. 7.2 شبكة عامة حتى كتابة هذه السطور، هناك 126 عقدة كاملة نشطة، 66 منها المشاركة في الإجماع من خلال التوقيع على رسائل التصويت. الشكل 7 (تم إنشاؤه بواسطة [5]) يصور الشبكة، مع وجود خط بينهما عقدتان إذا ظهرت إحداهما في شرائح النصاب القانوني للأخرى و أ خط أزرق غامق لإظهار الاعتماد ثنائي الاتجاه. في المركز عبارة عن مجموعة من 17 "المستوى الأول validators" بحكم الأمر الواقع يديرها SDF، وSatoshiPay، وLOBSTR، وCOINQVEST، وKeybase. قبل أربعة أشهر، قبل أحداث القسم السادس، هناك كانت هناك 15 عقدة ذات أهمية نظامية: 3 منها على ما يبدو منظمات من المستوى الأول والعديد من المفردات العشوائية. ال بدا الرسم البياني أيضًا أقل انتظامًا. ومن ثم، تظهر آلية التكوين الجديدة و/أو قرارات المشغل الأفضل للمساهمة في طوبولوجيا الشبكة الأكثر صحة. بدون موارد مالية كبيرة (والمساهمين المقابلين الشكل 7. خريطة شريحة النصاب القانوني الالتزامات)، كان من الصعب تعيين 5 الطبقة الأولى لكن المنظمات منذ البداية. وهذا يشير إلى النصاب القانوني تلعب الشرائح دورًا مفيدًا في تمهيد الشبكة: يمكن لأي شخص ذلك انضم بهدف أن تصبح لاعبًا مهمًا بسبب لا يوجد حراس على الاتفاق الزوجي. يوجد حاليًا أكثر من 3.3 مليون حساب في دفتر الأستاذ. انتهى خلال فترة 24 ساعة الأخيرة، بلغ متوسط Stellar 4.5 معاملة و 15.7 عملية في الثانية. مراجعة دفاتر الأستاذ الأخيرة، أكثر يبدو أن المعاملات لديها عملية واحدة، في حين أن كل عدد قليل دفاتر الأستاذ نرى المعاملات التي تحتوي على العديد من العمليات التي يبدو أنها تأتي من صانعي السوق الذين يديرون العروض. ال متوسط الأوقات لتحقيق الإجماع وتحديث دفتر الأستاذ كان 1061 مللي ثانية و 46 مللي ثانية على التوالي. وكانت النسب المئوية 99 2252 مللي ثانية و142 مللي ثانية (يعكس الأول مهلة مدتها ثانية واحدة في اختيار زعيم الترشيح). لاحظ أن أداء SCP هو معظمها مستقلة عن المعاملات في الثانية الواحدة، منذ SCP يوافق على hash من العديد من المعاملات بشكل تعسفي. من المرجح أن تنشأ الاختناقات من نشر المرشح المعاملات أثناء الترشيح والتنفيذ والمصادقة المعاملات، ودمج الدلاء. لم نحتاج بعد لموازاة معالجة المعاملات الخاصة بـ Stellar-core عبر عدة مراكز لوحدة المعالجة المركزية أو محركات الأقراص. قمنا أيضًا بتقييم عدد رسائل SCP التي يتم بثها على شبكة الإنتاج. في الحالة العادية مع واحد الزعيم المنتخب لترشيح قيمة، نتوقع سبعة منطقية الرسائل التي سيتم بثها: رسالتان للتصويت والقبول نوميبيان نيت، رسالتين للقبول والتأكيد بيان إعداد، رسالتين للقبول والتأكيد بيان الالتزام، وأخيرا، رسالة خارجية (تم إرساله بعد الالتزام بدفتر أستاذ جديد على القرص لمساعدة المتطرفين اللحاق). يجمع التنفيذ بين تأكيد الالتزام وإضفاء الطابع الخارجي على الرسائل كتحسين، لأنه كذلك من الآمن إضفاء الطابع الخارجي على القيمة بعد الالتزام بها. نقوم بعد ذلك بتحليل المقاييس المجمعة على الإنتاج Stellar validator. انتهى على مدار 68 ساعة، تم بث 1.3 رسالة في الثانية، بمتوسط 6-7 رسائل لكل دفتر. ونلاحظ أن المجموع

مدفوعات عالمية سريعة وآمنة باستخدام Stellar SOSP '19، 27-30 أكتوبر 2019، هانتسفيل، أونتاريو، كندا المئوي عدد المهلات الترشيح الاقتراع 75% 0 0 99% 1 0 ماكس 4 1 الشكل 8. المهلة لكل دفتر الأستاذ أكثر من 68 ساعة عدد الرسائل التي يتم بثها بواسطة validators أكبر، منذ عام بالإضافة إلى رسائل التصويت الموحد، يتم أيضًا بث العقد أي معاملات يتعلمون عنها. ويبين الشكل 8 المهلات التي يمر بها الإنتاج validator خلال فترة 68 ساعة. مهلة الترشيح هي وهو مقياس لمدى (عدم) فعالية وظيفة انتخاب القائد، في حين أن مهلة الاقتراع تعتمد بشكل كبير على الشبكة والتأخير المحتمل للرسائل. المهلات متسقة مع عدد الرسائل المرسلة: ستة رسائل في أفضل السيناريوهات، وسبع رسائل على الأقل إذا كانت هناك حاجة إلى جولة ترشيح إضافية. 7.3 التجارب الخاضعة للرقابة أجرينا تجارب مضبوطة في حاويات معبأة مثيلات Amazon EC2 c5d.9xlarge مع 72 جيجابايت من ذاكرة الوصول العشوائي، 900 جيجابايت من NVMe SSD و36 وحدة معالجة مركزية افتراضية. كل مثيل كان في نفس منطقة EC2 وكان لها عرض نطاق ترددي ثابت يبلغ 10 جيجابت في الثانية. استخدمنا SQLite كمتجر. (Stellar يدعم أيضًا PostgreSQL، ولكن هذا يحتوي على مهام غير متزامنة تضخ الضوضاء في القياسات.) يوفر Stellar استعلامًا مدمجًا في وقت التشغيل، وإنشاء التحميل، الذي يسمح بتوليد حمل اصطناعي على هدف محدد المعاملة/المعدل الثاني. على الرغم من أن Stellar يدعم العديد من ميزات التداول، مثل دفتر الطلبات ومسار الأصول المشتركة المدفوعات، ركزنا على المدفوعات البسيطة. يتكون تأكيد المعاملات من خطوات متعددة، لذلك نحن سجلت القياسات لكل مما يلي: • الترشيح: الوقت منذ الترشيح وحتى الإعداد الأول • الاقتراع: الوقت من الإعداد الأول إلى التأكيد ارتكبت الاقتراع • تحديث دفتر الأستاذ: حان الوقت لتطبيق القيمة المتفق عليها • عدد المعاملات: المعاملات المؤكدة لكل دفتر الأستاذ تم تعريف كل تجربة من تجاربنا من خلال ثلاث معلمات: عدد إدخالات الحساب في دفتر الأستاذ، ومبلغ التحميل (في شكل دفعات XLM) المقدمة في الثانية، وعدد validators. قمنا بتكوين كل validator لمعرفة المزيد عن كل validator (السيناريو الأسوأ بالنسبة إلى SCP)، مع تعيين شرائح النصاب القانوني على أي أغلبية بسيطة من العقد (بسبب زيادة عدد النصاب القانوني المختلفة). خط الأساس تم قياس تجربتنا الأساسية بـ Stellar بـ 100000 حساب، وأربعة validators، وتوليد التحميل معدل 100 معاملة / ثانية. لقد لاحظنا 507 معاملة لكل دفتر أستاذ في المتوسط، مع انحراف معياري قدره 49 (9.7%). لاحظ أنه لم يتم إسقاط أية معاملات؛ الطفيف 105 106 107 0 500 1000 1500 2000 الحسابات الكمون [مللي ثانية] تحديث دفتر الأستاذ الاقتراع الترشيح الشكل 9. الكمون مع زيادة عدد الحسابات يرجع التباين إلى قيود الجدولة الخاصة بمولد الحمل. لاحظنا أن عدد المعاملات لكل دفتر الأستاذ كان متسقًا مع معدل توليد التحميل لدينا، نظرًا لدفتر الأستاذ إغلاق كل 5 ثواني الترشيح والاقتراع وسجل الأستاذ أظهر التحديث متوسط زمن الوصول 82.53 مللي ثانية، 95.96 مللي ثانية، و 174.08 مللي ثانية، على التوالي. لاحظنا أن الكمون الترشيح النسبة المئوية 99 دائمًا أقل من 61 مللي ثانية، مع بعض الأحيان طفرات مدتها ثانية واحدة تقريبًا، تتوافق مع الخطوة الأولى في وظيفة المهلة لاختيار القائد. وبالنظر إلى الأداء الأساسي، نظرنا إلى التأثيرات من تغيير كل من معلمات إعداد الاختبار. الحسابات تشير البيانات الواردة في الشكل 9 إلى أن المقياس Stellar وكذلك عدد الحسابات يزيد. جيل الاختبار أصبحت الحسابات عملية طويلة، حيث أن إنشاء الدلو و لقد منعنا الدمج من ملء قاعدة البيانات ببساطة مع الحسابات مباشرة عبر SQL. ولذلك، أجرينا لدينا تجارب لما يصل إلى 50,000,000 حساب. في حين أن هناك الحد الأدنى من التأثير على الإجماع وزمن وصول تحديث دفتر الأستاذ، نلاحظ أن زيادة الحسابات تؤدي إلى زيادة في النفقات العامة دمج الدلاء، والتي تصبح أكبر. معدل المعاملة يؤثر معدل المعاملة على المبلغ حركة البث المتعدد بين validators، وعدد المعاملات المضمنة في كل دفتر أستاذ، وحجم المستوى الأعلى دلاء. لفهم آثار زيادة المعاملات التحميل، أجرينا تجربة على 100000 حساب و4 validators. ويبين الشكل 10 النمو البطيء في زمن الوصول المتفق عليه، بينما تم قضاء معظم الوقت في تحديث دفتر الأستاذ. ليس من المستغرب أنه مع زيادة حجم مجموعة المعاملات، فإنه يستغرق وقتًا أطول لربطه بقاعدة البيانات. ونلاحظ ذلك أيضا يعتمد زمن استجابة تحديث دفتر الأستاذ بشكل كبير على التنفيذ، ويتأثر باختيار قاعدة البيانات. عقد التحقق من الصحة لمعرفة كيفية زيادة عدد tierone validatorsيؤثر على الأداء، أجرينا التجارب مع 100000 حساب، و100 معاملة في الثانية، وعدد متفاوت من validators من 4 إلى 43. ظهرت جميع validators في جميع شرائح النصاب القانوني لـ validators؛ سوف شرائح النصاب أصغر لها تأثير أقل على الأداء.SOSP '19، 27-30 أكتوبر 2019، هانتسفيل، أونتاريو، كندا لوخافا وآخرون. 100 150 200 250 300 350 0 500 1000 1500 2000 تحميل [المعاملات/الثانية] الكمون [مللي ثانية] تحديث دفتر الأستاذ الاقتراع الترشيح الشكل 10. زمن الوصول مع زيادة حمل المعاملات 10 20 30 40 0 500 1000 1500 2000 المدققون الكمون [مللي ثانية] تحديث دفتر الأستاذ الاقتراع الترشيح الشكل 11. الكمون مع زيادة عدد العقد تغيير عدد عقد التحقق على الشبكة يؤثر أيضًا على عدد رسائل SCP المتبادلة عدد القيم المحتملة أثناء الترشيح. الشكل 11 يُظهر أن وقت الترشيح ينمو بمعدل صغير نسبيًا. وفي حين تشير البيانات إلى أن الاقتراع هو عنق الزجاجة، فإننا نعتقد أنه يمكن معالجة العديد من مشكلات التوسع من خلال التحسين شبكة Stellar المتراكبة لتحسين حركة مرور الشبكة. كما المتوقع، ظل زمن استجابة تحديث دفتر الأستاذ مستقلاً عن عدد العقد. سعر الإغلاق أخيرًا، أردنا قياس أداء Stellar الشامل من خلال قياس عدد مرات تأكيد دفاتر الأستاذ وما إذا كان Stellar يحقق هدفه البالغ 5 ثوانٍ دون إسقاط أي معاملات. لاحظنا إغلاق دفتر الأستاذ المتوسط مرات 5.03 ثانية و 5.10 ثانية و 5.15 ثانية مع زيادة الحساب الإدخالات ومعدل المعاملات وعدد العقد على التوالي. تشير النتائج إلى أن Stellar يمكنه إغلاق دفاتر الأستاذ باستمرار تحت حمولة عالية. 7.4 تشغيل validator إحدى الميزات المهمة لـ Stellar هي التكلفة المنخفضة تشغيل validator، حيث يجب تشغيل المراسي (أو التعاقد معها) validators لفرض النهاية. يقوم SDF بتشغيل 3 وحدات إنتاج validator، جميعها على مثيلات c5.large AWS، والتي تحتوي على مركزين، 4 غيغابايت من ذاكرة الوصول العشوائي ووحدة المعالجة المركزية Intel (R) Xeon (R) Platinum 8124M معالجات بسرعة 3.00 جيجا هرتز. فحص استخدام الموارد على واحد من هذه الأجهزة، لاحظنا استخدام عملية Stellar حوالي 7% من وحدة المعالجة المركزية و300 ميجابايت من الذاكرة. من حيث حركة مرور الشبكة، مع 28 اتصالاً بالأقران وحجم النصاب القانوني من 34، كانت معدلات الدخول والخروج 2.78 ميجابت/ثانية و 2.56 ميجابت/ثانية، على التوالي. الأجهزة المطلوبة لتشغيل مثل هذا العملية غير مكلفة. في حالتنا، تبلغ التكلفة 0.054 دولارًا في الساعة أو حوالي 40 دولارًا في الشهر. 7.5 العمل المستقبلي تشير هذه التجارب إلى أن Stellar يمكنه بسهولة التوسع في طلب واحد أو أمرين بحجم يتجاوز استخدام الشبكة اليوم. لأن لقد كانت متطلبات الأداء متواضعة جدًا حتى الآن، Stellar يترك مجالًا للعديد من التحسينات المباشرة باستخدام تقنيات معروفة. على سبيل المثال، المعاملات وSCP يتم بث الرسائل بواسطة validators باستخدام فيضان ساذج بروتوكول، ولكن يجب أن يستخدم بشكل مثالي أكثر كفاءة وتنظيما البث المتعدد من نظير إلى نظير [30]. بالإضافة إلى ذلك، قاعدة بيانات ثقيلة يمكن تحسين وقت تحديث دفتر الأستاذ من خلال تقنيات التجميع والجلب المسبق القياسية.

บทสรุป

การชำระเงินระหว่างประเทศมีราคาแพงและใช้เวลาหลายวัน กองทุน การดูแลผ่านสถาบันการเงินหลายแห่ง รวมถึงธนาคารตัวแทนและบริการโอนเงิน เนื่องจากแต่ละฮอปจะต้องได้รับความไว้วางใจอย่างเต็มที่ จึงเป็นเรื่องยากสำหรับฮอปใหม่ ผู้เข้าร่วมเพื่อเพิ่มส่วนแบ่งการตลาดและแข่งขัน Stellar รายการ วิธีส่งเงินทั่วโลกอย่างถูกในไม่กี่วินาที ที่ นวัตกรรมที่สำคัญคือโปรโตคอลข้อตกลงไบแซนไทน์แบบเปิดสมาชิกใหม่ SCP ซึ่งใช้ประโยชน์จากโครงสร้างแบบเพียร์ทูเพียร์ ของเครือข่ายทางการเงินเพื่อให้บรรลุฉันทามติระดับโลกภายใต้ก สมมติฐานอินเทอร์เน็ตใหม่ SCP อนุญาตให้ Stellar กระทำแบบอะตอมมิก ธุรกรรมที่ไม่สามารถย้อนกลับได้ระหว่างผู้เข้าร่วมโดยพลการซึ่ง ไม่รู้หรือเชื่อใจกัน ซึ่งจะรับประกันว่าผู้เข้ามาใหม่จะสามารถเข้าถึงตลาดเดียวกันกับที่จัดตั้งขึ้น ผู้เล่นทำให้ปลอดภัยที่จะได้รับการแลกเปลี่ยนที่ดีที่สุด อัตราแม้จากผู้ดูแลสภาพคล่องที่ไม่น่าเชื่อถือและอย่างมาก ลดความล่าช้าในการชำระเงิน รับทราบ Stellar คงมาไม่ถึงทุกวันนี้ถ้าไม่ตื่นแต่เช้า ความเป็นผู้นำของจอยซ์ คิม หรือการมีส่วนร่วมอันยิ่งใหญ่ของ Scott Fleckenstein และ Bartek Nowotarski ในการก่อสร้างและ การรักษาขอบฟ้า, Stellar SDK และส่วนสำคัญอื่นๆ ของระบบนิเวศ Stellar นอกจากนี้เรายังขอขอบคุณ Kolten Bergeron เฮนรี คอร์ริแกน-กิบส์, แคนเดซ เคลลี, คาพิล เค. เจน, บอริส เรซนิคอฟ, เจเรมี รูบิน, คริสเตียน รัดเดอร์, เอริก ซอนเดอร์ส, Torsten Stüber, Tomer Weller, ผู้วิจารณ์ที่ไม่เปิดเผยนาม และ Justine Sherry คนเลี้ยงแกะของเราสำหรับความคิดเห็นที่เป็นประโยชน์ของพวกเขา ร่างก่อนหน้านี้ ข้อสงวนสิทธิ์ การสนับสนุนของศาสตราจารย์ Mazières ในสิ่งพิมพ์นี้ถือเป็นที่ปรึกษาที่ได้รับค่าตอบแทน และไม่ได้เป็นส่วนหนึ่งของเขา หน้าที่หรือความรับผิดชอบของมหาวิทยาลัยสแตนฟอร์ด

การชำระเงินทั่วโลกที่รวดเร็วและปลอดภัยด้วย Stellar SOSP '19, 27–30 ตุลาคม 2019, Huntsville, ON, แคนาดา

خاتمة

المدفوعات الدولية باهظة الثمن وتستغرق أيامًا. الصندوق تمر الحضانة عبر مؤسسات مالية متعددة بما في ذلك البنوك المراسلة وخدمات تحويل الأموال. لأن كل قفزة يجب أن تكون موثوقة تماما، فمن الصعب على الجديد الداخلين للحصول على حصة في السوق والمنافسة. Stellar يظهر كيفية إرسال الأموال حول العالم بسعر رخيص في ثواني. ال الابتكار الرئيسي هو بروتوكول اتفاقية بيزنطية جديد مفتوح العضوية، SCP، الذي يعزز بنية نظير إلى نظير للشبكة المالية لتحقيق توافق عالمي في الآراء بموجب أ فرضية الإنترنت الجديدة. يتيح SCP لـ Stellar الالتزام ذريًا معاملات لا رجعة فيها عبر المشاركين التعسفيين الذين لا يعرفون أو يثقون ببعضهم البعض. وهذا بدوره يضمن للداخلين الجدد الوصول إلى نفس الأسواق القائمة اللاعبين، يجعلها آمنة للحصول على أفضل تبادل متاح أسعار حتى من صناع السوق غير موثوق بهم، وبشكل كبير يقلل من زمن الوصول للدفع. شكر وتقدير Stellar لن يكون حيث هو اليوم دون المبكر قيادة جويس كيم أو المساهمات الهائلة لـ سكوت فليكنشتاين وبارتيك نوفوتارسكي في البناء و الحفاظ على الأفق، وStellar SDK، والأجزاء الرئيسية الأخرى للنظام البيئي Stellar. ونشكر أيضًا كولتن بيرجيرون، هنري كوريجان جيبس، كانديس كيلي، كابيل ك. جاين، بوريس ريزنيكوف، جيريمي روبن، كريستيان رودر، إريك سوندرز، تورستن ستوبر، تومر ويلر، المراجعون المجهولون، و راعيتنا جوستين شيري على تعليقاتها المفيدة المسودات السابقة. إخلاء المسؤولية وكانت مساهمة البروفيسور مازيير في هذا المنشور بمثابة مستشار مدفوع الأجر، ولم تكن جزءًا منه واجبات أو مسؤوليات جامعة ستانفورد.

دفعات عالمية سريعة وآمنة باستخدام Stellar SOSP '19، 27-30 أكتوبر 2019، هانتسفيل، أونتاريو، كندا