रिपल प्रोटोकॉल सर्वसम्मति एल्गोरिथ्म
Abstract
虽然存在多种针对Byzantine Generals Problem的共识算法,特别是与分布式支付系统相关的算法,但其中许多都因网络中所有节点需要同步通信的要求而导致高延迟问题。在本研究中,我们提出了一种新颖的共识算法,通过利用更大网络内的集体信任子网络来规避这一要求。我们证明,防止Sybil攻击所需的"信任"实际上不是全局性的,而是网络中每个节点的局部性的。
Ripple协议共识算法(RPCA)由所有节点每隔几秒应用一次,以维护网络的正确性和一致性。一旦达成共识,当前账本被视为"关闭",成为最后关闭的账本(last-closed ledger)。该算法的独特之处在于,它在维持对Byzantine故障的强大保障的同时实现了低延迟共识,使其适用于实时金融结算系统。
Abstract
हालांकि Byzantine Generals Problem के लिए कई सहमति एल्गोरिदम मौजूद हैं, विशेष रूप से वितरित भुगतान प्रणालियों के संबंध में, उनमें से कई नेटवर्क के सभी नोड्स को समकालिक रूप से संवाद करने की आवश्यकता के कारण उच्च विलंबता से ग्रस्त हैं। इस कार्य में, हम एक नवीन सहमति एल्गोरिदम प्रस्तुत करते हैं जो बड़े नेटवर्क के भीतर सामूहिक रूप से विश्वसनीय उप-नेटवर्क का उपयोग करके इस आवश्यकता को दरकिनार करता है। हम दिखाते हैं कि Sybil हमलों को रोकने के लिए आवश्यक "विश्वास" वास्तव में वैश्विक नहीं है, बल्कि नेटवर्क में प्रत्येक नोड के लिए स्थानीय है।
Ripple प्रोटोकॉल सहमति एल्गोरिदम (RPCA) नेटवर्क की शुद्धता और सहमति बनाए रखने के लिए सभी नोड्स द्वारा हर कुछ सेकंड में लागू किया जाता है। एक बार सहमति प्राप्त हो जाने पर, वर्तमान लेजर को "बंद" माना जाता है और यह अंतिम-बंद लेजर बन जाता है। यह एल्गोरिदम अद्वितीय है क्योंकि यह Byzantine विफलताओं के खिलाफ मजबूत गारंटी बनाए रखते हुए कम विलंबता के साथ सहमति प्राप्त करता है, जो इसे वास्तविक समय वित्तीय निपटान प्रणालियों के लिए उपयुक्त बनाता है।
Introduction
分布式支付系统必须实现共识算法,以便在存在故障或恶意行为者的情况下及时正确地处理支付。比特币通过工作量证明(proof-of-work)来达成共识,这要求所有节点消耗计算资源来解决密码学难题。虽然这种方法提供了强大的安全保障,但它存在显著的缺点,包括高能耗、低交易吞吐量以及对于高价值交易可能延长至一小时或更长时间的确认延迟。
Ripple协议共识算法提供了一种不需要工作量证明的分布式共识新方法。取而代之的是,网络中的节点通过在几秒内达成共识的投票过程来集体同意交易集合。这种共识机制专门为全球支付网络的需求而设计,在这些网络中,低延迟和高吞吐量对于实际部署至关重要。
RPCA的关键创新在于它不要求网络中的所有节点彼此达成一致。相反,每个节点维护一个唯一节点列表(Unique Node List, UNL),其中包含它信任不会串通的其他节点。只要节点选择的UNL具有足够的重叠,且故障节点低于阈值百分比,网络就会达成共识。这种方法在以秒而非分钟或小时来衡量共识延迟的同时,提供了支付系统所需的安全保障。
Introduction
एक वितरित भुगतान प्रणाली को दोषपूर्ण या दुर्भावनापूर्ण अभिकर्ताओं की उपस्थिति में भी भुगतानों को सही और समय पर संसाधित करने के लिए एक सहमति एल्गोरिदम लागू करना होगा। Bitcoin प्रूफ-ऑफ-वर्क (proof-of-work) का उपयोग करके सहमति प्राप्त करता है, जिसमें सभी नोड्स को क्रिप्टोग्राफिक पहेलियों को हल करने के लिए कम्प्यूटेशनल संसाधन खर्च करने की आवश्यकता होती है। हालांकि यह दृष्टिकोण मजबूत सुरक्षा गारंटी प्रदान करता है, इसमें महत्वपूर्ण कमियां हैं जिनमें उच्च ऊर्जा खपत, कम लेनदेन थ्रूपुट और लंबी पुष्टि विलंबता शामिल है जो उच्च-मूल्य लेनदेन के लिए एक घंटे या उससे अधिक तक बढ़ सकती है।
Ripple प्रोटोकॉल सहमति एल्गोरिदम वितरित सहमति के लिए एक नया दृष्टिकोण प्रदान करता है जिसमें प्रूफ-ऑफ-वर्क की आवश्यकता नहीं होती। इसके बजाय, नेटवर्क में नोड्स एक मतदान प्रक्रिया के माध्यम से लेनदेन सेट पर सामूहिक रूप से सहमत होते हैं जो सेकंडों में सहमति प्राप्त करती है। यह सहमति तंत्र विशेष रूप से एक वैश्विक भुगतान नेटवर्क की आवश्यकताओं के लिए डिज़ाइन किया गया है, जहां व्यावहारिक तैनाती के लिए कम विलंबता और उच्च थ्रूपुट आवश्यक हैं।
RPCA में प्रमुख नवाचार यह है कि इसमें नेटवर्क के सभी नोड्स को एक-दूसरे से सहमत होने की आवश्यकता नहीं होती। इसके बजाय, प्रत्येक नोड अन्य नोड्स की एक Unique Node List (UNL) बनाए रखता है जिन पर वह मिलीभगत न करने का भरोसा करता है। जब तक नोड्स द्वारा चुनी गई UNL में पर्याप्त ओवरलैप होता है, और नोड्स का एक सीमा प्रतिशत से कम दोषपूर्ण होता है, तब तक नेटवर्क सहमति प्राप्त करेगा। यह दृष्टिकोण भुगतान प्रणाली के लिए आवश्यक सुरक्षा गारंटी प्रदान करता है जबकि सहमति विलंबता को मिनटों या घंटों के बजाय सेकंडों में मापा जाता है।
Definition of Consensus
在分布式系统中,共识是指即使存在故障或恶意参与者,节点网络也能就共享状态达成一致的过程。共识算法必须满足三个基本属性:正确性(没有两个正确的节点做出不同的决定)、一致性(所有正确的节点达成相同的决定)和终止性(所有正确的节点最终都会做出决定)。这些属性确保分布式系统表现得如同一个单一的、可靠的节点。
达成共识的挑战源于分布式系统固有的不可靠性。节点可能崩溃,消息可能延迟或丢失,Byzantine节点可能任意或恶意地行为。Lamport、Shostak和Pease形式化的Byzantine Generals Problem捕捉了这一挑战:当一部分进程可能存在故障且通信不可靠时,一组进程如何能够达成一致?
分布式计算的经典结果确立了共识算法所能达到的基本限制。FLP不可能性结果表明,如果即使一个节点可能失败,在异步系统中没有确定性算法可以保证达成共识。因此,实用的共识算法必须在安全性(永远不会达成错误的共识)和活性(始终保持进展)之间做出权衡。比特币的工作量证明优先考虑安全性而非活性,而RPCA通过在有限时间内完成共识轮次,同时在现实的故障假设下维持强大的安全性保障,从而实现了更适合支付系统的平衡。
Definition of Consensus
वितरित प्रणालियों में, सहमति उस प्रक्रिया को संदर्भित करती है जिसके द्वारा नोड्स का एक नेटवर्क दोषपूर्ण या दुर्भावनापूर्ण प्रतिभागियों की उपस्थिति के बावजूद एक साझा स्थिति पर सहमति पर पहुंचता है। एक सहमति एल्गोरिदम को तीन मूलभूत गुणों को संतुष्ट करना चाहिए: शुद्धता (कोई भी दो सही नोड अलग-अलग निर्णय नहीं लेते), सहमति (सभी सही नोड एक ही निर्णय पर पहुंचते हैं), और समाप्ति (सभी सही नोड अंततः निर्णय लेते हैं)। ये गुण सुनिश्चित करते हैं कि वितरित प्रणाली ऐसे व्यवहार करती है जैसे कि वह एक एकल, विश्वसनीय नोड हो।
सहमति प्राप्त करने की चुनौती वितरित प्रणालियों की अंतर्निहित अविश्वसनीयता से उत्पन्न होती है। नोड्स क्रैश हो सकते हैं, संदेश विलंबित या खो सकते हैं, और Byzantine नोड्स मनमाने ढंग से या दुर्भावनापूर्ण तरीके से व्यवहार कर सकते हैं। Byzantine Generals Problem, जिसे Lamport, Shostak और Pease ने औपचारिक रूप दिया, इस चुनौती को पकड़ती है: प्रक्रियाओं का एक समूह कैसे सहमति पर पहुंच सकता है जब कुछ अंश दोषपूर्ण हो सकता है और जब संचार अविश्वसनीय हो?
वितरित कंप्यूटिंग में शास्त्रीय परिणाम इस बात की मूलभूत सीमाएं स्थापित करते हैं कि सहमति एल्गोरिदम क्या हासिल कर सकते हैं। FLP असंभवता परिणाम दिखाता है कि कोई भी नियतात्मक एल्गोरिदम एक असमकालिक प्रणाली में सहमति की गारंटी नहीं दे सकता यदि एक भी नोड विफल हो सकता है। इसलिए व्यावहारिक सहमति एल्गोरिदम को सुरक्षा (कभी भी गलत सहमति नहीं पहुंचना) और जीवंतता (हमेशा प्रगति करना) के बीच समझौता करना होगा। Bitcoin का proof-of-work जीवंतता पर सुरक्षा को प्राथमिकता देता है, जबकि RPCA यथार्थवादी दोष धारणाओं के तहत मजबूत सुरक्षा गारंटी बनाए रखते हुए सीमित समय में सहमति दौर पूरा करके भुगतान प्रणालियों के लिए अधिक उपयुक्त संतुलन प्राप्त करता है।
Existing Consensus Algorithms
已经有多种共识算法被提出来解决分布式系统中的Byzantine Generals Problem。由Castro和Liskov引入的Practical Byzantine Fault Tolerance(PBFT)算法可以在3f+1个节点的系统中容忍最多f个Byzantine故障。PBFT通过所有节点之间的多轮消息交换来达成共识,通信复杂度为O(n^2),其中n为节点数量。虽然PBFT提供了强大的安全性保障和小型网络中相对较低的延迟,但由于二次通信开销,它无法良好地扩展到大型网络。
由Lamport开发的Paxos及其变体在异步系统中提供共识,但假设的是崩溃故障而非Byzantine故障。Paxos通过一系列轮次达成共识,其中提议者建议值,接受者进行投票。虽然Paxos可以容忍任意消息延迟和进程崩溃,但处理Byzantine故障需要精心的工程设计,并且在某些场景中可能发生活锁(livelock)。
比特币的工作量证明共识算法采取了根本不同的方法,使Byzantine攻击在经济上不可行。节点竞争解决密码学难题,获胜者提议下一个交易区块。虽然这种方法可以扩展到任意网络规模并处理Byzantine故障,但它有严重的缺点:大量的能源消耗(比特币网络估计每年超过1.5亿美元)、长确认延迟(高价值交易通常为40-60分钟)以及有限的吞吐量(大约每秒7笔交易)。这些限制使得工作量证明不适合许多需要快速结算和高交易量的支付系统应用。
Existing Consensus Algorithms
वितरित प्रणालियों में Byzantine Generals Problem को हल करने के लिए कई सहमति एल्गोरिदम प्रस्तावित किए गए हैं। Practical Byzantine Fault Tolerance (PBFT) एल्गोरिदम, जिसे Castro और Liskov ने पेश किया, 3f+1 नोड्स की प्रणाली में f Byzantine दोषों तक सहन कर सकता है। PBFT सभी नोड्स के बीच संदेश विनिमय के कई दौरों के माध्यम से सहमति प्राप्त करता है, जिसमें O(n^2) की संचार जटिलता होती है, जहां n नोड्स की संख्या है। हालांकि PBFT छोटे नेटवर्क के लिए मजबूत सुरक्षा गारंटी और अपेक्षाकृत कम विलंबता प्रदान करता है, द्विघात संचार ओवरहेड के कारण यह बड़े नेटवर्क के लिए अच्छी तरह से स्केल नहीं करता।
Paxos और इसके संस्करण, Lamport द्वारा विकसित, असमकालिक प्रणालियों में सहमति प्रदान करते हैं लेकिन Byzantine दोषों के बजाय क्रैश विफलताओं को मानते हैं। Paxos दौरों की एक श्रृंखला के माध्यम से सहमति प्राप्त करता है जिसमें प्रस्तावक मूल्य सुझाते हैं और स्वीकर्ता उन पर मतदान करते हैं। हालांकि Paxos मनमानी संदेश विलंबता और प्रक्रिया क्रैश को सहन कर सकता है, इसमें Byzantine विफलताओं को संभालने के लिए सावधानीपूर्वक इंजीनियरिंग की आवश्यकता होती है और कुछ परिदृश्यों में livelock से ग्रस्त हो सकता है।
Bitcoin का proof-of-work सहमति एल्गोरिदम Byzantine हमलों को आर्थिक रूप से अव्यवहार्य बनाकर एक मौलिक रूप से भिन्न दृष्टिकोण अपनाता है। नोड्स क्रिप्टोग्राफिक पहेलियों को हल करने के लिए प्रतिस्पर्धा करते हैं, विजेता लेनदेन का अगला ब्लॉक प्रस्तावित करता है। हालांकि यह दृष्टिकोण मनमाने नेटवर्क आकार तक स्केल करता है और Byzantine दोषों को संभालता है, इसमें गंभीर कमियां हैं: भारी ऊर्जा खपत (Bitcoin नेटवर्क के लिए प्रति वर्ष 150 मिलियन डॉलर से अधिक अनुमानित), लंबी पुष्टि विलंबता (उच्च-मूल्य लेनदेन के लिए अक्सर 40-60 मिनट), और सीमित थ्रूपुट (लगभग 7 लेनदेन प्रति सेकंड)। ये सीमाएं proof-of-work को कई भुगतान प्रणाली अनुप्रयोगों के लिए अनुपयुक्त बनाती हैं जिनमें तेजी से निपटान और उच्च लेनदेन मात्रा की आवश्यकता होती है।
Ripple Protocol Consensus Algorithm
Ripple协议共识算法(RPCA)从每个服务器收集所有尚未应用的有效交易作为候选交易开始。然后服务器遵循多轮协议,迭代地就当前账本应用的交易集达成一致。在每一轮中,服务器提出它们认为应该包含在下一个账本中的交易提案。
在每个共识轮次中,服务器将其提案传达给唯一节点列表(UNL)中的其他服务器。然后服务器计算哪些交易出现在阈值百分比以上的提案中。最初,该阈值设置为50%,意味着交易必须出现在服务器UNL中至少一半的提案中才能被考虑进入下一轮。随着共识通过连续轮次的推进,该阈值逐步提高(通常到60%、70%,最终到80%)。
当一笔交易在服务器的UNL中达到80%的绝对多数支持阈值时,它将被包含在该服务器最终共识轮次的提案中。网络中所有达到该阈值的交易被应用到账本上,账本随后被加密哈希和签名。这个新验证的账本成为最后关闭的账本,流程以下一组候选交易重新开始。
共识过程通常在5秒或更短时间内完成,大多数交易只需要一个共识轮次即可达到绝对多数阈值。在一轮中未达成共识的交易仍作为后续轮次的候选。这种设计确保网络持续推进,同时维持强大的安全性保障,因为没有任何交易可以在没有受信任验证者绝对多数支持的情况下被应用到账本上。
Ripple Protocol Consensus Algorithm
Ripple प्रोटोकॉल सहमति एल्गोरिदम (RPCA) प्रत्येक सर्वर द्वारा उन सभी वैध लेनदेन को लेकर शुरू होता है जो उसने देखे हैं और जो अभी तक कैंडिडेट लेनदेन के रूप में लागू नहीं किए गए हैं। सर्वर फिर एक बहु-दौर प्रोटोकॉल का पालन करते हैं जहां वे वर्तमान लेजर पर लागू किए जाने वाले लेनदेन के एक सेट पर सहमति की ओर पुनरावृत्त रूप से काम करते हैं। प्रत्येक दौर में, सर्वर उन लेनदेन से युक्त प्रस्ताव बनाते हैं जिन्हें वे अगले लेजर में शामिल किया जाना चाहिए।
प्रत्येक सहमति दौर के दौरान, सर्वर अपने Unique Node List (UNL) में अन्य सर्वरों को अपने प्रस्ताव संप्रेषित करते हैं। सर्वर तब गणना करते हैं कि कौन से लेनदेन प्रस्तावों के एक सीमा प्रतिशत में दिखाई देते हैं। शुरू में, यह सीमा 50% पर निर्धारित होती है, जिसका अर्थ है कि एक लेनदेन को अगले दौर के लिए विचार किए जाने हेतु सर्वर की UNL के कम से कम आधे प्रस्तावों में दिखाई देना चाहिए। जैसे-जैसे सहमति क्रमिक दौरों के माध्यम से आगे बढ़ती है, यह सीमा क्रमिक रूप से बढ़ती है (आमतौर पर 60%, 70%, और अंत में 80%)।
जब कोई लेनदेन सर्वर की UNL में 80% समर्थन की सुपरमेजॉरिटी सीमा प्राप्त करता है, तो इसे अंतिम सहमति दौर के लिए उस सर्वर के प्रस्ताव में शामिल किया जाता है। नेटवर्क भर में इस सीमा तक पहुंचने वाले सभी लेनदेन लेजर पर लागू किए जाते हैं, जिसे फिर क्रिप्टोग्राफिक रूप से हैश और हस्ताक्षरित किया जाता है। यह नव सत्यापित लेजर अंतिम-बंद लेजर बन जाता है, और प्रक्रिया कैंडिडेट लेनदेन के अगले सेट के साथ फिर से शुरू होती है।
सहमति प्रक्रिया आमतौर पर 5 सेकंड या उससे कम में पूरी होती है, अधिकांश लेनदेन को सुपरमेजॉरिटी सीमा प्राप्त करने के लिए केवल एक सहमति दौर की आवश्यकता होती है। एक दौर में सहमति प्राप्त नहीं करने वाले लेनदेन बाद के दौरों के लिए कैंडिडेट बने रहते हैं। यह डिज़ाइन सुनिश्चित करता है कि नेटवर्क मजबूत सुरक्षा गारंटी बनाए रखते हुए निरंतर प्रगति करता है, क्योंकि कोई भी लेनदेन विश्वसनीय वैलिडेटरों के सुपरमेजॉरिटी समर्थन के बिना लेजर पर लागू नहीं किया जा सकता।
Formal Analysis of Convergence
RPCA的正确性关键取决于网络中不同节点选择的UNL之间的重叠。令UNL_i表示节点i的唯一节点列表,UNL_i ∩ UNL_j表示同时出现在UNL_i和UNL_j中的节点集合。为使网络维持共识,我们要求对于任意两个节点i和j,其UNL的交集相对于任一UNL的最大规模必须足够大。

