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!
Las redes Blockchain se pueden clasificar en redes públicas, privadas, con permiso y sin permiso según la participación y el acceso:
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.
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.
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.
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.
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.
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.
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:
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.
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.
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.
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.
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.
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!
Las redes Blockchain se pueden clasificar en redes públicas, privadas, con permiso y sin permiso según la participación y el acceso:
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.
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.
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.
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.
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.
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.
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:
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.
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.
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.
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.
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.