使用Hydra实施拍卖项目

该项目是 Input Output Global, Inc. (IOG) 和 MLabs Ltd. (MLabs) 之间的合作,旨在开发使用 Hydra 协议的拍卖的参考实施。 这样做的目的有两个:

证明现在可以使用 Hydra 当前的实现为有价值的用例开发大量应用程序。
建设性地确定 Hydra Head 协议设计并使其与 Cardano 生态系统中的具体现有用例保持一致,并简化开发人员对协议的采用。
希望这个项目以及专注于其他用例的类似项目将为 Cardano 社区开辟道路,开始在常规实践中使用 Hydra 实现可扩展性。

九头蛇头协议
Hydra 是一系列旨在为 Cardano 提供第 2 层 (L2) 可扩展性解决方案的协议。 Hydra Head 协议是该系列中的第一个协议——它是一套智能合约和软件,允许任何一组参与者相互建立同构的多方状态通道(Hydra Heads)。 该项目将使用 Hydra Head 协议。

Hydra Heads 允许参与者使用他们带入状态通道的资金相互进行交易,而无需将这些交易提交给 Cardano 的主网络(L1)。 Hydra Head 参与者之间这些交互的最终结果可以通过关闭 Hydra Head 返回到 Cardano L1,这会释放 Hydra Head 内的资金,用于其他 Hydra Head 或 Cardano L1。

Hydra Head 内的交易与 Cardano L1 上的交易具有相同的格式和属性——它们是同构的。 原则上,这允许 Cardano DApps 在将他们的一些智能合约转换为使用 Hydra 时重用他们代码库的很大一部分。

这种同构属性的一个例外是,在 Hydra Head 中铸造/销毁代币不会影响 Cardano L1。 Hydra Head 在 Cardano L1 上唯一可以实现的是将现有令牌从提交给 Hydra Head 的 UTXO 重新分配到新的 UTXO。 这是根据参与者在 Hydra Head 内部同意的交易完成的。

Cardano L1 和 Hydra L2 的共识协议也存在一些差异。 这可能需要现有的 Cardano DApps 调整他们的设计,以便他们可以在 Hydra Head 环境中保持他们想要的行为。 特别是,与 Cardano L1 不同,Hydra Head 参与者必须在 Hydra Head 运行期间都保持在线并相互响应,并且所有参与者都必须承认并同意 Hydra Head 内的每笔交易才能生效。

应用程序可以在单个 Head 中运行,也可以分布在 Hydra Heads 网络中。 当应用程序分布在 Hydra Heads 网络中时,其全局状态可以通过 Hydra Heads 之间的通信(绕过 L1)或通过将本地 head 状态同步到 L1 并在那里解析它们来演变。

有一个不断发展的 Hydra Head 网络拓扑目录,每个拓扑都有其优点/局限性。 随着更多应用程序将构建在 Hydra 上,该目录有望扩展。 其中一些拓扑用于我们下面讨论的基于 Hydra 的拍卖设计。

有关 Hydra 的更多信息,请参见此处。

拍卖项目业务分析
在该项目的发现阶段,进行了业务分析以更好地了解 Cardano 上的拍卖空间以及它如何利用 Hydra 扩展技术。

IOG 和 MLabs 调查了广泛的 Cardano 项目建设拍卖和 NFT 市场,从中选择了四个项目进行深入访谈:

他们的拍卖用例的细节
他们对 Hydra 的益处和局限性的评估
他们对将 L1 拍卖智能合约过渡到 Hydra Head 环境可能需要的某些权衡的偏好
英式拍卖用例
我们发现,受访者普遍认为,该项目的参考实施应以具有标准特征的英式拍卖为目标。 所有受访者都计划在各自的平台内使用此类拍卖。

英式拍卖的核心特征如下:

卖家提供要在拍卖会上出售的产品(“拍卖批次”)——例如 一个 NFT。
当拍卖开始时,投标人可以开始出价,出价必须高于卖方定义的起拍价。
中标者必须支付他的出价。 这可以通过要求投标保证金来完全支持每个投标来保证,或者可以通过对拒绝投标的投标人处以金钱或名誉处罚来更弱地执行。
在拍卖期间,每个投标人可以至少以卖方定义的最小投标增幅来提高他的投标。
拍卖结束时:
出价最高的投标人应该收到拍卖品,
其他投标人应收到他们在拍卖中支付的任何投标保证金的退款,以及
卖方应在扣除适当费用后收到最高出价的收益。
英式拍卖中可能包含其他有用的功能:

