¿Cómo funciona blockchain? (Parte 3)

En este apartado, se trata sobre cómo funciona blockchain, su estructura y arquitectura, claves criptográficas y firmas digitales, transacción de blockchain, diagrama de blockchain, hash e identidad en blockchains, nodos de blockchain, consenso de blockchain, prueba de trabajo de blockchain y varios protocolos de blockchain.

¿Cómo funciona blockchain?

Ahora que estamos familiarizados con algunos aspectos de las cadenas de bloques, analicemos en profundidad cómo funciona la cadena de bloques.

Sabemos que blockchain no es más que una inundación interminable de bloques que se entrelazan como una cadena, y eso también en un orden específico de criptografía.

Cuando se trata de almacenar información transaccional de manera segura, casi no hay nada que aparezca en nuestros terrenos de pensamiento aparte de las cadenas de bloques.

Gracias a las cadenas de bloques de seguridad, descentralización y transparencia que se etiquetan a sí mismas, podemos imaginar que el nuevo amanecer de un entorno organizacional seguro no está lejos de su alcance.

¿Cómo se ha hecho posible? ¿Cómo funciona internamente una arquitectura blockchain?

Cada vez que se introduce una cadena de bloques a una nueva transacción de cadena de bloques o se va a agregar un nuevo bloque a la cadena de bloques, en general, se requieren numerosos nodos dentro de la misma implementación de la cadena de bloques para ejecutar algoritmos para evaluar, verificar y procesar el historial del bloque de la cadena de bloques.

Si la mayoría de los nodos autentican el historial y la firma del bloque, el nuevo bloque de la transacción de la cadena de bloques se acepta en el libro mayor y el nuevo bloque que contiene los datos se agrega a la cadena de bloques. Si no se logra un consenso, se niega que el bloque se agregue a la cadena de bloques.

Este modelo de consenso distribuido permite que las cadenas de bloques funcionen como un libro mayor distribuido sin requerir ninguna autoridad central o unificadora para validar las transacciones de la cadena de bloques. Por lo tanto, la transacción de blockchain es extremadamente segura.

Arquitectura Blockchain

Cuando investigamos el ADN de la arquitectura blockchain para una mejor comprensión, necesitamos analizar varios aspectos que contribuyen a esta maravilla tecnológica disruptiva.

¿Cómo funciona blockchain?

Estos aspectos incluyen la plataforma blockchain, los nodos, las transacciones que componen los bloques, las implementaciones de seguridad y el proceso de agregar nuevos bloques a la cadena. La arquitectura de la cadena de bloques es sin duda compleja, pero una vez que la consigas te familiarizarás con la misma.

Con los bloques conectados entre sí a través de sus respectivos códigos hash, todo el ecosistema blockchain se convierte técnicamente en un Fort Knox. Cada vez que se activa una bandera de transacción de blockchain, se debe lograr un consenso de blockchain para actualizar el mismo en el blockchain.

En lugar de depender de un tercero para mediar en las transacciones, los nodos miembros de la red blockchain se adhieren a un protocolo de consenso blockchain para acordar el contenido del libro mayor y los hashes criptográficos y las firmas digitales para garantizar la integridad de las transacciones.

Una vez autenticadas, estas transacciones de blockchain se consideran exitosas e irreversibles. Las transacciones dependen mucho de los valores hash y las funciones hash. Estas funciones hash son procesos matemáticos que toman datos de entrada de cualquier tamaño, realizan las operaciones requeridas en ellos y devuelven los datos de salida de un tamaño fijo.

Estas funciones se pueden utilizar para tomar una cadena de cualquier longitud como entrada y devolver una secuencia de letras de una longitud fija. Esta funcionalidad de las funciones hash las hace aptas para el procesamiento de transacciones. Independientemente del tamaño de las transacciones, el resultado final siempre será fijo y sin alteraciones.

Después de encontrarnos con el término ‘hash’ tantas veces, se ha convertido en una cuestión de necesidad innata para que comprendamos lo que representa el hash. Además, arrojemos algo de luz sobre la ‘identidad’ de los bloques.

