Algoritma Konsensus Protokol Ripple
Abstract
على الرغم من وجود عدة خوارزميات إجماع لمسألة الجنرالات البيزنطيين (Byzantine Generals Problem)، وتحديداً فيما يتعلق بأنظمة الدفع الموزعة، فإن العديد منها يعاني من زمن استجابة مرتفع ناتج عن متطلب تواصل جميع العقد داخل الشبكة بشكل متزامن. في هذا العمل، نقدم خوارزمية إجماع جديدة تتجاوز هذا المتطلب من خلال استخدام شبكات فرعية موثوقة جماعياً ضمن الشبكة الأكبر. نوضح أن "الثقة" المطلوبة لمنع هجمات Sybil ليست في الواقع عالمية، بل محلية لكل عقدة في الشبكة.
يتم تطبيق خوارزمية إجماع بروتوكول Ripple (RPCA) كل بضع ثوانٍ بواسطة جميع العقد، من أجل الحفاظ على صحة الشبكة واتفاقها. بمجرد الوصول إلى الإجماع، يُعتبر السجل الحالي "مغلقاً" ويصبح آخر سجل مغلق. هذه الخوارزمية فريدة من نوعها حيث تحقق الإجماع بزمن استجابة منخفض مع الحفاظ على ضمانات قوية ضد الإخفاقات البيزنطية، مما يجعلها مناسبة لأنظمة التسوية المالية في الوقت الفعلي.
Abstract
Meskipun sudah ada beberapa algoritma konsensus untuk Masalah Jenderal Bizantium, khususnya pada sistem pembayaran terdistribusi, banyak di antaranya mengalami latensi tinggi akibat persyaratan bahwa semua node dalam jaringan harus berkomunikasi secara sinkron. Dalam karya ini, kami memperkenalkan algoritma konsensus baru yang mengatasi persyaratan tersebut dengan memanfaatkan subjaringan yang dipercaya secara kolektif di dalam jaringan yang lebih besar. Kami menunjukkan bahwa "kepercayaan" yang diperlukan untuk mencegah serangan Sybil pada kenyataannya bukan bersifat global, melainkan lokal pada setiap node dalam jaringan.
Algoritma konsensus protokol Ripple (RPCA) diterapkan setiap beberapa detik oleh semua node untuk menjaga ketepatan dan keselarasan jaringan. Setelah konsensus tercapai, ledger saat ini dianggap "tertutup" dan menjadi ledger tertutup terakhir. Algoritma ini unik karena mampu mencapai konsensus dengan latensi rendah sambil mempertahankan jaminan kuat terhadap kegagalan Byzantine, sehingga cocok untuk sistem penyelesaian keuangan waktu nyata.
Introduction
يجب أن ينفذ نظام الدفع الموزع خوارزمية إجماع لمعالجة المدفوعات بشكل صحيح وفي الوقت المناسب حتى في وجود جهات فاعلة معيبة أو خبيثة. يحقق Bitcoin الإجماع باستخدام إثبات العمل (proof-of-work)، الذي يتطلب من جميع العقد إنفاق موارد حسابية لحل الألغاز التشفيرية. في حين أن هذا النهج يوفر ضمانات أمنية قوية، إلا أنه يعاني من عيوب كبيرة تشمل استهلاك الطاقة العالي، وانخفاض إنتاجية المعاملات، وأوقات تأكيد طويلة يمكن أن تمتد إلى ساعة أو أكثر للمعاملات عالية القيمة.
توفر خوارزمية إجماع بروتوكول Ripple نهجاً جديداً للإجماع الموزع لا يتطلب إثبات العمل. بدلاً من ذلك، تتفق العقد في الشبكة بشكل جماعي على مجموعات المعاملات من خلال عملية تصويت تحقق الإجماع في غضون ثوانٍ. تم تصميم آلية الإجماع هذه خصيصاً لمتطلبات شبكة مدفوعات عالمية، حيث يكون زمن الاستجابة المنخفض والإنتاجية العالية ضروريين للنشر العملي.
الابتكار الرئيسي في RPCA هو أنه لا يتطلب موافقة جميع العقد في الشبكة مع بعضها البعض. بدلاً من ذلك، تحتفظ كل عقدة بقائمة عقد فريدة (Unique Node List أو UNL) من العقد الأخرى التي تثق بها في عدم التواطؤ. طالما أن قوائم UNL المختارة من قبل العقد لديها تداخل كافٍ، وأن أقل من نسبة حد معينة من العقد معيبة، فإن الشبكة ستصل إلى الإجماع. يوفر هذا النهج ضمانات الأمان اللازمة لنظام الدفع مع تحقيق زمن إجماع يُقاس بالثواني بدلاً من الدقائق أو الساعات.
Introduction
Sistem pembayaran terdistribusi harus menerapkan algoritma konsensus agar pembayaran dapat diproses secara benar dan tepat waktu bahkan ketika ada pelaku yang rusak atau berniat jahat. Bitcoin mencapai konsensus menggunakan proof-of-work, yang mengharuskan semua node mengeluarkan sumber daya komputasi untuk memecahkan teka-teki kriptografis. Walaupun pendekatan ini memberikan jaminan keamanan yang kuat, pendekatan ini memiliki kelemahan signifikan, termasuk konsumsi energi tinggi, throughput transaksi rendah, serta latensi konfirmasi panjang yang dapat mencapai satu jam atau lebih untuk transaksi bernilai tinggi.
Algoritma konsensus protokol Ripple menawarkan pendekatan baru terhadap konsensus terdistribusi tanpa memerlukan proof-of-work. Sebagai gantinya, node dalam jaringan secara kolektif menyepakati himpunan transaksi melalui proses pemungutan suara yang mencapai konsensus dalam hitungan detik. Mekanisme ini dirancang khusus untuk kebutuhan jaringan pembayaran global, di mana latensi rendah dan throughput tinggi sangat penting untuk implementasi praktis.
Inovasi utama RPCA adalah tidak mengharuskan semua node dalam jaringan saling menyetujui secara langsung. Sebaliknya, setiap node memelihara Unique Node List (UNL) berisi node lain yang dipercaya tidak akan berkolusi. Selama UNL yang dipilih antar-node memiliki tumpang tindih yang memadai, dan persentase node yang rusak berada di bawah ambang tertentu, jaringan akan mencapai konsensus. Pendekatan ini menyediakan jaminan keamanan yang dibutuhkan sistem pembayaran sekaligus mencapai latensi konsensus dalam hitungan detik, bukan menit atau jam.
Definition of Consensus
في الأنظمة الموزعة، يشير الإجماع إلى العملية التي تتوصل من خلالها شبكة من العقد إلى اتفاق حول حالة مشتركة، على الرغم من وجود مشاركين معيبين أو خبيثين. يجب أن تستوفي خوارزمية الإجماع ثلاث خصائص أساسية: الصحة (لا تتخذ عقدتان صحيحتان قرارات مختلفة)، والاتفاق (تصل جميع العقد الصحيحة إلى نفس القرار)، والإنهاء (تتخذ جميع العقد الصحيحة قراراً في نهاية المطاف). تضمن هذه الخصائص أن النظام الموزع يتصرف كما لو كان عقدة واحدة موثوقة.
ينشأ التحدي في تحقيق الإجماع من عدم الموثوقية المتأصلة في الأنظمة الموزعة. قد تتعطل العقد، وقد تتأخر الرسائل أو تُفقد، وقد تتصرف العقد البيزنطية بشكل تعسفي أو خبيث. مسألة الجنرالات البيزنطيين (Byzantine Generals Problem)، التي صاغها Lamport وShostak وPease، تلتقط هذا التحدي: كيف يمكن لمجموعة من العمليات التوصل إلى اتفاق عندما قد يكون بعضها معيباً وعندما يكون الاتصال غير موثوق؟
تحدد النتائج الكلاسيكية في الحوسبة الموزعة حدوداً أساسية لما يمكن أن تحققه خوارزميات الإجماع. تُظهر نتيجة استحالة FLP أنه لا يمكن لأي خوارزمية حتمية ضمان الإجماع في نظام غير متزامن إذا كان حتى عقدة واحدة يمكن أن تفشل. لذلك يجب على خوارزميات الإجماع العملية إجراء مقايضات بين السلامة (عدم الوصول أبداً إلى إجماع خاطئ) والحيوية (تحقيق التقدم دائماً). يعطي إثبات العمل في Bitcoin الأولوية للسلامة على الحيوية، بينما يحقق RPCA توازناً أكثر ملاءمة لأنظمة الدفع من خلال إكمال جولات الإجماع في وقت محدد مع الحفاظ على ضمانات سلامة قوية في ظل افتراضات أعطال واقعية.
Definition of Consensus
Dalam sistem terdistribusi, konsensus merujuk pada proses ketika jaringan node mencapai kesepakatan atas satu keadaan bersama, meskipun ada peserta yang rusak atau berniat jahat. Algoritma konsensus harus memenuhi tiga sifat fundamental: correctness (dua node benar tidak boleh memutuskan hal yang berbeda), agreement (semua node benar mencapai keputusan yang sama), dan termination (semua node benar pada akhirnya mengambil keputusan). Sifat-sifat ini memastikan sistem terdistribusi berperilaku seolah-olah merupakan satu node tunggal yang andal.
Tantangan utama dalam mencapai konsensus berasal dari sifat tidak andal bawaan pada sistem terdistribusi. Node dapat crash, pesan dapat tertunda atau hilang, dan node Byzantine dapat bertindak sewenang-wenang atau jahat. Masalah Jenderal Bizantium, yang diformalkan oleh Lamport, Shostak, dan Pease, menangkap tantangan ini: bagaimana sekelompok proses mencapai kesepakatan ketika sebagian dapat rusak dan komunikasi tidak andal?
Hasil-hasil klasik dalam komputasi terdistribusi menetapkan batas dasar atas apa yang dapat dicapai oleh algoritma konsensus. Hasil ketidakmungkinan FLP menunjukkan bahwa tidak ada algoritma deterministik yang dapat menjamin konsensus dalam sistem asinkron jika bahkan satu node saja dapat gagal. Karena itu, algoritma konsensus praktis harus membuat trade-off antara safety (tidak pernah mencapai konsensus yang salah) dan liveness (selalu terus maju). Proof-of-work Bitcoin memprioritaskan safety dibanding liveness, sementara RPCA mencapai keseimbangan yang lebih sesuai untuk sistem pembayaran dengan menyelesaikan ronde konsensus dalam waktu terbatas sambil mempertahankan jaminan safety yang kuat di bawah asumsi kegagalan yang realistis.
Existing Consensus Algorithms
تم اقتراح عدة خوارزميات إجماع لحل مسألة الجنرالات البيزنطيين في الأنظمة الموزعة. يمكن لخوارزمية Practical Byzantine Fault Tolerance (PBFT)، التي قدمها Castro وLiskov، تحمل ما يصل إلى f عطل بيزنطي في نظام مكون من 3f+1 عقدة. يحقق PBFT الإجماع من خلال جولات متعددة من تبادل الرسائل بين جميع العقد، بتعقيد اتصال قدره O(n^2)، حيث n هو عدد العقد. في حين يوفر PBFT ضمانات سلامة قوية وزمن استجابة منخفض نسبياً للشبكات الصغيرة، إلا أنه لا يتوسع بشكل جيد للشبكات الكبيرة بسبب عبء الاتصال التربيعي.
يوفر Paxos ومتغيراته، التي طورها Lamport، إجماعاً في الأنظمة غير المتزامنة ولكنه يفترض أعطال التعطل بدلاً من الأعطال البيزنطية. يحقق Paxos الإجماع من خلال سلسلة من الجولات يقترح فيها المقترحون قيماً ويصوت عليها القابلون. في حين يمكن لـ Paxos تحمل تأخيرات الرسائل التعسفية وتعطل العمليات، فإنه يتطلب هندسة دقيقة للتعامل مع الأعطال البيزنطية ويمكن أن يعاني من القفل الحي (livelock) في سيناريوهات معينة.
تتخذ خوارزمية إجماع proof-of-work في Bitcoin نهجاً مختلفاً جذرياً من خلال جعل الهجمات البيزنطية غير مجدية اقتصادياً. تتنافس العقد لحل الألغاز التشفيرية، حيث يقترح الفائز الكتلة التالية من المعاملات. في حين أن هذا النهج يتوسع إلى أحجام شبكات تعسفية ويتعامل مع الأعطال البيزنطية، فإن له عيوباً خطيرة: استهلاك هائل للطاقة (يُقدر بأكثر من 150 مليون دولار سنوياً لشبكة Bitcoin)، وأوقات تأكيد طويلة (غالباً 40-60 دقيقة للمعاملات عالية القيمة)، وإنتاجية محدودة (حوالي 7 معاملات في الثانية). تجعل هذه القيود proof-of-work غير مناسب للعديد من تطبيقات أنظمة الدفع التي تتطلب تسوية سريعة وأحجام معاملات عالية.
Existing Consensus Algorithms
Sejumlah algoritma konsensus telah diusulkan untuk menyelesaikan Masalah Jenderal Bizantium dalam sistem terdistribusi. Algoritma Practical Byzantine Fault Tolerance (PBFT), yang diperkenalkan oleh Castro dan Liskov, mampu menoleransi hingga f kesalahan Byzantine dalam sistem berisi 3f+1 node. PBFT mencapai konsensus melalui beberapa ronde pertukaran pesan antar semua node, dengan kompleksitas komunikasi O(n^2), di mana n adalah jumlah node. Meskipun PBFT memberikan jaminan safety yang kuat dan latensi relatif rendah untuk jaringan kecil, PBFT tidak berskala baik pada jaringan besar karena overhead komunikasi kuadratik.
Paxos dan variannya, yang dikembangkan oleh Lamport, menyediakan konsensus dalam sistem asinkron tetapi mengasumsikan kegagalan crash, bukan kegagalan Byzantine. Paxos mencapai konsensus melalui serangkaian ronde ketika proposer mengusulkan nilai dan acceptor memberikan suara. Walaupun Paxos dapat mentoleransi penundaan pesan arbitrer dan crash proses, Paxos memerlukan rekayasa yang cermat untuk menangani kegagalan Byzantine dan dapat mengalami livelock pada skenario tertentu.
Algoritma konsensus proof-of-work Bitcoin mengambil pendekatan yang secara fundamental berbeda, yakni membuat serangan Byzantine tidak layak secara ekonomi. Node bersaing memecahkan teka-teki kriptografis, dan pemenang mengusulkan blok transaksi berikutnya. Walaupun pendekatan ini dapat diskalakan ke ukuran jaringan arbitrer dan menangani kegagalan Byzantine, pendekatan ini memiliki kekurangan serius: konsumsi energi masif (diperkirakan lebih dari 150 juta dolar AS per tahun untuk jaringan Bitcoin), latensi konfirmasi panjang (sering 40-60 menit untuk transaksi bernilai tinggi), dan throughput terbatas (sekitar 7 transaksi per detik). Keterbatasan ini membuat proof-of-work kurang cocok bagi banyak aplikasi sistem pembayaran yang memerlukan penyelesaian cepat dan volume transaksi tinggi.
Ripple Protocol Consensus Algorithm
تبدأ خوارزمية إجماع بروتوكول Ripple (RPCA) بأخذ كل خادم لجميع المعاملات الصالحة التي رآها والتي لم يتم تطبيقها بعد كمعاملات مرشحة. ثم تتبع الخوادم بروتوكولاً متعدد الجولات حيث تعمل بشكل تكراري نحو الاتفاق على مجموعة من المعاملات لتطبيقها على السجل الحالي. في كل جولة، تقدم الخوادم مقترحات تتكون من المعاملات التي تعتقد أنها يجب أن تُدرج في السجل التالي.
خلال كل جولة إجماع، تنقل الخوادم مقترحاتها إلى الخوادم الأخرى في قائمة العقد الفريدة (Unique Node List أو UNL) الخاصة بها. ثم تحسب الخوادم المعاملات التي تظهر في نسبة حد معينة من المقترحات. في البداية، يتم تعيين هذا الحد عند 50%، مما يعني أن المعاملة يجب أن تظهر في مقترحات نصف UNL الخادم على الأقل لتُعتبر للجولة التالية. مع تقدم الإجماع عبر الجولات المتتالية، يزداد هذا الحد تدريجياً (عادةً إلى 60%، 70%، وأخيراً 80%).
عندما تحقق معاملة حد الأغلبية العظمى البالغ 80% من الدعم في UNL الخادم، يتم تضمينها في مقترح ذلك الخادم لجولة الإجماع النهائية. يتم تطبيق جميع المعاملات التي تصل إلى هذا الحد عبر الشبكة على السجل، الذي يتم بعد ذلك تجزئته تشفيرياً وتوقيعه. يصبح هذا السجل المصادق عليه حديثاً آخر سجل مغلق، وتبدأ العملية مرة أخرى مع المجموعة التالية من المعاملات المرشحة.
تكتمل عملية الإجماع عادةً في 5 ثوانٍ أو أقل، حيث تتطلب معظم المعاملات جولة إجماع واحدة فقط لتحقيق حد الأغلبية العظمى. تبقى المعاملات التي لا تحقق الإجماع في جولة واحدة مرشحة للجولات اللاحقة. يضمن هذا التصميم أن الشبكة تحقق تقدماً مستمراً مع الحفاظ على ضمانات سلامة قوية، حيث لا يمكن تطبيق أي معاملة على السجل دون دعم الأغلبية العظمى من المصادقين الموثوقين.
Ripple Protocol Consensus Algorithm
Ripple Protocol Consensus Algorithm (RPCA) dimulai dengan setiap server mengambil semua transaksi valid yang telah dilihat tetapi belum diterapkan sebagai transaksi kandidat. Server kemudian mengikuti protokol multi-ronde, bekerja secara iteratif menuju kesepakatan atas himpunan transaksi yang akan diterapkan ke ledger saat ini. Pada setiap ronde, server membuat proposal yang terdiri dari transaksi yang menurut mereka perlu dimasukkan ke ledger berikutnya.
Selama setiap ronde konsensus, server mengomunikasikan proposalnya ke server lain dalam Unique Node List (UNL) mereka. Server lalu menghitung transaksi mana yang muncul dalam persentase ambang proposal. Pada awalnya, ambang ini ditetapkan di 50%, artinya transaksi harus muncul dalam proposal dari setidaknya setengah UNL server agar dipertimbangkan pada ronde berikutnya. Seiring konsensus berkembang melalui ronde berturut-turut, ambang ini meningkat secara bertahap (umumnya menjadi 60%, 70%, dan akhirnya 80%).
Ketika transaksi mencapai ambang supermajority 80% dukungan dalam UNL server, transaksi tersebut dimasukkan ke proposal server untuk ronde konsensus akhir. Semua transaksi yang mencapai ambang ini di seluruh jaringan diterapkan ke ledger, lalu ledger di-hash dan ditandatangani secara kriptografis. Ledger yang baru divalidasi ini menjadi ledger tertutup terakhir, dan proses dimulai kembali dengan himpunan transaksi kandidat berikutnya.
Proses konsensus biasanya selesai dalam 5 detik atau kurang, dengan sebagian besar transaksi hanya membutuhkan satu ronde konsensus untuk mencapai ambang supermajority. Transaksi yang belum mencapai konsensus dalam satu ronde tetap menjadi kandidat untuk ronde berikutnya. Desain ini memastikan jaringan terus membuat kemajuan sambil mempertahankan jaminan safety yang kuat, karena tidak ada transaksi yang dapat diterapkan ke ledger tanpa dukungan supermajority dari validator tepercaya.
Formal Analysis of Convergence
تعتمد صحة RPCA بشكل حاسم على التداخل بين قوائم UNL المختارة من قبل العقد المختلفة في الشبكة. ليكن UNL_i قائمة العقد الفريدة للعقدة i، وليكن UNL_i ∩ UNL_j مجموعة العقد التي تظهر في كل من UNL_i وUNL_j. للحفاظ على إجماع الشبكة، نشترط أنه لأي عقدتين i وj، يجب أن يكون تقاطع قوائم UNL الخاصة بهما كبيراً بما فيه الكفاية مقارنة بالحجم الأقصى لأي من القائمتين.

