Crypto Academy / Temporada 3 / Semana 8 - Publicación de tareas para el profesor @stream4u: Abramos CryptoGraphy
Hola Amigos de steemit ya nos encontramos en la ultima semana de esta academia de criptomonedas, para luego tener dos semanas de descanso, esta temporada hemos aprendido mucho sobre criptografia y muchos temas de interés general, en esta ocacion hablaremos un poco mas de Criptografia y como funciona las claves publicas y privadas, y echaremos un vistaso mas en profundidad a otras características de las privacidad que generan la criptografia, recordando les que este post es una respuesta a la asignación del profesor @stream4u comencemos.
1- Explique el Blockchain CryptoGraphy y mencione algunos nombres que son las Plataformas Blockchain (Pocos nombres de las Plataformas Blockchain).
El blockchain cryptography se hace referencia a la codificación que se emplea en la tecnología del blockchain, desde que la creacion de esta tecnología su escalada ha sido enorme a nivel mundial, instituciones privadas y gobiernos han implementado esta para dar seguridad a sus datos ya que esta es el principal atractivo que nos ofrece la cryptography y en conjunto a una cadena de bloques se crea una configuración infalible segura y rápida para almacenar datos y codificarlos de tal manera que nadie pueda violarlos .
Todas estas tecnologías son herramientas actuales que nos intercomunican en una red que codifica todo estos datos enviados, y todos los usuarios tienen una seguridad de que estos datos no podrán ser modificados, en esta tecnología podremos desde realizar transacciones hasta enviar mensajes codificados de un punto a otro sin pasar por por una central que regula lo que se envía en estos mensajes.
Todo esto es gracias a la encryptacion, técnica empleada desde hace años, en los cuales los mensajes se codifican, y llegan a un destino codificado, el receptor de este mensaje tendrá acceso a la información solo si conoce la clave publica del emisor, esto se logra gracias a que previamente emisor como receptor han quedado deacuerdo cual sera la clave del cifrado.
Esto garantiza así que si el mensaje es interceptado en el camino jamas se podrá conocer su información si la autorización requerida en este caso una clave que nos descifre el mensaje,
Es por eso que se empleo esta técnica para darle seguridad a las cadenas de bloques ya que al codificar cada bloque, su información podrá ser visible pero nadie la podrá modificar, y gracias a esto es que los proyectos basados en blockchain y protocolos de seguridad lo emplean, ya que brindan un anonimato rapidez y seguridad , en muchos otros proyectos también se emplean estas tecnologías para el envió y recepción de mensajes todo esto operando en una blockchain, esto garantiza un anonimato total y una seguridad en las transacciones.
Existen muchas plataformas que funcionan bajo la tecnología Blockchain, y estas tienen diversas funciones, hay casos de plataformas que ofrecen cosas únicas jamas pensadas y todo gracias a las nuevas tecnología,
En estas plataformas encontramos dos grupos las que son centralizadas Como:
- Binance : Un exchange centralizado con pisada en todo el mundo es el exchange mas famosos y popular que existe aceptando pagos de cualquier parte del mundo con opciones novedosas como trading a futuros, hace stake, y trade p2p.
- Poloniex: Otro exchanger descentralizado basado en la tecnología Blockchain que ofrece intercambios entre pares de criptomonedas, también ofrece trading a futuros y comercio p2p
En las plataformas decentralizadas encontramos :
Polonidex: No se confundan este es un exchanger totalmente descentralizado solo que su nombre hace referencia al ya conocido y centralizado poloniex, este tiene como particularidad que corre en la red de TRON y es 100% decentralizado y solo se intercambia pares de criptomonedas que corran en la red de TRX
Ethereum: Es una de las mafosas criptomonedas del mundo esta tiene la particularidad de poder crear tokesn que podemos monetizar en un futuro, y con la acctualizacion a su ultima vercion estos tokens ahora son mas poderosos ya que pueden ser tratados como un token normal ERC20 y un token NFT como lo son ERC720.
2- Explique la CryptoGraphy de clave pública.
La clave publica esta generalmente formada por dos claves que funcionan de manera similar pero cada una esta creada para un propósito en especifico, la primera de ellas es la clave publica esta clave se comparte en la red completamente y cualquier puede observarla tanto la clave como los datos que esta almacena y una clave privada es una clave que solo conoce el propietario de la cuenta. Esta clave publica es una direcciones criptografica que se puede compartir con las demas personas con el proposito de que recibir fondos ya que esta clave publica es lo que conocemos como direccion de wallet.
Esta clave publica se genera gracias a la clave privada, pero si intentamos hacer lo contrario esto no se podra realizar, un ejemplo es cuando empleamos firmas digitales ya que esta puede ser verificada si empleamos una clave publica, todo esto se puede verificar facilmente con la direccion de la clave publica y esta es accesible solo mediante la clave privada. una de las particularidades es que esta clave resulta imposible de recordar y no guarda ningun dato personal del propietario de la clave.
Ejemplo:
Cuando una persona envía una transacción a otra, estas dos personas se comparten sus direcciones o claves publicas, esto vendría a ser lo que en el sistema tradicional serian las cuentas de bancos, y el emisor crea una transacción que se le conoce como firma digital y este emplea su clave privada para crearla y gracias a esto trasfiere el mensaje o transacción que quiere enviar, y el receptor con su clave publica puede observar lo que se le ha enviado, y puede observar esta firma digital creada solamente usando su clave privada para observarla.
3-Explique la CryptoGraphy de clave privada.
Esta clave privada es generada al momento de crear tu clave publica, y solo la conoce el propietario de la clave publica en cuestión. recordemos que para poder acceder a nuestra clave publica o dirección de billetera es necesario conocer esta clave privada ya que sin ella no podrás realizar firmas digitales, que serian los envíos de transacciones a otras claves publicas, esta clave privada es una serie de caracteres Alfanumericos muy parecidos a la clave publica o dirección, una particularidad que tiene estas es que es casi imposible recordarlas, por eso se suele guardar en un papel o un documento de texto, Estas clave privada se emplea para poder hacer uso de la clave publica.
Esta clave privada es la generara el carácter de autoridad y administración sobre la clave publica, permitiendo gracias a esta realizar transferencias o envíos de datos a otra clave publica, y es por eso que esta clave privada es de las mas importantes que existen en el mundo de las blockchain ya que con ella tenemos la administración total de la clave publica.
4-Explique la CryptoGraphy de firmas digitales.
Estas firmas digitales son funciones Hash que emplean un algoritmo en concreto, que se utilizan en claves publicas, todo esto con la finalidad de mantener los datos sin que puedan ser modificados, y gracias a estas firmas digitales una persona receptora puede confirmar que el envió de información viene directamente de emisor ya que estos datos no pueden ser modificados una vez firmado y creada la función Hash.
Estas firmas digitales para saber exactamente quien firmo recoge datos necesarios para asegurar quien ha sido el emisor, estos datos son:
La clave Publica del que firma
La firma digital del emisor
Los datos que han sido firmado en la transacción
Algoritmo se ha empleado en la misma.
Por que las firmas digitales son Importantes.
Garantiza la integridad de los datos es una de las caracteristicas mas importante, y hace imposible que sean modificadas, todo esto es gracias a la firma digital, ya que si esta es modificada esta firma en concreto seria invalida,
Otra de las cosas que nos asegura estas firmas son la identidad de las personas, ya que estas firmas siempre están asociadas a un usuarios especifico y solo el conoce la clave privada para realizar este tipo de firmas digitales y gracias ae esto uno puede estar 100% seguro de que se esta comunicando con la persona correcta y no con otra persona diferente.
¿ y como Funciona?
Primero que nada se crea un Hash con los datos los cuales serian del firmante que crea su firma digital el cual generaría un Hash único, luego se agregaría esta firma a la cadena de bloques, la forma en que esto se realizaría es con un algoritmo en el cual le crearía la firma digital y esto lo hace la clave privada ya que le da la autoridad a la clave publica para generarlo.
Se envía al destinatario la información, esta contiene en si la firma digital que le llegaría sin alteraciones al receptor, el receptor crea un proceso de verificación de la firma digital, e introduce la la clave publica del emisor, el cual generaría otro valor Hash , todo esto con el fin de que el documento sea firmado como recibido y ambos sepan que el mensaje llego correctamente.
Características de la firma digital.
Los datos que se han firmado con esta firma digital no pueden ser modificados .
Los receptores podrán estar seguro que el emisor del mensaje es la persona que conocen
La firma personal no se puede eliminar luego de ser creada asi que no puede negarse que alguien ha firmado luego de que se cierre la firma.
se emplea digital mente y se puede emplear una firma digital en datos de gran tamaño
La clave publica como la firma digital son adjuntada en cualquier transacción así que esto genera transacciones transparentes.
5. Explique qué es la criptografía simétrica y asimétrica.
Criptografia Simetrica
Esta criptografia en especifico se describe como una criptografia directa donde se descifran datos y se codifican sin clave publica y privada, ya que en este tipo de criptografia solo comparte una clave que es la que codifica todo, y la unica forma de que el receptor pueda descifrar los datos debe tener conocimiento de esta clave, este tipo de criptografia era muy empleada en la epoca de la 2da guerra mundial donde se enviaban mensajes y con una clave secreta se lograba decifrar el mensaje, Los que patentaron este sistema fueron los alemanes en la segunda guerra mundial con la famosa maquina Enigma que empleaba este tipo de criptografia simétrica,
Actualmente los métodos se han actualizado y todo lo realizan las computaras, y este tipo de criptografia es un sistema de punto a punto que hace que el mensaje sea bidireccional, y este transforma los datos en forma de texto sin formato alguno en un texto codificado, con solo el empleo de una clave secreta y solo con esta es posible descifrar las transacciones o mensajes que se envíen entre dos puntos.
Este tipo de codificacion se usa especialmente solo para cuando las dos partes se envían datos o mensajes constantemente y es muy util ya que con una sola clave que manejan ambos la comunicación entre ellos se pude realizar sin ningún problema y completamente segura.
Las ventajas que tienene este tipo de claves es que no necesitas un poder tremendo a nivel de computadoras ya que son algoritmos sencillos lo que hace que su traducción y codificación sea rápida, y el espacio que estas ocupan en memoria es mucho menor.
Una de sus desventajas es que solo emplea una sola clave para todo los procesos, lo que la hace insegura si esta se pierde, ya que cualquier que posea esta clave podrá tener acceso a toda la información fácilmente , se dice que que para lograr este tipo de codificación en un grupo de personas amplio la cantidad de claves que se requiririan es muy grande, lo cual se vuelve engorroso para los sistemas mantener este tipo de sistema ya que se emplearían muchas claves para diversas cosas ya que para cada tarea se emplearía una clave en especifico.
Criptografia Asimetrica.
A diferencia de la criptografia simétrica esta emplea dos claves solamente una clave publica y una clave privada, y cada persona emplea dos de estas, asi que si nos encontramos en un grupo enorme de personas compartiendo información cada persona va poseer solo dos claves personales la cual una va usar para que las demás personas compartan información o transferencia con ellos que es la clave publica y una segunda clave que es la empleada para validar y observar y realizar transferencia o renviar datos a travez de la red.
La forma mas sencilla de explicar este proceso seria de esta forma:
Si Juan y pedro decean compartir datos de forma secreta entre ellos, ambos deben conocer su clave publica de cada uno, juan debe conocer la clave publica de Pedro y Pedro la clave publica de Juan, ya que en esta clave publica es donde se podra observar todos estos datos que entre ambos se van a compartir.
Entonces si Juan quiere enviar datos a Pedro, Juan deberá emplear su clave publica para codificar los datos ya que esta se encargara específicamente de codificar y Pedro para poder ver sus datos decodificados debera emplear la clave privada ya que esta se emplea para decodificar.
Sabiendo esto debemos tener en cuenta que la criptografia asimétrica tiene ventajas muy amplias sobre la simétrica ya que requiere una sola clave para codificar y una sola clave para decodificar cientos de transacciones lo cual hace mas eficiente este sistema en comparación a la criptografia simétrica.
Y una de sus desventajas es que es mas lento por que necesita mas memoria de procesamiento y ya que una sola clave es empleada para codificar todos los mensajes y una sola es empleada para descifrarlos.
6- Cómo funciona CryptoGraphy de Blockchain Wallets y explica los tipos disponibles de Crypto Wallets.
Estas funcionan tal cual como sucederian en un banco tradicional, ya que aunque poseamos nombres un poco confuzo la mejor forma de entender estos conceptos y como funciona es imaginarnos que la clave publica no es mas que nuestra cuenta de banco y la clave privada nuestra clave personal que solo nosotros conocemos, claro aunque originalmente no tiene nada que ver las funciones son muy parecidas a lo que ya todos conocemos, ya que
1- La clave publica , es nuetra direccion personal donde recibimos datos ya sea mensajes fondos, o cualquier otra cosa que se nos ocurra,
2- La clave Privada es la empleada para crear las firmas digitales y es por eso que solo nosotros la conocemos y aunque no la recordemos ya que esta consta de muchos caracteres alfanumericos solo nosotros podemos crear firmas digitales en nuestra clave publica.
3- Para realizar un envio de datos o una transaccion debemos emplear las dos ya que desde nuestra clave publica realizaremos las operaciones que posteriormente confirmaremos y firmaremos con nuestra clave privada.
Como ven se asemeja al sistema tradicional donde la clave publica es nuestra cuenta de banco y la clave privada nuestra contraseña personal para acceder al sistema y realizar transacciones.
Asi que nuestras billeteras de criptomonedas lo que emplean es nuestra clave publica como direcciones para recibir fondos y transferencias de otras claves publicas de otras personas, y esas personas necesitan emplear su clave privada para poder firmar esas transacciones y poder realizarlas ya que sin esa clave el sistema no dejaría enviar fondos ni datos a nadie.
Viendo todo de esta forma mas sencilla podemos también explicar que existen muchos tipo de billeteras criptograficas
Las mas comunes son las billeteras sofware o aplicacion: en esta se realizan operaciones facilmente ya que la mayoria estan asociada a nuestras cuentas de correo o con una clave personal .
Billeteras de escritorio: Estas se instalan en computadoras y muchas de esta aparte de funcionar como billeteras sirven de micro nodos para validar transacciones en la red que nos encontremos. son faciles de emplear y utilizar.
Billeteras online: En este caso observamos que son billeteras que están alojas en una pagina web y funcionan desde ahi, estas claves son gestionadas desde ese sistema web y podemos acceder a ellas siempre y cuando tengamos una conexión a internet.
Billeteras de papel: Estas por el contrario son billeteras que se pueden imprimir y muchas son representadas en un codigo QR donde al ser escaneado se puede recivir o enviar dinero facilmente. estas pueden funcionar incluso si no estamos conectados a Internet.
7- ¿Qué son los árboles Merkle y cuál es su importancia en blockchain?
Es un protocolo creado por Ralph Merkle en el cual este se dio cuenta que existían procesos de verificación que hacían que las computadoras trabajaran mejor y realizaban verificaciones de datos mas eficientemente estos algoritmos fueron creados con la finalidad de verificar datos rápidamente logrando hacer que las computadoras sean mas eficiente. actualmente se puede decir que forman parte del pilar de las blockchain ya que se uso el fundamente de estos algoritmos genero a la creación de criptomoendas que hoy dominan el mercado mundial.
En estos arboles se van creando estructuras codificadas en cada bloque en forma de hash que van creando una forma de árbol y de ahí es que precisamente viene su nombre, donde en su parte superior se encuentra al hash principal y de ahí se van creando los demás hash partir de este
Características de este Árbol de Merkle en el Blockchain
Este es parte vital de la estructura de una cadena de bloques, ya que este crea eficiencia y rapides, ademas el espacio empleado en la memoria es menor, y mantiene la integridad de los datos almacenados en cada bloque y en los hash que este contiene.
Ademas esta estructura de datos hace mas facil la verificacion de datos, ya que las cadenas de bloques estan inspiradas en este , ademas crea una estructura de control haciendo visible el facilmente el bloque modificado si es que hubiera un error en los datos.
Los bloques gracias a este carácter que posee el árbol de Merkler no se pueden modificar, ya que cualquier dato modificado quedaría en evidencia fácilmente siguiendo el recorrido del mismo.
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 las suyas prácticas. (Estudie bien este tema)
- Bueno primero que nada vamos a dirigirnos al apartado CLaves donde exploraremos las obciones de las claves publicas y privadas.
- Lo primero que observamos es que nos muestra son dos claves la publica y la privada.
1- 82246247156704994577423223837825607325951263792519177134772377041997465979060
2- 04811a54f9c31ae171d7e847e7d5e240da5b92f24bd98cb0ba761b5e329987f5f554c3ae44b70a91457884965c07c1271ef15b52be491dff43d737c3897ad071a8
Detalles:
Ambas son difíciles de recordar
La privara es una clave mas extensa que la clave publica.
Son caracteres Alfanumericos lo que significa que emplea letras y numeros.
La clave Publica esta intimamente asociada a la clave privada .
Modificando Las claves.
1-
56303060898334529873425298912858512282759976486176444005936488458210920983478
2-
0473a75deac73d1c98cc9efbb160a2598b6d12a002982495d7157277d300abd9f60323bd6b0fbb13de55527724313484727def1208289ddcbda71db8e02db2aac0
Detalles.
Al dar clip en ramdom automáticamente las claves cambian tanto la publica como la privada esto quiere decir que si se crea una clave privada automáticamente se le asocia su clave Publica
Modificacion Manual.
1-
11233445
2-
041edd0bf17ab992df06275daaccc0b8f82bc3be836a3dbd1866de32bddbbc44d3f26f2521001797a7d84c30a9355f2e51406a91080e0d7bf8726bd45f684d2633
Detalles:
Al escribir la clave privada esta me arroja una clave publica que asocia a ambas esto quiere decir que si se modifica la clave privada si o si la clave publica cambia.
Observaciones:
La clave publica no puede ser modificada
La clave privada no acepta Letras
La clave publica contiene letras y números
La clave privada solo acepta números. asi que es una clave numérica.
Firmas.
Vamos a crear una firma y vamos observar nuestra clave privada y el resultado que nos genera.
Este fue el mensaje Firmado :
304502207bd8cbbf93447c67be98485c747cab0350ad35c84661ebcee73f977447cbad09022100c365855945f785bb6f77087b86c5046a3b5b83fa4b9047ddc4706dc93c3c8188
Bueno vamos a proceder a verificar este mensajes con la firma
Observaciones:
AL verificar la firma generada vemos que el bloque es correcto ya que la clave publica y la firma digital generada con la clave privada es correcta y por tanto el bloque es correcto y cambia a color verde.
Modificando valores.
Intencionalmente he introducido mi código maliciosos un simple 4 a la clave publica y le di verificar y observemos que inmediatamente el bloque es invalido ya que la clave publica no corresponde a mi firma digital que he generado con mi clave privada.
Transacciones.
Bueno ahora vamos a observa que sucede con las claves privada y la firma digital cuando realizamos una transferencia ficticia de 100 dolares de una clave publica a otra.
En este ejemplo he realizado una transferencia de 100 dolares de la Clave Publica.
0464a327c7d6574517fde117eb0ab9fb736f8ceef4c1c5018c247c57c314b1a9e98f52d07e6e0d0053bc1c3506c98adc347d9d91c7e43855a2025b70afa2eada7f
Para:
04cc955bf8e359cc7ebbb66f4c2dc616a93e8ba08e93d27996e20299ba92cba9cbd73c2ff46ed27a3727ba09486ba32b5ac35dd20c0adec020536996ca4d9f3d74
con un monto total de 100 y al firma digital que avala esta transacción es:
3046022100bbc97c8ec710ccc08e1533a15c69f77c47efbd5b0febd944739c83017a30a727022100de7c10c51652db165126a49e069516cef243fa9bde470d7758042debca100205
Verificando la transaccion.
Observemos que la firma digital corresponde con los datos ingresados y por es el bloque se muestra de color verde.. ahora vamos a intentar hack esta transacción
Como observan he intentado hackear esta transacción y decirle que recibí 10000 Dolares en vez de 100 y automáticamente nos arroja que es una transacción invalida ya que el mensaje cifrado no corresponde con los datos que este arroja.
Ahora vamos a dejar su valor aceptado pero vamos a modificar el destino.
Como observan mi codigo malicioso no ha servido de mucho ya que igual me arroja error en el bloque, y todo esto sucede por que estoy modificando datos que la firma digital tiene y como esta no puede modificarse después de ser firmada me arroja estos datos negativos.
Blockchain
Comencemos por explorar un blockchain normal y en esta demostracion nos ofrece todos los elementos que lo compone.
Detalles:
Para comenzar observamos que todos los bloques son validos
Cada bloque contiene su hash del bloque anterior
hacer especial enfacis en el bloque génesis que su bloque anterior es 0 por tanto su hash son 0000000000
Cada bloque contiene información de transacciones con su firma digital con su hash respctivo y diferente datos adicionales que al ser firmados o encryptado no se puede modificar ya que mostraría un hash erróneo y por tanto un bloque invalido que no es aceptado por la cadena de bloques.
Modificando algunos datos.
En este caso he modificado solamente la transacción de 10 a 11 y automáticamente me ha arrojado que el bloque no es invalido esto se debe a que el contenido del bloque no corresponde con el contenido que esta encriptado
Otra modificación sencilla
En este caso he modificado la dirección de destino y me arroja error ya que no corresponde con la direccion con la que fue minada el bloque por lo tanto es imposible cambiar cualquier valor del bloque que ya este minado
En el caso anterior procedí a minar el bloque y me ha dado valido el bloque y esto ocurre por que todos los datos minados al momento son validos, como observamos en la imagen el bloque 4 todavia se encuentra minando ahora en este preciso momento.
Modificando la firma digital
En este caso he modificado la firma digital de bloque 3 y como era de esperarse todos los bloques después del 3 son marcados inválidos.
Prueba final
En este caso decidí minar los demás bloques con firma digital erronea, y me arrojo positivo el bloque 3 y al 4 lo he minado también me lo acepto la cadena lo que quiere decir que si logramos que se mine una transacción erroneos y que todos los nodos la acepten sera posible crear transacciones falsas pero, esto fue posible por que existe solo un validado de transacciones en este demo de blockchain estoy seguro que si fuera hecho esto en una real los bloques fueran inválidos ambos.
Conclusión
La criptografia es el pilar fundamental de las blockchain gracias a estos principios de encriptar mensajes y a la idea de los arboles Merkler la blockchain nace, ya que esta emplea todos estos principios para proteger los datos y darle seguridad a las transacciones que las cadenas de bloques maneja, desde luego con sus respectivas mejoras ya que la criptografia asimétrica fue otro acierto que le llega a las cadenas de bloques como anillo al dedo ya que permite con pocas claves cripto gráficas generar muchas transacciones y encriptar y desencriptar mensajes, esto es sin duda alguna un avance tecnológico importante lo único que tiene en contra es su uso computacional que lo hace un poco lento a la hora de validar estas transacciones. y bueno sin mas que agregar me despido de esta tercera temporada donde hemos aprendido muchas cosas. a la espera de la 4ta y mas aprendizajes que van a llegar para entonces.
Profesor:
@stream4u