git coin“snips”捐款攻击 如何防御二次融资

频道:铜陵新闻 日期: 浏览:5094
作者:BlockScience

原标题:《Gitcoin探索二次方融资的攻击与防守》

什么是开源项目?

开源项目和其他公共产品一样,由于其产品的丰富性(开源),获得的钱比他们为他人创造的价值要少。这背后的原因是公共物品不具有排他性(意思是即使你不付费,也没有人能阻止你使用),非竞争性消费(意思是我使用公共物品不会伤害你)。

比如国防,城市公园,公共道路,建筑都是公共产品。公共产品的困难在于,由于所生产的产品的非排他性,人们很可能选择搭便车,而不是支付自己的公平份额。就像你高中小组项目里的“懒鬼”,他没有任何贡献,却依然得到了你所有努力的荣誉。搭便车是我们的社会没有完全支持的公共产品的原因。

git coin“snips”捐款攻击 如何防御二次融资  第1张

传统上,通过税收或私有化(如土地所有权或版权法)来封闭公共产品被用来解决搭便车问题。然而,这些问题往往涉及一个中央机构——政府、公司或非营利委员会强制收钱和分配资金。

然而,大型中央组织在分配资源方面不一定有效率——他们往往不知道最重要的公共产品是什么,也不知道每个项目实际上需要多少支持。这种信息来自自下而上比自上而下更有效。

2018年,Vitalik、Zoe和Glen提出了解决这一问题的新方法:二次融资。它有一个算法,可以匹配赞助资金,并帮助小捐助者进行二次融资——因为小捐助者作为一个整体可能对哪些开源项目对社区最有益有更大的集体洞察力。

检测Gitcoin授权中的共谋

Gitcoin的使命是通过二次融资匹配赞助商的资金,帮助开源开发者合作,并从他们对社区的贡献中获得财务收益。

二次融资(Quadratic financing)容易受到一些攻击媒介的攻击。其中,Sybil攻击是最突出的一种,即攻击者创建许多假帐户来玩弄系统。解决这些攻击媒介非常困难,并且变得更加复杂,因为它与合法授权贡献生成的交易模式重叠。

我们将简要说明二次融资算法,展示几种类型的攻击向量,并简要介绍优化缺口。

我们的目标是帮助社区了解QF的机制以及设计和缓解攻击媒介的潜在方法,以便社区可以拥有更强大的检测工具来报告潜在的攻击。第二方融资资金可能是解决‘搭便车问题’的一种方式。

此外,鼓励小额捐赠对于以太坊社区的生态系统的长期发展是健康的,大多数以太坊社区都生产公共产品,因此它们也遭受了上面讨论的相同的收入模式困难。

Gitcoin在正在进行的Gitcoin Grants生态系统中使用QF作为其资金匹配算法,这是以太坊项目和创业公司的主要资金来源之一。

git coin“snips”捐款攻击 如何防御二次融资  第2张

二次融资就是计算每个社区贡献的平方根,把它们加起来,取和的平方。在此之后,资助机构(Gitcoin)支付的‘QF’结果与大型机构捐赠者(如以太坊基金会和其他著名的DeFi项目)的匹配资金之间的差异,实际上给予支持一个项目的人数更多的信任,而不是支持它的美元数量。

Gitcoin捐赠的攻击媒介

为了理解如何防止二次融资中固有的攻击媒介,我们必须首先像攻击者一样思考。揭示攻击媒介的不同模式使我们能够设计简单而严格的工具,在实时且可能高风险的金融环境中检测这些模式,从而使数百万美元面临风险。

之中。

在这一节中,我们将通过以下方式探索不同的方式来解释二次方融资:分割捐款;与真人协调虚假捐款;分割赠款了;变相欺骗和升级。

1. 分割贡献

正如Vitalik的博客文章所建议的,QF机制可能会受到Sybil和串通攻击。一个攻击者可以决定创建一个假的赠款,捐赠给自己,并收集匹配资金作为 "利息"。由于捐款数量的增加导致更多的配套资金,最简单的攻击形式将是把捐款分成多个账户,并捐赠给自己。

git coin“snips”捐款攻击 如何防御二次融资  第3张

在上图中,我们可以看到,随着绿色方块(原始捐款)数量的减少,但数量的增加,黄色区域(匹配资金)与绿色区域(捐款)的比例增加。

在最极端的情况下,如果绿色方块的数量增加到无限多的无限量的捐款,理论上你可以用一个小的原始捐款吸引大量的匹配资金,只要你把捐款分成许多账户。

当然,上述许多攻击载体已经被Gitcoin团队采取的安全措施所缓解。

git coin“snips”捐款攻击 如何防御二次融资  第4张

作为这种攻击的一个例子,请看下面来自@GitcoinDisputes账户的推文,关于2020年7月对Gitcoin Grant的串通行为。

git coin“snips”捐款攻击 如何防御二次融资  第5张

为了减轻Sybil攻击的矢量,也就是创建虚假账户来钓取匹配的补助金,Gitcoin目前使用了Sybil检测算法(给用户分配一个Sybil分数),以及激励用户在一些不同的平台(主要包括BrightID、Idena、POAP和3box)进行身份验证,每增加一层就提供更多的补助金匹配。

git coin“snips”捐款攻击 如何防御二次融资  第6张

这样做的效果是确保额外的补助金匹配资金用于具有较高概率为真实人物的身份。然而,还有其他形式的串通攻击,超出了单纯的Sybil攻击的范围。

2. 协调虚假捐款与真实用户的关系

虽然创建假账户来吸引匹配资金可以通过抵制sybil的设计来防止,但串通者可以通过协调一组真实账户来 "挖掘Gitcoin匹配资金",并在组内分享 "利益",从而轻松地提高他们的游戏。

