Actualización de ProximaX Tech – Abril 2019
En esta actualización, traemos noticias acerca de la consolidación de nuestro diseño de economía de token, mejorado la capa de blockchain y finalizado las implementaciones del núcleo técnico para almacenamiento y streaming. En consecuencia, actualizamos el documento técnico con los detalles de nuestros nuevos enfoques para la selección del mercado, el streaming justo, la incentivación y el inicio y la desconexión de nodos.
Hemos estado trabajando en una versión 2 para la ProximaX Mobile Wallet. Esta wallet está completamente recodificada de la versión anterior, tiene mejor seguridad y una mejor experiencia de usuario. También hemos ampliado nuestra cartera de aplicaciones para incluir ahora una solución de gestión de identidad, un motor de flujo de trabajo y la integración del marco de microservicios. File It!, Notes y Vault permanecen en las pruebas beta, ya que siguen siendo iterados con mejoras y nuevas características.
Actualizaciones del Core de la plataforma
Dado que los componentes técnicos reales de nuestros servicios principales (almacenamiento, streaming) están completos, el equipo ha dedicado más tiempo al diseño de la economía de token. Los detalles completos de esto se incluirán en el documento técnico actualizado que se publicará próximamente.
Además del diseño de la economía de token, se realizaron algunos cambios en los componentes técnicos de cada capa, como se describe a continuación.
Capa de Blockchain
Una de las características clave que se construyó en abril fue el complemento de metadatos. Este nuevo complemento permitirá que los metadatos se almacenan en la blockchain mediante un valor de par de claves. Los complementos de blockchain existentes se actualizan para incluir esta función de metadatos, de modo que los datos personalizados se puedan etiquetar en una cuenta, mosaico o namespace, que se extiende por el propietario de la cuenta, el mosaico o el namespace, a través del valor de par de claves.
También hemos diseñado y comenzado a construir una utilidad de actualización de software para la blockchain. Como Catapult no tiene un soporte de compatibilidad de versión, los complementos recién creados requerirían un esfuerzo adicional al actualizar los nodos de software. Un posible resultado de esto es tener que reiniciar la blockchain y potencialmente arriesgarse a perder todos los datos. Este resultado no es deseable para el lanzamiento de nuestra red principal pública, por lo que se convirtió en una necesidad para nosotros diseñar y construir la utilidad de actualización de software para la blockchain, ya que no podemos esperar a que todos los complementos se construyan para ejecutar nuestra red principal.
En lugar de vincular los lanzamientos de datos binarios para bloquear alturas actualmente, el complemento utiliza versiones de notificación para vincularse a cada versión de los datos binarios. En otras palabras, cuando se publica una nueva versión de datos binarios, se añadirá una nueva versión de notificación y validadores/observadores de esa notificación. De esta manera, todas las versiones estarán disponibles y se permitirán en cualquier momento, lo que permitirá actualizaciones de software sin problemas. Si es necesario, volver a las versiones de software anteriores también se puede hacer sin afectar o detener la blockchain. Los clientes de Blockchain pueden trabajar con versiones anteriores de datos binarios si es adecuado para ellos (aunque es posible que deban considerar aspectos de la sincronización de dichos datos entre nodos). La actualización del software Catapult se anunciará a través de la blockchain. Se agregará un nuevo complemento de transacción para esto. Por el momento, solo la cuenta de génesis puede publicar transacciones de actualización de software. En el futuro, las mismas pueden ser impulsadas por complementos y nuestros Supercontracs. Las transacciones establecerán un intervalo de actualización (en bloques) durante el cual deben ocurrir las actualizaciones de software. Durante el intervalo de actualización, todos los nodos pueden actualizar el código binario, pero los cambios no se aplicarán hasta el final del intervalo de actualización. Esto permitirá que el blockchain funcione normalmente sin verse afectado por la actualización. Cuando transcurra el intervalo de actualización, la nueva versión reemplazará automáticamente el software anterior.
La documentación técnica de la blockchain se está reuniendo y se publicará tan pronto como los SDK de estén listos.
Capa de almacenamiento
Desde nuestra última actualización, también hemos reevaluado los componentes de nuestra tecnología de almacenamiento, lo que ha generado algunos cambios en el código para complementar nuestro nuevo enfoque. Uno de los cambios claves realizados fue desacoplar parcialmente la capa de almacenamiento de la blockchain. Anteriormente, se utilizaba un plugin blockchain como servicio para crear contratos digitales que representaban la obligación contractual de un nodo de almacenamiento al informar continuamente las estadísticas de su reputación. Aunque este es el caso del nuevo enfoque, ahora es más independiente, ya que la reputación se puede construir con una comunicación menos frecuente con la blockchain. Este desacoplamiento da como resultado un servicio de almacenamiento de núcleo más eficaz.
También se realizaron algunas modificaciones a la biblioteca de Provable Data Possession («PDP»). En pocas palabras, un esquema PDP permite a un cliente que tiene datos almacenados en un servidor no confiable, verificar que el servidor posee los datos originales sin necesidad de recuperar o almacenar una copia de ellos por separado. Esto se logra generando pruebas probabilísticas utilizando un protocolo interactivo con el servidor remoto. La plataforma admite tres algoritmos principales de PDP: A-PDP, CPOR y MAC-SC. Todos estos serán discutidos en detalle en un documento técnico por separado.
Hemos comenzado a documentar el SDK para la capa de almacenamiento. Está en curso y se actualizará continuamente a medida que avancemos.
Finalmente, hemos comenzado a construir el servidor de demostración y el cliente para los nodos de almacenamiento. Básicamente, estos son componentes que mostrarán la integración del almacenamiento, la verificación cruzada y el esquema de prueba de replicación. La demostración del cliente, por otro lado, se utiliza para exponer cómo un SDK o una biblioteca cliente puede interactuar con un nodo de servidor de demostración remoto.
Capa de streaming
PSP presentó su segundo hito que incluye la plataforma de streaming de trabajo, la documentación y los kits de desarrollo de software. Nuestro próximo paso será integrarlos con la capa de blockchain y construir una plataforma de economía de token para ella.
Demostración sin formato de la consola de backchannel: https://cl.ly/f44d36613c1a
Uno de los hitos clave entregado fue un middleware y un SDK en funcionamiento que se puede usar para crear aplicaciones con capacidad de streaming en vivo. Actualmente tenemos soporte completo de SDK para iOS, Android, Linux y Mac. La documentación se encuentra en marcha.
Además, también reconstruimos algunos de los componentes técnicos de streaming en un esfuerzo por unificar todos los servicios centrales. Uno de ellos es crear un algoritmo de prueba (ancho de banda) con un canal de comunicaciones altamente seguro.
El ancho de banda siempre es un factor crucial en cualquier aplicación de streaming y la capa de streaming ProximaX no es una excepción. En la red de nodos de streaming, el ancho de banda y la reputación son necesarios para garantizar que el consumidor obtenga los mejores trabajadores de nodos posibles que entregarán el flujo de datos de un punto a otro. En la capa de streaming de ProximaX, se espera que los nodos proporcionen estadísticas de ancho de banda a través de un proceso indeterminista que devuelve un conjunto de datos (etiquetas de tiempo) que se utilizarán para determinar la reputación con respecto a su ancho de banda. Las estadísticas recopiladas se ponderarán como parte del puntaje de reputación, que a su vez afectará la probabilidad de que cada nodo sea seleccionado para atender a un cliente/cliente.
Los detalles serán incluidos en el documento técnico actualizado.
Nodo de ambiente de Test Network y Kits de desarrollo de software
A principios de este año abrimos nuestra test network. En abril, comenzamos a finalizar los SDK de blockchain y la documentación técnica. Esto permitirá a los desarrolladores construir su prueba de conceptos en la test network. Se harán más anuncios al respecto más adelante.
Infraestructura y DevOps
El equipo de DevOps ha estado buscando diferentes plataformas y conjuntos de herramientas con el objetivo de facilitar la entrega continua de nuestro software.
Mantenerse al día con las actualizaciones y mejoras de todos los equipos de desarrollo no es una tarea trivial. Por lo tanto, hemos creado un entorno de integración continua con Jenkins como nuestra principal herramienta de CI y Slack como nuestro canal de notificación. Se informará a los equipos de cualquier compilación exitosa o fallida en Slack, lo que aumentará la conciencia e iniciará discusiones abiertas sobre los próximos pasos.
El despliegue continuo es otra área en la que hemos mejorado mucho en los últimos meses. Hemos introducido Ansible AWX, una versión de código abierto de Ansible Tower. Con un solo clic de un botón, puede actualizar la versión del software, restablecer la cadena, propagar los cambios de configuración en todos los nodos y reiniciar la aplicación. En lugar de hacer cada tarea una por una, ahora se hará de manera más eficiente que anteriormente.
El equipo de DevOps continuará introduciendo nuevas tecnologías en los equipos de desarrollo de ProximaX. El enfoque principal será publicar la plataforma Sirius en el mercado de nuestros socios en la nube. La orquestación de contenedores utilizando Kubernetes está en etapa experimental mientras nos preparamos para ampliar los nodos para el lanzamiento de la red principal. Se publicará más información en futuros artículos sobre cómo se pueden usar e implementar estas plataformas.
Desarrollo de aplicaciones
Se ha dedicado mucho tiempo a perfeccionar y mejorar la plataforma central para el rendimiento mientras nos preparamos para el lanzamiento de la red principal. Al mismo tiempo, también hemos estado construyendo un equipo interno de desarrollo de aplicaciones, aunque no ha sido tan agresivo como el desarrollo central.
A pesar de esto, continuamos construyendo un impulso en la solución de identidad de ProximaX. El proyecto comenzó como un POC para un cliente potencial, sin embargo, lo desarrollaremos en un sistema completo que se puede comercializar y vender como una solución por separado. La gestión de identidad tiene un gran potencial y ProximaX está bien posicionada como una plataforma vertical para esta. Es una solución de sistema extremadamente potente para que las empresas aseguren su gestión de identidad, aprovechando el cifrado avanzado y la infraestructura clave de la blockchain.
ProximaX NIS1 Wallet Version 2
La wallet ProximaX fue recodificada completamente. Esta versión 2 es mucho más intuitiva y fácil de usar. Actualmente estamos ejecutando un programa de recompensas para buscar errores en la wallet antes de que se lance la versión de producción real.
Gestión de identidad
Una de las tareas clave que ya ha sido completada es almacenar datos biométricos en la capa de almacenamiento. Esto se suma a la capacidad del sistema para crear una jerarquía de usuarios, así como para capturar datos geográficos. Cuando un nuevo usuario se registra, parte o todos los datos del usuario se pueden almacenar en la tarjeta NFC. La información se puede verificar utilizando un lector NFC que se comunica directamente con la plataforma Sirius de ProximaX.
Integración de la plataforma de microservicios
El equipo de tecnología está explorando la integración de una plataforma de microservicios llamada Abixen. Abixen es un proyecto de código abierto al que contribuí, en el 2016, y tiene una potente arquitectura de microservicio que permite a los equipos de desarrollo crear rápidamente aplicaciones empresariales y de misión crítica con servicios conectables. Estamos extendiendo este proyecto mediante la creación de un complemento de Proximax Sirius para permitir a los desarrolladores crear aplicaciones que se integren directamente en la plataforma Sirius.
Más actualizaciones sobre las aplicaciones en construcción
- File It!, Vault y Notes: se actualizan y mejoran continuamente. Hay una prueba beta abierta y todos son libres de unirse e informar errores (las recompensas se dan cuando es apropiado y aplicable).
- Workflow Engine: la primera prueba pública en vivo para el motor de flujo de trabajo se lanzará muy pronto. Ahora estamos configurando la infraestructura para esto, de modo que podamos abrirla al público para las pruebas beta.
Catapult (NIS2) Blockchain Explorer y actualizaciones de la Wallet
El explorador de la blockchain NIS2 y la wallet genérica se encuentra en reconstrucción.
- https://bctestnetexplorer.xpxsirius.io – NIS2 Blockchain Explorer
- https://bctestnetwallet.xpxsirius.io – NIS2 Web Wallet – aún en desarrollo. Pronto se desplegará una nueva interfaz web.
Resumen
- ProximaX Wallet Version 2 diseño y desarrollo.
- La plataforma de tecnología de almacenamiento, completa.
- La plataforma de tecnología de streaming, completa.
- Se inició la actualización del documento técnico y otra documentación de investigación y diseño.
- Exploración de Integración de la plataforma de microservicios Abixen y la plataforma Sirius de ProximaX.
- Se trabajó en la plataforma de identidad.
- Se trabajó en el flujo de trabajo del motor.
- Implementación automatizada de la infraestructura.
- Se introdujo el complemento de metadatos para la blockchain Catapult
- Se trabajó en mejorar el proceso para las actualizaciones del software blockchain.