¿Cuán seguros son los Blockchains? Depende.
Por Allison Berke
Harvard Business Review
Tecnología
Blockchain, la tecnología de ledger distribuida subyacente bitcoin, puede llegar a ser mucho más valioso que la moneda que apoya. Pero es tan valioso como seguro. A medida que empezamos a poner en práctica la tecnología de contabilidad distribuida, es importante asegurarnos de que las condiciones iniciales que estamos configurando no nos preparen para problemas de seguridad más adelante.
Para entender los riesgos de seguridad inherentes en la tecnología blockchain, es importante entender la diferencia entre bloqueos públicos y privados.
Bitcoin se basa en un bloqueo público, un sistema de registro de transacciones que permite a cualquiera leer o escribir transacciones. Cualquiera puede agregar y publicar esas transacciones, siempre y cuando demuestren que han hecho suficiente esfuerzo para hacerlo, lo que pueden demostrar resolviendo un difícil rompecabezas criptográfico. El proceso por el cual una red de nodos confirma el registro de transacciones previamente verificadas, y por el cual verifica nuevas transacciones, se conoce como protocolo de consenso. En el sistema bitcoin, ya que no se confía implícitamente a ningún usuario para verificar las transacciones, todos los usuarios siguen un algoritmo que verifica las transacciones comprometiendo recursos de software y hardware a resolver un problema mediante la fuerza bruta (es decir, resolviendo el rompecabezas criptográfico). El usuario que llega a la solución en primer lugar es recompensado, y cada nueva solución, junto con las transacciones que se utilizaron para verificarlo, constituye la base para el siguiente problema que se resuelve.
Esta descentralización y relativa libertad de acceso ha llevado a algunas consecuencias inesperadas: Como cualquiera puede leer y escribir transacciones, las transacciones bitcoin han impulsado el comercio en el mercado negro. Debido a que el protocolo de consenso consume energía, la mayoría de los usuarios operan en países con electricidad barata, lo que lleva a la centralización de la red y a la posibilidad de colusión, y hace que la red sea vulnerable a los cambios en la política de subsidios de electricidad. Ambas tendencias han llevado a un mayor interés en las cadenas de bloqueo privadas, lo que en última instancia podría dar a las empresas un mayor grado de control.
Utilizados principalmente en contextos financieros, los bloqueos privados permiten a sus operadores controlar quién puede leer el libro mayor de transacciones verificadas, quién puede enviar transacciones y quién puede verificarlas. Las aplicaciones para cadenas de bloqueo privadas incluyen una variedad de mercados en los que múltiples partes desean participar simultáneamente, pero no confían plenamente unos en otros. Por ejemplo, se están probando los sistemas privados de bloque de bloques que soportan registros de bloques y activos físicos, comercio de materias primas y distribución de capital privado. A medida que estos sistemas se desarrollan y evolucionan, también pueden encontrar consecuencias inesperadas, algunas de las cuales repercutirán en la seguridad del sistema y de los activos que gestiona o almacena. Al igual que en el desarrollo de software y productos, considerar la seguridad en una etapa temprana alivia la dificultad de realizar cambios fundamentales en un producto para solucionar una falla de seguridad más adelante.
Inicio de seguridad con arquitectura de red
Una de las primeras decisiones a tomar cuando se establece un bloqueo privado es sobre la arquitectura de red del sistema. Blockchains consigue consenso en su libro mayor, la lista de transacciones verificadas, a través de la comunicación, y la comunicación es necesaria para escribir y aprobar nuevas transacciones. Esta comunicación se produce entre nodos, cada uno de los cuales mantiene una copia del libro mayor e informa a los otros nodos de la nueva información: transacciones recién presentadas o recién verificadas. Los operadores de cadenas de bloque privados pueden controlar quién está autorizado a operar un nodo, así como cómo están conectados esos nodos; un nodo con más conexiones recibirá información más rápidamente. Igualmente, se puede requerir que los nodos mantengan un cierto número de conexiones para ser consideradas activas. Un nodo que restringe la transmisión de información, o transmite información incorrecta, debe ser identificable y evitable para mantener la integridad del sistema. Un bloqueo privado que subyace al comercio de materias primas puede otorgar más posiciones centrales en la red a socios comerciales establecidos y puede requerir que nuevos nodos mantengan una conexión a uno de estos nodos centrales como medida de seguridad para asegurar que se comporta como se esperaba.
Otra preocupación de seguridad en el establecimiento de la arquitectura de red es cómo tratar los nodos no comunicativos o intermitentemente activos. Los nodos pueden desconectarse por razones inofensivas, pero la red debe estar estructurada para funcionar (para obtener consenso sobre las transacciones previamente verificadas y verificar correctamente las nuevas transacciones) sin los nodos sin conexión, y debe ser capaz de llevar rápidamente estos nodos a la velocidad Si vuelven.
Protocolos de consenso y permisos de acceso en cadenas de bloque público vs. privado
El proceso utilizado para obtener el consenso (verificación de transacciones a través de la resolución de problemas) está diseñado intencionalmente para tomar tiempo, actualmente alrededor de 10 minutos. Las transacciones no se consideran verificadas completamente durante aproximadamente una o dos horas, después de lo cual son lo suficientemente "profundas" en el libro mayor que la introducción de una versión competitiva del libro mayor, conocida como horquilla, sería computacionalmente cara. Este retraso es a la vez una vulnerabilidad del sistema, en la medida en que una transacción que inicialmente parece estar verificada puede perder posteriormente ese estatus y un obstáculo significativo al uso de sistemas basados en bitcoin para transacciones de ritmo rápido, como el comercio financiero.
En cambio, en una cadena de bloques privada, los operadores pueden optar por permitir que sólo ciertos nodos realicen el proceso de verificación, y estas partes de confianza serían responsables de comunicar las transacciones recién verificadas al resto de la red. La responsabilidad de asegurar el acceso a estos nodos y de determinar cuándo y para quién ampliar el conjunto de partes de confianza, sería una decisión de seguridad tomada por el operador del sistema de bloque de bloqueo.
Reversibilidad de transacciones y seguridad de activos en cadenas de bloque público vs. privado
Mientras que las transacciones blockchain pueden usarse para almacenar datos, la principal motivación para las transacciones bitcoin es el intercambio de bitcoin en sí mismo; el tipo de cambio de la moneda ha fluctuado durante su corta vida, pero ha aumentado en valor más de cinco veces en los últimos dos años. Cada transacción bitcoin incluye cadenas de texto únicas que están asociadas con los bitcoins que se intercambian. De manera similar, otros sistemas de bloques registran la posesión de activos o acciones involucradas en una transacción. En el sistema bitcoin, la propiedad se demuestra mediante el uso de una clave privada (un número largo generado por un algoritmo diseñado para proporcionar una salida aleatoria y única) que está vinculado a un pago, y a pesar del valor de estas claves, como cualquier otro dato, pueden ser robados o perdidos, al igual que el dinero en efectivo. Estos robos no son un fracaso de la seguridad del bitcoin, sino de seguridad personal; los robos son el resultado de almacenar una clave privada de forma insegura. Algunas estimaciones ponen el valor de los bitcoins perdidos en $ 950 millones.
Por tanto, los operadores privados de cadenas de bloque deben decidir cómo resolver el problema de las credenciales de identificación perdidas, en particular para los sistemas que gestionan activos físicos. Incluso si nadie puede demostrar la propiedad de un barril de petróleo, el barril tendrá que residir en algún lugar. Bitcoin actualmente no ofrece ningún recurso para aquellos que han perdido sus claves privadas; de manera similar, los bitcoins robados son casi imposibles de recuperar, ya que las transacciones presentadas con llaves robadas aparecen a un nodo de verificación como indistinguibles de las transacciones legítimas.
Los propietarios privados de cadenas de bloques tendrán que tomar decisiones sobre si, y bajo qué circunstancias, invertir una transacción verificada, especialmente si se puede demostrar que esa transacción es un robo. La reversión de transacciones puede socavar la confianza en la imparcialidad y equidad del sistema, pero un sistema que permite pérdidas extensivas como resultado de la explotación de errores perderá usuarios. Esto se ilustra en el reciente caso de la DAO (Organización Autónoma Descentralizada), un fondo de capital de riesgo basado en código diseñado para funcionar con Ethereum, una plataforma pública basada en bloques de bloques. Las vulnerabilidades de seguridad en el código que operaba el DAO llevaron a pérdidas financieras que obligaron a los desarrolladores de Ethereum a realizar cambios en el propio protocolo Ethereum, aunque las vulnerabilidades del DAO no eran culpa del protocolo Ethereum. La decisión de realizar estos cambios fue controvertida y subraya la idea de que tanto los desarrolladores de cadenas de bloques públicos como privados deberían considerar las circunstancias bajo las cuales se enfrentarían a una decisión similar.
Pesando las recompensas
Los beneficios que ofrece una cadena de bloqueo privada, una verificación más rápida de las transacciones y la comunicación en red, la capacidad de corregir errores y las transacciones inversas y la capacidad de restringir el acceso y reducir la probabilidad de ataques externos, pueden hacer que los posibles usuarios tengan cuidado con el sistema. La necesidad de un sistema de cadenas de bloqueo presupone un grado de desconfianza, o al menos un reconocimiento de que los incentivos de todos los usuarios pueden no estar alineados. Los desarrolladores que trabajan para mantener sistemas de bloques públicos como Bitcoin todavía dependen de los usuarios individuales para adoptar los cambios que proponen, lo que sirve para asegurar que los cambios sólo se adoptan si son en el interés de todo el sistema. Los operadores de una cadena de bloqueo privado, por otro lado, pueden optar por desplegar unilateralmente cambios con los que algunos usuarios no están de acuerdo. Para asegurar tanto la seguridad como la utilidad de un sistema de bloqueo privado, los operadores deben considerar el recurso disponible para los usuarios que no están de acuerdo con los cambios en las reglas del sistema o son lentos para adoptar las nuevas reglas. El número de sistemas operativos actualmente en ejecución sin el último parche es una fuerte indicación de que incluso los cambios no controvertidos no se adoptarán rápidamente.
Mientras que los riesgos de construir un mercado financiero u otra infraestructura en una cadena de bloque público pueden dar una pausa a un nuevo operador, los bloqueos privados ofrecen un cierto grado de control sobre el comportamiento de los participantes y el proceso de verificación de transacciones. El uso de un sistema basado en una cadena de bloques es una señal de la transparencia y usabilidad de ese sistema, que se ve reforzada por la consideración temprana de la seguridad del sistema. Así como una empresa decidirá cuáles de sus sistemas están mejor alojados en una intranet privada más segura o en Internet, pero probablemente usará tanto sistemas que requieren transacciones rápidas, la posibilidad de reversión de transacciones y el control central sobre la verificación de transacciones será mejor Adecuados para cadenas de bloqueo privadas, mientras que aquellos que se benefician de la participación generalizada, la transparencia y la verificación de terceros florezcan en un bloqueo público.
Allison Berke es la directora ejecutiva de la Stanford Cyber Initiative.
Harvard Business Review
Tecnología
Blockchain, la tecnología de ledger distribuida subyacente bitcoin, puede llegar a ser mucho más valioso que la moneda que apoya. Pero es tan valioso como seguro. A medida que empezamos a poner en práctica la tecnología de contabilidad distribuida, es importante asegurarnos de que las condiciones iniciales que estamos configurando no nos preparen para problemas de seguridad más adelante.
Para entender los riesgos de seguridad inherentes en la tecnología blockchain, es importante entender la diferencia entre bloqueos públicos y privados.
Bitcoin se basa en un bloqueo público, un sistema de registro de transacciones que permite a cualquiera leer o escribir transacciones. Cualquiera puede agregar y publicar esas transacciones, siempre y cuando demuestren que han hecho suficiente esfuerzo para hacerlo, lo que pueden demostrar resolviendo un difícil rompecabezas criptográfico. El proceso por el cual una red de nodos confirma el registro de transacciones previamente verificadas, y por el cual verifica nuevas transacciones, se conoce como protocolo de consenso. En el sistema bitcoin, ya que no se confía implícitamente a ningún usuario para verificar las transacciones, todos los usuarios siguen un algoritmo que verifica las transacciones comprometiendo recursos de software y hardware a resolver un problema mediante la fuerza bruta (es decir, resolviendo el rompecabezas criptográfico). El usuario que llega a la solución en primer lugar es recompensado, y cada nueva solución, junto con las transacciones que se utilizaron para verificarlo, constituye la base para el siguiente problema que se resuelve.
Esta descentralización y relativa libertad de acceso ha llevado a algunas consecuencias inesperadas: Como cualquiera puede leer y escribir transacciones, las transacciones bitcoin han impulsado el comercio en el mercado negro. Debido a que el protocolo de consenso consume energía, la mayoría de los usuarios operan en países con electricidad barata, lo que lleva a la centralización de la red y a la posibilidad de colusión, y hace que la red sea vulnerable a los cambios en la política de subsidios de electricidad. Ambas tendencias han llevado a un mayor interés en las cadenas de bloqueo privadas, lo que en última instancia podría dar a las empresas un mayor grado de control.
Utilizados principalmente en contextos financieros, los bloqueos privados permiten a sus operadores controlar quién puede leer el libro mayor de transacciones verificadas, quién puede enviar transacciones y quién puede verificarlas. Las aplicaciones para cadenas de bloqueo privadas incluyen una variedad de mercados en los que múltiples partes desean participar simultáneamente, pero no confían plenamente unos en otros. Por ejemplo, se están probando los sistemas privados de bloque de bloques que soportan registros de bloques y activos físicos, comercio de materias primas y distribución de capital privado. A medida que estos sistemas se desarrollan y evolucionan, también pueden encontrar consecuencias inesperadas, algunas de las cuales repercutirán en la seguridad del sistema y de los activos que gestiona o almacena. Al igual que en el desarrollo de software y productos, considerar la seguridad en una etapa temprana alivia la dificultad de realizar cambios fundamentales en un producto para solucionar una falla de seguridad más adelante.
Inicio de seguridad con arquitectura de red
Una de las primeras decisiones a tomar cuando se establece un bloqueo privado es sobre la arquitectura de red del sistema. Blockchains consigue consenso en su libro mayor, la lista de transacciones verificadas, a través de la comunicación, y la comunicación es necesaria para escribir y aprobar nuevas transacciones. Esta comunicación se produce entre nodos, cada uno de los cuales mantiene una copia del libro mayor e informa a los otros nodos de la nueva información: transacciones recién presentadas o recién verificadas. Los operadores de cadenas de bloque privados pueden controlar quién está autorizado a operar un nodo, así como cómo están conectados esos nodos; un nodo con más conexiones recibirá información más rápidamente. Igualmente, se puede requerir que los nodos mantengan un cierto número de conexiones para ser consideradas activas. Un nodo que restringe la transmisión de información, o transmite información incorrecta, debe ser identificable y evitable para mantener la integridad del sistema. Un bloqueo privado que subyace al comercio de materias primas puede otorgar más posiciones centrales en la red a socios comerciales establecidos y puede requerir que nuevos nodos mantengan una conexión a uno de estos nodos centrales como medida de seguridad para asegurar que se comporta como se esperaba.
Otra preocupación de seguridad en el establecimiento de la arquitectura de red es cómo tratar los nodos no comunicativos o intermitentemente activos. Los nodos pueden desconectarse por razones inofensivas, pero la red debe estar estructurada para funcionar (para obtener consenso sobre las transacciones previamente verificadas y verificar correctamente las nuevas transacciones) sin los nodos sin conexión, y debe ser capaz de llevar rápidamente estos nodos a la velocidad Si vuelven.
Protocolos de consenso y permisos de acceso en cadenas de bloque público vs. privado
El proceso utilizado para obtener el consenso (verificación de transacciones a través de la resolución de problemas) está diseñado intencionalmente para tomar tiempo, actualmente alrededor de 10 minutos. Las transacciones no se consideran verificadas completamente durante aproximadamente una o dos horas, después de lo cual son lo suficientemente "profundas" en el libro mayor que la introducción de una versión competitiva del libro mayor, conocida como horquilla, sería computacionalmente cara. Este retraso es a la vez una vulnerabilidad del sistema, en la medida en que una transacción que inicialmente parece estar verificada puede perder posteriormente ese estatus y un obstáculo significativo al uso de sistemas basados en bitcoin para transacciones de ritmo rápido, como el comercio financiero.
En cambio, en una cadena de bloques privada, los operadores pueden optar por permitir que sólo ciertos nodos realicen el proceso de verificación, y estas partes de confianza serían responsables de comunicar las transacciones recién verificadas al resto de la red. La responsabilidad de asegurar el acceso a estos nodos y de determinar cuándo y para quién ampliar el conjunto de partes de confianza, sería una decisión de seguridad tomada por el operador del sistema de bloque de bloqueo.
Reversibilidad de transacciones y seguridad de activos en cadenas de bloque público vs. privado
Mientras que las transacciones blockchain pueden usarse para almacenar datos, la principal motivación para las transacciones bitcoin es el intercambio de bitcoin en sí mismo; el tipo de cambio de la moneda ha fluctuado durante su corta vida, pero ha aumentado en valor más de cinco veces en los últimos dos años. Cada transacción bitcoin incluye cadenas de texto únicas que están asociadas con los bitcoins que se intercambian. De manera similar, otros sistemas de bloques registran la posesión de activos o acciones involucradas en una transacción. En el sistema bitcoin, la propiedad se demuestra mediante el uso de una clave privada (un número largo generado por un algoritmo diseñado para proporcionar una salida aleatoria y única) que está vinculado a un pago, y a pesar del valor de estas claves, como cualquier otro dato, pueden ser robados o perdidos, al igual que el dinero en efectivo. Estos robos no son un fracaso de la seguridad del bitcoin, sino de seguridad personal; los robos son el resultado de almacenar una clave privada de forma insegura. Algunas estimaciones ponen el valor de los bitcoins perdidos en $ 950 millones.
Por tanto, los operadores privados de cadenas de bloque deben decidir cómo resolver el problema de las credenciales de identificación perdidas, en particular para los sistemas que gestionan activos físicos. Incluso si nadie puede demostrar la propiedad de un barril de petróleo, el barril tendrá que residir en algún lugar. Bitcoin actualmente no ofrece ningún recurso para aquellos que han perdido sus claves privadas; de manera similar, los bitcoins robados son casi imposibles de recuperar, ya que las transacciones presentadas con llaves robadas aparecen a un nodo de verificación como indistinguibles de las transacciones legítimas.
Los propietarios privados de cadenas de bloques tendrán que tomar decisiones sobre si, y bajo qué circunstancias, invertir una transacción verificada, especialmente si se puede demostrar que esa transacción es un robo. La reversión de transacciones puede socavar la confianza en la imparcialidad y equidad del sistema, pero un sistema que permite pérdidas extensivas como resultado de la explotación de errores perderá usuarios. Esto se ilustra en el reciente caso de la DAO (Organización Autónoma Descentralizada), un fondo de capital de riesgo basado en código diseñado para funcionar con Ethereum, una plataforma pública basada en bloques de bloques. Las vulnerabilidades de seguridad en el código que operaba el DAO llevaron a pérdidas financieras que obligaron a los desarrolladores de Ethereum a realizar cambios en el propio protocolo Ethereum, aunque las vulnerabilidades del DAO no eran culpa del protocolo Ethereum. La decisión de realizar estos cambios fue controvertida y subraya la idea de que tanto los desarrolladores de cadenas de bloques públicos como privados deberían considerar las circunstancias bajo las cuales se enfrentarían a una decisión similar.
Pesando las recompensas
Los beneficios que ofrece una cadena de bloqueo privada, una verificación más rápida de las transacciones y la comunicación en red, la capacidad de corregir errores y las transacciones inversas y la capacidad de restringir el acceso y reducir la probabilidad de ataques externos, pueden hacer que los posibles usuarios tengan cuidado con el sistema. La necesidad de un sistema de cadenas de bloqueo presupone un grado de desconfianza, o al menos un reconocimiento de que los incentivos de todos los usuarios pueden no estar alineados. Los desarrolladores que trabajan para mantener sistemas de bloques públicos como Bitcoin todavía dependen de los usuarios individuales para adoptar los cambios que proponen, lo que sirve para asegurar que los cambios sólo se adoptan si son en el interés de todo el sistema. Los operadores de una cadena de bloqueo privado, por otro lado, pueden optar por desplegar unilateralmente cambios con los que algunos usuarios no están de acuerdo. Para asegurar tanto la seguridad como la utilidad de un sistema de bloqueo privado, los operadores deben considerar el recurso disponible para los usuarios que no están de acuerdo con los cambios en las reglas del sistema o son lentos para adoptar las nuevas reglas. El número de sistemas operativos actualmente en ejecución sin el último parche es una fuerte indicación de que incluso los cambios no controvertidos no se adoptarán rápidamente.
Mientras que los riesgos de construir un mercado financiero u otra infraestructura en una cadena de bloque público pueden dar una pausa a un nuevo operador, los bloqueos privados ofrecen un cierto grado de control sobre el comportamiento de los participantes y el proceso de verificación de transacciones. El uso de un sistema basado en una cadena de bloques es una señal de la transparencia y usabilidad de ese sistema, que se ve reforzada por la consideración temprana de la seguridad del sistema. Así como una empresa decidirá cuáles de sus sistemas están mejor alojados en una intranet privada más segura o en Internet, pero probablemente usará tanto sistemas que requieren transacciones rápidas, la posibilidad de reversión de transacciones y el control central sobre la verificación de transacciones será mejor Adecuados para cadenas de bloqueo privadas, mientras que aquellos que se benefician de la participación generalizada, la transparencia y la verificación de terceros florezcan en un bloqueo público.
Allison Berke es la directora ejecutiva de la Stanford Cyber Initiative.
Editores originales conservan todos los derechos.
No hay comentarios:
Publicar un comentario