Primera versión preliminar de MultiChain 2.0

Nodo de origen: 1740447

Llevando las transmisiones MultiChain a un nivel completamente nuevo

Hoy estamos encantados de compartir la primera versión preliminar de MultiChain 2.0, que implementa una parte importante de la Hoja de ruta de MultiChain 2.0 publicado a principios de este año: un modelo de datos más rico para flujos.

Los flujos han demostrado ser una característica popular en MultiChain, proporcionando una abstracción natural para el almacenamiento y recuperación de datos de propósito general en una cadena de bloques. Una cadena MultiChain puede contener cualquier cantidad de flujos con nombre, cada uno de los cuales puede tener permisos de escritura individuales o estar abiertos para que todos los escriban. En MultiChain 1.0, cada elemento de flujo tiene uno o más editores (que lo firman), una clave opcional para una recuperación eficiente, una carga útil de datos binarios de hasta 64 MB de tamaño y una marca de tiempo derivada del bloque en el que está incrustado.

Esta versión preliminar de MultiChain 2.0, numerada alfa 1, lleva la funcionalidad de flujos a un nivel completamente nuevo:

  • Artículos JSON. Como alternativa opcional a los datos binarios sin procesar, los elementos de transmisión ahora pueden contener cualquier estructura JSON, que se almacena en la cadena de bloques de forma eficiente. UBJSON formato de serialización. Dado que la API MultiChain ya usa JSON en todo momento, estas estructuras JSON se pueden leer y escribir de forma natural y obvia.
  • Elementos de texto. Los elementos de transmisión también pueden contener texto Unicode, almacenado de manera eficiente en la cadena de bloques en codificación UTF-8. Los elementos de texto también se pueden leer y escribir directamente a través de la API MultiChain.
  • Llaves múltiples. Cada elemento de transmisión ahora puede tener varias claves en lugar de una sola. Esto permite esquemas mucho más flexibles para el etiquetado, la indexación y la recuperación.
  • Múltiples artículos por transacción. Ahora se pueden escribir varios elementos en el mismo flujo en una sola transacción atómica. Esto permite que varios elementos de flujo: (a) se agrupen de forma natural bajo un solo ID de transacción, (b) ocupen menos espacio en la cadena de bloques y (c) requieran menos verificaciones de firma.
  • Fusión JSON. Hay nuevas API para resumir los elementos en una transmisión con una clave o editor en particular. El primer tipo de resumen que se ofrece es una combinación de todos los objetos JSON en esos elementos. El resultado de la combinación es un nuevo objeto que contiene todas las claves JSON de los objetos individuales, donde el valor correspondiente a cada clave JSON se toma del último elemento en el que aparece esa clave. La combinación se puede personalizar de varias maneras, por ejemplo, para controlar si los subobjetos se combinan recursivamente y si se deben incluir valores nulos.

El propósito de la fusión de JSON es permitir que un flujo sirva como una base de datos flexible para aplicaciones creadas en MultiChain, con la clave de flujo o el editor (según corresponda) actuando como una "clave principal" para cada entrada de la base de datos. La ventaja sobre una base de datos regular es que la transmisión contiene un historial completamente firmado y con marca de tiempo de cómo se cambió cada entrada a lo largo del tiempo, con la cadena de bloques asegurando este historial de manera inmutable a través del consenso de múltiples partes.

Como en versiones anteriores, cada nodo puede decidir libremente a qué flujos suscribirse, o puede suscribirse a todos los flujos automáticamente. Si un nodo está suscrito a una transmisión, indexa el contenido de esa transmisión en tiempo real, lo que permite una recuperación eficiente por editor, clave, bloque, marca de tiempo o posición, y ahora un resumen por clave o editor.

Además de los elementos de transmisión, MultiChain 2.0 alpha 1 también admite JSON y texto en metadatos de transacciones sin procesar, como alternativas a los datos binarios sin procesar admitidos en MultiChain 1.0.

Finalmente, esta versión permite que los campos personalizados de los activos emitidos y las secuencias creadas contengan cualquier objeto JSON, en lugar de los pares clave/valor de solo texto que se ofrecen en MultiChain 1.0. Para la compatibilidad futura, MultiChain 1.0.2 incluye la capacidad de leer (pero no escribir) estos activos más ricos y transmitir campos personalizados.

Para probar estas nuevas funciones, visite la Versiones preliminares de MultiChain 2.0 y descargue alpha 1. La página también proporciona documentación detallada sobre las nuevas API y los parámetros disponibles.

Nos encantaría escucha tus comentarios sobre esta nueva funcionalidad. Y, por supuesto, ya estamos trabajando arduamente en el próximo conjunto importante de mejoras para MultiChain 2.0, cuyo lanzamiento está programado para principios del próximo año.

Por favor publique cualquier comentario en Linkedin.

Sello de tiempo:

Mas de Multicain