【开发】Chia Swap的新谜题

【开发】Chia Swap的新谜题

我们发现了另一个可以窃取的谜题——“利用杠杆来改进我们的产品。” https://github.com/Yakuhito/tibet/tree/master/clsp

我们的初步基准显示每秒 0.7-1.1 次操作(交换、增加流动性、移除流动性)的新容量。做了几个假设,但可以肯定地说新版本比旧版本好得多!我们非常感谢大家的支持。从甚至提供代码片段来帮助我们进行自动化测试的@trepca,到查看我们的代码并分享他们知识的(其他)chialisp 大神,没有你们就没有 TibetSwap。谢谢!

Yakuhito的说明:

这是指来自 chia-internal-custody 的 p2_merkle_tree(https://github.com/Chia-Network/internal-custody)其中一对可以处理 3 个基本操作:

  • 添加流动性
  • 移除流动性
  • 交换(Swap)

【注意】:交换(xch -> 代币和代币 -> xch)非常相似,将它们组合成一个谜题是微不足道的。

以前的谜题最大的设计挑战是如何构建对(Pair)。有些位用于所有操作(例如,重新创建货币对、花费储备金),但有些部分特定于每个功能(例如,计算新储备金的部分)。之前的代码使用了一堆 if 语句来工作,包含了所有可能操作的逻辑,所以让这对谜题变得非常复杂。在 Chia,您为花费的谜题揭示和解决方案中出现的每个字节付费。有人指出你可以通过使用 p2_merkle_tree 来解决这个问题。在高层次上,这个谜题允许你:提供一个始终运行的“核心”谜题——这是当前所有操作中使用的代码所在的位置。

提供所有特定于操作的代码的 merkle 根(每次花费只有一个会运行)——如果你不熟悉它们,你一定要查找 merkle 树;这基本上就像存储您可以运行的所有可能的特定于操作的谜题的哈希列表。

因此,要回到@TibetSwap 的工作原理,您只需揭示您想要在给定支出中运行的特定于操作的谜题(根据白名单进行检查)。这意味着整个支出占用的字节更少,从而降低了成本。这是令人兴奋的,因为可以使用相同的机制来实现更多、截然不同的功能。拿Solidity做类比,核心程序就是函数选择器(可以自定义),而具体操作的函数就是函数代码本身。当您将它与单例结合使用时(存在函数访问和修改的状态),您会得到与智能合约非常相似的东西。有一种方法可以处理映射(我称之为“票ticket”)。

想要了解更多 Chia 生态发展情况,可以进入https://chiahub.co/进行了解,Chiahub是目前Chia 生态最全面的导航工具,为全球 Chia 爱好者提供最全最新的生态信息服务

原创文章,作者:admin,如若转载,请注明出处:https://news.chiahub.co/202304122034091064.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息