立即买断价格——卖家可以设定一个价格,在拍卖期间可以立即购买拍卖品,以有利于直接买家的方式结束拍卖。
爆米花投标——如果在截止日期前仍有投标提交,则拍卖截止日期可以延长。
秘密底价——在拍卖开始之前,卖家可以设定一个秘密价格,最高出价必须超过该价格才能赢得拍卖。 拍卖结束时会公布底价,如果没有任何出价超过底价,则拍卖品将保持未售出状态。
一系列拍卖品——当一个拍卖品的投标结束时,投标人可以继续参与拍卖,因为该序列中的下一个拍卖品已开始投标。
除了他们将在其平台其他地方使用的英式拍卖之外,其中一位受访者还寻求实施荷兰式拍卖。 在荷兰式拍卖中,拍卖价格从高位开始,然后随着时间的推移自动下降,直到投标人同意以当前价格购买拍卖品——赢得拍卖。 虽然荷兰式拍卖的智能合约与英式拍卖的智能合约不同,但它们具有 Hydra 拍卖的大部分局限性。 因此,适当减轻 Hydra 限制的英式拍卖的参考实现对于荷兰式拍卖也很有用。

最终,受访者的偏好是优先考虑基于 Hydra 的拍卖实现,它提供核心的英语拍卖功能,同时充分减轻 Hydra 在拍卖用例中的局限性。 额外的功能也很不错,但是当项目根据自己的需要调整我们的参考实现时,它们可以由项目自己添加。 他们希望我们解决的首要问题是如何实现具有 Hydra 核心功能的功能性英文拍卖。

截至 2022 年 11 月,Hydra 拍卖的优势和局限性
在调查问卷和深度访谈中,受访者被问及 Hydra Head 协议对其项目的好处和局限性。 在深入访谈中,向受访者提供了有关 Hydra 的标准简报,以确保他们在回答有关优势和局限性的问题时正确了解该技术的工作原理。

卡尔达诺 L1 的局限性
调查受访者确定了在 Cardano 主网上运行一般应用程序的以下限制:

交易吞吐量不足以满足高频/大量用户交互。
交易完成时间太慢。
交易成本太高。
对于数据丰富的应用程序,数据存储容量太低。
很难在多个参与者之间可靠地链接交易。
前三个限制特别影响 Cardano 上拍卖项目的可扩展性和业务可行性:

低交易吞吐量会限制拍卖中的出价数量,这可能会阻止他们达到完整的销售价格。
缓慢的交易最终确定会减慢拍卖的节奏,降低投标人参与拍卖的兴奋/享受。
高交易成本会削减卖家和拍卖行的利润,或增加用户的参与成本。
Hydra 对拍卖的好处
受访者希望通过在他们的拍卖项目中使用 Hydra 实现以下好处:

更高的吞吐量和更快的交易完成将允许在拍卖中增加出价频率。
更便宜的交易费用(可能是零费用)将降低投标人、卖家和拍卖行的成本。
同构智能合约将允许在 L2 中大量重用 L1 智能合约,并可能在 L1 和 L2 之间灵活部署。 这可以降低开发和审计成本。
Hydra 拍卖的局限性
受访者确定了以下目前阻碍他们自行实施基于 Hydra 的拍卖的限制。

首先,不清楚如何在 Hydra Head 中运行零和游戏。 在简化的 head 协议中(目前在 hydra-poc GitHub 存储库中实现),任何 Head 参与者在任何时候都可以否决 Hydra Head 的进一步进化。 行使这种否决权让其他参与者别无选择,只能将 Hydra Head 关闭到 L1,并使用所有参与者在否决之前达成一致的最后一个 Head 状态。

对于在单个 Hydra Head 内进行的拍卖,这种否决权尤其成问题,因为它可以阻止拍卖有任何已确认的出价。 事实上,吨任何投标人都没有内在动机签署 Hydra Head 内任何其他投标人提交的任何投标,因为其他投标人的投标增加了投标人为赢得拍卖而必须支付的价格。

