Bài học 3

Seguridad de la cadena de bloques

En esta lección, proporcionaremos una descripción general de los mecanismos de seguridad en la tecnología blockchain y discutiremos cómo la seguridad difiere entre varios tipos de redes blockchain.

Descripción general de los mecanismos de seguridad de blockchain

La tecnología Blockchain ofrece una estructura segura para los datos, basada en principios de criptografía, descentralización y consenso. Esta combinación de funciones ayuda a garantizar la confianza en las transacciones y ofrece protección contra la manipulación de datos. En esta lección, proporcionaremos una descripción general de los mecanismos de seguridad en la tecnología blockchain y discutiremos cómo la seguridad difiere entre varios tipos de redes blockchain.

Lea nuestro curso específico y detallado sobre seguridad: Seguridad Blockchain: Criptografía, Consenso, Hack

Si es nuevo y solo quiere conocer un poco el mundo de la seguridad de la cadena de bloques, ¡continúe leyendo a continuación!

Seguridad básica de la cadena de bloques

  • Criptografía: la tecnología Blockchain emplea técnicas criptográficas avanzadas para proteger los datos. Las transacciones se firman con claves privadas, lo que garantiza la autenticidad del remitente, mientras que las claves públicas permiten verificar la transacción sin revelar la identidad del remitente.
  • Descentralización: las redes Blockchain distribuyen datos a través de una vasta red de nodos, eliminando un único punto de falla. Esta descentralización garantiza que ningún usuario individual pueda cambiar el registro de transacciones, lo que aumenta la seguridad general del sistema.
  • Consenso: un mecanismo de consenso valida y acuerda las transacciones dentro de los bloques, asegurando que cada transacción sea verdadera y correcta. Estos mecanismos pueden variar entre diferentes redes de blockchain, pero su propósito principal es establecer confianza en el sistema.

Diferencias de seguridad en los tipos de blockchain

Las redes Blockchain se pueden clasificar en redes públicas, privadas, con permiso y sin permiso según la participación y el acceso:

  1. Cadenas de bloques públicas: las cadenas de bloques públicas, como Bitcoin, permiten que cualquier persona se una y participe en la red. Los participantes pueden permanecer en el anonimato y la red se basa en computadoras conectadas a Internet para validar las transacciones y lograr el consenso a través de un proceso llamado "minería". Las cadenas de bloques públicas tienen controles de acceso e identidad limitados.

  2. Cadenas de bloques privadas: por el contrario, las cadenas de bloques privadas limitan la participación a organizaciones conocidas que forman una red privada solo para miembros. Estas redes logran el consenso a través del "respaldo selectivo", donde los usuarios conocidos validan las transacciones. Los controles de identidad y acceso son más estrictos en las cadenas de bloques privadas.

  3. Blockchains sin permiso: estas redes no imponen restricciones a los procesadores, lo que permite que cualquier participante contribuya a los procesos de validación y consenso de la red.

  4. Cadenas de bloques autorizadas: las redes autorizadas otorgan acceso solo a un conjunto selecto de usuarios a quienes se les emiten identidades mediante certificados. Estas redes tienen una identidad más robusta y controles de acceso implementados.
    Al desarrollar una aplicación de cadena de bloques, es esencial determinar qué tipo de red se alinea mejor con sus objetivos comerciales. Las redes privadas y autorizadas ofrecen más control y son preferibles por motivos normativos y de cumplimiento. Por el contrario, las redes públicas y sin permiso proporcionan una mayor descentralización y distribución. Al comprender los diversos mecanismos de seguridad y tipos de red, puede seleccionar la red de cadena de bloques más adecuada para su aplicación, lo que garantiza una seguridad sólida y un rendimiento eficiente.

Identificación de técnicas criptográficas y funciones hash

Las funciones hash criptográficas juegan un papel esencial para garantizar la seguridad dentro de la tecnología blockchain. En esta lección, exploraremos las funciones hash criptográficas, cómo funcionan y sus aplicaciones en varios contextos, incluida la cadena de bloques, la seguridad de las contraseñas y la seguridad de los mensajes.

