无标题文档
wdCP系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用教程) wdCDN系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用手册)
wdOS系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用教程) wdDNS系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用手册)
注册 发贴 提问 回复-必看必看 wddns免费智能 DNS 开通 本地或虚拟机使 用wdcp 一键包在mysql编 译时"卡住"
【300G高防】双线 无视攻击 wdcp官方技术支持/服务 阿里云8折优惠券 无敌云 腾讯云优惠中,现注册更有260代金额券赠送
返回列表 发帖
提问三步曲: 提问先看教程/FAQ索引(wdcp,wdcp_v3,一键包)及搜索,会让你更快解决问题
1 提供详细,如系统版本,wdcp版本,软件版本等及错误的详细信息,贴上论坛或截图发论坛
2 做过哪些操作或改动设置等

温馨提示:信息不详,很可能会没人理你!论坛有教程说明的,也可能没人理!因为,你懂的

RLN:零知识证明防女巫方案简介

RLN(Rate Limiting Nullifier)是一个零知识应用,可用于去中心化、匿名环境下的垃圾邮件预防。

区块链的匿名性为某些应用程序打开了垃圾邮件和Sybil攻击(女巫攻击)的可能性,这可能会严重影响用户体验和应用程序的整体功能。例如,一个Web3聊天应用程序,其中的用户是匿名的。每个人都可以发送无限量的消息,但我们没有能力踢出这个成员,因为消息的发送者是匿名的。

RLN帮助我们识别并“踢出”垃圾邮件发送者。

此外,在匿名环境中,RLN不仅有助于防止垃圾邮件攻击,而且可以限制用户的行为次数(例如投票或竞标)。

circon电路结构:

原理

RLN的功能由三个部分组成,将它们集成在一起可以提供垃圾邮件和Sybil攻击保护。这些部分应该由需要匿名和垃圾邮件保护的上游应用程序进行集成。应用程序可以是中心化的或去中心化的。对于去中心化的应用程序,每个用户为应用程序维护独立的存储和计算资源。这三个部分是:

  • 用户注册(Registration)
  • 用户交互(Interaction)
  • 用户移除(Slashing)
用户注册

在注册应用程序之前,用户需要生成一个密钥,并使用Poseidon哈希函数identityCommitment = posseidonHash(secretKey)从秘密密钥派生出身份。

用户通过提供某种形式的抵押和他们从密钥派生出的身份来注册应用程序。应用程序维护一个Merkle树数据结构(在RLN的最新迭代中,我们使用增量Merkle树算法来提高Gas的使用效率,但Merkle树不一定要在链上),该结构存储已注册用户的身份。注册成功后,用户的身份将存储在Merkle树的叶子节点中,并为他们分配一个索引,表示他们在树中的位置。

用户交互

对于用户想要与应用程序进行的每个交互(如合约调用),用户必须生成一个零知识证明(zk proof),确保他们的身份是成员Merkle树的一部分。

RLN有许多用例,例如投票应用程序(每次选举1票)、聊天(每秒1条消息)和交互速率限制访问等。验证器可以是集中化应用程序的服务器或去中心化应用程序的其他用户。

通常,反垃圾邮件规则的抽象形式为:用户每个时期(epoch)内不得进行超过X个交互。为了简单起见,让我们将规则转化为:“用户每秒钟不能发送超过一条消息。”

可以使用Shamir秘密共享方案(阅读更多),该方案允许将秘密(例如分成n个部分)并在呈现n个部分中的任何m个部分(m <= n)时恢复它。

因此,用户必须将其secret_key分成n个部分,并为每个交互显示secret_key的新部分。因此,除了证明成为Merkle树成员外,用户还必须证明显示的部分真正是他们的secret_key的部分。

如果他们每个时期(epoch)内进行交互的次数超过了允许的数量,他们的secret_key可能会被完全重建。

用户移除

RLN机制的最后一个功能是,它允许任何人通过知道用户的秘密密钥将其从成员树中移除。

成员树包含所有已注册用户的身份。用户的身份是从其密钥派生出来的,用户的密钥仅在垃圾邮件事件中(除非原始用户想要自行删除,因为他们知道自己的密钥)才会被揭示。当存在经济押金时,RLN机制可以以这样的方式实现,即将垃圾邮件发送者的押金发送给第一个正确报告垃圾邮件发送者的用户,以提供已重建垃圾邮件发送者的密钥作为证明。

参考《https://rate-limiting-nullifier.github.io/rln-docs/what_is_rln.html》

返回列表