我有一个分布式环境,其中计算以与Map Reduce范例相同的形式并行执行。我想知道是否有这种计算的结果验证方案。我已经读过,基本方法是在多个工作节点中复制计算。在这种方法中,从工作节点返回计算的哈希值。比较散列值以识别结果是否正确。但是这种方法不能防止恶意节点可能相互通信并返回相同结果的串通。是否有任何方法可以阻止共谋。有几种共谋检测算法,但我无法找到将串联的一组节点识别为恶意的算法。请给我一些关于解决方案的见解。
答案 0 :(得分:2)
听起来像是在尝试解决Byzantine Generals Problem。
问题解决方案(以及链接的论文)的本质是:
现在可以使用一种通用模拟m其他的方法来证明 没有少于3米+ 1将军的解决方案可以应付m个叛徒。该 证据类似于原始拜占庭将军问题的证据,并留下 给读者。
因此,当您预计最多m
个节点被黑客入侵并为您提供错误答案时,您需要至少有3*m + 1
个节点来检测那些有错误的节点和找到正确的解决方案。