Las cadenas blandas traen consigo vínculos bidireccionales y posibles casos de uso, pero a un precio en términos de seguridad.

Las cadenas blandas son una implementación de cadena lateral que interactúa con los mecanismos de consenso de forma más profunda, lo que tiene tanto ventajas como desventajas.

En este artículo, que examina varios enfoques de implementación de cadenas laterales, hablaremos de las cadenas suaves. Esta es otra idea de mecanismo de cadena lateral de Ruben Somsen. Las cadenas espaciales, el diseño que mencioné en mi anterior ensayo, es muy diferente a esto. Necesita un cambio en el protocolo de Bitcoin Core que está diseñado para establecer una cadena lateral. También necesita cobrar a los nodos completos de Bitcoin una nueva tasa de validación y soportar un mecanismo de clavijas de dos vías que no dependa de una federación para mantener los fondos.

El bloque de estructura

Los fundamentos de la noción se basan en un mecanismo para aumentar la seguridad de la verificación simplificada de pagos (SPV) para los monederos propuesto por Somsen anteriormente, denominado pruebas de fraude POW. El concepto se basa en una observación directa sobre las cadenas de bloques: si se mina un bloque no válido, la cadena de bloques probablemente se bifurcará porque cualquier minero honesto se negará a construir sobre él y finalmente minará uno válido. La probabilidad de que se genere un bloque no válido y no se inicie una bifurcación por parte de mineros honestos es extremadamente pequeña, lo que indica efectivamente que el mecanismo de consenso de la red ha fallado por completo. Como resultado, la aparición de una bifurcación puede interpretarse como una forma de advertencia: «Oye, puede que haya pasado algo aquí; mira esto». Los clientes pueden utilizar este tipo de bifurcaciones como una especie de advertencia para descargar estos bloques y comprobar la situación.

Sin embargo, esto plantea un problema fundamental, ya que se debe establecer un UTXO para verificar un bloque. Un conjunto de UTXO sólo puede crearse una vez que se han validado todos los bloques anteriores de la cadena. En consecuencia, ¿cómo funciona esto como mecanismo de SPV? La solución son los compromisos de UTXO.

Cada nodo construye y mantiene una base de datos local de todos los bitcoins que existen actualmente pero que aún no se han gastado, ya que escanea la cadena de bloques desde el principio para validar cada bloque con el conjunto UTXO. Un compromiso del conjunto UTXO crea un árbol de Merkle a partir del conjunto UTXO e, idealmente, consigna el hash del árbol dentro de cada bloque. Esto permite obtener un bloque que tiene alguna información extra en él, como una rama Merkle para la entrada de cada transacción, confirmando que fue incluida en el compromiso del conjunto UTXO anterior, y verificándolo de esa manera. Un sistema ofrecería una garantía de seguridad prácticamente idéntica a la de un nodo completo si implementara este método de compromiso desde el principio y fuera realmente utilizado por muchos usuarios para verificar completamente la cadena. Se pueden descargar todos los bloques implicados en una división de la cadena una vez que ésta se produce para asegurarse de que la cadena que se está siguiendo sigue siendo legítima. El más largo sigue prevaleciendo incluso si ambos argumentos para la división son verdaderos. Sin embargo, si uno de ellos fuera falso, lo sabrías enseguida gracias a esto.

La clavija de 2 vías

Según el diseño de la cadena suave, los nodos de la cadena principal tendrían que descargar y validar la cabecera de cada bloque de la cadena suave, así como cualquier bloque dividido de la cadena, utilizando los compromisos del conjunto UTXO. La base para que el mecanismo de pig-out permita un pegado bidireccional sería la siguiente. Al reclamar monedas en la cadena lateral, el usuario apuntaría a la transacción de la cadena principal que asignó las monedas a una determinada cadena suave para reclamarlas allí. Por el contrario, si tratara de reclamar monedas fuera de la cadena lateral, haría exactamente lo contrario. Las pruebas de fraude POW son útiles en esta situación. El objetivo de un peg out es construir una transacción de la cadena principal que haga referencia a una transacción de retirada de la cadena lateral. Esas monedas permanecerían «congeladas en la cadena suave» si la transacción de retirada en la cadena lateral se reorganizara fuera o se determinara que es ilegítima hasta después de un largo tiempo de confirmación, como un año. Esto último se encontraría porque, en el caso de una división de la cadena, el nodo de la cadena principal descargará todos los bloques de ambos lados de la división y los verificará utilizando los compromisos del conjunto UTXO.

