🇪🇸 Implementando proyectos de subastas utilizando Hydra

:es: Traducción al español de “Implementing auction projects using Hydra

Publicado por MLabs en el blog de IOHK el 19 de Enero de 2023


Un documento de IOG y MLabs en el que se presenta una forma de gestionar las subastas con Hydra.

Este proyecto es una colaboración entre Input Output Global, Inc. (IOG) y MLabs Ltd. (MLabs) para desarrollar una implementación de referencia de una subasta que utilice protocolos Hydra. El objetivo es doble:

  1. Demostrar que ya es posible desarrollar aplicaciones sustanciales para un caso de uso valioso con la implementación actual Hydra.
  2. Determinar y alinear de forma constructiva el diseño del protocolo Hydra Head con los casos de uso concretos existentes en el ecosistema Cardano y simplificar la adopción del protocolo por parte de los desarrolladores.

La esperanza es que este proyecto, y otros similares centrados en otros casos de uso, abran el camino para que la comunidad Cardano comience a utilizar Hydra para la escalabilidad en la práctica común.

Protocolo Hydra Head

Hydra es una familia de protocolos destinados a proporcionar la solución de escalabilidad de capa 2 (L2) para Cardano. El protocolo Hydra Head es el primer protocolo de esta familia: se trata de un conjunto de contratos inteligentes y software que permite a cualquier grupo de participantes establecer canales de estado isomórficos y multipartitos (Hydra Heads) entre sí. En este proyecto se utilizará el protocolo Hydra Head.

Las Hydra Heads permiten a los participantes realizar transacciones entre sí, utilizando los fondos que aportaron a los canales de estado, sin tener que enviar estas transacciones a la red principal de Cardano (L1). El resultado final de estas interacciones entre los participantes de la cabeza Hydra puede devolverse a Cardano L1 cerrando la cabeza Hydra, lo que libera los fondos dentro de la cabeza Hydra para ser utilizados en otras cabezas Hydra o de otro modo en Cardano L1.

Las transacciones dentro de una cabeza Hydra tienen el mismo formato y propiedades que las transacciones en Cardano L1: son isomórficas. En principio, esto permite a las DApps de Cardano reutilizar una parte significativa de su código base al pasar algunos de sus contratos inteligentes a utilizar Hydra.

Una excepción a esta propiedad de isomorfismo es que la acuñación/quema de tokens dentro de una Cabeza Hydra no puede afectar a Cardano L1. Lo único que una Cabeza Hydra puede conseguir en Cardano L1 es la redistribución de los tokens existentes de los UTXOs comprometidos en la Cabeza Hydra a nuevos UTXOs. Esto se hace de acuerdo con las transacciones que los participantes han consensuado dentro de la Hydra Head.

También existen algunas diferencias entre los protocolos de consenso de Cardano L1 e Hydra L2. Esto puede requerir que las DApps Cardano existentes adapten su diseño para que puedan mantener su comportamiento deseado dentro del entorno Hydra Head. En particular, a diferencia de Cardano L1, todos los participantes Hydra Head deben permanecer en línea y responder los unos a los otros, durante el funcionamiento Hydra Head, y todos los participantes deben reconocer y aceptar cada transacción dentro Hydra Head para que tenga efecto.

Las aplicaciones pueden ejecutarse en un único cabezal o en una red de cabezales Hydra. Cuando una aplicación se extiende por una red de cabezas Hydra, su estado global puede evolucionar mediante la comunicación entre cabezas Hydra (sin pasar por L1) o sincronizando los estados de las cabezas locales con L1 y resolviéndolos allí.

Existe un catálogo en evolución de topologías de red de cabezas Hydra, cada una con sus ventajas y limitaciones. Se espera que el catálogo se amplíe a medida que se desarrollen más aplicaciones en Hydra. Algunas de estas topologías se utilizan en los diseños de subastas basados en Hydra que comentamos a continuación.

Puede obtener más información sobre Hydra aquí.

Análisis empresarial de proyectos de subastas

En la fase de descubrimiento de este proyecto, se realizó un análisis empresarial para comprender mejor el espacio de subastas en Cardano y cómo puede aprovechar la tecnología de escalado Hydra.

IOG y MLabs encuestaron a un amplio grupo de proyectos de Cardano que creaban subastas y mercados de NFT, de los cuales se seleccionó un grupo más pequeño de cuatro proyectos para realizar entrevistas en profundidad sobre:

  • las características específicas de su caso de uso de subastas
  • su valoración de las ventajas y limitaciones Hydra
  • sus preferencias sobre determinadas compensaciones que pueden ser necesarias en la transición de los contratos inteligentes de subasta L1 al entorno Hydra Head.

Caso práctico de subasta de estilo inglés

Hemos descubierto que existe un amplio acuerdo entre los entrevistados en que la implementación de referencia de este proyecto debería centrarse en una subasta de estilo inglés con características estándar. Todos los entrevistados tienen previsto utilizar este tipo de subasta en sus respectivas plataformas.

Las principales características de una subasta de estilo inglés son las siguientes:

  • Un vendedor proporciona un producto que se venderá en la subasta (el “lote de subasta”), por ejemplo, un NFT.
  • Cuando comienza la subasta, los licitadores pueden empezar a hacer pujas, que deben ser superiores al precio de salida definido por el vendedor.
  • El adjudicatario debe pagar su puja. Esto puede garantizarse exigiendo depósitos de puja para respaldar totalmente cada puja, o bien puede aplicarse de forma más débil imponiendo sanciones monetarias o de reputación a los pujadores que deshonren sus pujas.
  • Durante la subasta, cada licitador puede aumentar su puja al menos en el incremento mínimo de puja definido por el vendedor.
  • Al final de la subasta
    • el postor con la puja más alta recibirá el lote subastado,
    • los demás postores recibirán el reembolso de los depósitos que hayan realizado en la subasta, y
    • el vendedor debe recibir el producto de la puja más alta una vez deducidos los gastos correspondientes.

