[ESP] Crypto Academy Season 3 | Advanced course : Let's Open The CryptoGraphy. | Clase por @stream4u | Asignación realizada por @steemitbeauty.

in SteemitCryptoAcademy3 years ago

¡Feliz día, queridos amigos de la Criptoacademia! Hoy estoy muy contenta de compartirles esta asignación basada en la interesante clase del profesor @stream4u, en donde aprendimos a conocer más a fondo sobre la criptografía, parte fundamental de las blockchains. Estudiaremos más a profundidad sobre cómo estas se relacionan, dando respuesta a los puntos planteados para el desarrollo de esta asignación:

0001-6375083642_20210821_170347_0000[1].png

Imagen realizada en la Aplicación Canva, por mi persona.

image.png

1. Explique la Criptografía Blockchain y mencione algunos nombres de plataformas Blockchain.

La Criptografía es una de las bases fundamentales de la tecnología Blockchain, ya que esta se encarga cifrar data relevante transmitida entre dos partes mediante una clave pública, emisor y receptor, los cuales son los únicos habilitados para interpretar o modificar dicha información a través del uso de una clave privada, garantizando seguridad y confidencialidad, y evitando que personas no autorizadas accedan a la misma.

image.png

Captura tomada de la Fuente

Gracias a esto, la integridad de las cadenas de bloques no se ven vulnerables, al contar con la garantía de mecanismos de consenso entre usuarios, que promueven el correcto funcionamiento de las distintas redes existentes.

Dentro de las cadenas de bloques, existen una gran variedad de plataformas reconocidas, siendo una de ellas nuestra cadena de bloques madre Steem, otras que son pioneras como Bitcoin y Ethereum, y otras más recientes e innovadoras como Ripple y R3 Corda.

image.png

2. Explique la Criptografía de Clave Pública.

La Clave Pública podría definirse como una especie de identificación digital, la cual sirve para enviar o recibir un mensaje en específico. En el uso de Wallets, es la dirección de un usuario, de la cual se puede enviar o recibir dinero:

image.png

Captura tomada de la Fuente

Esta Clave es obtenida por un usuario a través de su Clave Privada, siendo esta una acción irreversible. Es decir, no se puede descifrar una Clave Privada partiendo una Clave Pública, motivo que garantiza la seguridad de nuestros fondos, brindándonos adicionalmente la opción de compartirla de forma segura con otros usuarios, para así poder realizar diversas transacciones entre billeteras.

image.png

3. Explique la Criptografía de Clave Privada.

La Clave Privada es básicamente la llave de acceso a nuestra información personal, ya que se encarga de cifrar y descifrar nuestra data al validar nuestra identificación digital, permitiéndonos así manejar y realizar operaciones dentro de nuestra wallet. Por ende, es sumamente importante salvaguardar esta información en un sitio seguro, siendo únicamente de nuestro uso y control, ya que de ser obtenida por personas con intenciones maliciosas, podríamos llegar a perder todos nuestros fondos.

image.png

Captura tomada de la Fuente

También es importante respaldar esta información en otro lugar de confianza y de acceso personal en caso de pérdidas accidentales, ya que con ella perderíamos el acceso total a nuestra cuenta y con ello, nuestros fondos, sin posibilidad de ser recuperados.

image.png

4. Explique la Criptografía de firmas digitales y ¿qué es Singing Of Transaction / Message?

Las firmas digitales son mecanismos de autenticación calculados a partir de la Clave Privada y ciertos datos de una Transacción, que se utilizan para validar la autenticidad de la misma, al corroborar que fue creada por un emisor en específico y que no fue modificada o alterada en el camino, y son verificables por mineros, mediante el uso de una Clave Pública:

image.png

Captura tomada de la Fuente

