Segunda versión preliminar de MultiChain 2.0

Nodo de origen: 1849219

Permisos por activo, actualización de capacidad y metadatos en línea

Hoy nos complace presentar la segunda versión preliminar de MultiChain 2.0. Esto supone un progreso sustancial en la Hoja de ruta de MultiChain 2.0e incluye una característica adicional importante relacionada con los permisos de activos.

Permisos por activo

Comencemos con la sorpresa. Esta versión agrega la capacidad de controlar por separado los permisos de envío y recepción para cada activo emitido en la cadena de bloques. Este control es importante en entornos donde cada activo tiene características diferentes en términos de regulación, requisitos de identificación del usuario, etc.

En el momento en que se emite un nuevo activo, se puede especificar opcionalmente como de recepción y/o envío restringido. Los activos de recepción restringida solo pueden aparecer en salidas de transacciones cuya dirección tenga receive permisos para ese activo. De manera similar, los activos de envío restringido solo se pueden gastar en entradas de transacciones por direcciones que tienen por activo send permisos (Tenga en cuenta que en todos los casos, las direcciones necesitan global send y receive permisos para aparecer en entradas y salidas respectivamente).

El send y receive los permisos para un activo pueden ser otorgados o revocados por cualquier dirección que tenga admin or activate permisos para ese activo. De forma predeterminada, estos permisos solo se asignan al emisor de activos, pero el emisor (o cualquier administrador de activos agregado posteriormente) también puede extenderlos a otras direcciones.

Actualizaciones de parámetros de blockchain

Una de las principales características en el desarrollo de MultiChain 2.0 es la actualización de blockchain, para permitir que muchos de los parámetros de la cadena a cambiar con el tiempo. Esto es vital porque las cadenas de bloques están diseñadas para funcionar a largo plazo y es difícil predecir cómo se utilizarán los sistemas informáticos muchos años después de su creación.

MultiChain 1.0.x ya proporciona una función para actualizar un solo parámetro: la versión del protocolo de la cadena. Esta versión de MultiChain 2.0 da un importante paso adelante, al permitir cambios en siete parámetros adicionales relacionados con el rendimiento y la escalabilidad de la cadena de bloques. Estos incluyen el tiempo de bloque de destino, el tamaño máximo de bloque, el tamaño máximo de transacción y el tamaño máximo de metadatos.

Al igual que con otras operaciones cruciales relacionadas con la gobernanza, la actualización de los parámetros de una cadena solo puede ser realizada por los administradores de la cadena, sujeto a un nivel de consenso personalizable. Seguimos trabajando en esta función, así que busque más parámetros actualizables en futuras versiones de MultiChain 2.0.

Metadatos en línea

MultiChain 1.0.x ya admite metadatos de transacciones sin formato (binarios), que se pueden incrustar sin procesar o envolver en un elemento de transmisión. La primera versión preliminar de MultiChain 2.0 extendió esto para permitir que los metadatos se representen opcionalmente en formato de texto o JSON. En todos estos casos, los metadatos aparecen en una salida de transacción separada que contiene un OP_RETURN, lo que hace que la salida no se pueda gastar en transacciones posteriores.

Esta versión de MultiChain 2.0 presenta un nuevo tipo de metadatos que llamamos "en línea". Los metadatos en línea se almacenan dentro de una salida de transacción gastable normal y, por lo tanto, se asocian directamente con la dirección o los activos de esa salida. Al igual que con otras formas de metadatos, los metadatos en línea pueden estar en formato binario, de texto o JSON, y se pueden escribir y leer fácilmente a través de varias API diferentes.

Los metadatos en línea se vuelven verdaderamente poderosos cuando se usan junto con reglas personalizadas con respecto a la validez de la transacción. Un ejemplo es enviar activos con una fecha de vencimiento o con una lista de restricciones sobre dónde pueden ir a continuación. En esta versión, las reglas de validación personalizadas solo se pueden definir modificando el C++ de MultiChain. código fuente. Sin embargo, una vez que se implementan los filtros como parte del Hoja de ruta de MultiChain 2.0, estas reglas se escribirán en JavaScript y se instalarán en una cadena de bloques mediante llamadas regulares a la API.

El camino por delante

Con esta segunda versión preliminar/alfa, hemos completado aproximadamente la mitad del trabajo programado para la edición comunitaria de código abierto de MultiChain 2.0. Puede descargar y probar alpha 2 visitando el Versiones preliminares de MultiChain 2.0 página. En esta página también encontrará documentación para las API nuevas y mejoradas.

Ya comenzamos a trabajar en la próxima característica principal de MultiChain 2.0, que llamamos elementos de transmisión fuera de la cadena. En un elemento fuera de la cadena, solo se incrusta un hash de la carga útil del elemento dentro de la cadena, junto con las claves del elemento y algunos otros metadatos. El editor almacena localmente la carga útil en sí y la propaga a los suscriptores de la transmisión mediante intercambio de archivos punto a punto técnicas, con el hash en cadena proporcionando verificación. El resultado es una gran mejora en la escalabilidad y el rendimiento de las cadenas de bloques utilizadas para registrar grandes cantidades de información, donde parte de esta información solo es de interés para ciertos participantes. Si bien no se planeó originalmente para MultiChain 2.0, esta característica aumentó nuestra lista de prioridades en respuesta a la demanda de los usuarios.

Como siempre, nosotros bienvenidos sus comentarios sobre el progreso de MultiChain 2.0, y esperamos entregar la próxima versión preliminar a su debido tiempo.

Por favor publique cualquier comentario en Linkedin.

Sello de tiempo:

Mas de Multicain