Logotipo de Zephyrnet

Hard Forks, Soft Forks, incumplimientos y coerción

Fecha:

Uno de los argumentos importantes en el espacio blockchain es si los hard forks o los soft forks son el mecanismo de actualización de protocolo preferido. La diferencia básica entre los dos es que los soft forks cambian las reglas de un protocolo al estrictamente reduciendo el conjunto de transacciones que es válido, por lo que los nodos que siguen las reglas antiguas aún entrarán en la nueva cadena (siempre que la mayoría de los mineros/validadores implementen la bifurcación), mientras que las bifurcaciones duras permiten que transacciones y bloques previamente no válidos se vuelvan válidos, por lo que los clientes deben actualizar a sus clientes para permanecer en la cadena bifurcada. También hay dos subtipos de hard forks: estrictamente expandiéndose bifurcaciones duras, que amplían estrictamente el conjunto de transacciones que son válidas, por lo que efectivamente las reglas antiguas son una bifurcación suave con respecto a las nuevas reglas, y bilateral bifurcaciones duras, donde los dos conjuntos de reglas son incompatibles en ambos sentidos.

Aquí hay un diagrama de Venn para ilustrar los tipos de horquillas:

Los beneficios comúnmente citados para los dos son los siguientes.
  • Las bifurcaciones duras permiten a los desarrolladores mucha más flexibilidad a la hora de realizar la actualización del protocolo, ya que no tienen que preocuparse de asegurarse de que las nuevas reglas "encajan" en las reglas antiguas.
  • Las bifurcaciones suaves son más convenientes para los usuarios, ya que no necesitan actualizar para permanecer en la cadena.
  • Es menos probable que las horquillas blandas provoquen una rotura de la cadena
  • Las bifurcaciones suaves realmente solo requieren el consentimiento de los mineros/validadores (ya que incluso si los usuarios todavía usan las reglas antiguas, si los nodos que forman la cadena usan las nuevas reglas, entonces solo las cosas válidas bajo las nuevas reglas entrarán en la cadena en cualquier caso); las bifurcaciones duras requieren optar en consentimiento de los usuarios

Aparte de esto, una crítica importante que a menudo se hace a los hard forks es que son "coercitivos". El tipo de coerción implicado aquí no es la fuerza física; más bien, es coerción a través del efecto de red. Es decir, si la red cambia las reglas de A a B, incluso si a usted personalmente le gusta A, si a la mayoría de los demás usuarios les gusta B y cambian a B, entonces tendrá que cambiar a B a pesar de su desaprobación personal del cambio para poder estar en la misma red que todos los demás.

Los defensores de las bifurcaciones duras a menudo son ridiculizados por intentar efectuar una “toma hostil” de una red y “obligar” a los usuarios a aceptarlos. Además, el riesgo de división de la cadena se utiliza a menudo para catalogar a los hard forks como "inseguros".


Mi punto de vista personal es que estas críticas son erróneas y, además, en muchos casos completamente al revés. Este punto de vista no es específico de Ethereum, Bitcoin o cualquier otra cadena de bloques; Surge de propiedades generales de estos sistemas y es aplicable a cualquiera de ellos. Además, los argumentos siguientes sólo se aplican a cambios controvertidos, donde una gran parte de al menos un electorado (mineros/validadores y usuarios) los desaprueba; Si un cambio no es polémico, generalmente se puede realizar de forma segura sin importar cuál sea el formato de la bifurcación.

En primer lugar, analicemos la cuestión de la coerción. Tanto las bifurcaciones duras como las bifurcaciones suaves cambian el protocolo de maneras que a algunos usuarios pueden no gustarles; cualquier El cambio de protocolo hará esto si tiene menos del 100% de soporte exacto. Además, es casi inevitable que al menos algo de los disidentes, en cualquier escenario, valoran el efecto de red de permanecer con el grupo más grande más que sus propias preferencias con respecto a las reglas del protocolo. Por lo tanto, ambos tipos de bifurcaciones son coercitivos, en el sentido de efecto de red de la palabra.

Sin embargo, existe una diferencia esencial entre bifurcaciones duras y bifurcaciones suaves: Las bifurcaciones duras son voluntarias, mientras que las bifurcaciones suaves no permiten a los usuarios "optar" en absoluto.. Para que un usuario se una a una cadena bifurcada, debe instalar personalmente el paquete de software que implementa las reglas de la bifurcación, y el conjunto de usuarios que no está de acuerdo con un cambio de reglas incluso más de lo que valoran los efectos de la red puede, en teoría, simplemente permanecer en la cadena. vieja cadena – y, en la práctica, tal evento ya ha sucedido.