Al utilizar parte de la data de dicha transacción, podemos entender que una firma será válida únicamente para una transacción específica, es decir, cada transacción tiene una firma personalizada. Esta combinación de data resulta muy conveniente, ya que autentica que una transacción fue realizada por un emisor específico, sin poner en riesgo la vulnerabilidad de su data personal. No obstante, para realizar esta validación, beben realizarse una serie de pasos empezando por la:

  • Generación del Hash, el cual se crea a partir de la firma del emisor.

  • Luego este Hash y la Clave Privada se unen produciendo la firma digital para ser añadido a la cadena de bloques y posteriormente ser enviado al receptor especificado.

  • Al recibir la data, el receptor ingresa la Clave Pública y la Firma Digital del emisor en el algoritmo correspondiente, generando un nuevo Hash, permitiendo verificar de esta manera la autenticidad de la misma y garantizando la seguridad y transparencia, dentro de la transacción.

image.png

5. Explique qué es la Criptografía Simétrica y Asimétrica.

Criptografía Simétrica.

También llamada Criptografía de Clave Privada, es un proceso en donde un emisor y un receptor utilizan una clave única conocida por ambos y definida de forma previa, con el fin de cifrar y descifrar un mensaje.

1.png

Captura tomada de la Fuente

Por su metodología puede llegar a ser vulnerable, ya que existe la posibilidad de que una persona con intenciones maliciosas intercepte la clave en el proceso de transmisión de dicho mensaje. Debido a esto, se recomienda utilizar una clave que contenga caracteres alfanuméricos y sea lo suficientemente larga, con el fin de incrementar su complejidad y así disminuir las probabilidades de recibir un ataque.


Criptografía Asimétrica.

Por otro lado, la Criptografía Asimétrica, también llamada Criptografía de Clave Pública, es un proceso en donde se realiza el cifrado o descifrado de un mensaje mediante una Clave Privada y una Clave Pública, por lo que a diferencia de la Criptografía Simétrica, no es necesario definir ni acordar una clave de forma previa.

Para llevar a cabo la encriptación del mensaje, se hace uso de la Clave Pública del emisor, la cual es de conocimiento, para realizar el envío del mismo. Una vez realizado el envío, el receptor puede desencriptar el mensaje, haciendo uso de Clave Privada:

1.png

Captura tomada de la Fuente

El beneficio de esto es el gran margen de seguridad que brinda este método, ya que para desencriptar el mensaje es indispensable el uso de la Clave Privada personal, incluso en el caso de haber sido el emisor. Este método es el mayormente implementado en blockchain, ya brinda un alto nivel de confianza al momento de realizar transacciones incluso con personas que estén bajo el anonimato y adicionalmente, disminuye la posibilidad de descifrar una información en caso de ser interceptado.

image.png

6. Cómo funciona Blockchain Wallets CryptoGraphy y explica los tipos disponibles de Crypto Wallets.

Una Wallet es uno de los puntos más relevantes a la hora de operar criptomonedas, ya que, básicamente, es un monedero virtual en donde almacenamos y movilizamos nuestros activos, a través de la gestión de las Claves Públicas y Privadas de las mismas, recordando que las Públicas funcionan como nuestra dirección para recibir, mientras que las Privadas otorgan el permiso para movilizar dichos activos.

image.png

Captura tomada de la Fuente

