{'fraction_non_alphanumeric': 0.017837235228539576, 'fraction_numerical': 0.0011148272017837235, 'mean_word_length': 5.433691756272402, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Fast Byzantine Agreement for Permissioned Distributed Ledgers

A consensus algorithm lies at the core of every distributed ledger as it defines how the constituent parts of the distributed system ensure that they share identical ledger copies. For a broad range of promising applications of distributed ledger technology, the parties responsible for the application can specify and control the distributed entities maintaining the ledger. Since the faulty behavior of any such entity must not cause inconsistencies in the ledger and access to the ledger is restricted, Byzantine agreement is a viable candidate as a backbone for such so-called permissioned distributed ledgers. In this setting, a primary objective is to maximize throughput, i.e., the rate at which transactions can be processed, which requires a quick settlement at the consensus layer. To this end, a synchronous, leader-based Byzantine agreement protocol is presented that is simple, easy to implement, and particularly suitable for permissioned distributed ledgers. Subject to the constraint that less than a quarter of all nodes are Byzantine, consensus is reached in 2 rounds of communication if the leader behaves correctly, whereas 3 rounds are required in expectation over multiple executions, which sets a new record for the lowest expected number of rounds for any randomized Byzantine agreement protocol. Moreover, the protocol is malleable in the sense that it can easily be adapted to meet additional requirements or constraints. For example, slight modifications make it possible to achieve the same guarantees for the partially synchronous communication model. Finally, evaluation results of a prototype implementation, focusing on throughput and scalability, show the algorithm's potential for use in practice.