على وجه التحديد، يضمن البروتوكول السلامة عندما |UNL_i ∩ UNL_j| / max(|UNL_i|, |UNL_j|) 1/5 لجميع أزواج العقد i وj. يضمن هذا الشرط أنه حتى لو حاولت العقد البيزنطية التسبب في وصول أجزاء مختلفة من الشبكة إلى قرارات إجماع مختلفة، فإن التداخل في العقد الموثوقة يمنع الانقسام (fork). إذا تحقق هذا الشرط وكانت أقل من 1/5 من العقد في أي UNL بيزنطية، فإن جميع العقد الصحيحة ستصل إلى نفس قرار الإجماع.
يتقدم البرهان الرسمي بإظهار أنه إذا تمكنت عقدتان من الوصول إلى قرارات إجماع مختلفة، فيجب أن توجد معاملة T تظهر في السجل النهائي لعقدة واحدة ولكن ليس في الأخرى. لحدوث ذلك، يجب أن تكون T قد حققت 80% من الدعم في UNL العقدة الأولى ولكن أقل من 80% من الدعم في UNL العقدة الثانية. ومع ذلك، بالنظر إلى متطلب التداخل والقيد على العقد البيزنطية، يمكن إثبات أن هذا السيناريو مستحيل: إذا حققت T دعم 80% في UNL_i، فيجب أن تحقق دعم 60% على الأقل في أي UNL_j تستوفي شرط التداخل، ومع جولات كافية من الإجماع، سيتقارب هذا إلى 80% أو سيتم رفضه من قبل كلتا العقدتين.
خاصية الحيوية -- أن الإجماع سيتم الوصول إليه في نهاية المطاف -- تنبع من ملاحظة أن حد الإدراج يزداد بشكل حتمي عبر جولات الإجماع. حتى في وجود عقد بيزنطية وتأخيرات في الشبكة، يضمن البروتوكول أن المعاملات المدعومة من الأغلبية العظمى للعقد الصادقة ستُدرج في النهاية، بينما ستُستبعد المعاملات التي تفتقر إلى هذا الدعم. يوفر الوقت المحدد للإجماع (عادةً 5 ثوانٍ) ضمانات حيوية عملية مناسبة لتطبيقات أنظمة الدفع.
Formal Analysis of Convergence
Kebenaran RPCA sangat bergantung pada tingkat tumpang tindih antara UNL yang dipilih oleh node-node berbeda dalam jaringan. Misalkan UNL_i menyatakan unique node list milik node i, dan UNL_i ∩ UNL_j menyatakan himpunan node yang muncul pada UNL_i dan UNL_j sekaligus. Agar jaringan mempertahankan konsensus, untuk setiap pasangan node i dan j, irisan UNL keduanya harus cukup besar relatif terhadap ukuran UNL yang lebih besar.