Su uso es básicamente para almacenar y movilizar criptomonedas, permitiéndonos consultar saldos y transferir a otras personas, pero algunas también nos permiten consultar y hacer intercambios por otras criptomonedas e incluso, hacer staking, como lo es en el caso de Trust Wallet. No obstante, existen diversos tipos de Wallets, dentro de los cuales están:

  • Las Full Wallets, también llamadas Full Wallets, son una de las más complejas pero más seguras, ya que permiten validar una transacción al convertir el dispositivo que la ejecuta en un nodo de red, fortaleciendo a su vez la seguridad, transparencia e integridad de la cadena de bloques. Un ejemplo de esto, sería Bitcoin Core, la cual desarrolla bajo la Red Bitcoin.

  • Las Wallets Offline o Cold Wallets, dentro de las cuales se encuentran las Tipo Hardware o de Papel y su particularidad es que operan fuera de línea, lo que elimina la posibilidad de ser hackeadas, ofreciendo un gran nivel de seguridad a la hora de salvaguardar nuestros activos. Dentro de las más conocidas, se encuentran Ledger y Trezor.

  • Las Wallet Online o Hot Wallets, son más versátiles para realizar operaciones constantes ya que se encuentrasn conectadas de forma permanente a la red ya sea accediendo desde una página web, una aplicación de escritorio o móvill pero debido a esto, ofrecen un nivel menor de seguridad porque los datos sensibles se encuentran en manos de terceros y existe cierta vulnerabilidad a ataques de hackers. No obstante, estas configuran métodos de autenticación con el fin de ofrecer mayor seguridad, como lo es en el caso de Trust Wallet y Bit2Me Wallet.

  • Por último, pero no menos importante, encontramos las Light Wallets las cuales son más sencillas de utilizar ya que no es necesaria descargar toda la blockchain sino un extracto de la misma, por la particularidad de que operan con un nodo externo, ayudando ahorrar almacenamiento de datos, mientras se trabaja con más rapidez. Un ejemplo de ello, sería Electrum.

image.png

7. ¿Qué son los Árboles de Merkle y cuál es su importancia en blockchain?

Un Árbol de Merkle es un instrumento de verificación creado a base de una gran composición de datos binarios en forma de árbol, por el Criptógrafo Ralph Merkle en el año 1979, cuya estructura se divide en Hojas, Ramas y Raíz, contando con Funciones Hash específicas para cada una de ellos que a su vez se relacionan entre sí, y que se organizan para seguir una dirección hacia la Raíz, la cual contendrá la información de todos los nodos que conforman el árbol:

image.png

Captura tomada de la Fuente

Por ello, es utilizado para verificar transacciones de forma rápida y precisa a partir del Hash Raíz o Merkle Root, ya que si un Hash Hoja o Rama es modificado o alterado, cambiarán todas las funciones que dependan de ese Hash en específico y por consiguiente, también cambiará la Raíz, invalidando la información inicialmente mostrada. Al suceder esto, nos veríamos en la necesidad de reminar ese bloque para generar un nuevo Hash, el cual será totalmente diferente al originalmente mostrado. Dada a esta particularidad, es bastante fácil y eficaz realizar validaciones de datos a partir de este instrumento, volviéndose así un mecanismo muy importante en el desenvolvimiento de las blockchain.

Debido a la facilidad que otorga en la verificación y autenticación de data, tiene una gran relevancia dentro de las cadenas de bloques al permitir realizar validaciones al encontrar las trasacciones pertinentes de forma rápida, sencilla y económica, sin necesidad de utilizar equipos con gran potencia de cómputo que a su vez requieren grandes gastos de energía mientras brinda una alta fiabilidad, por lo que se considera una de las bases fundamentales de las blockchains.

image.png

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 su práctica. (Estudie bien este tema).

Claves Públicas y Privadas.

Iniciaremos nuestra búsqueda ingresando al sitio web mostrado, tocando la opción ''Key'' para ir a la sección de generar claves y al ingresar, me muestra de forma automática las siguientes:

  • Clave Privada: 87373875223818911509626859999823132017318366168587563995015273407000584030859.

  • Clave Pública: 044d8d3d528790315a72bec1ca4e619da396dd71c5b905a9758b88959627748fe7c91424463ebca7729da7af728cb332be06223a888885071b35042d9b1738533c

1.png

Como hablamos inicialmente, la Clave Pública se genera a partir de la clave privada, así que comprobaremos esto cambiando la Clave Privada por ''1234'', obteniendo lo siguiente:

  • Clave Privada: 1234.

  • Clave Pública: 04e37648435c60dcd181b3d41d50857ba5b5abebe279429aa76558f6653f1658f26d2ee9a82d4158f164ae653e9c6fa7f982ed8c94347fc05c2d068ff1d38b304c.