En una subasta de estilo inglés pueden incluirse otras características útiles:

  • Precio de compra inmediata - el vendedor puede fijar un precio al que se puede comprar inmediatamente el lote subastado durante la subasta, poniendo fin a la subasta a favor del comprador inmediato.
  • Puja de palomitas - el plazo de la subasta puede ampliarse si se siguen presentando pujas cerca de la fecha límite.
  • Precio de reserva secreto - antes de que comience la subasta, el vendedor puede fijar un precio secreto que debe ser superado por la puja más alta para que esa puja gane la subasta. Al final de la subasta, se revela el precio de reserva y, si no es superado por ninguna puja, el lote de la subasta queda sin vender.
  • Una secuencia de lotes de subasta: cuando se cierra la puja por un lote de subasta, los licitadores pueden permanecer en la subasta mientras se saca a puja el siguiente lote de subasta de la secuencia.

Uno de los entrevistados también quiere implantar una subasta de estilo holandés, además de la subasta de estilo inglés que utilizará en otras partes de su plataforma. En una subasta de estilo holandés, el precio de la subasta comienza siendo alto y luego disminuye automáticamente con el tiempo, hasta que un postor acepta comprar el lote de la subasta al precio actual, ganando la subasta. Aunque los contratos inteligentes para una subasta de estilo holandés son diferentes de los de una subasta inglesa, comparten la mayoría de las limitaciones Hydra para las subastas. Por lo tanto, una implementación de referencia de una subasta de estilo inglés que mitigue adecuadamente las limitaciones Hydra sería útil también para la subasta de estilo holandés.

En última instancia, la preferencia de los entrevistados es dar prioridad a una implementación de subastas basada en Hydra que proporcione las características básicas de las subastas en inglés y, al mismo tiempo, mitigue suficientemente las limitaciones Hydra para el caso de uso de las subastas. Las características adicionales también estarían bien, pero podrían ser añadidas por los propios proyectos a medida que adapten nuestra implementación de referencia a sus propias necesidades. El principal problema que esperan que resolvamos es cómo implementar una subasta inglesa funcional con las características básicas Hydra.

Ventajas y limitaciones Hydra para las subastas en noviembre de 2022

Tanto en el cuestionario de la encuesta como en las entrevistas en profundidad, se preguntó a los encuestados por las ventajas y limitaciones del protocolo Hydra Head para sus proyectos. En las entrevistas en profundidad, se proporcionó a los entrevistados una sesión informativa estándar sobre Hydra para garantizar que estaban debidamente informados sobre el funcionamiento de la tecnología a la hora de dar sus respuestas sobre ventajas y limitaciones.

Limitaciones de Cardano L1

Los encuestados identificaron las siguientes limitaciones de la ejecución de aplicaciones generales en la red principal de Cardano:

  1. El rendimiento de las transacciones es insuficiente para interacciones de usuario de alta frecuencia/volumen.
  2. El tiempo de finalización de las transacciones es demasiado lento.
  3. Los costes de las transacciones son demasiado elevados.
  4. La capacidad de almacenamiento de datos es demasiado baja para aplicaciones ricas en datos.
  5. Es difícil encadenar transacciones entre varios participantes de forma fiable.

Las tres primeras limitaciones afectan especialmente a la escalabilidad y viabilidad empresarial de los proyectos de subastas en Cardano:

  • El bajo rendimiento de las transacciones puede limitar el número de ofertas en las subastas, lo que puede impedir que alcancen su precio de venta total.
  • La lentitud en la finalización de las transacciones puede ralentizar el ritmo de las subastas, reduciendo la emoción/disfrute que los pujadores sienten al participar en las subastas.
  • Los altos costes de transacción pueden reducir los beneficios de los vendedores y las casas de subastas, o aumentar los costes de participación para los usuarios.

Ventajas Hydra para las subastas

Los entrevistados esperan obtener los siguientes beneficios del uso Hydra en sus proyectos de subastas:

  1. Un mayor rendimiento y una finalización más rápida de las transacciones permitirían aumentar la frecuencia de las pujas en las subastas.
  2. Unas tasas de transacción más baratas (posiblemente cero tasas) reducirían los costes para licitadores, vendedores y casas de subastas.
  3. Los contratos inteligentes isomórficos permitirían una reutilización significativa de los contratos inteligentes L1 en L2 y, potencialmente, un despliegue flexible entre L1 y L2. Esto podría reducir los costes de desarrollo y auditoría.

Limitaciones Hydra para las subastas

Los entrevistados identificaron las siguientes limitaciones que actualmente les disuaden de llevar a cabo por su cuenta una implementación de subastas basada en Hydra.

En primer lugar, no está claro cómo ejecutar juegos de suma cero dentro de una cabeza Hydra. En el protocolo simplificado de la cabeza (actualmente implementado en el repositorio GitHub hydra-poc), cualquier participante de la cabeza puede vetar en cualquier momento la evolución posterior de la cabeza Hydra. El ejercicio de este poder de veto no deja otra opción a los demás participantes que cerrar la Cabeza Hydra a L1 con el último estado de la Cabeza que todos los participantes consiguieron acordar antes del veto.

