avatar
Articles
106
Tags
10
Categories
0

Home
Archives
Tags
About
何方圜的博客
Home
Archives
Tags
About

何方圜的博客

关于OPE
Created2025-06-19
OPE 讴谱讴谱目标:O-P-EO: Optimization-优化 优化一个新体系p: Purification-净化 除去恶方面E: Evolution-进化 提升和扩大体系功能 五共思想共识:学区块链的第一步就是了解比特币以太坊,比特币的共识是POW,由于少数人可以控制节点权力,到以太坊所使用的共识就改进为POS,而我现在正在研究Solana的底层协议,它又是采用POH共识,通过历史时间证明,加快了交易的执行,是性能的优化。所以共识就是在不断发展,不断优化,符合大部分人的利益所认同的所接受的。OPE中提供就是按贡献分配这个共识,我就觉得有点和比特币POW有点相似,你做有效事的越多,你就收获的越多。 共创:打破垄断,一起创作,合作。在OPE世界中,是优缺互补,一起发挥各自的价值做好一件事 共生:我感觉就是没有竞争,互惠共利,比如现在的外卖大战,以前的购物平台纷纷宣布投入外卖市场,各家都拿出最大的优惠来竞争,如果各家都能拿出自己的资源,共同友好发展,就能实现利益最大化,不就是达到了一个共生的理念。 共治:现在社会都是上级传达命令,我们需要去服从命令,在OPE中的逻辑强调的事议定和 ...
sherlock-S-locker System
Created2025-06-17
sherlock-S-locker System升级合同,常量发生改变现有正式合约中的 DOWNSCALER 为 1e16,而提议升级的合约中 DOWNSCALER 为 1e18,两者不一致,导致以下影响: 升级合约后新加入的质押者,在 lockedStakedBalance 相同的情况下,所获得的单位数(units)明显少于老质押者,分配收益时不公平。 升级合约后,如果已有质押者追加较少(少于100倍)的质押金额,其单位数反而会减少,获得的税收分成变少。 质押者可能会提前操作,在合约升级前抢先质押,以获得更多单位数并获取更大的税收分成。 抢跑攻击,在知晓分配收益时,扩大自己的份额,获取更多的收益在解锁获得惩罚金时,攻击者提前知道,然后通过提供流动性或者质押金额,去分配获益 某个用户准备进行立即解锁(instant unlock)。 恶意的 Locker 拥有者在此之前增加自己的流动性或质押额度。 _instantUnlock 被调用,惩罚金被分配给当前的 LP 和质押者。 恶意 Locker 拥有者因持有单位(units)而获得部分惩罚金收益。 获取收益后,立即撤 ...
sherlock-DODO Cross-Chain DEX
Created2025-06-17
sherlock-DODO Cross-Chain DEX
单机版区块链的实现
Created2025-06-16
单机版区块链的实现全部代码都已开源在git上 hyblockchain 前置知识开始之前,首先要了解一些基础知识,这里简单的介绍一下 区块链的结构区块(Block)包含:区块头(Block Header):包含前一个区块哈希、Merkle 根、时间戳、随机数等交易列表(Transactions):每个区块中打包的所有交易链(Chain):每个区块通过 previousHash 指向前一个区块形成链 哈希函数作用:确保数据完整性、防篡改常用:SHA256(Bitcoin)、Keccak256(Ethereum)本实验使用的是SHA256 交易系统 交易结构(Transaction) 发送方地址、接收方地址、金额、签名(可选) 交易池(Mempool):待打包的交易集合 简单账户模型或UTXO模型 账户模型(如 Ethereum):记录每个地址的余额 UTXO 模型(如 Bitcoin):每个未花费输出作为新交易输入 状态树 MPT使用的是key,value来实现 叶子节点:实际存放值的节点分支节点:有16个子节点,用来指向多条路径扩展节点:存储公共前缀,它的下一节点只能是分 ...
sherlock-Usual ETH0
Created2025-06-10
sherlock-Usual ETH0这是一个关于代币质押与兑换的合约 移除某些质押代币后,导致某些函数功能不能使用因为某些函数(swap等)利用的数组来实现历遍质押代币,有些条件判断了质押代币不能为零,如果某些代币被移除后,那么整个函数就会被revert. 精度的问题,四舍五入,向下取整,多层函数实现的向下取整后,又作为分母,导致差值越来越大建议给分母加一消除向下取整 function wadTokenAmountForPrice(uint256 wadStableAmount, uint256 wadPrice, uint8 tokenDecimals) internal pure returns (uint256){+ return Math.mulDiv(wadStableAmount, 10 ** tokenDecimals, wadPrice + 1, Math.Rounding.Floor);- return Math.mulDiv(wadStableAmount, 10 ** tokenDecimals, wadPrice, Ma ...
sherlock-LEND
Created2025-06-04
sherlock-LEND这是一个关于跨链的借贷,那么漏洞点就是在跨链的处理上 高gas费用阻碍从边界用户退出质押原因就是使用数组记录数据,并且没有限制,导致gas线性增加,用户支付不了,退出质押代码漏洞 // 遍历数组确定相关层级变更区间 for (uint256 i = 0; i < userTierHistory.length; i++) { if (userTierHistory[i].timestamp <= fromTime) { currentTier = userTierHistory[i].to; relevantStartIndex = i; } else { break; } } // 计算区间内各层级的利息 for (uint256 i = relevantStartIndex + 1; i < userTierHistory.length; i++) { if (userT ...
使用 Anchor 与 SPL Token Program 交互指南
Created2025-06-01
使用Anchor与SPL Token Program交互指南Anchor 是用来开发 Solana 智能合约的高层开发框架,它基于 Rust,简化了 Solana 原生开发的繁琐流程。SPL 是 Solana Program Library 的缩写,它是Solana官方维护的一套标准智能合约程序集合,用来为 Solana 生态提供各种 基础功能模块,类似于以太坊里的 ERC标准合约。 创建Token Mint首先要了解什么是Mint账户,简单来说,Mint 账户就是某个代币的“发行登记中心”,负责记录这个代币的总发行量、精度、小数位,以及谁有权限铸造(mint)或销毁(burn)它,所以它的结构就非常的清晰了,如下: pub struct Mint { /// 用于铸造新token的可选权限。mint权限只能在mint创建期间提供。 /// 如果没有mint权限,则mint具有固定的供应量,并且无法铸造更多的token。 pub mint_authority: COption<Pubkey>, /// token的总供应量。 ...
code4rena-Kinetiq
Created2025-05-04
高 缓冲区达到最大限额,取消资金大于合约的资金质押协议允许用户质押代币并赚取奖励。当用户希望提取他们的代币时,他们会调用 queueWithdrawal() 来启动提取流程。管理者可以通过调用 cancelWithdrawal() 来取消待处理的提取请求,这会将 KHYPE 代币返还给用户。为了正确完成取消流程,管理者必须调用 redelegateWithdrawnHYPE() 来更新协议状态,包括缓冲区和其他操作。然而,存在一个限制:一旦达到缓冲区阈值,代币会从 EVM 层移动到 L1 spot 余额,但redelegateWithdrawnHYPE()要求 address(this).balance >= cancelledWithdrawalAmount。由于这些转移的资产在合约层面不再可访问,但仍然计入已取消的提取金额中,因此该条件在数学上变得不可能满足。尽管有概念验证(POC),但让我举个例子:质押管理器合约的目标缓冲区为 3 HYPE。Alice、Bob、Sage 和 Tony 各质押了 1 HYPE,这自动达到了目标缓冲区,剩余部分将进入 L1 spot 余额。从 ...
EIP712
Created2025-05-01
EIP712当然!EIP-712 是以太坊的一项标准,它定义了一个结构化的消息签名方案,以便能够安全、标准化地对复杂数据进行签名和验证。简单来说,它是一个用于签名复杂数据结构(如结构化对象、数组、嵌套对象等)并保证其不可篡改的标准。 🌟 EIP-712 概述EIP-712 规范提出了对结构化数据进行签名的方法,解决了以下问题: 避免重放攻击:如果没有结构化数据的签名,可能存在相同的签名被滥用的风险。 易于解析和验证:签名的对象可以被预先约定和验证,避免直接签名原始字节流。 提升用户体验:用户可以明确知道自己签署的内容,减少误签和恶意签名的风险。 🔍 EIP-712 的核心概念EIP-712 通过将数据分为两部分来创建安全的签名: Domain Separator(域分隔符):标识签名数据的来源。通过引入这个“域”概念,可以区分不同的签名场景,防止重放攻击。例如,一个签名用于交易,另一个用于账户管理,它们的域分隔符是不同的,彼此之间互不干扰。 类型哈希:对数据结构的类型进行哈希,确保签名的数据结构不被篡改。 数据结构:EIP-712 签名的数据本身是结构化的,数据包括了 t ...
跨链合约时代:Axelar、Wormhole、Hyperlane 谁能称霸多链通信?
Created2025-04-24
跨链合约时代:Axelar、Wormhole、Hyperlane 谁能称霸多链通信?随着区块链技术的快速发展,跨链通信已经成为了区块链生态系统中的重要组成部分。跨链协议允许不同的区块链之间进行信息传递和资产互操作,从而打破了各个链之间的孤立局面。Axelar、Wormhole 和 Hyperlane 作为三大跨链协议的代表,它们在多链通信的实现上各具特色。那么,谁能称霸跨链合约时代,成为未来的多链通信标准呢? 一、跨链协议的背景随着区块链的多样化发展,去中心化金融(DeFi)、NFT、游戏和其他应用程序已经不再局限于单一链上运行。不同区块链之间的数据和资产流通需求日益增加。然而,不同链之间缺乏统一的通信协议,导致了跨链操作的复杂性和不兼容性。因此,跨链协议应运而生,它们旨在提供链与链之间的高效、安全和可扩展的通信机制。 跨链协议不仅仅是为了解决资产的流动问题,更重要的是推动去中心化应用(DApp)和去中心化自治组织(DAO)等创新模式的实现。 二、Axelar:跨链的互联网Axelar 提供了一个简单、安全且去中心化的跨链解决方案,其目标是成为一个“区块链互联网”。Axelar 使用统 ...
12…11
avatar
何方圜
夫孰异道而相安
Articles
106
Tags
10
Categories
0
Follow Me
Announcement
CTF的更新
Recent Post
关于OPE2025-06-19
sherlock-S-locker System2025-06-17
sherlock-DODO Cross-Chain DEX2025-06-17
单机版区块链的实现2025-06-16
sherlock-Usual ETH02025-06-10
Tags
链接 题解 Solana 基本知识 协议 test 攻击事件分析 课程学习 CTF 审计报告
Archives
  • 六月 20257
  • 五月 20252
  • 四月 20252
  • 三月 20252
  • 十二月 202411
  • 十一月 202421
  • 十月 202439
  • 九月 20247
Info
Article :
106
UV :
PV :
Last Update :
©2020 - 2025 By 何方圜
Framework Hexo|Theme Butterfly