为了减轻串通攻击的矢量,Gitcoin采用了Vitalik提出的新的 "配对资助 "机制。其基本思想是减少对那些看起来高度协调的捐赠者捐赠给同一池子的赠款的匹配。如果两个捐赠者(一对)捐赠给一组类似的赠款,那么该捐款的匹配资金将被折算成一定数额。你可以在这里找到配对资助机制的细节。

关于配对机制可能还有进一步的考虑--这个解决方案假设有机捐款之间往往很少有重叠,但我们经常在社区区看到相反的情况,他们互相支持对方的工作。Pairwise机制也可能会惩罚 "收藏 "的资助,这是一个工具,用户可以捐赠给预先选择的项目列表,像任何精心设计的解决方案,以解决特定类型的串通问题,总是有其他方法来规避它。

为了进一步减轻合谋攻击的载体,Gitcoin采用了一个标记机制,用户可以向Gitcoin争端解决程序报告作弊者。只需要1个用户报告串通行为,就可以 "捣毁 "整个计划,在第8轮中大约有35个作弊行为被举报成功。

3. 拆分捐款/创建假捐款

另一种在Sybil检测和配对资助的雷达下飞行的方法是将现有的捐款分割成许多捐款,或创建假的捐款,并协调真实账户向其捐款。

只要勾结者能找到一些方法,将大笔 "捐款 "拆成许多小账户,并用小的赠款提案来回收,他们就能吸引更多的匹配资金,因为QF机制对参与者的数量的奖励不成比例,超过了每个参与者的捐赠金额。

例如,一个恶意的行为者可以把他们的赠款分成几个小的赠款提案,并把他们最初的 "种子 "钱分成几十个小的捐款,每个人都捐给这些小的赠款提案,没有重叠。

这种类型的行为也可能在社区中被注意到,如Commons Stack或Metagame,其中许多小型的相互联系的团体紧密合作,以资助和实现更大的目标。任何为减少串通而引入的系统机制都要尽量减少对有机社区参与的负面影响,否则我们就有可能剥夺我们首先要服务的用户的权利。

git coin“snips”捐款攻击 如何防御二次融资  第7张

4. 游戏、元宇宙和升级

读者现在可能已经注意到,攻击者和Grant之间这种无休止的捉迷藏游戏。随着防止这些攻击的新机制的建立(如MACI设计、Sybil抵抗、SybilScores、社区标记或Pairwise Funding),勾结者想出了越来越复杂的策略,从虚假补助金和账户,到坏行为者的大规模协调。在此,我们必须指出,任何针对特定类型的合谋问题的定制设计的分析解决方案都可以(而且很可能)被另一个精心设计的合谋策略所操纵。

正是由于这个原因,我们推荐的算法治理政策是简单和通用的,但在数学上是严格的。

"简单、明确的目的和原则会产生复杂的智能行为,复杂的规则和规定会产生简单的愚蠢行为"。- Dee Hock

通过成功检测串通行为:优化差距指标

与其试图识别和捕捉所有类型的串通,不如设计一种机制,使高效率的串通成为不可能。当合谋的成本大于收益时,恶意行为者自然会被抑制住合谋的积极性。

首先,我们要确定哪种类型的补助金贡献是最大限度地吸引配套资金的,串通的最终目的是用有限的原始资金吸引尽可能多的匹配资金。

git coin“snips”捐款攻击 如何防御二次融资  第8张

因此,我们并没有列举无数的合谋策略,并设计具体的解决方案来解决每一个策略,而是从另一个角度来解决合谋问题。通过将具有高效匹配基金捐助模式的赠款标记为可疑,我们保证能抓住所有抽走大量匹配基金的赠款,这样我们就可以将它们交给Gitcoin争端程序来审查。

第二,我们的目标是增强Gitcoin团队和社区的集体智慧,以捕捉串通行为。虽然合谋者拉帮结派地规避这个系统,但我们相信,通过用浅显的语言解释QF机制的合谋模式,并提供工具来识别这些信息并采取行动。

什么是优化差距

优化差距是衡量特定社区对匹配资金的“优化”程度的一种度量。其基本思想是,总是有可能重新安排和再组合与一个社区(或子图)相关的捐款, 以使你从总资金池中获得最大的总资金。

在概念层面上,高效率的社区会有一个相对较低的优化差距,而大多数社区会有一种中位数的优化差距。鉴于合谋者实行有意的策略,我们可以假设,一般来说他们通常会获得高效的资助 。

但是,我们如何精确地定义一个社区的优化差距呢?首先, 我们将优化差距定义为预选的相邻子图中的最大匹配资金和实际匹配资金之间的差异 。考虑到现有的grants和捐赠者以及他们的原始捐赠,如果捐赠者以不同的模式给该项目捐款,优化差距则计算出它可以得到的匹配资金和实际得到的匹配资金之间的差异。

至于社区,有几种定义的方法,比如使用社区检测算法或无监督学习。这是一个开放性的研究问题,现在我们使用的是一种启发式的方法,即假设一个社区可以通过使用相邻子图来代理,这本质上是一种距离方法,用于确定相关的检查社区。

利用“优化差距”可以生成信号,以标记出可疑的优化资金,以便进行更仔细的检查。

社区权力下放

我们的目标是授权Gitcoin社区的研究人员使用这些工具来测试和迭代他们自己的研究问题,以释放人群的智慧,探索如何减轻QF的攻击向量。

开源真正的力量是,今天生成的模型将可以被迭代,并比我们现在走得更远。

标签: gitcoin  融资  开源项目 

关键词:资金#赠款#社区

上一篇:企业网站SEO优化的五大特点

下一篇:BCS2022系列活动| 5月23日冬奥会网络安全“零事故”宣传周精彩预告

留言 0

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。