Crypto Academy | Season 3 - Week 8 | Homework Post for professor @stream4u | Let's Open The CryptoGraphy | By @minikay

3_20210815_162551_0002.png

Imagen realizada por mi persona, @minikay en la plataforma Canva.

Buenas noches estimados compañeros, es un placer para mí presentar en una nueva semana mi tarea sobre la clase del profesor @stream4u, esta vez para complementar el tema de la clase anterior, estudiando en esta oportunidad todo lo relacionado con la criptografía dentro de las blockchain.

Bienvenidos a mi tarea.

TITULOS TAREAS [Recuperado]-01.png

La criptografía es una técnica bastante antigua que nació prácticamente a la par con la escritura, con la finalidad de proteger la información de terceros no autorizados o personas que quieran alterarla o modificarla para su propio beneficio. En numerosas ocasiones se han visto casos de falsificación de datos, personas que filtran información de otras personas o de alguna empresa, transacciones desviadas y un sin número de crímenes cometidos gracias a la corrupción de la información, este tipo de acciones son las que intenta eliminar la criptografía.

Por medio de esta técnica, el mensaje solo puede ser descifrado por las personas involucradas en la conversación, es decir el emisor y el receptor del mensaje, dicho mensaje no se encuentra oculto, está a la vista de los demás solo que estas personas no autorizadas no podrán descifrarlo.

Hoy en día, se puede decir que la criptografía es fundamental para el desarrollo de la tecnología Blockchain, pues gracias a ella y a complicados algoritmos matemáticos encargados de cifrar los mensajes, se puede garantizar la seguridad e integridad de las blockchain por medio de importantes funciones que cumple, entre las más importantes tenemos:

✔️ Cifrar los mensajes, los datos y la información contenida dentro de ellos.

✔️ Garantizar que un mismo mensaje no sea duplicado o enviado varias veces.

✔️ Autenticar tanto al emisor como al receptor del mensaje.

Absolutamente todas las cadenas de bloques hacen uso de la criptografía, convirtiendo los datos que están escritos en el lenguaje de nosotros los humanos, a un lenguaje que solo puede ser entendido por las máquinas, y revelandolo de nuevo en el lenguaje humano solo para el remitente del mensaje.

La cadena de bloques más importante de la actualidad es la Blockchain de Bitcoin, siendo la más sólida y antigua en el mundo de las criptomonedas y por ende la primera en trabajar de la mano con la criptografía, pero con el tiempo se han sumado cadenas de bloques realmente importantes como por ejemplo:

TITULOS TAREAS [Recuperado]-10.png

Imagen realizada por mi persona, @minikay.

TITULOS TAREAS [Recuperado]-02.png

Forma parte del par de claves que son utilizadas dentro de la criptografía asimétrica, esta clave puede ser compartida con otras personas sin ningún tipo de problema, está vinculada criptográficamente con la clave privada pero un tercero no puede ser capaz de descifrar una clave privada mediante una clave pública a pesar de que una nazca de la otra.

Su principal función es cifrar un mensaje para que solo el destinatario lo pueda descifrar. Esto se logra cuando el destinatario comparte su clave pública con el emisor del mensaje, de este modo ese mensaje será encriptado bajo esa clave y solo el usuario dueño de la clave lo podrá descifrar pero esta vez con su clave privada.

La clave pública es fundamental en las transacciones de criptomonedas, ya que gracias a ella se generan las “direcciones” que vienen a ser como nuestro número de cuenta bancaria, donde van a ser enviados los fondos a los usuarios, pero al mismo tiempo estos fondos son resguardados pues solamente la persona que posee la clave privada ligada a esa clave pública podrá manipularlos, es gracias a este proceso que se logra mantener a salvo el dinero de los usuarios dentro de las blockchain.

TITULOS TAREAS [Recuperado]-03.png

Como ya lo vimos, esta viene a ser el complemento o la hermana de la clave pública y trabaja en equipo con ella, la clave privada es generada mediante un proceso criptográfico de la llamada “criptografía asimétrica” que explicaremos más adelante.

Gracias a la criptografía, estas claves se calculan por medio de un complicado proceso matemático imposible de realizar por humanos, y hay suficientes combinaciones posibles existentes para que ninguna clave privada se pueda repetir al menos en muchos cientos de años.