1.png

Como es notorio, al cambiar la Clave Privada, generamos una Clave Pública totalmente nueva, cuya única similitud es la longitud de caracteres, contando con una totalidad de 130 caracteres. Para corroborar esto, agregaré nuevos caracteres para crear una Clave Privada un poco más larga, obteniendo:

  • Clave Privada: 12345678.

  • Clave Pública: 04cabc3692f1f7ba75a8572dc5d270b35bcc00650534f6e5ecd6338e55355454d5afa7746c07a124cb59e190f00955952a7329591b805c4d9d04d34abe8a803a74.

1.png

Cuya Clave Pública cuenta con la misma longitud de 130 caracteres pero es totalmente diferente a las primeras dos mostradas, lo que confirma la teoría inicialmente plateada.


Firmas.

Continuamos explorando el sitio, ingresando ahora a la sección de ''Firmas'', encontrando como Clave Privada previamente definida la útima que ingresamos en la sección anterior, es decir, 12345678:

1.png

Ahora, agregaremos el mensaje ''Steemit'' y al tocar ''Sign'', se realizarán procesos criptográficos que nos permitirán obtener la Firma Digital, siendo esta: 3046022100fd60744402ebc4e9b523441a6312ff3830cf4d87bc4182ac7569435ad0d7268b022100f237184f26769e33abf7025edc3e578b17282d2e16ab6d431dc61b0bae3563e6.

1.png

Para validar esta firma, vamos a la sección ''Verify'' y encontrándose mostrados el mensaje, la Clave Pública creada anteriormente para la Clave Privada ''12345678'' y la Firma Digital generada en el paso previo, tocamos ''Verify'' y al hacerlo la pantalla se vuelve verde, mostrando que la transacción es válida.

1.png

Pantalla inicial.

1.png

Pantalla validando la transacción.

Validada nuestra transacción, hagamos unos cambios en el mensaje agregando las palabras ''Crypto Academy'' e intentemos validar nuestra transacción, a ver qué sucede:

1.png

Como es notorio, la pantalla se vuelve roja, lo que indica que la Firma Digital no es válida para el mensaje mostrado. Recordemos que para la creación de la Firma Digital se utilizan tanto la Clave Privada, como los datos de dicha transacción que en este caso sería el mensaje, por lo que cada transacción dependiendo del mensaje, tendrá su Firma Digital personalizada.

En este caso, al realizar cambios en el mensaje, se invalida la transacción ya que la Firma Digital mostrada es únicamente concordante con el mensaje inicial, por lo que será necesario generar una nueva firma para este nuevo mensaje, obteniendo como nueva Firma Digital: 304502206ec80c627f7a4d28ab2c63fe9c3e367bc152e46f50dd16cbe9c8caf07004a895022100c10e71109c2af32aef0fda0a252ebb6ae2dd766ad28a2a73574af7d8f9d655b5, la cual es totalmente válida:

1.png


Transacciones


Continuaremos explorando el sitio, dirigiéndonos a la sección ''Transaction'' en donde se muestra una transacción de transferencia de fondos de 20$, de una dirección o Clave Pública (04cabc3692f1f7ba75a8572dc5d270b35bcc00650534f6e5ecd6338e55355454d5afa7746c07a124cb59e190f00955952a7329591b805c4d9d04d34abe8a803a74) a otra (04cc955bf8e359cc7ebbb66f4c2dc616a93e8ba08e93d27996e20299ba92cba9cbd73c2ff46ed27a3727ba09486ba32b5ac35dd20c0adec020536996ca4d9f3d74), la cual validaremos con nuestra Clave Privada. Al tocar ''Sign'', se genera la Firma Digital para dicha transacción, siendo: 3045022100db88cc56190efe2a9e8565d57dd45aa8a82522a0d129d8ade786c461ac8fbbcb0220407629cee561c05fd829e90672d1deaaa081ff214e54f74aeb0db02f5eabc53a