Secara spesifik, protokol menjamin safety ketika |UNL_i ∩ UNL_j| / max(|UNL_i|, |UNL_j|) 1/5 untuk semua pasangan node i dan j. Kondisi ini memastikan bahwa sekalipun node Byzantine berusaha membuat bagian-bagian jaringan mencapai keputusan konsensus yang berbeda, tumpang tindih node tepercaya mencegah terjadinya fork. Jika kondisi ini terpenuhi dan kurang dari 1/5 node dalam setiap UNL bersifat Byzantine, maka semua node benar akan mencapai keputusan konsensus yang sama.
Pembuktian formal menunjukkan bahwa jika dua node dapat mencapai keputusan konsensus berbeda, harus ada transaksi T yang muncul di ledger final satu node tetapi tidak pada node lainnya. Agar hal ini terjadi, T harus mencapai dukungan 80% di UNL node pertama namun kurang dari 80% di UNL node kedua. Namun, dengan syarat tumpang tindih dan batas node Byzantine, skenario ini terbukti mustahil: jika T mencapai 80% dukungan di UNL_i, T harus mencapai setidaknya 60% dukungan di UNL_j mana pun yang memenuhi kondisi tumpang tindih, dan dengan ronde konsensus yang cukup, dukungan ini akan konvergen ke 80% atau ditolak oleh kedua node.
Properti liveness, yaitu konsensus pada akhirnya tercapai, berasal dari pengamatan bahwa ambang inklusi meningkat secara deterministik sepanjang ronde konsensus. Bahkan dengan keberadaan node Byzantine dan keterlambatan jaringan, protokol memastikan transaksi yang didukung supermajority node jujur pada akhirnya akan dimasukkan, sementara transaksi yang tidak memiliki dukungan tersebut akan dikeluarkan. Waktu konsensus yang terbatas (umumnya sekitar 5 detik) memberikan jaminan liveness praktis yang sesuai untuk aplikasi sistem pembayaran.
Unique Node Lists
قائمة العقد الفريدة (Unique Node List أو UNL) هي مكون أساسي في RPCA يميزه عن خوارزميات الإجماع الأخرى. تحتفظ كل عقدة في شبكة Ripple بقائمة UNL تتكون من عقد أخرى تثق بها في عدم التواطؤ للاحتيال على الشبكة. بشكل حاسم، هذه الثقة محلية وليست عالمية: يمكن أن يكون لدى العقد المختلفة قوائم UNL مختلفة، ولا يوجد متطلب لمجموعة متفق عليها عالمياً من المصادقين. يسمح هذا التصميم للشبكة بالنمو عضوياً مع الحفاظ على اللامركزية.

