在 SwapX 上构建时的注意事项
将 SwapX V2 集成到另一个链上系统时,必须特别小心避免安全漏洞、操纵途径和潜在的资金损失。
首先需要说明的是:智能合约集成可以在两个层面进行:直接与Pair合约集成,或通过Router集成。直接交互提供了最大的灵活性,但需要做最多的工作才能正确完成。中介交互提供的功能更有限,但安全保障更强。
SwapX V2 主要存在两类风险。第一类风险涉及所谓的“静态”错误。这些错误包括在交换期间向一对交易发送过多代币(或请求返回过少代币),或允许交易在内存池中停留太久,导致发送者对价格的预期不再准确。
可以通过相当简单的逻辑检查来解决这些错误。执行这些逻辑检查是路由器的主要目的。那些直接与配对交互的人必须自己执行这些检查(在库的帮助下)。
第二类风险是“动态”风险,涉及运行时定价。由于以太坊交易发生在对抗环境中,因此天真的智能合约可以而且将会被利用来牟利。例如,假设智能合约在运行时检查 SwapX 池中的资产比率并进行交易,假设该比率代表这些资产的“公平”或“市场”价格。在这种情况下,它很容易受到操纵。例如,恶意行为者可以在天真的交易之前和之后轻松插入交易(所谓的“三明治”攻击),导致智能合约以极差的价格进行交易,以牺牲交易者的利益为代价从中获利,然后将合约恢复到原始状态,所有这些都以低成本进行。(一个重要的警告是,这些类型的攻击可以通过在流动性高的池中或以低价值进行交易来缓解。)