{'fraction_non_alphanumeric': 0.022004889975550123, 'fraction_numerical': 0.0024449877750611247, 'mean_word_length': 5.654471544715447, '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}}
Turtle Consensus: Moving Target Defense for Consensus

Consensus is a basic building block in middleware configuration services [4, 18]. While such services are designed to tolerate crash failures in asynchronous settings, they may not stand up well to Denial-of-Service (DoS) attacks. Specifically, malicious clients can carefully craft workloads that substantially degrade the performance of many state-of-the-art consensus protocols. By exploiting protocol-specific vulnerabilities, attackers can constantly force the protocol participants to slow execution paths [8]. In this paper, we investigate designing consensus protocols that provide acceptable performance under DoS attacks that aim to saturate the bandwidth of protocol participants. We propose a new asynchronous consensus protocol that we call Turtle Consensus. Turtle Consensus employs previously proposed crash-tolerant consensus protocols and exploits their diverse characteristics by switching between protocols from round to round. Some protocols are fast under benign conditions but their performance suffers greatly under attack. Other protocols may not be as fast under benign conditions, but their performance may actually benefit from naive attacks. By reconfiguring the consensus protocol on-the-fly we can achieve the best of both worlds: excellent performance in benign scenarios and acceptable performance while under attack, even if the client workload is high. We evaluate Turtle Consensus against adversarial scenarios where at most one process may fail and show that we can achieve better performance than existing crash-tolerant protocols under attack.