Esta al contrario de la anterior, por nada del mundo se debe compartir con terceros pues es la que nos otorga total propiedad y control de nuestros fondos criptográficos, es por ello que es tan importante guardarla en un lugar seguro donde nadie la pueda robar y donde nosotros mismos no la podamos perder, ya que si eso pasa con ella también se pierde todo nuestro dinero y no existe manera de recuperarlo.

Una clave privada cumple con ciertos estándares, cuenta con un total de 64 caracteres comprendidos entre 0-9 y la letras mayúsculas A-F, obviamente estas claves son sumamente difíciles de recordar para los usuarios, por lo que se ha implementado un algoritmo con el propósito de simplificarlas un poco, este algoritmo fue creado por Bitcoin y lleva por nombre ”formato de importación Base 58.” Llegando a una clave de 44 caracteres que igualmente es bastante extensa y complicada.

Separador minikay-01.png

Al momento de crear una billetera dentro de la blockchain de Bitcoin ocurre un proceso de 3 fases que es imposible de realizar de manera inversa, estos 3 pasos sencillos pero súper importantes son los siguientes:

image.png
Fuente

🔸 Creación de la clave privada.

🔸 Creación de la clave pública que está unida gracias a un proceso matemático con la clave privada.

🔸 Creación de la dirección de Bitcoin en base a la clave pública.

TITULOS TAREAS [Recuperado]-04.png

Las firmas digitales son una técnica más de las muchas que utiliza la criptografía hoy en dia para el resguardo y seguridad de la información, consiste en que el emisor del mensaje emita una firma sobre el documento que está enviando y esta es encriptada criptográficamente, añadiendo el mismo valor que una firma manuscrita en el mundo real, y garantizando al receptor del mensaje que este realmente fue enviado por la persona que dice ser y que el mensaje no ha sufrido ninguna modificación desde que fue firmado. Esta técnica además permite que el mensaje no pueda ser repudiado por parte del emisor.

Esta técnica nació en los años 70 y está vinculada al desarrollo de la criptografía de clave pública. Para firmar un mensaje este puede haber sido sometido a un proceso de hashing o no, esto es indiferente, aunque en el caso de las criptomonedas estos mensajes siempre son hasheados debido a sus largas extensiones, luego de este proceso el mensaje es firmado por el emisor enlazando la firma a su clave privada, este emisor debe compartir su clave pública con el receptor del mensaje para que la firma pueda ser validada.

Es muy importante para la blockchain el firmado de los mensajes, ya que un mensaje con una firma digital implica 3 cosas:

🔸 Que el mensaje no ha sido modificado, pues de ser así la firma digital cambiaría por completo.

🔸 Que el mensaje puede ser autenticado por el receptor por medio de la clave publica del emisor.

🔸 Que un emisor no puede negar haber emitido un mensaje que ha sido firmado por el.

TITULOS TAREAS [Recuperado]-05.png

Criptografía Simétrica:


Este tipo de criptografía es muy antigua, su origen se remonta al lejano Imperio Egipcio, sin embargo fue durante la Segunda Guerra Mundial que esta tuvo un amplio desarrollo. En este caso se emplea solamente una clave (la clave privada) Normalmente este tipo de claves son muy largas y difíciles de recordar para los humanos pero para las computadoras esto es una tarea sencilla. La misma clave es utilizada tanto para cifrar como para descifrar el mensaje.

Lo que quiere decir, que para enviar un mensaje cifrado el emisor y el receptor deben tener una comunicación previa, y establecer cuál será la clave que van a usar para el cifrado del mensaje y de esta manera el receptor lo pueda descifrar de manera correcta.

Este es el tipo de criptografía que usamos en nuestro día a día en plataformas como nuestro correo electrónico o los mensajes de nuestro celular o redes sociales sin ser conscientes de ello, el punto débil de este tipo de criptografía es que para la codificación del mensaje se debe compartir la clave privada, cosa que puede ser bastante riesgosa. Por lo que en algunos casos donde se requiera más alto nivel de seguridad, esta es combinada con la criptografía asimétrica dando resultados más seguros.

✔️ Ventajas de la Criptografía Simétrica:


✔️ La longitud de sus claves es más corta lo que genera mayor rapidez y menos capacidad de cómputo exigida para su aplicación.

