返回论坛

EOS REX 安全深度解析:从源码剖析资源租赁机制

查找币 学术研究 安全研究 Web3安全 区块链安全

查找币安全研究院

钱包恢复评估 | 链上取证分析 | Web3 事件响应
以合法授权、证据保全、隐私保护和可复核流程为前提,不要求用户在线提交完整私钥或助记词。

查看研究院 研究报告中心
## 前言 随着REX提案获得BP投票通过,这一备受瞩目的资源租赁平台正式上线。作为号称“稳赚不亏”的投资项目,REX迅速吸引大量资金涌入,成为区块链领域的热点话题。然而,REX究竟如何运作?其安全性如何保障?本文基于rex1.6.0-rc2源码,从技术角度深入剖析REX的核心机制与安全设计。 ## REX技术本质解析 REX(Resource Exchange)本质上是一个去中心化的资源交易所,旨在解决EOS网络CPU资源成本高昂的问题。与传统资源租赁DApp不同,REX允许所有EOS持有者成为资源出租方,通过质押EOS获取收益。 **关键概念区分:** - **REX平台**:资源租赁系统 - **rex通证**:平台内流转的凭证,不可交易、不可转移 rex通证类似于国债,代表用户出租资源的权益。用户通过购买rex证明其已出租资源,并据此获取相应收益。 ## 核心接口安全分析 ### 1. deposit:资金入口安全机制 ```cpp void system_contract::deposit( const name& owner, const asset& amount ) { require_auth( owner ); check( amount.symbol == core_symbol(), "must deposit core token" ); check( 0 < amount.amount, "must deposit a positive amount" ); INLINE_ACTION_SENDER(eosio::token, transfer)( token_account, { owner, active_permission }, { owner, rex_account, amount, "deposit to REX fund" } ); transfer_to_fund( owner, amount ); update_rex_account( owner, asset( 0, core_symbol() ), asset( 0, core_symbol() ) ); } ``` **安全特性分析:** - 权限校验:`require_auth(owner)`确保操作授权 - 资产校验:检查代币符号和金额有效性 - 资金隔离:EOS转入系统账户`eosio.rex`,实现资金托管 - 状态记录:`transfer_to_fund`维护用户储备金余额 - 订单处理:`update_rex_account`同步处理挂单 ### 2. buyrex:资源购买安全逻辑 buyrex函数实现用户用储备金购买rex的核心逻辑: - **价格计算**:基于rex池和储备金池动态定价 - **资金锁定**:从用户储备金扣除对应EOS - **通证铸造**:按当前汇率铸造rex通证 - **状态更新**:更新rex供应量和用户持仓 ### 3. sellrex:收益结算安全机制 sellrex是用户赎回本金和收益的关键接口,曾存在严重安全漏洞。 **漏洞分析:** - **漏洞类型**:资金不足时的挂单机制缺陷 - **攻击向量**:恶意用户可在系统资金不足时持续发起sellrex操作 - **影响范围**:导致挂单金额无限累积,最终可能盗取系统资产 - **修复方案**:增加订单校验逻辑,限制无效挂单 ### 4. unstaketorex:抵押资源转换 该函数允许用户将已抵押的CPU/NET资源转换为rex: - **资源解锁**:解除资源抵押 - **资金转移**:释放的EOS自动转入储备金 - **rex购买**:使用释放资金购买rex ## 安全防护体系 ### 权限控制 - 所有关键操作需用户签名授权 - 防止未授权操作和越权攻击 ### 资产校验 - 严格检查代币符号和金额 - 防止假币攻击和溢出攻击 ### 状态一致性 - 使用原子操作保证资金与状态同步 - 避免状态不一致导致的安全问题 ### 防攻击机制 - 回滚攻击防护 - 排挤攻击防护 - 假通知攻击防护 ## 安全建议 1. **用户层面** - 使用官方合约进行REX操作 - 注意检查交易签名权限 - 关注合约升级通知 2. **开发者层面** - 严格校验所有输入参数 - 实现完善的异常处理 - 进行全面的安全审计 3. **运营层面** - 持续监控系统资金池 - 建立应急响应机制 - 定期进行安全评估 ## 结语 REX作为EOS生态的重要基础设施,其安全性直接影响用户资产安全。通过源码分析,我们可以看到REX在权限控制、资产校验、状态同步等方面采用了多层次安全机制。然而,任何系统都存在潜在风险,用户需保持警惕,理性参与。 下一篇文章将深入分析REX的经济模型和收益分配机制,敬请关注。 --- **本文由查找币安全团队整理发布**
在论坛中查看和回复