FORT:一文了解A16z领投的安全赛道新秀Forta Network_skrumblenetwork

FortaNetwork是一个实时检测网络,用于区块链活动的安全和运营监控。Forta作为Web3监控赛道中的为数不多的去中心化项目,整体项目设计具有一定创新性。目前,Forta监控其用户超过360亿美元的TVL,并为Ethereum、Avalanche、Polygon等多条链上带来运行时监控和异常检测,未来应用相对较为广泛,叙事性强。早前该项目完成了2300万美元由a16z领投的融资,受到行业内广泛关注。投资概要

2009到2022年,区块链高速发展的这13年间,区块链行业发生了无数因黑客攻击、协议漏洞、私钥泄漏、内部作案导致的多起资金损失事件。2020年损失超过5.1亿美金,2022年仅前4个月的损失就已超过2021和2020年的总和。随着行业的发展,各种攻击手法层出不穷,Web3项目要想从现在的数十亿美金发展为未来的数万亿规模,安全问题是不容怠慢的。安全标准除了现在的常规审计和漏洞悬赏之外,整个行业从认知到实践都需要建立一套完整的解决方案。虽然从2015年以太坊主网上线以来,智能合约开发和安全实践已经发生了重大变化,智能合约审计和可重用代码库已经成为标准实践。然而尽管审计、代码库和其他技术在识别或预防代码中的错误和漏洞方面很有帮助,但它们的有效性是有限的。智能合约一旦在区块链上部署,风险状况就会发生变化。合约如何管理,如何与其他合约交互以及如何响应意外的市场事件都增加了额外的不确定因素。换句话说:代码可以工作,但智能合约仍然可能遇到问题,智能合约安全需要持续努力。一般情况下,开发者通常在程序运行时被动地收到用户反馈才会发现某些逻辑漏洞,这意味着有相当一部分漏洞只有在部署了以后才能被找到,而利用漏洞往往需要多笔异常交易才能完成。监控系统能够在一系列的异常交易中刚完成第一笔或者第二笔时发出警报,那将会为项目减少巨额损失并且帮助团队修复该漏洞。所以监控系统在Web3世界中是必不可少的。目前多数监控方案都是基于中心化的系统来建立的,中心化监控系统的弊端在于无法以足够快的速度来覆盖新部署的智能合约。一旦一个去中心化的开源项目达到一个规模,它的发展势头将过于迅猛,中心化的监控方案在短时间只能够覆盖一小部分。为了解决这种问题,Forta选择使用去中心化的激励监控系统来确保对智能合约监控的高效部署,确保能够在第一时间对智能合约进行完备的监控。目前Forta已经度过测试网阶段并且正式启动,总体状况良好,并且在测试网阶段时监控到了InverseFinance的操纵价格预言机攻击并及时发出预警。但项目仍然有以下需要注意:目前的监控机器人模板较少,即使对InverseFinance的攻击发出预警,但警告模板并不是币价变动警告而是大额eth转账警告,容易让开发者忽略该警告。虽然目前的$FORT代币每周奖励总数固定,但是不同链的监控奖励份额仍然由团队来进行分配。$FORT代币赋能仍然不足,目前仅用于监控机器人启动质押和监控节点质押。订阅者目前可以免费使用Forta监控服务。FortaNetwork的机器人开发激励目前由基金会捐赠,并未发挥出去中心化系统的激励优势。1.基本概况

1.1项目简介

FortaNetwork是一个去中心化的实时安全和监控系统,适用于监控链上的DeFi、NFT、治理、跨链桥和其他Web3系统上的威胁和异常,通过为用户提供有关其系统安全性和稳定性的及时和有用的信息,让合约拥有者及时做出防御和补救措施,最大限度减少损失。FortaNetwork采用了无许可的去中心化激励模式。它利用$FORT代币激励来吸引节点供应商和监控机器人开发者加入该网络,在此基础上构建一个及时、完备、使用简单且覆盖广的监控系统。通过现有的监控机器人模板,合约开发者可以很轻松地通过无代码的方式来进行合约异常监控,或者使用forta-sdk自行编写监控机器人来进行一系列自定义监控。FortaNetwork还支持webhook通知方式,合约开发者可以利用该方式来进行自动化异常防御。FortaNetwork的最出色的亮点是将合约监控模块化、标准化、无代码化,让合约开发者无需耗费大量精力来单独做监控,可以将精力集中在防御措施的部署上。这让Web3世界更加安全,保护了大量用户的资产。FortaNetwork目前在Ethereum、Avalanche、Polygon等多条链上进行监控,同时与Lido、Compound、MakerDAO、dYdX和Balancer等多家知名Dapp达成合作,为其用户资产安全保驾护航。1.2基本信息