其次,只有在 Hydra Head 初始化中列出的参与者才能参与 Hydra Head(即没有新参与者可以加入),并且每个 Head 参与者都必须保持活跃并对其他参与者做出响应,以便 Hydra Head 继续运行(即没有参与者可以加入) 在不关闭所有参与者的 Hydra Head 的情况下离开)。 这是单头拍卖的一个重要限制,因为让新的投标人加入正在进行的拍卖是非常可取的。 此外,竞标者不希望被困在他们不再感兴趣的拍卖中,这甚至可能导致他们行使否决权过早关闭 Hydra Head——这对于单头拍卖来说是不可取的结果。

第三,Hydra Head 参与者只能使用他们在 Hydra Head 开放之前承诺的资金。 此限制存在于 Hydra(hydra-poc 存储库)的当前实现中,但当稍后在 Hydra 路线图中实现增量提交/取消提交时,它将被解除。 目前,这一限制有效地限制了任何基于 Hydra 的拍卖的最高可达到价格,该拍卖要求出价完全由出价者保证金支持。 此外,它还揭示了每个投标人的最大可能出价,其他有更多资金用于 Hydra Head 的投标人可以利用这一点。

受访者表示,要使基于 Hydra 的拍卖作为在 Cardano 上推出的产品可行,必须充分减轻所有这三个限制,但克服第一个限制对他们考虑提供一个特别重要的 在他们的平台上进行基于 Hydra 的拍卖。

单头拍卖设计
基本单头拍卖
在这个单一头部拍卖的基准设计中,卖家和所有投标人组成了他们为拍卖开放的 Hydra Head 的一组参与者。 考虑了几种减轻单头拍卖的 Hydra 限制的方法。

单个 Hydra Head 的参与者否决权可以通过以下方式减轻:

将单头拍卖作为一项允许更高频率出价的优质服务进行营销
在这些拍卖中列出更多有趣/有价值的产品以供出售
将向具有高声誉的充分 KYC 用户提供对这种高级服务的访问权限,并且拍卖人可以因不良行为而削减押金。 竞标者被激励在单头拍卖中真诚参与,以避免降低他们的声誉、失去使用此高级功能的机会和/或他们的押金被削减。

通过使用托管的 Head 拓扑可以减轻对参与者始终保持活跃并对 Hydra Head 中的所有参与者做出响应的要求,其中拍卖人提供基础设施以在 Head 参与者之间广播 Hydra Head 交易和签名,甚至运行一些 Hydra Head 软件代表参与者。 在这种拓扑结构下,参与者仍然保留拒绝同意 Hydra Head 内任何交易的权利,但现在拍卖师可能会审查参与者之间的通信。

为了减轻拍卖中只有预先承诺的资金可用的影响(在增量承诺/取消承诺在 Hydra 上变得可用之前):

要求所有投标人将相同数量的资金存入 Hydra Head,这样就支付能力而言,没有投标人比其他投标人具有信息优势。
使用“立即买断价格”功能,并将该价格设置为投标人参与拍卖的定期保证金要求。 任何理性的投标人无论如何都不会出价高于即时收购价格,因此这样的拍卖实际上不受 Hydra 限制的约束。
一些受访者表示,这种单头拍卖设计的简化变体可能在他们的平台上可行。

单头秘密拍卖
这种设计可能只在拍卖的一个相当小众的应用中有用,但它被包含在这里作为一个说明性的例子,因为从技术上讲,它可以消除投标人对 Hydra Head 中的其他投标人行使否决权的大部分理性激励 .

在这里,在 Hydra Head 开放之前设置拍卖时,投标人需要设置各自的初始秘密出价。 当 Hydra Head 打开时,直到拍卖结束,竞拍者可以更改自己的秘密竞拍新竞拍,新竞拍可能低于或高于他们之前的竞拍。 这样一来,投标人一般应该没有什么动机去否决彼此的投标,因为他们不知道新的投标是比以前低还是高。

当然,本次拍卖中出价的保密性受限于(作为上限)他资助每个投标人对 Hydra Head 的承诺。 但是,可以使用与常规单头拍卖相同的技术来减轻此限制。

受访者对这种设计并不是特别热衷,因为它不允许参与者在拍卖结束前随时知道最高出价是多少,也因为不清楚在拍卖期间能够调整秘密出价对用户有多大价值 一段时间。

