The Web3 社区产品课程--交易所风控“链上监控”模块项目产品设计

一. 项目概述

链上监控项目出发点是监控 ETH,BSC,Arbi, Op, Sol 等区块链网络攻击事件,提前预知攻击和套利等事件,提前暴露风险,帮助项目方做风险提前感知;监控策略和交易模改策略协同配合,发现攻击事件,通过交易模拟控制风险。提供事前感知,事中处理和事后分析等服务;监控的维度包括合约创建、合约调用、交易内存池等。

监控的项目首先考虑的是 Token, defi 和 NFT等项目,后期可以扩展到整个行业,提供开放 API,其他项目可以通过 API 提交他们要监控的项目,如果项目方的项目比较特殊,我们也可提供策略容器,他们可以定制自己的策略丢到策略容器里面运行。

二. 项目架构设计

我们的项目大概分成用户层,业务层,策略层和区块链网络层,下面是我们整个项目的架构设计。

看了上图,相信大家已经知道我们的项目的大体的架构设计了,我们这里说一下,我们各个层需要干的事儿,还有就是我们为什么这么设计。区块链网络层我这里就不再赘述了,相信大家已经看明白了。我先说一下策略层,策略层是我们整个项目的核心,我们打算做一个策略容器来装载各种策略,策略层需要做的事儿就是把策略执行拿到的数据丢给业务层,业务层根据报警组件,交易描述等匹配规则去做报警并处理数据存储,以供分析人员来获取数据分析,用户也可以通过业务层去配置自己的策略组合,更好的使用我们策略容器里面的策略。

为什么我们要把策略层和业务层分离,我的想法是策略层你可以单独去实现策略,这些策略在策略层是单独存在的,各个策略之间互不影响,业务层要做的事组合整个策略出来的数据和调度策略为公司业务服务。这里举一个简单的业务场景,Mempool 监控策略 + 交易模改策略可以组合提供给钱包端使用,钱包发交易的时候可以先调度交易模改策略执行看整个交易的预期结果,如果符合预期就广播交易,广播完的交易进入 Mempool, Mempool 监控策略又可以为这笔进入Mempool 交易进行监控服务。由此可以看出来,这样分层的优势就是策略层只专注策略,业务层专注业务组合,驱动策略层为业务服

三. 项目功能性模块

我们整个项目涉及到的功能模块主要有策略,策略容器,业务层的各种规则引擎,下面我们以报警,交易描述匹配,策略配置引擎和交易模改为例子说明相关的功能模块的业务流程。

1. 报警业务流程

2. 交易描述匹配引擎业务流程

3. 策略配置引擎业务流程

4. 交易模拟业务流程

四.项目策略

1. 匿名合约创建/调用监控

攻击者在攻击某项目时会实现利用合约来完成一整个攻击流程,链上的操作都依赖gas费,攻击者在发送攻击之前, 需要有一个干净的、有足够ETH来支付gas的来隐藏自己的身份,那么这些gas 的来源, 多数场景下同样来自混币器。

因此我们分析如果从混币器出金的地址有部署合约的行为那么极大可能是攻击合约,我们对该合约的后续调用持续监控就可以及时预警攻击行为。

2. 闪电贷合约创建和调用监控策略

闪电贷一般用于大额套利、价格操纵攻击、治理攻击等,闪电贷的使用需要实现一个合约在一笔交易内来完成借贷、使用、归还整个流程,因此我们可以监控新创建的合约中是否有用于闪电贷使用的回调函数的特征来判断部署的合约是否是闪电贷合约。

3. 巨鲸钱包金额动向

对链上巨鲸地址的大额资金动向监控。

4.主流 Defi 项目 TVL 监控策略

对链上大型Defi项目的质押/借贷池进行监控, 遇到大额资金动向进行报警, 分析其行为是恶意攻击,巨鲸自身行为还是行情剧烈波动导致的.

5. 交易模拟策略

该策略主要是通过事前交易执行,模拟该交易在 ETH 区块链网络上的最终执行状态,或者模拟 mempool 里面处于 pedding 状态的交易执行的最终状态,当然提供对 pedding 状态的交易进行模改,例如 Gas, to, amount 等的模改。这个策略的用户主要有两个方面,第一个是交易执行前对交易的未来状态做出准确的判断,第二个是可以进行交易模改,然后做交易抢跑策略。细节的我就不在这里描述了,可以去看我的代码实现。模拟策略的整体业务流程图如下:

6. Mempool 监控策略

Mempool 监控策略其实蛮简单的主要是监控 mempool 的交易推送给业务层分析,如果有风险交易,报警并启动模改策略进行交易抢跑。细节的就不在这里赘述了,大家有兴趣的去看我们的代码,业务流程图我也不画了,没有意思,都是大同小异的东西。

7. 跨链交易监控

未做设计,目前只有一个简单的思路,实现复杂度也比较高,后面会深入研究之后做设计。

五. 项目的应用前景分析

  • 对于 B 端用户而言: 对于 Defi 项目方而言,需要这样一个项目为他们的项目保驾护航,做事前态势感知,事中的交易抢跑,事后的数据分析;
  • 对于 C 端用户而言: 为 Defi 投资者保驾护航,可以帮助用户分析项目方的风险,及时做出应对措施,以达到减少损失的风险;
  • 对安全从业者而言: 可以提前洞悉黑客的攻击姿势,做出应对措施,为公司或者团队减少损失。
  • 针对公链而言:可以直接做公链监控项目,可能会需要一些改动,但整体的改动应该也很小,不需要再重新为公链项目开发监控项目。
  • 针对企业的业务线: 本套系统做为了可以为企业的的 EVM 上的 钱包,Defi, NFT 等项目提供风险感知。

六. 总结

整个项目如果按照这个思路去做,不但做到层与层之间解耦,还能做到策略之间解耦,策略容器可以装载任何的策略,策略与上层业务之间交互使用内部 RPC 的效率也是很高的,能够高效快速的传输数据,对于 ETH 系列网络来说,我们可以封装公共的模块与底层的区块链网络交互,各个策略可以调用该公告模块的方法与区块链底层数据进行交互;可以做到一套代码,多条链使用。

留言
全部评论(0)