Llegamos a ustedes gracias a:



Reportajes y análisis

Blockchain: Los 10 mejores kits de herramientas

[14/06/2019] Gran parte de la energía y la emoción en el mundo de blockchain se ha centrado en las criptomonedas, sus valiosas valoraciones y sus asombrosos colapsos. La mayor parte del mundo empresarial se ha mantenido al margen, haciendo canchita y recostándose para disfrutar del espectáculo.

Sin embargo, esto está cambiando lentamente a medida que las empresas comienzan a caer silenciosamente en las turbulentas aguas. Algunos se sienten tentados por las eslingas y flechas de la fortuna indignante, porque quieren aceptar la criptomoneda como el dólar o el euro. Otros están más interesados en la sólida autoridad ofrecida por el blockchain cripto mejorado, y quieren usar la matemática y la ciencia para reforzar sus propias prácticas internas. Ellos y sus clientes quieren algo de la seguridad ofrecida por los mecanismos probados en la batalla.

Crear un puente entre el cauteloso y conservador mundo de la empresa y, el salvaje y aventurero mundo de blockchain no es para los neófitos. Incluso si está evitando las criptomonedas y manteniendo el papel formal de simplemente rastrear y autenticar transacciones, es importante que la criptografía sea correcta. Este no es un rol para el código original, personalizado. Es mejor seguir con una biblioteca bien establecida, en la que la prueba del tiempo y una comunidad de usuarios dedicados hayan eliminado los errores.

La biblioteca correcta para su pila de blockchain depende, en gran medida, de la forma en que su compañía esté adoptando el blockchain. Aquellos que quieren confiar en éste como una fuente de verdad para los contratos, querrán bibliotecas que interactúen con las diferentes cadenas que están surgiendo; y aquellos que quieran conectarse con las diferentes monedas querrán construir un puente con los diferentes intercambios.

Aquí hay 10 de las bibliotecas más interesantes que pueden servir de base para integrar blockchains en el software de su empresa.

BigChainDB

Tanto las bases de datos como las blockchains almacenan información. A algunas personas les gusta discutir sobre las diferencias. La compañía detrás de BigChainDB está tratando de fusionar los conceptos creando una base de datos distribuida con las características inmutables de blockchain. El sistema responde al lenguaje de consulta de MongoDB y ofrece una compleja arquitectura de permisos para permitir muchos tipos de registros y activos inmutables. Una versión de la comunidad está disponible con una licencia de código abierto, o puede contratar a la empresa para consultoría o soporte de producción.

Bitcoin Core

El protocolo de Bitcoin fue diseñado para ser descentralizado. Los desarrolladores más serios que quieran trabajar con Bitcoins, querrán ejecutar "nodos completos" que se involucren completamente en el proceso de creación de consenso para agregar nuevos bloques a la cadena. Bitcoin Core es la edición de referencia definitiva de este software, pero también hay clones como Bcoin, una biblioteca de JavaScript para usuarios de Node.js que deseen participar en la minería y las transacciones. También hay un Bcoin Cash para aquellos que quieran trabajar con esta bifurcación. Si está investigando activamente las transacciones, la biblioteca BPanel del equipo de Bcoin actúa como un "BMS", un sistema de administración de Bitcoin con todas las características estándar que se encuentran en un sistema de administración de contenido como WordPress o Drupal.

Coinbase

Muchos de los que necesitan trabajar con las criptomonedas no quieren el desafío y la molestia de participar en la transacción. Están felices de dejar que alguien más haga el trabajo. Uno de los intercambios más grandes y mejor financiados es Coinbase, una compañía que también ofrece APIs para aquellos que desean procesar transacciones a través de ellos. Encontrará las bibliotecas de Coinbase para Ruby, PHP y Node que se encargarán de las billeteras, rastrearán los precios históricos e iniciarán transacciones en las cuatro monedas principales que admite la plataforma (Bitcoin, Bitcoin Cash, Litecoin y Ethereum).

Corda

El proyecto de código abierto Corda es la contribución de la industria bancaria al movimiento de blockchain. No es una moneda o un reemplazo para los bancos, porque estos ya ofrecen un nivel sofisticado de confianza para liquidar el pago. Es más una biblioteca para construir su propio libro mayor, una idea ligeramente diferente que logra casi lo mismo. Los grupos de compañías o personas pueden construir contratos inteligentes y usar el libro mayor para rastrear la propiedad de los activos. El código está más centrado en la empresa y menos en el derrocamiento de la industria financiera.

Embark

Crear un contrato inteligente o una aplicación distribuida para el blockchain de Ethereum requiere una buena cantidad de coordinación. Primero, el código debe ser compilado, luego probado y finalmente implementado en una red. Embark es una constelación de bibliotecas y herramientas que incluye un editor de código, un interfaz de usuario web y un explorador de transacciones, así como una serie de complementos para un mejor mantenimiento. Todos trabajan como un IDE para el mundo Ethereum.

Ethereum

