(十)web3面试题第三弹
1.什么交永续合约?什么交交割合约?
永续合约是“不过期的合约”,靠资金费率锚定现货
交割合约是“有期限的合约”,到期必须自动结算
2.资金费率?
资金费率是根据永续合约价格与现货价格之间的差异,定期在持有多头或空头头寸的交易者之间进行的资金支付。
⬆️ 在看涨市场中,资金费率为正,多头交易者向空头交易者支付资金费。
⬇️ 在看跌市场中,资金费率为负,空头交易者向多头交易者支付资金费。
一般交易所不收取资金费率转移的手续费,这些费用直接在交易者之间进行结算
资金费率 = 溢价指数 + 利率项
3.资金费率怎么得来的?
对于【永续合约】这种“没有交割日的衍生品”才有资金费率
资金费率由两个组成部分构成:利率和溢价。
其中,溢价是确保永续合约价格与标的资产价格趋同的关键因素。
LBank 采用固定利率,假设持有现金等价物的回报高于持有 BTC 等价物。
默认利率为每天 0.03%(每个资金费率间隔为 0.01%),但可能会根据市场条件(如联邦基金利率的变化)进行调整。
当永续合约价格与标记价格之间存在显著价差时,会使用溢价指数来强制实现价格趋同。
溢价指数针对每种交易工具单独计算,公式如下:
✅ 溢价指数(P)计算公式:
溢价指数(P) =[Max(0, 影响买入价格 − 现货价格) − Max(0, 现货价格 − 影响卖出价格)] / 现货价格
其中:
影响买入价格:购买名义影响量的价格
影响卖出价格:卖出名义影响量的价格
4.永续价,现货价,标记价,指数价?
| 名称 | 你看到的是什么 | 真正用途 | 会不会被操控 |
|---|---|---|---|
| ✅ 现货价 | 现货市场真实成交价 | 真实买卖价格 | ❌ 很难 |
| ✅ 永续价 | 你合约下单的价格,合约市场自己的成交价 | 决定你盈亏的价格 | ✅ 容易被影响 |
| ✅ 指数价 | 多家现货均价,多家主流现货交易所的加权平均价 | 定价“锚点” | ❌ 基本不可操控 |
| ✅ 标记价 | 用来强平的价格,指数价+合理溢价修正 | 决定你爆不爆仓,保护多数正常交易者 | ❌ 按规则算 |
一句话总结:赚钱看永续价,爆仓看标记价,公平看指数价,真实买卖看现货价
5. 强制平仓
指当账户的保证金不足以维持当前仓位时,系统自动接管仓位并平掉,以防止继续亏损到负值。
本质:仓位亏损太大 → 保证金不够用了 → 系统强制关闭仓位。
强平价格一般由 标记价格(Mark Price) 触发,而不是最新成交价。
6. 什么情况下会触发强制平仓
强制平仓的根本原因只有一个:维持保证金率(MMR)≥ 强平触发阈值(风险过高)。
常见触发场景包括:
- 行情反向导致浮亏过大
仓位亏损吃掉保证金
MMR 持续上升到危险区
达到阈值 → 触发强平 - 仓位过大、杠杆过高,保证金不足
杠杆越高,MMR 上升越快
小波动也能导致触发强平 - 标记价格触发爆仓价
强平以“标记价格”为准
防止恶意成交导致爆仓 - 市场极端波动或流动性差
无法及时平仓
系统风控强制接管
7. 强制平仓下的系统操作
触发强平后,系统会进行以下操作(不同平台细节略有不同):
分步平仓(Partial Liquidation)
系统首先尝试:
只平掉部分仓位
观察 MMR 是否降低到安全区
若有效 → 停止强平
若无效 → 继续下一步
(此步骤能减少滑点与用户损失)进入强平引擎(Liquidation Engine)
若分步平仓无法恢复安全:
系统接管剩余仓位
以最优速度将仓位平掉
用户无法再手动操作仓位极端行情下触发自动减仓 ADL(Auto-Deleveraging)
当:流动性极差 or 市场剧烈波动 or 强平引擎无法顺利平仓
系统会:
对高杠杆、高收益用户进行自动减仓
降低整体平台风险
- 强平完成后通知用户
平台会向用户展示:强平价格,强平数量,剩余保证金(可能为 0),强平原因(MMR 达到阈值等)
8.现货WS推送渠道
| Channel | 推送对象 | 粒度 |
|---|---|---|
grid-orders-spot |
现货网格的主订单 | 较粗 |
grid-orders-contract |
合约网格的主订单 | 较粗 |
grid-sub-orders |
每一条小网格委托(子订单) | 最细 |
9.合集出价,合集转移,合集转账(批量提币的gas优化)
合集出价:
订单不指定 tokenId,设置一个条件过滤:如某个 NFT 系列的合约地址
卖家任意持有该系列的 NFT,都可以“成交”此订单
合集转移:
指批量把某个合集中的多个 NFT 一次性转给别人
传统 ERC-721(不支持批量),每个 TokenId = 1 次链上调用,每次ERC721 transfer = 消耗 40k ~ 60k gas
① 用 ERC-721A(Azuki)
特点:支持连续 Mint → 节省 gas
但不支持批量 transfer。只优化 mint。
② 采用 ERC-1155
ERC-1155 支持:
1 | safeBatchTransferFrom(...) |
一次交易转移多个 tokenId,gas 大幅降低。
③ 自定义批量转移合约(最常用)
1 | function batchTransfer( |
优点:
多笔 transfer 合并为一笔交易
gas 显著降低(约 30~50%)
钱包、CEX、NFT 市场都常用这种方案
缺点:
still loops → gas > 80k per NFT
无法突破 ERC721 的限制
④ DelegateCall 聚合器(合约钱包风格)
由用户授权一个合约来批量调用 transfer:
user allows aggregator to move tokens
aggregator multicalls all transfers in one transaction
类似 Gem.xyz / Blur Sweep 的操作。
节省 gas 20–50%
10.Erc711 approve-token授权哪些场景下会用到这个token授权?
- NFT市场挂单出售
- NFT拍卖(拍卖合约需要在拍卖结束时把 NFT 交给赢家)
- 链游(GameFi)NFT 装备 / 道具使用
1
2
3
4
5
6
7链游的 NFT 通常用于:
上链装备
召唤合成
NFT 锁仓
NFT 质押
大部分操作需要游戏合约“移动 NFT”,否则游戏合约无法从你钱包把 NFT 转入游戏逻辑 - NFT 质押(Staking)/ 抵押借贷(NFTfi / BendDAO
- 批量转移 / 批量提取(Aggregator / 汤姆猫 Sweep 机器人)
- 空投 Claim(某些 NFT 空投需要授权)
1
2
3
4
5
6
7
8
9你持有某 NFT
项目方空投新 NFT 或合成 NFT
可能会:
销毁旧 NFT
转走你的 NFT
替换成新的
这些“转移行为”都需要授权。
(但正规的空投应该只 require signature,不应该 require approve —— 否则容易钓鱼。) - CEX/钱包托管(托管的钱包代操作 NFT)
- 批量销毁(Burn)/ NFT 进化(Upgrade / Merge)
- Title: (十)web3面试题第三弹
- Author: viEcho
- Created at : 2025-12-09 17:59:55
- Updated at : 2025-12-09 19:34:33
- Link: https://viecho.github.io/2025/1209/web3-interview3.html
- License: This work is licensed under CC BY-NC-SA 4.0.