Themis: Fast, Strong Order-Fairness in Byzantine Consensus

目录

  • 笔记
  • 后续的研究方向
  • 摘要
  • 引言
    • 秩序井然

Themis: Fast, Strong Order-Fairness in Byzantine Consensus
CCS 2023

在这里插入图片描述

笔记

后续的研究方向

摘要

我们介绍了Themis,这是一种将交易的公平排序引入(许可的)拜占庭共识协议的方案,最多具有𝑓中的故障节点𝑛 ≥4.𝑓 +1.Themis强化了迄今为止提出的最强有力的公平排序概念。它还实现了标准的生动性,而不是具有相同公平排序性质的先前工作的较弱概念。

我们通过实验证明,Themis可以集成到最先进的共识协议中,只需最少的修改或性能开销。此外,我们还介绍了一系列普遍感兴趣的实验,用于评估公平排序的各种概念的实际强度以及公平排序协议对对抗性操作的弹性。我们使用这组实验来表明,Themisis强制执行的公平排序概念在实践中比竞争系统的概念更强。

我们相信Themis提供了强大的实用保护,可以抵御当前影响常用智能合约系统的许多类型的事务排序攻击,如前运行和后运行。

引言

去中心化金融(DeFi),即在区块链上部署金融工具,近年来引起了人们的极大兴趣,截至2023年1月,DeFi协议锁定了超过450亿美元[4]。不幸的是,尽管DeFi继续流行,但一长串工作[14,16,24,33,41]表明,通过操纵订单来获取利润的对手越来越多以及将交易包括在DeFi应用程序中。例如,在去中心化交易所和借贷合同中,交易执行顺序至关重要,这种顺序操纵会导致攻击者以牺牲普通用户为代价获利。

在现有协议中,订单操作是可能的,这主要是因为状态机复制(SMR)或共识(支撑区块链的基元)所需的形式属性对交易的排序方式没有限制。一致性和活跃性这两个共识安全的支柱都不能强制执行交易到达网络的顺序与其最终顺序之间的任何关系。事实上,在允许的共识协议(如PBFT[12]和Hotstuff[39])和无许可的协议(如以太坊)中,当前的“领导者”完全控制其创建的区块内交易的包含和排序。

为了解决传统共识研究中的这一差距,最近的一项工作[9,20,22,25,26,40]提出了具有所谓公平排序特性的协议,即防止对抗性操纵交易排序的特性。这些工作提出了公平性的几个定义【我们使用“公平性”来指交易排序或公平排序的公平性,尽管该术语过去曾用于不相关的概念(例如,公平PoW挖掘[32])。】以及实现这些定义的协议。直观地说,这种公平的风格试图根据交易如何进入网络来保证最终分类账中的特定排序。这些概念是不同的,并且在许多情况下比过去的排序属性更强,例如因果排序[8,34],因果排序仅阻止纯粹基于交易内容的交易重新排序,并且无法解释一系列攻击,例如,基于元数据泄漏或将对抗性交易优先于其他交易的攻击(例如,获得资产的最佳购买价格[30])。关于公平订购的新工作路线试图在更基本的层面上解决订购问题;值得注意的是,[20,22,40]都发现了公平排序问题与社会选择理论之间令人兴奋的联系。

秩序井然

然而,现有的公平排序协议具有严重的实际局限性。[22]中的Aequitas协议具有不切实际的高O(𝑛3) 通信复杂性,并且也只能提供较弱的活跃性特性。后续工作的协议需要O(𝑛2) 但是存在显著的其他缺点。

[9]中的协议(与我们的工作并行)仅在所有节点都是诚实的情况下才显示出提供活跃性(见第7节)。此外,正如我们所展示的(见第6节),Pomp̄e[40]中存在微妙的审查问题,并且Pomp̃e[40]和Wendy[25]所满足的公平性质明显弱于Aequtias的公平性质。表1显示了一些比较点。