La prolongada ventana de confirmación de los pagos se creó para dar a un pequeño número de mineros de confianza el tiempo suficiente para crear un único bloque válido, dividir la cadena e iniciar un proceso de validación utilizando los compromisos del conjunto UTXO. Al detectar los pagos falsos de la cadena lateral antes de que se verifique la retirada en la cadena principal, los nodos de la cadena principal pueden invalidar esa transacción sin tener que validar toda la cadena lateral, lo que equivaldría a aumentar el tamaño del bloque.

Riesgos y parámetros de seguridad

En cuanto al grado de seguridad basado en factores específicos y a la forma en que dicha cadena lateral interactuaría con los mineros, este enfoque plantea varias dudas. En primer lugar, cualquier cadena suave debería desplegarse con un requisito de dificultad mínima para los bloques, de manera que si la tasa de hash es demasiado baja, los bloques de la cadena lateral simplemente tardarían más en encontrarse -es decir, el intervalo de bloques se alargaría- en lugar de que la dificultad cayera por debajo de este mínimo. Así lo exige la validación a prueba de fraude POW que deben realizar los nodos de la cadena principal de este diseño. Si la dificultad de la cadena suave se establece demasiado baja, será fácil para los mineros bifurcar la cadena suave a propósito. Esto les facilitará lanzar un ataque de denegación de servicio (DOS) a los nodos de la cadena principal, dándoles más datos para validar.

La minería fusionada es un remedio para este problema. El problema de los ataques DOS en la cadena principal provocando una cadena blanda en la cadena blanda se resuelve en la medida de lo posible si todos los mineros de Bitcoin también minan bloques en la cadena lateral. Dividir la cadena suave sería igual de laborioso que dividir la cadena principal, limitando los intentos arbitrarios y baratos de aumentar la cantidad de información necesaria para validar la cadena principal. Pero también crea un nuevo problema porque aumenta el coste de validación de los mineros para detener los ataques de DOS.

To verify that the blocks they are mining are genuine, miners must run the nodes if they intend to mine the soft chains as well. They run the danger of becoming orphaned and losing the fee money from an invalid block if they aren’t. It may become increasingly difficult and expensive to participate in mining if numerous hard-to-verify soft chains, such as Ethereum-clone chains or large blockchains, are enabled. This isn’t truly optional because miners need to validate a chain to ensure they aren’t constructing on an invalid block and losing money. Making validation more expensive defeats the purpose of maximising mining decentralization.

El mayor problema es la posibilidad de que un defecto en el consenso de la cadena blanda provoque realmente una división del consenso de la cadena principal. Una transacción válida de peg-out en el lado de la cadena lateral puede quedar invalidada por reorgs significativos de la cadena lateral justo cuando el lado de la cadena principal está a punto de ser válido. Hay que tener en cuenta que los nodos de la cadena principal también siguen las cabeceras de la cadena suave. Si partes separadas de la red están en diferentes lados de una división de la cadena suave justo cuando una cadena lateral está siendo validada en la cadena principal, esto podría resultar en la división de la cadena principal. Una división de la cadena principal también podría ser causada por problemas con el consenso no determinista en la cadena suave. Por ejemplo, si algunos nodos piensan que un peg out es incorrecto pero otros piensan que está validado; esto podría causar la división de la cadena principal.

Este diseño de cadena lateral es algo peligroso y, posiblemente, algo que no debería hacerse debido a su vínculo más estrecho con el consenso de la cadena principal. En lugar de desplegar una única bifurcación que permita poner en marcha las cadenas suaves a voluntad, las cadenas suaves deberían, como mínimo, activarse de una en una en distintas bifurcaciones… Dado que las bifurcaciones de la cadena requieren que los nodos de la cadena principal comprueben más datos, el hecho de que se puedan activar varias cadenas suaves a la vez crea una forma de atacar la cadena principal.

Aunque existen numerosos peligros asociados, las cadenas blandas están más involucradas en la capa de consenso de la cadena principal que las cadenas espaciales. Como resultado, hay más espacio para posibles casos de uso porque soportan una clavija nativa de dos vías. A continuación hablaré de las cadenas de accionamiento, seguido de algunas observaciones finales sobre las cadenas laterales en general.

 Mark T es un autor invitado en esta página. Las opiniones del autor son suyas y pueden o no ser las de coinbaazar LLC. o cryptoplo.com. 

Similar Articles

Most Popular