微软研究院的詹姆斯·米肯斯(James Mickens)在其2013年于USENIX发表的观点中,表达了对分布式系统领域中拜占庭容错(BFT)研究的深切忧虑。他认为,每当看到关于BFT的报告时,都会产生一种“不可动摇的悲伤感”,暗示了该领域研究与实际系统可靠性之间的脱节。
米肯斯指出,BFT论文中充斥着极其复杂的网络协议图,这些图表旨在说明系统如何处理恶意行为者。他讽刺地指出,这些图表展示的“一万亿条消息”的生成过程,远超出了实际工程中可接受的开销,却被包装成应对“非理性故障”的必要之举。
该研究员批评了BFT论文中常见的比较方式,即通过展示新的协议图来声称优于现有工作,比如“我们的协议明显更优”。他类比称,试图区分两种BFT协议的优劣,如同凝视两堆不可名状的海藻,徒劳地寻找细微差别,而Twitter等实际服务可能仍无法达到“两个九”的可用性。
此外,米肯斯关注到BFT协议常常引入晦涩难懂的新型数据一致性定义,例如“闰年三写脏镜异步半一致性”。他认为,这些定义试图在理论上解决恶意服务器问题,但其“直观性”论证在现实生活经验中完全找不到对应,例如会议午餐的简单决策过程也远比BFT协议直观。
米肯斯通过模拟日常决策过程来类比BFT中的多轮确认和冲突解决,生动地展示了协议的冗余和低效。他描绘的场景中,参与者之间充斥着互相宣告对方错误的复杂验证循环,最终导致了系统行为的不可预测性。
总结而言,米肯斯呼吁研究界停止沉迷于BFT的理论构建,他将这种对协议的“成瘾”比作一种无法控制的冲动。他认为,即使技术上能用密码学和形式化方法驯服机器,也无法约束现实世界中的人为因素,如数据中心运维人员的疏忽。
米肯斯的研究提醒业界,在追求理论上的完美容错能力时,必须正视现实世界中“Ted”这类操作人员带来的不可控风险。最终的系统可靠性,可能更多地取决于对实际操作环境的理解,而非无休止的协议抽象。