Este poder de veto es especialmente problemático en el caso de una subasta con una única cabeza Hydra, ya que puede impedir que la subasta tenga ofertas reconocidas. De hecho, no existe ningún incentivo intrínseco para que ningún licitador firme las ofertas presentadas por cualquier otro licitador dentro de la Cabeza Hydra, ya que la oferta del otro licitador aumenta el precio que éste tendría que pagar para ganar la subasta.

En segundo lugar, sólo los participantes enumerados en la inicialización de la cabeza Hydra pueden participar en una cabeza Hydra (es decir, no pueden unirse nuevos participantes), y cada participante de la cabeza debe permanecer activo y responder ante otros participantes para que la cabeza Hydra siga funcionando (es decir, ningún participante puede irse sin cerrar la cabeza Hydra para todos los participantes). Se trata de una limitación importante para las subastas de cabeza única, ya que es muy deseable permitir que nuevos licitadores se unan a las subastas en curso. Además, los licitadores preferirían no quedarse atrapados en subastas en las que ya no están interesados, lo que podría incluso llevarles a ejercer su poder de veto para cerrar la Cabeza Hydra prematuramente, un resultado indeseable para las subastas de cabeza única.

En tercer lugar, los participantes en la Cabeza Hydra sólo pueden utilizar los fondos que comprometieron en la Cabeza Hydra antes de su apertura. Esta limitación existe en la implementación actual Hydra (repositorio hydra-poc), pero se eliminará cuando se implementen los compromisos/descompromisos incrementales más adelante en la hoja de ruta Hydra. Por el momento, esta limitación limita de forma efectiva el precio máximo alcanzable en cualquier subasta basada en Hydra que requiera que las pujas estén totalmente respaldadas por depósitos de los pujadores. Además, revela la oferta máxima posible de cada licitador, que puede ser explotada por otros licitadores que tengan más fondos comprometidos en la Cabeza Hydra.

Los entrevistados indicaron que estas tres limitaciones tendrían que mitigarse lo suficiente para que una subasta basada en Hydra fuera viable como producto a lanzar en Cardano, pero que es especialmente importante superar la primera limitación para que consideren ofrecer una subasta basada en Hydra en sus plataformas.

Diseños de subasta en una sola Cabeza

Subasta básica de una sola cabeza

En este diseño básico para una subasta de una sola Cabeza, el vendedor y todos los postores forman el conjunto de participantes de una Cabeza Hydra que abren para la subasta. Se consideraron varias formas de mitigar las limitaciones Hydra para una subasta de cabeza única.

El poder de veto de los participantes con una única Cabeza Hydra puede mitigarse mediante:

  • comercializando las subastas de cabeza única como un servicio premium que permite pujas de mayor frecuencia
  • poner a la venta en estas subastas productos más interesantes o valiosos.

El acceso a este servicio premium se proporcionaría a usuarios suficientemente identificados con una reputación alta y un depósito que el subastador puede recortar en caso de mal comportamiento. Los licitadores están incentivados a participar de buena fe en las subastas de una sola cabeza, para evitar degradar su reputación, perder el acceso a este servicio premium y/o que sus depósitos sean recortados.

El requisito de que los participantes estén siempre activos y respondan a todos los participantes dentro de una Cabeza Hydra puede mitigarse utilizando la topología de Cabeza gestionada, en la que el subastador proporciona la infraestructura para difundir las transacciones y firmas de la Cabeza Hydra entre los participantes de la Cabeza e incluso para ejecutar parte del software de la Cabeza Hydra en nombre de los participantes. Bajo esta topología, los participantes siguen manteniendo el derecho a negar su consentimiento a cualquier transacción dentro de la Cabeza Hydra, pero ahora el subastador puede potencialmente censurar la comunicación entre los participantes.

Mitigar los efectos de que sólo los fondos precomprometidos estén disponibles en la subasta (antes de que los compromisos/descompromisos incrementales estén disponibles en Hydra):

  • Exija a todos los licitadores que depositen la misma cantidad de fondos en la Cabeza Hydra para que ningún licitador tenga una ventaja informativa sobre otros licitadores en términos de capacidad de pago.
  • Utilice la función “precio de compra inmediata” y fije ese precio al requisito de depósito fijo para que los licitadores participen en la subasta. De todos modos, ningún licitador racional pujaría por encima del precio de compra inmediata, por lo que una subasta de este tipo no se vería restringida por esta limitación Hydra.

Algunos de los entrevistados indicaron que esta variante atenuada del diseño de la subasta de cabeza única podría ser potencialmente viable en sus plataformas.

Subasta secreta de una sola cabeza

Este diseño probablemente sólo sería útil en una aplicación bastante nicho de una subasta, pero se incluyó aquí como ejemplo ilustrativo porque técnicamente puede eliminar la mayor parte de los incentivos racionales para que un licitador ejerza su poder de veto contra otros licitadores dentro de una Cabeza Hydra.

En este caso, los licitadores deben fijar sus respectivas pujas secretas iniciales cuando se está preparando la subasta, antes de que se abra la cabeza Hydra. Cuando se abre la cabeza Hydra y hasta que se cierra la subasta, los postores pueden cambiar sus propias pujas secretas por nuevas pujas, que pueden ser inferiores o superiores a sus pujas anteriores. De este modo, los licitadores deberían tener en general muy pocos incentivos para vetar las pujas de los demás, porque no saben si las nuevas pujas son inferiores o superiores a las anteriores.