委托托管拍卖
在这种设计中,一组代表负责保管拍卖品和竞标者的拍卖保证金。 投标人通过代表代理人向Hydra Head提交投标,所有代表必须签署投标才能生效。 每次出价都必须得到 Hydra Head 内投标人资金的支持。

这种设计的一个显着优势是它消除了卖家和投标人始终在线并响应 Hydra Head 参与者以继续进行拍卖的要求。 此外,每个投标人只需要在他提交给拍卖的投标书上签名。 只有为拍卖运行 Hydra Head 共识的代表才需要在拍卖期间在线并做出响应,并且他们可以因可靠地提供此服务而获得报酬。

竞拍者可以离线闲置,只要他们不希望进行任何新的竞拍,并且拍卖品存入 Hydra Head 后不需要卖家参与。 与基于非托管的基于 Hydra 的拍卖相比,这可能是一种更愉快的用户体验,在基于 Hydra 的拍卖中,卖家和投标人必须在他们的 Hydra Head 中签署他们收到的每笔交易。

这种设计的另一个优点是它消除了投标人的否决权,因为投标人不是 Hydra Head 的直接参与者,因此不能拒绝他们的签名以就拍卖中其他投标人的投标达成共识。

不幸的是,将拍卖品和投标人押金交给代表保管,代表们可以串通一气,从拍卖中窃取这些资金。 用户可能不愿意出售高价值的 NFT 或参与托管拍卖中的高额保证金。 如果进行托管拍卖,拍卖行服务本身可能会面临额外的监管负担和潜在的法律责任。

一些受访者不支持在 Hydra 上进行托管拍卖,认为这些拍卖与进行传统的 Web2 拍卖没有太大区别。 其他受访者表示,如果用户体验的改善超过托管的缺点,他们可能会考虑进行托管拍卖。

凭证拍卖
Hydra 网站上描述了这种设计。 它不强制中标者付款,但它允许投标人出价超过他们分别承诺给 Hydra Head 的资金。

拍卖师伪造并向每个投标人分发“投标桨代币”NFT,允许投标人在拍卖的 Hydra Head 中出价。 拍卖按照标准的英式规则进行,不需要投标保证金,然后在拍卖结束时,中标者将获得 L1 代金券。 中标者可以选择通过支付中标金额来兑换其代金券以换取 L1 上的拍卖品。

这种拍卖设计的一个主要优点是它需要很少的交易来打开和关闭 Hydra Head,从而导致非常低的设置成本并可能支持更多的 Hydra Head 参与者:

在提交阶段,只有投标桨代币需要存入 Hydra Head。 投标人资金和卖家的拍卖品不在 Hydra Head 之内,尽管拍卖品确实需要根据智能合约锁定,以便可以通过代金券赎回。
Hydra Head 关闭时唯一需要的扇出交易是将代金券支付给 L1 上的拍卖获胜者。
中标者可以选择兑换代金券,这意味着不能保证卖家在拍卖中获得报酬。 此外,它允许投标人提出他们不打算兑现的轻率和不合理的高出价,干扰诚实的投标人并可能完全破坏拍卖。

减轻这种不诚实投标问题的一种方法是要求每个投标人交纳一笔押金,如果投标人获胜,该押金可从中标价格中扣除,如果投标人失败则可退还。 如果投标人中标但未兑现其凭证,则卖方保留可扣除的押金。 扣除保证金可以消除投标人进行虚假投标的理性动机,除非他们从虚假投标中获得的利润超过扣除额。

凭证拍卖的不诚恳投标问题可以进一步缓解,与基本单头拍卖中缓解投标人否决权的方式相同。 如果代金券拍卖被营销为仅供 KYC 的具有高声誉的用户使用的优质服务,那么用户可能会避免如果拒绝中标会在平台上造成足够严重的声誉惩罚,那么就不会出价。 事实上,根据一位定期参加基于 Discord 的 NFT 拍卖的受访者的说法,声誉损失的风险通常足以强制中标者兑现他们的出价。

代金券拍卖
这种设计将代金券拍卖与代表运行的 Hydra Head 相结合。 这降低了代表串通直接从卖家和/或投标人那里窃取资金的风险,因为拍卖场和投标人的资金仍在 Hydra Head 之外。