Bajo el capó de las cadenas de bloques, el hash es necesariamente un proceso que ayuda a diferenciar entre bloques. El proceso de hash le da a los bloques en una cadena de bloques una identidad única. Técnicamente, los bloques en una cadena de bloques se identifican por su hash, que sirve tanto para la identificación como para la verificación de la integridad. Una cadena de identificación que también proporciona su propia integridad se denomina identificador de autocertificación. Las funciones hash generan claves públicas. Aquí hay un ejemplo relacionado con el hash para una cadena de bloques de bitcoin.
Bitcoin utiliza la función hash SHA-256 que produce un código hash de 256 bits o 32 bytes.

Diagrama de cadena de bloques : Bob, mientras realiza un pedido con Lisa, crea un mensaje que es como el que se muestra arriba. Este mensaje se codifica mediante una función hash que produce un código hash de 32 bytes.

La belleza del hash es que, a todos los efectos prácticos, puede considerarse único por el contenido del mensaje. Si se modifica el mensaje, el valor hash cambiará. Esto hace que sea imposible reconstruir el mensaje original. La piratería, por lo tanto, es un sueño lejano con funciones hash.

Claves criptográficas y firmas digitales

A medida que la información en la cadena de bloques se transfiere a través de redes peer-to-peer (P2P) en todo el mundo, se incorporan claves criptográficas para enviar datos a través de la red sin comprometer la seguridad e integridad. Estas claves no solo permiten que las cadenas de bloques respeten la privacidad de los usuarios, sino que también mantienen la propiedad de los activos y protegen la información de los bloques en la red.

La criptografía se aplica en toda la cadena de bloques a toda la información que se almacena y se procesa. Esto proporciona a los usuarios una prueba criptográfica que sirve como base para confiar en la legitimidad del reclamo de un usuario sobre un activo en la cadena de bloques.

Los hash criptográficos también ayudan mucho, ya que garantizan que incluso el cambio más pequeño en una transacción resultará en el cálculo de un valor hash diferente, lo que eventualmente indicará un cambio claro en el historial de transacciones.

Si bien las claves criptográficas son necesarias para la seguridad y la integridad, las firmas digitales proporcionan verificación y autenticación de propiedad en la cadena de bloques. Al usar firmas digitales criptográficas, un usuario puede firmar una transacción que demuestre la propiedad de ese activo y cualquier persona en la cadena de bloques puede verificar digitalmente que la identidad es verdadera.

Nodos de blockchain

En términos simples, cada participante en una red blockchain es un nodo. Al ser una red descentralizada donde no existe una autoridad central, los nodos de blockchain tienen un gran valor.

Existen varios tipos de nodos de blockchain, y cada uno de ellos requiere configuraciones de hardware específicas para alojarse o conectarse.

Básicamente, hay dos tipos de nodos: nodos completos y nodos ligeros. Estos tipos comprenden una constelación de una variedad de nodos que se agrupan bajo ellos.

Los nodos completos* actúan como un servidor en una red descentralizada. Sus principales tareas incluyen mantener el consenso entre otros nodos y verificar las transacciones. También almacenan una copia de la cadena de bloques, por lo que pueden habilitar de forma segura funciones personalizadas como el envío instantáneo y las transacciones privadas. Al tomar decisiones para el futuro de una red, los nodos completos son los que votan las propuestas.
*Nodos completos podados:* la característica específica aquí es que estos nodos comienzan a descargar bloques desde el principio, y una vez que alcanzan el límite establecido, los más antiguos se eliminan, conservando solo sus encabezados y la ubicación de la cadena.
***Nodos completos de archivo* :A esto se refiere la mayoría de la gente cuando habla de nodos completos. Estos nodos visualizan un servidor que aloja el Blockchain completo en su base de datos.
***En comparación con los nodos completos, los nodos
maestros por sí mismos no pueden agregar bloques a la cadena de bloques. Su único propósito es mantener un registro de transacciones y validarlas. Ya sean nodos de minería o de replanteo, son los que escriben bloques en la cadena de bloques.
*Nodos de verificación de pago simple o ligero (SPV),* por otro lado, se utilizan en las operaciones de criptomonedas del día a día. Estos nodos se comunican con la cadena de bloques mientras dependen de nodos completos para proporcionarles los conjuntos de información necesarios. No almacenan una copia de la cadena de bloques, solo consultan el estado actual del último bloque. Además, transmiten transacciones a otros nodos de la red para su procesamiento.

Consenso de Blockchain

En la sección anterior, conocimos el consenso. ¿Qué significa este término? El conjunto de reglas por las que opera una red blockchain y valida la información de los bloques se conoce como ‘ consenso ‘.