2.项目详解

2.1团队

FortaNetwork是由OpenZeppelin团队内部一个创新和跨学科的个人团队开发并引入社区的。Forta项目目前没有过多透露团队组成,但是从Forta的核心项目forta-core-go和forta-node在GitHub上的提交来看,大部分代码提交者都隶属于OpenZeppelin组织下或提交过OpenZeppelin相关代码。可以理解为Forta是OpenZeppelin公司中的一个下属团队,所有人员实际上供职于OpenZeppelin。可以查到的公开信息是:OpenZeppelin的CTOJonathanAlexander为Forta的联合创始人。OpenZeppelin建立了以太坊evm中应用最广泛的合约代码库,大多数现有的erc-20、erc-721、erc-1155代币都使用了OpenZeppelin的产品来进行无代码或者低代码创建。OpenZeppelin也与AAVE、以太坊基金会、Coinbase和TheGraph等知名项目或公司进行深度合作。JonathanAlexander,OpenZeppelin的CTO,同时担任FortaNetwork的联合创始人。1984年毕业于美国加州大学洛杉矶分校,2010.04-2016.03期间担任Vonage的CTO,负责Vonage的云通信平台的架构。2016.03-2020.03期间担任QASymphony/Tricentis的CTO,2020.04加入OpenZeppelin担任CTO。从JonathanAlexander履历可以看出,创始人有着丰富的软件管理,技术平台构建经历,职业技能相对比较符合Forta的技术产品定位,并且带领过前两家公司从小于500万美元到超过1亿美元的快速增长。Forta背靠知名公司OpenZeppelin,加上种子轮融资不俗的表现,在Web3世界已经打出了知名度。OpenZeppelin作为以太坊上标准的代码库创建者以及审计公司,其开发水平更是毋庸置疑。相信在未来Forta能带给用户更好的使用体验。2.2融资情况

2.3代码以及开发工具情况

Forta在GitHub上的代码贡献者多为OpenZeppelin团队人员,从OpenZeppelin的开源项目质量来看,团队对开发人员的筛选相当严格。forta-node项目为FortaNetwork节点运营商所运行的软件,需要团队进行预编译以及生成docker镜像后直接运行在运行商服务器中,代码并不会直接面对用户。该项目的单元测试比较完备,同时还进行了性能测试,以防出现服务器资源不足或内存占用过大的情况。但是该项目下仍然有几个标记为bug的issue至今没有被关闭。其中包括了7月20日v0.5.1版本自动更新没有生效的问题。还有几个在待办看板上标记为已废弃的问题但是没有在issue中关闭,体现出小团队对项目管理不够严谨的问题。forta-bot-sdk项目为FortaNetwork编写告警机器人的工具包,其中包含了cli和sdk两个模块。该项目的面向对象主要为JavaScript/TypeScript和Python开发者,开发者需要引用这个工具包来进行开发。由于该项目的代码会直接面向用户,所以该项目的文档以及changelog都相对更完备。但该项目中单元测试用例覆盖不足,仅仅只简单测试了cli部分,而对于sdk部分并未测试。issue中显示该项目在4月就计划增加Golang和Rust的版本,但可能由于开发人手不足至今并未上线。还有一些用户提出的issue已经有一段时间不活跃也并未进行关闭操作。总体来说,OpenZeppelin作为evm上最大的开源代码库提供商,整体的开发质量可以说是相当优秀,开发进展和项目可用性是可以获得足够保证的。美中不足是对内项目管理并没有那么严谨,但不影响整体项目质量。2.4技术详情

