首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >BlockLever实战营日志 #1 | 开营

BlockLever实战营日志 #1 | 开营

作者头像
Keegan小钢
发布2025-11-12 14:15:41
发布2025-11-12 14:15:41
50
举报
文章被收录于专栏:Keegan小钢Keegan小钢

前天,我刚发布文章宣布 启动第二期 AI + Web3 实战营,昨天就正式开营了。

第一个晚上,我主要让 AI 和我一起梳理了「BlockLever」最核心的机制设计,包括做多和做空 ETH 的实现逻辑和资金隔离方案。下面,是我让 AI 根据这第一节的内容所生成的部分核心的研发日志,特此分享出来。


项目概述

BlockLever 是一个创新的链上杠杆借贷协议,定位于轻量化的 Perp DEX。与传统 Perp 协议不同,我们不自建流动性池,而是巧妙地聚合现有的成熟协议:

  • 借贷层:Venus Protocol(BNB Chain 最大借贷协议)
  • 交易层:PancakeSwap(最佳流动性)
  • 杠杆实现:闪电贷(Flash Loan)

核心特点

  • 🎯 统一使用 USDT/USDC 作为保证金
  • ⚡ 支持 2-5x 杠杆,低倍数更安全
  • 🔄 前端 Perp 交互体验,后端现货杠杆
  • 🪶 无需自建流动性,极致轻量化

今天的核心工作

一、杠杆机制设计

1.1 做多 ETH 的实现逻辑

我们通过闪电贷 + 抵押目标资产的方式实现杠杆:

代码语言:javascript
复制
用户操作:投入 100 USDT,2x 做多 ETH

底层执行:
1. 用户转入 100 USDT 保证金
2. 闪电贷借入 100 USDT(杠杆资金)
3. 用 200 USDT 在 PancakeSwap 买入 0.1 ETH
4. 将 0.1 ETH 存入 Venus 作为抵押
5. 从 Venus 借出 100 USDT
6. 还闪电贷
7. 完成!用户现在持有价值 200 USDT 的 ETH 多头

关键创新点

  • ✅ 抵押目标资产(ETH),而非稳定币
  • ✅ ETH 在 Venus 的抵押率达 80%,支持更高杠杆
  • ✅ 一次交易完成开仓,Gas 友好
1.2 做空 ETH 的实现逻辑

做空的逻辑正好相反:抵押稳定币,借出目标资产

代码语言:javascript
复制
用户操作:投入 100 USDT,2x 做空 ETH

底层执行:
1. 用户转入 100 USDT
2. 闪电贷借入 0.05 ETH(价值 100 USDT)
3. 在 PancakeSwap 卖出 0.05 ETH 得到 100 USDT
4. 将 200 USDT 存入 Venus 作为抵押
5. 从 Venus 借出 0.05 ETH
6. 还闪电贷
7. 完成!用户现在持有等价于 100 USDT 的 ETH 空头
1.3 清算保护机制

做多 ETH(2x 杠杆)

  • 清算价格:开仓价下跌 41%
  • 示例:2000 USDT 开仓 → 1176 USDT 清算

做空 ETH(2x 杠杆)

  • 清算价格:开仓价上涨 79%
  • 示例:2000 USDT 开仓 → 3587 USDT 清算

对比传统 Perp

  • GMX/Gains: 支持 50-150x 高杠杆,但清算风险极高
  • BlockLever: 2-5x 低杠杆,清算空间更大,适合稳健交易者

二、Venus 抵押品限制问题

2.1 问题发现

在设计做空流程时,我们发现了一个关键限制:

Venus 不支持 USDT/USDC 作为抵押品!

稳定币

可抵押

可借出

影响

USDT

做空受影响

USDC

做空受影响

DAI

完全支持

影响分析

  • 做多不受影响:抵押 ETH,借 USDT(USDT 可被借出)
  • 做空受影响:需要抵押稳定币,但 USDT/USDC 不支持
2.2 解决方案:透明转换层

我们设计了一个用户无感知的稳定币转换机制

代码语言:javascript
复制
前端显示:用户使用 USDT 作为保证金 ✅
后台执行:
  开仓时:USDT → DAI(PancakeSwap)
  Venus 抵押:DAI
  平仓时:DAI → USDT(返还给用户)
用户体验:完全感知不到 DAI 的存在