La plataforma Ethereum es más compleja y está abierta a experimentos. Los desarrolladores que desean crear contratos inteligentes pueden usar un lenguaje más robusto para desarrollar acuerdos complejos que liberen una mayor cantidad del potencial de la verdad compartida incrustada en el blockchain. La implementación de referencia oficial escrita en Go es rica en características y se ejecuta en toda la web. Aquellos que desean ejecutar un nodo en la red Ethereum pueden crear uno que sea un participante completo, un observador (light) o un bibliotecario (archivo). Ethereum también incluye una serie de herramientas para los desarrolladores de código que define los contratos digitales, como una versión de la máquina virtual que los ejecutará.

Los fanáticos de idiomas particulares a menudo pueden encontrar versiones de la pila de Ethereum que implementan su código directamente o toman prestada gran parte de la estructura. Pyethereum, por ejemplo, es una biblioteca central con una interfaz de línea de comandos para usar Python para interactuar con la cadena Ethereum. Los desarrolladores que aman Python y desean escribir sus propios contratos inteligentes también pueden explorar Vyper, un lenguaje "centrado en la seguridad" para el desarrollo de contratos, que también se dice que es "Pythonic". Hay bibliotecas similares para otros lenguajes, como Web3.js para JavaScript y Nethereum para .Net.

GUN

Es difícil encontrar la palabra "blockchain" en cualquier lugar de la documentación de GUN, pero hay muchas similitudes. La información oficial es que GUN es una herramienta "totalmente descentralizada" para sincronizar datos en una red de pares. No hay un maestro que tenga el control de una sola fuente de verdad. De hecho, no existe ningún protocolo real de consenso -una diferencia importante con respecto al blockchain tradicional. Pero GUN sigue siendo una buena base para crear aplicaciones distribuidas, porque la información fluye fácil y rápidamente a través de la red y "la pérdida de información importante [es] casi imposible". Si su algoritmo no requiere negociar algún consenso sobre la verdad -algo que ocurre a menudo en las redes sociales donde cada miembro es independiente-, una herramienta como GUN puede proporcionar gran parte de los beneficios distribuidos de lo que consideramos como blockchain sin el tiempo y el gasto adicionales de cualquier algoritmo a prueba de nada.

Hyperledger

Uno de los proyectos de código abierto más grandes para construir en blockchain es Hyperledger, una gran colección de herramientas y marcos para sostener una infraestructura amplia con el fin de converger en una verdad compartida. Todas las herramientas de evolución conjunta están destinadas a respaldar implementaciones independientes dentro de las empresas. Grid, por ejemplo, tiene como objetivo fomentar un blockchain que rastree el flujo de materiales y pagos a través de las redes de proveedores. Su colección de bibliotecas ofrece un conjunto predefinido de tipos de datos y formatos que se pueden personalizar para la industria de fabricación en particular. Muchos de los subproyectos como Irora y Sawtooth están diseñados para ser modulares, lo que permite a los desarrolladores elegir la combinación correcta de control de permisos y la construcción de consenso.

Quorum

La naturaleza pública de gran parte de los datos en el blockchain siempre ha sido tanto una característica como un desafío. Quorum -una bifurcación de Ethereum de J.P. Morgan Chase- es un experimento que combina las mejores opciones para la privacidad y los medios más eficientes para alcanzar un consenso. Los blockchains privados construidos dentro de las compañías o entre los miembros del consorcio pueden usar Quorum para crear blockchains más pequeñas, más rápidas y más simples que aún cumplen la promesa de una verdad compartida sin el costo adicional y la molestia de la minería.

El modelo Raft, por ejemplo, designa nodos líderes, que toman las decisiones finales sobre los contenidos de la cadena, y nodos que los siguen, que aceptan esas decisiones. La ausencia de disputas significa que las transacciones pueden ser finalizadas en milisegundos. El modelo de Estambul ofrece Tolerancia a Fallas Bizantinas para redes más elaboradas con menos confianza.

Quorum también ofrece un mecanismo basado en permisos para crear transacciones privadas y ocultar los detalles de otros miembros del consorcio. Los nodos individuales mantienen árboles de Merkle separados para los datos públicos y privados, lo que permite que ambos evolucionen uno al lado del otro.

Truffle

Escribir su propio contrato inteligente es mucho más fácil con un IDE que ha sido optimizado para la tarea. Truffle se creó para soportar la creación, prueba y despliegue de contratos escritos en Solidity, uno de los idiomas más populares para el blockchain de Ethereum. Dentro va su texto y el IDE de Truffle compilará el código mientras lo integra con otros paquetes de Ethereum administrados con EthPM.

Las pruebas comienzan en un "entorno de sala limpia" utilizando una versión privada del blockchain de Ethereum, que se ejecuta localmente y es conocido como Ganache. Las pruebas se pueden escribir en Solidity, para probar el comportamiento dentro del mundo de blockchain, o en JavaScript/TypeScript, para simular la manera en la que los contratos interactuarán con el mundo exterior cuando entran en funcionamiento.

El proyecto Truffle también incluye Drizzle, una colección de herramientas de administración de datos React/Redux para hacer que la creación de front-ends/interfaces de usuario sea un poco más fácil para las aplicaciones web.