✔️ Es muy fácil de usar ya que solo requiere de una clave.

✔️ Garantiza privacidad e integridad en las comunicaciones o datos que resguarda, como por ejemplo en las aplicaciones de los teléfonos móviles.

❌ Desventajas de la Criptografía Simétrica:


❌ La clave debe ser compartida con cualquier persona que necesite descifrar el mensaje.

❌ Un tercero con malas intenciones se puede apropiar de la información resguardada.

❌ No es posible saber si la identidad del emisor es auténtica pues esta clave no está firmada.

❌ Aunque es muy difícil que se realicen con éxito, es vulnerable a ataques de fuerza bruta.

Separador minikay-01.png

Criptografía Asimétrica:


No solamente es utilizada en las blockchain, sino a nivel general en el internet son protegidos los datos por medio de este tipo de criptografía. También se le conoce como criptografía de clave pública.

La criptografía asimétrica trabaja de la mano con las dos claves generadas al momento de abrir la billetera, la clave pública y la clave privada, con la característica de que la clave privada no debe ser compartida por nadie, es por ello que trabajan en conjunto.

Este tipo de tecnología criptográfica fue inventada en el año 1976 por Ralph Merkle, Whitfield Diffie y Martin Hellman, este sistema es uno de los más usados en la actualidad ya que gracias a él se puede garantizar la seguridad de los datos incluso en canales que pueden ser inseguros, gracias a su combinación de claves públicas y claves privadas.

Además de cifrar el mensaje enviado este tipo de criptografía permite al receptor constatar por medio de la clave pública del emisor del mensaje que fue este quien realmente emitió dicho mensaje. Trayendo una solución factible para hacer seguras las comunicaciones de canales abiertos al impedir que se pueda modificar o corromper un mensaje.

Este tipo de criptografía es de gran importancia para las blockchain ya que gracias a ella se puede permitir el envío y recepción seguros de cualquier tipo de criptomoneda.

✔️ Ventajas de la Criptografía Asimétrica:


✔️ No es sensible ante ataques de fuerza bruta, lo que le otorga mucha más seguridad a las blockchain que la criptografía simétrica.

✔️ Incluye dentro de su proceso el firmado digital que es de vital importancia dentro de la blockchain para la autenticación de la información.

✔️ Reafirma el concepto de las blockchain de resguardar ante todo los datos y la confidencialidad de los participantes de la red.

✔️ El emisor y el receptor pueden compartir sus datos e información de forma segura sin temor a que terceros puedan manipular la información, sin importar si se comunican por medio de una plataforma pública.

❌ Desventajas de la Criptografía Asimétrica:


❌ Este sistema es mucho más costoso en cuanto a poder de cómputo se refiere.

❌ Este tipo de criptografía utiliza en su proceso esquemas de propagación de confianza, estos en algunas ocasiones son centralizados, lo que puede dar pie a manipulación de la información si el esquema es corrupto.

❌ Los algoritmos que usa este sistema son tan complejos, que hace que detectar fallas en él sea realmente complicado.

TITULOS TAREAS [Recuperado]-06.png

Al igual que en el mundo físico guardamos nuestro dinero en un bolso o en una cartera para no perderlo, debemos tener un lugar donde guardar nuestros activos digitales y tenerlos resguardados de forma segura, es para cumplir esta función que existen las wallet, allí podemos almacenar todos nuestros activos ya que estos no existen en el mundo físico.

Separador minikay-01.png

¿Cómo funcionan las wallets criptográficas?


la-billetera-de-bitcoin.com-ofrece-diversificacion-de-la-cartera-de-criptomonedas-1598121766.jpg
Fuente

En realidad nuestras criptomonedas no se encuentran como tal dentro de nuestra billetera, ya que estos activos digitales se encuentran dentro de la cadena de bloques, que registra todas las transacciones realizadas con dichos activos y tal como en un libro contable registra que tokens pertenecen a cada persona.

Pero es gracias a la billetera que puedes obtener tus claves públicas y privadas, y también la dirección de tu wallet, que viene a ser como tu número de cuenta en una entidad bancaria tradicional, con esta dirección que es pública las personas pueden transferir critodinero a tu billetera.