¿Qué son las funciones hash criptográficas?

Una función hash criptográfica es una función matemática que toma datos de entrada de longitud variable y devuelve una salida de longitud fija, conocida como "valor hash". Estas funciones combinan las capacidades de paso de mensajes de las funciones hash regulares con propiedades de seguridad adicionales.

Conclusiones clave:

Las funciones hash criptográficas transforman un conjunto dado de datos en una cadena de bits de tamaño fijo. Se utilizan en diversas aplicaciones, como criptomonedas, seguridad de contraseñas y seguridad de mensajes.

Las funciones hash criptográficas están diseñadas para ser seguras y proporcionar las siguientes propiedades:

  • Libre de colisiones: no se deben asignar dos hashes de entrada al mismo hash de salida, lo que reduce las posibilidades de manipulación o falsificación de datos.
  • Oculto: debería ser un desafío adivinar el valor de entrada para una función hash a partir de su salida, lo que garantiza la confidencialidad de los datos.
  • Compatible con rompecabezas: Debería ser difícil seleccionar una entrada que proporcione una salida predefinida, promoviendo una amplia distribución de valores de entrada.
    Estas propiedades son deseables pero no siempre alcanzables en la práctica. Sin embargo, las funciones hash criptográficas todavía se utilizan ampliamente para mejorar la seguridad de los sistemas digitales.

Ejemplos de funciones y aplicaciones hash criptográficas:

  • Criptomonedas: las funciones hash criptográficas son cruciales en las criptomonedas para el procesamiento seguro de transacciones. Bitcoin, por ejemplo, utiliza la función hash criptográfica SHA-256 en su algoritmo. Los Merkle Trees, un tipo de árbol hash, se utilizan en las criptomonedas para verificar de manera eficiente la validez de las transacciones y los bloques agrupando las transacciones y creando un solo hash para cada grupo.
  • Verificación de contraseñas: almacenar contraseñas como texto sin formato no es seguro, por lo que la mayoría de los sitios web almacenan hashes de contraseñas. Cuando un usuario ingresa su contraseña, el sistema procesa la entrada y la compara con el valor de hash almacenado para garantizar una coincidencia.
  • Generación y verificación de firmas: Las firmas digitales verifican la autenticidad de los documentos o mensajes digitales. Un esquema de firma digital generalmente consta de tres algoritmos: un algoritmo de generación de claves, un algoritmo de firma y un algoritmo de verificación de firma.
  • Verificación de la integridad de archivos y mensajes: las funciones hash se pueden utilizar para garantizar la integridad de los mensajes y archivos transmitidos entre el remitente y el receptor. Al comparar el valor hash calculado con un valor publicado, los destinatarios pueden confirmar que los datos no se han manipulado durante el tránsito.

Importancia de asegurar contratos inteligentes y claves privadas

Proteger las claves privadas es fundamental para mantener la integridad y la confianza en los sistemas de cadena de bloques. Las claves privadas se utilizan para firmar transacciones y, por lo tanto, son esenciales para controlar el acceso a los activos de la cadena de bloques. Sin embargo, almacenar claves privadas de forma segura puede ser un desafío. Si se pierde o se roba una clave privada, los activos asociados con esa clave pueden ser permanentemente inaccesibles.

Cálculos de múltiples partes (MPC)

Una posible solución a este problema de confianza es el uso de cálculos de múltiples partes (MPC). Los MPC permiten la división de una clave privada entre múltiples participantes, descentralizando su uso. Los protocolos como las generaciones de claves descentralizadas (DKG) garantizan que la clave privada nunca esté completamente presente en ninguna parte y, siempre que un número suficiente de participantes actúe con honestidad, el sistema permanecerá seguro. Proyectos como Axelar implementan este enfoque para permitir la interoperabilidad entre diferentes cadenas de bloques.

Contratos inteligentes de conocimiento cero

Los contratos inteligentes de conocimiento cero, o zkapps, ofrecen un enfoque diferente. En estos sistemas, el titular de una clave privada puede ejecutar localmente la lógica asociada con la clave privada, como firmar una transacción de Bitcoin. Gracias a las pruebas de conocimiento cero (ZKP), otros pueden verificar que la clave privada se usó correctamente de acuerdo con el contrato sin conocer la clave privada en sí. Sin embargo, este enfoque requiere confianza en el poseedor de la clave para que no la filtre ni la use maliciosamente.