具体而言,当对所有节点对i和j满足|UNL_i ∩ UNL_j| / max(|UNL_i|, |UNL_j|) 1/5时,协议保证安全性。该条件确保即使Byzantine节点试图使网络的不同部分达成不同的共识决定,受信任节点的重叠也能防止分叉。如果该条件成立且任何UNL中Byzantine节点少于1/5,则所有正确节点将达成相同的共识决定。
形式化证明通过证明如果两个节点可以达成不同的共识决定,则必定存在某笔交易T出现在一个节点的最终账本中但不在另一个节点的账本中来进行。要发生这种情况,T必须在第一个节点的UNL中获得80%的支持,但在第二个节点的UNL中获得不到80%的支持。然而,考虑到重叠要求和对Byzantine节点的约束,可以证明这种情况是不可能的:如果T在UNL_i中获得80%的支持,它必须在满足重叠条件的任何UNL_j中至少获得60%的支持,经过足够的共识轮次,这将收敛到80%或被两个节点都拒绝。
活性属性——共识最终会达成——来自于包含阈值通过共识轮次确定性地增加这一观察。即使在存在Byzantine节点和网络延迟的情况下,协议也确保由诚实节点绝对多数支持的交易最终会被包含,而缺乏此类支持的交易将被排除。共识的有限时间(通常5秒)为支付系统应用提供了实用的活性保障。
Formal Analysis of Convergence
RPCA की शुद्धता नेटवर्क में विभिन्न नोड्स द्वारा चुनी गई UNL के बीच ओवरलैप पर गंभीर रूप से निर्भर करती है। UNL_i को नोड i की unique node list और 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 के लिए। यह शर्त सुनिश्चित करती है कि भले ही Byzantine नोड्स नेटवर्क के विभिन्न भागों को अलग-अलग सहमति निर्णय लेने का कारण बनाने का प्रयास करें, विश्वसनीय नोड्स का ओवरलैप फोर्क को रोकता है। यदि यह शर्त पूरी होती है और किसी भी UNL में 1/5 से कम नोड्स Byzantine हैं, तो सभी सही नोड्स एक ही सहमति निर्णय पर पहुंचेंगे।
औपचारिक प्रमाण यह दिखाकर आगे बढ़ता है कि यदि दो नोड्स अलग-अलग सहमति निर्णय ले सकते, तो कोई लेनदेन T अवश्य होना चाहिए जो एक नोड के अंतिम लेजर में दिखाई देता है लेकिन दूसरे में नहीं। इसके लिए, T को पहले नोड की UNL में 80% समर्थन प्राप्त होना चाहिए लेकिन दूसरे नोड की UNL में 80% से कम समर्थन। हालांकि, ओवरलैप आवश्यकता और Byzantine नोड्स पर बाधा को देखते हुए, यह दिखाया जा सकता है कि यह परिदृश्य असंभव है: यदि T UNL_i में 80% समर्थन प्राप्त करता है, तो इसे ओवरलैप शर्त को संतुष्ट करने वाली किसी भी UNL_j में कम से कम 60% समर्थन प्राप्त करना चाहिए, और सहमति के पर्याप्त दौरों के साथ, यह 80% में अभिसरित होगा या दोनों नोड्स द्वारा अस्वीकार किया जाएगा।
जीवंतता गुण -- कि सहमति अंततः प्राप्त होगी -- इस अवलोकन से अनुसरण करता है कि शामिल करने की सीमा सहमति दौरों के माध्यम से नियतात्मक रूप से बढ़ती है। Byzantine नोड्स और नेटवर्क विलंब की उपस्थिति में भी, प्रोटोकॉल सुनिश्चित करता है कि ईमानदार नोड्स के सुपरमेजॉरिटी द्वारा समर्थित लेनदेन अंततः शामिल किए जाएंगे, जबकि ऐसे समर्थन की कमी वाले लेनदेन बाहर रखे जाएंगे। सहमति के लिए सीमित समय (आमतौर पर 5 सेकंड) भुगतान प्रणाली अनुप्रयोगों के लिए उपयुक्त व्यावहारिक जीवंतता गारंटी प्रदान करता है।
Unique Node Lists
唯一节点列表(UNL)是RPCA区别于其他共识算法的基本组件。Ripple网络中的每个节点维护一个UNL,包含它信任不会串通欺骗网络的其他节点。关键的是,这种信任是局部的而非全局的:不同的节点可以有不同的UNL,不需要全局统一的验证者集合。这种设计允许网络在保持去中心化的同时有机地扩展。