Dado que las criptomonedas operan en una red P2P descentralizada, no será incorrecto asumir que es probable que surjan complicaciones cuando sea necesario tomar una decisión. Aquí es donde el consenso resulta útil. Si bien el consenso debe lograrse mediante un cierto tipo de nodos, en las redes P2P cualquier usuario puede convertirse en un nodo completo y así ganar supremacía sobre los demás.

Cuando al menos el 51% de los nodos están de acuerdo con algo, la decisión se valida en nombre de toda la cadena de bloques. Esta regla del 51% puede resultar en amenazas incluso. La amenaza más común para una cadena de bloques es el ataque del 51%, donde más de la mitad de los nodos se concentran en una entidad. Esto allana el camino para que la entidad cambie las reglas de consenso como lo considere oportuno, lo que podría conducir a un monopolio.

Prueba de trabajo de Blockchain (Proof of Work)

Un mecanismo de consenso popular para las cadenas de bloques, la Prueba de trabajo es un requisito a través del cual se pueden realizar cálculos costosos, también llamados minería, para facilitar las transacciones en la cadena de bloques.

Aunque puede ser difícil para los nodos generar un bloque válido, es bastante fácil para la red validar la autenticidad del bloque.

Esto se logra mediante funciones hash. Dado que los hash son bastante sensibles a los cambios e incluso las modificaciones mínimas darán como resultado una salida de hash completamente diferente, se pueden usar para validar y asegurar bloques.

Para que un bloque se confirme como válido, los mineros deben generar dos hash: un hash de todas las transacciones en el bloque y uno que demuestre que han gastado la energía necesaria para generar el bloque resolviendo un rompecabezas criptográfico especial con un pre establecer el nivel de dificultad.

La dificultad de resolver el rompecabezas se puede ajustar automáticamente en los sistemas de Prueba de trabajo para crear un período de tiempo constante para los bloques que se agregarán a la cadena de bloques.

En resumen, un minero crea un bloque de transacciones válidas. Además, el minero ejecuta un algoritmo de Prueba de trabajo para encontrar un hash válido. Cuando se genera un bloque válido, el bloque se agrega a la cadena de bloques y el minero recibe tarifas de red y la criptomoneda recién creada .

Protocolos de blockchain

Dado que las cadenas de bloques se están implementando a un ritmo exponencial para todo, desde transacciones financieras transfronterizas hasta la gestión de la cadena de suministro, la falta de escalabilidad ha sido un problema constante desde la génesis de las cadenas de bloques.

A medida que más computadoras se unen a la red P2P, la eficiencia de todo el ecosistema blockchain generalmente se deteriora. A través del proceso de fragmentación, una forma de particionamiento, los mineros de blockchain pueden mantener un rendimiento constante en toda la red.

Los protocolos de blockchain, sin embargo, exigen una atención constante para su funcionamiento eficiente.

Características del Protocolo Blockchain

  • Cada parte mantiene su propia copia de la información y todos los nodos deben validar las actualizaciones de forma colectiva.
  • La información podría representar transacciones, contratos, activos, identidades o prácticamente cualquier otra cosa que pueda describirse en forma digital.
  • Las entradas son permanentes, transparentes y se pueden buscar, lo que hace posible que los miembros de la comunidad vean los historiales de transacciones en su totalidad.
  • Cada actualización es un nuevo bloque agregado al final de una cadena. Un protocolo gestiona cómo se inician, validan, registran y distribuyen las nuevas ediciones o entradas.
  • La criptología reemplaza a los intermediarios de terceros como guardianes de la confianza, y todos los participantes de blockchain ejecutan algoritmos complejos para certificar la integridad del conjunto.

