Blockchain: La privacidad del Bitcoin que está de moda
Blockchain está de moda. Cada mes surgen nuevos sistemas de este tipo, aplicaciones que los utilizan o empresas que basan su modelo de negocio en las oportunidades que permite esta tecnología.
Pese a este gran boom, todavía existe mucha incertidumbre al respecto. Hay dudas sobre su escalabilidad, sobre su eficiencia, en algunos casos sobre la robustez de los mecanismos de consenso subyacente y también sobre su privacidad, tema en el que nos centraremos a continuación.
Este sistema no proporciona anonimato. Aunque un usuario puede crear tantas cuentas como quiera, es posible relacionarlas entre sí con un alto grado de probabilidad, salvo que el usuario se tome muchas molestias (y probablemente, asuma riesgos) para evitarlo.
Al estar la mayor parte de los blockchains actuales basados en mayor o menor medida en Bitcoin. Si además, añadimos la propiedad de inmutabilidad que proporcionan, estamos ante una combinación peligrosa. La inmutabilidad de un blockchain implica que, una vez se haya escrito una determinada información en la cadena de bloques, ésta quedará ahí para siempre. La inmutabilidad de Bitcoin (donde está escrita esa información) garantiza que, queramos o no, esa información no podrá ser borrada.
¿Qué es Ethereum? ¿Qué es un smart contract?
Ethereum es uno de los principales blockchains, excluyendo Bitcoin. Está también basado en prueba de trabajo, es decir, requiere que los participantes de la red gasten capacidad de cómputo para colaborar (aunque planean cambiar esto en el futuro). Pero lo que más fama ha dado a este sistema son sus smart contracts Turing completos. En este contexto, un smart contract no es más que un programa que se ejecuta de forma descentralizada. Es decir, todos los nodos de la red lo ejecutan y comprueban que el resultado de sus operaciones coincide con el que se ha escrito en la cadena de bloques. El término “contrato” viene de que originalmente se pensaron para automatizar contratos (legales y/o financieros), aunque los smart contracts valen para cualquier tipo de procesamiento.
Resumiendo, un participante de Ethereum puede invocar un smart contract, que estará replicado en todos los nodos del sistema, y leer el resultado de la operación invocada directamente de la cadena de bloques, sabiendo que el resultado es correcto (por supuesto, bajo el modelo de seguridad de Ethereum).
Ethereum cuenta con una importante comunidad de desarrolladores. Entre otras utilidades, hay muchos módulos disponibles para NodeJS que permiten recorrer de manera sencilla la cadena de bloques, bloque a bloque y transacción a transacción, procesando la información que estas contienen. En concreto, podemos ver emisor y receptor de la transacción y los parámetros de la misma e incluso ejecutarla de nuevo. El término “transacción” en Ethereum sirve tanto para operaciones de envío de la criptomoneda interna, el Ether, como operaciones de invocación de una función de un smart contract. En el caso de Ethereum, estos smart contracts se ejecutan en cada nodo de la red, de forma independiente, a través de la conocida como Ethereum Virtual Machine (EVM).
Pero supone un problema, ya que no nos sirve con simplemente procesar bloque a bloque, analizando las transacciones de cada uno de ellos, ya que estas transacciones internas no aparecen explícitamente.
Gracias a las implementaciones de la máquina virtual de Ethereum disponibles libremente, podemos reproducir exactamente el procesamiento que llevaron a cabo los nodos de la red. El único requisito es saber el estado de la red antes de ejecutar cada operación y los parámetros de la propia operación. Como toda esta información está directamente disponible en la cadena de bloques, podemos reproducir todo sin problemas.
El flujo es básicamente el que se ha comentado antes: recorrer bloque a bloque la cadena y recuperar las transacciones dentro de cada bloque. Pero, en este caso, cargamos el estado de la cadena de bloques para el bloque en cuestión dentro de la EVM. Una vez cargado, le decimos a la EVM que ejecute el código de cada transacción que hayamos visto en ese bloque.
Por ese motivo, ya van surgiendo propuestas de blockchains en los que se implementa privacidad robusta desde el principio, como ZCash, Enigma o Hawk.
Referencias:
https://es.wikipedia.org/wiki/Cadena_de_bloques
http://blockgeeks.com/guides/what-is-blockchain-technology/
http://fortune.com/2016/05/23/blockchain-definition/
http://betanews.com/2016/12/30/etherium-blockchain/
https://www.taylorwessing.com/download/article-how-secure-is-block-chain.html
https://www.ft.com/content/05b5efa4-7382-11e6-bf48-b372cdb1043a
https://securityintelligence.com/tag/blockchain/
https://labs.beeva.com/jugando-al-conecta4-con-smart-contracts-30dc478ca91d#.tdsnyx8hu
https://es.wikipedia.org/wiki/Ara%C3%B1a_web
"""
Artículos de Fran 🐝 Brizzolis
Ver blog¡Hola abejas!... Hoy os traigo un post sobre una de las tendencias de mayor crecimiento en los últim ...
¡Hola abejas! · Después de 3 semanas sin PC (por una nueva avería) vuelvo a la carga… Para los curi ...
¡Hola abejas! · Ya tenemos la nueva versión de nuestra querida colmena disponible, pero las obras t ...
Puede que te interesen estos puestos de trabajo
-
Desarrollador/a de Blockchain
Encontrado en: beBee Professionals - hace 2 días
Aplicar directamente
beBee Professionals está buscando un/a Desarrollador/a de Blockchain para unirse a su equipo en Las Palmas de Gran Canaria. Estamos buscando a alguien con una pasión por la tecnología blockchain y una comprensión profunda de los conceptos relacionados con el desarrollo de blockch ...
-
Desarrollador/a de Blockchain
Encontrado en: beBee Professionals - hace 2 días
Aplicar directamente
beBee Professionals, empresa líder en el desarrollo de tecnologías blockchain, busca un/a Desarrollador/a de Blockchain para su sede en Valencia. · Estamos buscando a un/a profesional con una sólida experiencia en el desarrollo de aplicaciones blockchain, con una comprensión prof ...
-
Vendedor/a Moda KIABI Pulianas
Encontrado en: beBee S2 ES - hace 5 días
Kiabi Granada, España Sin especificarde la empresa Más de en todo el mundo, de más de 60 nacionalidades distintas, formamos parte de esta gran familia, y trabajamos cada día para nuestros más de 20 millones de clientes en todo el mundo, para hacer realidad nuestro sueño: facilitar la vida de las familias construyen ...
Comentarios
Fran 🐝 Brizzolis
hace 6 años #1
Gracias Carlos \ud83d\udc1d T\u00edscar, me esfuerzo mucho por dar a conocer estas cosas, y siempre intento hacerlo de una manera mas accesible a todo el mundo, aunque reconozco que son temas muy aburridos para la mayoria de la gente. Un fuerte abrazo para todos.... Gran trabajo el que estás realizando, sigue asi!