AI + Meme: Virtuals 协议与 Clanker 分析

中级1/13/2025, 7:56:55 AM
随着Spectral近期的安全事件以及之前对memecoin启动平台如Tokr.fun、Pumpup和Pump404的安全审计,我们将对Virtuals协议和Clanker的核心机制进行深入分析,并详细解读其功能设计,包括代币铸造、费用模型、流动性以及其他关键特性,同时帮助用户理解其安全要点。

随着memecoin的快速发展,Virtuals协议和Clanker站在创新的前沿,融合了AI智能体,吸引了大量用户。然而,随着AI+Memecoin的爆发,类似平台的安全事件再次强调了智能合约安全的重要性。

在Spectral近期的安全事件以及之前对memecoin启动平台如Tokr.fun、Pumpup和Pump404的安全审计后,Beosin将对Virtuals协议和Clanker的核心机制进行深入分析,并详细解读其功能设计,包括代币铸造、费用模型、流动性以及其他关键特性,同时帮助用户理解其安全要点。

Spectral安全事件

12月1日,Spectral表示其Syntax平台的Bonding Curve合约存在漏洞,约20万美元的流动性被提取,Syntax平台的访问也被暂时暂停。

根据分析,漏洞的原因在于AgentToken.sol中存在无限授权。当AutonomousAgentDeployer调用AgentToken中的transferFrom函数时,Syntax平台会收取税费。transferFrom函数(第90行)中存在无限授权,导致AgentBalances可以无限制地从AutonomousAgentDeployer处支出/转移Agenttokens。

攻击者通过调用AgentBalances转移AgentTokens,导致AutonomousAgentDeployer中的AgentTokens数量减少,从而引发Bonding Curve的价格计算错误:AgentToken的价格虚假上涨,随后黑客利用部分AgentToken交换大量$SPEC代币,导致Spectral协议的损失。

在此次安全事件中,由于合约的逻辑设计缺陷,黑客利用该漏洞和Bonding Curve操控价格。Spectral目前已修复漏洞,协议将在审计后恢复运营。

Virtuals协议

Virtuals协议建立在Base链上,提供了一个创建、拥有、使用和代币化AI智能体的协议。通过初始智能体发行(IAO),用户可以轻松创建或购买与AI智能体相关的代币,并与其互动。

在创建AI智能体时,Virtuals协议会生成相应的Bonding Curve。在AI智能体能够与用户互动之前,其对应的代币(FERC20格式)必须具有$420,000的市场价值。而Bonding Curve只接受$VIRTUAL代币作为支付方式。

FERC20是Virtuals协议定制的ERC20代币格式,主要限制每笔交易可以转移的代币数量:

在代币市场价值达到要求水平后,FERC20的代币持有者可以通过“unwrap”将其兑换为相应的AI智能体代币,以便在Uniswap V2的流动性池中进行交易。

目前,Virtuals协议已将其核心合约升级为AgentFactoryV4,包含3个关键组件:智能体代币、AI智能体的NFT、治理(veToken和DAO)。

1. 智能体代币

AgentToken是一个标准的ERC-20代币,可以通过调用executeApplication()然后调用_createNewAgentToken()来创建。

智能体代币有交易税。Virtuals协议会将收取的税款转换为$VIRTUAL,并回购并销毁相应的智能体代币。

2. NFT

NFT在Virtuals协议中作为AI智能体的锚,存储与其功能相关的关键信息:

此外,Virtuals协议中还有一种特殊类型的NFT——贡献NFT,用于记录用户的贡献:例如是否有增强模型、是否有数据集增加等,然后通过DAO投票奖励相应的用户。任何用户都可以通过贡献NFT赚取AI智能体的交易/代币收入,值得注意的是,管理员地址可以在没有投票的情况下直接创建奖励提案。

3. veToken 和 DAO

用户可以质押智能体代币/$VIRTUAL LP代币来获得Agent veToken。这些veToken代表用户在DAO中的投票权。当提出更新AI智能体的提案时,DAO通过互动评估分数来决定是否更新AI智能体:

