IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 11基于纳什均衡的智能合约缺陷检测 -> 正文阅读

[区块链]11基于纳什均衡的智能合约缺陷检测

原文标题: 基于纳什均衡的智能合约缺陷检测
原文作者: 陈晋川,夏华辉等
原文机构: 中国人民大学信息学院
原文地址: 10.11897/SP.J.1016.2021.00147
发表日期/期刊:V0l.44 No.1 Jan. 2021/计算机学报
笔记整理:doxbwx@163.com

本文是基于形式化表达智能合约的工作之上对智能合约的逻辑缺陷进行检测的算法效率进行提高,文本旨在解决这些问题:

  1. 如何构建一种与编程语言和平台无关的,易于理解的中间模型
  2. 如何发现智能合约中存在的逻辑缺陷

本文的解决方法分别为:

  1. 基于之前文章的智能合约形式化模型提出了从承诺到状态机的自动生成算法,而为了进一步解决该过程中可能会产生指数级的数量巨大的状态问题,提出了一系列化简算法。
  2. 将多方参与执行智能合约的过程看作是一个多方博弈问题。将智能合约的逻辑缺陷定义为特殊的纳什均衡,也就是在纳什均衡点中,各参与方的收益全部为零,或者收益有正有负,则说明该智能合约可能存在逻辑缺陷。

智能合约建模

??例. 一个简单的购书合同.甲承诺在3天内付款100元,乙承诺在收到书款之后1天内发货。C1 (甲,乙,?,pay(乙,100),(∞,3)),C2 (乙,甲,C1.sat,deliver(book,甲),(3,1))。承诺C1表示甲向乙承诺,3天内执行pay(乙,100)操作,前提为?。承诺C2表示乙向甲承诺,当C1进入就绪状态时,乙会在1天内执行deliver(book,甲)操作,但此承诺约束为3天内。

确定性有穷状态机(DFA)形式的智能合约为下图所示
DFA形式的智能合约

状态1为act表示激活,状态2为bas表示就绪,状态3为sat表示满足,状态4为exp表示过期,状态5为vio表示违约。

下图为从承诺到状态机的自动生成算法
从承诺到状态机的自动生成算法

策略形式的化简

??策略形式的本质是状态变迁。参与人使用的策略集合都是其在所有内部节点的动作集合笛卡尔积,要先考虑对状态变迁图的化简。
??基于效用值相同叶节点的化简方法和基于独立承诺的化简方法是在等价策略的基础上进行化简,有一些策略集合不适合用等价策略所以提出了一个基于纳什均衡等价的化简方法。

  1. 效用值相同叶节点合并方法.如下图所示化简。
    在这里插入图片描述
    在这里插入图片描述

  2. 基于独立承诺的方法。当相互独立的承诺发生状态改变时,可以将多个状态改变合并到一起。如下图所示从同一节点发出的多个状态转移路径可以合并为一个复合状态转移。如下图所示。
    在这里插入图片描述

  3. 基于纳什均衡等价的方法。若节点集合有同一个父亲节点,且这些节点的动作执行人相同,则可以将这些节点集合合并为一个节点。
    在这里插入图片描述

冗余策略形式化简

??正常的策略形式化定义,需要计算一个参与人在所有内部节点的动作集合的笛卡尔积,以得到该参与人的所有策略集合。但是实际上这样的策略组合数量过大,需要简化一些不需要的数据。若某动作人在不同结点有两个策略e_α和e_β,src(e_α)是src(e_β)的祖先,且e_β不在以dst(e_α)为根的子树中,则所有同时包含e_α和e_β的策略组合都是冗余的。例如下图所示,当选择了e_2时,就不应该出现e_2 e_3,e_2 e_4这样的组合,所以将这种冗余情况去除。
在这里插入图片描述

有效的实验及结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
??从图可以看出,在使用了上述等价策略、纳什均衡等价策略和冗余策略化简方法之后,所得到的时间效率以及最后得到的结果集数量都有了指数级别的优化。

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-02-09 20:45:08  更:2022-02-09 20:45:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 19:43:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计