论文阅读--On the Anonymity Guarantees of Anonymous Proof-of-Stake Protocols

标题:On the Anonymity Guarantees of Anonymous Proof-of-Stake Protocols

Markulf Kohlweiss ∗1, Varun Madathil †2, Kartik Nayak ‡3, and Alessandra Scafuro2
1University of Edinburgh
2North Carolina State University
3Duke University
June 4, 2021

研究目标

在PoS区块链中

  1. 证明即使是匿名广播通道也不能防御网络延迟的方法来区分股权者,即攻击者可以通过增加网络延迟来滞后更新状态,达到区分股权者的目的
  2. 抽象了网络延迟攻击,证明了不能同时满足活动性保障和优于(1-2f)匿名性。并实施tagging和 reverse tagging来证明攻击在现实中成立。最后提出了减轻的方法

研究背景

区块链分为
1.工作量证明(PoW)
2.股权证明(PoS),PoS中股权有两种用途:
1️⃣推选称为扩展链的leader
2️⃣作为更新各方股份事务的一部分
因此安全很难保证,之前有些论文中提及使用公钥集来代替单个公钥来关联VRF(虚拟路由转发),达到匿名性。但因为传输过程经过公网,以明文方式传输,于是提出了如果使用匿名通信信道来传输信息和事务的话就能达到完全匿名

本论文中就提出了上述说法的缺陷,并证明了在保证活动性前提下匿名性的上限,最终实施攻击提出改进。

内容简介

对匿名信道的延迟攻击方法

A想要攻击的P在t时间收到A发送的事务txn,其他政党因敌手制造的网络延迟在t+▷(▷是悲观的网络延迟)才能收到,那么如果P在 (t ~ t+▷)的时间内被选举为leader,那么生成的block中就会有A发送的txn,反之如果其他节点被选举为leader,就没有
在这里插入图片描述

对通用兼容性安全的攻击

在UC中,如果没有环境可以区分他收到的输出是否来自诚实方还是真正的对手a之间的协议执行,那么协议安全地实现了一个理想的功能。在协议执行结束时,环境接收各个诚实方的输出以及敌手的输出,人们可以假设它包含协议的整个文字记录。如果理想世界的文本和真实世界的文本无法区分,则协议是安全的

1-2f的匿名性

直觉:
将政党划分为P,Q,R,比例为f,f,1-2f任意分配给三部分政党,那么有三个执行情况:在这里插入图片描述首先若政党有有f部分的拜占庭政党,那么至少其他部分拥有1-f的匿名性,下面证明1-2f的匿名性来源。
以world2为初始,P,R接受输入v,因为保活性,所有诚实政党需要输出v,若此时P被敌手控制,变为World1,那么R就只能拥有1-2p的匿名性(当p<1/3时,1-2p为三个中最大一个),当在World3中,只有P一个接受到消息,那么也就最多有1-2p的匿名性

正式定义:
在这里插入图片描述

  1. R-anonymity:接受输入v,若上图1中前图输出⊥,那么如果存在比1-2f更好的匿名性的话,图1的后图就应该输出⊥,这是因为前后图的区别只有R提前收到了输入v,那么如果后图输出了v,那么只有可能时R中至少有一方根据输入v发送消息的结果
  2. P-anonymity:同上
  3. Q-anonymity:同上
  4. 匿名输出的不变性:若匿名性好于1-2f那么如果Wl,l−1(Q,R|P)输出⊥,那么Wl,l−1(P,R|Q)输出⊥.证明如下

可以得到结论:对于任何确定性的单次匿名状态机复制协议Π(f,z,t,a),当z=1−f和f≤1/3时,不存在能提供比(1−2f)更好的匿名性。
证明:若Π(f,z,t,a)有比(1−2f)更好的匿名性。那么假设Q为拜占庭政党,P和R为诚实政党,World Wt,t−1(Q,R|P),因为不可区分P和R,因此将会输出v,但是与推论4互斥,所以得证

对PoS匿名性的攻击

  • Delay(v,S)是敌手可获取到的功能,v表示敌手发送给诚实政党的值,被存贮在buffer中,S是被挑选出来的部分诚实政党,Delay表示敌手发送v给所有除了S的政党,因为liveness的存在,诚实政党收到v将会将v放进自己的block中,而S中的政党会等待一个time-out直到它向其余诚实政党发送一个request请求,于是敌手就延迟了S中的政党收到v的时间

The Tagging Attack

敌手不控制f部分政党的简单情况

攻击方法如下:
在这里插入图片描述在这里插入图片描述如上图所示,蓝色表示块中包含了敌手的输入v,当轮数r=4时,输出为白色,表示P中元素被选为Leader了(之前都是R中元素被选上),表明了P在这一轮中至少包含f的股权,那么R就最多包含1-f的股权

敌手控制f部分政党的情况

在这里插入图片描述根据liveness的定义,如果输出不包括v,为白色,这意味着集合Q∪R不占总股份的1−f。所以集合P包含至少f的股权

The Reverse Tagging Attack

在这里插入图片描述要验证ALICE的股权是否为一个特定值:

  1. 首先给除了ALICE的节点全部发送v,如果输出没有v,表明StackALICE >f,否则StackALICE <f,
  2. 从敌手控制的节点中拿出d部分股权不再接收v,如果输出没有v,表明StackALICE >f-d,否则StackALICE <f-d
  3. 通过修改d的占比,就可以测试出ALICE实际控制的股权

具体步骤如下:在这里插入图片描述

减轻方法

攻击的主要思想是为不同节点提供不同的全局视图(通过延迟),然后根据输出,确定哪些节点参与了协议。因此减轻方法就是使所有的节点获得相同的视图,方法如下:

  1. 在应用层,通过比较收到的视图和其他诚实节点的视图
  2. 在网络层,利用可信赖的匿名广播

应用层消毒算法

通过比较收到的视图和其他可信任节点的视图,在已有的算法SABRE中,可信任的诚实节点是被固定的,为了去掉可信任这个假设,一个想法是依赖于PoS区块链中诚实的大部分股权,并从网络中选择节点。这保证了受信任的节点都是诚实的,但是这种做法又依赖于诚实方股权,便进入了死循环。一个消毒算法的优劣如下:

  1. Pros:保护了其他参与扩展链协议者的隐私
  2. Cons:它自己的隐私性将会被暴露

网络层可靠匿名广播

可靠匿名广播的优劣如下:

  1. Pros:如果实现了,那么延迟◁将会设为0,便可以对抗本文的攻击
  2. Cons:现有的协议是不可扩展的

思考方向

  1. 消毒算法的实现?可扩展可靠匿名广播的实现?
  2. 当协议不再是确定性协议,而是随机协议时,上述方法使用起来会有什么不同?
  3. 当前还没有实现了保护隐私的PoS区块链,能实现吗?

备注

F:匿名广播信道公式
MAINTAIN-LEDGER:请求维护链功能
ITH:对该功能的诚实输入
G∗PL:理想的无泄漏分类账功能
S:模拟器
(z, t)-liveness:在小于t时间,有z部分的诚实政党收到了事务,将会输出该事务
a-anonymity:每个诚实方发送的消息在a部分的政党中是匿名的
Lkglead:理想方案中故意泄露给敌手的
UC:通用兼容性
MAINTAIN-LEDGER:维护分类账,推选leader

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值