Por supuesto, el secreto de las pujas en esta subasta está limitado (como límite superior) por los fondos que cada pujador compromete con la Cabeza Hydra. Sin embargo, esta limitación puede mitigarse con las mismas técnicas que para la subasta normal de una sola cabeza.

Los entrevistados no se mostraron especialmente entusiasmados con este diseño, porque no permite a los participantes saber cuál es la puja más alta en cualquier momento antes de que termine la subasta, y porque no está claro hasta qué punto es valioso para los usuarios poder ajustar las pujas secretas durante algún periodo de tiempo.

Subasta con custodia delegada

En este diseño, un grupo de delegados asume la custodia del lote de subasta y de los depósitos de los licitadores en la subasta. Los licitadores envían sus pujas a la Cabeza Hydra por delegación a través de los delegados, y todos los delegados deben firmar una puja para que tenga efecto. Cada puja debe estar respaldada por los fondos del postor dentro de la Cabeza Hydra.

Una ventaja significativa de este diseño es que elimina el requisito de que el vendedor y los licitadores estén siempre en línea y respondan a los participantes de la Cabeza Hydra para que la subasta siga en marcha. Además, cada licitador sólo tiene que firmar las ofertas que presenta a la subasta. Sólo los delegados que gestionan el consenso Hydra Head para la subasta están obligados a estar en línea y responder durante la subasta, y se les puede pagar por prestar este servicio de forma fiable.

Los postores pueden estar desconectados e inactivos mientras no deseen realizar nuevas pujas, y la participación del vendedor no es necesaria una vez depositado el lote de la subasta en la Cabeza Hydra. Esta puede ser una experiencia de usuario mucho más agradable que en las subastas sin custodia basadas en Hydra, en las que el vendedor y los postores deben firmar cada transacción que reciben dentro de su Hydra Head.

Otra ventaja de este diseño es que elimina el poder de veto de los pujadores, ya que éstos no son participantes directos en la Cabeza Hydra y, por tanto, no pueden retener su firma para el consenso sobre las pujas de otros pujadores dentro de la subasta.

Por desgracia, dar la custodia a los delegados sobre el lote de la subasta y los depósitos de los licitadores permite a los delegados confabularse para robar estos fondos de la subasta. Los usuarios pueden mostrarse reacios a vender NFT de alto valor o a participar con depósitos elevados en una subasta con custodia. El propio servicio de la casa de subastas puede enfrentarse a una carga reguladora adicional y a una posible responsabilidad legal si organiza subastas de custodia.

Algunos entrevistados no apoyaron la celebración de subastas de custodia en Hydra, argumentando que estas subastas no difieren mucho de la celebración de subastas Web2 tradicionales. Otros entrevistados indicaron que podrían considerar la realización de subastas con custodia si las mejoras en la experiencia del usuario compensan las desventajas de la custodia.

Subasta de vales

Este diseño se describe en el sitio web Hydra. No obliga a pagar la puja ganadora, pero permite a los pujadores realizar pujas que superen los fondos que respectivamente han comprometido en la Cabeza Hydra.

El subastador falsifica y distribuye un “token de paleta de puja” NFT a cada pujador que le permite realizar pujas dentro de la Cabeza Hydra de la subasta. La subasta se desarrolla de acuerdo con las reglas estándar de estilo inglés, sin requerir depósitos de pujas, y entonces al postor ganador se le entrega un vale en L1 cuando se cierra la subasta. El ganador puede optar por canjear su vale a cambio del lote subastado en L1, pagando el importe de la puja ganadora.

Una gran ventaja de este diseño de subasta es que requiere muy pocas transacciones para abrir y cerrar la Cabeza Hydra, lo que resulta en unos costes de establecimiento muy bajos y posiblemente admite más participantes en la Cabeza Hydra:

  • Sólo los tokens de la paleta de puja necesitan ser depositados en la Cabeza Hydra durante la fase de compromiso. Los fondos de los pujadores y el lote de subasta del vendedor permanecen fuera de la Cabeza Hydra, aunque el lote de subasta necesita estar bloqueado bajo un contrato inteligente para que pueda ser canjeado por el vale.
  • La única transacción de fanout necesaria cuando se cierra la Cabeza Hydra es pagar el vale al ganador de la subasta en L1.

Canjear el vale es opcional para el pujador ganador, lo que significa que el vendedor no tiene garantizado el pago de la subasta. Además, permite a los pujadores hacer ofertas frívolas e irrazonablemente altas que no tienen intención de cumplir, lo que interfiere con los pujadores honestos y puede sabotear la subasta por completo.

Una forma de mitigar este problema de las pujas poco sinceras es exigir a cada licitador que deposite una fianza deducible del precio de la puja ganadora si gana, y reembolsable si pierde. Si el pujador gana pero no canjea su vale, el vendedor se queda con el depósito deducible. El depósito deducible puede eliminar el incentivo racional de los licitadores para hacer pujas poco sinceras, a menos que su beneficio por pujar poco sinceramente supere el deducible.

El problema de la falta de sinceridad en las pujas de la subasta de vales puede mitigarse del mismo modo que el poder de veto de los pujadores en la subasta básica de una sola cabeza. Si la subasta de vales se comercializa como un servicio de alta calidad al que sólo pueden acceder los usuarios con una buena reputación, los usuarios pueden evitar las pujas insinceras si el rechazo de una puja ganadora conlleva una penalización suficientemente grave para la reputación de la plataforma. De hecho, según uno de los entrevistados, que participa regularmente en subastas de NFT basadas en Discord, el riesgo de una sanción para la reputación suele ser suficiente para obligar a los ganadores a cumplir sus pujas.

