智慧合约:智能合约安全问题的AI解决方案

2023-11-18

image

“一支穿云箭,千军万马来相见”。

在经历三个月“漫长熊市”后,从4月中旬开始,EOS的一个拉升,形成了数字货币市场大牛市的壮观景象。可是在美链BeautyChain(BEC)的智能合约漏洞被黑客利用、随意刷币,SmartMesh(SMT)智能合约再次爆出相同漏洞,并在OKex上出现大规模异常交易后,整个市场随即进入大幅震荡的情形。在了解事情经过后,我们不禁要问,为何小小的漏洞会引发如此大的动静?

1

智能合约的技术缺陷和解决方案

智能合约的2个缺陷

其实这件事情集中暴露了以以太坊为代表的区块链2.0技术的两个缺点:

  • 智能合约不够智能;

  • 智能合约缺少安全保障机制和安全工具。

区块链2.0的核心是智能合约,而当黑客能够轻而易举地利用智能合约漏洞为所欲为时,实质上相当于动摇了整个大厦的根基,因此造成数字货币市场的恐慌也在所难免。

加法溢出漏洞:一个加法带来的血案!

我们可以将SMT漏洞归纳为一句话:利用加法的溢出漏洞,规避安全检查从而获得巨额收益。首先看看这段代码,要害就在图1中的206行:

image

图1 SMT漏洞代码

Etherscan链接如下:

https://etherscan.io/tx/0x1abab4c8db9a30e703114528e31dee129a3a758f7f8abc3b6494aad3d304e43f

而黑客的攻击手法和成果如下:

Function: transferProxy(address _from, address _to, uint256 _value, uint256 _feeSmt, uint8 _v, bytes32 _r, bytes32 _s)

MethodID: 0xeb502d45

[0]:  000000000000000000000000df31a499a5a8358b74564f1e2214b31bb34eb46f(_from,转账转入地址)

[1]:  000000000000000000000000df31a499a5a8358b74564f1e2214b31bb34eb46f(_to,转账转出地址)

[2]:  8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff(_value)

[3]:  7000000000000000000000000000000000000000000000000000000000000001(_value)

[4]:  000000000000000000000000000000000000000000000000000000000000001b(_v)

[5]:  87790587c256045860b8fe624e5807a658424fad1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

智慧合约:智能合约安全问题的AI解决方案 的相关文章

  • Spring Boot整合fastjson

    SpringBoot在构建RESTful风格的web服务时 默认使用的是Jackson作为JSON解析器 个人使用比较习惯的 json 框架是 fastjson 所以 spring boot 默认的 json 使用起来就很陌生了 所以很自然