Abstracción de cuenta

La abstracción de cuentas es otra técnica que se puede utilizar para mejorar la seguridad de las claves privadas. La abstracción de cuentas permite que los contratos inteligentes mantengan claves privadas y realicen operaciones de firma. Este enfoque proporciona una mayor flexibilidad en el diseño de contratos inteligentes y reduce el riesgo de pérdida o robo de claves.

Combinando MPC con Pruebas de Conocimiento Cero:

Para ampliar el alcance de las operaciones seguras de contratos inteligentes, los investigadores han propuesto combinar MPC con pruebas de conocimiento cero. Este enfoque permite la ejecución de cualquier programa de manera segura y verificable (a través de ZKP), con diferentes partes del programa que se originan en diferentes participantes (a través de MPC).

Un artículo reciente titulado "Experimentando con zk-SNARK colaborativos: pruebas de conocimiento cero para secretos distribuidos" presenta una solución para combinar estas dos técnicas. Si bien aún no existen implementaciones en la cadena, se anticipa que esta innovación podría desbloquear nuevas posibilidades para las cadenas de bloques programables.

Al explorar e implementar soluciones innovadoras como contratos inteligentes de conocimiento cero, cálculos de múltiples partes y la combinación de MPC con ZKP, podemos avanzar en el campo de la seguridad de blockchain y desbloquear nuevas aplicaciones para esta tecnología transformadora.

Tuyên bố từ chối trách nhiệm
* Đầu tư tiền điện tử liên quan đến rủi ro đáng kể. Hãy tiến hành một cách thận trọng. Khóa học không nhằm mục đích tư vấn đầu tư.
* Khóa học được tạo bởi tác giả đã tham gia Gate Learn. Mọi ý kiến chia sẻ của tác giả không đại diện cho Gate Learn.
Danh mục
Bài học 3

Seguridad de la cadena de bloques

En esta lección, proporcionaremos una descripción general de los mecanismos de seguridad en la tecnología blockchain y discutiremos cómo la seguridad difiere entre varios tipos de redes blockchain.

Descripción general de los mecanismos de seguridad de blockchain

La tecnología Blockchain ofrece una estructura segura para los datos, basada en principios de criptografía, descentralización y consenso. Esta combinación de funciones ayuda a garantizar la confianza en las transacciones y ofrece protección contra la manipulación de datos. En esta lección, proporcionaremos una descripción general de los mecanismos de seguridad en la tecnología blockchain y discutiremos cómo la seguridad difiere entre varios tipos de redes blockchain.

Lea nuestro curso específico y detallado sobre seguridad: Seguridad Blockchain: Criptografía, Consenso, Hack

Si es nuevo y solo quiere conocer un poco el mundo de la seguridad de la cadena de bloques, ¡continúe leyendo a continuación!

Seguridad básica de la cadena de bloques

  • Criptografía: la tecnología Blockchain emplea técnicas criptográficas avanzadas para proteger los datos. Las transacciones se firman con claves privadas, lo que garantiza la autenticidad del remitente, mientras que las claves públicas permiten verificar la transacción sin revelar la identidad del remitente.
  • Descentralización: las redes Blockchain distribuyen datos a través de una vasta red de nodos, eliminando un único punto de falla. Esta descentralización garantiza que ningún usuario individual pueda cambiar el registro de transacciones, lo que aumenta la seguridad general del sistema.
  • Consenso: un mecanismo de consenso valida y acuerda las transacciones dentro de los bloques, asegurando que cada transacción sea verdadera y correcta. Estos mecanismos pueden variar entre diferentes redes de blockchain, pero su propósito principal es establecer confianza en el sistema.

Diferencias de seguridad en los tipos de blockchain