Subasta delegada de vales

Este diseño combina la subasta de vales con una cabeza Hydra dirigida por delegados. Esto mitiga el riesgo de que los delegados puedan confabularse para robar directamente fondos del vendedor y/o de los licitadores, ya que el lote de la subasta y los fondos de los licitadores permanecen fuera de la cabeza Hydra.

La subasta en este diseño funciona de la misma manera que en la subasta de vales, excepto que los licitadores envían sus pujas a la subasta por poder a través de los delegados de la Cabeza Hydra, y se requiere la firma múltiple de los delegados para que las pujas afecten al estado de la subasta dentro de la Cabeza Hydra. Al cierre de la subasta, el postor ganador recibe un vale que puede canjear por el lote subastado en Cardano L1.

Este diseño de subasta hereda las ventajas de comodidad para el usuario de la subasta de custodia delegada y hereda los bajos costes de configuración de la Cabeza Hydra y la alta capacidad de puja de la subasta de vales. Además, con compromisos/descompromisos incrementales, puede ser posible para los delegados enviar el vale al ganador de una subasta, y luego reutilizar los tokens de la paleta de puja para nuevos postores en una subasta posterior, sin cerrar la Cabeza Hydra. Así, los delegados pueden tener un modelo de negocio viable operando una Cabeza persistente y alquilando tiempo en la Cabeza Hydra a varias subastas.

Al igual que en la subasta simple de vales, el problema de la falta de sinceridad en las pujas se puede mitigar exigiendo un depósito a cada pujador, deducible del precio de la puja ganadora si el pujador gana y canjea el lote de la subasta, reembolsable si el pujador pierde, y confiscado al vendedor si el pujador gana y no canjea el lote de la subasta.

Una diferencia importante entre este diseño y la subasta simple de vales es que los pujadores ya no participan directamente en la Cabeza Hydra. Esto significa que las firmas de los pujadores no son necesarias para autorizar ninguna transición de estado dentro de la Cabeza Hydra, y por tanto los delegados pueden autorizar transacciones que declaren falsamente pujas que los pujadores no presentaron. Por supuesto, el adjudicatario puede decidir no aceptar una puja falsa; sin embargo, si el requisito de depósito deducible se incluyera en la subasta para combatir las pujas falsas, entonces el adjudicatario tendría que renunciar a su depósito al rechazar una puja falsa. Por ejemplo, los delegados podrían confabularse con el vendedor para repartirse el depósito perdido del adjudicatario.

Para eliminar el riesgo de pujas falsas de este diseño, cada transacción de puja dentro del cabezal Hydra podría producir un dato UTXO que incluyera la firma del pujador para esa puja, y la firma de la puja del ganador debería conservarse en los datos hasta la emisión del vale al ganador en L1. El vale sólo sería válido si su dato UTXO contiene la firma válida del licitador para la puja correspondiente; de lo contrario, el vale sería inválido y se anularía el resultado de la subasta.

Otro riesgo que surge de confiar en que los delegados ejecuten la subasta dentro de la Cabeza Hydra es que puedan amañar la subasta para que una puja distinta a la más alta gane la subasta. Sin embargo, es probable que los delegados se enfrenten a importantes sanciones de reputación por participar en este tipo de amaño de subastas, lo que comprometería su capacidad para seguir ofreciendo servicios de alojamiento de subastas en el futuro.

Otra forma de mitigar el riesgo de manipulación de subastas por parte de los delegados sería exigirles que conservaran una copia del libro de transacciones de la subasta Hydra Head que dio lugar al resultado concreto de la subasta que se finalizó en la L1. Esta copia del libro de subastas podría incluso archivarse durante un periodo de tiempo suficiente en blockchains de almacenamiento optimizado (por ejemplo, Arweave) o soluciones L2 (por ejemplo, Logosphere). Si un licitador impugna el resultado de la subasta alegando manipulación, los delegados podrían presentar el libro de subastas como prueba en un proceso de resolución de disputas fuera de la cadena.

En general, este diseño logra el equilibrio adecuado entre los diseños de custodia delegada y de subasta de vales.

Diseños de subastas en redes de Cabezas Hydra

Subasta en estrella

Este diseño utiliza la topología de red de cabezas en forma de estrella descrita en el sitio web Hydra. En este caso, un subastador centralizado abre una Cabeza separada por pares con cada licitador de la subasta. El postor deposita en la cabeza Hydra los fondos que desea utilizar en la subasta, mientras que el subastador no deposita ningún fondo en la cabeza Hydra, sino que se limita a ser testigo de las pujas de los postores y a sellarlas con su firma. El subastador puede optar por cobrar honorarios por prestar este servicio a los licitadores de la subasta.

El caso de uso de la subasta puede implementarse en la topología de red Hydra en forma de estrella sin requerir transferencias de fondos entre cabezas a través de contratos de hash con bloqueo de tiempo (HTLC). En su lugar, al final de la subasta, cada cabeza de par se cierra con la puja más alta de su postor devuelta a Cardano L1 y, a continuación, la puja ganadora puede resolverse eficientemente durante el fanout de cada cabeza. Potencialmente, puede haber un mecanismo para resolver las pujas perdedoras dentro de sus Cabezas Hydra durante la subasta, permitiendo a los pujadores perdedores salir de la subasta antes de tiempo si ya no desean seguir pujando.