这项工作提出了一个新的协议Themis,我们称之为第一个可以实际部署的公平排序协议。Themis实现了与Aequitas相同的强公平性,保证了生存性,并且我们的实现成本最低超过Hotstuff[39],这是一种广泛使用的最先进的共识协议,没有任何公平的排序保证。本文的完整版本见[21]。
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/258050.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode力扣每日一题(Java):20、有效的括号

一、题目 二、解题思路 1、我的思路 我看到题目之后&#xff0c;想着这可能是力扣里唯一一道我能秒杀的题目了 于是一波操作猛如虎写出了如下代码 public boolean isValid(String s) {char[] c s.toCharArray();for(int i0;i<c.length;i){switch (c[i]){case (:if(c[i]…

代码随想录算法训练营第45天| 70. 爬楼梯 (进阶) 322. 零钱兑换 279.完全平方数

JAVA代码编写 70. 爬楼梯&#xff08;进阶版) 卡码网&#xff1a;57. 爬楼梯&#xff08;第八期模拟笔试&#xff09; 题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬至多m (1 < m < n)个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f…

DSGN:用于 3D 目标检测的深度立体几何网络

论文地址&#xff1a;https://www.jianshu.com/go-wild?ac2&urlhttps%3A%2F%2Farxiv.org%2Fpdf%2F2001.03398v3.pdf 论文代码&#xff1a;https://github.com/chenyilun95/DSGN 论文背景 大多数最先进的 3D 物体检测器严重依赖 LiDAR 传感器&#xff0c;因为基于图像的方…

【Docker二】docker网络模式、网络通信、数据管理、资源控制

目录 一、docker网络模式&#xff1a; 1、概述 2、docker网络实现原理&#xff1a; 3、docker的网络模式&#xff1a; 3.1、bridge模式&#xff1a; 3.2、host模式&#xff1a; 3.3、container模式&#xff1a; 3.4、none模式&#xff1a; 3.5、自定义网络模式&#xf…

NSS [NSSCTF 2022 Spring Recruit]babyphp

NSS [NSSCTF 2022 Spring Recruit]babyphp 考点&#xff1a;PHP特性 开局源码直接裸奔 <?php highlight_file(__FILE__); include_once(flag.php);if(isset($_POST[a])&&!preg_match(/[0-9]/,$_POST[a])&&intval($_POST[a])){if(isset($_POST[b1])&&…

Java se之类和对象

目录 类的定义格式如何去自定义this的引用如何初始化对象构造方法的定义和使用 类的定义格式 class ClassName{ //属性(成员变量) //行为(成员方法) } 1>变量与方法 1.成员变量:普通成员变量 静态成员变量 2.成员方法:普通成员方法 静态成员方法 其中的静态变量与方法,在后…

echarts折线图的数据显示

一、 echarts让折线图的每个折点都显示y轴的数值 效果如下 // 在 series中添加 itemStyle : { normal: {label : {show: true}}}series: [{name: 买入汇率,data: BuyRate,type: line,itemStyle : { normal: {label : {show: true}}}},{name: 卖出汇率,data: SaleRate,type: lin…

基于个人微信进行二次开发

请求URL&#xff1a; http://域名地址/sendVoice 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参数名必选类型说明wId是string登录实例标识wcId是string接…

机器学习实战:预测波士顿房价

前言&#xff1a; Hello大家好&#xff0c;我是Dream。 今天来学习一下机器学习中一个非常经典的案例&#xff1a;预测波士顿房价&#xff0c;在此过程中也会补充很多重要的知识点&#xff0c;欢迎大家一起前来探讨学习~ 一、导入数据 在这个项目中&#xff0c;我们利用马萨诸…

Numpy数组的数据类型汇总 (第4讲)

Numpy数组的数据类型 (第4讲)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…

如何使用玻璃材质制作3D钻石模型

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时&#xff0c;有几种不同的风格&#xf…

JAVA定时任务技术总结

在日常的项目开发中&#xff0c;多多少少都会涉及到一些定时任务的需求。例如每分钟扫描超时支付的订单&#xff0c;每小时清理一次数据库历史数据&#xff0c;每天统计前一天的数据并生成报表&#xff0c;定时去扫描某个表的异常信息&#xff08;最终一致性的方案也可能涉及&a…