本设计中的拍卖与代金券拍卖的工作方式相同,不同之处在于投标人通过 Hydra Head 代表通过代理将他们的投标提交到拍卖中,并且投标需要代表的多重签名才能影响拍卖状态 九头蛇头。 拍卖结束后,中标者会收到一张代金券,可以选择兑换 Cardano L1 上的拍卖品。

这种拍卖设计继承了委托保管拍卖的用户便利性优势,并继承了代金券拍卖的低 Hydra Head 设置成本和高投标人能力。 此外,通过递增的提交/取消提交,代表们可以将代金券发送给一次拍卖的获胜者,然后在随后的拍卖中为新的投标人重新使用投标桨代币,而无需关闭 九头蛇头。 因此,受托人可能有一个可行的商业模式,运行一个持久的头部,并将 Hydra Head 上的时间出租给各种拍卖。

与简单的凭单拍卖一样,可以通过要求每个投标人支付押金来缓解不诚恳的投标问题,如果投标人获胜并赎回拍卖品,该押金可从中标价格中扣除,如果投标人输了则退还,并没收给卖方 如果投标人获胜并且没有赎回拍卖品。

这种设计与简单的代金券拍卖之间的一个主要区别是投标人不再直接参与 Hydra Head。 这意味着不需要投标人的签名来授权 Hydra Head 内的任何状态转换,因此代表可以授权虚假申报投标人未提交的投标的交易。 当然,中标者可以选择不兑现这种虚假投标; 然而,如果拍卖中包含可抵扣保证金要求以打击不诚实的投标,那么中标者在拒绝虚假投标时将不得不没收其保证金。 例如,代表们可以与卖方勾结,分割中标者没收的保证金。

为了消除这种设计中虚假投标的风险,Hydra Head 中的每笔投标交易都可以产生一个 UTXO 数据,其中包括投标人对该投标的签名,中标人的投标签名应一直保存在数据中,直到发行 L1 上中标者的代金券。 凭证只有在其 UTXO 数据包含投标人对相应投标的有效签名时才有效; 否则,凭证无效,拍卖结果作废。

信任代表在 Hydra Head 中执行拍卖的另一个风险是,他们可以操纵拍卖,以便最高出价以外的出价赢得拍卖。 然而,代表们可能会因参与此类拍卖操纵而面临严重的声誉处罚,这将损害他们未来继续提供拍卖托管服务的能力。

进一步缓解委托人拍卖操纵风险将要求他们保留一份 Hydra Head 拍卖交易分类账的副本,这些交易导致了在 L1 上最终确定的特定拍卖结果。 拍卖分类帐的副本甚至可以在存储优化的区块链(例如 Arweave)或 L2 解决方案(例如 Logosphere)上存档足够长的时间。 如果投标人以操纵拍卖的指控对拍卖结果提出异议,则代表可以在链下争议解决过程中出示拍卖分类帐作为证据。

总的来说,这种设计在委托保管和凭证拍卖设计之间取得了适当的平衡。

Hydra Heads 网络上的拍卖设计
星型拍卖
此设计使用了 Hydra 网站上描述的星形 Head 网络拓扑。 在这里,集中式拍卖师与拍卖中的每个投标人打开一个单独的成对头部。 竞拍者将他想在拍卖中使用的资金投入 Hydra Head,而拍卖师不向 Hydra Head 投入任何资金,而只是在那里见证并用他的签名为竞拍者的出价打上时间戳。 拍卖师可以选择收取费用以向拍卖的投标人提供此服务。

拍卖用例可以在星形 Hydra 网络拓扑上实现,无需通过哈希时间锁定合约(HTLC)。 相反,在拍卖结束时,每个成对的头部都关闭,其出价者的最高出价被带回 Cardano L1,然后中标可以在每个头部的扇出期间有效地解决。 潜在地,可能会有一种机制来解决拍卖期间他们的 Hydra Heads 中失败的出价,如果他们不再希望继续出价,允许失败的出价者提前退出拍卖。

星形拍卖相较于单头拍卖的主要优势在于:

