¿Se pregunta qué planificar al emprender el desarrollo de software blockchain?
Esta es una buena pregunta que trataremos en este artículo. Un buen desarrollo de software de cadena de bloques ahorra tiempo y dinero y también ayuda a garantizar que su proyecto sea lo mejor posible.
Desarrollo de blockchain: ¿Qué planeas?
Un proyecto de desarrollo de software de cadena de bloques necesita una planificación elaborada en torno a varios aspectos, como se indica a continuación:
Aspecto #1: Decide si realmente necesitas blockchain
No todas las nuevas tecnologías pueden brindarle valor comercial. ¿Blockchain resultará beneficioso para usted? Para saber esto, hágase las siguientes preguntas:
- ¿Está implementando un modelo de negocio que involucra transacciones entre pares sin intermediarios?
- Si es así, entonces una cadena de bloques descentralizada pública es útil.
- De lo contrario, tal cadena de bloques no te sirve.
- ¿Su modelo de negocio propuesto es tal que las partes interesadas no pueden confiar entre sí?
- Luego, necesitan un sistema de procesamiento de transacciones en el que nadie necesite confiar explícitamente entre sí. El sistema descentralizaría la validación de transacciones.
- Las redes públicas de blockchain como Bitcoin y Ethereum proporcionan esto con su algoritmo de consenso de «Prueba de trabajo» (POW). Sin embargo, POW consume mucha energía y es costoso. Lea sobre esto en «Comparación de prueba de trabajo vs prueba de participación».
- Si su negocio propuesto tiene participantes de confianza, entonces no debe implementar dicha cadena de bloques.
- ¿Necesita una base de datos distribuida que ofrece una cadena de bloques pública?
- Las cadenas de bloques públicas replican la base de datos en cada nodo. Esto reduce los incentivos económicos para los piratas informáticos. Si eliminan un servidor, ¡miles de otros servidores continúan manteniendo la red blockchain!
- Si su negocio no necesita tales bases de datos de blockchain distribuidas con tanta redundancia, entonces debería pensar en usar bases de datos tradicionales como Oracle, SQL Server, etc. Las bases de datos tradicionales tienen un historial impresionante durante décadas y son de alto rendimiento.
Lea más sobre estas preguntas pertinentes en “¿Realmente necesito blockchain? 4 factores importantes a considerar”.
Aspecto #2: Decide si necesitas un token criptográfico
Suponiendo que hizo una lluvia de ideas con su equipo y decidió que necesita una cadena de bloques, es hora de decidir si necesita un token criptográfico. Pregúntate a ti mismo las siguientes preguntas:
- ¿Está vendiendo un producto/servicio que debe tener un token criptográfico? ¿Hay proveedores que vendan un producto/servicio similar sin un token criptográfico? Si los hay, ¿cómo se venden? Si existe un modelo comercial existente para su producto/servicio propuesto, y si funciona de manera razonable, es posible que no necesite tokens criptográficos.
- ¿Sus clientes definitivamente deberían comprar tokens criptográficos para acceder a su plataforma de cadena de bloques? Luego, debe planificar un token de utilidad. Este tipo de token proporciona acceso a una plataforma y ese es su caso de uso principal.
- ¿Está planeando introducir un token criptográfico con la promesa de ganancias futuras para sus clientes? Bueno, está vendiendo un contrato de inversión de valores, y eso es bastante diferente de un producto/servicio basado en blockchain. ¡Debe seguir las regulaciones de valores y desvincular su proyecto de cadena de bloques de los valores que está emitiendo!
Lea más sobre esto en «Guía de comparación de tokens de utilidad versus tokens de seguridad».
Aspecto #3: Elija entre blockchain pública o privada
Ahora debe planificar qué tipo de cadena de bloques debe usar, es decir, pública o privada. Considera lo siguiente:
- ¿Puede permitirse una red totalmente abierta a la que puedan unirse participantes anónimos o seudónimos? Si puede, entonces una cadena de bloques pública como Ethereum está bien para usted. Por otro lado, si necesita restringir su plataforma solo a partes confiables, entonces debe optar por una cadena de bloques autorizada. Estos también se denominan «cadenas de bloques empresariales».
- ¿Procesarás datos confidenciales? Si lo hace, entonces necesita una cadena de bloques privada donde pueda implementar el control de acceso y proteger sus datos confidenciales. Si sus datos pueden estar abiertos al público, entonces una cadena de bloques pública está bien.
- Las cadenas de bloques públicas como Bitcoin y Ethereum no escalan bien. Cada nodo tiene toda la información de la cadena de bloques. Cada nodo participa en el proceso de validación de transacciones. La red solo puede ser tan rápida como el nodo más lento. Si la escalabilidad y el rendimiento de las transacciones son cruciales para usted, piense en usar una cadena de bloques privada.
Lea más sobre esto en «Comparación de blockchain pública vs privada (permitida)».
Aspecto #4: Alcance su proyecto de desarrollo de blockchain
Centrarse en el alcance del proyecto. Que estas desarrollando?
Si está configurando un negocio descentralizado, entonces está planeando desarrollar una «Aplicación descentralizada» (DApp). Una DApp es una aplicación web con las siguientes características:
- El front-end puede estar en cualquier idioma, sin embargo, el back-end debe ejecutar contratos inteligentes.
- Una DApp debe ejecutarse en una cadena de bloques descentralizada.
- Debería ser de código abierto.
- Una DApp debe usar un token criptográfico, creado con algoritmos criptográficos modernos.
- Ningún usuario debe controlar la mayoría de estos tokens.
- Cualquier cambio en la DApp debe seguir el consenso de sus usuarios.
- Una DApp debe almacenar datos en una cadena de bloques descentralizada siguiendo los estándares criptográficos.
Lea más sobre DApps en «Cómo convertir una aplicación web en una Dapp». Utilizará una cadena de bloques pública para esto.
Ahora, necesita desarrollar contratos inteligentes para DApps. Los contratos inteligentes son fragmentos de código con ciertas características distintas, de la siguiente manera:
- Los contratos inteligentes son de código abierto.
- Contienen el código «IF-THEN-ELSE» y transfieren activos criptográficos al cumplir condiciones predefinidas.
- Los contratos inteligentes se almacenan en una cadena de bloques. Son transparentes y nadie puede alterarlos después del despliegue.
- Se ejecutan de forma autónoma, y la ejecución es irreversible.
Anteriormente expliqué los contratos inteligentes en «¿Cómo implementar un contrato inteligente en Ethereum?».
Si planea construir su propio proyecto de cadena de bloques en un contexto empresarial, entonces no está desarrollando una DApp. Puede usar contratos inteligentes incluso en ese caso. Sin embargo, podría estar desarrollando en una cadena de bloques empresarial como Hyperledger Fabric (Fabric). En el lenguaje de Fabric, los contratos inteligentes se denominan «códigos de cadena».
Aspecto #5: Seleccione una plataforma de cadena de bloques DApp
Si está desarrollando una DApp, debe elegir una plataforma de cadena de bloques para ella. Tienes varias opciones, por ejemplo:
Etéreo
Etéreo es la plataforma de desarrollo de contratos inteligentes y DApp más establecida. Veamos los siguientes datos rápidos al respecto:
- Ethereum ofrece un conjunto de protocolos de cadena de bloques para el desarrollo de DApp. “Ethereum Virtual Machine” (EVM) es el componente central aquí. Ejecuta el código de DApps y contratos inteligentes.
- Los contratos inteligentes en la cadena de bloques de Ethereum se escriben principalmente en Solidez, es decir, un lenguaje propietario. Un desarrollador de software también puede usar víbora para esto.
- Ethereum es muy popular. Más del 84% de las «Ofertas iniciales de monedas» (ICO) en 2017-2018 utilizaron esta plataforma, como Este reporte
- Ethereum ofrece seguridad totalmente descentralizada con la ayuda del cifrado de datos moderno y el algoritmo POW. Esto también reduce su escalabilidad y rendimiento de transacciones.
- Planea hacer la transición al algoritmo de «Prueba de participación» (PoS) más adelante, lo que debería mejorar la escalabilidad.
- Ethereum tiene un conjunto bien desarrollado de estándares de tokens criptográficos. Esto ayuda a los desarrolladores de software de blockchain a construir sus tokens. El estándar más común es ERC20. Puede leer acerca de los estándares ERC importantes en “Más de 5 estándares ERC que todo desarrollador de Ethereum debería conocer”.
- A partir de ahora, los desarrolladores pueden usar cadenas laterales para lograr escalabilidad. Pueden usar algoritmos de consenso más eficientes para sus DApps en sus propias cadenas laterales. Red de Telares, una empresa emergente de blockchain ofrece «Kits de desarrollo de software» (SDK) para crear DApps en «DAppChains», es decir, cadenas laterales específicas de la aplicación. Lea más sobre esto en «Cómo escalar un Ethereum Dapp».
Lea sobre la configuración de un contrato inteligente y el desarrollo de DApp en Ethereum en «Desarrollo de software Blockchain utilizando la red Ethereum».
NEO:
NEO es una plataforma de contrato inteligente desarrollada por un equipo de China, y es bastante parecida a Ethereum. Las características distintivas de NEO son las siguientes:
- Se centran en el cumplimiento y afirman que admiten una solución de identidad digital compatible con GDPR.
- Utilizan un algoritmo de consenso de «Tolerancia de falla bizantina delegada» (dBFT). Esto implica un equipo de delegados con identidades claras. Un consenso del 66% entre estos delegados es suficiente para la validación de transacciones. Esto mejora la escalabilidad y el rendimiento de las transacciones.
- NEO permite el desarrollo de contratos inteligentes usando lenguajes populares como C#, Java, Python que los desarrolladores ya usan para el desarrollo web.
Lea más sobre NEO en “ETH contra EOS, NEO, ADA”.
EOS:
EOS es otra plataforma de contrato inteligente que es similar a Ethereum. Las diferencias son las siguientes:
- El desarrollo de contratos inteligentes en EOS es posible con C++.
- EOS ofrece una mejor escalabilidad y rendimiento de transacciones, ya que utiliza el algoritmo de consenso «Prueba de participación delegada» (DPoS).
- A diferencia de Ethereum, no hay costo de transacción en EOS. Los usuarios arriendan sus tokens para cubrir el ancho de banda.
Lea más sobre EOS en “EOS vs Ethereum: ¿Es EOS una buena alternativa?”.
lista
lista no es una plataforma de contrato inteligente. Las siguientes son las características relevantes de esta plataforma:
- Esta es una plataforma para crear aplicaciones de cadena de bloques utilizando cadenas laterales. Cada aplicación se ejecuta en su cadena lateral separada.
- Lisk usa un algoritmo de consenso DPoS, lo que lo hace más rápido.
- Los desarrolladores pueden usar JavaScript para codificar en Lisk. Muchos desarrolladores conocen JavaScript, por lo tanto, esta es una ventaja clave.
- Lisk ofrece SDK para ayudar aún más a los desarrolladores.
- Lisk permite la integración de plataformas de contratos inteligentes con aplicaciones que se ejecutan en sus cadenas laterales.
Lea más sobre Lisk en “Comparación de plataformas de contratos inteligentes”.
Aspecto #6: ¿Desarrollarse en un contexto empresarial? Seleccione una plataforma blockchain empresarial
Si está planeando un proyecto de cadena de bloques empresarial, utilizará una plataforma de cadena de bloques empresarial. Describiré las opciones clave que tiene, que son las siguientes:
Tela Hyperledger (Tela)
Tela es una de las plataformas blockchain empresariales más maduras. Tenga en cuenta los siguientes puntos relevantes sobre Fabric, incluidas sus ventajas:
- Es un proyecto desarrollado por el Consorcio Hyperledgerun grupo de la industria con el objetivo de promover blockchains empresariales, herramientas de desarrollo de blockchain de código abierto y marcos.
- Es un marco de blockchain autorizado. Las empresas pueden implementarlo para sus casos de uso específicos, incluidos los casos de uso de contratos inteligentes.
- IBM y varios gigantes tecnológicos lo respaldan. Grandes empresas como Maersk ya lo están explorando.
- Los desarrolladores pueden codificar «códigos de cadena», es decir, contratos inteligentes en Fabric utilizando Java, «Golang» y Node.js, que muchos desarrolladores ya conocen. Obtenga más información al respecto en «Pros y contras de Hyperledger Fabric para redes blockchain».
- Fabric utiliza algoritmos de consenso que reflejan los flujos de trabajo de aprobación y procesamiento de transacciones en las empresas.
- Hyperledger Fabric es una cadena de bloques escalable y de alto rendimiento.
- Tiene una arquitectura modular. Un desarrollador de blockchain puede beneficiarse de componentes conectables como el algoritmo de consenso y desarrollar aplicaciones rápidamente.
- Fabric tiene un «Proveedor de servicios de membresía», lo que facilita la implementación de una cadena de bloques autorizada.
- Este marco utiliza la partición de datos en forma de «Canales» para transacciones que involucran datos confidenciales.
- Fabric tiene un «Modelo de seguridad de hardware» (HSM), seguridad adicional basada en hardware para proteger las firmas digitales.
- A partir de finales de 2018, Fabric también permitirá a los desarrolladores codificar contratos inteligentes de Ethereum en esta plataforma. Lea sobre esto en «Uso de Hyperledger Fabric para configurar contratos inteligentes de Ethereum».
Corda R3
Corda R3, también llamada «Corda», es otra plataforma blockchain empresarial muy conocida. Los puntos destacados sobre Corda son los siguientes:
- Corda es de R3.
- Esta cadena de bloques autorizada tiene diferentes niveles de acceso para diferentes categorías de nodos. Las organizaciones que usan Corda pueden configurar estos nodos de acuerdo con los diferentes roles organizacionales que tienen.
- Corda está diseñado específicamente para la industria de servicios financieros. Esto lo diferencia de Fabric, que es independiente de la industria.
- Esta plataforma utiliza contratos inteligentes. Los contratos inteligentes en Corda tienen expresiones legales específicas, lo que los hace adecuados para la industria de servicios financieros fuertemente regulada.
- El mecanismo de consenso en Corda determina tanto la validez como la singularidad de la transacción, de la siguiente manera:
- Los contratos inteligentes aseguran la validez.
- El programa de protocolo verifica si alguna otra transacción usa cualquiera de los estados de entrada de la transacción bajo validación. Si ninguna otra transacción ha utilizado ninguno de estos estados de entrada, la transacción en cuestión es única.
Leer «modelo de consenso” para saber más sobre el algoritmo de consenso en Corda.
Aspecto #7: Presupuesto
Su trabajo de presupuestar un proyecto de desarrollo de blockchain implica lo siguiente:
Presupuesto para la mano de obra de desarrollo.
Su presupuesto de mano de obra de desarrollo depende del alcance y la arquitectura de su proyecto, de la siguiente manera:
- Deberá contratar a un desarrollador de blockchain de Ethereum con habilidades de desarrollo de Ethereum y lenguaje de programación Solidity si está desarrollando una DApp de Ethereum.
- Para desarrollar DApps en otras plataformas, deberá contratar desarrolladores de C++/C#/Java/Python/JavaScript.
- Para el desarrollo de blockchain empresarial, deberá contratar desarrolladores de Fabric o Corda.
- Los analistas de negocios, evaluadores y gerentes de proyectos son los otros roles que necesita.
Lea «¿Cuánto cuesta construir un proyecto de cadena de bloques?» para más detalles.
Presupuesto para la infraestructura.
El presupuesto para la infraestructura dependerá del alcance de su proyecto, de la siguiente manera:
- Si está desarrollando DApps utilizando Ethereum/NEO/EOS/Lisk, no necesitará comprar infraestructura. En su lugar, deberá comprar los tokens criptográficos respectivos, por ejemplo, Ether (ETH) para Ethereum. Esto le permitirá crear, implementar y ejecutar sus DApps en las plataformas respectivas.
- Para crear sus aplicaciones en blockchains empresariales como Fabric o Corda, deberá adquirir cualquiera de las siguientes cuentas de «Blockchain as a Service» (BaaS):
¿Está emprendiendo un proyecto estratégico de desarrollo de aplicaciones de cadena de bloques?
Un proyecto de desarrollo de software blockchain puede ser complejo. La tecnología Blockchain es nueva, además, las habilidades para el ecosistema blockchain son en su mayoría un nicho. Necesitas planificarlo bien, para prepararte para el éxito.
Sin embargo, esto requiere una importante experiencia en consultoría y arquitectura de software. Considere tomar ayuda profesional de las empresas de desarrollo de blockchain.
Puedes leer nuestra guía “¿Cómo encontrar la mejor empresa de desarrollo de software?”. Esto lo ayudará a encontrar la consultoría, la arquitectura de blockchain, las tecnologías de blockchain y el socio de desarrollo adecuados para su adopción exitosa de blockchain.
Si todavía está buscando un socio de desarrollo de blockchain con experiencia, DevTeam.Space puede ayudarlo.
Póngase en contacto describiendo sus requisitos iniciales de desarrollo de blockchain a través de este formulario y uno de nuestros gerentes técnicos lo ayudará a asociarse con nuestra comunidad experta de desarrolladores de blockchain para sus excepcionales servicios de desarrollo de blockchain.
Preguntas frecuentes sobre el desarrollo de Blockchain
Para el desarrollo exitoso de productos de cadena de bloques, sus desarrolladores deben conocer lenguajes de programación de cadena de bloques como Solidity y GO para crear contratos inteligentes. Además, deben tener suficiente conocimiento de los conceptos básicos de blockchain para configurar plataformas de blockchain públicas o empresariales como Ethereum y Hyperledger fabric según los requisitos.
Un proyecto de blockchain depende de múltiples factores. En primer lugar, vea si sus procesos comerciales realmente necesitan una solución de servicios de cadena de bloques, luego decida si necesita tokens criptográficos para ello. Además, finalice el alcance de sus soluciones de blockchain. Por ejemplo, es una DApp para facilitar las transacciones financieras, etc. Luego comience a planificar el aspecto de desarrollo como herramientas de desarrollo de blockchain, plataformas, desarrolladores de blockchain, empresas de blockchain, etc.
La falta de habilidades de desarrollo de cadenas de bloques, la comprensión limitada del ecosistema de cadenas de bloques, los recursos financieros restringidos, etc. son algunas de las razones que dificultan el desarrollo exitoso de las aplicaciones de cadenas de bloques. Para superar estos desafíos, intente explorar las principales empresas de desarrollo de blockchain y asóciese con la que se adapte a sus necesidades comerciales.
Related Posts:
- ¿Cómo emprender el desarrollo de Ethereum para Blockchain?
- ¿Cómo planificar su presupuesto para el proyecto de…
- Cuánto cuesta Blockchain para el desarrollo de software I…
- ¿Cómo emprender el desarrollo de una app musical? I…
- Cómo emprender el desarrollo de aplicaciones de citas…
- ¿Qué es Hyperledger Fabric en el desarrollo de Blockchain?