Virtuals协议较为复杂,当AI智能体代币准备好进行交易时,涉及流动性注入和交易税,开发者需要关注地址验证、权限检查、是否存在重入漏洞以及代码实现的正确性。

Clanker World

Clanker World是一个基于Farcaster的代币发行协议,允许Farcaster客户端(如Warpcast)通过向@Clanker告知代币信息,Clanker会在Base上部署该代币。

由于AI智能体、meme平台和Web3社交热点的结合,Clanker吸引了大量关注,已发行超过3,500个代币,交易收入约为970万美元。

Clanker的核心合约Clanker.sol(0x9B84fcE5Dcd9a38d2D01d5D72373F6b6b067c3e1)负责代币的部署:

1. 创建代币

将新的ERC-20代币铸造到部署合约中:

2. 创建Uniswap V3流动性池

创建并完成流动性池的初始化:

为新部署的代币和WETH创建新的流动性仓位,默认设定流动性仓位的费用为1%。

3. 锁定流动性

创建流动性锁仓地址:

将流动性池的权限转移到锁仓地址,并完成初始化:

Clanker的合约清晰简洁,并没有使用Bonding Curve来为代币定价。相反,Clanker对代币交易征收税费,以减少复杂性。用户需要注意Clanker合约的访问控制问题,合约拥有者可以升级或弃用合约。目前,Clanker合约使用3-3多签来在一定程度上降低这一风险。

总结

在本文中,我们分析了Virtuals协议和Clanker协议的合约代码,包括它们的代币铸造、流动性池创建以及其他重要功能。开发者仍然需要关注项目运营层面和合约业务逻辑层面的安全,特别是在权限管理方面,防止因升级错误或代码设计不当导致资产损失。

免责声明:

  1. 本文转载自【beosin】,所有版权归原作者所有【beosin】。若对本次转载有异议,请联系 Gate Learn 团队,他们会及时处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. Gate Learn 团队将文章翻译成其他语言。除非另有说明,否则禁止复制、分发或抄袭翻译文章。

AI + Meme: Virtuals 协议与 Clanker 分析

中级1/13/2025, 7:56:55 AM
随着Spectral近期的安全事件以及之前对memecoin启动平台如Tokr.fun、Pumpup和Pump404的安全审计,我们将对Virtuals协议和Clanker的核心机制进行深入分析,并详细解读其功能设计,包括代币铸造、费用模型、流动性以及其他关键特性,同时帮助用户理解其安全要点。

随着memecoin的快速发展,Virtuals协议和Clanker站在创新的前沿,融合了AI智能体,吸引了大量用户。然而,随着AI+Memecoin的爆发,类似平台的安全事件再次强调了智能合约安全的重要性。

在Spectral近期的安全事件以及之前对memecoin启动平台如Tokr.fun、Pumpup和Pump404的安全审计后,Beosin将对Virtuals协议和Clanker的核心机制进行深入分析,并详细解读其功能设计,包括代币铸造、费用模型、流动性以及其他关键特性,同时帮助用户理解其安全要点。

Spectral安全事件

12月1日,Spectral表示其Syntax平台的Bonding Curve合约存在漏洞,约20万美元的流动性被提取,Syntax平台的访问也被暂时暂停。

根据分析,漏洞的原因在于AgentToken.sol中存在无限授权。当AutonomousAgentDeployer调用AgentToken中的transferFrom函数时,Syntax平台会收取税费。transferFrom函数(第90行)中存在无限授权,导致AgentBalances可以无限制地从AutonomousAgentDeployer处支出/转移Agenttokens。

攻击者通过调用AgentBalances转移AgentTokens,导致AutonomousAgentDeployer中的AgentTokens数量减少,从而引发Bonding Curve的价格计算错误:AgentToken的价格虚假上涨,随后黑客利用部分AgentToken交换大量$SPEC代币,导致Spectral协议的损失。

在此次安全事件中,由于合约的逻辑设计缺陷,黑客利用该漏洞和Bonding Curve操控价格。Spectral目前已修复漏洞,协议将在审计后恢复运营。

