Actualización de Noticias de Catapult Bison

El 2 de noviembre, la actualización de Catapult Bison (versión 0.2) se lanzó en el  servidor Github del repositorio de Catapult. Después de la actualización de Bison sigue la actualización de Alpaca y prelude la actualización Cow. Esta actualización fue un paso importante hacia el lanzamiento de la actualización pública de catapult Catapult y demuestra el arduo trabajo que han realizado los desarrolladores principales de NEM, gimre, BloodyRookie y Jaguar0625. En particular, Bison presenta tres características clave que mantendrán a NEM al día. Las innovaciones de DLT (tecnología de libro mayor distribuido) y establezca NEM aparte de otras blockchains públicas: propiedades de cuenta, pruebas de estado de Merkle y respaldo de estado de caché a NEM.

Ahora, ¿qué significan realmente estos términos técnicos? Aquí hay un desglose de cada actualización, que explica cómo funcionan y lo que logran para NEM y sus usuarios.

Propiedades de la Cuenta

Las propiedades de la cuenta pueden sonar como una frase genérica, pero tienen una definición técnica específica en el campo blockchain. Al igual que los contratos inteligentes, las propiedades de la cuenta son el conjunto de “reglas inteligentes” que dictan lo que una cuenta en una cadena de bloques puede o no puede hacer. Los usuarios podrán usar las propiedades de la cuenta para permitir o bloquear transacciones basadas en direcciones, tipo de transacción o identificación de mosaico.

Por ejemplo, suponga que su amiga Susan quiere mantener su comercio de activos criptográficos organizados en direcciones individuales para facilitar el mantenimiento de registros. Entre otros activos, Susan está intercambiando un hipotético mosaico de HUEVOS en un Crazy Chicken Exchange. A través de las propiedades de la cuenta, puede definir una cuenta en la cadena de bloques NEM Catapult que solo permite una transacción. Si la transacción entrante es un movimiento del mosaico EGG a su dirección de depósito de Crazy Chicken Exchange.

Las propiedades de la cuenta amplían enormemente las posibilidades de lógica y operaciones en cadena en comparación con la versión pública actual de NEM. Por lo tanto, la presencia de propiedades de cuenta le da a NEM una mayor flexibilidad para abordar la funcionalidad en evolución que las industrias y los usuarios están buscando en las herramientas de blockchain.

Pruebas de transición del estado de Merkle

Introducidas con Bitcoin, las pruebas Merkle han sido el núcleo del consenso de prueba de trabajo y el ensamblaje de bloques de blockchain. Para obtener un resumen rápido de las pruebas de Merkle, retrocedamos y revisemos el concepto de un árbol Merkle:

Credito: Pahalad 2018 “Merkle proof explained”

Un árbol Merkle es una estructura de nodos etiquetados por hashes. En la imagen superior se muestra la forma más simple de un árbol Merkle, el árbol binario Merkle, en el que cada nodo hoja (que no debe confundirse con un nodo, como en un dispositivo que almacena todo el historial de transacciones de una cadena de bloques) solo se ramifica en dos nodos secundarios . En la parte inferior del árbol, los hashes se asignan uno a uno con las transacciones. Un árbol Merkle se construye mediante hash junto a dos hashes, repitiendo el proceso hasta que se crea un hash singular. El hash en el pico del árbol se llama la raíz de Merkle (también conocida como la raíz de la transacción en blockchain), y cada transacción se puede rastrear desde él. Se incluye en los encabezados de bloque para resumir un bloque de transacciones.

Las pruebas de Merkle tradicionalmente tienen varias ventajas para la utilidad blockchain:

  1. Se puede usar para verificar la existencia de una transacción en un conjunto de datos.
  2. Permite la prueba de validez sin exigir la contabilidad completa.
  3. Asegura la validez de una transacción sin revelar el resto del conjunto de datos.

Credito: Wander, 2013. “Bitcoin Block Data.”

En particular, las pruebas de Merkle permiten a los “clientes ligeros” autenticar y enviar transacciones rápidamente sin tener que descargar todo el historial de transacciones como un nodo completo descargando solo los encabezados de bloque. Este proceso se facilita al solicitar pruebas de Merkle a los nodos completos, y permite que aquellos que no son mantenedores de la red o mineros interactúen más libremente con la red.

Sin embargo, a medida que los usuarios e industrias han puesto más demandas en la funcionalidad de blockchain, los bloques necesitan cada vez más responder por algo más que la existencia de transacciones. El inicio de los contratos inteligentes y las transacciones condicionales dependientes del estado. Significa que los bloques también deben registrar el estado de la red para validar que se cumplió una condición específica para desencadenar una transacción.

Como tal, la actualización de Bison utiliza las pruebas de transición de estado de Merkle para registrar también los cambios en el saldo de la cuenta, el estado de bloqueo (para bloqueos de hash y secretos), las propiedades de la cuenta, los espacios de nombres, los mosaicos y el estado multisig. Los clientes livianos podrán verificar rápidamente el estado en un cierto bloque además de la información de la transacción, lo que permitirá contratos inteligentes más eficientes y transacciones condicionales.

3) Respaldo del Cache

Por último, pero no menos importante, tenemos la introducción del respaldo de estado de caché, que denota el almacenamiento eficiente de hashes de estado de blockchain para una fácil referencia y recuperación por nodos completos. Esta actualización está íntimamente relacionada con lo anterior en la ampliación del rendimiento y la complejidad operativa de NEM.

Con el número de parámetros y variables que constituyen el estado de una cadena de blockchain entre todas sus cuentas en un momento dado (especialmente con la introducción de las propiedades de la cuenta), los nodos del árbol Merkle del estado necesitan acceso a un número variable de sucursales no limitadas a dos para mantener seguimiento de todos los tipos posibles de cambios de estado de un punto de tiempo a otro. De ello se deduce que los árboles de estado pueden ser mucho más complicados que los árboles de transacciones; pueden ser mucho más grandes en el recuento total de nodos y tener más nodos intermedios en sus pruebas de Merkle.

Por lo tanto, en el caso de Catapult, los nodos almacenarán datos en una base de datos RocksDB para una confirmación rápida y de alto rendimiento del estado de la red. Aunque recuperar la información de estado de la RAM sería más rápido, los requisitos de la memoria RAM pueden suponer una gran carga para los nodos. Como la red NEM solo continuará expandiéndose, tiene sentido usar RocksDB para exigir menos RAM de los nodos. Además, reducir los requisitos de un nodo conducirá más probablemente a un mayor número de nodos, lo que aumentará la descentralización de la red.

Conclusión

A medida que la industria de las cadenas de bloques madura rápidamente. NEM debe estar preparada para la creciente gama de necesidades de la industria y el crecimiento en la actividad de la red que conduce a Catapult. Las actualizaciones mencionadas anteriormente funcionan en conjunto para mejorar la próxima catapult. Como se explicó, la introducción de estas características contribuirá a la futura flexibilidad y conveniencia de la cadena de bloques, haciendo que la actualización de Bison sea un hito crucial para NEM.

Fuente: Blog NEM