成本分析

  • 转换损耗:每次开平仓约 0.7%
  • 做空总成本:2.62%/月(含转换 + 利息 + Gas)
  • 做多总成本:1.84%/月(无需转换)

技术实现

代码语言:javascript
复制
contract StablecoinConverter {
    struct CollateralConfig {
        bool isSupported;
        bool needsConversion;
        address convertTo;  // 转换为 DAI
    }

    function convertToVenusCollateral(address token, uint256 amount)
        internal returns (address outputToken, uint256 outputAmount)
    {
        if (token == DAI) {
            return (token, amount);
        }
        // USDT/USDC 自动转换为 DAI
        outputAmount = _swapOnPancake(token, DAI, amount);
        return (DAI, outputAmount);
    }
}

三、架构核心决策:资金隔离方案

这是今天最重要的架构决策!

3.1 问题:谁是 Venus 的借贷方?

方案一:协议合约统一借贷

代码语言:javascript
复制
所有用户 → BlockLever 协议合约 → Venus(单一账户)

方案二:每个用户独立借贷

代码语言:javascript
复制
用户 A → UserProxy A → Venus(账户 A)
用户 B → UserProxy B → Venus(账户 B)
用户 C → UserProxy C → Venus(账户 C)
3.2 方案一的致命缺陷

假设两个用户:

代码语言:javascript
复制
用户 A(保守):
- 抵押 10 ETH (20,000 USDT)
- 借款 5,000 USDT
- 个人健康因子:3.4(非常安全)

用户 B(激进):
- 抵押 100 ETH (200,000 USDT)
- 借款 160,000 USDT
- 个人健康因子:1.06(濒临清算)

协议整体(Venus 视角):
- 总抵押:110 ETH (220,000 USDT)
- 总借款:165,000 USDT
- 整体健康因子:1.13

如果 ETH 暴跌 15%:

代码语言:javascript
复制
用户 A:
- 个人健康因子:2.89(仍安全)
- 应该:不被清算 ✅

用户 B:
- 个人健康因子:0.90(触发清算)
- 应该:被清算 ❌

协议整体:
- 健康因子:0.96 < 1.0
- Venus 清算整个协议
- 结果:用户 A 无辜被清算!❌❌❌

这是绝对不能接受的!

3.3 最终方案:UserProxy 模式

我们采用 Instadapp DSA 同款的架构设计:

代码语言:javascript
复制
┌─────────────────────────────────────┐
│     用户交互层                       │
│  用户 → BlockLeverProtocol (主入口)  │
└──────────────┬──────────────────────┘
               ↓
┌─────────────────────────────────────┐
│     代理层(资金隔离)                │
│  BlockLeverFactory                   │
│    ├─ UserProxy A (用户 A 专属)      │
│    ├─ UserProxy B (用户 B 专属)      │
│    └─ UserProxy C (用户 C 专属)      │
└──────────────┬──────────────────────┘
               ↓
┌─────────────────────────────────────┐
│     外部协议层                        │
│  Venus (独立账户)                     │
│  PancakeSwap                         │
│  闪电贷                               │
└─────────────────────────────────────┘

核心优势

  1. 完全的风险隔离
    • 用户 A 被清算 → 仅影响 UserProxy A
    • 用户 B 完全不受影响
    • 每个用户只对自己的风险负责
  2. Venus 健康因子独立
    • Venus 为每个 UserProxy 独立计算
    • 清算决策基于个人风险
    • 公平、精确
  3. 会计简单
    • Venus 数据 = 用户真实数据
    • 无需复杂的内部记账
    • 易于审计
  4. 成本可接受
    • 首次开仓:+$0.15(部署 proxy)
    • 后续开仓:+$0.03
    • 换来完全的资金安全
3.4 技术实现:EIP-1167 Minimal Proxy

为了优化 gas 成本,我们使用 EIP-1167 标准

代码语言:javascript
复制
import "@openzeppelin/contracts/proxy/Clones.sol";

contract BlockLeverFactory {
    address public immutable implementation;
    mapping(address => address) public userProxies;

    function getOrCreateProxy(address user) external returns (address) {
        if (userProxies[user] == address(0)) {
            // 仅 45 bytes 的极简代理,部署成本 ~50k gas
            address proxy = Clones.clone(implementation);
            IUserProxy(proxy).initialize(user);
            userProxies[user] = proxy;
        }
        return userProxies[user];
    }
}

