Ripple Protokolü Uzlaşma Algoritması
Abstract
แม้ว่าจะมีอัลกอริทึมฉันทามติหลายแบบสำหรับปัญหานายพลไบแซนไทน์ โดยเฉพาะในบริบทของระบบการชำระเงินแบบกระจาย แต่หลายแนวทางยังมีความหน่วงสูงจากข้อกำหนดที่ว่าโหนดทั้งหมดในเครือข่ายต้องสื่อสารกันแบบซิงโครนัส งานนี้นำเสนออัลกอริทึมฉันทามติแบบใหม่ที่หลีกเลี่ยงข้อกำหนดดังกล่าว โดยอาศัยเครือข่ายย่อยที่ได้รับความไว้วางใจร่วมกันภายในเครือข่ายขนาดใหญ่กว่า เราแสดงให้เห็นว่า "ความไว้วางใจ" ที่จำเป็นต่อการป้องกันการโจมตี Sybil ไม่ได้เป็นแบบทั่วโลก แต่เป็นแบบเฉพาะที่ในระดับแต่ละโหนด
Ripple Protocol Consensus Algorithm (RPCA) ถูกนำมาใช้ทุก ๆ ไม่กี่วินาทีโดยทุกโหนด เพื่อรักษาความถูกต้องและความสอดคล้องของเครือข่าย เมื่อได้ฉันทามติแล้ว ledger ปัจจุบันจะถือว่า "ปิด" และกลายเป็น last-closed ledger อัลกอริทึมนี้โดดเด่นตรงที่ให้ฉันทามติได้ด้วยความหน่วงต่ำ ขณะยังคงการรับประกันที่แข็งแรงต่อความล้มเหลวแบบ Byzantine จึงเหมาะกับระบบชำระบัญชีทางการเงินแบบเรียลไทม์
Abstract
Bizans Generalleri Problemi icin, ozellikle dagitik odeme sistemleri baglaminda birden fazla konsensus algoritmasi mevcut olsa da, bunlarin cogu ag icindeki tum dugumlerin senkron iletisim kurmasi gereksiniminin yol actigi yuksek gecikmeden muzdariptir. Bu calismada, daha buyuk ag icinde kolektif olarak guvenilen alt-aglari kullanarak bu gereksinimi asan yeni bir konsensus algoritmasi sunuyoruz. Sybil saldirilarini onlemek icin gereken "guven"in aslinda kuresel degil, agdaki her dugume yerel oldugunu gosteriyoruz.
Ripple Protokolu Konsensus Algoritmasi (RPCA), agin dogrulugunu ve uzlasisini korumak icin tum dugumler tarafindan birkac saniyede bir uygulanir. Konsensus saglandiginda mevcut defter "kapanmis" kabul edilir ve son-kapanmis defter olur. Bu algoritma, Bizans hatalarina karsi guclu garantileri korurken dusuk gecikmeyle konsensus saglamasi nedeniyle benzersizdir ve bu da onu gercek zamanli finansal mutabakat sistemleri icin uygun hale getirir.
Introduction
ระบบการชำระเงินแบบกระจายจำเป็นต้องมีอัลกอริทึมฉันทามติเพื่อประมวลผลการชำระเงินให้ถูกต้องและทันเวลา แม้ในสภาพที่มีผู้มีส่วนร่วมที่ผิดพลาดหรือประสงค์ร้าย Bitcoin บรรลุฉันทามติด้วย proof-of-work ซึ่งกำหนดให้ทุกโหนดใช้ทรัพยากรคอมพิวเตอร์ในการแก้ปริศนาการเข้ารหัส แม้วิธีนี้จะให้การรับประกันความปลอดภัยที่แข็งแรง แต่ก็มีข้อเสียสำคัญ ได้แก่ การใช้พลังงานสูง ปริมาณธุรกรรมต่อเวลาต่ำ และความหน่วงในการยืนยันที่ยาวนาน ซึ่งอาจนานถึงหนึ่งชั่วโมงหรือมากกว่านั้นสำหรับธุรกรรมมูลค่าสูง
Ripple Protocol Consensus Algorithm เสนอแนวทางใหม่ของฉันทามติแบบกระจายที่ไม่ต้องอาศัย proof-of-work แทนที่จะทำเช่นนั้น โหนดในเครือข่ายจะร่วมกันตกลงบนชุดธุรกรรมผ่านกระบวนการโหวตที่ได้ฉันทามติภายในไม่กี่วินาที กลไกนี้ออกแบบมาโดยเฉพาะสำหรับข้อกำหนดของเครือข่ายการชำระเงินระดับโลก ซึ่งความหน่วงต่ำและปริมาณงานสูงเป็นเงื่อนไขสำคัญต่อการใช้งานจริง
นวัตกรรมหลักของ RPCA คือไม่ต้องให้ทุกโหนดในเครือข่ายเห็นพ้องกันทั้งหมด แต่ให้แต่ละโหนดเก็บ Unique Node List (UNL) ของโหนดอื่นที่ตนเชื่อว่าจะไม่สมรู้ร่วมคิด ตราบใดที่ UNL ของโหนดต่าง ๆ มีการทับซ้อนเพียงพอ และจำนวนโหนดที่ผิดพลาดต่ำกว่าเกณฑ์ที่กำหนด เครือข่ายจะบรรลุฉันทามติได้ แนวทางนี้ให้การรับประกันความปลอดภัยที่ระบบการชำระเงินต้องการ พร้อมกับความหน่วงฉันทามติระดับวินาทีแทนนาทีหรือชั่วโมง
Introduction
Dagitik bir odeme sistemi, hatali veya kotu niyetli aktorler bulunsa bile odemeleri dogru ve zamaninda isleyebilmek icin bir konsensus algoritmasi uygulamalidir. Bitcoin, konsensusu proof-of-work ile saglar; bu da tum dugumlerin kriptografik bulmacalari cozmek icin hesaplama kaynagi harcamasini gerektirir. Bu yaklasim guclu guvenlik garantileri sunsa da, yuksek enerji tuketimi, dusuk islem hacmi ve yuksek degerli islemlerde bir saat veya daha fazla surebilen uzun onay gecikmeleri gibi ciddi dezavantajlara sahiptir.
Ripple Protokolu Konsensus Algoritmasi, proof-of-work gerektirmeyen dagitik konsensus icin yeni bir yaklasim sunar. Bunun yerine, agdaki dugumler bir oylama sureciyle islem kumeleri uzerinde topluca anlasir ve saniyeler icinde konsensusa ulasir. Bu konsensus mekanizmasi, dusuk gecikme ve yuksek hacmin pratik kullanim icin kritik oldugu kuresel odeme agi gereksinimleri icin ozellikle tasarlanmistir.
RPCA'daki temel yenilik, agdaki tum dugumlerin birbirleriyle uzlasmasini gerektirmemesidir. Bunun yerine her dugum, gizli anlasma yapmayacagina guvendigi diger dugumlerden olusan bir Benzersiz Dugum Listesi (UNL) tutar. Dugumler tarafindan secilen UNL'ler yeterli ortusmeye sahipse ve dugumlerin belirli bir esik oranindan azi hataliysa ag konsensusa ulasir. Bu yaklasim, odeme sistemi icin gerekli guvenligi saglarken konsensus gecikmesini dakika veya saatlerden saniyelere indirir.
Definition of Consensus
ในระบบแบบกระจาย ฉันทามติคือกระบวนการที่เครือข่ายของโหนดตกลงร่วมกันบนสถานะเดียวกัน แม้จะมีผู้เข้าร่วมที่ผิดพลาดหรือประสงค์ร้าย อัลกอริทึมฉันทามติต้องมีคุณสมบัติพื้นฐานสามประการ ได้แก่ correctness (โหนดที่ถูกต้องสองโหนดต้องไม่ตัดสินใจต่างกัน), agreement (โหนดที่ถูกต้องทั้งหมดต้องตัดสินใจเหมือนกัน), และ termination (โหนดที่ถูกต้องทั้งหมดต้องตัดสินใจได้ในที่สุด) คุณสมบัติเหล่านี้ทำให้ระบบกระจายทำงานเสมือนเป็นโหนดเดียวที่เชื่อถือได้
ความท้าทายของการบรรลุฉันทามติมาจากความไม่น่าเชื่อถือโดยธรรมชาติของระบบกระจาย โหนดอาจล่ม ข้อความอาจล่าช้าหรือสูญหาย และโหนด Byzantine อาจมีพฤติกรรมตามอำเภอใจหรือเป็นอันตราย ปัญหานายพลไบแซนไทน์ที่ Lamport, Shostak และ Pease นิยามไว้อย่างเป็นทางการ สะท้อนความท้าทายนี้โดยตรง: กลุ่มโปรเซสจะตกลงร่วมกันได้อย่างไรเมื่อบางส่วนอาจผิดพลาดและการสื่อสารไม่น่าเชื่อถือ
ผลลัพธ์คลาสสิกในงานคำนวณแบบกระจายชี้ให้เห็นขอบเขตพื้นฐานของสิ่งที่อัลกอริทึมฉันทามติทำได้ ผลลัพธ์ความเป็นไปไม่ได้ของ FLP แสดงว่าไม่มีอัลกอริทึมเชิงกำหนดใดรับประกันฉันทามติได้ในระบบอะซิงโครนัส หากแม้แต่โหนดเดียวมีโอกาสล้มเหลว ดังนั้นอัลกอริทึมฉันทามติภาคปฏิบัติจึงต้องแลกเปลี่ยนระหว่าง safety (ไม่บรรลุฉันทามติที่ผิด) และ liveness (ระบบยังคงเดินหน้าได้เสมอ) proof-of-work ของ Bitcoin ให้ความสำคัญกับ safety มากกว่า liveness ขณะที่ RPCA สร้างสมดุลที่เหมาะกับระบบชำระเงินมากกว่า โดยปิดรอบฉันทามติได้ภายในเวลาจำกัดและยังคงการรับประกัน safety ที่แข็งแรงภายใต้สมมติฐานความผิดพลาดที่สมจริง
Definition of Consensus
Dagitik sistemlerde konsensus, hatali veya kotu niyetli katilimcilar bulunsa bile bir dugum aginin ortak bir durum uzerinde uzlasmasi surecidir. Bir konsensus algoritmasi uc temel ozelligi saglamalidir: dogruluk (iki dogru dugum farkli karar vermez), uzlasi (tum dogru dugumler ayni karara varir) ve sonlanma (tum dogru dugumler eninde sonunda karar verir). Bu ozellikler, dagitik sistemin tek ve guvenilir bir dugummus gibi davranmasini saglar.
Konsensusun zor olmasinin nedeni dagitik sistemlerin dogasindaki guvenilmezliktir. Dugumler cokebilir, mesajlar gecikebilir veya kaybolabilir ve Bizans dugumleri keyfi ya da kotu niyetli davranabilir. Lamport, Shostak ve Pease tarafindan formellestirilen Bizans Generalleri Problemi bu zorlugu yakalar: Bazi surecler hataliyken ve iletisim guvenilmezken bir grup surec nasil uzlasabilir?
Dagitik hesaplamadaki klasik sonuclar, konsensus algoritmalarinin neleri basarabilecegine dair temel sinirlari ortaya koyar. FLP imkansizlik sonucu, tek bir dugumun bile hata verebildigi asenkron bir sistemde hicbir deterministik algoritmanin konsensusu garanti edemeyecegini gosterir. Bu nedenle pratik konsensus algoritmalari guvenlik (asla yanlis konsensusa ulasmama) ile canlilik (surekli ilerleme) arasinda denge kurar. Bitcoin'in proof-of-work'u guvenligi canliliga gore onceliklendirirken, RPCA gercekci hata varsayimlari altinda guclu guvenligi koruyup sinirli surede turleri tamamlayarak odeme sistemleri icin daha uygun bir denge saglar.
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 ไม่เหมาะกับหลายกรณีใช้งานระบบชำระเงินที่ต้องการการชำระบัญชีรวดเร็วและปริมาณธุรกรรมสูง
Existing Consensus Algorithms
Dagitik sistemlerde Bizans Generalleri Problemi'ni cozumlemek icin cesitli konsensus algoritmalari onerilmistir. Castro ve Liskov tarafindan tanitilan Practical Byzantine Fault Tolerance (PBFT) algoritmasi, 3f+1 dugumden olusan bir sistemde en fazla f adet Bizans hatasini tolere edebilir. PBFT, tum dugumler arasinda birden fazla mesajlasma turu ile konsensus saglar ve iletisim karmasikligi O(n^2)'dir; burada n dugum sayisidir. PBFT, kucuk aglarda guclu guvenlik ve nispeten dusuk gecikme sunsa da, ikinci dereceden mesajlasma maliyeti nedeniyle buyuk aglara iyi olceklenmez.
Lamport tarafindan gelistirilen Paxos ve turevleri, asenkron sistemlerde konsensus saglar ancak Bizans hatalari yerine cokme hatalarini varsayar. Paxos, onericilerin deger onerdigi ve kabul edicilerin oy verdigi turlar araciligiyla ilerler. Paxos keyfi mesaj gecikmelerine ve surec cokmelerine dayanikli olsa da, Bizans hatalarini ele almak icin dikkatli muhendislik gerektirir ve bazi senaryolarda livelock yasayabilir.
Bitcoin'in proof-of-work konsensusu ise Bizans saldirilarini ekonomik olarak yapilamaz hale getiren farkli bir yaklasim izler. Dugumler kriptografik bulmacalari cozmek icin yarisir ve kazanan bir sonraki islem blogunu onerir. Bu yaklasim keyfi ag buyukluklerine olceklenebilse ve Bizans hatalarina dayanikli olsa da buyuk dezavantajlari vardir: cok yuksek enerji tuketimi (Bitcoin agi icin yilda 150 milyon dolar uzeri tahminler), uzun onay gecikmeleri (yuksek degerli islemlerde siklikla 40-60 dakika) ve sinirli hacim (yaklasik saniyede 7 islem). Bu sinirlar, hizli mutabakat ve yuksek hacim gerektiren odeme uygulamalarinda proof-of-work'u elverissiz kilar.
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 ที่เชื่อถือได้
Ripple Protocol Consensus Algorithm
Ripple Protokolu Konsensus Algoritmasi (RPCA), her sunucunun gordugu ve henuz uygulanmamis tum gecerli islemleri aday islem olarak almasiyla baslar. Sunucular daha sonra, mevcut deftere uygulanacak islem kumesi uzerinde uzlasiya varmak icin yinelemeli bir cok-turlu protokol izler. Her turda sunucular, bir sonraki deftere dahil edilmesi gerektigini dusundukleri islemlerden olusan oneriler sunar.
Her konsensus turunda sunucular, onerilerini kendi Benzersiz Dugum Listesi (UNL) icindeki diger sunuculara iletir. Ardindan sunucular, hangi islemlerin onerilerin belirli bir esik yuzdesinde yer aldigini hesaplar. Baslangicta bu esik %50'dir; yani bir islemin bir sonraki turda degerlendirilmesi icin sunucunun UNL'inin en az yarisindan gelen onerilerde gorunmesi gerekir. Konsensus ard arda turlarla ilerledikce bu esik kademeli olarak artar (genellikle %60, %70 ve son olarak %80).
Bir islem, bir sunucunun UNL'inde %80 super-cogunluk destegine ulasinca, o sunucunun nihai tur onerisine dahil edilir. Ag genelinde bu esige ulasan tum islemler deftere uygulanir; sonra defter kriptografik olarak hash'lenir ve imzalanir. Bu yeni dogrulanmis defter son-kapanmis defter olur ve surec bir sonraki aday islem kumesiyle yeniden baslar.
Konsensus sureci genellikle 5 saniye veya daha kisa surer ve islemlerin cogu super-cogunluk esigine ulasmak icin yalnizca tek tur gerektirir. Bir turda konsensusa ulasamayan islemler sonraki turlar icin aday kalir. Bu tasarim, guvenilen dogrulayicilardan super-cogunluk destegi olmayan hicbir islem deftere uygulanamadigi icin guclu guvenligi korurken agin surekli ilerlemesini saglar.
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 เชิงปฏิบัติที่เหมาะกับงานระบบชำระเงิน
Formal Analysis of Convergence
RPCA'nin dogrulugu, agdaki farkli dugumlerin sectigi UNL'ler arasindaki ortusmeye kritik bicimde baglidir. UNL_i, i dugumunun benzersiz dugum listesi olsun; UNL_i ∩ UNL_j ise hem UNL_i hem UNL_j icinde bulunan dugumleri gostersin. Agin konsensusu koruyabilmesi icin, herhangi iki i ve j dugumu arasinda bu kesisimin, UNL'lerden buyuk olana gore yeterince buyuk olmasi gerekir.

