Jue. Oct 28th, 2021
    Free TON, Online auctions

    El DevEx SG de la comunidad Free TON organizó un concurso para la implementación del mecanismo de subasta online en el segundo intento. La última vez se pospuso el inicio debido al pequeño número de participantes y la mala calidad del trabajo.

    El objetivo principal del concurso de Online auctions implementation era desarrollar una implementación de referencia de varios tipos de subastas en la blockchain Free TON de acuerdo con la arquitectura de los contratos smart distribuidos. Por lo tanto, los concursantes compitieron en la creación, prueba y despliegue de contratos smart que implementan varios tipos de subastas.

    Requisitos hacía los trabajos del concurso

    Dado que el tipo de subasta Vickrey ya se había introducido en el concurso DeNS, el jurado sugirió que los concursantes se centren en los tipos de subastas inglés y holandés.

    Recomendaciones y requisitos:

    • implementación de tipos de subastas en inglés, holandés y “ciegas” para los tipos de subastas directas (hacia adelante) e inversas. En un tipo de subasta “ciega”, todos los participantes de subasta presentan simultáneamente ofertas selladas, por lo que ningún participante conoce la oferta de ningún otro participante;
    • las subastas deben ser escalables y no deben depender de un solo contrato. El contrato de subasta raíz debe poder implementar un número infinito de subastas atómicas;
    • la posibilidad de implementar sistemas de subastas unificados;
    • la generación por subastas de eventos en la cadena, reportando cambios de estado importantes, que pueden ser utilizados por otros contratos smart;
    • usando Solidity, C ++ y su combinación;
    • interacción de contratos smart con TON Crystal, tokens TIP-3;
    • la presencia de una función de traducción en DePool.

    Las solicitudes de los participantes deben contener código fuente, guiones de prueba para todas las funciones utilizando uno de los entornos existentes, así como una descripción en uno de los idiomas enumerados: TLA +, TL-B, UML, familia Prolog.

    Criterios de evaluación del concurso y fondo de premios

    Los miembros del jurado evaluaron las ofertas de los participantes desde el punto de vista de la mejor implementación de los tipos de subastas de acuerdo con las recomendaciones arquitectónicas proporcionadas y los términos del concurso.

    1er puesto — 50.000 TON de cristales
    2do puesto — 35,000 TON de cristales
    3er puesto — 20.000 TON de cristales
    4to puesto — 15.000 TON de cristales
    5to puesto — 10,000 TON de сristales

    Primer puesto

    Cuatro participantes lucharon por ganar el concurso. Lo mejor fue la solicitud Nº3 del equipo de desarrollo de TON RED liderado por @Abionics. El resultado es 8.25 puntos y 50.000 TON de Cristales.

    El jurado evaluó la implementación de los seis tipos de subastas. Los siguientes tipos de apuestas son compatibles en todos: en TON Crystal, en TON Crystal a través de DePool y en tokens TIP-3.

    El jurado destacó el sistema de prueba de alta calidad y bien desarrollado para contratos smart de subasta, escrito en Python utilizando las bibliotecas unittest y tonos-ts4. Hay pruebas para cada tipo de subasta y una prueba para el contrato raíz de la subasta.

    El equipo de TON RED ha desarrollado un programa especial Viewer que rastrea eventos y muestra todas las subastas del contrato smart raíz en una sola tabla. Puede hacer clic en cualquier subasta y ver información sobre ella en una ventana emergente: tipo, estado, duración, ofertas de precios, etc.

    Segundo puesto

    7.50 puntos y 35.000 TON de Cristales fueron para el equipo de Pruvendo — solicitud Nº 4.

    Presenta un sistema flexible de contratos smart que implementa una amplia gama de subastas. Está implementado en Solidity, donde las pruebas se realizan utilizando la plataforma TS4.

    Contratos smart clave:

    • AuctionRoot — inicia una subasta y permite la transferencia de tokens de IGiver (vendedor) a IBid (comprador).
    • IAuction — contiene las propiedades de una subasta específica.
    • IBid — contiene información sobre la oferta.
    • IGiver — contiene información sobre la venta.

    Pruvendo ha proporcionado diagramas UML que describen la mecánica de implementar un tipo particular de subasta.

    Tercer puesto

    Solicitud Nº2 de un equipo de miembros de la comunidad DE OLIVEIRA & Fabrice LE FESSANT — 6 puntos y 20.000 TON de Cristales.

    Su trabajo consta de dos partes, que describen la implementación de los siguientes tipos de subastas:

    • subastas en inglés con un porcentaje mínimo de incremento;
    • subastas holandesas con modo de control automático de precios: el precio disminuye automáticamente con el tiempo;
    • subastas holandesas que utilizan el modo de ajuste de precio manual: la «casa de subastas» reduce manualmente el precio;
    • subastas inglesas inversas.

    El equipo mostró visualmente las distintas etapas de la implementación de la subasta.

    Los jueces atribuyeron las desventajas de la decisión presentada al hecho de que no todos los tipos de subastas requeridos fueron implementados por los especialistas del equipo. En el algoritmo de subasta en inglés inverso, no todos los contratos smart del sistema se han probado e implementado.

    Cuarto puesto

    Y finalmente, el cuarto puesto fue para el equipo de desarrollo dirigido por Anton Platonov. Número de solicitud 1 — 4,75 puntos y 15.000 TON Cristales.

    Se presenta la implementación de los siguientes tipos de subastas:

    • inglés forward;
    • holandés forward;
    • versión “ciega” en inglés de la subasta.

    La mayoría de los jueces subrayaron que el sistema de contratos smart propuesto por los autores de la aplicación necesita ser mejorado, ya que no tiene un algoritmo para implementar las versiones inversa en inglés, inversa holandesa y “ciega” del tipo de subasta holandesa.

    14
    0