Las principales ventajas de la subasta en forma de estrella sobre la subasta de una sola cabeza son:

  • No hay poder de veto de los licitadores. Los licitadores ya no pueden vetar las pujas de los demás porque los licitadores están repartidos en cabezas Hydra separadas.

  • Subastador no custodio. El subastador de estas cabezas Hydra por parejas no puede robar los fondos de los licitadores, ya que se requiere la firma de cada licitador para cada transacción en su respectiva cabeza.

  • Requisitos de capacidad de respuesta menos estrictos. Los licitadores no tienen que estar siempre activos y responder dentro de sus cabezas Hydra, porque el subastador nunca presenta sus transacciones en las cabezas Hydra y, por tanto, nunca espera a que los licitadores firmen sus transacciones. Si un postor se desconecta durante un rato, el subastador puede permanecer tranquilamente inactivo hasta que el postor vuelva a conectarse.

A la inversa, como la firma del subastador también es necesaria en cada cabeza de la pareja, el subastador tiene el poder de amañar la subasta:

  • Censura. El subastador puede impedir que un licitador puje negándose a firmar sus ofertas, amañando la subasta en contra de ese licitador y a favor de los demás licitadores que el subastador no está censurando. Esto es similar al poder de veto del postor en la subasta de una sola cabeza, pero sólo lo tiene el subastador en la subasta en forma de estrella.

  • Colusión para deshonrar una puja. El subastador puede permitir que un pujador deshonre sus pujas:

    • Permitiendo que el postor sustituya su puja por otra más baja durante la subasta; o

    • No impugnando el intento del postor de cerrar la Cabeza de la pareja con una puja que sea diferente de la puja más alta que el postor haya hecho en la Cabeza de la Hydra durante la subasta.

  • Colusión para pujar en secreto. El subastador puede permitir que un pujador haga en secreto una puja más alta que la puja más alta que se ha transmitido hasta el momento a todos los pujadores. Esto significa que los demás pujadores estarán equivocados sobre cuál es la puja más alta actual y quién es el pujador más alto actual hasta que se cierre la subasta o el pujador secreto se revele como el pujador más alto.

Los dos poderes de colusión del subastador no existen en la subasta de cabeza única. Un pujador en la subasta de cabeza única no puede deshonrar sus pujas porque el vendedor no firmaría una transacción de puja que rebajara la puja actual del pujador. Un pujador no puede pujar en secreto en la subasta de cabeza única, porque todos los participantes de la cabeza Hydra deben ver y firmar la puja para que tenga efecto. Por lo tanto, el poder de colusión centralizado del subastador de la subasta en forma de estrella es su principal desventaja con respecto a la subasta de cabeza única.

Subasta de esquema constelado

Este diseño es una generalización de la subasta en forma de estrella que divide al subastador en múltiples partes neutrales en la cabeza de cada pujador. Además, requiere sólo M de N de las partes neutrales (M < N) para firmar las transacciones dentro de la cabeza de un postor, además de la firma del postor.

Por ejemplo, supongamos que Alice, Bob y Charlie son pujadores en una subasta; y que Oskar, Patricia, Quentin, Rupert y Sally son partes neutrales potenciales. Si establecemos (M = 2) y (N = 3), entonces podríamos configurar las Cabezas Hydra de los pujadores para la subasta de la siguiente manera:

  • La cabeza de Alice incluye a Alice, Oskar, Quentin y Rupert. Cada transacción en esta cabeza requiere la firma de Alice, y 2 de 3 firmas de Oskar, Quentin, y Rupert.
  • La cabeza de Bob incluye a Bob, Patricia, Rupert y Sally. Cada transacción en esta cabeza requiere la firma de Bob y 2 de 3 firmas de Patricia, Rupert y Sally.
  • La cabeza de Charlie incluye a Charlie, Oskar, Patricia y Sally. Cada transacción en esta cabeza requiere la firma de Charlie y 2 de las 3 firmas de Oskar, Patricia y Sally.

Este diseño mitiga el potencial de manipulación centralizada de la subasta en forma de estrella:

  • La colusión con el postor para deshonrar o no revelar una puja se reduce porque el postor debe coludirse con más partes neutrales para amañar colectivamente la subasta a su favor.
    • Por otro lado, el esquema de firma M de N hace que la colusión del pujador con las partes neutrales sea más fácil que el consentimiento unánime, por lo que M no debería ser mucho menor que N.
  • La censura de las pujas se reduce porque requiere que (N - M + 1) partes neutrales rechacen su firma de una puja.

Además, el esquema de firma M de N puede relajar los requisitos de receptividad de las partes neutrales, porque hasta (N - M) partes neutrales pueden desconectarse brevemente sin impedir necesariamente que una puja sea multifirmada en la Cabeza Hydra.

También podríamos renunciar a la selección aleatoria de partes neutrales para la cabeza Hydra de cada licitador, utilizando en su lugar un grupo fijo de partes neutrales independientes en cada cabeza. Por ejemplo, podría tratarse de una federación de subastadores independientes que se mantuvieran honestos entre sí en las subastas que coorganizan para los usuarios.

Para reducir aún más el potencial de manipulación de las subastas por parte de las partes neutrales, éstas pueden ser seleccionadas al azar para cada cabeza de un gran grupo de partes neutrales potenciales, tal vez de forma similar a la lotería basada en la función aleatoria verificable (VRF) utilizada en Cardano L1 para seleccionar líderes de slot para añadir bloques a la cadena.

