La cadena de bloques es uno de esos conceptos que por sí solos carecen de sentido, pero cuando se aplican en un sector o comunidad, lo revoluciona todo. De hecho, el sector financiero nunca ha vuelto a ser el mismo desde la aparición de las criptomonedas en 2009, al menos en términos de seguridad y transparencia. Y probablemente, el de la automoción, la salud, la abogacía, la industria alimentaria y la inversión, entre muchos otros, tampoco lo sean después de conocer cómo funciona la blockchain, sus usos más comunes y las ventajas que aporta.
Hoy queremos compartir contigo todo lo que deberías saber acerca de una de las tecnologías más revolucionarias del momento y por qué buscar una empresa de desarrollo blockchain. No te llevará más de 5 minutos algo que puede cambiar el rumbo de tu negocio para siempre.
¿Qué es el blockchain?
Significa, literalmente, cadena de bloques. Es una base de datos o registro público que puede ser compartido por multitud de usuarios en modo peer-to-peer (P2P o red de pares) y que permite el almacenamiento de la información de forma inmutable y organizada.
Es un término asociado a las criptomonedas porque, aparte de ser la tecnología que las sustenta, nació con la primera moneda virtual de la historia en 2009, el Bitcoin. En este caso, los datos añadidos a la blockchain son públicos y se pueden consultar en cualquier momento por los usuarios de la red.
Sin embargo, es importante recordar que las criptomonedas son solo eso, ¡monedas! Tal y como sucede con el euro, el dólar o cualquier tipo de papel moneda. Cada uno es un simple material con un valor impreso, pero lo que permite su uso y genera valor son las leyes económicas que las respaldan.
Algo parecido sucede con las monedas virtuales. En este caso, es la tecnología blockchain quien permite su funcionamiento. Su objetivo principal es crear un registro inmodificable de todo lo que ocurre en la cadena de bloques, por lo que hablamos de un sistema seguro y transparente.
El Bitcoin (BTC), Ethereum (ETH) o cualquier otra criptodivisa es simplemente una moneda virtual construida sobre la blockchain y usada para enviar o recibir la cantidad de dinero que cada participante posee. Esta tecnología es la que mantiene registrado de forma pública las transacciones, pero manteniendo la identidad de los participantes en el anonimato.
Sin embargo, aunque fue creada para almacenar el historial de operaciones del Bitcoin, con el paso de los años se ha identificado un gran potencial para aplicarse en otros ámbitos y sectores debido a las posibilidades que ofrece.
“El blockchain es la tecnología. Las criptomonedas son simplemente la primera manifestación de su potencial” – Marc Kenigsberg
Características de la tecnología blockchain
El avance de este sistema ha sido una incógnita desde su origen, pero poco a poco vamos conociendo más detalles de su funcionamiento:
Seguridad
La criptografía es un pilar fundamental en el funcionamiento de la cadena de bloques, lo que aporta seguridad sobre los datos almacenados en el sistema, así como en la información compartida entre los nodos de la red. Cuando vamos a realizar una transacción, necesitamos un conjunto de claves asimétricas válidas para poder llevarla a cabo en la blockchain. También es conocida como criptografía de clave pública.
Confianza
Al representar un registro compartido de los hechos, esta tecnología genera confianza en los usuarios. Y no solo eso, sino que elimina la posibilidad de manipulación por parte de hackers y genera un libro mayor de operaciones al que todos los miembros de la red pueden acceder.
Inmutabilidad
Cuando la información se añade a la base de datos distribuida, es prácticamente imposible modificarla. Gracias a la criptografía asimétrica y las funciones de hash, se puede implementar un registro contable distribuido que garantiza la seguridad. Además, permite alcanzar el consenso sobre la integridad de los datos entre los participantes de la red sin tener que recurrir a una entidad que centralice la información.
Transparencia
Es uno de los requisitos básicos para generar confianza. En blockchain, la transparencia se consigue haciendo público el código del software para ejecutar la cadena, así como generando una comunidad de nodos que la aplican. Su aplicación en distintas actividades, como las cadenas de suministro, permite la trazabilidad del producto desde el origen.
Trazabilidad
Permite el conocimiento de todas las operaciones realizadas, así como la revisión de las transacciones hechas en un momento específico. La trazabilidad es un procedimiento que permite seguir la evolución de un producto en cada una de sus etapas, así como quién, cómo, cuándo y dónde se ha intervenido sobre el mismo. Este es uno de los principales motivos por los que multitud de sectores están comenzando a aplicar la tecnología blockchain.
3 claves para entender el funcionamiento de la blockchain
Estás a un paso de saber todo sobre la blockchain. Ahora que ya conoces su definición y las principales características y términos relacionados, es el momento de reunir todo lo aprendido para descubrir cómo funciona. ¡Toma nota!
El sota, caballo, rey de las transacciones
Las redes utilizan la tecnología de intercambio de datos peer-to-peer para conectar distintos usuarios que comparten información. Es decir, los datos no están centralizados en un sistema central, sino compartidos por todos los usuarios de la red. En el momento en el que se realiza una transacción, se registra como un bloque de datos transmitido a todas las partes con el objetivo de ser validada.
La transacción es el movimiento de un activo y el bloque puede registrar la información que se elija, desde qué, quién, cuándo, hasta dónde, cuánto y cómo. Cada bloque se conecta a los anteriores y posteriores formando una cadena (blockchain), como una especie de registro imborrable. Cada bloque adicional refuerza la verificación del anterior y elimina la posibilidad de ser manipulado. Finalmente, se realiza la transacción.
La estructura de los bloques
La cadena almacena muchísima información, lo que permite que vaya creciendo a lo largo del tiempo. Este es el motivo por el que ha sido necesario crear mecanismos de consulta eficiente sin necesidad de descargar toda la información: el árbol hash de Merkle.
Se trata de una estructura de datos en árbol que permite que un número elevado de datos separados puedan relacionarse con un único valor de hash, lo que proporciona un método de verificación muy eficiente en los contenidos de grandes estructuras de información.
Generación de los bloques de la cadena
En primer lugar, se trata de un proceso descentralizado. Y para ello, se necesita un consenso distribuido en el que los nodos tengan la capacidad de generar datos válidos. Los usuarios deben convertirse en nodos dentro del sistema para poder emitir nuevas operaciones. Si lo que desean es convertirse en mineros y crear bloques, entonces deben competir con los demás. El proceso de validación se basa en la criptografía asimétrica, con una clave pública y otra privada. Las transacciones emitidas se validan por los nodos en el nuevo bloque minado, así como su correcta vinculación al bloque anterior (debe contener el hash).
Los usos más comunes del blockchain
“Pero si esta tecnología se creó para las operaciones con criptomonedas”. Así es, pero el paso del tiempo, las investigaciones y las necesidades sociales han visto un gran potencial en esta tecnología para aplicarse en otros ámbitos:
Sistemas de votación
Algunos estados como el de Virginia Occidental están poniendo en marcha votaciones electrónicas a través de la blockchain, aunque todavía es un marco por regular. Sin embargo, no hace falta irse tan lejos. Tras las pasadas elecciones a la Asamblea de Madrid, así como la situación de pandemia del COVID-19 y sus restricciones a la movilidad y la reunión de personas, han planteado la instauración del voto electrónico con blockchain. Su trazabilidad e inmutabilidad lo convierten en un sistema muy atractivo para las votaciones. No solo aumentaría la transparencia y la fiabilidad, sino que podría auditar en tiempo real.
Contratos inteligentes (Smart Contracts)
Son programas que permiten cumplir y ejecutar acuerdos registrados entre las partes de forma automática. Pueden aplicarse en cualquier tipo de transacción donde sea necesario un acuerdo registrado, como un depósito de garantía o la contratación de un producto, entre otros. Entre sus principales características encontramos: autoejecución e inmutabilidad. Conoce algunos ejemplos de contratos inteligentes en España en este enlace.
Cadena de suministro
La supervisión y el seguimiento en las cadenas de alimentación, así como en la producción es una de las principales aplicaciones planteadas con blockchain. Algunos ejemplos de esta tecnología en la industria alimentaria y agrícola son: Walmart China, con la producción de alimentos constituida por IBM; o la australiana AgriDigital, que trabaja con libros de contabilidad distribuidos, cadena de bloques y Smart Contracts.
No es lo que ya se ha hecho, sino lo que está por llegar. En Occam Agencia Digital, como empresa de desarrollo blockchain, estamos convencidos de que no se trata solo de programar, sino de analizar las necesidades del cliente y diseñar una experiencia de usuario única.
Tokenización de inmuebles y activos
Gracias a la transparencia del blockchain, la tokenización de activos está revolucionando los sectores tradicionales como la inversión en inmuebles democratizando la compra de los mismos.
Esto rompe la barrera de la inversión en activos más seguros, ya que, hasta el momento, si querías comprar un inmueble, tenías que hacerlo tú solo o entre un grupo muy reducido de personas. Gracias a la tokenización, ahora puedes comprar un piso entre 100, 200, 1000 personas haciendo una pequeña aportación.
Esto también te permite diversificar y minimizar el riesgo, pudiendo invertir 100$ en varios inmuebles.
Es muy importante elegir una empresa de desarrollo blockchain que haya desarrollado algún proyecto utilizando esta tecnología. Puesto que se trata de desarrollos complejos y con muy poca documentación en internet que ayude a los desarrolladores.
¿Cómo hacer un buen desarrollo blockchain?
Lo primero que se debe hacer es un briefing entre ambas partes. El cliente aporta la información del modelo de negocio, y la empresa de desarrollo blockchain ofrece el experto para diseñar la plataforma utilizando la tecnología más óptima.
Es muy importante elegir bien las tecnologías que se van a utilizar, ya que en blockchain cada transacción tiene un coste. En función de la cadena de bloques elegida, puede costar entre 10$ o 0.0001$ cada una de ellas.
También es importante que la empresa de desarrollo blockchain diseñe qué partes de la plataforma deben funcionar para tener un sistema equilibrado de seguridad, experiencia de usuario y costes por uso adecuados y adaptados al modelo de negocio propuesto por el cliente.
Por ejemplo, si quieres desarrollar una plataforma para tokenizar inmuebles y que los inversores puedan comprar tokens de estos. Lo más recomendado es que toda la funcionalidad relacionada con la compra o inversión se desarrolle sobre la tecnología blockchain; y el resto de funcionalidades lo hagan de la forma tradicional. De esta forma, conseguirás una buena experiencia de usuario, una gran seguridad en las compras y bajos costes.
Una vez terminado el briefing, pasamos a la fase de diseño. Con el briefing en la mano, llega el momento de que los expertos en UX y UI se pongan manos a la obra. Con la información recabada, deberás diseñar una plataforma con una gran experiencia de usuario y una interfaz amigable para transmitir confianza al usuario y permitirle operar de forma muy sencilla. De esta manera, evitarás su frustración y abandono en la plataforma.
Occam es una empresa de desarrollo blockchain que cuenta con un departamento de diseño, ya que no solo es importante la parte tecnológica. No nos sirve de nada que la parte técnica del proyecto esté resuelta si no conseguimos que la plataforma del cliente sea usable por los usuarios.
Cuando la plataforma está diseñada, el equipo de desarrollo comienza a programar todas las funcionalidades definidas en el briefing y a maquetar la plataforma como está definida en el diseño.
Esta es la fase que lleva más tiempo, ya que en este momento estamos convirtiendo la idea en algo real. Aquí pasamos de los planos a la realidad, a crear la plataforma que utilizarán los usuarios.
Además, en un desarrollo blockchain hay que tener en cuenta todos los componentes de un desarrollo tradicional (Base de datos, Backend, API, FrontEnd…) sumado a los componentes blockchain (SmartContracts, Gas, la propia blockchain a utilizar….), por lo que es un trabajo en el que hay que tener alta precisión.
Ahora que tenemos la plataforma, vamos a testearla, a probarla entre varias personas: los desarrolladores, el cliente, la empresa de desarrollo blockchain, etc. Cuantos más participantes haya, mejor. Vamos a descubrir pequeños bugs y seguramente alguna carencia no encontrada en el diseño y que, en el momento de usarla, necesitamos solventar. Por ejemplo, un manual de cómo invertir, qué pasos hay que dar dentro de la plataforma, un pop-up que nos avise de alguna configuración extra, etc.
Ya terminado el testing, pasamos al despliegue. Seleccionamos el servidor óptimo para el funcionamiento de la plataforma con el fin de adaptarlo a los recursos que pueda consumir el cliente. Ahora, pasamos de trabajar en la blockchain de pruebas a la mainnet. Es decir, el entorno real.
No es necesario que recuerdes estos pasos de pe a pa, en Occam te acompañamos durante todo el proceso y puedes consultar tus dudas en cualquier momento.
¿Qué tipos de blockchains de pruebas existen?
Existe un gran número de cadenas de bloques. Y con ellas, blockchains de pruebas. Por ejemplo, la blockchain de pruebas de Bitcoin se llama Tesnet, pero hay otras como la de Ethereum que tienen varias cadenas de pruebas como Robsten, Kovan, Rinkeby, Goerli.
Todas ellas funcionan de la misma forma, por lo que podemos utilizar la que queramos. En este caso, como la funcionalidad más importante que aporta esta tecnología, desde el punto de vista del desarrollo, son los Smart Contracts, vamos a centrarnos en Ethereum y a hablar de Robsten.
Cuando estamos desarrollando Smart Contracts, va a ser necesario realizar miles de pruebas para comprobar que todo está según lo previsto. No podemos utilizar una blockchain real, ya que el coste se dispararía y no tendría ningún sentido, ya que las blockchains de pruebas nos van a aportar lo mismo.
Si seleccionamos como cadena de pruebas la red Robsten, podremos obtener ETH gratis (Obviamente, este ETH no es el real) para realizar las pruebas. Cuando lo gastemos, podremos seguir pidiendo más en este enlace https://faucet.ropsten.be/ introduciendo la dirección pública de nuestro wallet.
Por otro lado, para ver las transacciones, podrás hacerlo en https://ropsten.etherscan.io/
¿Qué blockchains públicas se suelen utilizar para desarrollar plataformas?
Una empresa de desarrollo blockchain debe ser capaz de utilizar:
- Ethereum
- Binance Smart Chain
- xDAI
Ethereum: es la red más utilizada del mundo a nivel de Smart Contracts, por lo que está implementado en infinidad de plataformas. Si desarrollamos la nuestra sobre Ethereum, tendremos la capacidad de estar sincronizados con todas ellas. Por ejemplo, si desarrollamos un Exchange de token ERC20 sobre Ethereum, los usuarios podrán enviarlos a Binance, Kraken o su metamask. Todo esto sin tener que hacer ningún desarrollo extra, dado que esas plataformas también utilizan la red de Ethereum.
El gran inconveniente que tiene actualmente esta blockchain es el coste por transacción, aunque, cuando llegue ETH 2.0, quedará resuelto.
Binance Smart Chain: La cual soluciona el coste del gas, es decir el coste por transacción, abaratándolo de forma considerable. Sin embargo, es una red muy centralizada que ha creado una empresa privada. Por lo que de momento no tiene un gran ecosistema fuera de binance en comparación con Ethereum, pese a estar construyéndose.
xDAI: es una blockchain con costes de transacción ridículos y con una característica muy potente. Su moneda es una stablecoin, esto significa que su valor es fijo, en ese caso 1 xDAI = 1 Dólar Americano.