FortaNetwork中有两个模块、三个角色来维持网络运行。要了解整个网络的运行机制,我们需要了解这两个模块和三个角色2.4.1两个模块FortaNetwork有两个模块:告警机器人和扫描节点告警机器人:告警机器人是一段逻辑,用于在任何受支持的链上查找智能合约的某些交易特征或状态变化,也可通俗理解为是监控区块链的安全摄像头,作为开发人员可以对其进行编程并指定符合条件的内容进行监控。比如某合约更换治理的行为、更改合约某项关键设置、调用合约接口的某个方法中有异常的操作行为等。还可以对链上某个状态进行监控,例如某个代币在价格预言机中的价格变化监控,某个代币异常交易量监控,监控全网所有账户余额大额减少/增多。机器人开发者甚至可以在告警机器人中使用机器学习模型,利用机器学习来预测攻击者行为,在攻击开始前就阻止攻击者。在Forta开发人员的努力下,已经实现了无代码编写告警机器人,你不需要有任何编程背景,就可以对大多数合约设置监控条件,让普通人就可以轻松完成监控目的。扫描节点:负责扫描指定链的每个区块中所有交易数据,可以被认为是负责运行告警机器人并为它们从目标区块链获取数据的角色。当扫描节点中的告警机器人匹配到数据中的特定条件或事件时,就会向网络中发出警报,该警报将会储存在IPFS上,任何人可以通过FortaExplorer或者API订阅相关警报。2.4.2三个角色FortaNetwork中有三个角色:警报订阅者、告警机器人开发人员和扫描节点运营商警报订阅者:任何人都可以使用Forta来监控交易活动,并接受指定链上的安全、财务、运营和治理相关事件的警报。通常发布在FortaNetwork上的公用告警机器人都是开源的,每个人都可以自由订阅这些机器人以获得告警。告警的推送方式支持Email、Slack消息推送、Discordwebhook推送、Telegram机器人推送以及自定义webhook推送。订阅者可以利用自定义webhook方式来在告警触发的时候自动对合约进行防御性措施,达到防止损失的目的。假设订阅者需要隐藏告警机器人策略,防止攻击者阅读告警机器人代码后通过恶意触发告警的自动防御措施来扰乱项目正常运行,那么可以搭建一个私有网络,将机器人部署在私有网络上。该网络完全独立于Forta主网,并不参与公共告警机器人的分配。告警机器人开发人员:任何开发人员都可以在FortaNetwork上编写并质押一部分$FORT来发布告警机器人。由于基础的链上状态检测情况种类不是特别多,所以早期的公用基础检测机器人是由Forta基金会发布悬赏,奖励那些为FortaNetwork编写基础机器人的开发者。随着时间的推移网络上基础机器人模板逐渐完善,之后网络上发布告警机器人的基本会是有特定检测需求的协议、DAO或者机构。为了防止开发者编写恶意机器人通过邮件订阅发送垃圾邮件或滥用FortaNetwork节点资源,开发人员需要在启动机器人时质押至少100$FORT。扫描节点运营商:FortaNetwork的节点提供商,这些节点会针对每个区块所有数据来运行告警机器人脚本。为了确保网络中节点的稳定运行来使告警机器人能正常工作,目前节点运营商需要为每个节点质押至少500个$FORT代币。由于现阶段网络中节点数远远超过网络所需,Forta基金会已经通过提案,将在2022年9月30日左右将每个节点的质押量提升到至少2500$FORT代币。同时为了提高网络利用率,Forta基金会发起了将每台节点运行的告警机器人数量纳入节点奖励分配指标中的提案。Forta自2021年9月上线以来,社区就已经部署了超过650个检测机器人,并有2000个扫描节点参与到该网络,不间断扫描7条链的Dapp。截止到2022年8月,社区已经部署了超过1200个检测机器人,并有超过9000个扫描节点参与到该网络,增?势头可谓强劲。2.5运行机制和代币经济学

