发布于 2026-01-06 1 阅读
0

Hermes:基于 Stellar 的去中心化永续交易所

Hermes:基于 Stellar 的去中心化永续交易所

这是参加“在 Stellar 上构建更美好的未来:智能合约挑战赛:构建一个去中心化应用”的参赛作品。

我们建造了什么

Hermes 是一个基于 Stellar 区块链的去中心化永续交易所,旨在为交易者提供高达 100 倍杠杆的交易能力。您可以在我们的演示中了解其运作方式。该平台的设计灵感主要来源于 Solana 上的 Jupiter 交易所——并非直接复制其代码(因为 Jupiter 并非开源项目),而是借鉴其系统架构和交易机制。

我们的永续交易所采用流动性提供者(LP)对交易者的模式,利用流动性池和预言机提供高达100倍的杠杆。这种结构确保了零价格冲击、零滑点、零点差和充足的流动性。预言机对于在清算期间维持市场稳定运行至关重要,它能最大限度地降低持仓破产的风险,并保护流动性提供者池免受潜在损失。

用户只需一步即可完成开仓和平仓,无需额外账户或操作,从而简化了交易流程。此外,我们还集成了智能钱包功能,使用户能够一键签署交易并使用生物识别数据,进一步简化了用户交互。目前,我们的平台不收取任何费用,且每位用户仅允许持有一个仓位,但我们计划未来收取费用并支持持有多个仓位。

当用户向流动性池存入资金时,他们会收到相应数量的 SLP 代币作为回报。这些 SLP 代币之后可以兑换,用于提取池中的可用资产。要确定用户存入一定金额后能获得多少 SLP 代币,可以使用以下公式:

new_slp = (deposit_value * total_slp) / total pool value.
Enter fullscreen mode Exit fullscreen mode

新增SLP的数量取决于存款金额、流通中的SLP总量以及资金池的总价值。当用户决定赎回其SLP时,可提取的金额按以下方式计算:

(turned_in_slp / total slp) * total_poolvalue = amount_to_withdraw
Enter fullscreen mode Exit fullscreen mode

资金池会努力维持 XLM 和 Orbit USD 之间的目标比例,这体现在用户存入或提取资产时。目前,我们维持 XLM 和 Orbit USD 50/50 的目标比例,但该比例可能会有所调整。这意味着,如果资金池保持平衡,则任何存入资金池的 XLM 和 Orbit USD 数量必须相等。如果资金池出现不平衡(例如,由于价格波动),则理想情况下,存入资金的比例应力求恢复资金池中 50/50 的平衡。同样的原则也适用于提现。

重新考虑资金池50/50比例的原因之一是为了获得更有利的资产利用率。如果资金池中未使用的XLM过多,流动性提供者将面临XLM价格下跌的巨大风险。然而,流动性利用率也不应过高,因为资金池仍需能够处理大额提现订单。

交易示例

长期交易情景

交易员投入 100 个 XLM 作为抵押品(XLM 价格为 0.10 美元),并开立了一个 5 倍杠杆多头头寸。该头寸从资金池中借入了 500 个 XLM(价值 50 美元)。

如果价格上涨10% 至 0.11 美元,交易者将获得价值 5 美元的 XLM,或者在平仓时获得 50 XLM,而 450 XLM(50 美元)将返还给资金池。

  • 资金池的美元价值并未下降,但XLM的数量略有减少。用户收到的美元更多,因为150 XLM约合16.5美元。

如果价格下跌10% 至 0.09 美元,交易者在平仓时将损失价值 5 美元的原始 XLM 或 55.55 XLM,而约 555.55 XLM(50 美元)将返还给资金池。

  • 资金池的美元价值并未下降,但XLM的数量略有增加。用户收到的美元数量减少,因为45.45 XLM约合4美元。

短期交易情景

交易员投入 10 美元作为抵押,XLM 价格为 0.10 美元,并开立了一个 5 倍杠杆的空头头寸。该头寸从资金池中借入 50 美元(500 XLM)。

如果价格下跌10% 至 0.09 美元,交易者平仓时将获得价值 5 美元的 oUSD ,而 45 oUSD(500 XLM)将返还给资金池。

  • 资金池损失了 oUSD,但由于持有等值的 XLM,因此用户将收到 10 oUSD。

如果价格上涨10% 至 0.11 美元,交易者平仓时将损失价值 5 美元的 oUSD ,并且 55 oUSD(500 XLM)将返还给资金池。

  • 资金池已获得 oUSD,但由于持有等量的 XLM,因此用户将收到 5 oUSD。

我的代码

这是我们的 GitHub 仓库

旅行

Hermes 的开发历程充满挑战,这主要得益于我们在 OrbitCDP 上的努力——OrbitCDP 是一个能够为所有货币创建去中心化稳定币的协议。Hermes 和 OrbitCDP 的结合将把外汇交易引入 Stellar,从而进入一个日交易量高达 7 万亿美元的市场。

学习曲线非常陡峭,尤其是在掌握定点数学以进行智能合约中的精确计算方面。这些知识对于实现复杂的杠杆交易金融模型至关重要,包括仓位管理和清算机制。
我们尤其为以下两方面感到自豪:

  • 我们的数学实现:从定点数学中获得的见解使我们能够创建高效的杠杆交易模型,这构成了我们系统的支柱。
  • 智能钱包集成:我们整合了 kalepail 开发的合约,提高了安全性和易用性。

虽然我们的重点是智能合约和数学模型,但我们也开发了一个美观且用户友好的前端,用于与平台进行交互。

Stellar 社区的支持至关重要,我们使用了生态系统用户编写的多个库,Discord 上的支持也非常好。展望未来,我们计划扩展 Hermes,以支持更多交易对并实现多仓位支持。我们还计划添加一套全面的费用结构,包括开仓和平仓费、清算费以及持仓时间费。这些费用将有助于扩大流动性池规模,从而确保流动性提供者获得足够的回报。其他计划中的功能包括高级交易选项,例如止盈/止损订单,以及用于最大限度降低流动性提供者风险的利用率管理系统。

这段历程极大地拓展了我们在区块链金融系统领域的专业知识。我们很高兴能继续与 Stellar 生态系统共同成长,并不断突破去中心化杠杆交易的边界。

我们的团队:

  • 诺蒂尚辛格
  • 约斯特姆巴克
  • 罗伯特
  • brent_tenboom
文章来源:https://dev.to/notishansingh/hermes-decentralized-perpetual-exchange-on-stellar-2l12