Una prueba de la filosofía de diseño de estaca

Los sistemas como Ethereum (y Bitcoin, y NXT, y Bitshares, etc.) son una clase fundamentalmente nueva de organismos criptoeconómicos: entidades descentralizadas y sin jurisdicción que existen completamente en el ciberespacio, mantenidas por una combinación de criptografía, economía y consenso social. Son como BitTorrent, pero tampoco son como BitTorrent, ya que BitTorrent no tiene un concepto de estado, una distinción que resulta ser de vital importancia. A veces se los describe como corporaciones autónomas descentralizadas, pero tampoco son del todo corporaciones: no se puede bifurcar a Microsoft. Son como proyectos de software de código abierto, pero tampoco lo son tanto: puede bifurcar una cadena de bloques, pero no tan fácilmente como puede bifurcar OpenOffice.

Estas redes criptoeconómicas vienen en muchos sabores: PoW basado en ASIC, PoW basado en GPU, PoS ingenuo, PoS delegado, con suerte pronto Casper PoS, y cada uno de estos sabores inevitablemente viene con su propia filosofía subyacente. Un ejemplo bien conocido es la visión maximalista de la prueba de trabajo, donde "la" cadena de bloques correcta, singular, se define como la cadena que los mineros han quemado la mayor cantidad de capital económico para crear. Originalmente una mera regla de elección de bifurcación en el protocolo, este mecanismo en muchos casos se ha elevado a un principio sagrado: vea esta discusión en Twitter entre Chris DeRose y yo para ver un ejemplo de alguien que intenta seriamente defender la idea de forma pura, incluso en la cara de las horquillas rígidas de protocolo que cambian el algoritmo hash. La prueba de participación delegada de Bitshares presenta otra filosofía coherente, en la que todo vuelve a fluir desde un principio único, pero que se puede describir de manera aún más simple: el voto de los accionistas.

Cada una de estas filosofías; El consenso de Nakamoto, el consenso social, el consenso de votación de los accionistas, lleva a su propio conjunto de conclusiones y conduce a un sistema de valores que tiene bastante sentido cuando se ve en sus propios términos, aunque ciertamente pueden ser criticados cuando se comparan entre sí. El consenso de Casper también tiene una base filosófica, aunque hasta ahora no ha sido tan sucintamente articulada.

Yo, Vlad, Dominic, Jae y otros tenemos sus propios puntos de vista sobre por qué existen protocolos de prueba de participación y cómo diseñarlos, pero aquí tengo la intención de explicar de dónde vengo personalmente.