我们将会从告警机器人的视角来详细阐述整个工作流程以及代币经济学:在告警机器人被发布之前,Forta网络上会存在一系列扫描节点,这些节点将承载告警机器人的运行任务。这些节点的创建需要至少500$FORT的质押。机器人开发者将质押100$FORT来发布告警机器人。告警机器人发布后,网络会将机器人打包成一个Docker镜像来发送给网络中一个或多个优质节点,优质节点将会根据节点SLA分数来评判,一般当SLA分数高于0.9时就可以判断为优质节点。(SLA分数是资源得分、数据质量得分和正常运行时间得分的加权平均值之间的最小值)告警机器人检查扫描节点注册的链上每个区块数据,当告警机器人策略匹配上区块中的数据,将会利用Graphql向FortaNetwork服务器发送告警内容。FortaNetwork服务器收到告警后,首先将会把内容存放于IPFS中,然后再向订阅者预设的告警渠道发起告警通知。FortaNetwork每周将分配400,000$FORT代币用于奖励网络中符合要求的扫描节点,这也是目前代币产出的主要方式。$FORT代币除了用于质押扫描节点和告警机器人之外,还可以用于整个网络的治理投票,直接决定项目未来的走向。目前代币的分配情况如下:

代币分配目前可以分为两类:社区分配和早期贡献者分配社区分配:社区分配包括早期网络测试阶段的奖励、早期测试空投以及未来的一系列奖励分配,目前由基金会持有。原则上社区分配的部分并不会有强制锁定或转让限制,但为了保证社区长期利益一致,某些社区分配的接收者需要同意一些限制条款。例如在已分配的2.2%中,有大约1.2%的代币将会有2至4年的限制。为了公平原则,社区分配部分将不会与早期贡献者有任何交集。也就是获得早期贡献者的人将不会拥有社区分配。

早期贡献者:早期贡献者主要有支持者、初始核心贡献者和OpenZeppelin。支持者是指在项目早期为Forta提供包括但不限于资金、网络以及节点支持的社区成员。核心贡献者是指最早供职于OpenZeppelin并且参与到FortaNetwork的开发者,他们已获得了总量20%的代币。OpenZeppelin作为孵化FortaNetwork的母公司,将获得总量10%的代币。所有的早期贡献者将接受一年悬崖限制和四年线性解锁,这将于2021年9月1日开始计算,直到2025年9月1日这些代币将完全解锁。3.发展

3.1历史

3.2现状

3.2.1网络概况

截止2022年9月9日,FortaNetwork全完节点数量共计9949个,机器人共1243个,监控包括Ethereum、Polygon、BSC等7条链。3.2.2网络节点收益状况FortaNetwork中节点收益为$FORT流通量释放的一大来源。Forta基金会每周从预留的社区分配代币中提取400,000$FORT来奖励给网络中的所有符合要求的激励节点。400,000$FORT代币中分配给每条链的额度是不同的,但会根据网络情况来对每条节点进行不同分配以达到每条链上都有足够节点可用,防止某些链节点数量过低或资源溢出。截止2022年9月5日,单台SLA分数为1的节点能够每周获取大约57$FORT。按照官方对节点的最低要求配置在Contabo上租用服务器的每月费用为$12,加上当前币价为$0.23,粗略可以算出目前单台节点Apr为242.9%左右。在2022年9月30日后单台节点的最小质押量将会提升至2500$FORT,根据统计,当前全网质押加上提款冻结期的$FORT为700万个,假设当前所有币在9月30日之后都仍然是有效质押,那么全网节点最大数量为2800。假设每条链上节点数量比例与奖励分配比例一致,那么单台SLA分数为1的节点能够每周获取大约142$FORT,Apr粗略估计为218%左右。3.2.3使用情况在Forta基金会的激励下,FortaNetwork已有了一系列构建完成并发布在网络上的机器人。这些机器人都可以直接被使用者订阅,并且相当一部分项目已经采用了FortaNetwork来保证自己的安全,例如dYdX、Lido、MakerDAO、Polygon、Gnosis和Balancer。同时FortaNetwork还可以监控很多知名Dapp,以下将列出部分可直接订阅监控的项目去中心化交易所:Uniswap、Curve、Dodo、dYdX、PancakeSwap、Balancer、PerpetualFinance、ApeSwap借贷类:AAVE、AlpacaFinance、BenqiFinance、Compound、MakerDAO、Umee资产类:Lido、Polygon、pSTAKE、Staderlabs、Yearn其他:以太坊合并、PolyNetwork4.竞争

4.1行业概述

