标题: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

文章目录

  • 研究目标
  • 研究背景
  • 内容简介
    • 对匿名信道的延迟攻击方法
    • 对通用兼容性安全的攻击
    • 1-2f的匿名性
  • 对PoS匿名性的攻击
    • The Tagging Attack
      • 敌手不控制f部分政党的简单情况
      • 敌手控制f部分政党的情况
    • The Reverse Tagging Attack
  • 减轻方法
    • 应用层消毒算法
    • 网络层可靠匿名广播
  • 思考方向
  • 备注

研究目标

在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

论文阅读--On the Anonymity Guarantees of Anonymous Proof-of-Stake Protocols相关推荐

  1. 深度学习论文阅读目标检测篇(三):Faster R-CNN《 Towards Real-Time Object Detection with Region Proposal Networks》

    深度学习论文阅读目标检测篇(三):Faster R-CNN< Towards Real-Time Object Detection with Region Proposal Networks&g ...

  2. 论文阅读2018-10-13

    论文阅读2018-10-13 Addressing the minimum fleet problem in on-demand urban mobility 原文及翻译 METHODS Addres ...

  3. 论文阅读工具ReadPaper

    对于搞科研的同学们来说,看论文是要经历的第一关,尤其是要读好多篇论文的时候,更是着实令人头大. 这不,最近无意中发现了个在线论文阅读网站:readpaper.com,号称「论文阅读笔记神器,硕博科研学 ...

  4. 多目标跟踪:CVPR2019论文阅读

    多目标跟踪:CVPR2019论文阅读 Robust Multi-Modality Multi-Object Tracking 论文链接:https://arxiv.org/abs/1909.03850 ...

  5. 快速人体姿态估计:CVPR2019论文阅读

    快速人体姿态估计:CVPR2019论文阅读 Fast Human Pose Estimation 论文链接: http://openaccess.thecvf.com/content_CVPR_201 ...

  6. Action4D:人群和杂物中的在线动作识别:CVPR209论文阅读

    Action4D:人群和杂物中的在线动作识别:CVPR209论文阅读 Action4D: Online Action Recognition in the Crowd and Clutter 论文链接 ...

  7. 深度学习点云语义分割:CVPR2019论文阅读

    深度学习点云语义分割:CVPR2019论文阅读 Point Cloud Oversegmentation with Graph-Structured Deep Metric Learning 摘要 本 ...

  8. 3D目标检测论文阅读多角度解析

    3D目标检测论文阅读多角度解析 一.前言 CNN(convolutional neural network)在目标检测中大放异彩,R-CNN系列,YOLO,SSD各类优秀的方法层出不穷在2D图像的目标 ...

  9. 3D目标检测论文阅读摘要

    3D目标检测论文阅读摘要 2D Object Detection 的研究已经非常成熟了,代表作品有RPN系列的FasterRCNN,One Shot系列的YOLOv1-YOLOv3,这里推荐一个2D ...

最新文章

  1. ****题(alb)
  2. leetcode算法题--二叉树的镜像
  3. mysql55w.x86 64 卸载_Cent6.5 64位yum安装mysql5.5
  4. C++继承机制下的析构函数
  5. 数据分析系列:绘制散点图(matplotlib)
  6. python哪些类型可以作为迭代器_详解Python迭代和迭代器
  7. 科大星云诗社动态20210409
  8. 汇编解析(5)-intel的奔4的netburst控制单元技术提高指令处理速度
  9. PHP框架和springboot区别,Spring和SpringBoot的区别
  10. div赋值,取值和input赋值,取值
  11. 计算机图形学知识点整理(一)
  12. 做系统的U盘如何格式化
  13. 【数据结构算法】数据结构思维导图
  14. 介绍数据库中的wal技术_门禁系统中RFID与ETC两种新兴技术介绍
  15. 小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_32..SpringBoot2.x持久化数据方式介绍...
  16. C++中---结构体变量的默认值以及构造函数的应用
  17. id在python中是什么意思_Python中的id函数是什么意思
  18. java xml用word打开乱码,word打开是乱码的5种方法
  19. 取消福昕阅读器手型工具向下的箭头
  20. 网站建设有哪些核心要点和方法

热门文章

  1. IPsec IKEv1中预共享密钥下使用标识符进行表示出现的问题
  2. egret 白鹭引擎遇到的问题和解决方案
  3. c语言gga字符串校验和代码,一种新的Java智能卡上字节码校验算法.pdf
  4. 全球最好的20家软件外包接活平台
  5. 基于UGUI的Unity画线工具
  6. DG 每周一至周五 上午10点 同步延迟报警
  7. python(pyecharts模块)
  8. WEB快速学习(一)
  9. 织梦DedeCMS简略标题
  10. 转--总结波利亚在书中提到的思维方法