与其他所有的去中心化平台一样,JURA也容易受恶意方的攻击,以获取经济利益。我们预先设想了JURA可能会面临的一些攻击场景,在本文中,我们将介绍这些攻击的后果以及JURA如何预防它们。
因垄断而导致的攻击
由于去中心化网络的特性,这个问题很常见。在这种攻击中,单个实体(垄断者)控制了大部分的资源,垄断者利用这些资源对网络施加限制,从而妨碍网络正常运作,比如增加支出或拒绝提供服务。由于垄断者对网络的控制和其他恶劣行径,往往会使普通用户对系统的信心崩溃,即使垄断者出于善意行事,这也是不可接受的中心化现象。
为了防止这一现象的出现,JURA开发了PoU效用证明共识机制,在PoU机制里,获取超额优势权利需要耗费巨大的成本,几乎不可能。PoU综合了节点正向参与系统的几个指标:比如短期活跃度度、长期活跃度、活跃时间等。为了取得更高的PoU分数,节点需要更加积极的维护系统,这会使系统达到一个良性的激励,只有更积极的参与才能取得更好的分数。PoU的分数计算方法是更民主的,会让积极参与的人得到回报,但也不会让单独的参与者分数过高。
同步块差距
不同步的广播会导致网络忽略一些块。节点在观察到一个和当地最新的块连续的后续块后,有两种反应方式:
1. 忽略这个块,因为它可能是一个恶意的垃圾块
2. 请求与另一个节点重新同步,检查是否中间忽略一些块
在重新同步的情况下,必须与节点形成TCP连接,以便于增加带宽。然而,如果该块是恶意的,那么增加的带宽和重新同步是完全不必要的。这是一种网络放大攻击,会导致拒绝服务。
为了避免不必要的重新同步,节点在启动与引导节点的任何连接之前,将等待投票达到对块有利的某个阈值。否则,该块将被视为垃圾数据。
双花攻击
双花攻击主要有两种方式:
1. 用户将相同的余额发送给两个接收方
在JURA系统里,这种攻击是不可能发生的,因为JURA独具的Fusus数据结构。在Fusus中,一旦用户向另一个地址发送了一定数量的金额,除非第一个支付没有通过,否则不能同时向另一个地址发送相同数量的金额。
2. 错误的程序和糟糕的网络环境导致的双重支付
由于投票权不公开给个人的,并且在人口和参与方面是动态变化的,这样使得没有任何一个单独的组织会有足够可能性去投票来控制网络。此外,节点在与系统博弈中得不到任何经济利益,反而会因为不诚实的投票而受到惩罚。
女巫攻击
为了实施女巫攻击,用户会创建许多帐户,目的是为了获得更多的投票权。但是,在我们的系统中,用户需要始终保持非零余额,这使得这个操作成本很高。此外,PoU综合了节点正向参与系统的多个指标,这就让在JURA网络中大规模建立虚假节点基本成为了不可能。
Penny-spend攻击
Nano和IOTA网络都遭受了大量的零价值垃圾邮件攻击,在JURA中,这几乎是不可能实现的。JURA具有有验证缓存层(valiation cache layer)的设计,可以有效地防范penny attack。而且JURA的 DMDS分片是基于AI的monitor layer,显得更加灵活,可以动态监控行为异常的或者特殊的account 并且把他们重新定向到特定的shard。这样保证每个碎片内部的每个节点负载都是动态监控的。
虽然去中心化网络的安全面临着很大的挑战,但我们可以自豪地说,JURA网络是高效且安全的。我们做足了充分的准备和预案来防范任何可能扰乱网络的恶意攻击,确保JURA始终保持在安全状态!