投标人无否决权。 投标人不能再否决彼此的投标,因为投标人分散在不同的 Hydra Heads 中。
非监护拍卖师。 这些成对的 Hydra Heads 中的拍卖师不能窃取投标人的资金,因为每个投标人在其各自的 Head 中的每笔交易都需要签名。
放宽了响应要求。 投标人不必总是在他们的 Hydra Heads 中保持活跃和响应,因为拍卖师本人从不在 Hydra Heads 中提交他的交易,因此从不等待投标人签署他的交易。 如果投标人离线一段时间,拍卖师可以冷静地保持空闲状态,直到投标人重新连接。
相反,由于拍卖师的签名也需要在每对头部中,拍卖师确实有权操纵拍卖:

审查。 拍卖师可以通过拒绝签署他的出价、针对该出价人操纵拍卖以及有利于拍卖师未审查的其他出价人来阻止出价人出价。 这类似于单头拍卖中的投标人否决权,但在星形拍卖中仅由拍卖师持有。
勾结拒绝投标。 拍卖师可以通过以下方式允许投标人拒绝其投标:
允许投标人在拍卖期间以较低的出价代替他的出价; 或者
不反对投标人以不同于投标人在拍卖期间对 Hydra Head 做出的最高出价的出价来关闭成对 Head 的尝试。
串通暗中投标。 拍卖师可以允许投标人秘密出价,高于目前已向所有投标人广播的最高出价。 这意味着在拍卖结束或秘密竞标者显示自己是最高出价者之前,其他竞标者将对当前最高出价是多少以及当前最高出价者是谁有误。
拍卖师的两种合谋权力在单头拍卖中是不存在的。 单头投标人不能拒绝他的投标,因为卖方不会签署会降低投标人当前出价的投标交易。 单头拍卖中,竞拍者不能偷偷出价,因为九头蛇头的每一个参与者都必须看到并签字才能生效。 因此,星型拍卖相对于单头拍卖的主要劣势是集中的拍卖师串通权力。

星座图拍卖
这种设计是星形拍卖的概括,将拍卖师分成多个中立方,在每个投标人的头脑中。 此外,除了投标人的签名外,它只需要 N 个中立方中的 M 个(M < N)在投标人的头部签署交易。

例如,假设 Alice、Bob 和 Charlie 是拍卖中的竞标者; Oskar、Patricia、Quentin、Rupert 和 Sally 是潜在的中立方。 如果我们设置 (M = 2) 和 (N = 3),那么我们可以为拍卖设置投标人 Hydra Heads,如下所示:

Alice’s Head 包括 Alice、Oskar、Quentin 和 Rupert。 Head 中的每笔交易都需要 Alice 的签名,以及 Oskar、Quentin 和 Rupert 的 3 个签名中的 2 个。
Bob’s Head 包括 Bob、Patricia、Rupert 和 Sally。 Head 中的每笔交易都需要 Bob 的签名,以及 Patricia、Rupert 和 Sally 的 3 个签名中的 2 个。
查理的头像包括查理、奥斯卡、帕特里夏和莎莉。 Head 中的每笔交易都需要 Charlie 的签名,以及 Oskar、Patricia 和 Sally 的 3 个签名中的 2 个。
这种设计减轻了星形拍卖中集中拍卖操纵的可能性:

与投标人串通拒绝或不透露投标的情况减少了,因为投标人必须与更中立的各方串通以共同操纵拍卖以对他有利。
另一方面,M of N 签名方案使得投标人与中立方串通比一致同意更容易,因此 M 不应比 N 小很多。
投标的审查减少了,因为它需要 (N - M + 1) 个中立方拒绝他们的投标签名。
此外,M of N 签名方案可以放宽中立方的响应要求,因为最多 (N - M) 个中立方可以短暂离线,而不必阻止投标在 Hydra Head 中被多重签名。

我们也可以放弃为每个投标人的 Hydra Head 随机选择中立方,而是在每个 Head 中使用一组固定的独立中立方。 例如,这可能是一个独立拍卖商的联合会,他们将在他们为用户共同举办的拍卖中保持彼此诚实。

为了进一步减少中立方操纵拍卖的可能性,可以从大量潜在中立方中为每个投标人的头部随机选择它们,这可能类似于 Cardano L1 上使用的基于可验证随机函数(VRF)的彩票来选择插槽领导者以添加 区块链。

