อัลกอริทึมฉันทามติของโปรโตคอล Ripple
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.
Abstract
แม้ว่าจะมีอัลกอริทึมฉันทามติหลายแบบสำหรับปัญหานายพลไบแซนไทน์ โดยเฉพาะในบริบทของระบบการชำระเงินแบบกระจาย แต่หลายแนวทางยังมีความหน่วงสูงจากข้อกำหนดที่ว่าโหนดทั้งหมดในเครือข่ายต้องสื่อสารกันแบบซิงโครนัส งานนี้นำเสนออัลกอริทึมฉันทามติแบบใหม่ที่หลีกเลี่ยงข้อกำหนดดังกล่าว โดยอาศัยเครือข่ายย่อยที่ได้รับความไว้วางใจร่วมกันภายในเครือข่ายขนาดใหญ่กว่า เราแสดงให้เห็นว่า "ความไว้วางใจ" ที่จำเป็นต่อการป้องกันการโจมตี Sybil ไม่ได้เป็นแบบทั่วโลก แต่เป็นแบบเฉพาะที่ในระดับแต่ละโหนด
Ripple Protocol Consensus Algorithm (RPCA) ถูกนำมาใช้ทุก ๆ ไม่กี่วินาทีโดยทุกโหนด เพื่อรักษาความถูกต้องและความสอดคล้องของเครือข่าย เมื่อได้ฉันทามติแล้ว ledger ปัจจุบันจะถือว่า "ปิด" และกลายเป็น last-closed ledger อัลกอริทึมนี้โดดเด่นตรงที่ให้ฉันทามติได้ด้วยความหน่วงต่ำ ขณะยังคงการรับประกันที่แข็งแรงต่อความล้มเหลวแบบ Byzantine จึงเหมาะกับระบบชำระบัญชีทางการเงินแบบเรียลไทม์
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.
Introduction
ระบบการชำระเงินแบบกระจายจำเป็นต้องมีอัลกอริทึมฉันทามติเพื่อประมวลผลการชำระเงินให้ถูกต้องและทันเวลา แม้ในสภาพที่มีผู้มีส่วนร่วมที่ผิดพลาดหรือประสงค์ร้าย Bitcoin บรรลุฉันทามติด้วย proof-of-work ซึ่งกำหนดให้ทุกโหนดใช้ทรัพยากรคอมพิวเตอร์ในการแก้ปริศนาการเข้ารหัส แม้วิธีนี้จะให้การรับประกันความปลอดภัยที่แข็งแรง แต่ก็มีข้อเสียสำคัญ ได้แก่ การใช้พลังงานสูง ปริมาณธุรกรรมต่อเวลาต่ำ และความหน่วงในการยืนยันที่ยาวนาน ซึ่งอาจนานถึงหนึ่งชั่วโมงหรือมากกว่านั้นสำหรับธุรกรรมมูลค่าสูง
Ripple Protocol Consensus Algorithm เสนอแนวทางใหม่ของฉันทามติแบบกระจายที่ไม่ต้องอาศัย proof-of-work แทนที่จะทำเช่นนั้น โหนดในเครือข่ายจะร่วมกันตกลงบนชุดธุรกรรมผ่านกระบวนการโหวตที่ได้ฉันทามติภายในไม่กี่วินาที กลไกนี้ออกแบบมาโดยเฉพาะสำหรับข้อกำหนดของเครือข่ายการชำระเงินระดับโลก ซึ่งความหน่วงต่ำและปริมาณงานสูงเป็นเงื่อนไขสำคัญต่อการใช้งานจริง
นวัตกรรมหลักของ RPCA คือไม่ต้องให้ทุกโหนดในเครือข่ายเห็นพ้องกันทั้งหมด แต่ให้แต่ละโหนดเก็บ Unique Node List (UNL) ของโหนดอื่นที่ตนเชื่อว่าจะไม่สมรู้ร่วมคิด ตราบใดที่ UNL ของโหนดต่าง ๆ มีการทับซ้อนเพียงพอ และจำนวนโหนดที่ผิดพลาดต่ำกว่าเกณฑ์ที่กำหนด เครือข่ายจะบรรลุฉันทามติได้ แนวทางนี้ให้การรับประกันความปลอดภัยที่ระบบการชำระเงินต้องการ พร้อมกับความหน่วงฉันทามติระดับวินาทีแทนนาทีหรือชั่วโมง
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.
Definition of Consensus
ในระบบแบบกระจาย ฉันทามติคือกระบวนการที่เครือข่ายของโหนดตกลงร่วมกันบนสถานะเดียวกัน แม้จะมีผู้เข้าร่วมที่ผิดพลาดหรือประสงค์ร้าย อัลกอริทึมฉันทามติต้องมีคุณสมบัติพื้นฐานสามประการ ได้แก่ correctness (โหนดที่ถูกต้องสองโหนดต้องไม่ตัดสินใจต่างกัน), agreement (โหนดที่ถูกต้องทั้งหมดต้องตัดสินใจเหมือนกัน), และ termination (โหนดที่ถูกต้องทั้งหมดต้องตัดสินใจได้ในที่สุด) คุณสมบัติเหล่านี้ทำให้ระบบกระจายทำงานเสมือนเป็นโหนดเดียวที่เชื่อถือได้
ความท้าทายของการบรรลุฉันทามติมาจากความไม่น่าเชื่อถือโดยธรรมชาติของระบบกระจาย โหนดอาจล่ม ข้อความอาจล่าช้าหรือสูญหาย และโหนด Byzantine อาจมีพฤติกรรมตามอำเภอใจหรือเป็นอันตราย ปัญหานายพลไบแซนไทน์ที่ Lamport, Shostak และ Pease นิยามไว้อย่างเป็นทางการ สะท้อนความท้าทายนี้โดยตรง: กลุ่มโปรเซสจะตกลงร่วมกันได้อย่างไรเมื่อบางส่วนอาจผิดพลาดและการสื่อสารไม่น่าเชื่อถือ
ผลลัพธ์คลาสสิกในงานคำนวณแบบกระจายชี้ให้เห็นขอบเขตพื้นฐานของสิ่งที่อัลกอริทึมฉันทามติทำได้ ผลลัพธ์ความเป็นไปไม่ได้ของ FLP แสดงว่าไม่มีอัลกอริทึมเชิงกำหนดใดรับประกันฉันทามติได้ในระบบอะซิงโครนัส หากแม้แต่โหนดเดียวมีโอกาสล้มเหลว ดังนั้นอัลกอริทึมฉันทามติภาคปฏิบัติจึงต้องแลกเปลี่ยนระหว่าง safety (ไม่บรรลุฉันทามติที่ผิด) และ liveness (ระบบยังคงเดินหน้าได้เสมอ) proof-of-work ของ Bitcoin ให้ความสำคัญกับ safety มากกว่า liveness ขณะที่ RPCA สร้างสมดุลที่เหมาะกับระบบชำระเงินมากกว่า โดยปิดรอบฉันทามติได้ภายในเวลาจำกัดและยังคงการรับประกัน safety ที่แข็งแรงภายใต้สมมติฐานความผิดพลาดที่สมจริง
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.
Existing Consensus Algorithms
มีการเสนออัลกอริทึมฉันทามติหลายแบบเพื่อแก้ปัญหานายพลไบแซนไทน์ในระบบแบบกระจาย อัลกอริทึม Practical Byzantine Fault Tolerance (PBFT) ที่ Castro และ Liskov นำเสนอ สามารถทนต่อความผิดพลาดแบบ Byzantine ได้สูงสุด f ตัว ในระบบที่มี 3f+1 โหนด PBFT บรรลุฉันทามติผ่านหลายรอบของการแลกเปลี่ยนข้อความระหว่างทุกโหนด โดยมีความซับซ้อนด้านการสื่อสาร O(n^2) เมื่อ n คือจำนวนโหนด แม้ PBFT จะให้ safety ที่แข็งแรงและความหน่วงค่อนข้างต่ำในเครือข่ายขนาดเล็ก แต่ไม่ขยายตัวได้ดีในเครือข่ายขนาดใหญ่เนื่องจากภาระการสื่อสารแบบกำลังสอง
Paxos และอนุพันธ์ซึ่งพัฒนาโดย Lamport ให้ฉันทามติในระบบอะซิงโครนัส แต่ตั้งสมมติฐานความผิดพลาดแบบ crash แทน Byzantine Paxos ทำงานผ่านชุดรอบที่ proposer เสนอค่าและ acceptor โหวต แม้ Paxos จะทนต่อความล่าช้าของข้อความแบบไม่จำกัดและการล่มของโปรเซสได้ แต่การรับมือความผิดพลาดแบบ Byzantine ต้องใช้การออกแบบวิศวกรรมอย่างระมัดระวัง และในบางสถานการณ์อาจเกิด livelock
ฉันทามติแบบ proof-of-work ของ Bitcoin ใช้แนวทางที่ต่างออกไปโดยสิ้นเชิง คือทำให้การโจมตี Byzantine ไม่คุ้มค่าทางเศรษฐศาสตร์ โหนดแข่งขันกันแก้ปริศนาการเข้ารหัส โดยผู้ชนะจะเสนอ block ธุรกรรมถัดไป แม้แนวทางนี้จะสเกลได้กับขนาดเครือข่ายตามต้องการและรองรับความผิดพลาดแบบ Byzantine แต่มีข้อเสียรุนแรง ได้แก่ การใช้พลังงานมหาศาล (มีการประเมินว่าเกิน 150 ล้านดอลลาร์ต่อปีสำหรับเครือข่าย Bitcoin), ความหน่วงในการยืนยันยาวนาน (มัก 40-60 นาทีสำหรับธุรกรรมมูลค่าสูง), และ throughput ที่จำกัด (ประมาณ 7 ธุรกรรมต่อวินาที) ข้อจำกัดเหล่านี้ทำให้ proof-of-work ไม่เหมาะกับหลายกรณีใช้งานระบบชำระเงินที่ต้องการการชำระบัญชีรวดเร็วและปริมาณธุรกรรมสูง
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.
Ripple Protocol Consensus Algorithm
Ripple Protocol Consensus Algorithm (RPCA) เริ่มต้นจากการที่เซิร์ฟเวอร์แต่ละตัวรวบรวมธุรกรรมที่ถูกต้องทั้งหมดที่ตนพบและยังไม่ถูกนำไปใช้ ให้เป็นธุรกรรมผู้สมัคร จากนั้นเซิร์ฟเวอร์จะทำตามโปรโตคอลหลายรอบ โดยทำงานแบบวนซ้ำเพื่อให้ได้ข้อตกลงร่วมกันบนชุดธุรกรรมที่จะนำไปใช้กับ ledger ปัจจุบัน ในแต่ละรอบ เซิร์ฟเวอร์จะยื่นข้อเสนอที่ประกอบด้วยธุรกรรมที่ตนเชื่อว่าควรถูกบรรจุใน ledger ถัดไป
ระหว่างแต่ละรอบของฉันทามติ เซิร์ฟเวอร์จะสื่อสารข้อเสนอของตนไปยังเซิร์ฟเวอร์อื่นใน Unique Node List (UNL) ของตน แล้วจึงคำนวณว่าธุรกรรมใดปรากฏในสัดส่วนถึงเกณฑ์ของข้อเสนอ ตอนเริ่มต้นเกณฑ์นี้ตั้งไว้ที่ 50% หมายความว่าธุรกรรมต้องปรากฏในข้อเสนอจากอย่างน้อยครึ่งหนึ่งของ UNL ของเซิร์ฟเวอร์ จึงจะถูกพิจารณาในรอบถัดไป เมื่อฉันทามติดำเนินผ่านหลายรอบ เกณฑ์นี้จะเพิ่มขึ้นทีละขั้น (โดยทั่วไปเป็น 60%, 70% และสุดท้าย 80%)
เมื่อธุรกรรมใดถึงเกณฑ์ supermajority ที่ 80% ของการสนับสนุนภายใน UNL ของเซิร์ฟเวอร์ ธุรกรรมนั้นจะถูกใส่ไว้ในข้อเสนอสำหรับรอบฉันทามติสุดท้ายของเซิร์ฟเวอร์ ธุรกรรมทั้งหมดที่ถึงเกณฑ์นี้ทั่วทั้งเครือข่ายจะถูกนำไปใช้กับ ledger จากนั้น ledger จะถูก hash และลงลายมือชื่อเชิงคริปโตกราฟี ledger ที่ผ่านการตรวจสอบใหม่นี้จะกลายเป็น last-closed ledger และกระบวนการจะเริ่มใหม่กับชุดธุรกรรมผู้สมัครถัดไป
กระบวนการฉันทามติโดยทั่วไปเสร็จสิ้นใน 5 วินาทีหรือน้อยกว่า โดยธุรกรรมส่วนใหญ่ต้องใช้เพียงหนึ่งรอบเพื่อถึงเกณฑ์ supermajority ธุรกรรมที่ยังไม่ถึงฉันทามติในรอบหนึ่งจะคงสถานะผู้สมัครสำหรับรอบถัดไป การออกแบบนี้ทำให้เครือข่ายเดินหน้าต่อเนื่องพร้อมรักษา safety ที่แข็งแรง เนื่องจากไม่มีธุรกรรมใดถูกนำเข้า ledger ได้หากไม่มีการสนับสนุนระดับ supermajority จาก validator ที่เชื่อถือได้
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.
Formal Analysis of Convergence
ความถูกต้องของ RPCA ขึ้นอยู่กับระดับการทับซ้อนของ UNL ที่โหนดต่าง ๆ ในเครือข่ายเลือกอย่างมีนัยสำคัญ กำหนดให้ UNL_i คือ unique node list ของโหนด i และ UNL_i ∩ UNL_j คือเซตของโหนดที่อยู่ทั้งใน UNL_i และ UNL_j เพื่อให้เครือข่ายคงฉันทามติได้ ต้องมีเงื่อนไขว่าคู่โหนดใด ๆ i และ j มีขนาดจุดตัดของ UNL มากพอเมื่อเทียบกับขนาดที่ใหญ่ที่สุดของ UNL ทั้งสอง