En cierto sentido, esta lotería de cabezas Hydra podría verse como una generalización natural de la lotería de líderes de slot de Cardano de L1 a L2. En la primera capa, los líderes de slot se seleccionan aleatoriamente para añadir bloques de transacciones firmadas por el usuario a la cadena principal. En la segunda capa, las partes neutrales se seleccionan aleatoriamente para mediar en las transacciones transitorias dentro de una cabeza Hydra y, a continuación, para ayudar a devolver el resultado final a la cadena principal. De hecho, la gran red de stake pools de Cardano podría aprovecharse para proporcionar servicios de partes neutrales en la capa 2, como otra fuente de ingresos que haga uso de sus recursos informáticos existentes.

Nuestro diseño de subasta basado en Hydra seleccionado para la fase de implementación

Para la fase de implementación de este proyecto, se seleccionó el diseño de subasta de vales delegados porque mitiga significativamente las tres principales limitaciones del protocolo Hydra Head que, según los entrevistados, les disuaden de buscar soluciones basadas en Hydra. Según nuestro análisis de negocio, la implementación de referencia basada en este diseño podría adaptarse de forma viable a un servicio de subastas en la red principal de Cardano.

Además, este diseño puede demostrar a la comunidad de Cardano que, si se supera el modelo básico de una sola cabeza, se hace viable una gama más amplia de casos de uso aplicando técnicas como:

  • Gestionar información en lugar de fondos dentro de una Cabeza Hydra (por ejemplo, vales canjeables).
  • Delegar las obligaciones de participación en Hydra para reducir la carga/inconveniencia del usuario.

En cuanto a los diseños de subasta en forma de estrella y de esquema de constelación, son diseños interesantes que intrigaron bastante a los entrevistados. Sin embargo, también son bastante más complejos que el diseño de subasta delegada de vales. Además, requieren que estén disponibles funciones aún no implementadas Hydra Head, para que las ventajas de estos diseños sean evidentes en una demostración de la implementación de referencia. Por lo tanto, se recomienda que se tengan en cuenta para un futuro proyecto de subasta basada en Hydra, quizás incluso por algunos de los encuestados del análisis de negocio si nuestro proyecto actual les da la confianza de que pueden llevar a cabo sus propios proyectos de DApp basados en Hydra.

Alcance de la fase de implementación

En la fase de implementación, IOG y MLabs darán prioridad a la implementación de las principales características de la subasta de estilo inglés dentro del diseño de vales delegados. Una vez implementadas, las características adicionales de la subasta de estilo inglés pueden ser perseguidas como características “nice-to-have”. La razón de esta priorización es que los encuestados y entrevistados en el análisis de negocio indicaron que preferían ver las limitaciones Hydra debidamente resueltas para el caso de uso de la subasta, supervisando las características no esenciales implementadas en la subasta basada en Hydra.

Al final de esta fase, la implementación de la subasta debe proporcionar las siguientes características:

  • Un grupo de delegados puede abrir una Cabeza Hydra capaz de albergar una subasta de un activo NFT proporcionado por un vendedor.
  • El vendedor puede distribuir el derecho a participar (por ejemplo, mediante tokens de participación) en la subasta a los posibles licitadores que hayan bloqueado sus depósitos deducibles para la subasta.
  • Cada licitador puede presentar una oferta a la subasta enviándola a uno de los delegados, que la transmitirá al resto de delegados.
  • Los delegados pueden acusar recibo colectivamente de las pujas mediante la firma múltiple a través del protocolo Hydra Head, incluyendo así las pujas en el estado del libro mayor Hydra Head.
  • Una vez transcurrido el plazo de la subasta, los delegados pueden resolver las pujas de forma determinista dentro de la Cabeza Hydra para determinar la puja ganadora.
  • Los delegados pueden cerrar la Cabeza Hydra:
    • Si se liquida la subasta, se puede emitir un vale para el adjudicatario, que le permite canjear el activo NFT del vendedor a cambio del importe de la puja.
    • Si la subasta no se liquida, sus pujas se pueden liquidar en L1 para determinar la puja ganadora, y entonces se puede emitir el vale al postor ganador.
  • Los licitadores perdedores pueden canjear sus depósitos deducibles cuando la Cabeza Hydra de la subasta se cierra y la subasta se liquida.
  • El adjudicatario puede utilizar los fondos de su depósito deducible en su pago al vendedor por el bien NFT.
  • Cuando se emite el vale al adjudicatario, se establece un plazo para canjear el activo NFT del vendedor. Si el adjudicatario no rescata el activo NFT del vendedor en el plazo establecido, el vendedor puede reclamar el depósito deducible del adjudicatario.
  • El vale UTXO sólo puede ser gastado por el adjudicatario para canjear el NFT del vendedor, o por el vendedor para reclamar el depósito deducible del adjudicatario después de la fecha límite de canje.

También desarrollaremos una especificación técnica para mejorar la implementación anterior con ofertas firmadas por los licitadores, según la cual:

  • Los licitadores firman el contenido de sus pujas (ID de la subasta, importe de la puja, hora de la puja) cuando se presentan a la subasta.
  • La firma de cada puja de su postor se conserva dentro de un dato UTXO en el libro mayor Hydra Head, mientras la puja esté activa en la subasta.
  • Un vale válido sólo puede emitirse en un UTXO que contenga la firma de la puja del adjudicatario en su dato. Sólo un vale válido puede utilizarse para canjear el activo NFT del vendedor.

Posibles mejoras futuras de la implementación de la subasta

La implementación de la subasta anterior resolverá significativamente las tres principales limitaciones Hydra Head para el caso de uso de la subasta. Sin embargo, podrían introducirse otras mejoras para hacerla aún más adecuada como producto para el mundo real. No nos comprometemos a implementarlas como parte del alcance de este proyecto, pero las mencionamos aquí y seguiremos pensando en más mejoras, para que los futuros desarrolladores puedan tener una visión clara de cómo hacer la mejor subasta posible basada en Hydra para sus usuarios.

