Blockchain

Cómo evitar el infierno del desarrollo

Cómo evitar el infierno del desarrollo

Cointelegraph está siguiendo el desarrollo de una cadena de bloques completamente nueva desde el inicio hasta la red principal y más allá a través de su serie, Inside the Blockchain Developer’s Mind, escrita por andres levine del Grupo Koinos.

Recientemente lanzamos la tercera y última versión de la red de prueba de Koinos, por lo que quiero hablar sobre algo de lo que a pocos proyectos les gusta hablar: construir cadenas de bloques es infierno de desarrollo. En este artículo, explicaré por qué y cómo otros desarrolladores pueden evitar quedarse atascados en él.

A primera vista, construir una cadena de bloques no parece tan difícil. Una cadena de bloques es solo una combinación de primitivas criptográficas bien establecidas que, cuando se implementan correctamente, permiten la construcción de un libro mayor que contiene un historial verificable de transacciones por parte de una red. Cuanto más descentralizada sea la red, más confiable será la historia.

“Marcos” de cadena de bloques

En un esfuerzo por facilitar la construcción de nuevas cadenas de bloques, otros equipos han lanzado “marcos” de cadenas de bloques que, en teoría, deberían eliminar la necesidad de que los desarrolladores se preocupen por construir la propia cadena de bloques para que puedan concentrarse en las características únicas que desean incorporar. la cadena de bloques Cosmos, EOSIO y Polkadot’s Substrate son ejemplos de dichos marcos de blockchain.

Cuando nuestro equipo dejó de trabajar en Steem (la primera cadena de bloques sin cargo del mundo), nuestra intención original era aprovechar un marco de cadena de bloques existente para construir una cadena de bloques diseñada para ser lo más accesible posible. Pasamos cuatro años refinando el diseño gratuito de Steem y pensamos que, al trasladar esa solución a un marco de cadena de bloques existente, podríamos ofrecer una cadena de bloques que fuera mucho más accesible que cualquier otra cadena de bloques en relativamente poco tiempo.

Relacionados: Dentro de la mente del desarrollador de blockchain: consenso de blockchain de prueba de quemado

Verdaderamente gratuito y de uso general

Pero nos sorprendió descubrir que ninguno de los marcos existentes nos permitía crear el tipo de experiencia de usuario verdaderamente sencilla que buscábamos traer al mercado. No solo queríamos eliminar las tarifas a nivel técnico, queríamos empoderar a los desarrolladores para crear aplicaciones que fueran de uso gratuito.. También carecían de una serie de otras características que creíamos que eran necesarias para ofrecer una experiencia de desarrollador aceptable.

El poder de una cadena de bloques de propósito general no proviene de las características que los ingenieros de cadenas de bloques construyen en la cadena de bloques, sino de las características que los desarrolladores agregan a esa cadena de bloques como contratos inteligentes. Esto es doblemente cierto para un marco de blockchain que realmente debería ser el más blockchain de propósito general imaginable, ya que la idea es permitir que las personas construyan cualquier tipo de blockchain que puedan imaginar. Y, sin embargo, los marcos existentes no lograron empoderarnos, uno de los equipos de desarrollo de cadenas de bloques con más experiencia, en nuestros intentos de construir la cadena de bloques que queríamos construir de múltiples maneras..

Los marcos existentes no solo hicieron imposible que los desarrolladores crearan aplicaciones de uso gratuito, sino que también obligaron a los desarrolladores a aprender lenguajes de programación nuevos y, a menudo, difíciles y restringieron drásticamente la velocidad a la que podían mejorar tanto las aplicaciones como la propia cadena de bloques.

Relacionados: Dentro de la mente de los desarrolladores de blockchain: Construyendo una DApp social de uso gratuito

Liberando a los desarrolladores

Queríamos construir una cadena de bloques que liberara a los desarrolladores para crear aplicaciones increíblemente geniales que a la gente común le encantaría usar. Eso permitió a los desarrolladores trabajar en los lenguajes de programación que ya conocían y amaban (lo que llamamos “soporte de lenguaje universal”); eso permitió que sus aplicaciones (y la propia cadena de bloques) evolucionaran rápidamente; y, lo que es más importante, les permitió crear aplicaciones de uso gratuito.

Pero para construir eso blockchain, primero necesitábamos un marco de blockchain verdaderamente de propósito general que no solo nos permitiría construir la cadena de bloques de nuestros sueños, sino que, como consecuencia natural de ser el marco de trabajo más general que se pueda imaginar, debería permitir que cualquier persona construya la cadena de bloques de sus sueños. Sueños.

Koinos es ese marco de blockchain de uso general definitivo que servirá como base para la capa 1 definitiva: la red principal de Koinos. El marco de la cadena de bloques de Koinos (KBF) está diseñado para ser el más simple blockchain imaginable, que contiene solo las primitivas criptográficas necesarias para construir una cadena de bloques y las “llamadas al sistema” correctas para permitir que se agregue la más amplia gama de comportamientos en banda (sin una bifurcación dura) a través de la carga de un contrato inteligente.

Capacidad de actualización infinita