Gracias a la clave privada puedes constatar que el dinero es tuyo y puedes mover tus activos a donde desees ya que las billeteras están directamente conectadas a las blockchain y tienen acceso al libro mayor, por eso no debes compartir esta clave, ya que estarias otorgando a otra persona el poder de hacer lo que desee con tu dinero.

Separador minikay-01.png

Tipos de billeteras:


🔸 Billeteras de hardware (billeteras frías):


Estas son las billeteras más seguras y las más recomendadas para almacenar grandes cantidades de cripto activos que queremos conservar por un largo periodo de tiempo ya que al no almacenar las claves privadas en la red aportan mayor seguridad. Es cierto que son bastante costosas y un poco complicadas de entender, por eso están destinadas a inversores con mayor experiencia. Este tipo de wallets a su vez se pueden dividir en 3 subtipos:

- Carteras de hardware: consiste en guardar nuestro dinero digital en un dispositivo USB donde se almacenan nuestras claves privadas. Estos dispositivos no admiten cualquier clase de moneda digital, pero sí permiten hacer transacciones sin necesidad de subir nuestro dinero a la red lo que es bastante seguro. Entre las más usadas de este tipo tenemos a Ledger, Trezor y Keep Key.

- Carteras de escritorio: son las que podemos descargar y utilizar en nuestro dispositivo sin necesidad de una conexión a internet, tienen la particularidad que solo podremos ingresar a nuestra billetera en el dispositivo donde se encuentra descargada, esto aporta mayor seguridad, pero también puede causar incomodidades o limitaciones. Algunas billeteras de escritorio conocidas son Bitcoin Armory, Electrum y Bitcoin Core.

- Carteras de papel: consiste en imprimir las claves públicas y privadas y tenerlas en un lugar seguro donde nadie más aparte de nosotros tenga acceso a ellas, ya que en un dispositivo digital existirá el riesgo de perder las claves, al tenerlas en físico no debería existir esta posibilidad.

🔸 Billeteras de software (billeteras calientes):


Este tipo de billeteras están contenidas dentro de internet, se puede acceder a ellas bien sea desde la computadora o desde un dispositivo móvil siempre y cuando este tenga acceso a la red pues se trata de billeteras en línea que por lo general pertenecen a páginas de intercambio de criptomonedas y también prestan este servicio de wallet a los usuarios como por ejemplo la wallets de Binance o Coinbase. Sin embargo, este tipo de billeteras suelen ser más riesgosas que las billeteras frías, pues al estar conectadas al internet son más propensas a sufrir ataques de hackers.

Uno de sus puntos débiles es que las claves privadas se encuentran almacenadas dentro de la red de la billetera. Sin embargo, son las más recomendables para principiantes y para almacenar pequeñas cantidades de criptomonedas pues tienen una interfaz sencilla y fácil de usar y también sus servicios son mucho más económicos. Entre las billeteras calientes más conocidas tenemos: Coinomi, Exodus Wallet, Atomic Wallet y Metamask.

TITULOS TAREAS [Recuperado]-07.png

Se trata de una herramienta tecnológica creada en 1979 por Ralph Merkle, es básicamente una estructura de datos en forma de árbol o de pirámide invertida, utilizada para resumir y validar los datos dentro de una blockchain.

Esta herramienta crea un hash irrepetible para cada grupo de datos organizandolos en grupos, y resumiendo la información contenida en cada bloque gracias al empleo de los hashes.

Un árbol de Merkle finaliza en un hash raíz que contiene dentro de sí todos los hashes de sus ramas y hojas, por lo que toda la información del árbol es resumida en ese hash raíz, si alguno de los hashes anteriores es modificado debido a la modificación de alguno de los datos, el hash raíz ya no será el mismo. haciendo el trabajo de verificación de datos algo mucho más fácil y práctico. Precisamente es aquí donde radica la importancia de esta herramienta para la blockchain:

✔️ Gracias al Árbol de Merkle que los datos se mantienen íntegros y no pueden ser modificados.

✔️ Este sistema de agrupación de datos en base a hashes hace reconocible a simple vista cualquier modificación en los datos cosa que impediría la validación de un bloque.

✔️ También permite que los nodos se puedan mantener actualizados correctamente y rápidamente dentro de la red y al momento de incorporarse a esta.