La implementación de la subasta requerirá las firmas de los pujadores para autorizar las pujas, para evitar que los delegados falsifiquen las pujas, pero no puede evitar que los delegados amañen colectivamente la subasta para que la puja más alta no gane la subasta. Una futura mejora de la implementación de la subasta sería proporcionar herramientas que preserven el libro de contabilidad Hydra Head de los delegados de las transacciones de la subasta, para facilitar la resolución de disputas fuera de la cadena con el vendedor y los pujadores. Además, quizás se podría devolver a L1 información adicional (por ejemplo, una prueba ZKP) derivada del libro de contabilidad Hydra Head durante la liquidación de la subasta y la emisión de vales.

Otra mejora de la subasta consistiría en permitir que la Cabeza Hydra permaneciera abierta mientras el resultado de una subasta se liquida en L1 y otra subasta se incorpora para pujar. Esto requeriría probablemente la función de confirmación/descompromiso incremental prevista en la hoja de ruta del protocolo Hydra Head.

Una tercera mejora de la subasta consistiría en permitir a cada licitador bloquear unilateralmente sus fondos en L1 como depósitos ad hoc para la subasta y, a continuación, proporcionar una prueba de estos fondos bloqueados al presentar ofertas en la subasta. Estos depósitos variables podrían proporcionar una garantía total para todas las pujas de la subasta, eliminando así la necesidad del depósito deducible fijo inicial de cada licitador.

Por último, la implementación de la subasta podría mejorarse permitiendo que el umbral de consenso de los delegados se relaje para algunas subastas -desde la unanimidad a un esquema de firmas M de N-. Esto haría la subasta más robusta frente a un único delegado que pierda la conexión o sabotee maliciosamente la Cabeza Hydra, aunque sería ligeramente menos segura que un umbral de consentimiento unánime frente a la colusión colectiva de los delegados contra el vendedor y/o los pujadores.

Mejoras sugeridas al protocolo Hydra Head para facilitar aún más las subastas

A medida que IOG y MLabs exploraban el espacio de diseño para la subasta basada en Hydra, nos dimos cuenta de la importancia de ciertas características del protocolo Hydra Head para facilitar mejores diseños de subastas. Algunas de ellas ya están en la hoja de ruta Hydra Head como características previstas, mientras que otras son nuevas características que descubrimos mientras realizábamos una lluvia de ideas sobre diseños de subastas.

La siguiente función aún no se ha implementado en el protocolo Hydra Head, pero está en la hoja de ruta:

  • El incremento commit /de-commit de UTXOs en una cabeza Hydra permitiría diseños DApp que usen cabezas Hydra más duraderas. Para las subastas, en lugar de abrir y cerrar una cabeza Hydra (o una red de cabezas Hydra) cada vez que se celebre una subasta, las mismas cabezas podrían mantenerse en funcionamiento, con los resultados de cada subasta de-comprometidos a la cadena principal y UTXOs para la próxima subasta comprometidos a la cabeza Hydra.

    • Esta característica beneficiaría a los diseños de subastas sin vales, que sólo permiten a los licitadores pujar con los fondos que han comprometido en la Cabeza Hydra durante la inicialización. Los compromisos/descompromisos incrementales permitirían a los licitadores aumentar esos fondos durante la subasta, permitiéndoles hacer pujas más altas.

    • Esta característica también beneficiaría a la subasta delegada de vales, ya que permitiría a la Cabeza Hydra permanecer abierta mientras cierra una subasta (enviando su vale al ganador en L1) y se prepara para albergar la siguiente subasta.

Las siguientes características deben ser consideradas para la hoja de ruta Hydra Head, ya que facilitarían ciertas propiedades deseables para las subastas y DApps similares construidas sobre Hydra:

  • Membresía dinámica dentro de un Hydra Head. En particular para las subastas, los participantes deben ser capaces de entrar y salir libremente de la Cabeza Hydra, cuando no están obligados a permanecer como el mejor postor en la subasta. Si los participantes sienten que están encerrados dentro de una Cabeza Hydra, eso puede darles el incentivo de cerrar la Cabeza Hydra para poder salir. Si, por el contrario, pudieran salir con elegancia sin cerrar la cabeza Hydra para los demás participantes, eso supondría una mejora en la UX de la aplicación.

    • Esta característica beneficiaría a la mayoría de los diseños de subastas, en particular aquellos en los que los postores participan directamente en las cabezas Hydra.
  • Función de parte neutral en una cabeza Hydra, con un umbral de firma M de N para las partes neutrales. Como se explicó anteriormente en el diseño del esquema de constelación, esta característica nos permitiría dividir una parte de confianza centralizada dentro de una cabeza Hydra (por ejemplo, el subastador en una subasta en forma de estrella) en un grupo de partes neutrales, al tiempo que se calibra la solidez contra la colusión y la censura de las partes neutrales.

    • Esta característica beneficiaría al diseño de la subasta de esquema de constelación. También puede beneficiar a los diseños de subasta delegada, donde un umbral de firma M de N puede mejorar la robustez frente a un delegado individual que pierda la conexión o sabotee la Cabeza Hydra reteniendo su firma.

De las características anteriores, sólo la confirmación/descompromiso incremental mejorará sustancialmente la subasta delegada de vales que hemos elegido para su implementación. El resto de características ampliarían la eficacia de los diseños alternativos que hemos considerado.

1 Like