Practical Byzantine Fault Tolerance (PBFT) is a seminal state machine replication protocol that achieves a performance comparable to non-replicated systems in realistic environments. A reason for such high performance is the set of optimizations introduced in the protocol. One of these optimizations is read-only requests, a particular type of client request which avoids running the three-step agreement protocol and allows replicas to respond directly, thus reducing the latency of reads from five to two communication steps. Given PBFT's broad influence, its design and optimizations influenced many BFT protocols and systems that followed, e.g., BFT-SMaRt. We show, for the first time, that the read-only request optimization introduced in PBFT more than 20 years ago can violate its liveness. Notably, the problem affects not only the optimized read-only operations but also standard, totally-ordered operations. We show this weakness by presenting an attack in which a malicious leader blocks correct clients and present two solutions for patching the protocol, making read-only operations fast and correct. The two solutions were implemented on BFT-SMaRt and evaluated in different scenarios, showing their effectiveness in preventing the identified attack.


翻译:Byzantine Byzantine Dault Condition(PBFT)是一个初级国家机器复制协议,其性能与现实环境中的非复制系统相仿,其原因之一是在协议中引入了一套优化,其中一种优化是只读请求,一种特定类型的客户请求,避免运行三步协议协议协议协议,允许复制直接响应,从而将读数的延迟度从五步降低到两步。鉴于PBFT的广泛影响,其设计和优化影响了许多BFT协议和随后的系统,例如BFT-SMARt。我们第一次显示,20多年前在PBBFT中引入的只读请求优化可能破坏其真实性。值得注意的是,问题不仅影响优化的只读数操作,而且影响标准、完全有序的操作。我们展示了这种弱点,我们展示了一种攻击,恶意领导方块校正客户,并提出了修补协议的两种解决方案,使只读操作快速和正确。我们发现,在BFT-SMRt中实施了两种解决方案,在不同的情景中显示其有效性。

0
下载
关闭预览

相关内容

专知会员服务
76+阅读 · 2021年3月16日
专知会员服务
123+阅读 · 2020年9月8日
专知会员服务
17+阅读 · 2020年9月6日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
52+阅读 · 2019年9月29日
谷歌足球游戏环境使用介绍
CreateAMind
31+阅读 · 2019年6月27日
Hierarchically Structured Meta-learning
CreateAMind
24+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
spinningup.openai 强化学习资源完整
CreateAMind
6+阅读 · 2018年12月17日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
可解释的CNN
CreateAMind
17+阅读 · 2017年10月5日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
自然语言处理(二)机器翻译 篇 (NLP: machine translation)
DeepLearning中文论坛
10+阅读 · 2015年7月1日
Arxiv
0+阅读 · 2021年9月24日
Arxiv
0+阅读 · 2021年9月20日
Knowledge Based Machine Reading Comprehension
Arxiv
4+阅读 · 2018年9月12日
VIP会员
相关VIP内容
专知会员服务
76+阅读 · 2021年3月16日
专知会员服务
123+阅读 · 2020年9月8日
专知会员服务
17+阅读 · 2020年9月6日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
52+阅读 · 2019年9月29日
相关资讯
谷歌足球游戏环境使用介绍
CreateAMind
31+阅读 · 2019年6月27日
Hierarchically Structured Meta-learning
CreateAMind
24+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
spinningup.openai 强化学习资源完整
CreateAMind
6+阅读 · 2018年12月17日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
可解释的CNN
CreateAMind
17+阅读 · 2017年10月5日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
自然语言处理(二)机器翻译 篇 (NLP: machine translation)
DeepLearning中文论坛
10+阅读 · 2015年7月1日
Top
微信扫码咨询专知VIP会员