โดยเฉพาะ โปรโตคอลรับประกัน safety เมื่อ |UNL_i ∩ UNL_j| / max(|UNL_i|, |UNL_j|) 1/5 สำหรับทุกคู่โหนด i และ j เงื่อนไขนี้ทำให้แม้โหนด Byzantine พยายามผลักดันให้ส่วนต่าง ๆ ของเครือข่ายตัดสินใจไม่ตรงกัน การทับซ้อนของโหนดที่เชื่อถือได้ก็ยังป้องกันการแตก fork ได้ หากเงื่อนไขนี้เป็นจริงและสัดส่วนโหนด Byzantine ใน UNL ใด ๆ ต่ำกว่า 1/5 โหนดที่ถูกต้องทั้งหมดจะลงเอยด้วยการตัดสินใจฉันทามติแบบเดียวกัน
หลักฐานเชิงรูปแบบดำเนินโดยแสดงว่า หากสองโหนดสามารถไปถึงการตัดสินใจฉันทามติที่ต่างกันได้ จะต้องมีธุรกรรม T ที่อยู่ใน ledger สุดท้ายของโหนดหนึ่งแต่ไม่อยู่ในอีกโหนดหนึ่ง การเกิดเหตุเช่นนี้ต้องการให้ T ได้รับการสนับสนุน 80% ใน UNL ของโหนดแรก แต่ต่ำกว่า 80% ใน UNL ของโหนดที่สอง อย่างไรก็ตาม ภายใต้ข้อกำหนดการทับซ้อนและข้อจำกัดจำนวนโหนด Byzantine สถานการณ์นี้พิสูจน์ได้ว่าเป็นไปไม่ได้: หาก T ได้ 80% ใน UNL_i ก็ต้องได้อย่างน้อย 60% ใน UNL_j ที่เข้าเงื่อนไขการทับซ้อน และเมื่อมีรอบฉันทามติเพียงพอ ค่าดังกล่าวจะลู่เข้าไปที่ 80% หรือถูกปฏิเสธโดยทั้งสองโหนด
คุณสมบัติ liveness ซึ่งหมายถึงการได้ฉันทามติในที่สุด มาจากข้อเท็จจริงว่าเกณฑ์การรวมธุรกรรมเพิ่มขึ้นแบบเชิงกำหนดผ่านแต่ละรอบฉันทามติ แม้จะมีโหนด Byzantine และความหน่วงเครือข่าย โปรโตคอลยังคงรับประกันว่าธุรกรรมที่ได้รับการสนับสนุนระดับ supermajority จากโหนดสุจริตจะถูกบรรจุในที่สุด ส่วนธุรกรรมที่ขาดการสนับสนุนดังกล่าวจะถูกตัดออก เวลาฉันทามติที่มีขอบเขต (โดยทั่วไปประมาณ 5 วินาที) จึงให้การรับประกัน liveness เชิงปฏิบัติที่เหมาะกับงานระบบชำระเงิน
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.
Unique Node Lists
Unique Node List (UNL) เป็นองค์ประกอบหลักของ RPCA ที่ทำให้แตกต่างจากอัลกอริทึมฉันทามติอื่น ๆ แต่ละโหนดในเครือข่าย Ripple จะดูแล UNL ของตนเอง ซึ่งประกอบด้วยโหนดอื่นที่ตนเชื่อว่าจะไม่สมรู้ร่วมคิดเพื่อฉ้อโกงเครือข่าย ประเด็นสำคัญคือความไว้วางใจนี้เป็นแบบเฉพาะที่ ไม่ใช่แบบทั่วโลก: โหนดต่างกันสามารถมี UNL ต่างกันได้ และไม่จำเป็นต้องมีชุด validator เดียวที่ทุกฝ่ายตกลงร่วมกันทั้งเครือข่าย การออกแบบนี้ช่วยให้เครือข่ายขยายตัวอย่างเป็นธรรมชาติพร้อมรักษาความเป็นกระจายอำนาจ

