
我们来看这样一个场景 - 你想把 Ethereum 上的 1,000 USDC 换成 Solana 上的一些 SOL。如果用传统的跨链桥,你需要先把 USDC 包装(wrap)一下,找一个跨链桥 (祈祷它别被黑),等上 20 分钟甚至更久才能达到最终确定性,支付高得离谱的手续费,然后再到另一条链上解包(unwrap)。等你折腾完,价格已经变了,你已经烧掉了 $50 的 gas,还开始怀疑人生,我去!
如果我告诉你有一种更好的方式呢?如果你只需要说一句 我想用我的 1000 USDC 换 100 SOL,剩下的事情就交给区块链去搞定呢?这正是意图(intent)要做的事情。它让你直接声明自己想要什么,而不用费尽周折地亲自去实现它。
你可以把 intents 理解为两种说法之间的区别:一种是告诉别人 “开车去超市,在 ilford high road 左转,停在 11 号车位,然后走到 5 号货架……”,另一种只是说 “给我买瓶牛奶”。结果本质上是一样的,但前一种方式是命令式的 (一步一步的指令),而后一种是声明式的 (你到底想要什么)。
从技术角度讲,intents 是一种经过签名的消息,它表达的是用户期望的结果,而不指定具体的执行细节。你不需要自己去构造复杂的交易序列,只需把你的意图广播给一个由 solvers (经验老到的参与者) 组成的网络,然后由它们相互竞争来满足你的请求。
一个意图示例长这样:
{
"user": "alice.near",
"intent_type": "token_swap",
"give": {
"token": "usdc.near",
"amount": "1000000000"
},
"receive": {
"token": "sol.near",
"min_amount": "100000000000"
},
"deadline": 1735689600,
"signature": "0x..."
}是不是很简单?Alice 根本不关心路由有多复杂,她只想用她的 USDC 换到她的 SOL,仅此而已。
对普通用户来说,跨链 DeFi 协议相当复杂。他们需要了解不同的协议,管理多种 gas 代币,还要在大量安全风险之间小心周旋。传统方案通常涉及:
意图把这个模式彻底翻转了过来。系统不再把复杂性推给用户,而是把它拉进一个相互竞争的求解器网络中。用户表达诉求,求解器负责搞定执行,大家都是赢家 🔥。
在这里,求解器(solver)是基于意图的系统的支柱。它们是专门的参与者,可能是做市商、AI agent,也可能是经验老到的交易员,它们在系统中相互竞争,来满足用户的意图。
它的工作方式是这样的: 当你广播一个意图时,多个求解器会对它进行分析,并提交相互竞争的报价。它们可能会通过不同的 DEXs 进行路由,使用链下流动性,甚至把你的意图和其他人的意图打包在一起,以获得更好的价格。最好的方案胜出。
现在,你可以把求解器想象成你的私人交易助理,它们了解每一个已接入的协议、每一个流动性来源,以及 DeFi 里的每一个优化技巧。它们通过提供比你自己操作更好的执行效果来赚钱,同时还能帮你节省大量时间。
基于意图的架构并不是一个全新的概念。UniswapX 率先在 Ethereum 上引入了这一概念,通过 Dutch auctions(荷兰式拍卖)处理了超过 $2B 的交易量,在这种拍卖中,“填单者(filler)” 相互竞争来完成兑换请求。
CoW Protocol 在此基础上加入了 batch auctions(批量拍卖)和 MEV 保护,累计交易量超过 $15B。他们的洞见是什么?通过批量处理意图并找到需求的双重巧合(coincidence of wants),他们可以在改善执行效果的同时消除 MEV。
但这些系统都还只是单链方案。UniswapX 在 ETH 生态内的交易中表现很好,但跨链呢?你又回到了复杂度地狱,欢迎回来!
NEAR Protocol 构建了第一个真正意义上的跨链意图系统。数据说明了一切:总交易量超过 $1.075B,2-3 秒的最终确定性,并且原生支持 Bitcoin,无需包装。
他们是怎么做到的?靠的是 Chain Signatures。借助多方计算(MPC),NEAR 的验证者可以共同为其他区块链上的交易签名,而不需要任何单一参与方持有私钥。这就像是拥有了一个适用于整个加密生态的万能遥控器。
import { createIntent, signIntent } from '@defuse-protocol/intents-sdk';
const intent = createIntent({
from: 'alice.near',
give: { token: 'usdc.near', amount: '1000000000' },
receive: { token: 'sol.near', minAmount: '100000000000' },
expiry: Date.now() + 300000
});
const signedIntent = await signIntent(intent, wallet);
await broadcastIntent(signedIntent);流程图:展示意图创建 → 求解器竞争 → 结算流水线这三个不同的阶段及其参与者