UNL作为一种无需工作量证明的Sybil攻击防御机制。在简单的投票系统中,攻击者可以创建许多假名节点以获得不成比例的影响力。通过要求每个节点明确选择它信任的其他节点,RPCA确保创建额外的身份不会带来任何优势,除非这些身份能够说服现有节点将其添加到UNL中。这将Sybil抵抗的问题从计算支出转移到了声誉和信任关系上。
为使网络正确运行,UNL必须按照形式化分析中所述选择具有足够重叠的列表。在实践中,这意味着虽然每个节点运营者在选择UNL方面拥有自主权,但必须确保其列表中包含网络其他部分也信任的验证者。Ripple提供了一个由多元化实体运营的验证者组成的默认UNL,但节点运营者可以根据自己的信任评估自由修改此列表。
UNL机制还提供了一条通向渐进式去中心化的自然路径。在网络的早期阶段,更集中的验证者集合可能更适合确保稳定性和可靠性。随着网络的成熟和更多多元化运营者证明其可信度,UNL可以演变为包含更广泛的验证者集合,在不损害安全属性的情况下增强网络的韧性和去中心化程度。
Unique Node Lists
Unique Node List (UNL) RPCA का एक मूलभूत घटक है जो इसे अन्य सहमति एल्गोरिदम से अलग करता है। Ripple नेटवर्क में प्रत्येक नोड एक UNL बनाए रखता है जिसमें अन्य नोड्स शामिल होते हैं जिन पर वह नेटवर्क को धोखा देने के लिए मिलीभगत न करने का भरोसा करता है। महत्वपूर्ण रूप से, यह विश्वास वैश्विक के बजाय स्थानीय है: विभिन्न नोड्स की अलग-अलग UNL हो सकती हैं, और वैलिडेटरों के विश्व स्तर पर सहमत सेट की कोई आवश्यकता नहीं है। यह डिज़ाइन नेटवर्क को विकेंद्रीकरण बनाए रखते हुए स्वाभाविक रूप से बढ़ने की अनुमति देता है।

