做 OTC 交易的全部意义,就在于挪动规模而不惊动市场——可一到链上结算,规模又被广播了出去。 交易桌和基金之所以走场外,正是为了避免发信号。但最终的结算转账是一笔公开的 Solana 交易:它点出了双方交易对手的钱包、精确的金额,以及发生的那一刻。任何盯着看的人都能看到某个特定钱包刚收到一大笔货,从而推断出这笔交易,抢跑你的下一步,或干脆把你的账本映射出来。你走 OTC 买来的那份私密性,在结算这一步上烟消云散。
这篇文章讲的是如何补上这道缺口——在 Solana 上结算 OTC 大额交易,而不公布一份通往你仓位的路线图。
一笔公开的结算泄露了什么
一笔朴素的结算转账,一次性把四样东西交到观察者手上:
- 你的交易对手。 两个钱包现在在链上相连。只要其中之一可归属——一个已知的交易桌、一个被打了标签的基金钱包、一个碰过交易所的地址——这层关系就暴露了。
- 你的仓位规模。 那一整块货明明白白地易手。对一个正在建仓或平仓的基金来说,规模就是信号。
- 你的时间。 你何时结算,也就大致是你何时执行。
- 一根可以扯的线头。 从收款钱包出发,观察者能盯着这块货接下来去了哪儿——进了 DEX、进了质押、被拆分到多个钱包——从而重建你的策略。
只藏住金额救不了你:交易对手的关联和时间依然公开,单凭这两样就足以让盯梢者映射关系,并从周边活动推断规模。真正必须消失的,是两个钱包之间的那条边——参见加密金额并不等于私密。
通过屏蔽池结算
解法是把结算做成从一个共享池子里的提款,而不是一笔直接转账。付款一方存入屏蔽池;结算用一份零知识证明作为提款交付给交易对手。链上是:来自某个钱包的一笔存款,和一笔毫不相关、抵达另一个地址的提款——没有任何一条边把两张交易桌绑在一起,也没有公开的"交易桌 A 在时刻 T 精确支付了交易桌 B 多少"。什么是屏蔽池是机制;Relayer解释了为什么收款方连 gas 都不需要就能收款。
这具体给一个交易团队带来什么:
- 交易对手不可关联。 两个钱包永远不会被一条结算边连起来。
- 规模隐私。 配合金额卫生(见下文),这块货的规模就不再是一个干净、孤立的信号。
- 资产灵活性。 用交易约定的资产结算。如果交易以 USDC 计价但以 SOL 注资,就在提款内部兑换,而不是事后做一次公开的兑换——私密地把 SOL 兑换成 USDC。
在大规模下更要紧的纪律
OTC 大额交易体量大,这让Solana 钱包隐私清单里那套日常卫生习惯更重要,而非更不重要:
别当金额异类。 从一个典型 note 是 50 SOL 的池子里提出一笔 50,000 SOL,会直接指向那唯一一笔可能给它注资的存款。规模恰恰是你一旦马虎、匿名集合就会坍塌的地方——Solana 上的匿名集合讲解了为什么。对于大额结算,把它拆成若干笔随时间分布的、取整的子结算,往往就是融入人群与孤零零出风头之间的区别。
有意识地利用延迟。 一笔存款和一笔结算挤在同一分钟里,无论证明如何,都会在时间上相关。让存款在池子里成熟,并把结算与执行拉开间隔,是你花钱买来的那份私密性的一部分。隐私延迟详解。
全新的结算地址。 一个带先前可归属历史的交易对手钱包,无论池子那一段多干净,都会把交易重新连起来。选择收款地址。
留意结算之后的线头。 如果收到的这块货立刻进入一个可辨识的策略,下游又会重新接上推断。把结算地址当成一个干净的起点,而不是通往你常用钱包路上的一跳。
直白地说说边界
屏蔽池移除的是链上的那条边;它并不能抹掉你交易对手已经掌握的信息,如果规模太有辨识度、排除法照样能认出你,它也帮不上忙。一个掌握链下数据、国家级别的观察者,或一笔大到在池子里根本没有同伴的结算,就超出了任何公开匿名集合单凭一己之力能做到的范围。SolMask 无法保护你免受什么以及威胁模型是诚实的边界。
对于大多数交易桌层面的私密性——不让公开市场从区块浏览器上读出你的交易对手、时间和规模——通过池子结算并合理设定规模,正是合适的工具。从/swap开始。
FAQ
问:走 OTC 不是已经让我的交易私密了吗? 答: 它让谈判和执行离开了交易所,但链上的结算转账是公开的——交易对手、金额、时间一览无余。私密结算补上了单靠 OTC 覆盖不到的那一步。
问:一块大到无法融入人群的货,我该怎么结算? 答: 把它拆成若干笔随时间拉开间隔的、取整的子结算,这样就没有任何单笔提款能明显对应到某一笔存款。一笔孤立的异类金额,正是规模隐私失守的地方。
问:如果我以 SOL 注资,能用 USDC 结算吗? 答: 能——在提款内部兑换,这样就不会有一笔单独、可关联的兑换。参见私密地把 SOL 兑换成 USDC。
问:交易对手需要 SOL 才能收到结算吗? 答: 不需要。Relayer 负责广播并支付网络手续费,所以结算地址无需 gas——这也意味着双方都不必从一个可归属的钱包给它注资。