Ripple Protokolü Uzlaşma Algoritması
Abstract
Хотя существует несколько алгоритмов консенсуса для задачи Византийских генералов, в частности применительно к распределенным платежным системам, многие из них страдают от высокой задержки, вызванной необходимостью синхронного взаимодействия всех узлов сети. В данной работе мы представляем новый алгоритм консенсуса, который обходит это требование, используя коллективно доверенные подсети внутри более крупной сети. Мы показываем, что "доверие", необходимое для предотвращения атак Сивиллы (Sybil), на самом деле не является глобальным, а локальным для каждого узла сети.
Алгоритм консенсуса протокола Ripple (RPCA) применяется каждые несколько секунд всеми узлами для поддержания корректности и согласованности сети. После достижения консенсуса текущий леджер считается "закрытым" и становится последним закрытым леджером. Этот алгоритм уникален тем, что достигает консенсуса с низкой задержкой, сохраняя при этом надежные гарантии против византийских отказов, что делает его пригодным для систем финансовых расчетов в реальном времени.
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 предлагает новый подход к распределенному консенсусу, не требующий доказательства работы. Вместо этого узлы сети коллективно согласовывают наборы транзакций посредством процесса голосования, который достигает консенсуса за считанные секунды. Этот механизм консенсуса разработан специально для требований глобальной платежной сети, где низкая задержка и высокая пропускная способность необходимы для практического развертывания.
Ключевое нововведение 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
В распределенных системах консенсус означает процесс, посредством которого сеть узлов приходит к согласию относительно общего состояния, несмотря на наличие неисправных или злонамеренных участников. Алгоритм консенсуса должен удовлетворять трем фундаментальным свойствам: корректность (никакие два правильных узла не принимают разных решений), согласие (все правильные узлы приходят к одному решению) и завершение (все правильные узлы в конечном итоге принимают решение). Эти свойства обеспечивают поведение распределенной системы так, как если бы она была единым надежным узлом.
Сложность достижения консенсуса обусловлена присущей ненадежностью распределенных систем. Узлы могут выходить из строя, сообщения могут задерживаться или теряться, а византийские узлы могут вести себя произвольно или злонамеренно. Задача Византийских генералов, формализованная Лэмпортом, Шостаком и Пизом, отражает эту проблему: как группа процессов может достичь согласия, когда некоторая доля может быть неисправной, а связь ненадежна?
Классические результаты в области распределенных вычислений устанавливают фундаментальные пределы того, чего могут достичь алгоритмы консенсуса. Результат невозможности FLP показывает, что ни один детерминированный алгоритм не может гарантировать консенсус в асинхронной системе, если хотя бы один узел может отказать. Поэтому практические алгоритмы консенсуса должны идти на компромисс между безопасностью (никогда не достигать неверного консенсуса) и живучестью (всегда продвигаться вперед). Proof-of-work Bitcoin отдает приоритет безопасности над живучестью, тогда как RPCA достигает баланса, более подходящего для платежных систем, завершая раунды консенсуса за ограниченное время при сохранении надежных гарантий безопасности в рамках реалистичных предположений о сбоях.
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), представленный Кастро и Лисков, может допускать до f византийских сбоев в системе из 3f+1 узлов. PBFT достигает консенсуса через несколько раундов обмена сообщениями между всеми узлами со сложностью коммуникации O(n^2), где n -- количество узлов. Хотя PBFT обеспечивает надежные гарантии безопасности и относительно низкую задержку для небольших сетей, он плохо масштабируется для больших сетей из-за квадратичных накладных расходов на коммуникацию.
Paxos и его варианты, разработанные Лэмпортом, обеспечивают консенсус в асинхронных системах, но предполагают отказы по сбою, а не византийские отказы. Paxos достигает консенсуса через серию раундов, в которых предлагающие узлы выдвигают значения, а принимающие узлы голосуют за них. Хотя Paxos может допускать произвольные задержки сообщений и отказы процессов, он требует тщательной инженерии для обработки византийских отказов и может страдать от livelock в определенных сценариях.
Алгоритм консенсуса proof-of-work Bitcoin использует принципиально иной подход, делая византийские атаки экономически нецелесообразными. Узлы соревнуются в решении криптографических задач, при этом победитель предлагает следующий блок транзакций. Хотя этот подход масштабируется до произвольных размеров сети и справляется с византийскими отказами, он имеет серьезные недостатки: огромное потребление энергии (оценивается более чем в 150 миллионов долларов в год для сети Bitcoin), длительные задержки подтверждения (часто 40-60 минут для транзакций высокой стоимости) и ограниченная пропускная способность (приблизительно 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 (RPCA) начинается с того, что каждый сервер берет все действительные транзакции, которые он видел и которые еще не были применены, в качестве транзакций-кандидатов. Затем серверы следуют многораундовому протоколу, в котором они итеративно работают над достижением согласия относительно набора транзакций, которые должны быть применены к текущему леджеру. В каждом раунде серверы делают предложения, состоящие из транзакций, которые, по их мнению, должны быть включены в следующий леджер.
В ходе каждого раунда консенсуса серверы передают свои предложения другим серверам из своего Уникального списка узлов (Unique Node List, UNL). Затем серверы вычисляют, какие транзакции появляются в пороговом проценте предложений. Изначально этот порог установлен на уровне 50%, что означает, что транзакция должна появиться в предложениях как минимум половины UNL сервера, чтобы быть рассмотренной в следующем раунде. По мере продвижения консенсуса через последовательные раунды этот порог увеличивается поэтапно (обычно до 60%, 70% и, наконец, 80%).
Когда транзакция достигает порога квалифицированного большинства в 80% поддержки в UNL сервера, она включается в предложение этого сервера для финального раунда консенсуса. Все транзакции, достигшие этого порога по всей сети, применяются к леджеру, который затем криптографически хешируется и подписывается. Этот вновь подтвержденный леджер становится последним закрытым леджером, и процесс начинается заново с новым набором транзакций-кандидатов.
Процесс консенсуса обычно завершается за 5 секунд или менее, при этом большинству транзакций требуется только один раунд консенсуса для достижения порога квалифицированного большинства. Транзакции, не достигшие консенсуса за один раунд, остаются кандидатами для последующих раундов. Такая конструкция обеспечивает непрерывный прогресс сети при сохранении надежных гарантий безопасности, поскольку ни одна транзакция не может быть применена к леджеру без поддержки квалифицированного большинства доверенных валидаторов.
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 обозначает уникальный список узлов узла i, а UNL_i ∩ UNL_j представляет множество узлов, которые присутствуют как в UNL_i, так и в UNL_j. Для того чтобы сеть поддерживала консенсус, мы требуем, чтобы для любых двух узлов i и j пересечение их UNL было достаточно большим относительно максимального размера любого из UNL.

В частности, протокол гарантирует безопасность, когда |UNL_i ∩ UNL_j| / max(|UNL_i|, |UNL_j|) 1/5 для всех пар узлов i и j. Это условие обеспечивает, что даже если византийские узлы попытаются привести различные части сети к различным решениям консенсуса, пересечение доверенных узлов предотвращает форк. Если это условие выполняется и менее 1/5 узлов в любом UNL являются византийскими, то все корректные узлы придут к одному и тому же решению консенсуса.
Формальное доказательство проводится путем демонстрации того, что если бы два узла могли прийти к различным решениям консенсуса, должна была бы существовать транзакция T, которая присутствует в финальном леджере одного узла, но не другого. Для этого T должна была бы получить 80% поддержки в UNL первого узла, но менее 80% поддержки в UNL второго узла. Однако, учитывая требование пересечения и ограничение на византийские узлы, можно показать, что этот сценарий невозможен: если T достигает 80% поддержки в UNL_i, она должна достичь как минимум 60% поддержки в любом UNL_j, удовлетворяющем условию пересечения, и при достаточном количестве раундов консенсуса это сойдется к 80% или будет отклонено обоими узлами.
Свойство живучести -- что консенсус в конечном итоге будет достигнут -- следует из наблюдения, что порог включения детерминированно возрастает через раунды консенсуса. Даже при наличии византийских узлов и сетевых задержек протокол обеспечивает, что транзакции, поддержанные квалифицированным большинством честных узлов, в конечном итоге будут включены, тогда как транзакции без такой поддержки будут исключены. Ограниченное время для консенсуса (обычно 5 секунд) обеспечивает практические гарантии живучести, подходящие для приложений платежных систем.
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, и нет требования глобально согласованного набора валидаторов. Такая конструкция позволяет сети масштабироваться органически при сохранении децентрализации.

UNL служит механизмом предотвращения атак Сивиллы (Sybil) без необходимости доказательства работы. В наивной системе голосования злоумышленник мог бы создать множество псевдонимных узлов для получения непропорционального влияния. Требуя от каждого узла явного выбора тех узлов, которым он доверяет, RPCA гарантирует, что создание дополнительных идентичностей не дает преимущества, если только эти идентичности не смогут убедить существующие узлы добавить их в свои UNL. Это переносит проблему устойчивости к атакам Сивиллы с вычислительных затрат на репутацию и доверительные отношения.
Для корректного функционирования сети UNL должны быть выбраны таким образом, чтобы иметь достаточное пересечение, как описано в формальном анализе. На практике это означает, что хотя каждый оператор узла имеет автономию в выборе своего UNL, он должен обеспечить, чтобы его список включал валидаторов, которым также доверяют другие части сети. Ripple предоставляет UNL по умолчанию, состоящий из валидаторов, управляемых разнообразными организациями, но операторы узлов вольны модифицировать этот список на основе собственной оценки доверия.
Механизм UNL также обеспечивает естественный путь к прогрессивной децентрализации. На ранних этапах сети более централизованный набор валидаторов может быть уместен для обеспечения стабильности и надежности. По мере созревания сети и демонстрации своей надежности разнообразными операторами UNL могут эволюционировать, включая более широкий набор валидаторов, увеличивая устойчивость и децентрализацию сети без ущерба для ее свойств безопасности.
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, включая предложение транзакций, раунды голосования с возрастающими порогами и валидацию леджера.
Ключевые параметры, варьировавшиеся в симуляциях, включают размер сети (от 10 до 1 000 узлов), процент византийских узлов (от 0% до 20%), размер UNL (обычно от 5 до 50 узлов) и конфигурации топологии сети. Для каждой конфигурации параметров было проведено несколько запусков симуляции с различными случайными начальными значениями для обеспечения статистической достоверности результатов. В симуляциях отслеживались такие метрики, как задержка консенсуса, вероятность форка и пропускная способность транзакций.
Результаты моделирования подтверждают теоретические предсказания относительно сходимости и безопасности. Во всех конфигурациях, где условие пересечения UNL было выполнено и византийские узлы составляли менее 20% каждого UNL, сеть успешно достигала консенсуса без форков. Задержка консенсуса оставалась стабильно низкой (обычно завершаясь за 3-5 смоделированных секунд) независимо от размера сети, демонстрируя масштабируемость алгоритма. Даже при 15% византийских узлов, активно пытающихся нарушить консенсус, сеть сохраняла корректность при выполнении требования пересечения UNL.
Дополнительные симуляции исследовали граничные случаи и сценарии отказов, включая разделение сети, внезапные изменения состава UNL и координированные атаки византийских узлов. Эти симуляции предоставили информацию о надежности протокола и определили рекомендуемые лучшие практики для выбора 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 пригодным для точек продаж и других приложений, где требуется практически мгновенный расчет. Кроме того, RPCA требует минимальных вычислительных ресурсов по сравнению с proof-of-work, устраняя огромное потребление энергии, связанное с майнингом Bitcoin.
Однако эти преимущества сопряжены с иными предположениями о доверии. В то время как безопасность Bitcoin основывается только на предположении, что ни один злоумышленник не контролирует более 50% вычислительной мощности сети, RPCA требует, чтобы узлы выбирали UNL с достаточным пересечением и чтобы византийские узлы не превышали порог в этих UNL. Это перекладывает часть ответственности на операторов узлов за принятие разумных решений о доверии. На практике этот компромисс приемлем для многих случаев использования платежных систем, где участвующие учреждения имеют существующие доверительные отношения.
Топология сети и стратегия выбора UNL существенно влияют на свойства системы консенсуса. Высокоцентрализованная топология, при которой все узлы включают одних и тех же валидаторов в свои UNL, максимизирует безопасность, но может снизить живучесть, если эти валидаторы станут недоступными. И наоборот, высокодецентрализованная топология с минимальным пересечением UNL может улучшить живучесть, но рискует привести к сбоям консенсуса, если пересечение станет слишком малым. Нахождение оптимального баланса требует тщательного рассмотрения конкретного сценария развертывания и допустимого уровня риска.
Будущие работы могут исследовать адаптивные алгоритмы выбора UNL, которые автоматически поддерживают требования пересечения при максимизации децентрализации, механизмы для динамической корректировки UNL узлами на основе наблюдаемого поведения валидаторов и расширения алгоритма консенсуса, которые могли бы допускать еще более высокие доли византийских узлов. Эти улучшения могут дополнительно повысить надежность и применимость 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 представляет собой значительное достижение в области распределенного консенсуса для платежных систем. Используя коллективно доверенные подсети вместо требования глобального согласия между всеми узлами, RPCA достигает консенсуса за считанные секунды, сохраняя при этом надежные гарантии против византийских отказов. Формальный анализ демонстрирует, что при условии выбора UNL с достаточным пересечением и нахождении византийских узлов ниже порогового значения сеть достигнет корректного консенсуса без форков.
Практические последствия этой работы выходят за рамки платежной сети Ripple. RPCA демонстрирует, что традиционный компромисс между задержкой консенсуса и гарантиями безопасности может быть преодолен посредством тщательного проектирования протокола и использования локальных доверительных отношений. Этот подход может оказаться применимым к другим распределенным системам, где критически важна низкая задержка и участники имеют существующие доверительные отношения, таким как системы межбанковских расчетов, отслеживание цепочек поставок и другие приложения финансовой инфраструктуры.
Развертывание RPCA в производственных системах подтвердило характеристики производительности и надежность алгоритма. Сеть Ripple обрабатывает тысячи транзакций в секунду со стабильной задержкой консенсуса 3-5 секунд, демонстрируя, что теоретические свойства эффективно переносятся на реальную эксплуатацию. По мере дальнейшего развития сети и включения дополнительных валидаторов от разнообразных операторов она служит практическим примером того, как децентрализованная система консенсуса может поддерживать как безопасность, так и производительность в масштабе.
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., 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., 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.