Lanzamiento del código fuente de MultiChain

Ahora disponible para ver, revisar, compilar y bifurcar

Dos años después de comenzar a desarrollarse MultiChain, estamos encantados de lanzar su código fuente bajo la Licencia Pública General de GNU (GPLv3). El código, junto con las instrucciones de compilación para Ubuntu, ahora es disponible en Github. Puede navegar y revisarlo, compilarlo usted mismo o bifurcar MultiChain de acuerdo con la licencia GPL.

¿Por qué ahora?

Originalmente, el código estaba programado para su lanzamiento con la primera versión beta de MultiChain 1.0, pero decidimos llevarlo adelante, ya que el acceso al código fuente se ha vuelto crucial para muchos de nuestros usuarios y socios de plataforma. La publicación del código permite a los usuarios empresariales de MultiChain realizar auditorías de seguridad independientes y garantiza la libertad de elección en el caso poco probable de que dejemos de desarrollar el producto.

Entonces, ¿por qué esperamos tanto? Primero, necesitábamos invertir tiempo en ordenar el código para el consumo público, y preferimos hasta hace poco centrar nuestros esfuerzos en impulsar el producto hacia adelante. Con el conjunto de características para la versión 1.0 a punto de completarse, podríamos evitar la distracción. En segundo lugar, no queríamos ser demasiado útiles para algunos de nuestros competidores que parecían bastante desesperados por ver el código de MultiChain, a juzgar por las (ejem) llamadas telefónicas y solicitudes de correo electrónico peculiares que hemos recibido. Ahora que el producto es razonablemente maduro y bien conocido, esto no es motivo de preocupación.

Los modelos de negocio

Si MultiChain es de código abierto, ¿cómo generaremos los ingresos necesarios para respaldar su desarrollo a largo plazo? Para empezar, ya estamos ofreciendo acuerdos de nivel de servicio (SLA) a clientes que necesitan tiempos de respuesta y solución garantizados para sus preguntas y problemas. Aunque MultiChain todavía está oficialmente en alfa, ya sabemos de casos en los que se está utilizando en la producción en los sectores financiero y gubernamental.

Paralelamente a la oferta de SLA, hemos comenzado a preparar las bases para una versión premium de MultiChain, que incluirá características adicionales relacionadas con seguridad, escalabilidad, análisis y rendimiento. Si ya está trabajando con la versión gratuita de MultiChain, hay dos cosas importantes que debe saber sobre el producto premium. Primero, será posible conectar nodos gratuitos y premium en una sola red, por lo que cada participante puede decidir independientemente qué versión usar. En segundo lugar, cualquier aplicación desarrollada en MultiChain hoy funcionará sin modificaciones en la versión premium: todas las API y parámetros seguirán siendo compatibles con versiones anteriores.

Hoja de ruta para 1.0 beta

Mientras tanto, todavía tenemos más por hacer antes de que MultiChain 1.0 llegue a beta. Se puede encontrar una lista completa en el TODO archivo dentro del repositorio de código fuente, pero estos son algunos de los elementos más importantes:

  • Agregue soporte para "puntos de control" automáticos en un nodo, para bloquear permanentemente los cambios en el modelo de gobierno de blockchain (permisos de administración y minería).
  • Permitir el control sobre la minería de bloques vacíos. Esto es útil para minimizar el uso del disco en blockchains con períodos de baja actividad.
  • Agregue un parámetro de "rotación de minería", que equilibra entre (a) todos los nodos permitidos minería de bloques al azar, y (b) minería round-robin que evita las horquillas pero aún puede recuperarse rápidamente si un nodo minero cae.
  • Termine el mecanismo para notificar procesos externos de nuevas transacciones relacionadas con una dirección de billetera y / o flujo / activo suscrito.
  • Aumente el tamaño máximo de los metadatos de la transacción (ya sea sin procesar o como parte de un elemento continuo) del límite actual de 8 MB a al menos 32 MB (y con suerte más).
  • Revise y reduzca el tamaño de los registros y otros archivos cuyo propósito principal es ayudar con la depuración.
  • Complete el puerto de MultiChain a Mac OS.