Ozellikle protokol, tum i ve j dugum ciftleri icin |UNL_i ∩ UNL_j| / max(|UNL_i|, |UNL_j|) 1/5 oldugunda guvenligi garanti eder. Bu kosul, Bizans dugumleri agin farkli kisimlarini farkli kararlar almaya zorlamaya calissa bile, guvenilen dugumlerdeki ortusmenin bir catallanmayi engellemesini saglar. Bu kosul saglanir ve herhangi bir UNL'deki Bizans dugum orani 1/5'in altinda kalirsa, tum dogru dugumler ayni konsensus kararina ulasir.
Formal ispat, iki dugum farkli konsensus kararina ulasabiliyorsa, bir dugumun son defterinde olan ancak digerinde olmayan bir T islemi bulunmasi gerektigini gosterir. Bunun olmasi icin T'nin birinci dugumun UNL'inde %80 destek alip ikinci dugumun UNL'inde %80'in altinda kalmasi gerekir. Ancak ortusme kosulu ve Bizans siniri altinda bunun imkansiz oldugu gosterilebilir: T, UNL_i'de %80 destek aliyorsa, ortusme kosulunu saglayan UNL_j'de en az %60 destek almak zorundadir; yeterli sayida tur sonunda ya %80'e yakinsar ya da her iki dugum tarafindan reddedilir.
Canlilik ozelligi, yani konsensusun sonunda mutlaka saglanmasi, dahil etme esiginin turlar boyunca deterministik bicimde artmasindan gelir. Bizans dugumleri ve ag gecikmeleri olsa bile protokol, durust dugumlerin super-cogunlugunca desteklenen islemlerin sonunda dahil edilmesini, boyle bir destegi olmayan islemlerin ise dislanmasini saglar. Konsensus icin sinirli sure (tipik olarak 5 saniye) odeme sistemi uygulamalari icin pratik canlilik garantisi sunar.
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 ที่กว้างขึ้น เพิ่มทั้งความยืดหยุ่นและความเป็นกระจายอำนาจ โดยไม่ลดทอนคุณสมบัติความปลอดภัย
Unique Node Lists
Benzersiz Dugum Listesi (UNL), RPCA'yi diger konsensus algoritmalarindan ayiran temel bilesendir. Ripple agindaki her dugum, agi dolandirmak icin isbirligi yapmayacagina guvendigi diger dugumlerden olusan bir UNL tutar. Kritik nokta su: bu guven kuresel degil yereldir. Farkli dugumler farkli UNL'lere sahip olabilir ve tum agin uzlastigi tek bir dogrulayici kumesi zorunlu degildir. Bu tasarim, agin merkeziyetsizligi koruyarak organik bicimde olceklenmesini saglar.