Esto es cierto tanto en el caso de los hard forks estrictamente expansivos como en el de los hard forks bilaterales. Sin embargo, en el caso de las bifurcaciones blandas, si la bifurcación tiene éxito, la cadena no bifurcada no existe. Por lo tanto, Las bifurcaciones suaves claramente favorecen institucionalmente la coerción sobre la secesión, mientras que las bifurcaciones duras tienen el sesgo opuesto.. Mis propios puntos de vista morales me llevan a favorecer la secesión sobre la coerción, aunque otros pueden diferir (el argumento más común planteado es que los efectos de red son realmente muy importantes y es esencial que "una moneda los gobierna a todos“, aunque también existen versiones más moderadas de esto).

Si tuviera que adivinar por qué, a pesar de estos argumentos, las bifurcaciones blandas a menudo se consideran "menos coercitivas" que las bifurcaciones duras, diría que es porque se siente como si una bifurcación dura "obligara" al usuario a instalar una actualización de software, mientras que con un soft fork los usuarios no “tienen” que hacer nada en absoluto. Sin embargo, esta intuición es errónea: lo que importa no es si los usuarios individuales tienen que realizar o no el simple paso burocrático de hacer clic en un botón de “descarga”, sino si el usuario obligado a aceptar un cambio en las reglas del protocolo que preferirían no aceptar. Y según esta métrica, como se mencionó anteriormente, ambos tipos de bifurcaciones son, en última instancia, coercitivos, y son las bifurcaciones duras las que resultan algo mejores a la hora de preservar la libertad del usuario.

Ahora, veamos bifurcaciones muy controvertidas, particularmente bifurcaciones donde las preferencias del minero/validador y las preferencias del usuario entran en conflicto. Aquí hay tres casos: (i) bifurcaciones duras bilaterales, (ii) bifurcaciones duras de expansión estricta y (iii) las llamadas “bifurcaciones blandas activadas por el usuario” (UASF). Una cuarta categoría es cuando los mineros activan una bifurcación suave. sin el consentimiento del usuario; Llegaremos a esto más adelante.

Primero, bifurcaciones duras bilaterales. En el mejor de los casos, la situación es sencilla. Las dos monedas se comercializan en el mercado y los comerciantes deciden el valor relativo de las dos. Del caso ETC/ETH, tenemos evidencia abrumadora de que es abrumadoramente probable que los mineros simplemente asignen su hashrate a las monedas en función de la relación de precios para maximizar sus ganancias, independientemente de sus propios puntos de vista ideológicos.

Incluso si algunos mineros profesan preferencias ideológicas hacia un lado u otro, es abrumadoramente probable que haya suficientes mineros que estén dispuestos a arbitrar cualquier desajuste entre la relación de precios y la relación de poder de hash, y alinear ambas. Si un cártel de mineros intenta formarse para no minar en una cadena, existen incentivos abrumadores para desertar.

Aquí hay dos casos extremos. La primera es la posibilidad de que, debido a un algoritmo de ajuste de dificultad ineficiente, el valor de minar la moneda baje debido a que el precio baja pero la dificultad no baja para compensar, haciendo que la minería sea muy poco rentable y no haya mineros dispuestos a minar a un precio muy bajo. pérdida para seguir empujando la cadena hacia adelante hasta que su dificultad vuelva a equilibrarse. Este no fue el caso de Ethereum, pero bien puede ser ser el caso de Bitcoin. Por lo tanto, es muy posible que la cadena minoritaria nunca despegue y, por tanto, muera. Tenga en cuenta que la cuestión normativa de si esto es algo bueno o no depende de sus puntos de vista sobre coerción versus secesión; Como puedes imaginar por lo que escribí anteriormente, personalmente creo que estos algoritmos de ajuste de dificultad hostiles a las cadenas minoritarias son malos.

El segundo caso extremo es que si la disparidad es muy grande, la cadena grande puede atacar en un 51% a la cadena más pequeña. Incluso en el caso de una división ETH/ETC con una proporción de 10:1, esto no ha sucedido; por lo que ciertamente no es un hecho. Sin embargo, siempre existe la posibilidad si los mineros de la cadena dominante prefieren la coerción a permitir la secesión y actúan de acuerdo con estos valores.

A continuación, veamos los hard forks estrictamente expandibles. En un SEHF, existe la propiedad de que la cadena no bifurcada es válida según las reglas bifurcadas, por lo que si la bifurcación tiene un precio más bajo que la cadena no bifurcada, tendrá menos poder de hash que la cadena no bifurcada, y por lo que la cadena no bifurcada terminará siendo aceptada como la cadena más larga por reglas de cliente original y de cliente bifurcado – y así la cadena bifurcada “será aniquilado".

Existe el argumento de que, por lo tanto, existe un fuerte sesgo inherente en contra del éxito de dicha bifurcación, ya que la posibilidad de que la cadena bifurcada sea aniquilada se incorporará al precio, empujando el precio hacia abajo, haciendo aún más probable que la cadena sea aniquilada. aniquilado... Este argumento me parece fuerte, por lo que es una muy buena razón para hacer cualquier polémica bifurcación dura bilateral en lugar de estrictamente expandida.

Los desarrolladores de Bitcoin Unlimited sugieren abordar este problema mediante hacer que el hard fork sea bilateral manualmente después de que suceda, pero una mejor opción sería incorporar la bilateralidad; por ejemplo, en el caso de bitcoin, se puede agregar una regla para prohibir algún código de operación no utilizado y luego realizar una transacción que contenga ese código de operación en la cadena no bifurcada, de modo que, según las reglas bifurcadas, la cadena no bifurcada será a partir de ese momento considerado inválido para siempre. En el caso de Ethereum, debido a varios detalles sobre cómo funciona el cálculo del estado, casi todas las bifurcaciones duras son bilaterales casi automáticamente. Otras cadenas pueden tener propiedades diferentes según su arquitectura.

El último tipo de bifurcación que se mencionó anteriormente es la bifurcación suave activada por el usuario. En un UASF, los usuarios activan las reglas del soft fork sin molestarse en obtener el consenso de los mineros; Se espera que los mineros simplemente se alineen por interés económico. Si muchos usuarios no están de acuerdo con la UASF, entonces habrá una división de monedas, y esto conducirá a un escenario idéntico al hard fork estrictamente expansivo, excepto – y esta es la parte realmente inteligente y tortuosa del concepto – la misma presión de “riesgo de aniquilación” que desfavorece fuertemente a la cadena bifurcada en una bifurcación dura estrictamente expansiva, en cambio, favorece fuertemente a la cadena bifurcada en un UASF. Aunque un FASU es voluntario, utiliza la asimetría económica para inclinarse hacia el éxito (aunque el sesgo no es absoluto; si un FASU es decididamente impopular, entonces no tendrá éxito y simplemente conducirá a una división de la cadena).

Sin embargo, los UASF son un juego peligroso. Por ejemplo, supongamos que los desarrolladores de un proyecto quieren crear un parche UASF que convierta un código de operación no utilizado que previamente aceptaba todas las transacciones en un código de operación que solo acepta transacciones que cumplen con las reglas de alguna característica nueva e interesante, aunque sea una que sea política o técnicamente controvertidos y que no gustan a los mineros. Los mineros tienen una forma inteligente y tortuosa de defenderse: pueden implementar unilateralmente una bifurcación suave activada por un minero que hace que todas las transacciones que utilizan la función creada por la bifurcación suave siempre fallen.

Ahora tenemos tres conjuntos de reglas:

  1. Las reglas originales donde el código de operación X siempre es válido.
  2. Las reglas donde el código de operación X solo es válido si el resto de la transacción cumple con las nuevas reglas
  3. Las reglas donde el código de operación X siempre no es válido.

Tenga en cuenta que (2) es una bifurcación suave con respecto a (1) y (3) es una bifurcación suave con respecto a (2). Ahora, existe una fuerte presión económica a favor de (3), por lo que el soft-fork no logra su objetivo.

La conclusión es ésta. Los soft forks son un juego peligroso y se vuelven aún más peligrosos si son polémicos y los mineros comienzan a contraatacar. Las bifurcaciones duras estrictamente expandidas también son un juego peligroso. Las bifurcaciones blandas activadas por mineros son coercitivas; Los soft forks activados por el usuario son menos coercitivos, aunque siguen siendo bastante coercitivos debido a la presión económica, y también tienen sus peligros. Si realmente desea hacer un cambio polémico y ha decidido que los altos costos sociales de hacerlo valen la pena, simplemente haga una bifurcación bilateral limpia, dedique algo de tiempo a agregar alguna protección de repetición adecuada y deje que el mercado lo resuelva. .

Fuente: https://vitalik.eth.limo/general/2017/03/14/forks_and_markets.html

punto_img

Información más reciente

punto_img