UNL प्रूफ-ऑफ-वर्क की आवश्यकता के बिना Sybil हमला रोकथाम तंत्र के रूप में कार्य करता है। एक भोले मतदान प्रणाली में, एक हमलावर असमानुपातिक प्रभाव प्राप्त करने के लिए कई छद्मनामी नोड्स बना सकता है। प्रत्येक नोड से स्पष्ट रूप से यह चुनने की आवश्यकता करके कि वह किन अन्य नोड्स पर भरोसा करता है, RPCA सुनिश्चित करता है कि अतिरिक्त पहचान बनाने से कोई लाभ नहीं होता जब तक कि वे पहचान मौजूदा नोड्स को अपनी UNL में जोड़ने के लिए मना नहीं सकतीं। यह Sybil प्रतिरोध की समस्या को कम्प्यूटेशनल व्यय से प्रतिष्ठा और विश्वास संबंधों में स्थानांतरित करता है।
नेटवर्क को सही ढंग से कार्य करने के लिए, UNL को इस प्रकार चुना जाना चाहिए कि उनमें पर्याप्त ओवरलैप हो, जैसा कि औपचारिक विश्लेषण में वर्णित है। व्यवहार में, इसका अर्थ है कि जहां प्रत्येक नोड ऑपरेटर को अपनी UNL चुनने में स्वायत्तता है, उन्हें यह सुनिश्चित करना होगा कि उनकी सूची में ऐसे वैलिडेटर शामिल हैं जिन पर नेटवर्क के अन्य भागों द्वारा भी भरोसा किया जाता है। Ripple विविध संस्थाओं द्वारा संचालित वैलिडेटरों से युक्त एक डिफ़ॉल्ट UNL प्रदान करता है, लेकिन नोड ऑपरेटर अपने स्वयं के विश्वास मूल्यांकन के आधार पर इस सूची को संशोधित करने के लिए स्वतंत्र हैं।
UNL तंत्र प्रगतिशील विकेंद्रीकरण की ओर एक स्वाभाविक मार्ग भी प्रदान करता है। नेटवर्क के प्रारंभिक चरणों में, स्थिरता और विश्वसनीयता सुनिश्चित करने के लिए वैलिडेटरों का एक अधिक केंद्रीकृत सेट उपयुक्त हो सकता है। जैसे-जैसे नेटवर्क परिपक्व होता है और अधिक विविध ऑपरेटर अपनी विश्वसनीयता प्रदर्शित करते हैं, UNL वैलिडेटरों के एक व्यापक सेट को शामिल करने के लिए विकसित हो सकते हैं, जिससे इसकी सुरक्षा गुणों से समझौता किए बिना नेटवर्क की लचीलापन और विकेंद्रीकरण बढ़ता है।
Simulation Code
为验证RPCA的理论分析并评估其在各种条件下的性能,使用定制的仿真软件进行了大量模拟。仿真框架对节点网络进行建模,每个节点维护自己的UNL并参与共识协议。代码实现了完整的RPCA算法,包括交易提案、阈值递增的投票轮次和账本验证。
模拟中变化的关键参数包括网络规模(从10到1,000个节点)、Byzantine节点的百分比(从0%到20%)、UNL大小(通常在5到50个节点之间)和网络拓扑配置。对于每种参数配置,使用不同的随机种子进行了多次模拟运行,以确保结果的统计有效性。模拟跟踪了包括共识延迟、分叉概率和交易吞吐量在内的指标。
模拟结果证实了关于收敛和安全性的理论预测。在UNL重叠条件满足且Byzantine节点占每个UNL不到20%的所有配置中,网络成功达成共识且未出现分叉。共识延迟始终保持较低水平(通常在3-5秒的模拟时间内完成),与网络规模无关,证明了算法的可扩展性。即使有15%的Byzantine节点积极尝试破坏共识,只要满足UNL重叠要求,网络仍保持正确性。
额外的模拟探索了边缘情况和故障场景,包括网络分区、UNL组成的突然变化和Byzantine节点的协调攻击。这些模拟提供了关于协议鲁棒性的洞察,并为UNL选择和网络运营的推荐最佳实践提供了参考。完整的模拟代码已公开发布,以便进行独立验证和进一步研究。
Simulation Code
RPCA के सैद्धांतिक विश्लेषण को मान्य करने और विभिन्न स्थितियों में इसके प्रदर्शन का मूल्यांकन करने के लिए, कस्टम-निर्मित सिमुलेशन सॉफ्टवेयर का उपयोग करके व्यापक सिमुलेशन आयोजित किए गए। सिमुलेशन फ्रेमवर्क नोड्स के एक नेटवर्क का मॉडल बनाता है, जिनमें से प्रत्येक अपना स्वयं का UNL बनाए रखता है और सहमति प्रोटोकॉल में भाग लेता है। कोड पूर्ण RPCA एल्गोरिदम को लागू करता है, जिसमें लेनदेन प्रस्ताव, बढ़ते सीमा मानों के साथ मतदान दौर और लेजर सत्यापन शामिल हैं।
सिमुलेशन में विविध किए गए प्रमुख पैरामीटरों में नेटवर्क आकार (10 से 1,000 नोड्स तक), Byzantine नोड्स का प्रतिशत (0% से 20% तक), UNL आकार (आमतौर पर 5 से 50 नोड्स के बीच) और नेटवर्क टोपोलॉजी कॉन्फ़िगरेशन शामिल हैं। प्रत्येक पैरामीटर कॉन्फ़िगरेशन के लिए, परिणामों की सांख्यिकीय वैधता सुनिश्चित करने के लिए विभिन्न यादृच्छिक बीजों के साथ कई सिमुलेशन रन आयोजित किए गए। सिमुलेशन ने सहमति विलंबता, फोर्क संभावना और लेनदेन थ्रूपुट सहित मेट्रिक्स को ट्रैक किया।
सिमुलेशन परिणाम अभिसरण और सुरक्षा के संबंध में सैद्धांतिक भविष्यवाणियों की पुष्टि करते हैं। सभी कॉन्फ़िगरेशन जहां UNL ओवरलैप शर्त संतुष्ट थी और Byzantine नोड्स प्रत्येक UNL के 20% से कम थे, नेटवर्क ने बिना फोर्क के सफलतापूर्वक सहमति प्राप्त की। सहमति विलंबता नेटवर्क आकार की परवाह किए बिना लगातार कम रही (आमतौर पर 3-5 सिमुलेटेड सेकंड में पूरी), जो एल्गोरिदम की स्केलेबिलिटी प्रदर्शित करती है। 15% Byzantine नोड्स सक्रिय रूप से सहमति को बाधित करने का प्रयास करने पर भी, जब तक UNL ओवरलैप आवश्यकता पूरी होती रही, नेटवर्क ने शुद्धता बनाए रखी।
अतिरिक्त सिमुलेशन ने एज केस और विफलता परिदृश्यों का पता लगाया, जिनमें नेटवर्क विभाजन, UNL संरचना में अचानक परिवर्तन और Byzantine नोड्स द्वारा समन्वित हमले शामिल हैं। इन सिमुलेशन ने प्रोटोकॉल की मजबूती के बारे में अंतर्दृष्टि प्रदान की और UNL चयन और नेटवर्क संचालन के लिए अनुशंसित सर्वोत्तम प्रथाओं की जानकारी दी। स्वतंत्र सत्यापन और आगे के अनुसंधान की अनुमति देने के लिए पूर्ण सिमुलेशन कोड उपलब्ध कराया गया है।
Discussion
与比特币的工作量证明共识相比,RPCA为支付系统应用提供了几个显著优势。最值得注意的是,共识延迟从40-60分钟(高价值比特币交易通常建议的时间)减少到约5秒。这一改进使RPCA适用于需要近乎即时结算的销售点和其他应用。此外,RPCA与工作量证明相比所需的计算资源极少,消除了与比特币挖矿相关的大量能源消耗。
然而,这些优势伴随着不同的信任假设。比特币的安全性仅依赖于没有攻击者控制网络计算能力50%以上的假设,而RPCA要求节点选择具有足够重叠的UNL,并且Byzantine节点不超过这些UNL内的阈值。这将部分做出审慎信任决策的责任转移给了节点运营者。在实践中,对于参与机构拥有现有信任关系的许多支付系统用例,这种权衡是可以接受的。
网络拓扑和UNL选择策略显著影响共识系统的属性。所有节点在UNL中包含相同验证者的高度集中化拓扑最大化了安全性,但如果这些验证者不可用,可能会降低活性。相反,UNL重叠最小的高度去中心化拓扑可能改善活性,但如果重叠变得过于稀疏,则存在共识失败的风险。找到最佳平衡需要仔细考虑特定的部署场景和风险承受能力。
未来的研究可以探索在最大化去中心化的同时自动维护重叠要求的自适应UNL选择算法、节点根据观察到的验证者行为动态调整UNL的机制,以及可以容忍更高比例Byzantine节点的共识算法扩展。这些增强可以进一步提高RPCA在大规模分布式支付系统中的鲁棒性和适用性。
Discussion
Bitcoin के proof-of-work सहमति की तुलना में, RPCA भुगतान प्रणाली अनुप्रयोगों के लिए कई महत्वपूर्ण फायदे प्रदान करता है। सबसे उल्लेखनीय रूप से, सहमति विलंबता 40-60 मिनट (उच्च-मूल्य Bitcoin लेनदेन के लिए आमतौर पर अनुशंसित समय) से घटाकर लगभग 5 सेकंड कर दी गई है। यह सुधार RPCA को पॉइंट-ऑफ-सेल और अन्य अनुप्रयोगों के लिए उपयुक्त बनाता है जहां लगभग तत्काल निपटान की आवश्यकता होती है। इसके अतिरिक्त, RPCA को proof-of-work की तुलना में न्यूनतम कम्प्यूटेशनल संसाधनों की आवश्यकता होती है, जो Bitcoin माइनिंग से जुड़ी भारी ऊर्जा खपत को समाप्त करता है।
हालांकि, ये फायदे विभिन्न विश्वास धारणाओं के साथ आते हैं। जबकि Bitcoin की सुरक्षा केवल इस धारणा पर निर्भर करती है कि कोई भी हमलावर नेटवर्क की 50% से अधिक कम्प्यूटेशनल शक्ति को नियंत्रित नहीं करता, RPCA के लिए आवश्यक है कि नोड्स पर्याप्त ओवरलैप वाली UNL चुनें और Byzantine नोड्स इन UNL के भीतर सीमा से अधिक न हों। यह कुछ जिम्मेदारी नोड ऑपरेटरों पर स्थानांतरित करता है कि वे विवेकपूर्ण विश्वास निर्णय लें। व्यवहार में, यह समझौता कई भुगतान प्रणाली उपयोग मामलों के लिए स्वीकार्य है जहां भाग लेने वाली संस्थाओं के मौजूदा विश्वास संबंध हैं।
नेटवर्क टोपोलॉजी और UNL चयन रणनीति सहमति प्रणाली के गुणों को महत्वपूर्ण रूप से प्रभावित करती है। एक अत्यधिक केंद्रीकृत टोपोलॉजी जहां सभी नोड्स अपनी UNL में समान वैलिडेटर शामिल करते हैं, सुरक्षा को अधिकतम करती है लेकिन उन वैलिडेटरों के अनुपलब्ध होने पर जीवंतता कम कर सकती है। इसके विपरीत, न्यूनतम UNL ओवरलैप वाली अत्यधिक विकेंद्रीकृत टोपोलॉजी जीवंतता में सुधार कर सकती है लेकिन ओवरलैप बहुत कम होने पर सहमति विफलताओं का जोखिम उठा सकती है। इष्टतम संतुलन खोजने के लिए विशिष्ट तैनाती परिदृश्य और जोखिम सहनशीलता पर सावधानीपूर्वक विचार की आवश्यकता होती है।
भविष्य का कार्य अनुकूली UNL चयन एल्गोरिदम का पता लगा सकता है जो विकेंद्रीकरण को अधिकतम करते हुए स्वचालित रूप से ओवरलैप आवश्यकताओं को बनाए रखते हैं, नोड्स के लिए देखे गए वैलिडेटर व्यवहार के आधार पर अपनी UNL को गतिशील रूप से समायोजित करने के तंत्र, और सहमति एल्गोरिदम के विस्तार जो Byzantine नोड्स के और भी अधिक प्रतिशत को सहन कर सकते हैं। ये सुधार बड़े पैमाने पर वितरित भुगतान प्रणालियों के लिए RPCA की मजबूती और प्रयोज्यता को और बढ़ा सकते हैं।
Conclusion
Ripple协议共识算法代表了支付系统分布式共识的重要进步。通过利用集体信任的子网络而非要求所有节点之间的全局一致,RPCA在维持对Byzantine故障的强大保障的同时,在几秒内达成共识。形式化分析表明,只要UNL以足够的重叠选择且Byzantine节点保持在阈值以下,网络将达成正确的共识而不会出现分叉。
本研究的实际意义超越了Ripple支付网络。RPCA表明,共识延迟与安全保障之间的传统权衡可以通过精心的协议设计和局部信任关系的使用来克服。这种方法可能适用于其他低延迟至关重要且参与者拥有现有信任关系的分布式系统,如银行间结算系统、供应链跟踪以及其他金融基础设施应用。
RPCA在生产系统中的部署验证了算法的性能特征和鲁棒性。Ripple网络以一致的3-5秒共识延迟处理每秒数千笔交易,证明了理论属性有效地转化为实际运营。随着网络继续演进并纳入来自多元化运营者的额外验证者,它提供了一个去中心化共识系统如何在规模上同时维持安全性和性能的实际案例。
Conclusion
Ripple प्रोटोकॉल सहमति एल्गोरिदम भुगतान प्रणालियों के लिए वितरित सहमति में एक महत्वपूर्ण प्रगति का प्रतिनिधित्व करता है। सभी नोड्स के बीच वैश्विक सहमति की आवश्यकता के बजाय सामूहिक रूप से विश्वसनीय उप-नेटवर्क का उपयोग करके, RPCA Byzantine विफलताओं के खिलाफ मजबूत गारंटी बनाए रखते हुए सेकंडों में सहमति प्राप्त करता है। औपचारिक विश्लेषण प्रदर्शित करता है कि जब तक UNL पर्याप्त ओवरलैप के साथ चुनी जाती हैं और Byzantine नोड्स सीमा से नीचे रहते हैं, नेटवर्क बिना फोर्क के सही सहमति प्राप्त करेगा।
इस कार्य के व्यावहारिक निहितार्थ Ripple भुगतान नेटवर्क से परे फैलते हैं। RPCA प्रदर्शित करता है कि सहमति विलंबता और सुरक्षा गारंटी के बीच पारंपरिक समझौते को सावधानीपूर्वक प्रोटोकॉल डिज़ाइन और स्थानीय विश्वास संबंधों के उपयोग के माध्यम से दूर किया जा सकता है। यह दृष्टिकोण अन्य वितरित प्रणालियों पर लागू हो सकता है जहां कम विलंबता महत्वपूर्ण है और प्रतिभागियों के मौजूदा विश्वास संबंध हैं, जैसे अंतर-बैंक निपटान प्रणालियां, आपूर्ति श्रृंखला ट्रैकिंग और अन्य वित्तीय अवसंरचना अनुप्रयोग।
उत्पादन प्रणालियों में RPCA की तैनाती ने एल्गोरिदम की प्रदर्शन विशेषताओं और मजबूती को मान्य किया है। Ripple नेटवर्क 3-5 सेकंड की लगातार सहमति विलंबता के साथ प्रति सेकंड हजारों लेनदेन संसाधित करता है, जो प्रदर्शित करता है कि सैद्धांतिक गुण वास्तविक-विश्व संचालन में प्रभावी रूप से अनुवादित होते हैं। जैसे-जैसे नेटवर्क विकसित होना और विविध ऑपरेटरों से अतिरिक्त वैलिडेटर शामिल करना जारी रखता है, यह एक व्यावहारिक उदाहरण प्रदान करता है कि कैसे एक विकेंद्रीकृत सहमति प्रणाली बड़े पैमाने पर सुरक्षा और प्रदर्शन दोनों बनाए रख सकती है।
References
Lamport, L., Shostak, R., and Pease, M. (1982). "The Byzantine Generals Problem." ACM Transactions on Programming Languages and Systems, 4(3):382-401. 这篇开创性论文形式化了在具有故障组件的分布式系统中达成共识的问题,并建立了Byzantine fault-tolerant系统的理论基础。
Castro, M., and Liskov, B. (1999). "Practical Byzantine Fault Tolerance." Proceedings of the Third Symposium on Operating Systems Design and Implementation (OSDI). 该研究引入了PBFT,表明Byzantine fault tolerance可以以实用的性能实现,尽管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., and Pease, M. (1982). "The Byzantine Generals Problem." ACM Transactions on Programming Languages and Systems, 4(3):382-401. इस मौलिक पत्र ने दोषपूर्ण घटकों वाली वितरित प्रणालियों में सहमति प्राप्त करने की समस्या को औपचारिक रूप दिया और Byzantine दोष-सहिष्णु प्रणालियों के लिए सैद्धांतिक आधार स्थापित किया।
Castro, M., and Liskov, B. (1999). "Practical Byzantine Fault Tolerance." Proceedings of the Third Symposium on Operating Systems Design and Implementation (OSDI). इस कार्य ने PBFT पेश किया, यह प्रदर्शित करते हुए कि Byzantine दोष सहिष्णुता व्यावहारिक प्रदर्शन के साथ प्राप्त की जा सकती है, हालांकि O(n^2) संचार जटिलता स्केलेबिलिटी को सीमित करती है।
Nakamoto, S. (2008). "Bitcoin: A Peer-to-Peer Electronic Cash System." इस श्वेतपत्र ने डिजिटल मुद्रा में दोहरे खर्च की समस्या के समाधान के रूप में proof-of-work सहमति पेश की, जो उच्च विलंबता और ऊर्जा खपत की कीमत पर विश्वसनीय पक्षों के बिना विकेंद्रीकृत सहमति को सक्षम बनाती है।
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 असंभवता परिणाम ने असमकालिक प्रणालियों में सहमति एल्गोरिदम क्या प्राप्त कर सकते हैं इसकी मूलभूत सीमाएं स्थापित कीं, जिसने व्यावहारिक सहमति प्रोटोकॉल के लिए डिज़ाइन स्थान को आकार दिया।