Model 0:P2P网络中针对女巫攻击的低层防御措施
发布:中币网 时间:2020-12-23 06:33:33 加入收藏 打赏
使用Golem,您可以将计算能力作为一种商品或服务来交易GNT (Golem网络代币): 请求者租用提供者的计算能力来计算他们的任务,他们的交互构成了市场交易。因此这些交易和用户形成了一个小型经济体。通过本文,我们将展示如何使用一组有限的工具从恶意方保护这样的经济。
P2P网络安全
想象一个纯粹的分布式p2p网络。根据定义,任何人都可以在任何时间加入p2p网络,没有任何限制。参与节点只公开其网络身份,同时对其个人信息保密。由于网络是分散的,并且由于其分布式的性质,不受其任何部分的管理,所以参与方不能撤销交易或要求套利,以防他们认为自己受到恶意交易对手的欺骗。换句话说,节点承担全部风险。最后,网络是不可信的——没有“真相的来源”,这意味着与另一个节点的任何交互都是有风险的。
一般来说,p2p网络中的安全性可以通过使用分布式声誉系统。在这篇博文中,我们研究的是没有扩展的原始网络——一个节点只能访问它自己交易的历史。基于这种设置,我们的目标是找到一种方法来保护系统中存在的交易。通过本文,我们将这个问题称为Model 0。
在Golem,网络安全是我们一直努力的头等大事。虽然Model 0是迈向这一目标的第一步,但它绝不是我们在这方面工作的终点;在最终版本中,我们将使用可能更高级的解决方案。Model 0更多的是一个研究课题,而不是一个基本的解决方案。
威胁
Model 0考虑了两个主要的威胁:1)恶意的一方创建了许多身份并攻击网络(通常称为女巫攻击);2)理性的一方发现欺骗是有利可图的。在第一种情况下,恶意方用虚假交易充斥网络,目的是破坏网络的稳定性。在使用一个标识之后,它会创建一个新的标识来替换它,从而使攻击者保持未被检测到的状态。
已知和未知
在Golem中,提供者首先发送有价值的数据(计算结果),然后请求者进行支付。因此,提供者面临的风险最大,因此应该得到保护。此外,这个解决方案在相反的情况下也可以工作。
背后的直觉
提供者不能只与已知的请求者交互,因为它与越多的请求者交互,它的收益就越大。这是一种探索-利用问题。此外,市场中节点的缓慢旋转是很自然的,并且已知活动请求者的数量会随着时间的推移而减少。当与未知请求者的多个连续交易导致损失时,提供者将不太可能在一段时间内与未知请求者交互,并且将依赖于其已知请求者。这样,提供者就会对未知的请求者感到悲观,因为它们怀疑受到了女巫攻击。
有了这种直觉,我们以以下方式处理这个问题:提供者假设所有未知的请求者都是一个请求者,然后根据下面描述的某些规则对其进行处理。
解决方案
为了简便起见,我们将在这里给出一个简化的解决方案草图——特别是由于这两种方法之间的核心思想是相同的。原始算法更复杂,与现有算法略有不同。
当提供者从请求者那里接收到计算任务的请求并需要决定是否与请求者交互时,该算法就开始了。
1. 提供者确定请求者是已知的还是未知的。如果知道请求者,则提供程序接受任务并发送报价。如果请求者未知,那么算法将继续执行。
2. 提供者确定是拒绝还是接受任务存在概率性。在接受的情况下,它向请求者发送一个offer,算法继续执行。
3. 如果请求者选择了提供,那么提供者将为请求者执行计算。
4. 提供者根据任务的结果更新其成功率(beta)信息;该比率是使用指数移动平均线更新的,因此过去交易的影响比最近的交易要小。描述beta参数的实际方程相当复杂,所以这里不介绍(如果有兴趣了解更多,请点击这里)。然而,基本的机制是beta随成功次数的增加而增加,随失败次数的减少而减少。
5. 无论交易结果如何,提供程序都要等待一段等于dt/beta (dt =任务的计算时间)的时间。在此期间,提供者拒绝来自所有未知请求者的所有任务请求。
从算法的描述中,您将能够注意到提供者可以接受来自未知请求者的任务请求,以及提供者总是拒绝来自上述组的任务请求。在后一种情况下,这段时间的长度取决于成功和失败的比例。
Model 0使用非常有限的工具,以一种相当基本的方式保护各方免受恶意对手的攻击。尽管如此,它还是值得考虑的,因为它证明了在分散的p2p环境中,一方能够很好地管理自己的风险。
来源:区块网
来源:中币网 https://www.zhongbi.net/news/blocknews/198127.html 声明:登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。 此文如侵犯到您的合法权益,请联系我们3111859717@qq.com,我们将第一时间处理。