成本对比

  • 传统部署:~2,000,000 gas ($35)
  • EIP-1167:~50,000 gas ($0.90)
  • 节省:97.5% 🎉

核心数据总结

成本分析(持仓 30 天)

做多 ETH

代码语言:javascript
复制
开仓:0.59 USDT (闪电贷 + swap)
持仓:0.66 USDT (Venus 利息 8% APR)
平仓:0.59 USDT
总计:1.84 USDT (1.84%)

做空 ETH

代码语言:javascript
复制
开仓:0.69 USDT (含稳定币转换)
持仓:1.23 USDT (Venus 利息 15% APR)
平仓:0.695 USDT
总计:2.615 USDT (2.62%)

对比传统 Perp

维度

BlockLever

GMX V2

dYdX

Hyperliquid

最大杠杆

5x

50x

20x

50x

资金费率

无(仅借贷利息)

0.01%/小时

0.01%/小时

0.01%/小时

清算空间(2x)

41%-79%

~4%

~10%

~4%

流动性来源

Venus+PancakeSwap

GLP 池

订单簿

订单簿

开发成本

低(聚合)

高(自建)

高(自建)

高(自建)

适合用户

稳健交易者

高风险偏好

专业交易员

专业交易员

BlockLever 的差异化定位

  • ✅ 更安全的清算空间
  • ✅ 更低的开发和运营成本
  • ✅ 无需启动流动性
  • ✅ 适合中长期持仓(<30 天)

技术亮点

1. 闪电贷实现杠杆

传统杠杆需要多次借贷循环,我们通过闪电贷一次完成:

代码语言:javascript
复制
传统方式(4-5 笔交易):
存 100 USDT → 借 75 USDT → 买 ETH → 存 ETH → 借 60 USDT → ...
Gas 成本:~$5-8

闪电贷方式(1 笔交易):
闪电贷 100 USDT → 买 ETH → 抵押 → 借 USDT → 还闪电贷
Gas 成本:~$2-3

效率提升:60%+

2. 透明的稳定币转换

用户无需关心 Venus 的限制,协议自动处理:

代码语言:javascript
复制
// 前端代码
openShort({
collateral: "USDT",  // 用户只需选择 USDT
amount: 100,
leverage: 2
})

// 后端自动处理
if (collateral === "USDT") {
// 自动转换为 DAI
// 用户完全无感知
}

3. 资金完全隔离

每个用户拥有独立的智能合约账户:

代码语言:javascript
复制
用户 A 的资产 → UserProxy A (0x123...) → Venus 账户 A
用户 B 的资产 → UserProxy B (0x456...) → Venus 账户 B

独立清算,互不影响

最后小结

这次开营,我除了让 AI 最后帮我生成了这份研发日志,还生成了另外两份详细的文档:

  • BlockLever 杠杆机制详细设计
  • BlockLever 架构决策:借贷方案设计

另外,为了让这次实战营的童学们(包括后续陆续加入的)学习每一节视频时,能更方便地查看文档和代码,我会将每一节视频都创建一个单独的 github 分支。

在前一篇文章我还提过,实战营的模式能把学习效率提升到 60%~70% ;能把 学习时间压缩 5–6 倍,成本降低近 85%同样的投入时间,实战营的学习价值约为自学的 4.8 倍。 这些其实都很说明了实战营这种模式的真正价值。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-11-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Keegan小钢 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目概述
  • 今天的核心工作
    • 一、杠杆机制设计
      • 1.1 做多 ETH 的实现逻辑
      • 1.2 做空 ETH 的实现逻辑
      • 1.3 清算保护机制
    • 二、Venus 抵押品限制问题
      • 2.1 问题发现
      • 2.2 解决方案:透明转换层
    • 三、架构核心决策:资金隔离方案
      • 3.1 问题:谁是 Venus 的借贷方?
      • 3.2 方案一的致命缺陷
      • 3.3 最终方案:UserProxy 模式
      • 3.4 技术实现:EIP-1167 Minimal Proxy
  • 核心数据总结
    • 成本分析(持仓 30 天)
    • 对比传统 Perp
  • 技术亮点
    • 1. 闪电贷实现杠杆
    • 2. 透明的稳定币转换
    • 3. 资金完全隔离
  • 最后小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档