Fran 🐝 Brizzolis

hace 7 años · 3 min. de lectura · ~100 ·

Blogging
>
Blog de Fran 🐝
>
Blockchain: La privacidad del Bitcoin que está de moda

Blockchain: La privacidad del Bitcoin que está de moda


afar
TECHNOLOGY

  

Coyptogranny


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.


‘
HOW BLOCKCHAIN WORKS

Alice irs 's 1 reited me Ths Box s broadeast 1 very
send rar, 13 Ben fr 0 cary o the etuork

 

 

 

 

 

transparent record of the transaction

i - Be

re
8B
0



¿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).


BT r—r————
pape
[ET ————

By

  
  
    
  
   

Cot wisn pe aa 1 sve

 

 

0)
J Re
righ pthegatey

ae
[rset

.

 

a IE

BE TT em—
PR rr
pre———

    

al TT,
[ROPER —
Pa

[ER .
PE

 

0
Per a aR re
Fa —
Ea >)
[RSET J —
=i = [ries
PL pup
0

PEAS i


No obstante, en el caso que nos ocupa, hay una ligera complicación que, al mismo tiempo, se dará en los casos más interesantes. Esta llamada contrato a contrato no se refleja directamente en la cadena de bloques de Ethereum, ya que es lo que se conoce como un mensaje interno. Básicamente, por ahorrar espacio, los nodos que componen la red y ejecutan el código procesan la llamada como si fuera todo parte del mismo programa (aunque en realidad se estén ejecutando dos smart contracts) y sólo almacenan el resultado final. Esto no es un problema desde el punto de vista de la coherencia del resultado final, ya que el procesamiento es determinista y todos los nodos de la red llegarán al mismo resultado, por lo que no es necesario “apuntar” las transacciones intermedias.


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://www.blockchain.com/

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://www.ethereum.org/

https://z.cash/

http://www.enigma.co/

http://oblivm.com/hawk/

https://labs.beeva.com/jugando-al-conecta4-con-smart-contracts-30dc478ca91d#.tdsnyx8hu

https://es.wikipedia.org/wiki/Ara%C3%B1a_web

http://support.import.io/knowledgebase/articles/247570-create-a-crawler-extract-data-from-an-entire-web


"""
Comentarios

Fran 🐝 Brizzolis

hace 6 años #1

#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!

Artículos de Fran 🐝 Brizzolis

Ver blog
hace 5 años · 2 min. de lectura

¡Hpla abejas! · En los últimos tiempos hemos asistido a la publicación de infinidad de información y ...

hace 5 años · 7 min. de lectura

¡Hola abejas!... Después de un final e inicio de año un tanto accidentado, ( 2 averías casi consecut ...

hace 5 años · 10 min. de lectura

Hola abejas, después de solucionar algunos problemillas "locales" en mi ordenador, con la "privacida ...

Puede que te interesen estos puestos de trabajo

  • beBee Professionals

    Desarrollador/a de Blockchain

    Encontrado en: beBee Professionals - hace 1 día

    Aplicar directamente

    beBee Professionals Bilbao, España Desarrolladores Freelance

    beBee Professionals está buscando un/a Desarrollador/a de Blockchain para unirse a su equipo en Bilbao. Estamos buscando a alguien con una pasión por la tecnología blockchain y una comprensión profund ...

  • beBee Professionals

    Desarrollador/a de Blockchain

    Encontrado en: beBee Professionals - hace 1 día

    Aplicar directamente

    beBee Professionals Sevilla, España Desarrolladores Freelance

    beBee Professionals está buscando un/a Desarrollador/a de Blockchain para unirse a su equipo de Sevilla · Estamos buscando a alguien con una pasión por la tecnología blockchain y una comprensión profu ...

  • Bioga

    Técnico en Blockchain en CETIM

    Encontrado en: Talent ES C2 - hace 2 días


    Bioga Culleredo, España De jornada completa

    Se precisa ingeniero con conocimientos en Inteligencia Artificial y redes neuronales, desarrollo de algoritmos y técnicas de machine learning y deep learning. Se busca desarrollador software full stac ...