تعمل UNL كآلية لمنع هجمات Sybil دون الحاجة إلى إثبات العمل. في نظام تصويت بسيط، يمكن للمهاجم إنشاء العديد من العقد المستعارة للحصول على تأثير غير متناسب. من خلال مطالبة كل عقدة باختيار العقد الأخرى التي تثق بها بشكل صريح، يضمن RPCA أن إنشاء هويات إضافية لا يوفر أي ميزة ما لم تتمكن تلك الهويات من إقناع العقد الموجودة بإضافتها إلى قوائم UNL الخاصة بها. ينقل هذا مشكلة مقاومة Sybil من الإنفاق الحسابي إلى السمعة وعلاقات الثقة.
لكي تعمل الشبكة بشكل صحيح، يجب اختيار قوائم UNL بحيث يكون لديها تداخل كافٍ، كما هو موضح في التحليل الرسمي. عملياً، هذا يعني أنه بينما يتمتع كل مشغل عقدة بالاستقلالية في اختيار UNL الخاصة به، يجب عليه التأكد من أن قائمته تتضمن مصادقين يحظون بثقة أجزاء أخرى من الشبكة أيضاً. توفر Ripple قائمة UNL افتراضية تتكون من مصادقين تشغلهم كيانات متنوعة، لكن مشغلي العقد أحرار في تعديل هذه القائمة بناءً على تقييم الثقة الخاص بهم.
توفر آلية UNL أيضاً مساراً طبيعياً نحو اللامركزية التدريجية. في المراحل الأولى من الشبكة، قد تكون مجموعة أكثر مركزية من المصادقين مناسبة لضمان الاستقرار والموثوقية. مع نضج الشبكة وإثبات المزيد من المشغلين المتنوعين لجدارتهم بالثقة، يمكن أن تتطور قوائم UNL لتشمل مجموعة أوسع من المصادقين، مما يزيد من مرونة الشبكة ولامركزيتها دون المساس بخصائصها الأمنية.
Unique Node Lists
Unique Node List (UNL) adalah komponen fundamental RPCA yang membedakannya dari algoritma konsensus lain. Setiap node dalam jaringan Ripple memelihara UNL yang berisi node lain yang dipercaya tidak akan berkolusi untuk menipu jaringan. Hal kritisnya adalah kepercayaan ini bersifat lokal, bukan global: node yang berbeda dapat memiliki UNL yang berbeda, dan tidak ada keharusan atas satu set validator yang disepakati secara global. Desain ini memungkinkan jaringan bertumbuh secara organik sambil tetap mempertahankan desentralisasi.

