概述
Blur作为新兴的NFT交易市场,凭借其创新的合约设计与交易机制迅速崛起。本文将从技术角度深入解析Blur核心合约的功能架构与实现原理,帮助开发者与交易者更好地理解这一平台的工作机制。
核心合约构成
BlurSwap合约
BlurSwap合约主要负责处理聚合交易逻辑,该合约fork自GemSwap项目,代码结构基本一致。合约地址:0x39da41747a83aee658334415666f3ef92dd0d541
BlurExchange合约
作为Blur自建的交易市场核心合约,BlurExchange采用中央订单簿交易模型,与OpenSea类似,由链下中心化订单簿和链上交易执行两部分组成。
合约特性:
- 采用可升级合约设计,当前实现合约地址:0x983e96c26782a8db500a6fb8ab47a52e1b44862d
- 支持单订单与批量订单处理
- 集成多重签名验证机制
交易架构解析
整体模块划分
- BlurExchange:主执行合约,处理交易撮合与执行
- PolicyManager:订单交易策略管理组件
- MatchingPolicy:订单匹配策略逻辑
- ExecutionDelegate:代币转移执行代理
关键数据结构
enum Side { Buy, Sell }
enum SignatureVersion { Single, Bulk }
enum AssetType { ERC721, ERC1155 }
struct Fee {
uint16 rate;
address payable recipient;
}
struct Order {
address trader;
Side side;
address matchingPolicy;
address collection;
uint256 tokenId;
uint256 amount;
address paymentToken;
uint256 price;
uint256 listingTime;
uint256 expirationTime;
Fee[] fees;
uint256 salt;
bytes extraParams;
}订单匹配机制
执行流程
订单匹配通过execute()和bulkExecute()函数实现,最终调用内部_execute()方法完成交易撮合。该过程包括:
- 订单哈希计算与参数验证
- 签名验证(用户授权与预言机授权)
- 订单匹配策略检查
- 资金与NFT资产转移
- 交易状态更新与事件触发
签名验证系统
Blur采用双重签名验证机制确保交易安全:
用户授权(User Authorization)
- 支持单笔订单签名和批量订单签名
- 批量签名采用Merkle Tree结构优化验证效率
预言机授权(Oracle Authorization)
- 可选验证方式,由Blur服务器提供额外签名
- 通过区块高度范围限制签名有效期
- 实现零Gas成本订单取消功能
支付与资产转移
支持的支付方式
Blur目前支持三种支付货币:
- ETH(原生以太币)
- WETH(包装以太币)
- BlurPool(Blur专属资金池)
资产转移机制
资产转移通过ExecutionDelegate合约执行,支持:
- ERC721代币转移
- ERC1155代币转移
- 灵活的费用分配机制
交易策略管理
PolicyManager合约
PolicyManager负责管理交易策略白名单,当前支持的策略包括:
- StandardPolicyERC721(普通版):基础ERC721交易策略
- StandardPolicyERC721(预言机版):支持预言机验证的ERC721策略
- SafeCollectionBidPolicyERC721:集合出价安全策略
策略特性分析
SafeCollectionBidPolicyERC721策略专门为Blur Bid功能设计:
- 不校验特定tokenId,支持集合级别出价
- 限制只能接受出价(bid),不支持直接挂单
- 与Oracle Authorization紧密结合
Blur Bid创新功能
技术实现原理
Blur Bid功能通过巧妙的合约设计实现了用户体验的显著提升:
- 资金处理:使用BlurPool作为资金池,避免多次授权
- 订单取消:利用Oracle Authorization实现零Gas成本取消
- 集合出价:支持对整个NFT集合进行统一出价
与传统Offer对比
与OpenSea的Offer系统相比,Blur Bid具有明显优势:
- 取消订单无需支付Gas费用
- 资金利用率更高
- 操作流程更加简化
版税策略演进
Blur与OpenSea在版税策略上的竞争体现了不同的设计哲学:
- OpenSea:通过链上强制执行工具要求项目方集成
- Blur:采用灵活策略,既支持自有合约也集成Seaport
- 市场影响:最终推动OpenSea取消对Blur的黑名单限制
这一竞争过程促进了NFT交易市场整体体验的提升,为用户提供了更多选择。
技术特色与创新
批量处理优化
Blur通过Merkle Tree技术实现批量订单的高效验证,显著降低Gas消耗的同时保持安全标准。
灵活的策略系统
基于策略的设计模式允许快速迭代和功能扩展,为未来支持更多资产类型和交易模式奠定基础。
用户体验优先
从降低Gas成本到简化操作流程,Blur在技术实现上始终以提升用户体验为核心目标。
发展前景与挑战
当前限制
- 仅支持ERC721资产交易
- 功能仍在逐步完善中
- 需要进一步扩展资产支持范围
未来机遇
- ERC1155支持计划
- 拍卖功能开发
- 更多交易策略集成
常见问题
Blur如何实现零Gas成本取消订单?
通过Oracle Authorization机制,订单取消只需在链下撤销签名,无需链上交易,从而避免Gas消耗。
BlurPool与WETH有何区别?
BlurPool是专为Blur Bid功能设计的资金池,转移权限仅限于BlurExchange和BlurSwap合约,且无需approve操作。
Blur如何确保交易安全性?
采用双重签名验证(用户+预言机)、防重入保护、订单状态追踪等多重安全机制,确保交易流程的安全可靠。
为什么Blur Bid只能针对整个集合?
这是为了简化用户体验和提高资金效率,通过集合级出价减少操作复杂度,同时保持足够的灵活性。
Blur支持哪些支付代币?
目前支持ETH、WETH和BlurPool,未来可能扩展更多ERC20代币支持。
如何验证Blur合约的安全性?
所有核心合约都经过专业审计,且代码结构清晰,开发者可通过 Etherscan 直接查看合约代码和交易记录。