بروتوكول إجماع Stellar
Abstrak
Pembayaran internasional lambat dan mahal, sebagian karena jalur pembayaran multi-hop yang heterogen sistem perbankan. Stellar adalah jaringan pembayaran global baru yang dapat langsung mentransfer uang digital ke mana pun di dunia dunia dalam hitungan detik. Inovasi kuncinya adalah transaksi yang aman mekanisme di perantara yang tidak tepercaya, menggunakan yang baru Protokol perjanjian Bizantium disebut SCP. Dengan SCP, masing-masing institusi menentukan institusi lain yang akan tetap tinggal setuju; melalui keterhubungan global sistem keuangan, seluruh jaringan kemudian menyetujui atom transaksi yang mencakup institusi sewenang-wenang, tanpa solvabilitas atau risiko nilai tukar dari penerbit aset perantara atau pembuat pasar. Kami menyajikan model, protokol, dan verifikasi formal; jelaskan jaringan pembayaran Stellar; dan terakhir mengevaluasi Stellar secara empiris melalui tolok ukur dan pengalaman kami dengan beberapa tahun penggunaan produksi. Konsep CCS • Keamanan dan privasi → Terdistribusi keamanan sistem; • Organisasi sistem komputer → Arsitektur peer-to-peer; • Sistem informasi → Transfer dana elektronik. Kata kunci blockchain, BFT, kuorum, pembayaran Format Referensi ACM: Marta Lokhava, Giuliano Losa, David Mazières, Graydon Hoare, Nicolas Barry, Eli Gafni, Jonathan Jove, Rafał Malinowsky, Jed McCaleb. 2019. Pembayaran global yang cepat dan aman dengan Stellar. Di SOSP '19: Simposium Prinsip Sistem Operasi, 27-30 Oktober, 2019, Huntsville, ON, Kanada. ACM, New York, NY, AS, 17 halaman. 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
Perkenalan
Pembayaran internasional terkenal lambat dan mahal [32]. Pertimbangkan ketidakpraktisan pengiriman $0,50 dari AS ke * Galois, Inc. †UCLA Izin untuk membuat salinan digital atau cetak dari seluruh atau sebagian karya ini penggunaan pribadi atau ruang kelas diberikan tanpa biaya asalkan salinannya tidak dibuat atau didistribusikan untuk keuntungan atau keuntungan komersial dan salinannya mempunyai hakikat pemberitahuan ini dan kutipan lengkap di halaman pertama. Hak cipta untuk komponen karya ini dimiliki oleh orang lain selain ACM harus dihormati. Mengabstraksi dengan kredit diperbolehkan. Untuk menyalin sebaliknya, atau menerbitkan ulang, untuk memposting di server atau ke mendistribusikan ulang ke daftar, memerlukan izin khusus sebelumnya dan/atau biaya. Permintaan izin dari [email protected]. SOSP '19, 27–30 Oktober 2019, Huntsville, ON, Kanada © 2019 Asosiasi Mesin Komputasi. ACM ISBN 978-1-4503-6873-5/19/10...$15.00 https://doi.org/10.1145/3341301.3359636 Meksiko, dua negara tetangga. Pengguna akhir membayar hampir $9 untuk rata-rata transfer tersebut [32], dan perjanjian bilateral yang ditengahi oleh bank sentral negara-negara tersebut hanya dapat mengurangi biaya bank yang mendasarinya menjadi $0,67 per item [2]. Selain biaya, latensi pembayaran internasional umumnya dihitung dalam hitungan hari, sehingga tidak mungkin mendapatkan uang ke luar negeri dengan cepat keadaan darurat. Di negara-negara yang sistem perbankannya tidak memilikinya bekerja atau tidak melayani semua warga negara, atau ketika biaya tidak dapat ditoleransi, masyarakat terpaksa mengirimkan pembayaran dengan bus [38], dengan perahu [19], dan kadang-kadang sekarang Bitcoin [55], semuanya menimbulkan risiko, latensi, atau ketidaknyamanan. Meskipun akan selalu ada biaya kepatuhan, bukti menunjukkan bahwa sejumlah besar kerugian disebabkan oleh kurangnya persaingan [21], yang diperburuk oleh teknologi yang tidak efisien. Dimana orang dapat berinovasi, harga dan latensi turun. Misalnya, biaya pengiriman uang dari rekening bank pada Q2 2019 rata-rata sebesar 6,99%, sedangkan uang seluler hanya 4,88% [13]. Jaringan pembayaran global terbuka yang menarik inovasi dan persaingan dari entitas non-bank dapat menurun biaya dan latensi di semua lapisan, termasuk kepatuhan [83]. Makalah ini menyajikan Stellar, pembayaran berbasis blockchain jaringan yang dirancang khusus untuk memfasilitasi inovasi dan persaingan dalam pembayaran internasional. Stellar adalah yang pertama sistem untuk memenuhi ketiga tujuan berikut (di bawah a “Hipotesis Internet” yang baru namun valid secara empiris): 1. Keanggotaan terbuka – Siapapun dapat menerbitkan mata uang yang didukung tokens digital yang dapat dipertukarkan antar pengguna. 2. Finalitas yang diberlakukan oleh penerbit – Penerbit token dapat mencegah transaksi di token agar tidak dibalik atau dibatalkan. 3. Atomisitas lintas penerbit – Pengguna dapat bertukar secara atom dan perdagangkan token dari beberapa penerbit. Mencapai dua yang pertama itu mudah. Perusahaan mana pun dapat secara sepihak menawarkan produk seperti Paypal, Venmo, WeChat Bayar, atau Alipay dan pastikan finalitas pembayaran di mata uang virtual yang mereka buat. Sayangnya, bertransaksi secara atomik antar mata uang ini tidak mungkin dilakukan. Faktanya, meskipun Paypal telah mengakuisisi perusahaan induk Venmo pada tahun 2013, pengguna akhir masih tidak dapat mengirim Venmo dolar ke pengguna Paypal [78]. Baru belakangan ini pedagang bisa bahkan menerima keduanya dengan satu integrasi. Tujuan 2 dan 3 dapat dicapai dalam sistem tertutup. Secara khusus, sejumlah negara memiliki pembayaran domestik yang efisien jaringan, biasanya diawasi oleh otoritas pengatur yang dipercaya secara universal. Namun keanggotaannya terbatas dan tertutup kumpulan bank yang disewa dan jaringannya terbatas pada jangkauan otoritas pengatur suatu negara.SOSP '19, 27–30 Oktober 2019, Huntsville, ON, Kanada Lokhava dkk. Sasaran 1 dan 3 telah tercapai dalam blockchains, terutama dalam bentuk ERC20 tokens pada Ethereum [3]. Ide utama dari blockchain ini adalah untuk menciptakan mata uang kripto baru yang dapat digunakan untuk memberikan penghargaan kepada orang-orang yang telah menyelesaikan pekerjaan mereka. transaksi sulit untuk dikembalikan. Sayangnya, ini berarti penerbit token tidak mengontrol penyelesaian transaksi. Jika perangkat lunak kesalahan menyebabkan riwayat transaksi diatur ulang [26, 73], atau ketika keuntungan yang diperoleh orang yang menipu melebihi biayanya mengatur ulang sejarah [74, 97], penerbit mungkin bertanggung jawab atas tokens mereka telah menebusnya dengan uang dunia nyata. Stellar blockchain memiliki dua sifat yang membedakan. Pertama, ini secara asli mendukung pasar yang efisien antara tokens dari emiten yang berbeda. Secara khusus, siapa pun dapat menerbitkan token, blockchain menyediakan buku pesanan bawaan untuk perdagangan antara pasangan token mana pun, dan pengguna dapat mengeluarkan pembayaran jalur yang secara atom memperdagangkan beberapa pasangan mata uang sementara menjamin harga batas ujung ke ujung. Kedua, Stellar memperkenalkan perjanjian Bizantium baru protokol, SCP (Stellar Protokol Konsensus), yang melaluinya token penerbit menunjuk server validator tertentu untuk diterapkan finalitas transaksi. Selama tidak ada seorang pun yang mengkompromikan validator penerbit (dan tanda tangan digital yang mendasarinya serta kriptografi hashes tetap aman), penerbit tahu persis transaksi mana yang telah terjadi dan menghindari risiko kerugian dari blockchain sejarah reorganisasi. Ide utama SCP adalah agar sebagian besar penerbit aset mendapatkan keuntungan darinya pasar likuid dan ingin memfasilitasi transaksi atom dengan aset lainnya. Oleh karena itu, validator administrator mengonfigurasi server mereka setuju dengan validator lainnya sejarah semua transaksi pada semua aset. validator v1 bisa dikonfigurasi untuk menyetujui v2, atau v2 dapat dikonfigurasi untuk menyetujui dengan v1, atau keduanya dapat dikonfigurasi agar sesuai satu sama lain; dalam semua kasus, tidak ada yang akan berkomitmen pada riwayat transaksi sampai ia tahu pihak lain tidak dapat berkomitmen pada sejarah yang berbeda. Secara transitivitas, jika v1 tidak bisa tidak setuju dengan v2 dan v2 tidak bisa tidak setuju dengan v3 (atau sebaliknya), v1 tidak bisa tidak setuju dengan v3, apakah v3 mewakili aset v1 atau tidak dari. Berdasarkan hipotesis bahwa hubungan perjanjian ini menghubungkan seluruh jaringan secara transitif, jaminan SCP perjanjian global, menjadikannya perjanjian Bizantium global protokol dengan keanggotaan terbuka. Kami menyebut asumsi keterhubungan baru ini sebagai hipotesis Internet, dan mencatatnya sebagai hipotesis memegang kedua "Internet" (yang semua orang memahaminya berarti jaringan IP terbesar yang terhubung secara transitif) dan pembayaran internasional lama (yang bersifat hop-by-hop non-atom, namun memanfaatkan koneksi global yang bersifat transitif jaringan lembaga keuangan). Stellar telah digunakan produksi sejak September 2015. Agar panjang blockchain dapat dikelola, sistem berjalan SCP dengan interval 5 detik—cepat dengan standar blockchain, tapi jauh lebih lambat dibandingkan penerapan perjanjian Bizantium pada umumnya. Meskipun penggunaan utamanya adalah pembayaran, Stellar juga demikian terbukti menarik bagi token non-uang yang menguntungkan dari pasar sekunder terdekat (lihat Bagian 7.1). Bagian selanjutnya membahas pekerjaan terkait. Bagian 3 menyajikan SCP. Bagian 4 menjelaskan verifikasi formal kami terhadap SCP. Bagian 5 menjelaskan lapisan pembayaran Stellar. Bagian 6 berhubungan beberapa pengalaman penerapan dan pembelajaran kami. Bagian 7 mengevaluasi sistem. Bagian 8 menyimpulkan.
مقدمة
من المعروف أن المدفوعات الدولية بطيئة ومكلفة [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 protokol konsensus
Protokol konsensus Stellar (SCP) berbasis kuorum Protokol perjanjian Bizantium dengan keanggotaan terbuka. Kuorum muncul dari keputusan konfigurasi lokal gabungan dari masing-masing node. Namun, node hanya mengenali kuorum di mana mereka menjadi anggotanya, dan hanya setelahnya mempelajari konfigurasi lokal dari semua anggota kuorum lainnya. Salah satu manfaat dari pendekatan ini adalah SCP secara inheren mentolerir pandangan heterogen tentang node yang ada. Oleh karena itu, node dapat bergabung dan keluar secara sepihak tanpa memerlukan a Protokol “lihat perubahan” untuk mengoordinasikan keanggotaan. 3.1 Perjanjian Federasi Bizantium Masalah perjanjian tradisional Bizantium terdiri dari a sistem tertutup dari N node, beberapa di antaranya rusak dan mungkin berperilaku sewenang-wenang. Node menerima nilai masukan dan pertukaran pesan untuk memutuskan nilai output di antara input. Protokol perjanjian Bizantium aman ketika tidak ada dua node yang berperilaku baik menghasilkan keputusan yang berbeda dan unik keputusan merupakan masukan yang valid (untuk beberapa definisi valid yang disepakatiSOSP '19, 27–30 Oktober 2019, Huntsville, ON, Kanada Lokhava dkk. sebelumnya). Sebuah protokol aktif jika menjamin hal itu setiap node yang jujur pada akhirnya menghasilkan keputusan. Biasanya, protokol mengasumsikan N = 3f + 1 untuk beberapa bilangan bulat f > 0, maka menjamin keamanan dan beberapa bentuk keaktifan selama paling banyak f node rusak. Pada tahap tertentu dalam hal ini protokol, node memberikan suara pada nilai yang diusulkan dan proposal menerima 2f + 1 suara, yang disebut kuorum suara, menjadi keputusannya. Dengan N = 3f + 1 node, dua kuorum mana pun ukuran 2f + 1 tumpang tindih setidaknya di f + 1 node; bahkan jika f dari ini node yang tumpang tindih salah, setidaknya kedua kuorum berbagi satu node yang tidak salah, mencegah keputusan yang kontradiktif. Namun, pendekatan ini hanya berhasil jika semua node menyetujuinya apa yang dimaksud dengan kuorum, yang tidak mungkin dilakukan di SCP di mana dua node bahkan mungkin tidak mengetahui keberadaan satu sama lain. Dengan SCP, setiap node v secara sepihak mendeklarasikan kumpulan node, disebut irisan kuorumnya, sehingga (a) v percaya bahwa jika semua anggota irisan setuju tentang keadaan sistem, lalu mereka benar, dan (b) v percaya bahwa setidaknya salah satu bagiannya akan tersedia untuk memberikan informasi yang tepat waktu tentang keadaan sistem. Kami menyebut sistem yang dihasilkan, terdiri node dan irisannya, Perjanjian Federasi Bizantium (FBA) sistem. Seperti yang akan kita lihat selanjutnya, sistem kuorum muncul dari irisan node. Secara informal, potongan node FBA mengungkapkan dengan siapa simpul memerlukan persetujuan. Misalnya, sebuah node mungkin memerlukan persetujuan dengan 4 organisasi tertentu, masing-masing menjalankan 3 node; untuk mengakomodasi downtime, ia mungkin mengatur irisannya menjadi semua set terdiri dari 2 node dari masing-masing organisasi. Jika ini “membutuhkan perjanjian dengan” relasi secara transitif menghubungkan dua node mana pun, kita mendapatkan kesepakatan global. Kalau tidak, kita bisa mendapatkan perbedaan, tetapi hanya antar organisasi yang keduanya tidak memerlukannya kesepakatan dengan yang lain. Mengingat topologi saat ini sistem keuangan, kami berhipotesis bahwa konvergensi yang meluas akan terus menghasilkan sejarah buku besar yang disebut orang “jaringan Stellar,” sama seperti kita berbicara tentang Internet. Kuorum muncul dari irisan sebagai berikut. Setiap node menentukan irisan kuorumnya di setiap pesan yang dikirimkannya. Biarkan S menjadi kumpulan node asal kumpulan pesan. SEBUAH node menganggap kumpulan pesan telah mencapai kuorum ambang batas ketika setiap anggota S memiliki irisan yang termasuk dalam S. Secara konstruksi, himpunan S, jika bulat, memenuhi persyaratan kesepakatan masing-masing anggotanya. Rekan yang salah mungkin mengiklankan potongan yang dibuat untuk mengubah apa node yang berperilaku baik mempertimbangkan kuorum. Demi analisis protokol, kami mendefinisikan kuorum di FBA sebagai tidak kosong kumpulan S node yang mencakup setidaknya satu irisan kuorum setiap anggota yang tidak salah. Abstraksi ini masuk akal, seperti kumpulan lainnya pesan yang dimaksudkan untuk mewakili kuorum dengan suara bulat sebenarnya demikian (walaupun berisi pesan dari node yang salah), dan tepatnya jika S hanya berisi node yang berperilaku baik. Di Pada bagian ini, kami juga berasumsi bahwa irisan node tidak berubah. Namun demikian, hasil kami ditransfer ke kasus yang berubah-ubah karena sistem di mana perubahan irisan tidak kalah amannya sistem irisan tetap di mana irisan simpul terdiri dari semua irisan yang pernah digunakan dalam kasus perubahan irisan (lihat Teorema 13 di [68]). Seperti yang dijelaskan di Bagian 4, keaktifan bergantung pada node yang berperilaku baik pada akhirnya menghapus node yang tidak dapat diandalkan dari irisan mereka. Karena node yang berbeda memiliki persyaratan perjanjian yang berbeda, FBA menghalangi definisi keselamatan secara global. Kami bilang node yang tidak rusak v1 dan v2 saling terkait ketika masing-masing kuorum v1 memotong setiap kuorum v2 di setidaknya satu simpul yang tidak rusak. Protokol FBA dapat memastikan kesepakatan hanya antara node yang saling terkait; karena SCP melakukannya, itu salahnya toleransi terhadap keselamatan optimal. Hipotesis Internet, yang mendasari desain Stellar, menyatakan bahwa node tersebut dipedulikan orang tentang akan terjalin. Kita mengatakan himpunan node I utuh jika I merupakan kuorum yang tidak salah secara seragam sehingga setiap dua anggota I saling terkait meskipun setiap node di luar I salah. Secara intuitif, maka, aku harus tetap kebal terhadap tindakan yang tidak utuh node. SCP menjamin keaktifan non-pemblokiran [93] dan keamanan ke set utuh, meskipun node itu sendiri tidak memerlukannya untuk mengetahui (dan mungkin tidak dapat mengetahui) himpunan mana yang utuh. Selanjutnya gabungan dua himpunan utuh yang berpotongan adalah satu set utuh. Oleh karena itu, himpunan utuh mendefinisikan partisi dari node berperilaku baik, di mana setiap partisi aman dan aktif (dalam kondisi tertentu), tetapi partisi yang berbeda mungkin menghasilkan output keputusan yang berbeda. 3.1.1 Pertimbangan Keamanan vs. Keaktifan di FBA Dengan pengecualian terbatas [64], sebagian besar protokol perjanjian Bizantium tertutup disesuaikan dengan titik keseimbangan di mana keamanan dan keaktifan memiliki toleransi kesalahan yang sama. Di FBA, itu berarti konfigurasi di mana, terlepas dari kegagalannya, semuanya set yang saling terkait juga utuh. Mengingat FBA yang menentukan kuorum dengan cara yang terdesentralisasi, kecil kemungkinannya bahwa pilihan masing-masing kelompok akan menghasilkan keseimbangan ini. Apalagi di setidaknya di Stellar, keseimbangan tidak diinginkan: konsekuensinya kegagalan keamanan (yaitu uang digital yang dibelanjakan ganda). jauh lebih buruk dibandingkan dengan kegagalan keaktifan (yaitu penundaan dalam pembayaran yang memakan waktu beberapa hari sebelum Stellar). Orang-orang oleh karena itu sebaiknya dan lakukan pemilihan kuorum yang besar sedemikian rupa simpul-simpulnya cenderung tetap saling terkait dibandingkan utuh. Lebih jauh lagi, lebih mudah untuk pulih kegagalan keaktifan yang khas dalam sistem FBA dibandingkan sistem tertutup tradisional. Dalam sistem tertutup, semua pesan harus ada ditafsirkan sehubungan dengan kumpulan kuorum yang sama. Oleh karena itu, menambah dan menghapus node untuk pulih dari kegagalan diperlukan mencapai konsensus mengenai peristiwa konfigurasi ulang, yang sulit dilakukan ketika konsensus tidak lagi berlaku. Sebaliknya, dengan FBA, node mana pun dapat menyesuaikan irisan kuorumnya secara sepihak waktu. Menanggapi pemadaman pada sistem yang penting organisasi, administrator node dapat menyesuaikan irisannya mengatasi masalah, seperti mengoordinasikan tanggapan terhadap bencana BGP [63] (meskipun tanpa kendala perutean melalui tautan jaringan fisik).
Pembayaran global yang cepat dan aman dengan Stellar SOSP '19, 27–30 Oktober 2019, Huntsville, ON, Kanada 3.1.2 Teorema kaskade SCP mengikuti templat model putaran dasar [42]; node maju melalui serangkaian surat suara bernomor, masing-masing mencoba tiga tugas: (1) mengidentifikasi nilai “aman” yang tidak bertentangan dengan keputusan apa pun dalam pemungutan suara sebelumnya (sering disebut menyiapkan surat suara), (2) menyepakati nilai aman, dan (3) mendeteksi bahwa kesepakatan berhasil. Namun, FBA terbuka keanggotaan menghalangi beberapa teknik umum, sehingga berhasil tidak mungkin untuk "memindahkan" protokol tertutup tradisional ke FBA model hanya dengan mengubah definisi kuorum. Salah satu teknik yang digunakan oleh banyak protokol adalah rotasi melalui node pemimpin dengan cara round-robin setelah batas waktu habis. Dalam sistem tertutup, pemilihan pemimpin dilakukan secara round-robin yang pada akhirnya seorang pemimpin yang jujur dan unik akhirnya mengoordinasikan kesepakatan mengenai satu nilai. Sayangnya, sistem round-robin tidak dapat bekerja di sistem FBA dengan keanggotaan yang tidak diketahui. Teknik umum lainnya yang gagal dengan FBA adalah mengasumsikan kuorum tertentu dapat meyakinkan semua node. Misalnya, jika semua orang mengakui node 2f + 1 mana pun sebagai kuorum, maka Tanda tangan 2f + 1 cukup untuk membuktikan status protokol ke semua node. Demikian pula, jika sebuah node menerima kuorum pesan yang identik melalui siaran yang andal [24], node dapat berasumsi bahwa semua node yang tidak salah juga akan memenuhi kuorum. Di FBA, sebaliknya, a kuorum tidak berarti apa-apa bagi node di luar kuorum. Terakhir, sistem non-federasi sering kali menggunakan sistem “terbelakang” alasan tentang keamanan: jika f + 1 node rusak, semua aman jaminan hilang. Oleh karena itu, jika node v mendengar f + 1 node semuanya nyatakan beberapa fakta F, v dapat berasumsi setidaknya ada satu fakta yang memberitahukan kebenaran (dan karenanya F benar) tanpa kehilangan keamanan. Seperti itu penalaran gagal di FBA karena keselamatan adalah milik pasangan node, sehingga node yang kehilangan keamanannya terhadap beberapa peer dapat melakukannya selalu kehilangan keamanan ke lebih banyak node dengan mengasumsikan fakta buruk. Namun, FBA dapat berpikir mundur tentang keaktifan. Definisikan himpunan pemblokiran v sebagai himpunan node yang berpotongan setiap potongan v. Jika himpunan pemblokiran v B benar-benar rusak, B dapat menolak simpul v kuorum dan membuatnya kehilangan keaktifan. Oleh karena itu, jika B dengan suara bulat menyatakan fakta F, maka v mengetahui bahwa salah satu F adalah benar atau v tidak utuh. Namun, v masih perlu melihat selengkapnya kuorum untuk mengetahui bahwa node yang saling terkait tidak akan bertentangan dengan F, yang mengarah ke putaran terakhir komunikasi di SCP dan protokol FBA lainnya [47] yang tidak diperlukan secara analog protokol keanggotaan tertutup. Hasilnya adalah yang kita miliki tiga kemungkinan tingkat keyakinan terhadap fakta-fakta potensial: tidak dapat ditentukan, aman untuk diasumsikan di antara simpul-simpul yang utuh (yang akan kita lakukan istilah fakta yang diterima), dan aman untuk diasumsikan di antara saling terkait node (yang kita sebut fakta yang dikonfirmasi). Node v dapat secara efisien menentukan apakah suatu himpunan B melakukan vblocking dengan memeriksa apakah B memotong semua irisannya. Menariknya, jika node selalu mengumumkan pernyataan mereka menerima dan kuorum penuh menerima suatu pernyataan, hal ini memicu proses berjenjang dimana pernyataan disebarkan ke seluruh set utuh. Kami menyebut fakta kunci yang mendasari penyebaran ini teorema cascade, yang menyatakan sebagai berikut: Jika saya adalah an himpunan utuh, Q adalah kuorum anggota I, dan S adalah kuorum mana pun superset dari Q, maka S ⊇I atau ada anggota v ∈I sehingga v < S dan I ∩S merupakan pemblokiran v. Secara intuitif, apakah ini tidak demikian, komplemen dari S akan memenuhi kuorum yang memotong I tetapi tidak Q, melanggar kuorum persimpangan. Perhatikan bahwa jika kita memulai dengan S = Q dan berulang kali memperluas S menjadi menyertakan semua node yang diblokirnya, kami memperoleh efek berjenjang hingga, akhirnya, S mencakup seluruh I. 3.2 Deskripsi protokol SCP adalah protokol konsensus yang sebagian tersinkronisasi [42] yang terdiri dari serangkaian upaya untuk mencapai konsensus yang disebut surat suara. Surat suara menerapkan batas waktu yang durasinya semakin lama. SEBUAH protokol sinkronisasi surat suara memastikan bahwa node tetap aktif surat suara yang sama untuk jangka waktu yang bertambah hingga pemungutan suara secara efektif sinkron. Penghentian tidak dijamin sampai surat suara sinkron, tetapi dua surat suara sinkron yang dilakukan oleh anggota yang salah dari irisan node yang berperilaku baik tidak ikut campur saja sudah cukup untuk menghentikan SCP. Protokol pemungutan suara menentukan tindakan yang diambil pada masing-masing tindakan pemungutan suara. Pemungutan suara dimulai dengan fase persiapan, di mana node cobalah untuk menentukan nilai yang akan diusulkan yang tidak bertentangan keputusan apa pun sebelumnya. Kemudian, dalam fase penerapan, node mencoba untuk membuat keputusan tentang nilai yang disiapkan. Pemungutan suara menggunakan sub-protokol perjanjian yang disebut pemungutan suara gabungan, in node mana yang memberikan suara pada pernyataan abstrak yang pada akhirnya mungkin terkonfirmasi atau terhenti. Beberapa pernyataan mungkin dianggap bertentangan, dan aman jaminan pemungutan suara gabungan adalah tidak ada dua anggota dari suatu himpunan yang saling terkait menegaskan pernyataan-pernyataan yang kontradiktif. Konfirmasi suatu pernyataan tidak dijamin kecuali utuh himpunan yang semua anggotanya memberikan suara yang sama. Namun, jika a anggota himpunan utuh mengkonfirmasi suatu pernyataan, terfederasi pemungutan suara menjamin bahwa semua anggota kelompok utuh pada akhirnya mengkonfirmasi pernyataan itu. Oleh karena itu, mengambil langkah-langkah yang tidak dapat diubah sebagai tanggapan terhadap pernyataan yang mengkonfirmasikan mempertahankan keaktifan node utuh. Node awalnya mengusulkan nilai yang diperoleh dari nominasi protokol yang meningkatkan peluang semua anggota utuh himpunan mengusulkan nilai yang sama, dan akhirnya konvergen (meskipun tidak ada cara untuk menentukan konvergensi selesai). Nominasi menggabungkan pemungutan suara gabungan dengan pemilihan pemimpin. Karena round-robin tidak mungkin dilakukan di FBA, nominasi digunakan skema pemilihan pemimpin yang probabilistik. Teorema kaskade memainkan peran penting dalam pemungutan suara sinkronisasi dan menghindari negara-negara yang diblokir dari mana penghentian tidak mungkin lagi dilakukan. 3.2.1 Pemungutan suara Node SCP melanjutkan melalui serangkaian pemungutan suara bernomor, menggunakan pemungutan suara gabungan untuk menyetujui pernyataan tentang hal tersebut nilai-nilai ditentukan atau tidak ditentukan dalam surat suara yang mana. Jika asinkron atau perilaku salah menghalangi tercapainya keputusan dalam pemungutan suara n, waktu node habis dan coba lagi dalam pemungutan suara n + 1.
SOSP '19, 27–30 Oktober 2019, Huntsville, ON, Kanada Lokhava dkk. Ingat, pemungutan suara gabungan mungkin tidak akan berakhir. Oleh karena itu, beberapa pernyataan tentang surat suara bisa macet secara permanen keadaan tak tentu di mana node tidak pernah dapat menentukan apakah mereka masih dalam proses atau macet. Karena node tidak bisa dikesampingkan kemungkinan pernyataan yang tidak pasti kemudian terbukti benar, mereka tidak boleh melakukan pemungutan suara gabungan untuk pernyataan baru bertentangan dengan yang tidak pasti. Di setiap n pemungutan suara, node menggunakan pemungutan suara gabungan pada dua jenis pernyataan: • siapkan ⟨n,x⟩– menyatakan tidak ada nilai selain x telah atau akan pernah diputuskan dalam pemungutan suara apa pun ≤n. • melakukan ⟨n,x⟩– menyatakan x ditentukan dalam pemungutan suara n. Yang penting, perhatikan bahwa persiapkan ⟨n,x⟩kontradiksi dilakukan ⟨n′,x ′⟩ketika n ≥n′ dan x , x ′. Sebuah node memulai pemungutan suara n dengan mencoba pemungutan suara gabungan pada a persiapan pernyataan ⟨n,x⟩. Jika ada pernyataan persiapan sebelumnya berhasil dikonfirmasi melalui pemungutan suara gabungan, itu node memilih x dari persiapan yang dikonfirmasi dari pemungutan suara tertinggi. Jika tidak, node akan menetapkan x ke output dari protokol nominasi dijelaskan dalam sub-bagian berikutnya. Jika dan hanya jika sebuah node berhasil mengonfirmasi persiapan ⟨n,x⟩ dalam pemungutan suara n, ia mencoba melakukan pemungutan suara gabungan pada komit ⟨n,x⟩. Jika jika berhasil, berarti SCP telah memutuskan, sehingga node mengeluarkan output nilai dari pernyataan komit yang dikonfirmasi. Pertimbangkan himpunan S yang saling terkait. Karena paling banyak satu nilai dapat dipastikan disiapkan oleh anggota S dalam pemungutan suara tertentu, tidak ada dua nilai berbeda yang dapat dikonfirmasi dilakukan olehnya anggota S dalam pemungutan suara tertentu. Apalagi jika melakukan ⟨n,x⟩ sudah dikonfirmasi, lalu siapkan ⟨n,x⟩telah dikonfirmasi juga; sejak itu siapkan ⟨n,x⟩kontradiksi dengan komitmen sebelumnya untuk nilai yang berbeda, dengan jaminan perjanjian pemungutan suara gabungan kami mendapatkan bahwa tidak ada nilai berbeda yang dapat diputuskan sebelumnya pemungutan suara oleh anggota S. Dengan memasukkan nomor suara, kami oleh karena itu pastikan SCP aman. Untuk keaktifan, pertimbangkan himpunan I yang utuh dan cukup panjang pemungutan suara sinkron n. Jika node yang rusak muncul di irisan node yang berperilaku baik tidak ikut campur dalam n, lalu melalui pemungutan suara n + 1 semua anggota I telah mengkonfirmasi set P pernyataan persiapan yang sama. Jika P = ∅dan surat suara n cukup panjang, maka protokol nominasi akan berkumpul pada beberapa nilai x. Jika tidak, misalkan x adalah nilai dari persiapan dengan pemungutan suara tertinggi di P. Apa pun yang terjadi, saya akan mencoba melakukan federasi secara seragam memberikan suara pada persiapan ⟨n + 1,x⟩pada pemungutan suara berikutnya. Oleh karena itu, jika n + 1 juga sinkron, keputusan untuk x pasti akan mengikuti. 3.2.2 Nominasi Nominasi memerlukan pemungutan suara gabungan atas pernyataan: • mencalonkan x – menyatakan x adalah calon pengambil keputusan yang sah. Node dapat memilih untuk mencalonkan beberapa nilai—berbeda pernyataan yang dicalonkan tidak bertentangan. Namun, sekali sebuah node mengkonfirmasi pernyataan pencalonan apa pun, maka node tersebut berhenti memberikan suaranya mencalonkan nilai-nilai baru. Pemungutan suara gabungan masih memungkinkan sebuah node untuk melakukan hal tersebut mengkonfirmasi pernyataan pencalonan baru yang tidak dipilihnya, yang mana memilih-atau-menerima a dari kuorum menerima a dari kuorum a sah menerima dari set pemblokiran tidak berkomitmen memilih a diterima a dikonfirmasi a memilih ¬a Gambar 1. Tahapan pemungutan suara gabungan memungkinkan anggota dari suatu himpunan utuh untuk mengonfirmasi satu sama lain nilai-nilai yang dicalonkan sambil tetap menahan suara baru. Hasil nominasi yang (berkembang) adalah kombinasi deterministik dari semua nilai dalam pernyataan nominasi yang dikonfirmasi. Jika x mewakili satu set transaksi, node dapat mengambil gabungan himpunan, himpunan terbesar, atau himpunan dengan hash tertinggi, jadi selama semua node melakukan hal yang sama. Karena node menahan yang baru suara setelah mengkonfirmasi satu pernyataan nominasi, set pernyataan yang dikonfirmasi hanya dapat berisi banyak nilai. Fakta bahwa pernyataan yang dikonfirmasi dapat dipercaya menyebar himpunan utuh berarti simpul-simpul utuh pada akhirnya bertemu di kumpulan nilai nominasi yang sama dan karenanya hasil nominasi, meskipun pada titik yang tidak diketahui secara sewenang-wenang terlambat dalam protokol. Node menggunakan pemilihan pemimpin gabungan untuk mengurangi sejumlah nilai berbeda dalam pernyataan nominasi. Hanya saja seorang pemimpin yang belum memberikan suara untuk pernyataan pencalonan dapat menggunakan tanda x baru. Node lain menunggu kabar para pemimpin dan cukup menyalin suara pencalonan pemimpin mereka (yang sah). Untuk mengakomodasi kegagalan, kelompok pemimpin terus bertambah batas waktu terjadi, meskipun dalam praktiknya hanya beberapa node yang memperkenalkan nilai x baru. 3.2.3 Pemungutan suara gabungan Pemungutan suara gabungan menggunakan protokol tiga fase yang ditunjukkan pada Gambar 1. Node mencoba menyepakati pernyataan abstrak terlebih dahulu pemungutan suara, kemudian menerima, dan akhirnya mengkonfirmasi pernyataan. Sebuah node v dapat memilih pernyataan valid a yang tidak valid bertentangan dengan yang lainsuara beredar dan pernyataan yang diterima. Hal ini dilakukan dengan menyiarkan pesan pemungutan suara yang ditandatangani. v kemudian menerima a jika a konsisten dengan pernyataan lain yang diterima dan salah satu dari (kasus 1)v adalah anggota kuorum di mana setiap node memilih a atau menerima a, atau (kasus 2) meskipun v tidak memilih a, set pemblokiran v menerima a. Dalam kasus 2, v mungkin sebelumnya telah memberikan suara yang bertentangan dengan a, yang sekarang telah telah ditolak. v diperbolehkan untuk melupakan suara yang ditolak dan berpura-pura tidak pernah membuangnya karena jika masih utuh, ia tahu suara yang dibatalkan tidak dapat memenuhi kuorum melalui kasus 1. v menyiarkan bahwa ia menerima a, lalu mengonfirmasi a jika sudah masuk kuorum yang dengan suara bulat menerima a. Gambar 2 menunjukkan efek himpunan pemblokiran v dan teorema kaskade selama pemungutan suara gabungan. Dua simpul yang saling terkait tidak dapat mengkonfirmasi pernyataan yang bertentangan, karena dua kuorum yang disyaratkan harus berbagi aPembayaran global yang cepat dan aman dengan Stellar SOSP '19, 27–30 Oktober 2019, Huntsville, ON, Kanada 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
Pilih X
Pilih Y (a) 3 4 2 1 5 7 6 Pilih X Pilih X Pilih X Pilih Y Pilih X Pilih Y Pilih Y (b) 3 4 2 1 5 7 6 Terima X Pilih X Terima X Pilih Y Terima X Pilih Y Pilih Y (c) 3 4 2 1 5 7 6 Terima X Terima X Terima X Pilih Y Terima X Terima X Pilih Y (d) 3 4 2 1 5 7 6 Terima X Pilih X Terima X Terima X Terima X Terima X Terima X (e) Gambar 2. Efek kaskade dalam pemungutan suara gabungan. Setiap node memiliki satu irisan kuorum yang ditunjukkan oleh panah ke anggota irisan tersebut. (a) Pernyataan yang bertentangan X dan Y diperkenalkan. (b) Node memilih pernyataan yang valid. (c) Node 1 menerima X setelah kuorumnya {1, 2, 3, 4} dengan suara bulat memilih X. (d) Node 1, 2, 3, dan 4 semuanya menerima X; set {1} adalah 5 pemblokiran, jadi node 5 menerima X, mengesampingkan suara sebelumnya untuk Y. (e) Himpunan {5} adalah pemblokiran 6 dan 7, jadi 6 dan 7 keduanya menerima X. node yang tidak salah yang tidak dapat menerima pernyataan yang kontradiktif. Konfirmasi suatu pernyataan tidak dijamin: in jika terjadi suara terbelah, kedua pernyataan tersebut dapat bersifat permanen terjebak menunggu kuorum dalam tahap pemungutan suara. Namun jika sebuah simpul dalam himpunan utuh Saya mengonfirmasi pernyataan, kaskade teorema dan menerima kasus 2 memastikan bahwa semua I pada akhirnya akan terjadi mengkonfirmasi pernyataan itu. 3.2.4 Sinkronisasi surat suara Jika node tidak dapat mengkonfirmasi pernyataan komit untuk pemungutan suara saat ini, mereka menyerah setelah batas waktu habis. Batas waktunya habis lebih lama pada setiap surat suara untuk menyesuaikan dengan batasan yang sewenang-wenang pada penundaan jaringan. Namun, waktu tunggu saja tidak cukup untuk menyinkronkan surat suara dari node yang tidak dimulai pada waktu yang sama atau menjadi tidak sinkron karena alasan lain. Untuk mencapai sinkronisasi, node memulai timer hanya ketika mereka menjadi bagian dari a kuorum yang semuanya ada pada pemungutan suara saat ini (atau nanti) n. Ini memperlambat node yang dimulai lebih awal dan memastikan bahwa tidak anggota himpunan utuh berada terlalu jauh di depan grup. Terlebih lagi, jika sebuah node v menyadari adanya pemblokiran v di kemudian hari surat suara, ia langsung melompat ke surat suara terendah seperti ini tidak lagi terjadi, terlepas dari pengatur waktunya. Kaskade teorema kemudian memastikan bahwa semua orang yang tersesat dapat mengejar ketinggalan. Hasilnya adalah bahwa surat suara secara kasar disinkronkan secara utuh diatur setelah sistem menjadi sinkron. 3.2.5 Pemilihan pemimpin gabungan Pemilihan pemimpin memungkinkan setiap node untuk memilih pemimpin sedemikian rupa cara node umumnya hanya memilih satu atau sejumlah kecil pemimpin. Untuk mengakomodasi kegagalan pemimpin, pemilihan pemimpin berlangsung melalui putaran. Jika pemimpin putaran saat ini tampak tidak memenuhi tanggung jawabnya, kemudian setelah a node dengan periode batas waktu tertentu melanjutkan ke putaran berikutnya memperluas kelompok pemimpin yang mereka ikuti. Setiap putaran menggunakan dua fungsi kriptografi unik hash, H0 dan H1, yang menghasilkan bilangan bulat dalam rentang [0,hmax). Misalnya, Stellar menggunakan Hi(m) = SHA256(i∥b∥r ∥m), di mana b adalah keseluruhan instance SCP (nomor blok atau buku besar), r adalah nomor putaran pemilihan pemimpin, dan hmax = 2256. Dalam putaran, kami mendefinisikan prioritas node v sebagai: prioritas(v) = H1(v) Satu strawman akan dipilih oleh setiap node sebagai pemimpin nodev dengan prioritas tertinggi (v). Pendekatan ini berhasil baik dengan potongan kuorum yang hampir sama, tetapi tidak tepat menangkap pentingnya node dalam konfigurasi yang tidak seimbang. Misalnya, jika Eropa dan Tiongkok masing-masing berkontribusi 3 node ke setiap kuorum, tetapi Tiongkok menjalankan 1.000 node dan Eropa 4, maka Tiongkok akan memiliki node dengan prioritas tertinggi 99,6% waktu itu. Oleh karena itu kami memperkenalkan pengertian berat irisan, dimana bobot(u,v) ∈[0, 1] adalah pecahan dari irisan kuorum simpul u berisi simpul v. Ketika simpul u memilih pemimpin baru, simpul itu hanya mempertimbangkan tetangga, yang didefinisikan sebagai berikut: tetangga(u) = { v | H0(v) < hmaks · berat(u,v) } Sebuah nodeu kemudian dimulai dengan sekumpulan pemimpin yang kosong, dan pada masing-masing pemimpin round menambahkan node v di tetangga (u) dengan yang tertinggi prioritas(v). Jika himpunan tetangga kosong di setiap putaran, u malah menambahkan nodev dengan nilai terendah H0(v)/berat(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).
Verifikasi formal SCP
Untuk menghilangkan kesalahan desain, kami secara resmi memverifikasi keamanan SCP dan sifat keaktifan (lihat [65]). Secara khusus, kami memverifikasi bahwa titik-titik yang berjalin tidak pernah berselisih dan, dalam kondisi yang dibahas di bawah, setiap anggota himpunan utuh pada akhirnya memutuskan. Menariknya, verifikasi mengungkapkan bahwa kondisi di mana SCP menjamin keaktifan sangat halus, dan lebih kuat dari perkiraan awal [68]: seperti dibahas di bawah, node jahat yang memanipulasi waktu tanpa melakukan sebaliknya menyimpang dari protokol mungkin perlu diusir secara manual dari irisan kuorum.
SOSP '19, 27–30 Oktober 2019, Huntsville, ON, Kanada Lokhava dkk. Untuk memastikan bahwa properti terbukti tahan di semua kemungkinan Konfigurasi dan eksekusi FBA, kami anggap sewenang-wenang jumlah node dengan konfigurasi lokal sewenang-wenang. Ini mencakup skenario dengan rangkaian utuh yang terputus-putus, serta kemungkinan eksekusi yang sangat lama. Kekurangannya adalah kita menghadapi masalah yang menantang dalam memverifikasi parameterisasi sistem keadaan tak terbatas. Agar verifikasi tetap dapat dilakukan, kami memodelkan SCP dalam logika orde pertama (FOL) menggunakan Ivy [69] dan metodologi [82]. Proses verifikasi terdiri dari penyediaan dugaan induktif secara manual yang kemudian diperiksa secara otomatis ivy. Model FOL dari SCP mengabstraksi beberapa aspek Sistem FBA yang sulit ditangani di FOL (mis., teorema cascade diambil sebagai aksioma), jadi kami memverifikasi kesehatan abstraksi menggunakan Isabelle/HOL [75]. Setelah mengungkapkan masalah verifikasi di FOL, kami memverifikasi keamanan dengan menyediakan invarian induktif. Yang induktif invarian terdiri dari selusin dugaan satu baris untuk kira-kira 150 baris spesifikasi protokol. Kami kemudian menentukan properti keaktifan SCP dalam Logika Temporal Linier Ivy dan menggunakan keaktifan terhadap pengurangan keamanan [80, 81] untuk mengurangi keaktifan masalah verifikasi ke masalah menemukan induktif invarian. Meskipun keamanan SCP relatif mudah Buktikan, argumen keaktifan SCP jauh lebih rumit dan rumit terdiri dari sekitar 150 invarian garis tunggal. Membuktikan keaktifan memerlukan formalisasi yang tepat asumsi di mana SCP memastikan penghentian. Kami awalnya mengira set utuh akan selalu saya hentikan jika semuanya anggota menghapus node yang salah dari irisan mereka [68]. Namun, hal ini ternyata belum cukup: seorang yang berperilaku baik (tetapi tidak utuh) simpul dalam kuorum anggota I bisa, berdasarkan pengaruh node yang salah, cegah penghentian dengan menyelesaikan kuorum tepat sebelum berakhirnya pemungutan suara, sehingga menyebabkan anggota I untuk memilih nilai x yang berbeda pada pemungutan suara berikutnya. Oleh karena itu, kita juga harus berasumsi bahwa, secara informal, setiap node dalam kuorum anggota I pada akhirnya juga menjadi tepat waktu atau tidak mengirim pesan sama sekali untuk jangka waktu yang cukup. Dalam praktiknya, ini berarti anggota I boleh perlu menyesuaikan irisannya hingga kondisinya bertahan. Ini masalah ini tidak melekat pada sistem FBA: Losa dkk. [47] hadir sebuah protokol yang keberlangsungannya bergantung pada pihak yang lebih lemah asumsi hanya sinkronisasi dan pemilihan pemimpin pada akhirnya, tanpa perlu menghapus node yang salah dari irisan.
التحقق الرسمي من 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] موجود بروتوكول تعتمد حيويته على الأضعف تمامًا افتراضات التزامن النهائي وانتخاب القائد في نهاية المطاف، دون الحاجة إلى إزالة العقد المعيبة من الشرائح.
Jaringan pembayaran
Bagian ini menjelaskan jaringan pembayaran Stellar, diimplementasikan sebagai mesin negara yang direplikasi [88] di atas SCP. 5.1 Model buku besar Buku besar Stellar dirancang berdasarkan abstraksi akun (dalam kontras dengan keluaran transaksi tak terpakai yang lebih berpusat pada koin atau UTXO model Bitcoin). Isi buku besar terdiri dari a kumpulan entri buku besar dari empat jenis berbeda: akun, garis kepercayaan, penawaran, dan data akun. Akun adalah prinsipal yang memiliki dan menerbitkan aset. Masing-masing akun diberi nama dengan kunci publik. Secara default, kunci pribadi yang sesuai dapat menandatangani transaksi untuk akun tersebut. Namun, akun dapat dikonfigurasi ulang untuk menambahkan penanda tangan lain dan membatalkan otorisasi kunci yang memberi nama akun tersebut, dengan a Opsi "multisig" yang memerlukan banyak penandatangan. Setiap akun juga berisi: nomor urut (termasuk dalam transaksi untuk mencegah pemutaran ulang), beberapa tanda, dan keseimbangan dalam “asli” cryptocurrency yang telah ditambang sebelumnya disebut XLM, dimaksudkan untuk melakukan mitigasi beberapa serangan penolakan layanan dan memfasilitasi pembuatan pasar sebagai mata uang netral. Trustlines melacak kepemilikan aset yang diterbitkan, yaitu diberi nama oleh pasangan yang terdiri dari akun penerbit dan short kode aset (misalnya, “USD” atau “EUR”). Setiap garis kepercayaan menentukan akun, aset, saldo akun dalam aset itu, a batas di mana saldo tidak dapat naik, dan beberapa bendera. Sebuah akun harus secara eksplisit menyetujui untuk memegang aset menciptakan garis kepercayaan, mencegah pelaku spam membebani akun dengan aset yang tidak diinginkan. Peraturan kenali pelanggan Anda (KYC) mengharuskan banyak lembaga keuangan mengetahui simpanan siapa yang mereka simpan, misalnya dengan memeriksa foto ID. Untuk mematuhinya, emiten dapat mengatur tanda auth_reqired opsional pada akun mereka, yang membatasi kepemilikan aset yang mereka keluarkan ke akun resmi. Untuk memberikan otorisasi tersebut, penerbit menetapkan otorisasi menandai garis kepercayaan pelanggan. Penawaran sesuai dengan kesediaan akun untuk berdagang ke sejumlah tertentu suatu aset tertentu untuk aset lain pada waktu tertentu harga di buku pesanan; mereka secara otomatis dicocokkan dan terisi ketika harga beli/jual bersilangan. Terakhir, data akun terdiri dari akun, kunci, nilai tiga kali lipat, yang memungkinkan pemegang akun untuk mempublikasikan nilai metadata kecil. Untuk mencegah spam ledger, ada minimal saldo XLM, disebut cadangan. Cadangan akun meningkat setiap kali entri buku besar terkait dan berkurang ketika entri buku besar menghilang (misalnya, ketika pesanan dipenuhi atau dibatalkan, atau ketika a garis kepercayaan dihapus). Saat ini cadangan tumbuh sebesar 0,5 XLM (∼$0,03) per entri buku besar. Terlepas dari cadangannya, itu benar mungkin untuk mendapatkan kembali seluruh nilai akun dengan menghapus dengan operasi AccountMerge. Header buku besar, yang ditunjukkan pada Gambar 3, menyimpan atribut global: nomor buku besar, parameter seperti saldo cadangan per entri buku besar, hash dari header buku besar sebelumnya (sebenarnya beberapa hashes membentuk daftar yang dilewati), keluaran SCP termasuk hash transaksi baru yang diterapkan di buku besar ini, hash dari hasil transaksi tersebut (misalnya, keberhasilan atau kegagalan untuk masing-masing), dan cuplikan hash dari semua entri buku besar. Karena snapshot hash mencakup semua isi buku besar, validators tidak perlu menyimpan riwayat untuk memvalidasi transaksi. Namun, untuk mencapai ratusan juta diantisipasi akun, kami tidak dapat hash semua tabel entri buku besar pada setiap tabel buku besar ditutup. Selain itu, tidak praktis untuk mentransfer buku besarPembayaran global yang cepat dan aman dengan Stellar SOSP '19, 27–30 Oktober 2019, Huntsville, ON, Kanada buku besar # = 4 H(sebelumnya hdr) keluaran SCP H∗(hasil) H∗(potret) ... tajuk buku besar # = 5 H(sebelumnya hdr) keluaran SCP H∗(hasil) H∗(potret) ... tajuk . . . Gambar 3. Isi buku besar. H adalah SHA-256, sedangkan H ∗ mewakili penerapan hierarki atau rekursif dari keluaran H. SCP juga tergantung header sebelumnya hash. Buat Akun Membuat dan mendanai entri buku besar akun baru Penggabungan Akun Hapus entri buku besar akun Set Opsi Ubah tanda dan penandatangan akun Pembayaran Bayar sejumlah aset tertentu ke tujuan. menurut. Pembayaran Jalur Suka Pembayaran, tetapi bayar dalam aset berbeda (naik untuk membatasi); tentukan hingga 5 aset perantara Kelola Penawaran Membuat/menghapus/mengubah entri buku besar penawaran, -Penawaran Pasif dengan varian pasif untuk memungkinkan penyebaran nol KelolaData Buat/hapus/ubah akun. entri buku besar data Ubah Kepercayaan Buat/hapus/ubah garis kepercayaan Izinkan Kepercayaan Setel atau hapus tanda resmi pada trustline Urutan Benjolan Tingkatkan urutan. nomor di akun Gambar 4. Operasi buku besar utama sebesar itu setiap kali sebuah node terputus jaringan terlalu lama. Oleh karena itu, snapshot hash adalah dirancang untuk mengoptimalkan hashing dan rekonsiliasi negara. Secara khusus, snapshot mengelompokkan entri buku besar berdasarkan waktu modifikasi terakhir dalam satu set wadah berukuran eksponensial disebut ember. Kumpulan ember disebut ember list, dan memiliki kemiripan dengan pohon gabungan berstruktur log (Pohon LSM) [77]. Daftar keinginan tidak dibaca selama pemrosesan transaksi (lihat Bagian 5.4). Oleh karena itu, desain tertentu aspek pohon LSM bisa dilonggarkan. Khususnya, acak akses dengan kunci tidak diperlukan, dan keranjang hanya dibaca secara berurutan sebagai bagian dari penggabungan level. Hashing ember list dilakukan dengan hashing setiap keranjang saat digabungkan dan menghitung hash kumulatif baru dari keranjang hashes (kecil, indeks referensi tetap hashes) pada setiap penutupan buku besar. Rekonsiliasi daftar keinginan setelah pemutusan sambungan memerlukan pengunduhan hanya ember yang berbeda. 5.2 Model transaksi Suatu transaksi terdiri dari akun sumber, kriteria validitas, a memo, dan daftar satu atau lebih operasi. Gambar 4 mencantumkan operasi yang tersedia. Setiap operasi memiliki akun sumber, yang mana default terhadap keseluruhan transaksi. Sebuah transaksi harus ditandatangani dengan kunci yang sesuai dengan setiap akun sumber di sebuah operasi. Akun multisig memerlukan penandatanganan yang lebih tinggi bobot untuk beberapa operasi (seperti SetOptions) dan lebih rendah untuk yang lain (seperti AllowTrust). Transaksi bersifat atomik—jika ada operasi yang gagal, tidak ada satu pun yang gagal mereka mengeksekusi. Ini menyederhanakan kesepakatan multi-arah. Misalkan sebuah penerbit membuat aset untuk mewakili akta tanah, dan pengguna A ingin menukar sebidang tanah kecil ditambah $10.000 dengan a sebidang tanah yang lebih besar milik B. Kedua pengguna dapat sama-sama menandatangani satu transaksi yang berisi tiga operasi: dua tanah pembayaran dan pembayaran satu dolar. Kriteria validitas utama suatu transaksi adalah nomor urutnya, yang harus lebih besar satu daripada nomor urut transaksi entri buku besar akun sumber. Menjalankan transaksi yang valid (berhasil atau tidak) menambah nomor urut, mencegah pemutaran ulang. Nomor urut awal berisi buku besar nomor dalam bit tinggi untuk mencegah pemutaran ulang bahkan setelah penghapusan dan membuat ulang akun. Kriteria validitas lainnya adalah batasan opsional kapan suatu transaksi dapat dijalankan. Kembali ke tanah dan dolar swap di atas, jika A menandatangani transaksi sebelum B, A tidak boleh ingin B melakukan transaksi selama setahun sebelum mengajukan itu, sehingga dapat menetapkan batas waktu yang membatalkan transaksi setelah beberapa hari. Akun multisig juga dapat dikonfigurasi untuk memberi bobot penandatanganan pada pengungkapan gambar awal hash, yang, dikombinasikan dengan batas waktu, memungkinkan perdagangan lintas rantai atom [1]. Akun sumber transaksi membayar sedikit biaya di XLM, 10−5 XLM kecuali terjadi kemacetan. Di bawah kemacetan, itu biaya operasi ditentukan oleh lelang Belanda. Validator adalah tidak dikompensasi dengan biaya karena validator serupa ke Bitcoin node penuh, bukan penambang. Daripada menghancurkan XLM, biaya didaur ulang dan didistribusikan secara proporsional melalui pemungutan suara pemegang XLM yang ada, yang jika dipikir-pikir mungkin atau mungkin tidak sebanding dengan kerumitannya. 5.3 Nilai-nilai konsensus Untuk setiap buku besar, Stellar menggunakan SCP untuk menyetujui struktur data dengan tiga bidang: kumpulan transaksi hash (termasuk hash dari header buku besar sebelumnya), waktu tutup, and peningkatan. Ketika beberapa nilai dikonfirmasi dinominasikan, Stellar mengambil kumpulan transaksi dengan operasi terbanyak (memutus ikatan berdasarkan total biaya, maka transaksi ditetapkan hash), gabungan semuanya peningkatan, dan waktu penutupan tertinggi. Waktu dekat saja valid jika berada di antara waktu penutupan buku besar terakhir dan hadir, sehingga node tidak mencalonkan waktu yang tidak valid. Peningkatan menyesuaikan parameter global seperti saldo cadangan, biaya operasi minimum, dan versi protokol. Kapan digabungkan selama pencalonan, biaya yang lebih tinggi dan nomor versi protokol menggantikan biaya yang lebih rendah. Peningkatan ini berdampak pada tata kelola melalui ruang pertarungan pemungutan suara gabungan [34], tidak juga egaliter dan tidak terpusat. Setiap validator dikonfigurasi sebagai baik yang mengatur atau tidak mengatur (default), menurut apakah operatornya ingin berpartisipasi dalam tata kelola. Mengatur validators mempertimbangkan tiga jenis peningkatan: diinginkan, valid, dan tidak valid (apa pun yang validator tidak
SOSP '19, 27–30 Oktober 2019, Huntsville, ON, Kanada Lokhava dkk. validator inti cakrawala FS DB DB menyerahkan klien klien validator lainnya Gambar 5. Arsitektur Stellar validator tahu bagaimana menerapkannya). Peningkatan yang diinginkan dikonfigurasikan ke pemicu pada waktu tertentu, dimaksudkan untuk dikoordinasikan antar operator. Node yang mengatur selalu memilih untuk mencalonkan yang diinginkan peningkatan, terima tetapi jangan memilih untuk mencalonkan peningkatan yang valid (yaitu, ikut serta dalam kuorum pemblokiran), dan jangan pernah memilih atau menerima peningkatan yang tidak valid. Gema validator yang tidak mengatur setiap suara yang mereka lihat untuk peningkatan yang valid, pada dasarnya mendelegasikan keputusan tentang peningkatan apa yang diinginkan bagi mereka yang memilih untuk peran tata kelola. 5.4 Implementasi Gambar 5 menunjukkan arsitektur validator Stellar. Sebuah dasmon disebut stellar-core (∼92k baris C++, tidak termasuk perpustakaan pihak ketiga) mengimplementasikan protokol SCP dan mesin negara yang direplikasi. Menghasilkan nilai untuk SCP memerlukan pengurangan sejumlah besar entri buku besar menjadi kriptografi kecil hashes. Sebaliknya, validasi dan eksekusi transaksi memerlukan pencarian status akun dan pencocokan pesanan di harga terbaik. Untuk menjalankan kedua fungsi secara efisien, inti yang luar biasa menyimpan dua representasi buku besar: representasi eksternal yang berisi daftar keinginan, disimpan sebagai file biner yang dapat diperbarui secara efisien dan diperbarui secara bertahap, dan representasi internal dalam database SQL (PostgreSQL untuk node produksi). Stellar-core membuat arsip riwayat hanya tulis yang berisi setiap kumpulan transaksi yang dikonfirmasi dan cuplikannya ember. Arsip ini memungkinkan node baru melakukan bootstrap sendiri saat bergabung dengan jaringan. Ini juga menyediakan catatan buku besar sejarah—perlu ada suatu tempat yang dapat dicari transaksi dari dua tahun lalu. Karena riwayat hanya bersifat tambahan dan jarang diakses, dapat disimpan di tempat yang murah seperti Amazon Glacier atau layanan apa pun yang mengizinkan seseorang untuk menyimpan dan mengambil file datar. Host validator biasanya tidak menghosting arsip mereka sendiri untuk menghindari dampak apa pun pada validasi kinerja dari melayani sejarah. Untuk menjaga agar inti bintang tetap sederhana, ini tidak dimaksudkan untuk digunakan langsung melalui aplikasi dan hanya memperlihatkan antarmuka yang sangat sempit untuk pengajuan transaksi baru. Untuk mendukung klien, sebagian besar validator menjalankan daemon bernama horizon (∼18k baris Go) yang menyediakan antarmuka HTTP untuk pengiriman dan pembelajaran transaksi. horizon memiliki akses hanya baca database SQL stellar-core, meminimalkan risiko horizon mendestabilisasi inti bintang. Fitur-fitur seperti pencarian jalur pembayaran diterapkan sepenuhnya dan dapat ditingkatkan secara sepihak tanpa berkoordinasi dengan validators lainnya. Beberapa daemon opsional pada lapisan yang lebih tinggi adalah klien yang harus dicakup, melengkapi ekosistem. Server jembatan memfasilitasi integrasi Stellar dengan sistem yang ada, misalnya memposting pemberitahuan semua pembayaran yang diterima oleh akun tertentu. SEBUAH server kepatuhan memberikan kaitan bagi lembaga keuangan untuk melakukannya menukar dan menyetujui informasi pengirim dan penerima tentang pembayaran, untuk mematuhi daftar sanksi. Akhirnya, server federasi mengimplementasikan penamaan yang dapat dibaca manusia sistem untuk akun. 6 Pengalaman penerapan Stellar tumbuh selama beberapa tahun menjadi keadaan yang moderat sejumlah operator node penuh yang cukup andal. Namun, Konfigurasi node sedemikian rupa sehingga hidup (meskipun tidak keselamatan) bergantung pada kami, Stellar Development Foundation (SDF); seandainya SDF tiba-tiba menghilang, operator node lainnya perlu campur tangan dan menghapus kami secara manual dari potongan kuorum agar jaringan dapat melanjutkan. Meskipun kami dan banyak pihak lain ingin mengurangi kepentingan sistemik SDF, tujuan ini semakin mendapat prioritas setelahnya peneliti [58] mengukur dan mempublikasikan sentralisasi jaringan tanpa membedakan risiko terhadap keselamatan dan keaktifan. Sejumlah operator bereaksi dengan penyesuaian konfigurasi aktif, terutama meningkatkan ukurannya kuorum dalam upaya melemahkan pentingnya SDF; ironisnya hal ini hanya meningkatkan risiko terhadap nyawa. Ada dua masalah yang memperburuk situasi. Pertama, yang populer alat pemantauan Stellar pihak ketiga [5] dilakukan secara sistematis melebih-lebihkan waktu aktif validator dengan tidak benar-benar memverifikasi inti bintang itu sedang berjalan; hal ini menyebabkan orang-orang ikut serta node yang tidak dapat diandalkan dalam irisan kuorumnya. Kedua, ada bug di dalamnya stellar-core berarti setelah validator dipindahkan ke buku besar berikutnya, itu tidak cukup membantu node yang tersisa menyelesaikan yang sebelumnyabuku besar kami jika terjadi pesan yang hilang. Akibatnya, jaringan mengalami downtime selama 67 menit dan diperlukan koordinasi manual oleh validator administrator untuk memulai kembali. Lebih buruk lagi, ketika mencoba memulai ulang jaringan, terjadi konfigurasi ulang yang terburu-buru secara bersamaan pada beberapa node dalam kesalahan konfigurasi kolektif yang memungkinkan beberapa node melakukannya menyimpang, membutuhkan penutupan manual dari node tersebut dan penyerahan kembali transaksi yang diterima selama divergensi. Untungnya, perbedaan ini dapat ditangkap dan diperbaiki cepat dan tidak mengandung transaksi yang bertentangan, tetapi risiko jaringan gagal mencapai kuorum persimpangan— perpecahan sambil terus menerima potensi konflik transaksi, hanya karena kesalahan konfigurasi—terjadi sangat konkrit dengan kejadian ini. Meninjau pengalaman-pengalaman ini menghasilkan dua kesimpulan utama dan tindakan perbaikan yang sesuai.Pembayaran global yang cepat dan aman dengan Stellar SOSP '19, 27–30 Oktober 2019, Huntsville, ON, Kanada Kritis, 100% 51% 51% Tinggi, 67% 51% Sedang, 67% 51% Rendah, 67% 51% 51% ... ... ... 51% ... 51% Gambar 6. Hierarki kualitas validator. Node dengan kualitas terbaik memerlukan ambang batas tertinggi 100%, sedangkan kualitas yang lebih rendah dikonfigurasikan ke ambang batas 67%. Node dalam satu organisasi memerlukan mayoritas sederhana 51%. 6.1 Kompleksitas dan kerapuhan konfigurasi Stellar menyatakan irisan kuorum sebagai kumpulan kuorum bersarang yang terdiri dari n entri dan ambang batas k di mana setiap kumpulan k entri merupakan bagian kuorum. Masing-masing dari n entri adalah salah satunya kunci publik validator atau, secara rekursif, kumpulan kuorum lainnya. Meskipun fleksibel dan kompak, kami mewujudkan kuorum bertingkat set secara bersamaan memberi operator node terlalu banyak fleksibilitas dan terlalu sedikit panduan: mudah untuk menulis tidak aman (atau bahkan tidak masuk akal). Kriteria pengelompokan node menjadi set, untuk mengatur subset ke dalam hierarki, dan pemilihan ambang batas tidak cukup jelas dan berkontribusi terhadap kegagalan operasional. Tidak jelas apakah akan melakukannya memperlakukan "level" dalam hierarki kumpulan bersarang sebagai tingkat kepercayaan, atau suatu organisasi, atau keduanya; banyak konfigurasi di lapangan mencampuradukkan konsep-konsep ini, selain menentukan berbahaya atau ambang batas yang tidak berarti. Oleh karena itu kami menambahkan mekanisme konfigurasi yang lebih sederhana yang memisahkan dua aspek kumpulan kuorum bertingkat: pengelompokan node bersama-sama berdasarkan organisasi, dan memberi label pada setiap organisasi dengan klasifikasi kepercayaan sederhana (rendah, sedang, tinggi, atau kritis). Organisasi yang berada pada level tinggi dan di atasnya diharuskan untuk melakukan hal tersebut mempublikasikan arsip sejarah. Sistem baru ini mensintesis kumpulan kuorum bersarang di mana setiap organisasi direpresentasikan sebagai a Ambang batas 51% ditetapkan, dan organisasi dikelompokkan ke dalam beberapa set dengan ambang batas 67% atau 100% (tergantung kualitas kelompok). Setiap grup adalah satu entri di grup berikutnya (berkualitas lebih tinggi), seperti yang diilustrasikan pada Gambar 6. Model yang disederhanakan ini mengurangi kemungkinan kesalahan konfigurasi, baik dari segi struktur dari himpunan bersarang yang disintesis dan ambang batas yang dipilih setiap set. 6.2 Deteksi kesalahan konfigurasi secara proaktif Kedua, kami menyadari bahwa mendeteksi kesalahan konfigurasi kolektif dengan menunggu untuk mengamati dampak negatifnya sudah terlambat. Terutama sehubungan dengan kesalahan konfigurasi yang dapat menyimpang—a mode kegagalan yang lebih serius daripada penghentian—yang dibutuhkan jaringan agar dapat segera mendeteksi kesalahan konfigurasi sehingga operator dapat mengembalikannya sebelum terjadi divergensi. Untuk mengatasi kebutuhan ini, kami membangun mekanisme ke dalam perangkat lunak validator yang secara terus-menerus mengumpulkan status konfigurasi kolektif dari semua rekan dalam penutupan transitif node dan mendeteksi potensi divergensi—yaitu, disjoint kuorum—dalam konfigurasi kolektif itu. 6.2.1 Memeriksa persimpangan kuorum Meskipun mengumpulkan bagian kuorum itu mudah, menemukan kuorum yang terpisah di antara mereka adalah hal yang sulit [62]. Namun, kami mengadopsinya seperangkat heuristik algoritmik dan aturan eliminasi kasus diusulkan oleh Lachowski [62] yang memeriksa contoh umum dari masalah beberapa kali lipat lebih cepat dari biaya kasus terburuk. Secara praktis, jaringan saat ini penutupan transitif irisan kuorum berada di urutan 20–30 node dan, dengan optimasi Lachowski, biasanya memeriksa dalam hitungan detik pada satu CPU. Jika diperlukan untuk meningkatkan kinerja, kami dapat memparalelkan pencarian. 6.2.2 Memeriksa konfigurasi berisiko Mendeteksi bahwa jaringan mengakui kuorum yang terpisah adalah sebuah langkah ke arah yang benar, namun terlambat menandai bahaya untuk masalah kritis seperti itu. Idealnya, kami ingin operator node menerima peringatan saat konfigurasi kolektif jaringan hanya mendekati keadaan berisiko. Oleh karena itu, kami memperluas pemeriksaan kuorum persimpangan untuk mendeteksi suatu kondisi kita sebut kekritisan: ketika arus konfigurasi kolektif hanya berjarak satu kesalahan konfigurasi negara bagian yang mengakui kuorum yang terpisah. Untuk mendeteksi kekritisan, pemeriksa berulang kali mengganti konfigurasi masing-masing organisasi dengan simulasi kesalahan konfigurasi kasus terburuk menjalankan kembali pemeriksa persimpangan kuorum dalam pada hasilnya. Jika ada kesalahan konfigurasi kritis yang terjadi, tinggal selangkah lagi dari keadaan saat ini, perangkat lunak mengeluarkan peringatan dan melaporkan organisasi yang mempunyai risiko kesalahan konfigurasi. Perubahan ini memberikan komunitas operator dua lapisan pemberitahuan dan panduan untuk melindungi dari bentuk-bentuk terburuk kesalahan konfigurasi kolektif.
شبكة الدفع
يصف هذا القسم شبكة الدفع الخاصة بـ 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 التحقق من التكوينات الخطرة يعد اكتشاف أن الشبكة تقبل النصاب القانوني المنفصل بمثابة خطوة في الاتجاه الصحيح، لكنه يشير إلى الخطر في وقت متأخر بشكل غير مريح لمثل هذه القضية الحرجة. من الناحية المثالية، نريد أن يتلقى مشغلو العقد تحذيرات عند التكوين الجماعي للشبكة يقترب فقط من حالة محفوفة بالمخاطر. ولذلك قمنا بتوسيع مدقق تقاطع النصاب القانوني للكشف عن حالة نسميها الحرجية: عندما يكون التيار التكوين الجماعي هو تكوين خاطئ واحد بعيدا عن دولة تقبل النصاب القانوني المنفصل. للكشف عن الأهمية، يقوم المدقق باستبدال تكوين كل مؤسسة بشكل متكرر بمحاكاة تكوين خاطئ لأسوأ الحالات إعادة تشغيل مدقق تقاطع النصاب الداخلي على النتيجة. في حالة وجود أي خطأ فادح في التكوين على بعد خطوة واحدة من الحالة الحالية، يصدر البرنامج تحذيرًا و تقارير المنظمة التي تشكل خطر التكوين الخاطئ. تمنح هذه التغييرات مجتمع المشغلين طبقتين من الإشعار والتوجيه للعزل ضد أسوأ الأشكال من سوء التكوين الجماعي
Evaluasi

Untuk memahami kesesuaian Stellar sebagai pembayaran global dan jaringan perdagangan, kami mengevaluasi keadaan jaringan publik dan menjalankan eksperimen terkontrol pada eksperimen pribadi jaringan. Kami fokus pada pertanyaan-pertanyaan berikut: • Seperti apa topologi jaringan produksinya? Berapa rata-rata pesan yang disiarkan, dan bagaimana SCP mengalami timeout? • Apakah latensi pembaruan konsensus dan buku besar tetap independen terhadap jumlah akun?SOSP '19, 27–30 Oktober 2019, Huntsville, ON, Kanada Lokhava dkk. • Bagaimana latensi dipengaruhi oleh peningkatan (a) transaksi per detik (dan, akibatnya, transaksi per buku besar), dan (b) jumlah validator node? • Berapa biaya menjalankan sebuah node dalam kaitannya dengan CPU, memori, dan bandwidth jaringan? Jaringan pembayaran memiliki tingkat transaksi yang rendah dibandingkan ke jenis sistem terdistribusi lainnya. blockchains terkemuka, Bitcoin dan Ethereum, konfirmasi hingga 15 transaksi/detik, kurang dari Stellar. Selain itu, sistem ini memerlukan waktu beberapa menit untuk melakukannya satu jam untuk mengonfirmasi transaksi dengan aman, karena bukti kerja memerlukan menunggu beberapa blok untuk ditambang. Itu jaringan SWIFT non-blockchain rata-rata hanya melakukan 420 transaksi per detik pada hari puncaknya [14]. Oleh karena itu kami memilih untuk membandingkan pengukuran kami dengan target 5 detik interval buku besar, target yang lebih agresif. Hasil kami menunjukkan bahwa latensi masih berada di bawah batas ini beberapa pengoptimalan yang belum diterapkan masih dalam proses. 7.1 Jangkar Aset yang paling banyak diperdagangkan berdasarkan volume mencakup mata uang (misalnya, 3 USD jangkar, 2 CNY), jangkar Bitcoin, keamanan yang didukung real estat token [92], dan mata uang dalam aplikasi [8]. Jangkar yang berbeda memiliki kebijakan yang berbeda. Misalnya, satu jangkar USD, Stronghold, menetapkan auth_reqired dan memerlukan proses kenali pelanggan Anda (KYC) untuk setiap akun yang memilikinya aset. Lainnya, AnchorUSD, memungkinkan siapa pun menerima dan berdagang USD mereka (sehingga memungkinkan untuk mengirim $0,50 ke Meksiko dalam 5 detik dengan biaya $0,000001). Namun, JangkarUSD memang memerlukan KYC dan biaya untuk membeli atau menebus USD mereka dengan transfer kawat konvensional. Di Filipina, di mana peraturan bank lebih longgar untuk pembayaran masuk,coin.ph mendukung pencairan PHP di mesin ATM mana pun [36]. Selain token keamanan yang disebutkan di atas dan mata uang dalam aplikasi, terdapat berbagai token non-mata uang mulai dari obligasi komersial [22] dan kredit karbon [85, 96] dan lebih banyak lagi aset esoteris seperti token yang memberikan insentif kolaboratif penarikan kembali mobil [35]. 7.2 Jaringan publik Saat tulisan ini dibuat, terdapat 126 full node yang aktif, 66 di antaranya berpartisipasi dalam konsensus dengan menandatangani pesan suara. Gambar 7 (dihasilkan oleh [5]) memvisualisasikan jaringan, dengan garis di antaranya dua node jika salah satu muncul di bagian kuorum yang lain dan a garis biru gelap untuk menunjukkan ketergantungan dua arah. Di center adalah sekelompok 17 “tingkat satu validators” de facto yang dijalankan oleh SDF, SatoshiPay, LOBSTR, COINQVEST, dan Keybase. Empat bulan lalu, sebelum peristiwa Bagian 6, disana ada 15 node yang penting secara sistemik: 3 dari yang tampaknya organisasi tingkat satu dan beberapa lajang acak. Itu grafik juga terlihat kurang teratur. Oleh karena itu, nampaknya mekanisme konfigurasi baru dan/atau keputusan operator yang lebih baik untuk berkontribusi pada topologi jaringan yang lebih sehat. Tanpa sumber daya keuangan yang besar (dan pemegang saham terkait Gambar 7. Peta irisan kuorum kewajiban), akan sulit untuk merekrut 5 tingkat satu organisasi sejak awal. Hal ini menunjukkan kuorum irisan memainkan peran yang berguna dalam bootstraping jaringan: siapa pun bisa bergabung dengan tujuan menjadi pemain penting karena tidak ada penjaga gerbang untuk kesepakatan berpasangan. Saat ini ada lebih dari 3,3 juta akun di buku besar. Selesai periode 24 jam terakhir, Stellar rata-rata 4,5 transaksi dan 15,7 operasi per detik. Meninjau buku besar terbaru, sebagian besar transaksi tampaknya memiliki satu operasi, sementara setiap beberapa operasi di buku besar kita melihat transaksi yang berisi banyak operasi itu tampaknya berasal dari pembuat pasar yang mengelola penawaran. Itu waktu yang berarti untuk mencapai konsensus dan memperbarui buku besar 1061 ms dan 46 ms, masing-masing. Persentil ke-99 adalah 2252 mdtk dan 142 mdtk (yang pertama mencerminkan batas waktu 1 detik dalam pemilihan pemimpin nominasi). Catatan kinerja SCP adalah sebagian besar tidak bergantung pada transaksi per detik, sejak SCP menyetujui hash dari banyak transaksi yang sewenang-wenang. Kemacetan lebih besar kemungkinannya timbul dari pencalonan calon transaksi selama nominasi, pelaksanaan dan validasi transaksi, dan menggabungkan keranjang. Kami belum membutuhkannya untuk memparalelkan pemrosesan transaksi stellar-core pada beberapa inti CPU atau drive disk. Kami juga mengevaluasi jumlah pesan SCP yang disiarkan pada jaringan produksi. Dalam kasus normal dengan satu pemimpin terpilih untuk mencalonkan suatu nilai, kami mengharapkan tujuh logis pesan yang akan disiarkan: dua pesan untuk dipilih dan diterima seorang nomipernyataan nate, dua pesan untuk diterima dan dikonfirmasi pernyataan persiapan, dua pesan untuk diterima dan dikonfirmasi pernyataan komit, dan terakhir, pesan eksternalisasi (dikirim setelah melakukan buku besar baru ke disk untuk membantu orang yang tersesat mengejar ketinggalan). Implementasinya menggabungkan konfirmasi komit dan mengeksternalisasikan pesan sebagai optimasi, sebagaimana adanya aman untuk mengeksternalisasi suatu nilai setelah dikomit. Kami kemudian menganalisis metrik yang dikumpulkan pada Stellar validator produksi. Selesai selama 68 jam, 1,3 pesan/detik dikirimkan, rata-rata 6-7 pesan per buku besar. Kami mencatat bahwa totalnya
Pembayaran global yang cepat dan aman dengan Stellar SOSP '19, 27–30 Oktober 2019, Huntsville, ON, Kanada Persentil Jumlah Batas Waktu Nominasi Pemungutan suara 75% 0 0 99% 1 0 Maks 4 1 Gambar 8. Batas waktu per buku besar selama 68 jam jumlah pesan yang disiarkan oleh validators lebih besar, sejak di selain pesan pemungutan suara gabungan, node juga menyiarkan transaksi apa pun yang mereka pelajari. Gambar 8 menunjukkan batas waktu yang dialami oleh suatu produksi validator selama jangka waktu 68 jam. Batas waktu nominasi adalah ukuran (tidak)efektifnya fungsi pemilihan pemimpin, sementara waktu tunggu pemungutan suara sangat bergantung pada jaringan dan potensi penundaan pesan. Batas waktunya konsisten dengan jumlah pesan yang dipancarkan: enam pesan di skenario kasus terbaik, dan setidaknya tujuh pesan jika putaran nominasi tambahan diperlukan. 7.3 Eksperimen terkontrol Kami menjalankan eksperimen terkontrol dalam wadah yang dikemas Instans Amazon EC2 c5d.9xlarge dengan RAM 72 GiB, NVMe SSD 900 GB, dan 36 vCPU. Setiap contoh ada di wilayah EC2 yang sama dan memiliki bandwidth tetap 10 Gbps. Kami menggunakan SQLite sebagai toko. (Stellar juga mendukung PostgreSQL, tapi itu memiliki tugas asinkron yang memasukkan kebisingan ke dalam pengukuran.) Stellar menyediakan kueri runtime bawaan, generateload, yang memungkinkan menghasilkan beban sintetis pada target tertentu transaksi/kurs kedua. Meskipun Stellar mendukung beragam fitur perdagangan, seperti buku pesanan dan jalur lintas aset pembayaran, kami fokus pada pembayaran sederhana. Mengonfirmasi transaksi terdiri dari beberapa langkah, jadi kami mencatat pengukuran untuk setiap hal berikut: • Nominasi: waktu dari nominasi hingga persiapan pertama • Pemungutan suara: waktu dari persiapan pertama hingga pengukuhan a pemungutan suara dilakukan • Pembaruan buku besar: saatnya menerapkan nilai konsensus • Jumlah transaksi: transaksi terkonfirmasi per buku besar Setiap eksperimen kami ditentukan oleh tiga parameter: jumlah entri akun dalam buku besar, jumlah beban (berupa pembayaran XLM) yang dikirimkan per detik, dan jumlah validators. Kami mengonfigurasi setiap validator untuk mengetahui tentang setiap validator lainnya (skenario terburuk untuk SCP), dengan potongan kuorum ditetapkan ke mayoritas sederhana node (untuk memaksimalkan jumlah kuorum yang berbeda). Dasar Eksperimen dasar kami mengukur Stellar dengan 100.000 akun, empat validator, dan pembuatan beban kecepatan 100 transaksi/detik. Kami mengamati rata-rata 507 transaksi per buku besar, dengan deviasi standar 49 (9,7%). Perhatikan bahwa tidak ada transaksi yang dibatalkan; sedikit 105 106 107 0 500 1.000 1.500 2.000 Akun Latensi [ms] Pembaruan buku besar Pemungutan suara Nominasi Gambar 9. Latensi seiring bertambahnya jumlah akun varians disebabkan oleh keterbatasan penjadwalan generator beban. Kami mengamati bahwa jumlah transaksi per buku besar konsisten dengan tingkat pembangkitan beban kami, berdasarkan buku besar menutup setiap 5 detik. Nominasi, pemungutan suara, dan buku besar pembaruan menunjukkan latensi rata-rata 82,53 ms, 95,96 ms, dan 174,08 ms, masing-masing. Kami mengamati latensi nominasi tersebut Persentil ke-99 secara konsisten berada di bawah 61 md, dan kadang-kadang lonjakan sekitar 1 detik, sesuai dengan langkah pertama dalam fungsi batas waktu pemilihan pemimpin. Mengingat kinerja dasar, kami melihat dampaknya memvariasikan setiap parameter pengaturan pengujian. Akun Data pada Gambar 9 menunjukkan bahwa skala Stellar serta jumlah akun bertambah. Generasi tes akun menjadi proses yang panjang, seiring pembuatan keranjang dan penggabungan mencegah kami untuk sekadar mengisi database dengan akun langsung melalui SQL. Oleh karena itu, kami melakukan eksperimen hingga 50.000.000 akun. Selagi ada dampak minimal pada konsensus dan latensi pembaruan buku besar, kami mencatat bahwa peningkatan akun menciptakan overhead sebesar menggabungkan ember, yang menjadi lebih besar. Tingkat transaksi Tingkat transaksi mempengaruhi jumlah lalu lintas multicast di antara validators, jumlah transaksi yang termasuk dalam setiap buku besar, dan ukuran tingkat teratas ember. Untuk memahami dampak peningkatan transaksi memuat, kami menjalankan eksperimen dengan 100.000 akun dan 4 validators. Gambar 10 menunjukkan pertumbuhan latensi konsensus yang lambat, sementara sebagian besar waktu dihabiskan untuk memperbarui buku besar. Tidak mengherankan, seiring bertambahnya ukuran kumpulan transaksi membutuhkan waktu lebih lama untuk mengkomitnya ke database. Kami juga mencatat itu latensi pembaruan buku besar sangat bergantung pada implementasi, dan dipengaruhi oleh pilihan database. Node validator Untuk melihat seberapa meningkat jumlah tierone validatorsmemengaruhi kinerja, kami menjalankan eksperimen dengan 100.000 akun, 100 transaksi/detik, dan jumlah validator yang bervariasi dari 4 hingga 43. Semua validator muncul di seluruh kuorum validators; irisan kuorum yang lebih kecil akan melakukannya memiliki dampak yang lebih kecil terhadap kinerja.SOSP '19, 27–30 Oktober 2019, Huntsville, ON, Kanada Lokhava dkk. 100 150 200 250 300 350 0 500 1.000 1.500 2.000 Muat [transaksi/detik] Latensi [ms] Pembaruan buku besar Pemungutan suara Nominasi Gambar 10. Latensi seiring meningkatnya beban transaksi 10 20 30 40 0 500 1.000 1.500 2.000 Validator Latensi [ms] Pembaruan buku besar Pemungutan suara Nominasi Gambar 11. Latensi seiring bertambahnya jumlah node Mengubah jumlah node validasi di jaringan berdampak pada jumlah pesan SCP yang dipertukarkan juga jumlah nilai potensial selama nominasi. Gambar 11 menunjukkan waktu nominasi meningkat pada tingkat yang relatif kecil. Meskipun data menunjukkan bahwa pemungutan suara adalah hambatannya, kami percaya bahwa banyak masalah penskalaan dapat diatasi dengan melakukan perbaikan Jaringan overlay Stellar untuk mengoptimalkan lalu lintas jaringan. Sebagai diharapkan, latensi pembaruan buku besar tetap independen jumlah node. Tingkat penutupan Terakhir, kami ingin mengukur kinerja end-to-end Stellar dengan mengukur seberapa sering buku besar dikonfirmasi dan apakah Stellar memenuhi target 5 detik tanpa membatalkan transaksi apa pun. Kami mengamati rata-rata buku besar ditutup waktu 5,03 detik, 5,10 detik, dan 5,15 detik seiring peningkatan akun entri, tingkat transaksi, dan jumlah node, masing-masing. Hasilnya menunjukkan bahwa Stellar dapat menutup buku besar secara konsisten di bawah beban tinggi. 7.4 Menjalankan validator Salah satu fitur penting Stellar adalah biayanya yang rendah menjalankan validator, karena jangkar harus dijalankan (atau dikontrak) validators untuk menegakkan finalitas. SDF menjalankan 3 validators produksi, semuanya pada instans AWS c5.large, yang memiliki dua inti, RAM 4 GiB dan CPU Intel(R) Xeon(R) Platinum 8124M @ Prosesor 3,00GHz. Memeriksa penggunaan sumber daya di satu tempat dari mesin ini, kami mengamati proses Stellar menggunakan sekitar 7% CPU dan 300 MiB memori. Dalam hal lalu lintas jaringan, dengan 28 koneksi ke rekan dan ukuran kuorum dari 34, kecepatan masuk dan keluar adalah 2,78 Mbit/s dan 2,56 Mbit/dtk, masing-masing. Perangkat keras diperlukan untuk menjalankan a prosesnya tidak mahal. Dalam kasus kami, biayanya adalah $0,054/jam atau sekitar $40/bulan. 7.5 Pekerjaan masa depan Eksperimen ini menunjukkan bahwa Stellar dapat dengan mudah menskalakan 1–2 pesanan besarnya melebihi penggunaan jaringan saat ini. Karena tuntutan kinerja sangat sederhana hingga saat ini, Stellar menyisakan ruang untuk banyak penggunaan pengoptimalan langsung teknik terkenal. Misalnya transaksi dan SCP pesan disiarkan oleh validators menggunakan banjir naif protokol, namun idealnya menggunakan protokol yang lebih efisien dan terstruktur multicast peer-to-peer [30]. Selain itu, banyak database waktu pembaruan buku besar dapat ditingkatkan melalui teknik batching dan prefetching standar.
تقييم

لفهم مدى ملاءمة 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]. بالإضافة إلى ذلك، قاعدة بيانات ثقيلة يمكن تحسين وقت تحديث دفتر الأستاذ من خلال تقنيات التجميع والجلب المسبق القياسية.
Kesimpulan
Pembayaran internasional mahal dan memakan waktu berhari-hari. Dana hak asuh melewati beberapa lembaga keuangan termasuk bank koresponden dan layanan pengiriman uang. Karena setiap hop harus dipercaya sepenuhnya, sulit untuk yang baru pendatang untuk mendapatkan pangsa pasar dan bersaing. Stellar pertunjukan cara mengirim uang ke seluruh dunia dengan murah dalam hitungan detik. Itu inovasi utamanya adalah protokol perjanjian Bizantium keanggotaan terbuka baru, SCP, yang memanfaatkan struktur peer-to-peer jaringan keuangan untuk mencapai konsensus global berdasarkan a hipotesis Internet baru. SCP membiarkan Stellar berkomitmen secara atom transaksi yang tidak dapat diubah antar peserta sewenang-wenang yang tidak tahu atau percaya satu sama lain. Hal ini pada gilirannya menjamin akses pendatang baru ke pasar yang sama seperti yang sudah ada pemain, membuatnya aman untuk mendapatkan pertukaran terbaik yang tersedia bahkan dari pembuat pasar yang tidak tepercaya, dan secara dramatis mengurangi latensi pembayaran. Ucapan Terima Kasih Stellar tidak akan menjadi seperti sekarang ini tanpa adanya awal kepemimpinan Joyce Kim atau kontribusi luar biasa dari Scott Fleckenstein dan Bartek Nowotarski di gedung dan mempertahankan horizon, Stellar SDK, dan bagian penting lainnya ekosistem Stellar. Kami juga berterima kasih kepada Kolten Bergeron, Henry Corrigan-Gibbs, Candace Kelly, Kapil K. Jain, Boris Reznikov, Jeremy Rubin, Christian Rudder, Eric Saunders, Torsten Stüber, Tomer Weller, pengulas anonim, dan gembala kami Justine Sherry atas komentarnya yang bermanfaat draft sebelumnya. Penafian Kontribusi Profesor Mazières pada publikasi ini adalah sebagai konsultan berbayar, dan bukan merupakan bagian dari kontribusinya Tugas atau tanggung jawab Universitas Stanford.
Pembayaran global yang cepat dan aman dengan Stellar SOSP '19, 27–30 Oktober 2019, Huntsville, ON, Kanada
خاتمة
المدفوعات الدولية باهظة الثمن وتستغرق أيامًا. الصندوق تمر الحضانة عبر مؤسسات مالية متعددة بما في ذلك البنوك المراسلة وخدمات تحويل الأموال. لأن كل قفزة يجب أن تكون موثوقة تماما، فمن الصعب على الجديد الداخلين للحصول على حصة في السوق والمنافسة. Stellar يظهر كيفية إرسال الأموال حول العالم بسعر رخيص في ثواني. ال الابتكار الرئيسي هو بروتوكول اتفاقية بيزنطية جديد مفتوح العضوية، SCP، الذي يعزز بنية نظير إلى نظير للشبكة المالية لتحقيق توافق عالمي في الآراء بموجب أ فرضية الإنترنت الجديدة. يتيح SCP لـ Stellar الالتزام ذريًا معاملات لا رجعة فيها عبر المشاركين التعسفيين الذين لا يعرفون أو يثقون ببعضهم البعض. وهذا بدوره يضمن للداخلين الجدد الوصول إلى نفس الأسواق القائمة اللاعبين، يجعلها آمنة للحصول على أفضل تبادل متاح أسعار حتى من صناع السوق غير موثوق بهم، وبشكل كبير يقلل من زمن الوصول للدفع. شكر وتقدير Stellar لن يكون حيث هو اليوم دون المبكر قيادة جويس كيم أو المساهمات الهائلة لـ سكوت فليكنشتاين وبارتيك نوفوتارسكي في البناء و الحفاظ على الأفق، وStellar SDK، والأجزاء الرئيسية الأخرى للنظام البيئي Stellar. ونشكر أيضًا كولتن بيرجيرون، هنري كوريجان جيبس، كانديس كيلي، كابيل ك. جاين، بوريس ريزنيكوف، جيريمي روبن، كريستيان رودر، إريك سوندرز، تورستن ستوبر، تومر ويلر، المراجعون المجهولون، و راعيتنا جوستين شيري على تعليقاتها المفيدة المسودات السابقة. إخلاء المسؤولية وكانت مساهمة البروفيسور مازيير في هذا المنشور بمثابة مستشار مدفوع الأجر، ولم تكن جزءًا منه واجبات أو مسؤوليات جامعة ستانفورد.
دفعات عالمية سريعة وآمنة باستخدام Stellar SOSP '19، 27-30 أكتوبر 2019، هانتسفيل، أونتاريو، كندا