Las redes Blockchain se pueden clasificar en redes públicas, privadas, con permiso y sin permiso según la participación y el acceso:

  1. Cadenas de bloques públicas: las cadenas de bloques públicas, como Bitcoin, permiten que cualquier persona se una y participe en la red. Los participantes pueden permanecer en el anonimato y la red se basa en computadoras conectadas a Internet para validar las transacciones y lograr el consenso a través de un proceso llamado "minería". Las cadenas de bloques públicas tienen controles de acceso e identidad limitados.

  2. Cadenas de bloques privadas: por el contrario, las cadenas de bloques privadas limitan la participación a organizaciones conocidas que forman una red privada solo para miembros. Estas redes logran el consenso a través del "respaldo selectivo", donde los usuarios conocidos validan las transacciones. Los controles de identidad y acceso son más estrictos en las cadenas de bloques privadas.

  3. Blockchains sin permiso: estas redes no imponen restricciones a los procesadores, lo que permite que cualquier participante contribuya a los procesos de validación y consenso de la red.

  4. Cadenas de bloques autorizadas: las redes autorizadas otorgan acceso solo a un conjunto selecto de usuarios a quienes se les emiten identidades mediante certificados. Estas redes tienen una identidad más robusta y controles de acceso implementados.
    Al desarrollar una aplicación de cadena de bloques, es esencial determinar qué tipo de red se alinea mejor con sus objetivos comerciales. Las redes privadas y autorizadas ofrecen más control y son preferibles por motivos normativos y de cumplimiento. Por el contrario, las redes públicas y sin permiso proporcionan una mayor descentralización y distribución. Al comprender los diversos mecanismos de seguridad y tipos de red, puede seleccionar la red de cadena de bloques más adecuada para su aplicación, lo que garantiza una seguridad sólida y un rendimiento eficiente.

Identificación de técnicas criptográficas y funciones hash

Las funciones hash criptográficas juegan un papel esencial para garantizar la seguridad dentro de la tecnología blockchain. En esta lección, exploraremos las funciones hash criptográficas, cómo funcionan y sus aplicaciones en varios contextos, incluida la cadena de bloques, la seguridad de las contraseñas y la seguridad de los mensajes.

¿Qué son las funciones hash criptográficas?

Una función hash criptográfica es una función matemática que toma datos de entrada de longitud variable y devuelve una salida de longitud fija, conocida como "valor hash". Estas funciones combinan las capacidades de paso de mensajes de las funciones hash regulares con propiedades de seguridad adicionales.

Conclusiones clave:

Las funciones hash criptográficas transforman un conjunto dado de datos en una cadena de bits de tamaño fijo. Se utilizan en diversas aplicaciones, como criptomonedas, seguridad de contraseñas y seguridad de mensajes.

Las funciones hash criptográficas están diseñadas para ser seguras y proporcionar las siguientes propiedades:

  • Libre de colisiones: no se deben asignar dos hashes de entrada al mismo hash de salida, lo que reduce las posibilidades de manipulación o falsificación de datos.
  • Oculto: debería ser un desafío adivinar el valor de entrada para una función hash a partir de su salida, lo que garantiza la confidencialidad de los datos.
  • Compatible con rompecabezas: Debería ser difícil seleccionar una entrada que proporcione una salida predefinida, promoviendo una amplia distribución de valores de entrada.
    Estas propiedades son deseables pero no siempre alcanzables en la práctica. Sin embargo, las funciones hash criptográficas todavía se utilizan ampliamente para mejorar la seguridad de los sistemas digitales.

Ejemplos de funciones y aplicaciones hash criptográficas:

  • Criptomonedas: las funciones hash criptográficas son cruciales en las criptomonedas para el procesamiento seguro de transacciones. Bitcoin, por ejemplo, utiliza la función hash criptográfica SHA-256 en su algoritmo. Los Merkle Trees, un tipo de árbol hash, se utilizan en las criptomonedas para verificar de manera eficiente la validez de las transacciones y los bloques agrupando las transacciones y creando un solo hash para cada grupo.
  • Verificación de contraseñas: almacenar contraseñas como texto sin formato no es seguro, por lo que la mayoría de los sitios web almacenan hashes de contraseñas. Cuando un usuario ingresa su contraseña, el sistema procesa la entrada y la compara con el valor de hash almacenado para garantizar una coincidencia.
  • Generación y verificación de firmas: Las firmas digitales verifican la autenticidad de los documentos o mensajes digitales. Un esquema de firma digital generalmente consta de tres algoritmos: un algoritmo de generación de claves, un algoritmo de firma y un algoritmo de verificación de firma.
  • Verificación de la integridad de archivos y mensajes: las funciones hash se pueden utilizar para garantizar la integridad de los mensajes y archivos transmitidos entre el remitente y el receptor. Al comparar el valor hash calculado con un valor publicado, los destinatarios pueden confirmar que los datos no se han manipulado durante el tránsito.