4.1.1监控系统是什么监控系统一般指有监控程序和收集资料能力的电脑控制系统。多用于工业程序、基础设施或设备中。在软件工程中,较常使用一些中心化的监控系统来对自己的程序进行监控和错误告警。类似于Prometheus这样的标准化监控系统已广泛应用在互联网行业中,Web3行业中一些前沿项目也时常会用Prometheus这种标准的监控系统来进行节点的监控。4.1.2Web3的监控与Web2有何不同Web3的监控与Web2的监控最大的不同就是Web3更需要监控及时覆盖应用。Web3需要及时覆盖的原因究其根本还是在于区块链上数据的不可篡改性。假设Web2中的服务出现一个漏洞被利用,但数据库和业务逻辑代码都托管在项目所有人自己可控的服务器上,一般来说并不会发生不可挽回的资产流失,因为项目所有人发现故障后可以自行更改数据,阻止资产损失。但Web3应用一般是建立在去中心化网络上,网络中节点达成回滚数据的共识是非常困难的。类似于2016年DAO事件被盗以太坊直接回滚数据的事情几乎不可能再次发生,这意味着理论上在去中心化网络上资产流失将是永久性的。所以Web3应用对监控的及时性要求远远高于Web2应用。4.1.3监控如何防止资产流失一般来说监控检测到一个用户关注的事件后,将会触发用户指定的行为。一般用户可能会指定的行为是邮件通知,但实际上这个行为可以被自定义化。假设使用了一个外部监控,用户可以利用webhook作为指定行为,当告警检测到事件后,可以通过webhook来触发用户事先设定好的防御性措施。下面是一个监控防止资产流失的简单例子:假设一个项目对自己的合约owner地址设定了监控,当检测到公共内存池中有改变合约owner地址的交易时,将会触发警报。这时该项目内部人员临时窃取了当前owner地址的权限,并试图通过发送交易的方式来将合约owner地址改为自己持有的某个地址。这时监控系统在公共内存池中扫描到了该交易,并且该交易尚未包含在区块中,此时监控就会触发一个项目持有者预设的webhook行为,自动通过owner地址发送一个更高gas的交易,将owner地址提前改为一个备用地址,这样攻击者将owner地址修改的交易就会失败,在攻击发生之前就进行阻止。

虽然上述例子总体阐述了监控系统是如何工作并且进行防御措施的,虽然实际情况将会比例子中复杂的多,但也绕不开这个基础框架。4.1.4监控系统的分类目前Web3行业监控系统大致可以分为中心化和去中心化两种模式。中心化监控的优势在于维护中资金成本相对较小,管理较为灵活。但缺点就是需要大量人力来进行监控的覆盖,在实际操作的时候很容易出现监控部署滞后或监控覆盖不全面的情况。用去中心化模式搭建的监控系统优点在于从网络层面上可以对监控机器人开发者进行激励,促使更多的开发者自发地来一同构建生态,实现监控需求的及时覆盖。但缺点在于网络层面上的激励方式制定较为困难。4.2竞品分析

对于监控系统来说,通常有几个核心要点进行产品横向对比:功能完备性:监控类型是否全面可配置性:监控阈值的可配置性扩展性:是否可以单独针对某个合约或功能监控,是否可以方便地添加相同类型的监控时效性:对于最新机制覆盖的及时性可用性:监控系统的高可用性4.2.1知名链上监控产品优缺点对比这里挑选了几款具有特点并且广泛使用的链上监控产品来进行对比Epns、Hal、Tenderly