Virtuals协议

Virtuals协议建立在Base链上,提供了一个创建、拥有、使用和代币化AI智能体的协议。通过初始智能体发行(IAO),用户可以轻松创建或购买与AI智能体相关的代币,并与其互动。

在创建AI智能体时,Virtuals协议会生成相应的Bonding Curve。在AI智能体能够与用户互动之前,其对应的代币(FERC20格式)必须具有$420,000的市场价值。而Bonding Curve只接受$VIRTUAL代币作为支付方式。

FERC20是Virtuals协议定制的ERC20代币格式,主要限制每笔交易可以转移的代币数量:

在代币市场价值达到要求水平后,FERC20的代币持有者可以通过“unwrap”将其兑换为相应的AI智能体代币,以便在Uniswap V2的流动性池中进行交易。

目前,Virtuals协议已将其核心合约升级为AgentFactoryV4,包含3个关键组件:智能体代币、AI智能体的NFT、治理(veToken和DAO)。

1. 智能体代币

AgentToken是一个标准的ERC-20代币,可以通过调用executeApplication()然后调用_createNewAgentToken()来创建。

智能体代币有交易税。Virtuals协议会将收取的税款转换为$VIRTUAL,并回购并销毁相应的智能体代币。

2. NFT

NFT在Virtuals协议中作为AI智能体的锚,存储与其功能相关的关键信息:

此外,Virtuals协议中还有一种特殊类型的NFT——贡献NFT,用于记录用户的贡献:例如是否有增强模型、是否有数据集增加等,然后通过DAO投票奖励相应的用户。任何用户都可以通过贡献NFT赚取AI智能体的交易/代币收入,值得注意的是,管理员地址可以在没有投票的情况下直接创建奖励提案。

3. veToken 和 DAO

用户可以质押智能体代币/$VIRTUAL LP代币来获得Agent veToken。这些veToken代表用户在DAO中的投票权。当提出更新AI智能体的提案时,DAO通过互动评估分数来决定是否更新AI智能体:

Virtuals协议较为复杂,当AI智能体代币准备好进行交易时,涉及流动性注入和交易税,开发者需要关注地址验证、权限检查、是否存在重入漏洞以及代码实现的正确性。

Clanker World

Clanker World是一个基于Farcaster的代币发行协议,允许Farcaster客户端(如Warpcast)通过向@Clanker告知代币信息,Clanker会在Base上部署该代币。

由于AI智能体、meme平台和Web3社交热点的结合,Clanker吸引了大量关注,已发行超过3,500个代币,交易收入约为970万美元。

Clanker的核心合约Clanker.sol(0x9B84fcE5Dcd9a38d2D01d5D72373F6b6b067c3e1)负责代币的部署:

1. 创建代币

将新的ERC-20代币铸造到部署合约中:

2. 创建Uniswap V3流动性池

创建并完成流动性池的初始化:

为新部署的代币和WETH创建新的流动性仓位,默认设定流动性仓位的费用为1%。

3. 锁定流动性

创建流动性锁仓地址:

将流动性池的权限转移到锁仓地址,并完成初始化:

Clanker的合约清晰简洁,并没有使用Bonding Curve来为代币定价。相反,Clanker对代币交易征收税费,以减少复杂性。用户需要注意Clanker合约的访问控制问题,合约拥有者可以升级或弃用合约。目前,Clanker合约使用3-3多签来在一定程度上降低这一风险。

总结

在本文中,我们分析了Virtuals协议和Clanker协议的合约代码,包括它们的代币铸造、流动性池创建以及其他重要功能。开发者仍然需要关注项目运营层面和合约业务逻辑层面的安全,特别是在权限管理方面,防止因升级错误或代码设计不当导致资产损失。

免责声明:

  1. 本文转载自【beosin】,所有版权归原作者所有【beosin】。若对本次转载有异议,请联系 Gate Learn 团队,他们会及时处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. Gate Learn 团队将文章翻译成其他语言。除非另有说明,否则禁止复制、分发或抄袭翻译文章。
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Thailand, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.