Los principales protocolos de blockchain se enumeran a continuación:

  • Bitcoin: la primera aplicación de blockchains, Bitcoin permite a los usuarios realizar transacciones irreversibles sin confianza. Este protocolo incluye tecnologías como hash, firma digital, criptografía de clave pública, redes P2P, prueba de trabajo y minería de prueba de trabajo.
  • Ethereum: conocido por sus contratos inteligentes, Ethereum presenta una criptomoneda nativa, a saber, Ether, y una billetera Ethereum. Este protocolo permite a los usuarios crear aplicaciones descentralizadas y organizaciones democráticas autónomas.
  • Ripple: Ripple admite tokens que se utilizan para representar moneda fiduciaria, otras criptomonedas, materias primas u otras unidades de valor, como minutos móviles y millas de viajero frecuente.
  • Hyperledger: Desarrollado por la Fundación Linux en 2015, Hyperledger admite Python, políticas de respaldo para transacciones y canales confidenciales para compartir información privada.
  • Openchain: un protocolo de cadena de bloques escalable y seguro, Openchain es adecuado para organizaciones que desean emitir y administrar sus activos digitales.
  • IOTA: conocido por su libro de distribución sin bloques ‘Tangle’, IOTA permite pagos infinitesimalmente pequeños sin cobrar tarifas adicionales.
  • Lisk: un protocolo blockchain relativamente nuevo, Lisk permite el desarrollo de aplicaciones descentralizadas en JavaScript puro.
  • BigchainDB: este sistema de código abierto comienza con una base de datos distribuida de big data y luego agrega características de blockchain a la red, incluido el control descentralizado y las transferencias de activos digitales.

Entonces, espero que esto sea lo suficientemente bueno para comprender cómo funciona Blockchain.

Relacionado

❌ React Native, crear aplicación como Netflix con Mario Díez

[no_toc] [expand title="Índice del Vídeotutorial"] 1. FlatList Horizontal 2. Componente Swiper 3. Menú Animado y Header 4. FlatList Grid 5. Más Flexbox, Tabs y Linear gradiantes 6. Reproductor de Vídeo 7. Share API 8. Animatable Header y NativeEvents 9. React Navigation 10. Header Múltiple con Animated 11. Modal con React Navigation 12. React Navigation con Redux 13. Servidor NodeJS con MongoDB para React Native 14. Conectando ¡SEGUIR LEYENDO!

❌ React Native con Mario Díez

[no_toc] [expand title="Índice del Vídeotutorial"] 1. Instalación 2. Introducción 3. Props y State 4. Fetch Data 5. ListView 6. Fech Data 2 7. Navigator IOS 8. Navigator 9. Flexbox 10. PropTypes 11. TabBarIOS 12. Formularios 13. AsyncStorage 14. Recorriendo Arrays con Map 15. Notificaciones Push 16. Notificaciones Push desde NodeJS 17. Barra de Búsqueda en ListView 18. Utilización de CameraRoll 19. Children o Props 20. Diferenciar ¡SEGUIR LEYENDO!

❌ React Native con Iván B. Trujillo

[no_toc] [expand title="Índice del Vídeotutorial"] 1. Primeros Pasos 2. Componentes, Botones y Alertas 3. Pantalla de Login, Navegador y Vistas 4. Navegación por Pestañas 5. Peticiones a API y ListView 6. Vista Detalles y Paso de Propiedades a Componente Hijo [/expand] [yotuwp type="playlist" id="PLuzQ5Ac_9_cI-ukaElfIFKXyhLsADBiJe" ] [expand title="Creador"] Editor del blog de Medium: Canarias JS [/expand]

❌ Javascript con Píldoras Informáticas

[no_toc] [expand title="Índice del Vídeotutorial"] 1. Presentación. Vídeo 1 2. Introducción. Vídeo 2 3. Sintaxis Básica I. Ubicación del código. Vídeo 3 4. Sintaxis Básica II. Estructuras Básicas. Vídeo 4 5. Sintaxis Básica III. Operadores Básicos. Vídeo 5 6. Sintaxis Básica IV. Operadores y prompt. Vídeo 6 7. Sintaxis Básica V Arrays, Matrices, Arreglos. Vídeo 7 8. Sintaxis Básica V. Arrays, Matrices, Arreglos II. Vídeo 8 ¡SEGUIR LEYENDO!

❌ Javascript con Falcon Masters

[no_toc] [expand title="Índice del Vídeotutorial"] 1. Introducción 2. Variables 3. Tipos de Dato 4. Arreglos 5. Metodos y propiedades para los Arreglos 6. Condicionales 7. Ciclo Fo 8. Ciclo While 9. Funciones 10. Ejercicio con Funciones y Formularios 11. Scope de Javascript (ámbito de las variables) 12. Metodos y propiedades para Cadenas de Texto 13. Introducción al DOM (Document Object Model) 14. Creando Nodos del DOM ¡SEGUIR LEYENDO!

Deja un comentario