上图能较为清晰反映出不同产品的侧重点Forta:好处是监控功能比较完备,0基础用户根据现有模板进行监控定制较为简易。受益于去中心化网络上的激励机制,针对不同类型链上行为的监控类型开发非常及时。同样由于网络模式为去中心化模式,系统可用性得到了一定保证。缺点是告警机器人无法进行参数配置,诸如“大额”“异常”这些字眼的具体阈值完全由告警机器人开发者定义,订阅者可配置的地方很少,整体较为傻瓜式。FortaNetwork虽然网络模式是去中心化,但仍然有某些功能需要通过中心化服务器完成,给系统的高可用性埋下隐患。Epns:Epns更为注重个人钱包的监控,优点是订阅各大应用时可以直接通过查看个人钱包的关注内容来发送相关提醒,例如订阅Snapshot就会直接根据钱包的关注列表来提醒新提案,省去用户单独配置的成本。缺点是监控内容较少,功能更新不及时。Hal:优点是已经将现有的DeFi、NFT监控基本功能开发完毕,并且对于流动性、贷款/存款利率、代币价格、大额成交量、链上借款抵押率等一系列指标都有现成监控。Hal还可以对上述指标进行一些参数配置,相比起FortaNetwork订阅者无法修改“大额”“异常”的具体阈值来说是一大亮点。缺点是Hal较为依赖自己的开发者来进行各类监控的开发,时效性欠佳。Tenderly:Tenderly的特点是可以对合约的任意方法任意条件进行监控,监控的自由度极高。优点在于订阅者可以完全根据自己所想来配置一个监控机器人。缺点就是需要订阅者对监控的合约有深入了解,并不适合普通用户来使用。Tenderly同时也缺少合约监控以外的功能,例如flashbot检测,扩展性仅仅只体现在对合约的监控。产品角度来说,FortaNetwork虽然存在订阅者难以配置监控,现有的告警机器人阈值可能不适合一些项目拥有者来进行自定义监控。但由于去中心化网络激励的存在,势必会有一批开发者愿意根据订阅者的需求来进行参数定制。同样随着FortaNetwork的发展,告警机器人的参数配置也一定会被开发。4.3总结

虽然Web3安全已被提及了许多年,合约审计、代码开源等一系列关乎资产安全的行为越来越被用户重视,但目前Web3安全赛道仍然处于非常早期的阶段。诸如dYdX、Lido这些知名项目都已采用了Forta说明了Web3的安全防御在未来的区块链合规化中一定是无法绕过的话题。同时还有大量的项目并未采用监控的方式来保证合约安全,也侧面说明了安全赛道的增量市场是一个非常庞大的数量,OpenZeppelin在2021年就推出了Forta说明已经瞄准了这片蓝海。正如OpenZeppelin在过去四年中引领了以太坊evm的合约开发标准,相信凭借着Forta的前瞻性OpenZeppelin也能在未来引领Web3行业安全方案的标准。5.风险

1)去中心化网络对告警机器人激励不足目前网络上对告警机器人的开发暂时还没有激励,目前的激励来源是基金会举办的机器人开发竞赛和Gitcoin捐赠。从这个角度来看FortaNetwork的去中心化网络并未发挥它的长处,但近几个月社区也有关于机器人开发激励的讨论,Forta的开发人员也很重视该提案,相信在不久就会推出详细的激励机制。2)行业对于安全重要性认知不足有别于DeFi、公链、Layer2这些直接或间接提升普通用户使用体验上限的赛道,安全是一个提升下限的赛道。当整个行业都处于狂热状态时,大家都更关注区块链的上限在哪里,而不是关注它的下限。安全赛道的重要性很有可能还需要很长一段时间来等待行业来发掘。3)社区相反意见对抗激烈在9月17日结束的FP-3投票中显示,大约有51.03%的$FORT被投到了反对票,导致了FP-3提案被拒绝。这在大型社区中并不常见,多数的投票都会以一方占有70%以上票数结束。虽然这一定程度上反映了社区对于该项目的关注,但同时也表明社区不同意见的两方利益冲突较大,这在一定程度上可能会阻碍项目进度以及发展。参考资料FortaNetwork官方资料官方文档:https://docs.forta.network/en/latest/网络情况统计:https://explorer.forta.network/network团队GitHub主页:https://github.com/forta-network历史大事件:https://twitter.com/FortaNetwork/status/1567591457531527170?s=20&t=LbAJO2Tv7TWOqtBibinhKQ团队管理委员会组成:https://docs.forta.network/en/latest/governance/《Forta》:https://blockchain.capital/forta/融资信息:https://a16z.com/2021/09/30/investing-in-forta/Forta网络数据统计:https://dune.com/Sector920/fortaForta社区提案:https://snapshot.org/#/forta.eth关于SACTEAuniqueandirreplaceableinstitutiondedicatedtotheemergingfrontierofcrypto.Website|Twitter|Medium|Mirror

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:0ms0-3:927ms