Los primeros tres de estos ya se han implementado (consulte la rama de desarrollo en Github). Esperamos completar el resto, junto con pequeños ajustes y cambios, para fines del primer trimestre de 1.

La fase beta

Definimos una versión "beta" como "sin deficiencias conocidas", es decir, cuando no conocemos un solo error o un problema importante sin resolver en el producto. Por lo tanto, el propósito de la fase beta, que probablemente durará aproximadamente 6 meses, es permitir que se descubran problemas ocultos a través de nuestra base de usuarios y nuestro conjunto de pruebas internas, los cuales continúan creciendo. Sin duda, también recibiremos solicitudes de funciones durante este período, pero solo implementaremos aquellas que son de muy bajo riesgo en términos de estabilidad del producto. Las nuevas características principales tendrán que esperar hasta MultiChain 1.1, 1.5 o 2.0, según corresponda.

Sin embargo, un aspecto del desarrollo continuará durante la fase beta: la optimización del rendimiento. El rendimiento de las transacciones de MultiChain, que puede alcanzar 800 tx / seg en condiciones ideales, ya es más que suficiente para la mayoría de las aplicaciones de blockchain. Sin embargo, algunos casos de uso requieren más, y no hay razón para que MultiChain no pueda alcanzar miles de tx / seg con las optimizaciones apropiadas. Naturalmente, no realizaremos cambios arquitectónicos significativos durante la fase beta. En su lugar, nos centraremos en las optimizaciones locales, como el almacenamiento en caché de resultados intermedios.

Más allá de 1.0 y Premium

Además de la ruta bien definida a MultiChain 1.0 y su versión premium, ¿cuál es la hoja de ruta a más largo plazo para la plataforma MultiChain? ¿Cómo vemos el desarrollo del producto en los próximos cinco a diez años?

Debería comenzar aclarando que, como tecnología, no consideramos que las cadenas de bloques sean específicas para los bancos o el sector financiero. Si bien las plataformas como MultiChain pueden usarse para implementar libros contables compartidos de activos financieros, sus aplicaciones van mucho más allá. Vemos blockchains como fundamentalmente nuevo tipo de base de datos, que pueden compartirse directamente entre empresas u organizaciones separadas, sin necesidad de un intermediario central. Esta capacidad para ampliar los límites de confianza distingue a las blockchains de las plataformas de bases de datos comunes de la actualidad, ya sean de la variedad SQL, NoSQL o NewSQL. De hecho, a largo plazo, probablemente deberíamos llamar a estas "bases de datos punto a punto" en lugar de "blockchains", porque el propósito de un producto es más importante que una descripción de su tecnología subyacente.

La versión 1.0 de MultiChain proporciona tres abstracciones de alto nivel para el desarrollo de aplicaciones de bases de datos punto a punto: permisos (para controlar el acceso y la actividad), activos (tokens de propiedad que se transfieren o intercambian) y flujos (almacenamiento y recuperación de datos de uso general) . En los próximos años, estudiaremos los casos de uso más sólidos para este nuevo tipo de base de datos, para ver qué más se debe agregar a esta lista.

Ya conocemos algunas posibilidades obvias, como máquinas virtuales y cero conocimiento transacciones de activos. Pero las abstracciones más interesantes probablemente serán aquellas que aún no podemos imaginar. ¿Cuál es el equivalente de blockchain de llaves extranjeras en bases de datos relacionales, Mapa reducido en grandes almacenes de datos, o el HyperLogLog de bases de datos en memoria? A medida que continuamos desarrollando MultiChain en conversación con nuestros usuarios y socios, tenemos la intención de averiguarlo.

Por favor publique cualquier comentario en Linkedin.

Sello de tiempo:

Mas de Multicain