从某种意义上说,这个 Hydra Head 彩票可以看作是 Cardano 的 slot leader 彩票从 L1 到 L2 的自然概括。 在第一层中,随机选择时隙领导者将用户签名的交易区块添加到主链中。 在第二层中,随机选择中立方来调解 Hydra Head 内的瞬态交易,然后帮助将最终结果带回主链。 实际上,可以利用 Cardano 上的大型权益池网络在第 2 层提供中立方服务,作为利用其现有计算资源的另一种收入来源。

我们为实施阶段选择的基于 Hydra 的拍卖设计
在该项目的实施阶段,选择了委托代金券拍卖设计,因为它显着减轻了 Hydra Head 协议的三个主要限制,受访者表示这三个限制阻碍了他们采用基于 Hydra 的解决方案。 根据我们的业务分析,基于此设计的参考实现可以切实适用于 Cardano 主网上的拍卖服务。

此外,这种设计可以向 Cardano 社区证明,如果他们超越基本的单头模型,则通过应用以下技术,更广泛的用例变得可行:

在 Hydra Head 中管理信息而不是资金(例如可兑换的代金券)。
委托 Hydra 参与义务以减少用户负担/不便。
星型和星座图样的拍卖设计,都是让受访者颇感兴趣的有趣设计。 然而,它们也比委托凭证拍卖设计复杂得多。 此外,它们还需要提供尚未实现的 Hydra Head 功能,以便在参考实现的演示中体现这些设计的优势。 因此,建议他们应该考虑未来基于 Hydra 的拍卖项目,如果我们当前的项目让他们有信心他们可以追求自己的基于 Hydra 的 DApp 项目,甚至一些商业分析受访者甚至可能会考虑。

实施阶段的范围
在实施阶段,IOG 和 MLabs 将优先在委托凭证设计中仅实施核心的英式拍卖功能。 一旦实施了这些功能,就可以将额外的英式拍卖功能作为可有可无的功能来追求。 这种优先级排序的原因是,业务分析中的受访者和受访者表示,他们更愿意看到针对拍卖用例正确解决 Hydra 限制,监督在基于 Hydra 的拍卖中实施的非核心功能。

在此阶段结束时,拍卖实施应提供以下功能:

一组代表可以打开一个 Hydra Head,该 Hydra Head 能够为卖家提供的 NFT 资产举办拍卖。
卖方可以将参与拍卖的权利(例如,通过参与代币)分配给已锁定其拍卖可抵扣押金的潜在投标人。
每个投标人都可以通过将投标发送给其中一位代表来向拍卖提交投标,然后该代表将其广播给其他代表。
代表们可以通过 Hydra Head 协议通过多重签名集体确认投标,从而将投标包括在 Hydra Head 分类帐状态中。
当拍卖截止日期过去时,代表们可以确定性地在 Hydra Head 内结算出价以确定中标。
代表们可以关闭 Hydra Head:
如果拍卖结算,则可以向中标者发放凭证,允许中标者赎回卖方的 NFT 资产以换取中标金额。
如果拍卖未结算,其出价可以在L1上结算确定中标,然后可以向中标者发放代金券。
当 Hydra Head 拍卖结束且拍卖结束时,失败的竞标者可以赎回他们的可抵扣押金。
中标者可以使用可抵扣押金中的资金向卖家支付 NFT 资产。
当向中标者发放代金券时,设置了赎回卖方 NFT 资产的截止日期。 如果中标人没有在截止日期前赎回卖家的 NFT 资产,卖家可以索取中标人的抵扣押金。
凭证UTXO只能由中标人用于赎回卖家的NFT,或在赎回期限后由卖家索取中标人的可抵扣押金。
我们还将制定一项技术规范,以通过投标人签署的投标加强上述实施,其中:

投标人在提交拍卖时签署其投标内容(拍卖编号、投标金额、投标时间)。
只要出价在拍卖中处于活跃状态,出价人的每个出价签名都会保存在 Hydra Head 分类账上的 UTXO 数据中。
有效的凭证只能在其数据中包含中标者投标签名的 UTXO 中发出。 只有有效的凭证才能赎回卖家的 NFT 资产。
拍卖实施的潜在未来改进
上述拍卖实施将显着解决拍卖用例的三个主要 Hydra Head 限制。 但是,可以进行一些进一步的改进,使其更适合作为现实世界的产品。 我们不承诺将它们作为该项目范围的一部分来实现,但在这里提及它们并将继续考虑更多改进,以便未来的开发人员可以清楚地了解如何为他们的用户提供最好的基于 Hydra 的拍卖 .