1.png

Para validar la autenticación de esta Firma, nos vamos a la sección ''Verify'' y tocamos el botón Verify, mostrándonos una pantalla verde, que indica que la Firma Digital es válida:

1.png

Como en el caso anterior, intentemos cambiar el monto de la transacción de 20$ a 40$, a ver que sucede:

1.png

Como es notorio, se muestra una pantalla roja que indica que esta firma es inválida, ya que la mostrada es concordante con la transacción anterior de 20$ y no con la actual de 40$, por lo que, al igual que en el caso anterior, será necesario generar una nueva firma para una nueva transacción.


Cadena de Bloques


Ahora nos dirigiremos a la sección ''Blockchain'', en donde nos muestran una serie de bloques con transacciones que se encuentran totalmente validados:

1.png

Para visualiza qué sucede si hacemos algunos cambios, estaré cambiando el monto mostrado de 100$ en el Bloque #2 por uno de 1000$ y automáticamente el Bloque $#2 cambia de color verde a rojo, mostrando que es inválido y a su vez, el Bloque #3 también cambia rojo ya que al contener información del bloque anterior, automáticamente se invalida:

1.png

Para solucionar esto, como hablamos en el punto de Árbol de Merkle, será necesario reminar el Bloque 02 y 03 para generar nuevos Hash válidos para esta transacción de 1000$, obteniendo después de algunos minutos nuevos Hash que permiten validar nuevamente dichos Bloques:

1.png

Después de realizar el reminado, los bloques vuelven al color verde, mostrando que están correctamente validados. Gracias a esta y las diversas prácticas realizadas en esta pregunta, pudimos confirmar cada uno de los puntos estudiados en clase y tocados en el desarrollo de esta asignación.


image.png

9. Conclusión.

Sin lugar a dudas la Criptografía es una de las bases fundamentales para el conrrecto funcionamiento y desenvolvimiento de la blockchain, ya que nos otorga seguridad, confiabilidad y transparencia al cifrar información de relevancia para nosotros, mientras protege nuestros datos personales, al otorgarnos una clave públcia que podemos compartir para realizar transacciones y una privada que debemos salvaguardar con mucho cuidado, ya que es la llave de acceso a nuestros fondos, independientemente del tipo de wallet que deseemos manejar, la cual debe ser seleccionada de a cuerdo a nuestra evaluación y criterio personal.

Además, para incremetar la seguridad contamos con maravillosas herramientas como lo son el Árbol de Merkle que nos permiten verificar y validar las transacciones de forma rápida, sencilla y efectiva, a través de la autencación del Merkle Root y además, contamos con la autenticación de las Firmas Digitales que nos garantizan que las transacciones realizadas son certeras y fiables.

Agradezco muchísimo al Profesor @stream4u por brindarnos su conociiento en esta genial y dinámica clase, en la cual mediante el estudio de teoría y el desarrollo práctico mediante las diversas herramientas brindadas, pudimos poner a prueba dcada uno de los conceptos estudiados, motivo que refuerza nuestro aprendizaje sobre el maravilloso mundo blockchain.

image.png

Te agradezco muchísimo por leer este post y te dejo por aquí mi Logro 01 para que conozcas un poco más de mí😊 Nos vemos en el próximo 💖

Todas las capturas de pantalla fueron realizadas por mi persona, con uso exclusivo para Steemit.

image.png

Sort:  

Excelente información y un gran trabajo 🙏🏻 bendiciones 😊

Loading...

Coin Marketplace

STEEM 0.29
TRX 0.12
JST 0.032
BTC 63161.84
ETH 3061.57
USDT 1.00
SBD 3.97