了解EVM EVM是以太坊协议的一部分,用于控制智能合约的部署和执行,可以想象成一台超级计算机,拥有数百万个可执行的东西,也就是合约,每一个东西都有自己的永久存储。 Solidity代码需要先编译成字节码,才能部署到以太坊网络,字节码代表着一系列用于EVM的Opcode ByteCode 当一个合约被编译的时候,大部分合约都会被编译成三个部分: Contract Creation Code
摘要 车联网(IoV)是实现智能交通系统(ITS)高效交通管理的一种解决方案。数据驱动的ITS需要从车辆数据中学习,并为车辆提供及时的信息,以支持广泛的安全和信息娱乐ITS应用。车联网容易受到多种网络攻击和隐私问题的影响。联邦学习 (FL) 即将通过交换学习模型参数而不是实际数据来提供协作学习,这有望在 IoV 中提供隐私。然而,尽管具有固有的安全和隐私保护框架,但 FL 仍然容易受到中毒和逆向工
翻译:https://research.checkpoint.com/2024/ethereums-create2-a-double-edged-sword-in-blockchain-security/ 序言 以太坊的CREATE2函数正被攻击者利用来绕过传统的安全措施并进行未经授权的资金访问,从而危害数字钱包的安全性。攻击方法主要包括诱骗用户批准尚未部署的智能合约交易,从而允许网络犯罪分子随后
关于Merkle Tree 什么是Merkle Tree Merkle Tree也被称为Hash Tree,是一个存储hash值的树。Merkle Tree的叶子是数据块(比如地址,文件)的hash值。非叶节点是对应子节点串联字符串的hash。 Merkle Tree 提供了一种在Solidity中验证数据的有效方法,这样的话就大部分降低了验证大型数据集时,链上存储的Gas成本, 因为只将Roo
前言 对区块链安全中代理的攻击面进行简单的学习。 0-Proxy的分类 如今Proxy一般分为以下8种,最常用的就是UUPS和Diamond 设计模式,不同合约面临的攻击面也不同。 普通Proxy合约 Upgradable Proxy EIP-1967可升级代理合约 TPP UUPS Beacon Proxy Diamond Proxy Metamorphic Proxy 1-How to
背景介绍 在之前的一次应急响应中有客户反馈某合约在上X币交易所的时候,按照交易所的要求曾找人写了锁仓合约并完成了2.5亿某代币的锁仓操作,本来应该是三个月解锁一次,两年解锁完毕,然而一年快过去了,一笔解锁款都没有收到,客户感到很是费解,这和预期的有很大的差入,所以需要帮忙查看究竟是代码问题,还是操作问题并尽最大的可能将未解锁的合约代币进行解锁操作 锁仓合约 智能合约中的锁仓合约是一种功能强大的合约
文章前言 Solidity允许在继承时对状态变量进行歧义命名,定义有变量x的合约A可以继承同样含有状态变量x的合约B,这将导致两个单独版本的x,一个可以从合约A访问, 而另一个则需要从合约B访问,在更复杂的合约系统中这种情况可能不会引起注意并随后导致严重的安全问题,本篇文章将对此特例进行演示介绍说明 基本介绍 Solidity中变量按作用域划分有三种————状态变量(state variable)
基本介绍 DeFi是Decentralized Finance(去中心化金融)的缩写,它是一种基于区块链技术的金融服务模式,它的目标是通过区块链技术和智能合约等技术手段,构建一个去中心化、透明、安全、开放和无门槛的金融系统,为用户提供更加自由、便捷、低成本、高效率的金融服务 DeFi的背景可以追溯到2017年以太坊网络上的ICO(Initial Coin Offering)热潮,ICO是一种基于区
文章前言 智能合约作为区块链技术的重要组成部分正在逐渐改变着金融、供应链和其他行业的商业模式,然而随着智能合约应用的快速增长,合约中的业务逻辑缺陷也成为了一个严重的安全挑战。智能合约的业务逻辑缺陷是指在合约的设计和实现过程中存在的错误或漏洞,导致意外的行为或安全漏洞,这些缺陷可能导致资金丢失、数据泄露、访问控制问题以及恶意操作等风险,因此了解和预防常见的业务逻辑缺陷对于确保智能合约的安全性至关重要
文章前言 智能合约是区块链技术的重要应用之一,它能够实现去中心化的交易和智能化的合约执行,然而智能合约安全问题一直是困扰区块链行业的一个难题,本篇文章我们将主要介绍在合约中对于合约地址检查的方法以及其绕过方式,希望能够为各位合约安全审计人员以及合约研发人员提供安全思考 交互方式 在以太坊智能合约中交互的场景有内部交互和外部交互: 内部交互 在以下示例代码中ContractA合约通过调用Contra
文章前言 本篇文章是"以太坊P2P网络深入刨析"的续篇 源码分析 服务停用 下面的代码用于停止服务器和所有活动的对等连接,它会阻塞直到所有活动连接都关闭 // Stop terminates the server and all active peer connections. // It blocks until all active connections have been closed.
2024 BMW web3 CTF部分writeups Background 参加了下比赛做了一下,质量较好,比较适合我这种Web3新手,正好复习了很多以前忘的知识 easy-warmup //SPDX-License-Identifier: MIT pragma solidity >= 0.7.0 < 0.9.0; contract Warmup { string pub
文章前言 本篇文章是对《以太坊虚拟机工作原理深入刨析(中)》的续篇 源码分析 合约调用 EVM.CallCode EVM.CallCode函数主要用于执行与指定地址关联的合约代码并处理必要的转账操作,在执行过程中会进行递归调用的检查、深度限制的检查、余额检查等,它还负责处理转账操作和创建账户并在执行错误或转账失败时回滚状态,函数的实现根据合约地址是否是预编译合约来执行不同的逻辑,最后返回执行结果、
文章前言 本篇文章是《以太坊虚拟机工作原理深入刨析》的续篇 源码分析 数据结构 下面的代码定义了与以太坊合约相关的结构体和接口,ContractRef是一个合约引用的接口,它定义了一个Address()方法用于获取合约的地址,AccountRef是实现了ContractRef接口的结构体,在EVM初始化期间用于获取地址,Address()方法将AccountRef转换为common.Address
文章前言 以太坊虚拟机(Ethereum Virtual Machine,简称EVM)是区块链领域的重要组成部分,它为以太坊网络上的智能合约提供了执行环境,随着区块链技术的发展和智能合约应用的日益普及,了解以太坊虚拟机的工作原理变得尤为重要。本文将深入剖析以太坊虚拟机的工作原理,探讨其在智能合约执行过程中的关键角色和功能,我们将介绍EVM的架构和基本组件,解释其如何解析和执行智能合约的字节码指令,