UNL ทำหน้าที่เป็นกลไกป้องกันการโจมตี Sybil โดยไม่ต้องพึ่ง proof-of-work ในระบบโหวตแบบง่าย ผู้โจมตีสามารถสร้างตัวตนปลอมจำนวนมากเพื่อเพิ่มอิทธิพลอย่างไม่สมส่วน แต่เมื่อ RPCA บังคับให้แต่ละโหนดต้องเลือกอย่างชัดเจนว่าจะเชื่อโหนดใด การสร้างตัวตนเพิ่มจึงไม่ให้ประโยชน์ เว้นแต่ตัวตนเหล่านั้นจะโน้มน้าวโหนดที่มีอยู่ให้เพิ่มเข้ามาใน UNL ได้ ปัญหาการต้านทาน Sybil จึงย้ายจากการใช้ทรัพยากรคำนวณไปสู่เรื่องชื่อเสียงและความสัมพันธ์เชิงความไว้วางใจ
เพื่อให้เครือข่ายทำงานได้อย่างถูกต้อง UNL ต้องถูกเลือกให้มีการทับซ้อนเพียงพอตามที่ระบุไว้ใน formal analysis ในทางปฏิบัติ แม้ผู้ดำเนินการโหนดแต่ละรายจะมีอิสระในการเลือก UNL ของตนเอง แต่ต้องทำให้แน่ใจว่ารายชื่อดังกล่าวรวม validator ที่ส่วนอื่นของเครือข่ายไว้วางใจด้วย Ripple มี UNL เริ่มต้นที่ประกอบด้วย validator จากหลายองค์กรที่หลากหลาย แต่ผู้ดำเนินการโหนดสามารถปรับเปลี่ยนรายชื่อตามการประเมินความไว้วางใจของตนเองได้
กลไก UNL ยังเปิดเส้นทางตามธรรมชาติสู่การกระจายอำนาจแบบค่อยเป็นค่อยไป ในช่วงแรกของเครือข่าย การมีชุด validator ที่รวมศูนย์กว่าอาจเหมาะสมต่อความเสถียรและความน่าเชื่อถือ เมื่อเครือข่ายเติบโตและผู้ดำเนินการที่หลากหลายพิสูจน์ความน่าเชื่อถือได้มากขึ้น UNL ก็สามารถพัฒนาให้รวม validator ที่กว้างขึ้น เพิ่มทั้งความยืดหยุ่นและความเป็นกระจายอำนาจ โดยไม่ลดทอนคุณสมบัติความปลอดภัย
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.
Simulation Code
เพื่อยืนยันการวิเคราะห์เชิงทฤษฎีของ RPCA และประเมินประสิทธิภาพภายใต้เงื่อนไขที่หลากหลาย ได้มีการจำลองอย่างครอบคลุมด้วยซอฟต์แวร์จำลองที่พัฒนาขึ้นเฉพาะทาง กรอบการจำลองจำลองเครือข่ายของโหนดซึ่งแต่ละโหนดดูแล UNL ของตนเองและเข้าร่วมในโปรโตคอลฉันทามติ โค้ดครอบคลุมการทำงาน RPCA แบบครบถ้วน ทั้งการเสนอธุรกรรม รอบโหวตที่เพิ่มเกณฑ์ตามลำดับ และการตรวจสอบ ledger
พารามิเตอร์สำคัญที่ถูกปรับในการจำลอง ได้แก่ ขนาดเครือข่าย (ตั้งแต่ 10 ถึง 1,000 โหนด), สัดส่วนโหนด Byzantine (0% ถึง 20%), ขนาด UNL (โดยทั่วไป 5 ถึง 50 โหนด), และการกำหนด topology ของเครือข่าย สำหรับแต่ละชุดพารามิเตอร์ มีการรันจำลองหลายครั้งด้วย random seed ที่ต่างกันเพื่อรับรองความน่าเชื่อถือเชิงสถิติของผลลัพธ์ การจำลองติดตามตัวชี้วัดสำคัญ เช่น ความหน่วงฉันทามติ ความน่าจะเป็นของการเกิด fork และ throughput ของธุรกรรม
ผลการจำลองยืนยันการคาดการณ์ทางทฤษฎีเกี่ยวกับการลู่เข้าและ safety ในทุกการกำหนดค่าที่เงื่อนไขการทับซ้อนของ UNL เป็นจริง และสัดส่วนโหนด Byzantine ต่ำกว่า 20% ของแต่ละ UNL เครือข่ายสามารถบรรลุฉันทามติได้โดยไม่เกิด fork ความหน่วงฉันทามติคงอยู่ในระดับต่ำอย่างสม่ำเสมอ (โดยทั่วไปเสร็จในเวลา 3-5 วินาทีจำลอง) ไม่ขึ้นกับขนาดเครือข่าย ซึ่งแสดงถึงความสามารถในการขยายตัวของอัลกอริทึม แม้มีโหนด Byzantine 15% พยายามรบกวนฉันทามติอย่างจริงจัง เครือข่ายก็ยังคง correctness ได้ ตราบใดที่เงื่อนไขการทับซ้อนของ UNL ยังถูกต้อง
การจำลองเพิ่มเติมยังครอบคลุมกรณีขอบและสถานการณ์ล้มเหลว เช่น การแบ่งพาร์ทิชันของเครือข่าย การเปลี่ยนองค์ประกอบ UNL อย่างฉับพลัน และการโจมตีแบบประสานงานโดยโหนด Byzantine ผลลัพธ์เหล่านี้ให้ข้อมูลเชิงลึกเกี่ยวกับความทนทานของโปรโตคอล และช่วยกำหนดแนวปฏิบัติที่แนะนำสำหรับการเลือก UNL และการปฏิบัติการเครือข่าย โค้ดจำลองทั้งหมดถูกเผยแพร่เพื่อรองรับการตรวจสอบอิสระและการวิจัยต่อยอด
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.
Discussion
เมื่อเทียบกับฉันทามติแบบ proof-of-work ของ Bitcoin แล้ว RPCA มีข้อได้เปรียบสำคัญหลายประการสำหรับงานระบบการชำระเงิน จุดเด่นที่สุดคือความหน่วงฉันทามติลดลงจาก 40-60 นาที (เวลาที่มักแนะนำสำหรับธุรกรรม Bitcoin มูลค่าสูง) เหลือประมาณ 5 วินาที การปรับปรุงนี้ทำให้ RPCA เหมาะกับงาน point-of-sale และกรณีใช้งานอื่นที่ต้องการการชำระบัญชีเกือบทันที นอกจากนี้ RPCA ใช้ทรัพยากรคำนวณต่ำมากเมื่อเทียบกับ proof-of-work จึงลดปัญหาการใช้พลังงานมหาศาลที่สัมพันธ์กับการขุด Bitcoin
อย่างไรก็ตาม ข้อได้เปรียบดังกล่าวมาพร้อมสมมติฐานความไว้วางใจที่ต่างออกไป ความปลอดภัยของ Bitcoin อาศัยเพียงสมมติฐานว่าไม่มีผู้โจมตีรายใดควบคุมกำลังคำนวณเกิน 50% ของเครือข่าย ขณะที่ RPCA ต้องการให้โหนดเลือก UNL ที่มีการทับซ้อนเพียงพอ และจำนวนโหนด Byzantine ไม่เกินเกณฑ์ภายใน UNL เหล่านั้น สิ่งนี้ย้ายความรับผิดชอบบางส่วนไปยังผู้ดำเนินการโหนดให้ตัดสินใจด้านความไว้วางใจอย่างรอบคอบ ในทางปฏิบัติ trade-off นี้ยอมรับได้สำหรับหลายกรณีใช้งานด้านการชำระเงินที่องค์กรผู้เข้าร่วมมีความสัมพันธ์ความไว้วางใจกันอยู่แล้ว
topology ของเครือข่ายและกลยุทธ์การเลือก UNL ส่งผลอย่างมีนัยสำคัญต่อคุณสมบัติของระบบฉันทามติ topology ที่รวมศูนย์สูง ซึ่งทุกโหนดใช้ validator ชุดเดียวกันใน UNL จะเพิ่ม safety ได้สูงสุด แต่สามารถลด liveness ได้หาก validator ชุดนั้นไม่พร้อมใช้งาน ในทางกลับกัน topology ที่กระจายอำนาจสูงและมีการทับซ้อน UNL ต่ำ อาจช่วย liveness แต่เสี่ยงต่อความล้มเหลวของฉันทามติหากการทับซ้อนเบาบางเกินไป การหาจุดสมดุลที่เหมาะสมจึงต้องพิจารณาร่วมกันทั้งบริบทการใช้งานจริงและระดับความเสี่ยงที่ยอมรับได้
งานในอนาคตอาจสำรวจอัลกอริทึมเลือก UNL แบบปรับตัวที่รักษาเงื่อนไขการทับซ้อนโดยอัตโนมัติพร้อมเพิ่มความเป็นกระจายอำนาจให้มากที่สุด กลไกที่ให้โหนดปรับ UNL แบบไดนามิกจากพฤติกรรม validator ที่สังเกตได้ และส่วนขยายของอัลกอริทึมฉันทามติที่ทนต่อสัดส่วนโหนด Byzantine ที่สูงขึ้นได้อีก การพัฒนาเหล่านี้จะช่วยเพิ่มทั้งความแข็งแรงและความสามารถในการประยุกต์ใช้ RPCA ในระบบการชำระเงินแบบกระจายขนาดใหญ่
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.
Conclusion
Ripple Protocol Consensus Algorithm เป็นความก้าวหน้าสำคัญของฉันทามติแบบกระจายสำหรับระบบการชำระเงิน ด้วยการใช้เครือข่ายย่อยที่ได้รับความไว้วางใจร่วมกัน แทนการบังคับให้ทุกโหนดต้องตกลงกันแบบทั่วทั้งเครือข่าย RPCA จึงบรรลุฉันทามติได้ภายในไม่กี่วินาที พร้อมคงการรับประกันที่แข็งแรงต่อความล้มเหลวแบบ Byzantine การวิเคราะห์เชิงรูปแบบยืนยันว่า หาก UNL ถูกเลือกให้มีการทับซ้อนเพียงพอ และจำนวนโหนด Byzantine อยู่ต่ำกว่าเกณฑ์ เครือข่ายจะบรรลุฉันทามติที่ถูกต้องโดยไม่เกิด fork
นัยเชิงปฏิบัติของงานนี้ไม่ได้จำกัดอยู่แค่เครือข่ายการชำระเงินของ Ripple เท่านั้น RPCA แสดงให้เห็นว่าการแลกเปลี่ยนแบบดั้งเดิมระหว่างความหน่วงฉันทามติกับการรับประกันความปลอดภัย สามารถก้าวข้ามได้ด้วยการออกแบบโปรโตคอลอย่างรอบคอบและการใช้ความสัมพันธ์ความไว้วางใจแบบเฉพาะที่ แนวทางนี้มีศักยภาพสำหรับระบบแบบกระจายอื่นที่ต้องการความหน่วงต่ำและมีผู้เข้าร่วมที่มีความไว้วางใจต่อกันอยู่แล้ว เช่น ระบบชำระบัญชีระหว่างธนาคาร การติดตามห่วงโซ่อุปทาน และงานโครงสร้างพื้นฐานทางการเงินอื่น ๆ
การนำ RPCA ไปใช้งานจริงในระบบ production ได้ยืนยันทั้งสมรรถนะและความทนทานของอัลกอริทึม เครือข่าย Ripple ประมวลผลธุรกรรมได้หลายพันรายการต่อวินาที พร้อมความหน่วงฉันทามติที่สม่ำเสมอที่ 3-5 วินาที แสดงให้เห็นว่าคุณสมบัติเชิงทฤษฎีสามารถแปลงเป็นผลลัพธ์จริงได้อย่างมีประสิทธิภาพ เมื่อเครือข่ายพัฒนาอย่างต่อเนื่องและเพิ่ม validator จากผู้ดำเนินการที่หลากหลายมากขึ้น RPCA จึงเป็นตัวอย่างเชิงปฏิบัติของระบบฉันทามติแบบกระจายอำนาจที่รักษาได้ทั้งความปลอดภัยและประสิทธิภาพในระดับสเกลใหญ่
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.
References
Lamport, L., Shostak, R., และ Pease, M. (1982). "The Byzantine Generals Problem." ACM Transactions on Programming Languages and Systems, 4(3):382-401. งานคลาสสิกนี้ได้ทำให้ปัญหาการบรรลุฉันทามติในระบบกระจายที่มีองค์ประกอบผิดพลาดเป็นรูปแบบทางการ และวางรากฐานเชิงทฤษฎีให้กับระบบที่ทนต่อความผิดพลาดแบบ Byzantine
Castro, M., และ Liskov, B. (1999). "Practical Byzantine Fault Tolerance." Proceedings of the Third Symposium on Operating Systems Design and Implementation (OSDI). งานนี้แนะนำ PBFT และแสดงให้เห็นว่าความทนทานต่อ Byzantine fault สามารถทำได้จริงในทางปฏิบัติ แม้จะมีความซับซ้อนด้านการสื่อสาร O(n^2) ที่จำกัดการขยายตัว
Nakamoto, S. (2008). "Bitcoin: A Peer-to-Peer Electronic Cash System." เอกสาร whitepaper นี้เสนอฉันทามติแบบ proof-of-work เพื่อแก้ปัญหา double-spending ในสกุลเงินดิจิทัล ทำให้เกิดฉันทามติแบบกระจายศูนย์โดยไม่ต้องพึ่งผู้มีอำนาจที่เชื่อถือได้ แต่แลกมาด้วยความหน่วงสูงและการใช้พลังงานมาก
Lamport, L. (1998). "The Part-Time Parliament." ACM Transactions on Computer Systems, 16(2):133-169. บทความนี้นำเสนออัลกอริทึม Paxos ซึ่งบรรลุฉันทามติในระบบอะซิงโครนัสภายใต้ความล้มเหลวแบบ crash และมีอิทธิพลต่อการออกแบบโปรโตคอลฉันทามติในเวลาต่อมา
Fischer, M. J., Lynch, N. A., และ Paterson, M. S. (1985). "Impossibility of Distributed Consensus with One Faulty Process." Journal of the ACM, 32(2):374-382. ผลลัพธ์ความเป็นไปไม่ได้ของ FLP ได้กำหนดขอบเขตพื้นฐานของสิ่งที่อัลกอริทึมฉันทามติทำได้ในระบบอะซิงโครนัส และกำหนดทิศทางพื้นที่ออกแบบของโปรโตคอลฉันทามติเชิงปฏิบัติ