拍卖实施将需要投标人签名授权出价,以防止代表伪造虚假标价,但不能防止代表集体操纵拍卖,使最高出价无法中标。 未来对拍卖实施的改进将是提供工具来保存代表的 Hydra Head 拍卖交易分类账,以促进与卖方和投标人的链下争议解决。 此外,在拍卖结算和凭证发行期间,也许可以将来自 Hydra Head 分类账的其他信息(例如 ZKP 证明)带回 L1。

拍卖的另一项改进是允许 Hydra Head 保持开放状态,同时将一个拍卖的结果结算到 L1 并开始另一个拍卖以进行投标。 这可能需要 Hydra Head 协议路线图上计划的增量提交/取消提交功能。

拍卖的第三个改进是允许每个投标人单方面将其资金锁定在 L1 上作为拍卖的临时存款,然后在拍卖中提交投标时提供这些锁定资金的证明。 这些可变存款可以为拍卖中的所有投标提供完全抵押,从而消除了每个投标人的前期固定可扣除存款的需要。

最后,可以通过放宽代表对某些拍卖的共识门槛来改进拍卖的实施——从一致同意到 N 中的 M 签名方案。 这将使拍卖更加稳健,以防止单个代表失去联系或恶意破坏 Hydra Head,尽管它比防止代表集体串通卖方和/或投标人的一致同意阈值安全性略低。

建议改进 Hydra Head 协议以进一步促进拍卖
随着 IOG 和 MLabs 探索基于 Hydra 的拍卖的设计空间,人们意识到某些 Hydra Head 协议功能对于促进更好的拍卖设计的重要性。 其中一些已经作为计划功能出现在 Hydra Head 路线图上,而另一些则是我们在集思广益拍卖设计时发现的新功能。

Hydra Head 协议尚未实现以下功能,但已在路线图上:

将 UTXO 增量提交/取消提交到 Hydra Head 将允许使用更持久的 Hydra Heads 的 DApp 设计。 对于拍卖,不是在每次举办拍卖时打开和关闭 Hydra Head(或 Hydra Heads 网络),相同的 Heads 可以保持运行,每次拍卖的结果都将提交给主链和 UTXO 下一次拍卖将拍卖 Hydra Head。
此功能将有利于非凭证拍卖设计,该设计仅允许投标人使用他们在初始化期间承诺给 Hydra Head 的资金进行投标。 增量承诺/取消承诺将允许投标人在拍卖期间增加这些资金,从而允许他们提出更高的出价。
此功能还有利于委托代金券拍卖,它允许 Hydra Head 在结束一次拍卖时保持打开状态(将其代金券发送给 L1 的获胜者)并准备举办下一次拍卖。
Hydra Head 路线图应考虑以下功能,因为它们将促进某些理想的拍卖财产和基于 Hydra 构建的类似 DApp:

Hydra Head 中的动态成员资格。 特别是对于拍卖,参与者应该能够自由进出 Hydra Head,而他们不必在拍卖中保持最高出价者的身份。 如果参与者觉得自己被锁在九头蛇头中,这可能会激励他们关闭九头蛇头以便他们可以出去。 如果他们能够优雅地离开而不为其他参与者关闭 Hydra Head,那将是应用程序用户体验的改进。
此功能将有利于大多数拍卖设计,尤其是投标人直接参与 Hydra Heads 的拍卖设计。
Hydra Head 中的中立方角色,中立方的 M of N 签名门槛。 正如上面的星座模式设计中所解释的那样,此功能将使我们能够将 Hydra Head 中的集中式受信方(例如,星形拍卖中的拍卖师)分成一组中立方,同时校准针对共谋和审查的鲁棒性 中立方。
此功能将有利于星座模式拍卖设计。 它还可能有利于委托拍卖设计,其中 M of N 签名阈值可以提高鲁棒性,防止个别委托人失去联系或通过拒绝签名来破坏 Hydra Head。
在上述功能中,只有增量提交/取消提交才能显着改善我们选择实施的委托代金券拍卖。 其余功能将增强我们考虑过的替代设计的有效性。