Importancia de asegurar contratos inteligentes y claves privadas

Proteger las claves privadas es fundamental para mantener la integridad y la confianza en los sistemas de cadena de bloques. Las claves privadas se utilizan para firmar transacciones y, por lo tanto, son esenciales para controlar el acceso a los activos de la cadena de bloques. Sin embargo, almacenar claves privadas de forma segura puede ser un desafío. Si se pierde o se roba una clave privada, los activos asociados con esa clave pueden ser permanentemente inaccesibles.

Cálculos de múltiples partes (MPC)

Una posible solución a este problema de confianza es el uso de cálculos de múltiples partes (MPC). Los MPC permiten la división de una clave privada entre múltiples participantes, descentralizando su uso. Los protocolos como las generaciones de claves descentralizadas (DKG) garantizan que la clave privada nunca esté completamente presente en ninguna parte y, siempre que un número suficiente de participantes actúe con honestidad, el sistema permanecerá seguro. Proyectos como Axelar implementan este enfoque para permitir la interoperabilidad entre diferentes cadenas de bloques.

Contratos inteligentes de conocimiento cero

Los contratos inteligentes de conocimiento cero, o zkapps, ofrecen un enfoque diferente. En estos sistemas, el titular de una clave privada puede ejecutar localmente la lógica asociada con la clave privada, como firmar una transacción de Bitcoin. Gracias a las pruebas de conocimiento cero (ZKP), otros pueden verificar que la clave privada se usó correctamente de acuerdo con el contrato sin conocer la clave privada en sí. Sin embargo, este enfoque requiere confianza en el poseedor de la clave para que no la filtre ni la use maliciosamente.

Abstracción de cuenta

La abstracción de cuentas es otra técnica que se puede utilizar para mejorar la seguridad de las claves privadas. La abstracción de cuentas permite que los contratos inteligentes mantengan claves privadas y realicen operaciones de firma. Este enfoque proporciona una mayor flexibilidad en el diseño de contratos inteligentes y reduce el riesgo de pérdida o robo de claves.

Combinando MPC con Pruebas de Conocimiento Cero:

Para ampliar el alcance de las operaciones seguras de contratos inteligentes, los investigadores han propuesto combinar MPC con pruebas de conocimiento cero. Este enfoque permite la ejecución de cualquier programa de manera segura y verificable (a través de ZKP), con diferentes partes del programa que se originan en diferentes participantes (a través de MPC).

Un artículo reciente titulado "Experimentando con zk-SNARK colaborativos: pruebas de conocimiento cero para secretos distribuidos" presenta una solución para combinar estas dos técnicas. Si bien aún no existen implementaciones en la cadena, se anticipa que esta innovación podría desbloquear nuevas posibilidades para las cadenas de bloques programables.

Al explorar e implementar soluciones innovadoras como contratos inteligentes de conocimiento cero, cálculos de múltiples partes y la combinación de MPC con ZKP, podemos avanzar en el campo de la seguridad de blockchain y desbloquear nuevas aplicaciones para esta tecnología transformadora.

Tuyên bố từ chối trách nhiệm
* Đầu tư tiền điện tử liên quan đến rủi ro đáng kể. Hãy tiến hành một cách thận trọng. Khóa học không nhằm mục đích tư vấn đầu tư.
* Khóa học được tạo bởi tác giả đã tham gia Gate Learn. Mọi ý kiến chia sẻ của tác giả không đại diện cho Gate Learn.