El beneficio de este diseño es la capacidad de actualización infinita, pero el costo es que hace que las llamadas del sistema sean correctas y más importantes. Perder una llamada al sistema o diseñarla incorrectamente significaría tener que lidiar con una bifurcación dura que de otro modo se podría evitar. Debido a que las bifurcaciones duras consumen tanto tiempo, son políticas y disruptivas, son el factor más importante que limita la capacidad de una cadena de bloques para mejorar, lo que en última instancia siente cada desarrollador cuya aplicación se crea en dicha plataforma.

Ahora podemos ver cómo los desarrolladores de aplicaciones y blockchain pueden quedar atrapados en el infierno del desarrollo: trabajar en lenguajes de programación con los que no se sienten cómodos, en plataformas que los obligan a incorporar tarifas y que mejoran a paso de tortuga. En estas condiciones, incluso los cambios menores tienen mucho en juego, y ni siquiera hemos tenido en cuenta esos escenarios en los que hay millones, a veces miles de millones, de dólares en riesgo.

Eso es el infierno del desarrollo. Como el equipo central de desarrollo detrás de la cadena de bloques de Steem que tuvo que supervisar 23 bifurcaciones duras, conocemos este terreno mejor que casi nadie, por lo que estábamos tan comprometidos a desterrarlo, bueno… al infierno.

Construir Koinos Blockchain Framework desde cero con una arquitectura de microservicio completamente novedosa y llevarlo al punto en el que pudiéramos lanzar las versiones 1 y 2 de la red de prueba fue increíblemente desafiante. Pero integrar los comentarios que recibimos de esas redes de prueba, corregir los errores que expusieron y finalizar las llamadas al sistema más importantes fue un nivel completamente diferente. Pero pasamos por ese infierno de desarrollo con la esperanza de hacerlo para que otros nunca tengan que hacerlo.

Heraldo

Testnet v3 es, por lo tanto, más que “simplemente otra” versión de testnet. Es la versión final de Koinos Blockchain Framework, por lo que ahora nos referiremos a testnet, no por un número de versión, sino por el nombre: Harbinger. Es la culminación de casi dos años de trabajo, identificando e implementando todas las llamadas al sistema necesarias para dar a los desarrolladores de blockchain el máximo nivel de libertad y permitir que los desarrolladores de aplicaciones se beneficien de una plataforma que está mejorando a un ritmo más rápido que cualquier otra. cadena de bloques por ahí.

Por supuesto, cada vez que intentas resolver un problema realmente importante, cierto nivel de desarrollo es inevitable. Solo quiere asegurarse de no adoptar tecnologías que aumenten las apuestas innecesariamente y de que el objetivo por el que lucha vale la pena.

Para nosotros, ese objetivo no es solo evitar que los desarrolladores de blockchain (incluidos nosotros mismos) pasen incontables horas en el infierno de los desarrolladores, sino también aprovechar esta nueva tecnología para crear la red principal de Koinos: la capa 1 definitiva para capacitar a los desarrolladores para que construyan aplicaciones increíblemente geniales basadas en blockchain.

No más infierno de desarrollo

El KBF tiene como objetivo eliminar el infierno del desarrollo al permitir que los desarrolladores construyan cualquier cadena de bloques que puedan imaginar simplemente escribiendo contratos inteligentes, lo cual es infinitamente más fácil que trabajar en el propio código de la cadena de bloques. Y esa es exactamente la posición en la que nos encontramos ahora. Si bien desarrollar el marco de blockchain fue increíblemente desafiante, ahora que terminó, todo lo que se necesita para completar la red principal de Koinos son solo dos contratos inteligentes: uno para nuestro algoritmo de consenso de prueba de grabación y el otro para la gobernanza.

No solo es mucho más simple escribir contratos inteligentes que el desarrollo de blockchain, sino que esto también significa que los desarrolladores de blockchain ahora pueden aprovechar las herramientas en constante expansión que están disponibles para los desarrolladores de contratos inteligentes como el SDK de AssemblyScript creado por uno de los miembros de nuestra comunidad. AssemblyScript no solo produce contratos inteligentes mucho más eficientes que los escritos en C++ (fue una sorpresa), sino que hace que el desarrollo de contratos inteligentes sea accesible para los desarrolladores de JavaScript.

Dado que KBF convierte a cualquier desarrollador de contratos inteligentes en un potencial desarrollador de cadenas de bloques, esto significa que el desarrollo de cadenas de bloques personalizadas ahora será accesible para los desarrolladores de JavaScript con aún más lenguajes por venir, como Rust.

Si está interesado en ejecutar Harbinger, lo hemos hecho increíblemente fácil de ejecutar un nodo para que pueda estar listo y funcionando en menos de cinco minutos.

Este artículo no contiene consejos o recomendaciones de inversión. Cada movimiento de inversión y comercio implica un riesgo, y los lectores deben realizar su propia investigación al tomar una decisión.

Los puntos de vista, pensamientos y opiniones expresados ​​aquí son solo del autor y no reflejan ni representan necesariamente los puntos de vista y opiniones de Cointelegraph.

andres levine es el director ejecutivo de Koinos Group, un equipo de veteranos de la industria que acelera la descentralización a través de la tecnología blockchain accesible. Su producto fundamental es Koinos, una cadena de bloques infinitamente actualizable y sin cargo con soporte de idioma universal.

Fuente