UNL berfungsi sebagai mekanisme pencegahan serangan Sybil tanpa membutuhkan proof-of-work. Dalam sistem voting naif, penyerang bisa membuat banyak identitas pseudonim untuk memperoleh pengaruh berlebihan. Dengan mengharuskan setiap node secara eksplisit memilih node mana yang dipercaya, RPCA memastikan pembuatan identitas tambahan tidak memberi keuntungan kecuali identitas tersebut dapat meyakinkan node yang ada untuk memasukkannya ke UNL mereka. Dengan demikian, masalah ketahanan Sybil bergeser dari pengeluaran komputasi ke reputasi dan relasi kepercayaan.
Agar jaringan berfungsi dengan benar, UNL harus dipilih sehingga memiliki tumpang tindih yang memadai, sebagaimana dijelaskan dalam analisis formal. Dalam praktiknya, ini berarti meskipun setiap operator node memiliki otonomi untuk memilih UNL sendiri, mereka harus memastikan daftar tersebut mencakup validator yang juga dipercaya oleh bagian lain jaringan. Ripple menyediakan UNL default yang terdiri dari validator yang dioperasikan oleh entitas beragam, tetapi operator node bebas menyesuaikan daftar ini berdasarkan penilaian kepercayaan mereka sendiri.
Mekanisme UNL juga menyediakan jalur alami menuju desentralisasi progresif. Pada tahap awal jaringan, kumpulan validator yang lebih terpusat mungkin tepat untuk memastikan stabilitas dan keandalan. Saat jaringan matang dan operator yang lebih beragam membuktikan kredibilitasnya, UNL dapat berevolusi untuk mencakup kumpulan validator yang lebih luas, meningkatkan ketahanan dan desentralisasi jaringan tanpa mengorbankan properti keamanannya.
Simulation Code
للتحقق من صحة التحليل النظري لـ RPCA وتقييم أدائه في ظل ظروف مختلفة، أُجريت عمليات محاكاة مكثفة باستخدام برنامج محاكاة مصمم خصيصاً. يُنمذج إطار المحاكاة شبكة من العقد، كل منها تحتفظ بقائمة UNL الخاصة بها وتشارك في بروتوكول الإجماع. ينفذ الكود خوارزمية RPCA الكاملة، بما في ذلك اقتراح المعاملات، وجولات التصويت ذات الحدود المتزايدة، والتحقق من صحة السجل.
تشمل المعلمات الرئيسية المتغيرة في المحاكاة حجم الشبكة (من 10 إلى 1,000 عقدة)، ونسبة العقد البيزنطية (من 0% إلى 20%)، وحجم UNL (عادةً بين 5 و50 عقدة)، وتكوينات طوبولوجيا الشبكة. لكل تكوين معلمات، أُجريت عمليات محاكاة متعددة ببذور عشوائية مختلفة لضمان الصلاحية الإحصائية للنتائج. تتبعت المحاكاة مقاييس تشمل زمن استجابة الإجماع، واحتمال الانقسام (fork)، وإنتاجية المعاملات.
تؤكد نتائج المحاكاة التنبؤات النظرية المتعلقة بالتقارب والسلامة. في جميع التكوينات التي استُوفي فيها شرط تداخل UNL وشكلت العقد البيزنطية أقل من 20% من كل UNL، وصلت الشبكة بنجاح إلى الإجماع دون انقسامات. ظل زمن استجابة الإجماع منخفضاً باستمرار (يكتمل عادةً في 3-5 ثوانٍ محاكاة) بغض النظر عن حجم الشبكة، مما يوضح قابلية الخوارزمية للتوسع. حتى مع وجود 15% من العقد البيزنطية تحاول بنشاط تعطيل الإجماع، حافظت الشبكة على الصحة طالما تم استيفاء متطلب تداخل UNL.
استكشفت محاكاة إضافية الحالات الحدية وسيناريوهات الفشل، بما في ذلك تقسيم الشبكة، والتغييرات المفاجئة في تكوين UNL، والهجمات المنسقة من قبل العقد البيزنطية. قدمت هذه المحاكاة رؤى حول متانة البروتوكول وأفادت في تحديد أفضل الممارسات الموصى بها لاختيار UNL وتشغيل الشبكة. تم توفير كود المحاكاة الكامل للسماح بالتحقق المستقل والبحث الإضافي.
Simulation Code
Untuk memvalidasi analisis teoritis RPCA dan mengevaluasi kinerjanya di berbagai kondisi, simulasi ekstensif dilakukan menggunakan perangkat lunak simulasi khusus. Kerangka simulasi memodelkan jaringan node, masing-masing memelihara UNL sendiri dan berpartisipasi dalam protokol konsensus. Kode tersebut mengimplementasikan algoritma RPCA secara lengkap, termasuk proposal transaksi, ronde voting dengan ambang yang meningkat, dan validasi ledger.
Parameter kunci yang divariasikan dalam simulasi meliputi ukuran jaringan (dari 10 hingga 1.000 node), persentase node Byzantine (dari 0% hingga 20%), ukuran UNL (umumnya antara 5 dan 50 node), serta konfigurasi topologi jaringan. Untuk setiap konfigurasi parameter, beberapa kali simulasi dijalankan dengan random seed berbeda untuk memastikan validitas statistik hasil. Simulasi melacak metrik seperti latensi konsensus, probabilitas fork, dan throughput transaksi.
Hasil simulasi mengonfirmasi prediksi teoritis mengenai konvergensi dan safety. Pada semua konfigurasi ketika kondisi tumpang tindih UNL terpenuhi dan node Byzantine kurang dari 20% dari setiap UNL, jaringan berhasil mencapai konsensus tanpa fork. Latensi konsensus tetap rendah secara konsisten (umumnya selesai dalam 3-5 detik simulasi) terlepas dari ukuran jaringan, menunjukkan skalabilitas algoritma. Bahkan dengan 15% node Byzantine yang aktif mencoba mengganggu konsensus, jaringan tetap mempertahankan correctness selama syarat tumpang tindih UNL terpenuhi.
Simulasi tambahan mengeksplorasi kasus tepi dan skenario kegagalan, termasuk partisi jaringan, perubahan mendadak komposisi UNL, serta serangan terkoordinasi oleh node Byzantine. Simulasi ini memberikan wawasan tentang ketangguhan protokol dan menjadi dasar rekomendasi praktik terbaik untuk pemilihan UNL serta operasi jaringan. Kode simulasi lengkap telah dipublikasikan untuk memungkinkan verifikasi independen dan riset lanjutan.
Discussion
مقارنةً بإجماع proof-of-work في Bitcoin، يقدم RPCA عدة مزايا مهمة لتطبيقات أنظمة الدفع. والأبرز من ذلك، يتم تقليل زمن الإجماع من 40-60 دقيقة (الوقت الموصى به عادةً لمعاملات Bitcoin عالية القيمة) إلى حوالي 5 ثوانٍ. يجعل هذا التحسين RPCA مناسباً لنقاط البيع والتطبيقات الأخرى التي تتطلب تسوية شبه فورية. بالإضافة إلى ذلك، يتطلب RPCA موارد حسابية ضئيلة مقارنة بـ proof-of-work، مما يلغي الاستهلاك الهائل للطاقة المرتبط بتعدين Bitcoin.
ومع ذلك، تأتي هذه المزايا مع افتراضات ثقة مختلفة. بينما يعتمد أمان Bitcoin فقط على افتراض أن لا مهاجم يتحكم في أكثر من 50% من القوة الحسابية للشبكة، يتطلب RPCA أن تختار العقد قوائم UNL ذات تداخل كافٍ وأن لا تتجاوز العقد البيزنطية الحد الأقصى ضمن هذه القوائم. ينقل هذا بعض المسؤولية إلى مشغلي العقد لاتخاذ قرارات ثقة حكيمة. عملياً، هذه المقايضة مقبولة للعديد من حالات استخدام أنظمة الدفع حيث تكون للمؤسسات المشاركة علاقات ثقة قائمة.
تؤثر طوبولوجيا الشبكة واستراتيجية اختيار UNL بشكل كبير على خصائص نظام الإجماع. تعمل الطوبولوجيا المركزية للغاية حيث تتضمن جميع العقد نفس المصادقين في قوائم UNL الخاصة بها على تعظيم السلامة ولكنها قد تقلل من الحيوية إذا أصبح هؤلاء المصادقون غير متاحين. على العكس، قد تحسن الطوبولوجيا اللامركزية للغاية ذات التداخل الأدنى في UNL من الحيوية ولكنها قد تخاطر بفشل الإجماع إذا أصبح التداخل ضئيلاً جداً. يتطلب إيجاد التوازن الأمثل دراسة متأنية لسيناريو النشر المحدد وتحمل المخاطر.
يمكن أن تستكشف الأعمال المستقبلية خوارزميات اختيار UNL التكيفية التي تحافظ تلقائياً على متطلبات التداخل مع تعظيم اللامركزية، وآليات للعقد لتعديل قوائم UNL الخاصة بها ديناميكياً بناءً على سلوك المصادقين الملاحظ، وتوسعات لخوارزمية الإجماع يمكنها تحمل نسب أعلى من العقد البيزنطية. يمكن أن تعزز هذه التحسينات متانة وقابلية تطبيق RPCA لأنظمة الدفع الموزعة واسعة النطاق.
Discussion
Dibandingkan konsensus proof-of-work pada Bitcoin, RPCA menawarkan sejumlah keunggulan penting untuk aplikasi sistem pembayaran. Yang paling menonjol, latensi konsensus turun dari 40-60 menit (waktu yang umumnya direkomendasikan untuk transaksi Bitcoin bernilai tinggi) menjadi sekitar 5 detik. Peningkatan ini membuat RPCA cocok untuk point-of-sale dan aplikasi lain yang membutuhkan penyelesaian hampir seketika. Selain itu, RPCA memerlukan sumber daya komputasi minimal dibanding proof-of-work, sehingga menghilangkan konsumsi energi masif yang terkait dengan penambangan Bitcoin.
Namun, keunggulan ini datang dengan asumsi kepercayaan yang berbeda. Keamanan Bitcoin bergantung pada asumsi bahwa tidak ada penyerang yang mengendalikan lebih dari 50% daya komputasi jaringan, sedangkan RPCA mensyaratkan node memilih UNL dengan tumpang tindih memadai dan node Byzantine tidak melampaui ambang di dalam UNL tersebut. Hal ini memindahkan sebagian tanggung jawab kepada operator node untuk membuat keputusan kepercayaan yang bijak. Dalam praktik, trade-off ini dapat diterima untuk banyak kasus penggunaan pembayaran ketika institusi yang berpartisipasi sudah memiliki hubungan kepercayaan.
Topologi jaringan dan strategi pemilihan UNL sangat memengaruhi sifat sistem konsensus. Topologi sangat terpusat, ketika semua node memasukkan validator yang sama dalam UNL mereka, memaksimalkan safety tetapi dapat mengurangi liveness jika validator tersebut tidak tersedia. Sebaliknya, topologi sangat terdesentralisasi dengan tumpang tindih UNL minimal dapat meningkatkan liveness namun berisiko menyebabkan kegagalan konsensus jika tumpang tindih menjadi terlalu jarang. Menemukan keseimbangan optimal membutuhkan pertimbangan cermat terhadap skenario deployment spesifik dan toleransi risiko.
Pekerjaan mendatang dapat mengeksplorasi algoritma pemilihan UNL adaptif yang otomatis mempertahankan persyaratan tumpang tindih sambil memaksimalkan desentralisasi, mekanisme agar node menyesuaikan UNL secara dinamis berdasarkan perilaku validator yang diamati, dan ekstensi algoritma konsensus yang dapat mentoleransi persentase node Byzantine lebih tinggi. Peningkatan ini dapat semakin memperkuat ketangguhan dan penerapan RPCA untuk sistem pembayaran terdistribusi berskala besar.
Conclusion
تمثل خوارزمية إجماع بروتوكول Ripple تقدماً كبيراً في الإجماع الموزع لأنظمة الدفع. من خلال استخدام شبكات فرعية موثوقة جماعياً بدلاً من طلب اتفاق عالمي بين جميع العقد، يحقق RPCA الإجماع في غضون ثوانٍ مع الحفاظ على ضمانات قوية ضد الإخفاقات البيزنطية. يوضح التحليل الرسمي أنه طالما يتم اختيار قوائم UNL بتداخل كافٍ وتبقى العقد البيزنطية دون الحد الأقصى، فإن الشبكة ستصل إلى إجماع صحيح دون انقسامات.
تمتد الآثار العملية لهذا العمل إلى ما هو أبعد من شبكة مدفوعات Ripple. يوضح RPCA أن المقايضة التقليدية بين زمن الإجماع وضمانات الأمان يمكن التغلب عليها من خلال تصميم بروتوكول دقيق واستخدام علاقات الثقة المحلية. قد يثبت هذا النهج قابليته للتطبيق على أنظمة موزعة أخرى حيث يكون زمن الاستجابة المنخفض حاسماً ولدى المشاركين علاقات ثقة قائمة، مثل أنظمة التسوية بين البنوك، وتتبع سلسلة التوريد، وتطبيقات البنية التحتية المالية الأخرى.
أثبت نشر RPCA في أنظمة الإنتاج خصائص أداء الخوارزمية ومتانتها. تعالج شبكة Ripple آلاف المعاملات في الثانية بزمن إجماع ثابت يتراوح بين 3-5 ثوانٍ، مما يوضح أن الخصائص النظرية تترجم بفعالية إلى التشغيل في العالم الحقيقي. مع استمرار الشبكة في التطور ودمج مصادقين إضافيين من مشغلين متنوعين، فإنها توفر مثالاً عملياً على كيف يمكن لنظام إجماع لامركزي الحفاظ على الأمان والأداء معاً على نطاق واسع.
Conclusion
Ripple Protocol Consensus Algorithm merupakan kemajuan penting dalam konsensus terdistribusi untuk sistem pembayaran. Dengan memanfaatkan subjaringan yang dipercaya secara kolektif alih-alih menuntut kesepakatan global dari semua node, RPCA mencapai konsensus dalam hitungan detik sambil mempertahankan jaminan kuat terhadap kegagalan Byzantine. Analisis formal menunjukkan bahwa selama UNL dipilih dengan tumpang tindih yang cukup dan node Byzantine tetap di bawah ambang, jaringan akan mencapai konsensus yang benar tanpa fork.
Implikasi praktis karya ini melampaui jaringan pembayaran Ripple. RPCA menunjukkan bahwa trade-off tradisional antara latensi konsensus dan jaminan keamanan dapat diatasi melalui desain protokol yang cermat serta penggunaan relasi kepercayaan lokal. Pendekatan ini berpotensi diterapkan pada sistem terdistribusi lain yang membutuhkan latensi rendah dan memiliki peserta dengan relasi kepercayaan yang sudah ada, seperti penyelesaian antarbank, pelacakan rantai pasok, dan aplikasi infrastruktur keuangan lainnya.
Penerapan RPCA di sistem produksi telah memvalidasi karakteristik kinerja dan ketangguhan algoritma ini. Jaringan Ripple memproses ribuan transaksi per detik dengan latensi konsensus konsisten 3-5 detik, menunjukkan bahwa properti teoritisnya efektif diterjemahkan ke operasi dunia nyata. Seiring jaringan terus berkembang dan menambah validator dari operator yang beragam, RPCA menjadi contoh praktis bagaimana sistem konsensus terdesentralisasi dapat mempertahankan keamanan dan performa pada skala besar.
References
Lamport, L., Shostak, R., and Pease, M. (1982). "The Byzantine Generals Problem." ACM Transactions on Programming Languages and Systems, 4(3):382-401. صاغت هذه الورقة الرائدة مشكلة الوصول إلى الإجماع في الأنظمة الموزعة ذات المكونات المعيبة وأسست الأساس النظري للأنظمة المتسامحة مع الأعطال البيزنطية.
Castro, M., and Liskov, B. (1999). "Practical Byzantine Fault Tolerance." Proceedings of the Third Symposium on Operating Systems Design and Implementation (OSDI). قدم هذا العمل PBFT، موضحاً أن التسامح مع الأعطال البيزنطية يمكن تحقيقه بأداء عملي، وإن كان بتعقيد اتصال O(n^2) يحد من قابلية التوسع.
Nakamoto, S. (2008). "Bitcoin: A Peer-to-Peer Electronic Cash System." قدمت هذه الورقة البيضاء إجماع إثبات العمل كحل لمشكلة الإنفاق المزدوج في العملة الرقمية، مما أتاح الإجماع اللامركزي بدون أطراف موثوقة على حساب زمن استجابة عالٍ واستهلاك مرتفع للطاقة.
Lamport, L. (1998). "The Part-Time Parliament." ACM Transactions on Computer Systems, 16(2):133-169. قدمت هذه الورقة خوارزمية Paxos، التي تحقق الإجماع في الأنظمة غير المتزامنة في ظل أعطال التعطل، مؤثرةً في تصميمات بروتوكولات الإجماع اللاحقة.
Fischer, M. J., Lynch, N. A., and Paterson, M. S. (1985). "Impossibility of Distributed Consensus with One Faulty Process." Journal of the ACM, 32(2):374-382. أسست نتيجة استحالة FLP حدوداً أساسية لما يمكن أن تحققه خوارزميات الإجماع في الأنظمة غير المتزامنة، مشكّلةً فضاء التصميم لبروتوكولات الإجماع العملية.
References
Lamport, L., Shostak, R., dan Pease, M. (1982). "The Byzantine Generals Problem." ACM Transactions on Programming Languages and Systems, 4(3):382-401. Makalah seminal ini memformalisasi masalah pencapaian konsensus dalam sistem terdistribusi dengan komponen yang rusak, serta meletakkan fondasi teoretis bagi sistem yang toleran terhadap kesalahan Byzantine.
Castro, M., dan Liskov, B. (1999). "Practical Byzantine Fault Tolerance." Proceedings of the Third Symposium on Operating Systems Design and Implementation (OSDI). Karya ini memperkenalkan PBFT dan menunjukkan bahwa toleransi kesalahan Byzantine dapat dicapai dengan performa praktis, walaupun kompleksitas komunikasi O(n^2) membatasi skalabilitas.
Nakamoto, S. (2008). "Bitcoin: A Peer-to-Peer Electronic Cash System." Whitepaper ini memperkenalkan konsensus proof-of-work sebagai solusi untuk masalah double-spending pada mata uang digital, memungkinkan konsensus terdesentralisasi tanpa pihak tepercaya dengan biaya latensi tinggi dan konsumsi energi besar.
Lamport, L. (1998). "The Part-Time Parliament." ACM Transactions on Computer Systems, 16(2):133-169. Makalah ini memperkenalkan algoritma Paxos, yang mencapai konsensus dalam sistem asinkron di bawah kegagalan crash, dan memengaruhi desain protokol konsensus setelahnya.
Fischer, M. J., Lynch, N. A., dan Paterson, M. S. (1985). "Impossibility of Distributed Consensus with One Faulty Process." Journal of the ACM, 32(2):374-382. Hasil ketidakmungkinan FLP menetapkan batas fundamental mengenai apa yang dapat dicapai algoritma konsensus dalam sistem asinkron, sehingga membentuk ruang desain protokol konsensus praktis.