✔️ Cabe destacar también que reduce en gran medida la capacidad de computo necesaria a la hora de minar un bloque ya que la información al estar codificada es mucho mas fácil de procesar y no se necesita de tanta memoria para almacenar dicha información.

Así nos queda claro que los Arboles de Merkle son de gran importancia para la integridad de la blockchain. Aquí un ejemplo del árbol de Merkle y sus partes realizado por mi persona en la plataforma Illustrator, y utilizado anteriormente para una de mis tareas, pero lo he decidido compartir con ustedes para ilustrarlos un poco mas:

Arbol1-17.jpg

Esa seria la secuencia grafica de un árbol de Merkle, allí podemos entender un poco mas como todos los hashes de cada mensaje se van uniendo para ir generando nuevos hashes en la cadena, y también podemos ver como el hash raíz es conformado por cada uno de los hashes de las transacciones realizadas en el bloque. Es por ello que ningún dato puede ser modificado pues ser perderá toda la secuencia de hashes y la operación quedara sin validez.

image.png
Fuente

TITULOS TAREAS [Recuperado]-08.png

Las claves


Como ya lo he mencionado anteriormente en esta tarea, las claves públicas y privadas son de gran importancia dentro de las blockchain ya que gracias a ellas podemos gestionar nuestros activos y permitir que otras personas puedan transferirnos dinero a nuestra billetera, y como ya sabemos estas dos claves se complementan una con la otra, por medio de la página Blockchain Demo podemos observar un ejemplo de cómo son las claves públicas y privadas y cómo se relacionan entre sí.

Screenshot_9.png

Clave privada:

66080755099411567203237095320578059286361802270930874925133686703355844752432

Clave pública:

0446775c968354b839456453d3ecd95a7b9aee400e21c1afc80d05278d04271e7095c88cd18870ea075783d5471d531845efd1776c6816d38674c579792b20262f

Ahora, observamos que si intentamos cambiar la clave privada, obtendremos una clave pública totalmente distinta. Como veremos a continuación, podemos constatar que cada clave pública se corresponde con una clave privada distinta.

Screenshot_1.png

Clave privada: 150

Clave pública:

041f6014569d1203ae0c128ac00a41097609b16386bde7f857b908ea95e5eebbef82b83f8d79ec4b865a75a2a70908f483afe9f96231d1d1c291475348ac0dce51

Recordemos, que la clave pública la podemos compartir con la finalidad de recibir dinero de otras personas o que otras personas validen nuestras transacciones, pero por nada del mundo debemos compartir con nadie la clave privada.

Separador minikay-01.png

Las firmas digitales:


Como ya lo estudiamos, estas son de gran importancia dentro de la criptografía ya que permiten autenticar y verificar un mensaje que ha sido firmado, a continuación veremos gracias al simulador en su sección "firmas" como realizar este proceso:

Como podemos observar, escribimos nuestro mensaje, tenemos nuestra clave privada necesaria para firmar el mensaje y damos clic en el botón "firmar".

Screenshot_2.png

Ahora vemos como se ha aplicado la función criptográfica de firma, generándose un código único para nuestro mensaje. Se puede decir que hemos firmado el mensaje con éxito.

Screenshot_3.png

Firma digital del mensaje:

3044022024eaa1fad7051185ffba33e02c46f8af1212da4eb04d3c648382b10f662e19cd0220635d06ec872c6bc881d5268550226391a4708dc5f93b3d9c4786d2ecc8ad91bc

