Protocolo de plataforma Dash en Rust
Portar DPP a Rust lo hace más seguro y eficaz. También hará que el procesamiento de bloques sea más rápido. Para integrar Rust DPP en componentes JS, proporcionamos WASM DPP. Este es el primer paso para migrar la plataforma a Rust. JS estuvo bien para experimentar y crear prototipos, pero ahora necesitamos algo más sostenible.
Ejecución del mismo bloque
Una limitación heredada del proyecto Tendermint en el que se derivó originalmente nuestro motor de consenso, las firmas de bloque solo firmarían el estado del bloque anterior, así como todas las transiciones de estado del bloque actual. Por lo tanto, para obtener datos probados de DAPI, deberás esperar el compromiso del siguiente bloque. Esto era incompatible con nuestro sistema de prueba y sistema de almacenamiento deseado. Esta mejora también reduce significativamente la carga en la red y disminuye el tiempo necesario para insertar datos en la plataforma, lo que da como resultado una mejor experiencia de usuario.
Retiros de crédito
Actualmente, puedes convertir Dash en créditos de plataforma creando o recargando una identidad. Los créditos se utilizan principalmente para pagar las tarifas de transición de estado. Los Masternodes obtienen sus recompensas por alojar la plataforma en créditos (recompensas de bloque y tarifas de ST). Los retiros permiten a Masternodes y otras Identidades convertir sus Créditos nuevamente a Dash.
Serialización eficiente de datos
El protocolo de la plataforma de Dash (DPP) utilizó anteriormente el mecanismo de codificación CBOR que implementa la serialización de datos sin esquema. Dado que todos los datos de la plataforma se almacenan en estructuras predefinidas, no es necesario almacenar también la información de la estructura. Al almacenar solo valores, reducimos drásticamente el tamaño de los objetos serializados.
Reembolsos de tarifas
Cuando un usuario agrega datos a la plataforma, paga por el almacenamiento permanente. Sin embargo, no todos los datos almacenados en la Plataforma deben ser permanentes. Los usuarios pueden definir en los contratos de datos la capacidad de actualizar o eliminar documentos. La introducción de reembolsos de tarifas permite a los usuarios recuperar créditos cuando eliminan datos.
Identidad v2
Una Identidad consta de varios datos, como su saldo y una colección de claves públicas utilizadas para varios propósitos y niveles de seguridad. La nueva implementación de almacenamiento de Identidades permite actualizar o recuperar solo partes específicas o múltiples de la Identidad. Esto reduce las tarifas de transición de estado y la carga en la red.
Verificación de Créditos Totales
Una nueva función de árboles de suma de GroveDB nos permitió implementar un mecanismo de protección contra errores inflacionarios en la cadena de bloques. Esta función agregó sumas a los nodos de un tipo específico de árbol AVL de Merkle. En este árbol, los nodos raíz contienen la suma de todos los valores enteros del árbol. Cada vez que se agrega, elimina o actualiza un valor en un árbol de suma, se actualizan todos los nodos principales y, por lo tanto, el «valor de suma» de la raíz. El mecanismo de verificación de crédito compara cada bloque de todos los saldos de crédito en el almacenamiento con la cantidad esperada de créditos en el sistema. Esto evita ataques inflacionarios que generarían nuevos créditos o tokens fuera del suministro predefinido.
Identidades de votación de Masternode
Este es un componente para habilitar funciones de gobernanza futuras en la plataforma.
API descentralizada con HTTPS
A partir de esta versión, las solicitudes DAPI se atienden a través de HTTPS para permitir la creación de aplicaciones para navegadores.