编辑:下面的问题由这个问题总结:
我给你派了付款来运行计算。我如何确保您实际正在运行这些计算?
感谢user253751的这一切
编辑: TL;DR
我目前正在开发一个开源应用程序,它实际上是在互联网上创建一个集群计算机。此应用程序将使用的计算机网络将为零信任。我遇到的问题是,我需要确保在集群上运行应用程序的计算机本身也是集群的一部分,以确保它能够完成公平的工作。
解决这个问题的办法是让计算机首先在网络上找到一台计算机(计算机的“合作伙伴”)。然后,计算机将把应用程序发送给它的合作伙伴,反之亦然。然后,这两台计算机将为另一台计算机的应用程序找到运行节点。如果在给定的时间内没有将数据包发送回计算机,则连接被关闭,节点ls被断开。
问题是,计算机可以伪装为运行另一个对等应用程序,但只运行自己的应用程序。是否有任何方法可以修复“合作伙伴”方法,或者有什么完全不同的方法来解决最初的问题。
提前感谢!
注意:所有连接都将被e2e加密,应用程序将在安全的虚拟环境中运行,所以请不要告诉我要修复这个问题。
发布于 2022-07-21 04:18:15
评论:这不是钱的问题,而是合同的问题。
您的假设是,您的对等方将运行您的应用程序,并且在追索权中,您愿意运行其应用程序。在无法验证应用程序是否已运行的零信任系统中,您需要扩展一些初始信任(即只为尚未返回结果的对等方运行小任务),并让它们随着时间的推移建立信任。要以分布式方式构建信任,您需要创建一个信任web,因此当您的节点声称第三个节点真正工作时,您的节点需要知道其他哪些节点可以被信任。
还有其他需要考虑的因素:例如,如果合作伙伴声称运行了您的应用程序,您如何知道他们没有伪造它?
看看分布式计算项目和软件(有一个非常全面的列表的维基百科页面 )。它们集中收集结果(和信任),但也需要处理可能不值得信任的节点,特别是在完成计算时需要获得一些收益时。
一个相关的问题是p2p文件共享网络中的“水蛭”问题。我对他们如何处理这个问题没有指点,但也许值得研究一下。在一天结束的时候,一些水蛭是无法避免的。
https://softwareengineering.stackexchange.com/questions/439925
复制相似问题