Si nos vamos a la pestana de "verificar" podemos observar que es compartida nuestra clave publica (la cual esta correlacionada con la clave privada" para que el receptor realmente pueda verificar que el mensaje es enviado por notros.

Screenshot_4.png

Damos clic en verificar y podemos ver como el recuadro se poner verde, lo que quiere decir que se ha verificado con éxito, que todo marcha bien y que el mensaje no ha sufrido ninguna modificación desde que fue firmado.

Screenshot_5.png

Para seguir poniendo la teoría en practica, podemos apreciar en la siguiente imagen que si el mensaje es modificado luego de ser firmado, la transacción no puede ser validada pues al momento de verificar nos advierte que es invalida.

Screenshot_6.png

Para lograr que la transaccion sea valida, al momento de modificar el mensaje debemos generar una nueva firma digital, como podemos ver el codigo ahora es distinto.

Screenshot_7.png

Firma digital:

304502203ade1b4496bc34c42a06b9a23df36a7889cb07c81c47d522badce5e3b26aec65022100f054de84ff39e3167c6d805f3a7522afdf86afdb6bfcd890b4ea2bd2381694bc

Ahora si, al momento de validarla el proceso será exitoso.

Screenshot_8.png

Separador minikay-01.png

Cifrando una transacción:


Sabemos que para realizar una transacción debemos conocer la clave publica del destinatario, y también sabemos que gracias al proceso de criptografía asimétrica podemos cifrar nuestro mensaje con 3 elementos importantes:

  • Nuestra clave privada
  • Nuestra clave publica.
  • Nuestra firma digital generada para ese mensaje especifico.

En la siguiente imagen de demostración identificamos todos estos elementos:

Screenshot_10.png

El receptor del mensaje lo puede verificar asegurando que la clave privada de este corresponde con la firma del mensaje, si alguno de estos datos no es correcto el mensaje no es valido.

Screenshot_11.png

Aquí hicimos una prueba cambiando el ultimo numero de la clave publica del emisor y por supuesto el mensaje queda sin validez.

Screenshot_12.png

Separador minikay-01.png

Explorando la Blockchain:


Ahora entremos a la sección de blockchain a investigar que sucede si hacemos algunas alteraciones en las transacciones que contiene un bloque. Como podemos observar todos los bloques están correctamente validados dentro de la cadena.

Screenshot_13.png

Si modificamos el monto de una transacción contenida en el bloque como lo vamos a hacer en el bloque #2, desde ese bloque en adelante todos quedan sin validez, pues uno de los datos fue modificado y gracias a la criptografía esta anomalía es detectada de inmediato.

Screenshot_15.png

Es posible conseguir validar el bloque minándolo de nuevo, sin embargo podemos ver que el sistema arroja un error en la firma digital, pues como bien sabemos cada firma digital es única para cada mensaje y el mensaje ahora lo hemos cambiado. Además los siguientes bloques siguen sin validez.

Screenshot_16.png

Seguí explorando para ver si los demás bloques podían ser validados, y entendí que gracias al sistema de hashes criptográficos, cada bloque esta enlazado con el bloque anterior, por lo que si cambio el hash previo del bloque siguiente, por el hash del bloque modificado que acabo de minar de nuevo, este también se puede validar, entonces he validado el bloque #3, pero ya que todos los bloques están enlazados tendría que hacer este proceso con cada uno de los bloques siguientes para validarlos.

Screenshot_17.png

Gracias a esta practica con el simulador, hemos podido entender como funcionan realmente todos los nuevos conceptos aprendidos en clase y ampliados en esta tarea. Excelente y productiva practica.


TITULOS TAREAS [Recuperado]-09.png

El cifrado de mensajes es un pilar fundamental en el desarrollo de la tecnología blockchain tal y como la conocemos hoy en día. Pues en este sistema la seguridad y el resguardo de los datos juega un papel muy importante, otorgando a los usuarios seguridad y tranquilidad al momento de poner su inversión de dinero dentro de una red de bloques, pues saben que sus datos están a salvo y no tienen de qué preocuparse.

Aunque es cierto que existen riesgos con este sistema (como lo existen en cualquier sistema financiero), estos son muy pequeños gracias a los grandes avances de la tecnología y de la informática que trabajan en conjunto con el fin de mantener las blockchain criptográficas en la vanguardia de los sistemas financieros alternativos.

Es maravilloso semana a semana comprender y aprender más sobre cada uno de los componentes de este gran ecosistema financiero tan complejo y al mismo tiempo innovador, agradezco al profesor @stream4u por dedicar su tiempo para poner a nuestra disposición sus conocimientos.

Separador minikay-01.png

Espero que esta tarea sea de su completo agrado, muchas gracias por leer mi publicación.


Todas las fotos utilizadas para esta tarea han sido de mi autoría, o capturadas de la pantalla de mi ordenador y editadas por mi. Y las que no, son libres de uso y tienen su debida referencia.
Sort:  
Loading...

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.033
BTC 64266.94
ETH 3077.24
USDT 1.00
SBD 3.87