分发层(Distribution):用户创建意图的应用、钱包和交易所。
求解器网络(Solver Networks):去中心化的做市商、AI agent 或类似的参与者,相互竞争来满足请求。它们可以从 CEX、DEX 或链下来源获取流动性。
验证器(Verifier):确保意图原子化结算的 NEAR 智能合约。
核心验证逻辑如下:
fn execute_token_diff_intents(intents: &[TokenDiff]) -> Result<(), Error> {
let mut net_changes: HashMap<TokenId, i128> = HashMap::new();
for intent in intents {
*net_changes.entry(intent.token_in).or_default() -= intent.amount_in;
*net_changes.entry(intent.token_out).or_default() += intent.amount_out;
}
for (_, net_change) in net_changes.iter() {
if *net_change != 0 {
return Err("Non-zero sum transaction".into());
}
}
Ok(())
}这家伙确保了完美的平衡,在所有批量处理的意图中,每有一个代币流出,就会有等量的代币流入。
示意图:展示三层技术栈,以及数据在分发层、求解器网络和验证器之间的流动,包括 1Click API、MPC Network 和 Chain Signatures 等具体组件

让这一切能够规模化运行的秘诀之一,就是 1Click API,这家伙把端到端的所有复杂性都抽象掉了。开发者可以创建跨链意图,而无需考虑 MPC、Chain Signatures 或 solver routing。它负责从多个求解器那里获取报价,在 DEXs 和 bridges 之间选择最佳路由,监控执行过程,处理重试,甚至还负责 gas 优化和时机把控,所有这些只需要一次 API 调用,其他的一切都在底层帮你处理好了。
它看起来是这样的:
import { IntentsSDK } from '@near-intents/sdk';
const sdk = new IntentsSDK({
network: 'mainnet',
apiKey: process.env.NEAR_INTENTS_API_KEY
});
async function createSwapIntent(fromToken, toToken, amount) {
const quote = await sdk.getQuote({
tokenIn: fromToken,
tokenOut: toToken,
amountIn: amount,
slippage: 0.005
});
const intent = await sdk.createIntent({
tokenIn: { address: fromToken, amount },
tokenOut: { address: toToken, minAmount: quote.amountOut },
deadline: Date.now() + 300000
});
// watch the execution
sdk.watchIntent(intent.id)
.on('executed', (result) => console.log(`Done! TX: ${result.hash}`))
.on('failed', (error) => console.error(`Failed: ${error.reason}`));
}点击这里了解更多。
Defuse 正好展示了如何用意图构建生产级的 DEX 界面。你不需要管理复杂的路由逻辑,而是可以这样:
import { DefuseKit } from '@defuse-protocol/intents-sdk';
const defuse = new DefuseKit({ network: 'mainnet' });
const quotes = await defuse.requestQuotes({
tokenIn: 'ethereum:0x...',
tokenOut: 'solana:native',
amountIn: amount
});
const bestQuote = quotes.reduce((best, current) =>
BigInt(current.amountOut) > BigInt(best.amountOut) ? current : best
);
const result = await defuse.executeIntent(bestQuote);这样你就能获得:
客户端处理了所有的复杂性,用户只需要看到最优价格和最快的执行,然后就可以继续做别的事了。
Paycrest 把区块链意图与传统支付系统连接了起来。它的工作方式如下:
crypto-to-fiat 转换路径crypto 兑换成稳定资产,然后再转换为法币支付func (a *Aggregator) ProcessPaymentIntent(intent *PaymentIntent) error {
routes := a.findPaymentRoutes(intent)
bestRoute := a.selectOptimalRoute(routes)
switch bestRoute.Type {
case "crypto_to_fiat":
return a.executeCrossSystemPayment(intent, bestRoute)
case "direct_crypto":
return a.executeCryptoPayment(intent, bestRoute)
}
}主要的挑战在于连接加密货币和法币的跨系统支付。Paycrest 通过多个阶段来处理这个问题:
求解器竞争: 一个充满竞争的求解器市场可以确保链上执行的高效。随着网络中求解器数量的增加,竞争会压低成本,并提升用户的执行速度。这个开放市场还会推动对更多种类资产的支持,并允许接入更先进的求解器,比如能够执行复杂算法操作的 AI agent。
批量处理的网络效应:用户意图的数量越多,verifier 就越能把多个操作聚合成一笔经过优化的链上交易,这会把固定成本(比如 gas 费)逐渐分摊到众多用户身上,从而让网络上的每个人都享受到更低的费用和更高的资本效率。
多链并行化:意图可以在多条区块链上并行执行,这相比许多传统跨链桥的串行处理模式有了显著改进。一笔涉及 Ethereum、Solana 和 Bitcoin 上资产的复杂交易可以并发结算,从而缩短跨链交易的总时间和延迟。
简化复杂路由
这些机制把底层的运营复杂性对用户屏蔽了起来。下面的代码片段演示了用户如何在一次请求中,指定一笔多跳、经过 gas 优化的跨链交易:
const response = await fetch('https://api.near-intents.org/v1/quote', {
method: 'POST',
body: JSON.stringify({
tokenIn: 'usdc.near',
tokenOut: 'bitcoin:native',
routing: {
maxHops: 3,
excludeProtocols: ['slow_bridge'],
preferredSolvers: ['defuse', 'paycrest'],
gasOptimization: true
}
})
});API 会自动处理优化、时机把控和故障恢复。
做这件事的并不只有 NEAR。UniswapX 主导着 Ethereum 上的交易,CoW Protocol 在 MEV 保护方面表现出色,1inch Fusion 则提供 DEX 聚合服务。
将最新文章直接发送到你的收件箱。