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 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 【论文阅读笔记】使用结构代码嵌入检查智能合约 -> 正文阅读

[区块链]【论文阅读笔记】使用结构代码嵌入检查智能合约

?

?

论文标题:Checking Smart Contracts With Structural Code Embedding
原文链接Checking Smart Contracts With Structural Code Embedding | IEEE Journals & Magazine | IEEE Xplore
说明:在读研究生为方便记忆梳理学习,手敲论文笔记,概括论文的主要思想

背景

智能合约指是一个程序,当满足特定的预定义条件时,可以触发执行任何任务智能合约越来越多地与区块链一起使用,以实现金融和商业交易的自动化。然而,在许多合约中发现了许多错误和漏洞,因此,非常需要更好地维护智能合约代码并确保其高可靠性。

智能合约中定义的条件和合约的执行应该是可跟踪和不可逆转的,以最大限度地减少对受信任中介的需求。它们还应该尽量减少恶意或意外异常,以确保智能合约暗示的任何商业交易的可信度。

贡献

  • 我们提出了一种基于代码嵌入和相似性检查的 Solidity 代码检查新方法,适用于各种目的,例如相似合约代码检测、错误检测和合约验证
  • 我们基于该方法构建了一个 SMARTEMBED 原型,并在从以太坊区块链收集的 22,000 多个 Solidity 合约上对其进行了评估。
  • 我们的克隆检测结果表明,我们的工具可以有效地识别出许多克隆率在 90% 左右的重复性 Solidity 代码,并且我们可以比常用的克隆检测工具 Deckard 更准确??地检测到更多的语义克隆。
  • 我们的错误检测结果表明,SMARTEMBED 可以基于我们的错误数据库高效准确地识别出 1,000 多个与克隆相关的错误,从而可以有效地检查代码和错误模式变化的智能合约。对于合同验证,我们的方法可以捕获与已知错误相似且误报率低的错误,对克隆或错误的查询非常有效,足以满足实际使用

设计过程和框架

数据处理过程

  • 收集代码用解析器解析生成抽象语法树(AST)
  • 通过序列化提取AST的令牌流,标记ast中的关键行数和字符
  • 移除不相关字符
  • 生成嵌入矩阵,Word2vec学习单词的向量表示,这对预测句子中的周围单词很有用。然而,传统的word2vec未能捕捉到单词的形态结构。FastText试图通过将每个单词视为其子词的集合来解决这一问题,子词被认为是单词的n元语法,并且具有快速文本的单词的向量是其组成部分的所有n元语法向量的总和。
  • 通过向量空间比较使用相似性检查方法执行克隆检测、错误检测和合同验证。在可能的代码片段对之间执行相似性比较,并且相似性阈值控制代码片段将被视为代码克隆还是与克隆相关的错误。

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-04-15 00:03:37  更:2022-04-15 00:04:49 
 
开发: 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 3:14:13-

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