Procederé a enumerar observaciones y luego conclusiones directamente.

  • La criptografía es realmente especial en el siglo XXI porque la criptografía es uno de los pocos campos en los que el conflicto de adversarios sigue favoreciendo en gran medida al defensor. Los castillos son mucho más fáciles de destruir que construir, las islas son defendibles pero pueden ser atacadas, pero las claves ECC de una persona promedio son lo suficientemente seguras como para resistir incluso a los actores a nivel estatal. La filosofía de Cypherpunk se basa fundamentalmente en aprovechar esta preciosa asimetría para crear un mundo que preserve mejor la autonomía del individuo, y la criptoeconomía es, en cierta medida, una extensión de eso, excepto que esta vez protege la seguridad y la vida de sistemas complejos de coordinación y colaboración, más bien que simplemente la integridad y confidencialidad de los mensajes privados. Los sistemas que se consideran herederos ideológicos del espíritu cypherpunk deberían mantener esta propiedad básica y ser mucho más caros de destruir o perturbar que de usar y mantener.
  • El "espíritu cypherpunk" no se trata solo del idealismo; hacer sistemas que sean más fáciles de defender que de atacar también es simplemente una ingeniería de sonido.
  • En escalas de tiempo medio a largo, los humanos son bastante buenos en el consenso. Incluso si un adversario tenía acceso a un poder de hash ilimitado, y salió con un ataque del 51% de cualquier cadena de bloques importante que revirtió incluso el último mes de la historia, convencer a la comunidad de que esta cadena es legítima es mucho más difícil que simplemente eludir el poder de hash de la cadena principal . Tendrían que subvertir a los exploradores de bloques, a todos los miembros confiables de la comunidad, al New York Times, archive.org y muchas otras fuentes en Internet; en general, convencer al mundo de que la nueva cadena de ataque es la que llegó primero en el siglo XXI, densa en tecnología de la información, es tan difícil como convencer al mundo de que los alunizajes estadounidenses nunca ocurrieron. Estas consideraciones sociales son las que en última instancia protegen cualquier blockchain a largo plazo, independientemente de si la comunidad de blockchain lo admite o no (tenga en cuenta que Bitcoin Core admite esta primacía de la capa social).
  • Sin embargo, una cadena de bloques protegida solo por consenso social sería demasiado ineficiente y lenta, y demasiado fácil para que los desacuerdos continúen sin fin (aunque a pesar de todas las dificultades, ha sucedido); por lo tanto, el consenso económico cumple un papel extremadamente importante en la protección de las propiedades de vida y seguridad a corto plazo.
  • Debido a que la prueba de seguridad laboral solo puede provenir de recompensas en bloque (en términos de Dominic Williams, carece de dos de las tres Es), y los incentivos para los mineros solo pueden provenir del riesgo de perder sus futuras recompensas en bloque, la prueba de trabajo necesariamente funciona en una lógica de poder masivo incentivado a existir mediante recompensas masivas. La recuperación de los ataques en PoW es muy difícil: la primera vez que ocurre, puedes cambiar el PoW y, por lo tanto, inutilizar los ASIC del atacante, pero la segunda vez ya no tienes esa opción, por lo que el atacante puede atacar nuevamente y otra vez. Por lo tanto, el tamaño de la red minera debe ser tan grande que los ataques sean inconcebibles. Se desaconseja que los atacantes de tamaño inferior a X aparezcan haciendo que la red gaste constantemente X todos los días. Rechazo esta lógica porque (i) mata árboles y (ii) no se da cuenta del espíritu cypherpunk: el costo del ataque y el costo de la defensa están en una proporción de 1: 1, por lo que no hay ventaja para el defensor.
  • La prueba de juego rompe esta simetría al no confiar en recompensas por seguridad, sino en sanciones. Los validadores ponen dinero ("depósitos") en juego, son recompensados ​​ligeramente para compensarlos por encerrar su capital y mantener nodos y tomar precauciones adicionales para garantizar la seguridad de su clave privada, pero la mayor parte del costo de revertir las transacciones proviene de sanciones que son cientos o miles de veces más grandes que las recompensas que obtuvieron mientras tanto. Por lo tanto, la "filosofía de una frase" de la prueba de participación no es "la seguridad proviene de la quema de energía", sino más bien "la seguridad proviene de la creación de valor económico con pérdidas". Un bloque o estado dado tiene una seguridad de $ X si puede probar que lograr un nivel igual de finalización para cualquier bloque o estado en conflicto no se puede lograr a menos que los nodos maliciosos sean cómplices en un intento de hacer que el switch pague $ X en multas dentro del protocolo.
  • Teóricamente, una colusión mayoritaria de validadores puede hacerse cargo de una prueba de la cadena de participación y comenzar a actuar maliciosamente. Sin embargo, (i) a través de un diseño de protocolo inteligente, su capacidad para obtener ganancias adicionales a través de dicha manipulación puede limitarse tanto como sea posible, y lo que es más importante (ii) si intentan evitar que se unan nuevos validadores o ejecutar ataques del 51%, entonces la comunidad simplemente puede coordinar un hard fork y eliminar los depósitos de los validadores infractores. Un ataque exitoso puede costar $ 50 millones, pero el proceso de limpieza de las consecuencias no será mucho más oneroso que el fracaso del consenso geth / parity de 2016.11.25. Dos días después, la cadena de bloques y la comunidad vuelven a la normalidad, los atacantes son $ 50 millones más pobres y el resto de la comunidad es probablemente más rica, ya que el ataque causó que el valor del token aumentara debido a la consiguiente escasez de suministro. Esa es la asimetría de ataque / defensa para ti.
  • No se debe considerar que lo anterior significa que las horquillas duras no programadas se convertirán en una ocurrencia regular; si se desea, el costo de un solo ataque del 51% en la prueba de participación ciertamente puede ser tan alto como el costo de un ataque permanente del 51% en la prueba de trabajo, y el simple costo y la ineficacia de un ataque deberían garantizar que Casi nunca se intenta en la práctica.
  • La economía no lo es todo. Los actores individuales pueden estar motivados por motivos de protocolo extra, pueden ser pirateados, pueden ser secuestrados, o simplemente pueden emborracharse y decidir destruir la cadena de bloques algún día y al diablo con el costo. Además, en el lado positivo, la tolerancia moral de los individuos y las ineficiencias en la comunicación a menudo elevarán el costo de un ataque a niveles mucho más altos que el valor nominal de pérdida definido por el protocolo. Esta es una ventaja en la que no podemos confiar, pero al mismo tiempo es una ventaja que no debemos tirar innecesariamente.
  • Por lo tanto, los mejores protocolos son protocolos que funcionan bien bajo una variedad de modelos y supuestos: racionalidad económica con elección coordinada, racionalidad económica con elección individual, tolerancia simple a fallas, tolerancia a fallas bizantinas (idealmente las variantes adversas adaptativas y no adaptativas), Modelos económicos de comportamiento inspirados en Ariely / Kahneman ("todos engañamos un poco") e idealmente cualquier otro modelo que sea realista y práctico para razonar. Es importante tener ambas capas de defensa: incentivos económicos para disuadir a los carteles centralizados de actuar de manera antisocial, e incentivos anti-centralización para desalentar la formación de carteles en primer lugar.
  • Los protocolos de consenso que funcionan lo más rápido posible tienen riesgos y deben abordarse con mucho cuidado si es que lo hacen, porque si la posibilidad de ser muy rápido está vinculada a incentivos para hacerlo, la combinación recompensará un riesgo muy alto y sistémico. inducir niveles de centralización a nivel de red (por ejemplo, todos los validadores que se ejecutan desde el mismo proveedor de alojamiento). Protocolos de consenso que no se preocupan demasiado por la rapidez con que un validador envía un mensaje, siempre que lo hagan dentro de un intervalo de tiempo aceptablemente largo (p. Ej., 4–8 segundos, ya que sabemos empíricamente que la latencia en ethereum suele ser de ~ 500 ms) 1s) no tengo estas preocupaciones. Un posible punto medio es crear protocolos que puedan funcionar muy rápidamente, pero donde mecanismos similares al mecanismo del tío de Ethereum aseguran que la recompensa marginal para un nodo que aumenta su grado de conectividad de red más allá de un punto fácilmente alcanzable es bastante baja.

A partir de aquí, por supuesto, hay muchos detalles y muchas formas de divergir en los detalles, pero los anteriores son los principios básicos en los que se basa al menos mi versión de Casper. A partir de aquí, ciertamente podemos debatir las compensaciones entre valores en competencia. ¿Le damos a ETH una tasa de emisión anual del 1% y obtenemos un costo de $ 50 millones por forzar una bifurcación reparadora, o una tasa de emisión anual cero y obtenemos un costo de $ 5 millones por forzar una bifurcación reparadora? ¿Cuándo aumentamos la seguridad de un protocolo bajo el modelo económico a cambio de disminuir su seguridad bajo un modelo de tolerancia a fallas? ¿Nos importa más tener un nivel predecible de seguridad o un nivel predecible de emisión? Todas estas son preguntas para otra publicación, y las diversas formas de implementar las diferentes compensaciones entre estos valores son preguntas para aún más publicaciones. Pero lo haremos :)