UNL, proof-of-work gerektirmeden Sybil saldirilarina karsi bir onleme mekanizmasi gorevi gorur. Saf bir oylama sisteminde saldirgan, etkisini artirmak icin cok sayida sahte kimlik olusturabilir. RPCA'da ise her dugum hangi dugumlere guvendigini acikca sectigi icin, yeni kimlikler ancak mevcut dugumleri UNL'lerine eklenmeye ikna ederse avantaj saglar. Boylece Sybil direnci, hesaplama maliyetinden itibar ve guven iliskilerine kaymis olur.
Agin dogru calismasi icin UNL'ler formal analizde belirtilen sekilde yeterli ortusmeyle secilmelidir. Pratikte bu, her operator UNL seciminde ozerk olsa da kendi listesinin agin diger kisimlarinca da guvenilen dogrulayicilari icermesi gerektigi anlamina gelir. Ripple, farkli kurumlarca isletilen dogrulayicilardan olusan varsayilan bir UNL sunar; ancak operatorler kendi guven degerlendirmelerine gore bu listeyi degistirebilir.
UNL mekanizmasi ayni zamanda asamali merkeziyetsizlesmeye dogal bir yol acan bir yapi sunar. Agin erken donemlerinde daha merkezi bir dogrulayici kumesi istikrar ve guvenilirlik icin uygun olabilir. Ag olgunlastikca ve daha cesitli operatorler guvenilirliklerini kanitladikca, UNL'ler daha genis bir dogrulayici kumesini kapsayacak bicimde evrilir; boylece guvenlikten odun vermeden dayaniklilik ve merkeziyetsizlik artar.
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 และการปฏิบัติการเครือข่าย โค้ดจำลองทั้งหมดถูกเผยแพร่เพื่อรองรับการตรวจสอบอิสระและการวิจัยต่อยอด
Simulation Code
RPCA'nin teorik analizini dogrulamak ve farkli kosullardaki performansini degerlendirmek icin, ozel gelistirilmis simulasyon yazilimi ile kapsamli simulasyonlar yapildi. Simulasyon cercevesi, her biri kendi UNL'ini tutan ve konsensus protokolune katilan dugumlerden olusan bir agi modeller. Kod, islem onerisi, artan esikli oylama turlari ve defter dogrulama dahil RPCA algoritmasinin tam uygulamasini icerir.
Simulasyonlarda degistirilen temel parametreler sunlardir: ag buyuklugu (10 ila 1.000 dugum), Bizans dugum orani (%0 ila %20), UNL boyutu (tipik olarak 5 ila 50 dugum) ve ag topolojisi konfigürasyonlari. Her parametre kombinasyonu icin, sonuclarin istatistiksel gecerliligini saglamak amaciyla farkli rastgele tohumlarla birden fazla calistirma yapildi. Simulasyonlar; konsensus gecikmesi, catallanma olasiligi ve islem hacmi gibi metrikleri izledi.
Simulasyon sonuclari, yakinama ve guvenlikle ilgili teorik ongoruleri dogruladi. UNL ortusme kosulunun saglandigi ve her UNL'deki Bizans dugum oraninin %20'nin altinda oldugu tum konfigürasyonlarda ag catallanma olmadan basariyla konsensusa ulasti. Konsensus gecikmesi, ag buyuklugunden bagimsiz bicimde surekli dusuk kaldi (tipik olarak 3-5 simulasyon saniyesi) ve bu da algoritmanin olceklenebilirligini gosterdi. Konsensusu bozmak icin aktif saldiri yapan %15 Bizans dugumu olsa bile, UNL ortusme kosulu saglandigi surece dogruluk korundu.
Ek simulasyonlar; ag bolunmeleri, UNL bilesiminde ani degisiklikler ve Bizans dugumlerinin koordineli saldirilari gibi uc durumlari ve hata senaryolarini inceledi. Bu calismalar protokolun dayanikliligi hakkinda icgoru sagladi ve UNL secimi ile ag isletimi icin onerilen iyi uygulamalari sekillendirdi. Bagimsiz dogrulama ve ileri arastirmalar icin tum simulasyon kodu paylasima acildi.
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 ในระบบการชำระเงินแบบกระจายขนาดใหญ่
Discussion
Bitcoin'in proof-of-work konsensusuyla karsilastirildiginda RPCA, odeme sistemi uygulamalari icin bircok onemli avantaj sunar. En belirgini, konsensus gecikmesinin 40-60 dakikadan (yuksek degerli Bitcoin islemleri icin tipik onerilen sure) yaklasik 5 saniyeye inmesidir. Bu iyilesme, RPCA'yi POS ve anlik mutabakat gerektiren diger kullanimlar icin uygun hale getirir. Ayrica RPCA, proof-of-work'e gore cok daha az hesaplama kaynagi gerektirir ve Bitcoin madenciliginin yol actigi buyuk enerji tuketimini ortadan kaldirir.
Bununla birlikte bu avantajlar farkli guven varsayimlari getirir. Bitcoin'in guvenligi, saldirganin agin hesaplama gucunun %50'sinden fazlasini kontrol etmedigi varsayimina dayanirken, RPCA dugumlerin yeterli ortusmeye sahip UNL'ler secmesini ve bu UNL'lerdeki Bizans oraninin esigi asmamasini gerektirir. Bu da ihtiyatli guven kararlarinin bir kismini dugum operatorlerine birakir. Pratikte bu degisim, katilimci kurumlarin zaten guven iliskilerine sahip oldugu bircok odeme kullanim senaryosunda kabul edilebilir.
Ag topolojisi ve UNL secim stratejisi, konsensus sisteminin ozelliklerini guclu bicimde etkiler. Tum dugumlerin ayni dogrulayicilari UNL'lerine ekledigi yuksek merkezi topoloji guvenligi artirir; ancak bu dogrulayicilar erisilemez olursa canlilik azalabilir. Tersine, UNL ortusmesinin cok dusuk oldugu yuksek merkeziyetsiz topoloji canliligi artirabilir; fakat ortusme cok seyreklesirse konsensus basarisizligi riski dogar. En iyi denge, dagitim senaryosu ve risk toleransi birlikte degerlendirilerek bulunur.
Gelecek calismalar; merkeziyetsizligi azamiye cikarirken ortusme kosullarini otomatik koruyan uyarlanmali UNL secim algoritmalarini, dugumlerin gozlenen dogrulayici davranisina gore UNL'lerini dinamik ayarlama mekanizmalarini ve daha yuksek Bizans oranlarini tolere edebilecek konsensus genisletmelerini arastirabilir. Bu gelistirmeler RPCA'nin buyuk olcekli dagitik odeme sistemlerindeki dayanikliligini ve uygulanabilirligini daha da artirabilir.
Conclusion
Ripple Protocol Consensus Algorithm เป็นความก้าวหน้าสำคัญของฉันทามติแบบกระจายสำหรับระบบการชำระเงิน ด้วยการใช้เครือข่ายย่อยที่ได้รับความไว้วางใจร่วมกัน แทนการบังคับให้ทุกโหนดต้องตกลงกันแบบทั่วทั้งเครือข่าย RPCA จึงบรรลุฉันทามติได้ภายในไม่กี่วินาที พร้อมคงการรับประกันที่แข็งแรงต่อความล้มเหลวแบบ Byzantine การวิเคราะห์เชิงรูปแบบยืนยันว่า หาก UNL ถูกเลือกให้มีการทับซ้อนเพียงพอ และจำนวนโหนด Byzantine อยู่ต่ำกว่าเกณฑ์ เครือข่ายจะบรรลุฉันทามติที่ถูกต้องโดยไม่เกิด fork
นัยเชิงปฏิบัติของงานนี้ไม่ได้จำกัดอยู่แค่เครือข่ายการชำระเงินของ Ripple เท่านั้น RPCA แสดงให้เห็นว่าการแลกเปลี่ยนแบบดั้งเดิมระหว่างความหน่วงฉันทามติกับการรับประกันความปลอดภัย สามารถก้าวข้ามได้ด้วยการออกแบบโปรโตคอลอย่างรอบคอบและการใช้ความสัมพันธ์ความไว้วางใจแบบเฉพาะที่ แนวทางนี้มีศักยภาพสำหรับระบบแบบกระจายอื่นที่ต้องการความหน่วงต่ำและมีผู้เข้าร่วมที่มีความไว้วางใจต่อกันอยู่แล้ว เช่น ระบบชำระบัญชีระหว่างธนาคาร การติดตามห่วงโซ่อุปทาน และงานโครงสร้างพื้นฐานทางการเงินอื่น ๆ
การนำ RPCA ไปใช้งานจริงในระบบ production ได้ยืนยันทั้งสมรรถนะและความทนทานของอัลกอริทึม เครือข่าย Ripple ประมวลผลธุรกรรมได้หลายพันรายการต่อวินาที พร้อมความหน่วงฉันทามติที่สม่ำเสมอที่ 3-5 วินาที แสดงให้เห็นว่าคุณสมบัติเชิงทฤษฎีสามารถแปลงเป็นผลลัพธ์จริงได้อย่างมีประสิทธิภาพ เมื่อเครือข่ายพัฒนาอย่างต่อเนื่องและเพิ่ม validator จากผู้ดำเนินการที่หลากหลายมากขึ้น RPCA จึงเป็นตัวอย่างเชิงปฏิบัติของระบบฉันทามติแบบกระจายอำนาจที่รักษาได้ทั้งความปลอดภัยและประสิทธิภาพในระดับสเกลใหญ่
Conclusion
Ripple Protokolu Konsensus Algoritmasi, odeme sistemleri icin dagitik konsensus alaninda onemli bir ilerlemeyi temsil eder. RPCA, tum dugumler arasinda kuresel uzlasi gerektirmek yerine kolektif olarak guvenilen alt-aglari kullanarak saniyeler icinde konsensus saglar ve Bizans hatalarina karsi guclu garantileri korur. Formal analiz, UNL'ler yeterli ortusmeyle secildiginde ve Bizans dugumleri esik altinda kaldiginda agin catallanma olmadan dogru konsensusa ulasacagini gosterir.
Bu calismanin pratik etkileri Ripple odeme aginin otesine uzanir. RPCA, konsensus gecikmesi ile guvenlik garantileri arasindaki geleneksel degis-tokusun, dikkatli protokol tasarimi ve yerel guven iliskileri sayesinde asilabilecegini ortaya koyar. Bu yaklasim; bankalararasi mutabakat, tedarik zinciri takibi ve diger finansal altyapi sistemleri gibi dusuk gecikmenin kritik oldugu ve katilimcilarin mevcut guven iliskilerine sahip bulundugu dagitik ortamlarda da uygulanabilir.
RPCA'nin uretim ortamina alinmasi, algoritmanin performans ve dayaniklilik ozelliklerini dogrulamistir. Ripple agi, tutarli 3-5 saniye konsensus gecikmesiyle saniyede binlerce islem isleyerek teorik ozelliklerin gercek dunyada da karsilik buldugunu gosterir. Ag, farkli operatorlerden daha fazla dogrulayiciyla gelismeye devam ederken, olcekte hem guvenligi hem performansi koruyabilen merkeziyetsiz konsensusun pratik bir ornegini sunar.
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 ได้กำหนดขอบเขตพื้นฐานของสิ่งที่อัลกอริทึมฉันทามติทำได้ในระบบอะซิงโครนัส และกำหนดทิศทางพื้นที่ออกแบบของโปรโตคอลฉันทามติเชิงปฏิบัติ
References
Lamport, L., Shostak, R., ve Pease, M. (1982). "The Byzantine Generals Problem." ACM Transactions on Programming Languages and Systems, 4(3):382-401. Bu oncu calisma, hatali bilesenler bulunan dagitik sistemlerde konsensus problemine formal bir cerceve kazandirmis ve Bizans hata toleransli sistemlerin teorik temelini atmistir.
Castro, M., ve Liskov, B. (1999). "Practical Byzantine Fault Tolerance." Proceedings of the Third Symposium on Operating Systems Design and Implementation (OSDI). Bu calisma PBFT'yi tanitmis, Bizans hata toleransinin pratik performansla saglanabilecegini gostermis, ancak O(n^2) iletisim karmasikliginin olceklenebilirligi sinirladigini da ortaya koymustur.
Nakamoto, S. (2008). "Bitcoin: A Peer-to-Peer Electronic Cash System." Bu whitepaper, dijital para biriminde cift-harcama sorununa cozum olarak proof-of-work konsensusunu onermis, guvenilen tarafa gerek duymadan merkeziyetsiz konsensusu mumkun kilarken bunun bedeli olarak yuksek gecikme ve enerji tuketimini getirmistir.
Lamport, L. (1998). "The Part-Time Parliament." ACM Transactions on Computer Systems, 16(2):133-169. Bu makale, cokme hatalari altindaki asenkron sistemlerde konsensus saglayan Paxos algoritmasini sunmus ve sonraki konsensus protokollerini guclu bicimde etkilemistir.
Fischer, M. J., Lynch, N. A., ve Paterson, M. S. (1985). "Impossibility of Distributed Consensus with One Faulty Process." Journal of the ACM, 32(2):374-382. FLP imkansizlik sonucu, asenkron sistemlerde konsensus algoritmalarinin neyi basarabilecegine dair temel sinirlari belirleyerek pratik konsensus protokollerinin tasarim uzamini sekillendirmistir.