Un saludo cordial a todos los compañeros de la CryptoAcademy, en especial al profesor @stream4u, esta semana estuvimos aprendiendo sobre la criptografía dentro de las Blockchains, un tema bastante interesante y de mucho aprendizaje, en esta oportunidad, les presento mi tarea:
1-Explique el Blockchain CryptoGraphy y mencione algunos nombres que son las Plataformas Blockchain (Pocos nombres de las Plataformas Blockchain).
Como sabemos las Blockchains son tecnologías muy seguras, pero está seguridad se la debemos a la criptografía, que es la encargada de mantener la privacidad y la integridad de nuestros datos en las operaciones dentro de las Blockchains.
Gracias a la criptografía, las Blockchains pueden mantener esa seguridad de su red, evitando que sea interceptada por agentes malignos, de tal manera que busca mantener la información segura desde el punto de inicio o partida hasta el final de la operación.
Las Blockchains para mantener la seguridad en su red, utiliza las criptografía de clave privada y la Criptografía de clave pública, también el uso de la Criptografía mantiene la interoperabilidad de la red, evitando que los datos obtenidos por el punto de partida, lleguen hasta el final sin ser modificados o alterados a conveniencia.
El proceso de criptografía permite la seguridad de usuario y de la red por medio de las claves públicas o privadas, ya que para descifrar un mensaje que ha sido cifrado por medio de las claves, necesitaremos la clave requerida para poder descifrar ese mensaje que ha sido cifrado y convertirlo nuevamente en un texto plano. Todo este proceso que parece algo complejo ha funcionado de maravilla, para así poder hacer de las Blockchains un sistema seguro, con privacidad y confiabilidad.
Por tal motivo, la criptografía es un pilar sumamente fundamental para las Blockchains.
Ahora vemos algunos nombres de plataformas Blockchains:
-EOS Blockchain.
-TRON Blockchain.
-Cardano Blockchain.
-Steem Blockchain.
-Polkadot Blockchain.
-Ethereum Blockchain.
2-Explique la CryptoGraphy de clave pública.
La clave pública, es una de las llaves que se crean gracias a lo que se conoce como criptografía asimétrica, está clave pública, es aquella que podemos compartir con total consentimiento dentro de la blockchain, para así poder compartir datos con la otra parte de manera segura y confiable.
Este tipo de clave, está relacionada fuertemente con la clave privada, incluso, sin la clave privada no podemos generar una clave pública, en pocas palabras estas claves, están vinculadas de forma directa, aunque no podemos saber la clave privada a través de esta clave pública. La clave pública es compartida entre los usuarios pero solo aquellos que tengan las claves privadas podrán descifrar el mensaje que se produce en la transacción.
La clave pública es utilizada para poder recibir y enviar mensajes que están cifrados, pero para poder ser descifrados estos mensajes debemos poseer una clave privada, por tal motivo, al utilizar estas dos claves para descifrar mensajes y realizar transacciones, nos vemos en el uso de la criptografía asimétrica.
En palabras más resumida, la función principal de la clave pública es cifrar un mensaje o información, para que la parte a recibir lo descifre con la clave privada.
3-Explique la CryptoGraphy de clave privada.
Ahora hablemos de que es la clave privada, como dije anteriormente es una clave que sirve para poder descifrar un mensaje que ya ha sido cifrado a través de una clave pública, pero con esta también podremos cifrar un mensaje o información, esta clave no se comparte con nadie y debe guardarse en un lugar muy seguro.
Esta clave es generada gracias al proceso de generación de claves a través de la criptografía asimétrica, esta clave nos permite el total acceso y control tanto de nuestra wallet, como de nuestros activos criptográficos.
El implementar estas claves gracias a la criptografía asimétrica, nos esta brindando un alto nivel de seguridad, sin embargo también depende de nosotros mismos mantener ese nivel de seguridad, manteniendo a salvo nuestras calves, ya que al apoderarse una persona con malas intenciones de nuestra o nuestras claves privadas, debemos dar por perdidos nuestros activos y nuestra wallet.
Gracias a su velocidad, diversidad y dificultad de cálculo, son las responsables de otorgar ese sistema tan seguro de estas claves, incluso se estima que se pueden crear una cantidad casi infinita de distintas claves privadas, algo bastante impresionante.
Cuando creamos una wallet, lo primero que se crea es la clave privada, ya que con ella podremos tener el control de todo lo que sucede o sucederá en nuestra wallet, y junto con esta clave privada se crea la calve pública, pues ambas claves se encuentran relacionadas matemáticamente.
4-Explique la CryptoGraphy de firmas digitales y ¿qué es Singing Of Transaction / Message?
Así como cuando firmamos un documento o un cheque en la vida real y con esta firma, autenticamos nuestra identidad, de tal forma en mundo criptográfico, existe una técnica que hace el mismo papel de la firma en el mundo real y recibe el nombre de firma digital, que claramente es un sistema aun más complejo y seguro.
Esta firma digital se emplea por la criptografía, para así poder autenticar y validar los datos digitales de las transacciones, con esta firma digital se hace una prueba de que el mensaje no haya sido modificado o alterado durante el camino desde el emisor hasta el receptor.
Esta firma digital nace en los años 70 cuando surge lo que conocemos hoy en día como la criptografía de clave pública.
¿Cómo funciona la firma digital?
Las firmas digitales funcionan a través de tres pasos básicos:
El hashing: Esta paso constan de someter a un proceso de Hashing, los datos dentro del mensaje, a través de un algoritmo de hashing que nos producirá un valor Hash. Este proceso puede ser omitido, si la persona que firma tiene una clave privada, ya que con la clave privada puedes firmar el mensaje sin la necesidad de hacer un proceso de Hashing.
La firma: En este paso, el emisor procederá a firmar el mensaje luego de haber sido sometido a un proceso de Hashing, justo en este paso, aparece en funcionamiento la clave pública. Esta firma se genera mediante una clave privada, la cual será luego verificada por el receptor mediante la clave pública.
La verificación: Una vez que se genera la firma y el mensaje llega al receptor, esta debe ser verificada, para ello, el receptor utilizar la clave pública, ya que con esta podrá verificar la firma conjuntamente con la clave privada, esta verificación se hace, para ver si el mensaje ha sido modificado o no durante el camino hacia el receptor.
Por lo tanto si la clave privada no es incluida en dicha firma, el receptor no podrá validar el mensaje con la clave pública.
Ahora ¿por qué esta firma es importante en las Blockchains:
Bien como sabemos esta clave funciona para mantener seguros y verificados nuestros datos al momento de ser enviados y recibidos por el receptor, entonces es muy importante para las Blockchains aplicar estas firmas, porque nos mantienen de manera íntegra y segura el contenido de los datos que estamos enviados. Mantienen los mensajes auténticos, ya que a través de la clave publica podemos verificar si nuestro mensaje a sido modificado o no y por ultimo no podrá ser repudiada por el emisor, ya que no se podrá negar que haya firmado, a menos que su calve privada, haya sido robada.
5-Explique qué es la criptografía simétrica y asimétrica.
Criptografía simétrica:
En la criptografía, nos encontramos con un sistema de cifrado llamado Criptografía simétrica, la cual funciona a través de una clave, esta clave tiene el poder de cifra o descifrar una información, esta clave, debe conocerse por ambos tanto por el emisor con el receptor, para así poder cifrar y descifrar la información dentro de una red.
Si las dos partes no conocen previamente esta clave, no puede funcionar este sistema, ya que el receptor no podrá descifrar el mensaje enviado, por lo tanto para que funcione previamente, tanto el emisor y receptor ya deben saber esa clave.
Este tipo de criptografía es uno de los más antiguos métodos criptográficos que existen, incluso se habla de que apareció por primera vez en las épocas del antiguo Egipto y el imperio romano.
Sin embargo este sistema de criptografía no está seguro, ya que debemos compartir nuestra clave privada con el receptor para que se pueda descifrar el mensaje, entonces si esa clave privada cae en manos equivocadas, pueden pasar algunos desastres.
Aquí podemos ver algunos ejemplos de criptografía simétrica:
-Triple Data Encryption Standard (3DES)
-Advance Encryption Standard (AES)
-Data Encryption Standard (DES)
Criptografía asimétrica:
La criptografía asimétrica es otro tipo de criptografía, la cual, utiliza dos claves para el cifrado y descifrado la información, una de las claves la privada, la cual es totalmente secreta y no se debe compartir con nadie y la otra es la clave pública, la cual puede ser compartida con los demás nodos de la red.
Este tipo de criptografía, suele ser más segura que la criptografía simétrica, incluso es utilizada por las tecnologías blockchains y las criptomonedas, para poder enviar y recibir criptomonedas de manera aun más segura.
Ambas calves nacen por ecuaciones matemáticas muy complejas. La clave privada crea una clave pública, y se puede rastrear una clave pública con la clave privada, pero el proceso inverso no es posible realizarse, incluso es imposible poder rastrear una clave privada por una clave pública.
Este sistema de cifrado de información fue crea en el año 1976 por Ralph Markle, Whitfield Diffie y Martin Hellman, y gracias a esta criptografía asimétrica se garantiza la comunicación totalmente segura hasta incluso en los canales inseguros.
Entre los ejemplos de criptografía asimétrica están:
-Protocolo TLS/ SSL.
-Rivest Shamir Adleman (RSA)
-Criptografía de curva elíptica (ECC)
6-Cómo funciona Blockchain Wallets CryptoGraphy y explica los tipos disponibles de Crypto Wallets.
Las wallets son un software o hardware de almacenamiento totalmente seguro de claves tanto públicas como privadas dentro de la blockchain y es aquí donde podemos enviar y recibir criptomonedas en cualquier instante.
Estas wallets son diferenciadas por medio de un código conocido como dirección de la billetera el cual es un código diferente para cada billetera, esta dirección se puede compartir con terceros sin comprometer las claves privada y publicas, con la finalidad de recibir o enviar criptomonedas.
Las billeteras utilizan dos claves, una clave pública que es aquella que se comparte con terceros y se puede comparar como un número de cuenta bancario, y la clave privada, que debe mantenerse secreta y bien guardada para garantizar la seguridad de nuestros activos dentro de la billetera ya que con ella mantendremos el acceso y control de nuestros activos y se puede comparar como un PIN o clave de nuestra tarjeta.
Además que las billeteras pueden ser protegidas por una clave creada por su usuario, gracias a las funciones criptográficas que estas ofrecen.
Tipos de Crypto Wallets:
Los tipos de billeteras, están divididos en dos categorías:
Billeteras frías: Son una categoría de billetera que resguarda nuestras activos fuera de línea a través de un papel o un dispositivo que contendrá el valor de nuestro activo, este tipo de billetera se considera las más seguras, y dentro de esta categoría tendremos:
Paper wallet: Es un tipo de billetera que pertenece al grupo de billeteras frías, la cual a través de un papel impreso podrás tener total acceso y control de tus activos, es en este papel donde se almacenaran las direcciones publicas y la clave privada, es una billetera totalmente segura, ya que es imposible que sufras un ataque informativo porque esta wallet se mantiene offline.
Wallet de escritorio: Son un tipo de wallet, que se descarga a nuestro ordenador y no tiene que estar conectada a una red de internet ni depende de la misma, estas wallet almacenan nuestras claves privadas dentro del disco duro de nuestro ordenador.
Hardware wallet: Es otro tipo de wallet que pertenece a este grupo de billeteras frias, este tipo de billetera se mantienen a salvo en un dispositivo físico, que puede ser un dispositivo USB, un disco duro, una memoria micro SD, entre otros, también representan un tipo de billetera de mayor seguridad.
Billeteras calientes: Son una categoría de billeteras que se mantienen conectadas al internet y la blockchain para poder estar en funcionamiento, almacenan nuestras claves privadas en la red, por lo tanto son menos seguras que las billeteras frías, ya que estas se encuentran vulnerables a ataques por estar conectadas a la red de internet, su finalidad es ofrecerle al usuario una manera más fácil, rápida y cómoda de acceder a sus activos criptográficos y poder almacenarlos, dentro de esta categoría de billeteras tenemos las siguientes:
Wallet Online: Son un tipo de billetera caliente, que almacena nuestras claves privadas en la red de la empresa que ofrece el servicio de billetera, estas redes se mantienen siempre activas en la red de internet.
Wallet Movil: Es otro tipo de billetera caliente, ya que son billeteras que podemos descargar en nuestros móviles o tablets, son dependientes de la red de internet para funcionar y están conectadas con la blockchain a la cual forman parte, son igual de vulnerables, ya que al estar conectadas a internet representan un riesgo.
Aunque las billeteras calientes sean menos seguras, siguen siendo una buena opción para aquellas personas que son principiantes o que mueven péquelas cantidades de activos criptográficos por estas wallets.
7-¿Qué son los árboles de Merkle y cuál es su importancia en blockchain?
El árbol Merkle, es una herramienta criptográfica, la cual se divide en varias partes, este tiene como objetivo poder relacionar cada nodo de la transacción (hash) con una raíz única (Hash raíz), este recibe el nombre de árbol Merkle, por la forma que hace de manera invertida, también se le conoce como pirámide invertida.
El árbol Merkle fue creado en el año 1979 por Ralph Merkle, ya que buscaba mayor rapidez a la hora de verificar grandes cantidades de datos.
Esta estructura criptografía, ayuda a los mineros a validar y verificar las transacciones contenidas en un bloque de manera eficiente y segura, ya que cada hash de la transacción se encuentra representado en el hash del bloque.
La información contenida en estos árboles, no se puede alterar, por lo que se mantiene de manera íntegra, ya que al ser alteradas, el hash raíz sufrirá modificaciones y no podrá ser validado.
Este árbol se estructura de la siguiente manera, Hojas primarias y secundarias, ramas y por último la raíz o el Hash raíz, que es donde se almacenan todos las Hashes de las hojas y las ramas.
¿Por qué es tan importante el árbol Merkle en las Blockchains?
Bueno como dije anteriormente, esta estructura permite agilizar la verificación de datos de manera segura, y para las blockchains es importante por los siguientitas puntos:
Integridad de datos: Esta estructura permite que los datos se mantengan sin modificaciones a la hora de validar una transacción, ya que al haber modificaciones, queda totalmente invalido el Hash raíz, por lo tanto queda la transacción invalida.
Velocidad de verificación: Al utilizar esta estructura criptografía, permite realizar la validación del bloque de manera rápida y así no se tendrá que buscar las transacciones almacenadas dentro del bloque, por lo que ahorra tiempo a la hora de validar un bloque.
Ahorra recursos: Para validar un bloque se necesita de poder computacional, por lo tanto al usar el árbol Merkle, se puede ahorrar estos recursos de memoria y CPU porque la información estará codificada y eso permitirá que sea más fácil el procesar datos, evitando el almacenamiento innecesario de tanta información para ahorra memoria y CPU.
8-Práctica + Teoría, haga una investigación práctica, estudie en Blockchain Demo: Claves públicas / privadas y firma y luego explique la funcionalidad de Clave, Firma, Transacción, Blockchain con capturas de pantalla adecuadas de la suya práctica. (Estudie bien este tema)
Las Llaves o claves:
En las blockchains, las claves públicas y privadas son de suma importancia para el funcionamiento de ellas, y así mantener de forma segura nuestros activos y tener el control de ellos, estas claves también permiten que podamos enviar o recibir dinero criptográfico por parte de otras personas a nuestras billeteras, estas claves trabajan en conjunto para poder cifrar o descifrar el contenido del mensaje. En Blockchain Demo podemos ver el ejemplo de como es una clave privada y una calve publica, como se muestra en la imagen.
Clave privada:
43468137816163037413601644045932608187303735299065942871527974515836322966640
Clave pública:
04c90584a3f1ff4eabc645db4fe767cb0d3b0f9ce05a38600cef0375beb881fb3dc6535cb3f5630f8e3640f366c309a95dd76df0a5adb2da1a9ec632c2b996919d
Ahora si nosotros cambiamos la clave privada, automáticamente se genera una nueva clave pública, que sera la compañera de nuestra clave privada, ya que cada calve privada, necesita una clave pública para poder funcionar y realizar las transacciones dentro de la blockchain, como podemos ver en la siguiente imagen:
Clave privada:
200
Clave pública:
04cd5a3be41717d65683fe7a9de8ae5b4b8feced69f26a8b55eeefbcc2e74b75fbfd6381eaf29657fdb1373fbba578001efa92c34b1f38c89f9c0b605ba95832a5
Hay tomar en cuenta, que la clave privada es una clave de uso exclusivo para nosotros, no debemos compartirla con nadie, solo compartiremos nuestra clave pública, ya que a través de ella podemos recibir criptomonedas o que las transacciones que hagamos sean validadas.
Firma Digital:
Ahora es momento de estudiar las firmas digitales, como sabemos estas son muy importantes para la validación de mensajes que ya han sido firmados, con la intención de verificar si sufrió alguna modificación en la firma en el camino hacia el receptor.
Nos vamos al área de firma que se encuentra al lado de las claves, aquí vamos a realizar el siguiente ejercicio de aprendizaje, en el recuadro de mensaje, escribiremos el mensaje que sera firmado, aparece nuestra clave privada, la cual servirá para realizar la firma, daremos clip en Firmar
Inmediatamente, generada la firma digital, obtendremos un código que sera la firma del mensaje, como lo podemos apreciar en la imagen, hemos firmado de manera exitosa nuestro mensaje.
Firma digital:
304502202e0b0fb389a2b0075c5d2e02bd342172f1c9067e1de30ed03967eba52826132e022100b57a6310592b6817f7b43038e57be29f43cca1387185d41980ebc796ffa1c1b6
Es hora de verificar nuestra firma, para ello, nos vamos a donde dice "verificar", ahora nos aparecerá, el mensaje que hemos firmado, la clave publica, la cual se utiliza para verificar y por ultimo nuestra firma digital, ahora damos clip en verificar.
Como todos los datos son correctos, el cuadro nos aparecerá en color verde, ya que nos incida que todo es perfecto y la firma coincide con la clave publica y con el mensaje.
Pero si hacemos una pequeña modificación en el mensaje, este no podrá ser verificado, ya que ni la firma digital, ni la clave publica, pertenecen a este mensaje modificado, por lo tanto nuestro cuadro aparece en color rojo, ya que no podremos continuar con la verificación. Veamos el ejemplo a continuación:
Transacción:
Bien es hora de cifrar una transacción, para ellos debemos conocer cierto elementos que gracias a la criptografía asimétrica serán de utilidad para el cifrado, estos elementos son:
Clave publica
Clave privada
Firma Digital
En el área de transacción en Blockchain Demo, podemos observar los elementos antes mencionados, los cuales identificare a continuación:
Quien es el receptor del mensaje podrá verificar esta transacción realizada corresponde con la firma y la clave publica, de haber un error en cualquiera de estos elementos antes mencionados, la transacción no sera valida, en este caso como todo es correcto, el programa nos indicara con un recuadro verde que todo esta bien.
Si algún dato, es incorrecto, la transacción no tendrá validez, en este caso hicimos una prueba alterando el primer numero de la clave publica del emisor.
Blockchain:
En el apartado de Blockchain, veremos como funciona una blockchan, que pasa si un dato es alterado dentro de un bloque, Lo primero que observaremos es que todos los bloques se encuentran de color verde, ya que si están validados correctamente y no hay alteración en ninguno de ellos.
Bien haremos un prueba modificando el valor de una de las transacciones que hay dentro del bloque N°2. En el experimento podemos ver que inmediatamente, los demás bloques a partir del bloque modificado han perdido su validez, ya que un dato ha sido cambiado y esto altera la cadena, por lo tanto la criptografía al detectar este error inmediatamente invalida los demás bloques por seguridad.
Pero no todo queda ahí, resulta que si hay posibilidades de validar ese bloque, al minar nuevamente el bloque podrá ser validado, sin embargo, habrá un error en la firma digital, ya que el mensaje debe coincidir con la firma y al haber un mensaje modificado, la firma no coincidirá, por lo tanto los demás bloques seguirán sin ser validados, ya que el bloque anterior ha sido modificado.
Claro, los demás bloques podrá ser validados, pero ya no se validara en cadena, se tendrán que validar manualmente cada uno, esto es debido al enlace que existe entre cada bloque por medio de la criptografía de hashes, y es aquí donde podemos ver la seguridad de este sistema mediante este simulador, ya que al no poder ser validado un bloque por seguridad no se podrá continuar con la cadena, esto permite así detectar ataques al sistema y protegernos.
Hemos aprendido de manera eficaz y practica, cada uno de los conceptos estudiados en la clase, así podemos entender mejor como funcionan.
Conclusión.
La criptografía, es el pilar fundamental de la seguridad, el anonimato y la privacidad que todos conocemos de las Blockchains, gracias a la Criptografía se pueden cifrar y descifrar los mensajes a través de claves públicas y privadas, con el fin de mantener la seguridad y la integridad del usuario y sus activos criptográficos.
Aunque no sea un sistema perfecto y pueda sufrir de ataques informáticos, las Blockchains han mejorado con el pasar del tiempo y el avance de la tecnología e informatica, la seguridad de sus redes, para así evitar estos ataques y seguir brindando esa seguridad que tanto ayuda al usuario, además que la Criptografía ayuda en gran manera a mantener a salvo esos activos depositados en nuestras wallets, también mejora la rapidez a la hora de la verificación de los bloques.
Cc. @stream4u