随机推荐

  • Dynamics CRM: 使用setFilterXml来过滤需要在表单的Subgrid控件中进行展示的记录

    我们经常在表单中会用到subgrid控件 通常在一个表单中插入subgrid用来显示另外一个实体中的记录 而显示的内容我们是通过定义不同的视图来进行显示的 也可以通过javascript来进行一些控制 今天这篇博文我们使用另外一种方法来实现
  • KDUpdater 入门 (Qt5)

    KDTools 2 3 0 是KDAB公司的一个Qt4工具包 采用商业 GPL LGPL 三重授权 http www kdab com kdab products kd tools 该工具包中包含一个KDUpdater的组件 为Qt程序的自
  • t-SNE降维算法详解(附matlab代码)

    什么是t SNE t SNE的主要用途是可视化和探索高维数据 它由Laurens van der Maatens和Geoffrey Hinton在JMLR第九卷 2008年 中开发并出版 t SNE的主要目标是将多维数据集转换为低维数据集
  • 计算机视觉目标检测流程

    个人接触机器视觉的时间不长 对于机器学习在目标检测的大体的框架和过程有了一个初步的了解 不知道对不对 如有错误 请各位大牛不吝指点 目标的检测大体框架 目标检测分为以下几个步骤 1 训练分类器所需训练样本的创建 训练样本包括正样本和负样本
  • 线程池面试题

    线程池面试题 1 Executor 框架三大组成部分 2 ThreadPoolExecutor 类 线程池执行器 核心 2 1 ThreadPoolExecutor 3 个最重要的参数 2 2 ThreadPoolExecutor 饱和策略
  • 电机四象限运行

    电机四象限模式 前言 电机单象限模式 电机四象限模式 电机控制中的两象限和四象限程序 两象限程序 四象限程序 前言 在主机厂工作中常常提到四象限和两象限程序 对于电驱运行方式的四象限运行不是很熟悉 学习一下 做下笔记 以防止遗忘 个人理解
  • 成功解决 XXX--1.0-SNAPSHOT.jar中没有主清单属性

    问题描述 在运行使用maven打包的项目之后 运行项目发现主类没有找到 提示XXX 1 0 SNAPSHOT jar中没有主清单属性 问题原因 maven在打包时没有配置主类 解决方案 如果您使用的是Springboot框架 那么只需要在p
  • elasticsearch7.8.0 win指定jdk版本

    修改 elasticsearch env bat 文件 set JAVA HOME D elasticsearch 7 8 0 jdk if JAVA HOME set JAVA ES HOME jdk bin java exe set J
  • Python学习6.1类与对象

    一 类的定义 1 类的组成 类属性 实例方法 静态方法 类方法 eg 输入 class Student native place 云南 类属性 def init self name age self name name self age a
  • JUC之ReentrantLock

    一 背景 随着java内卷越来越厉害 校招经常会问一些源码知识 例如Synchronized的实现原理 ReentrantLock的实现原理 AQS的实现原理 ConCurrentHashMap的实现原理等等 如何能够灵活的应对呢 解决方案
  • STDC语义分割网络:BiSeNet的轻量化加强版(CVPR2021语义分割)

    今天和大家分享CVPR2021中语义分割领域的一篇论文 论文标题及作者如下图所示 论文下载地址 https arxiv org abs 2104 13188 代码即将开源 https github com MichaelFan01 STDC
  • 访问权限修饰符

    访问控制权限修饰符 Java中访问修饰符有四种 分别是public private protected和默认 1 public 表示公有的 对于一个public成员 可以被任何类访问 在不同的包中 所有类都可以访问 2 private 表示
  • 【从零开始的Java开发】2-8-1 HTML入门:标签、表格、表单

    文章目录 HTML简介 常用标签 字体标签 段落标签p 注释标签 标题标签h 图片标签img 超级链接标签a 锚点标签 列表 阶段小结 表格 相关标签 合并行列 分组设置表格格式的标签 相关属性 其他标签 表单 表单主要控件和实例 表单其他
  • EasyDemo*SQLite数据库版本升级

    一 简介 我们在开发应用的时候 存储数据可能会用到数据库 第一个版本时所设计的数据库结构 如果在以后的app版本中需要增加业务逻辑 数据库的表可能要做相应的修改 那么原来的数据库结构就不能用了 这时就需要对数据库进行升级 二 升级方案 1
  • linux配置放火墙开放端口

    vi etc sysconfig iptables A INPUT m state state NEW m tcp p tcp dport 80 j ACCEPT 允许80端口通过防火墙 A INPUT m state state NEW
  • 神经网络实现连续型变量的回归预测(python)

    最近写论文时用到一个方法 是基于神经网络的最优组合预测 主要思想如下 在建立由回归模型 灰色预测模型 BP神经网络预测模型组成的组合预测模型库的基础上 利用以上三种单一预测模型的组合构成BP神经网络组合预测模型 我是参考的参考这篇文章 路玉
  • Linux3.10内核之后proc文件系统的使用

    最近在通过无线扫描周边的手机mac的事情 拿到AP周边的mac后需要送到应用层 之前接触的都是RTOS的系统 数据交互比较简单 Linux下应用层无法直接和驱动交换数据 需要通过kernel提供的一些通道 因为只是向应用层送数据 和应用层的
  • Windows7旗舰版和10 创建原始套接字失败,代码10013

    笔记本重装系统后 以前能运行的程序中的Ping程序不能运行了 查看代码 创建套接字失败 RawSock socket AF INET SOCK RAW IPPROTO ICMP RawSock INVALID SOCKET 用DWORD d
  • 微信小程序地图(map)组件点击(tap)获取经纬度

    微信小程序中使用地图 map 组件 通过点击 tap 获取经纬度 按照官方的回应 暂时是没法做到的 从地图组件API多有残缺判断 怀疑是个实习生干的 做个变通 适用性有限 请大家参考 基本思路就是在地图上铺满一层marker 从而通过点击m
  • 智慧合约:智能合约安全问题的AI解决方案

    一支穿云箭 千军万马来相见 在经历三个月 漫长熊市 后 从4月中旬开始 EOS的一个拉升 形成了数字货币市场大牛市的壮观景象 可是在美链BeautyChain BEC 的智能合约漏洞被黑客利用 随意刷币 SmartMesh SMT 智能合约