Un agradecimiento especial a Mike Neuder, Justin Drake y otros por sus comentarios y reseñas. Ver también: publicaciones anteriores sobre temas similares de<a href="https://notes.ethereum.org/ @mikeneuder /goldilocks">Mike Neuder, Dankrad Feist y arixon.eth .
Se puede describir que el status quo de Ethereum incluye una gran proporción de apuestas emergentes de dos niveles. Por apuestas de dos niveles, me refiero a un modelo de apuestas en el que hay dos clases de participantes:
Esta apuesta emergente de dos niveles surge a través de las acciones de una gran parte de los participantes que participan en grupos de participación que ofrecen tokens de participación líquida (LST), por ejemplo. Piscina Rocket y Lido.
El status quo tiene dos defectos principales:
Esta publicación describirá posibles soluciones a ambos problemas. En particular, adoptará el siguiente ángulo: supongamos que damos por sentado que la mayor parte del capital está en manos de personas que no están dispuestas a ejecutar personalmente nodos de stake en su forma actual, firmando mensajes en cada ranura y bloqueando sus depósitos y sometiéndolos a recortes. . ¿Qué otro papel pueden tener que contribuya significativamente a la descentralización y seguridad de la red?
Los dos grupos de apuestas descentralizados más populares en la actualidad, Lido y RocketPool, están creando ecosistemas de apuestas emergentes de dos niveles. En el caso de Lido, los niveles son:
En el caso de Rocket Pool, los niveles son:
En estos sistemas (o sistemas nuevos habilitados por posibles cambios futuros de protocolo), una pregunta clave que debemos plantearnos es: desde la perspectiva del protocolo, ¿cuál es el punto de tener delegados?
Para ver por qué la pregunta es significativa, consideremos el siguiente mundo. Se implementa el cambio de protocolo propuesto en esta publicación reciente, de limitar las penalizaciones por reducción a 2 ETH. Rocket Pool reduce el depósito del operador del nodo a 2 ETH en respuesta. La cuota de mercado de Rocket Pool aumenta al 100% (no solo entre los apostadores, sino también entre los poseedores de ETH: a medida que rETH se vuelve libre de riesgos, casi todos los poseedores de ETH se convierten en poseedores de rETH u operadores de nodos).
Supongamos que los titulares de rETH obtienen un rendimiento del 3 % (incluidas las recompensas dentro del protocolo y las tarifas de prioridad + MEV) y los operadores de nodos obtienen un rendimiento del 4 %. Supongamos también que el suministro total de ETH es de 100 millones.
Así es como funcionan las matemáticas. Para evitar tener que lidiar con la capitalización, veremos los rendimientos diarios en lugar de anuales, de modo que los términos de segundo orden se vuelvan lo suficientemente pequeños como para ser ignorables:
Ahora, consideremos un mundo diferente. El grupo de cohetes no existe. El depósito mínimo de cada participante se reduce a 2 ETH y la cantidad total de ETH apostados tiene un límite de 6,25 millones. Además, el rendimiento del operador del nodo se reduce al 1%. Hagamos los cálculos:
Ahora, consideremos las dos situaciones desde la perspectiva del costo del ataque. En el primer caso, los atacantes no se registrarían como delegados: los delegados no tienen poder, por lo que no tiene sentido. Por lo tanto, pondrían todo su ETH en registrarse como operadores de nodos. Para llegar a 1/3 de toda la apuesta, necesitarían invertir 2,08 millones de ETH (que, para ser justos, ¡todavía es bastante!, por ejemplo. ver<a href="https://notes.ethereum.org/ @vbuterin /single_slot_finality#Idea-1-super-committees">esto discusión sobre supercomités, una propuesta de escalamiento de apuestas que también habría reducido el costo del ataque a un valor similar). En el segundo caso, los atacantes simplemente apostarían, y para llegar a 1/3 de toda la apuesta, necesitarían poner… 2,08 millones de ETH.
Tanto desde la perspectiva de la economía de apuestas como desde la perspectiva del costo del ataque, el resultado final en ambos casos es exactamente el mismo. La proporción del suministro total de ETH en poder de un operador de nodo aumenta en un 0,00256 % por día, y la proporción del suministro total de ETH en poder de un operador que no es de nodo disminuye en un 0,00017 % por día. El costo del ataque es de 2,08 millones de ETH. Por lo tanto, parece que en este modelo la delegación se convierte en una máquina inútil de Rube Goldberg: también podríamos eliminar al intermediario, reducir drásticamente las recompensas de las apuestas y limitar el total de ETH apostado a 6,25 millones.
El propósito de este argumento no es abogar por reducir las recompensas de las apuestas en 4 veces y limitar el total de ETH apostado a 6,25 millones. Más bien, se trata de señalar una propiedad clave que debería tener un sistema de apuestas que funcione bien: a saber, los delegados deberían estar haciendo algo que realmente importe. Además, está bien si los delegados están motivados a actuar correctamente en gran medida por la presión de la comunidad y el altruismo; después de todo, esa es la fuerza principal que motiva a las personas a apostar por formas descentralizadas que aumentan la seguridad (pero que requieren mayor esfuerzo) en lugar de formas centralizadas que amenazan la seguridad (pero que requieren menor esfuerzo) hoy.
Veo dos clases de respuestas:
Hay tres formas de ampliar los poderes de selección de delegados:
La votación dentro de los grupos realmente no existe hoy en día: en Rocket Pool, cualquiera puede convertirse en operador de nodo, y en Lido, son los titulares de LDO los que votan, no los titulares de ETH. Lido tiene una propuesta para la gobernanza dual de LDO + stETH, que daría a los titulares de stETH voz y voto en el sentido de que podrían activar un dispositivo que bloquea nuevos votos y, por lo tanto, impide que se agreguen o eliminen operadores de nodos. Dicho esto, esto es limitado y podría ser mucho más fuerte.
La competencia entre grupos existe hoy en día, pero es débil. El principal desafío es que los tokens de participación de los grupos de apuestas más pequeños son (i) menos líquidos, (ii) más difíciles de confiar y (iii) menos respaldados por las aplicaciones.
Podemos mejorar las dos primeras cuestiones limitando la reducción de las sanciones a una cantidad menor, por ejemplo. 2 o 4 ETH. El ETH restante (que no se puede dividir) podría entonces depositarse y retirarse de forma segura al instante, haciendo un LST basado en ese ETH convertible bidireccional con ETH incluso para los grupos más pequeños. Podríamos mejorar el tercer problema creando un contrato de emisión central para LST, algo similar a ERC-4337 y ERC-6900 para billeteras, de modo que podamos garantizar que cualquier token de participación emitido a través de ese contrato sea seguro. Se podría recomendar encarecidamente que las aplicaciones (por ejemplo, una versión de RAI que admita ETH apostado) admitan todos los tokens de participación emitidos a través de este registro.
Actualmente, la delegación consagrada no existe en el protocolo, pero podría introducirse. Implicaría una lógica similar a las ideas anteriores, pero implementada a nivel de protocolo. Consulte esta publicación para conocer los pros y los contras de consagrar cosas.
Todas estas ideas son una mejora con respecto al status quo, pero existe un límite en el beneficio que pueden proporcionar. La gobernanza de la votación simbólica apesta y, en última instancia, cualquier forma de selección de delegados sin incentivos es solo un tipo de votación simbólica; Esta ha sido mi principal fuente de incomodidad con la prueba de participación delegada desde el principio. Por lo tanto, parece valioso pensar también en permitir formas más sólidas de participación por consenso.
Existen límites al enfoque actual de las apuestas individuales, incluso sin tener en cuenta los problemas actuales relacionados con las apuestas líquidas. Suponiendo la finalidad de una única ranura, nuestras mejores estimaciones sugieren un límite de ~100.000 - 1 millón de firmas BLS que podrían procesarse por ranura, y eso supone un aumento significativo en el tiempo de la ranura. Incluso si utilizamos SNARK recursivos para agregar firmas, la responsabilidad de la firma (para fines de reducción) requiere que un campo de bits de quién participó esté disponible para cada firma. Si Ethereum se convierte en una red a escala global, entonces incluso usar de alguna manera el danksharding completo para almacenar los campos de bits no sería suficiente: 16 MB por ranura solo soportarían ~64 millones de participantes.
Aquí, también desde esa perspectiva, es valioso dividir las apuestas en un nivel reducible de mayor complejidad, que actúa en todas las tragamonedas pero quizás solo tenga 10,000 participantes, y un nivel de menor complejidad al que solo se convoca para participar ocasionalmente. El nivel de menor complejidad podría estar exento de recortes por completo, o podría dar aleatoriamente a sus participantes oportunidades de hacerlo temporalmente (es decir, para algunas máquinas tragamonedas) depositan y quedan sujetos a recortes.
En la práctica, esto podría implementarse<a href="https://notes.ethereum.org/ @mikeneuder /eip-7251-faq">aumentando el límite de saldo del validador y, posteriormente, implementar un umbral de saldo (p. ej. 2048 ETH) para determinar qué validadores existentes ingresan al nivel de complejidad más alto o más bajo.
Aquí hay algunas ideas sobre cómo podrían funcionar estos roles de pequeña participación:
Todos estos roles de pequeña participación tienen en común que no implican participar activamente en cada espacio, no se pueden recortar (y por lo tanto tienen un riesgo de gestión clave muy bajo) y son muy “ligeros” en el sentido de que ni siquiera requieren una nodo completo para ejecutar. Verificar únicamente la capa de consenso sería suficiente. Por lo tanto, podrían implementarse a través de aplicaciones o complementos de navegador que son en su mayoría pasivos y tienen una sobrecarga computacional, requisitos de hardware o requisitos de conocimientos técnicos muy bajos, todo sin siquiera asumir avances técnicos como los ZK-EVM.
Estos roles de pequeña participación también tienen un objetivo común: evitar que una mayoría del 51% de los operadores de nodos se involucre en la censura de transacciones. El primero y el segundo también impiden que una mayoría se involucre en una reversión de la finalidad. El tercero se centra más directamente en la censura, aunque es más vulnerable a la posibilidad de que una mayoría de operadores de nodos también opte por censurar los mensajes de confirmación de los proveedores de listas de inclusión.
Estas ideas se escribieron desde la perspectiva de una solución de participación de dos niveles consagrada implementada en el protocolo, pero también podrían implementarse como características del grupo de participación. Aquí hay algunas ideas de implementación concretas:
Si se hace correctamente, los ajustes en el diseño de estacas podrían resolver dos pájaros de un tiro:
Para muchas de estas soluciones, existen diferentes capas de abstracción donde podría residir la solución al problema: poderes otorgados a los usuarios dentro de un protocolo de grupo de participación, elección del usuario entre protocolos de grupo de participación y consagración dentro del protocolo. Esta elección debe considerarse cuidadosamente y, en general, lo mejor es una consagración mínima viable, que minimice tanto la complejidad del protocolo como el nivel de cambio en la economía del protocolo y al mismo tiempo lograr el objetivo deseado.
Un agradecimiento especial a Mike Neuder, Justin Drake y otros por sus comentarios y reseñas. Ver también: publicaciones anteriores sobre temas similares de<a href="https://notes.ethereum.org/ @mikeneuder /goldilocks">Mike Neuder, Dankrad Feist y arixon.eth .
Se puede describir que el status quo de Ethereum incluye una gran proporción de apuestas emergentes de dos niveles. Por apuestas de dos niveles, me refiero a un modelo de apuestas en el que hay dos clases de participantes:
Esta apuesta emergente de dos niveles surge a través de las acciones de una gran parte de los participantes que participan en grupos de participación que ofrecen tokens de participación líquida (LST), por ejemplo. Piscina Rocket y Lido.
El status quo tiene dos defectos principales:
Esta publicación describirá posibles soluciones a ambos problemas. En particular, adoptará el siguiente ángulo: supongamos que damos por sentado que la mayor parte del capital está en manos de personas que no están dispuestas a ejecutar personalmente nodos de stake en su forma actual, firmando mensajes en cada ranura y bloqueando sus depósitos y sometiéndolos a recortes. . ¿Qué otro papel pueden tener que contribuya significativamente a la descentralización y seguridad de la red?
Los dos grupos de apuestas descentralizados más populares en la actualidad, Lido y RocketPool, están creando ecosistemas de apuestas emergentes de dos niveles. En el caso de Lido, los niveles son:
En el caso de Rocket Pool, los niveles son:
En estos sistemas (o sistemas nuevos habilitados por posibles cambios futuros de protocolo), una pregunta clave que debemos plantearnos es: desde la perspectiva del protocolo, ¿cuál es el punto de tener delegados?
Para ver por qué la pregunta es significativa, consideremos el siguiente mundo. Se implementa el cambio de protocolo propuesto en esta publicación reciente, de limitar las penalizaciones por reducción a 2 ETH. Rocket Pool reduce el depósito del operador del nodo a 2 ETH en respuesta. La cuota de mercado de Rocket Pool aumenta al 100% (no solo entre los apostadores, sino también entre los poseedores de ETH: a medida que rETH se vuelve libre de riesgos, casi todos los poseedores de ETH se convierten en poseedores de rETH u operadores de nodos).
Supongamos que los titulares de rETH obtienen un rendimiento del 3 % (incluidas las recompensas dentro del protocolo y las tarifas de prioridad + MEV) y los operadores de nodos obtienen un rendimiento del 4 %. Supongamos también que el suministro total de ETH es de 100 millones.
Así es como funcionan las matemáticas. Para evitar tener que lidiar con la capitalización, veremos los rendimientos diarios en lugar de anuales, de modo que los términos de segundo orden se vuelvan lo suficientemente pequeños como para ser ignorables:
Ahora, consideremos un mundo diferente. El grupo de cohetes no existe. El depósito mínimo de cada participante se reduce a 2 ETH y la cantidad total de ETH apostados tiene un límite de 6,25 millones. Además, el rendimiento del operador del nodo se reduce al 1%. Hagamos los cálculos:
Ahora, consideremos las dos situaciones desde la perspectiva del costo del ataque. En el primer caso, los atacantes no se registrarían como delegados: los delegados no tienen poder, por lo que no tiene sentido. Por lo tanto, pondrían todo su ETH en registrarse como operadores de nodos. Para llegar a 1/3 de toda la apuesta, necesitarían invertir 2,08 millones de ETH (que, para ser justos, ¡todavía es bastante!, por ejemplo. ver<a href="https://notes.ethereum.org/ @vbuterin /single_slot_finality#Idea-1-super-committees">esto discusión sobre supercomités, una propuesta de escalamiento de apuestas que también habría reducido el costo del ataque a un valor similar). En el segundo caso, los atacantes simplemente apostarían, y para llegar a 1/3 de toda la apuesta, necesitarían poner… 2,08 millones de ETH.
Tanto desde la perspectiva de la economía de apuestas como desde la perspectiva del costo del ataque, el resultado final en ambos casos es exactamente el mismo. La proporción del suministro total de ETH en poder de un operador de nodo aumenta en un 0,00256 % por día, y la proporción del suministro total de ETH en poder de un operador que no es de nodo disminuye en un 0,00017 % por día. El costo del ataque es de 2,08 millones de ETH. Por lo tanto, parece que en este modelo la delegación se convierte en una máquina inútil de Rube Goldberg: también podríamos eliminar al intermediario, reducir drásticamente las recompensas de las apuestas y limitar el total de ETH apostado a 6,25 millones.
El propósito de este argumento no es abogar por reducir las recompensas de las apuestas en 4 veces y limitar el total de ETH apostado a 6,25 millones. Más bien, se trata de señalar una propiedad clave que debería tener un sistema de apuestas que funcione bien: a saber, los delegados deberían estar haciendo algo que realmente importe. Además, está bien si los delegados están motivados a actuar correctamente en gran medida por la presión de la comunidad y el altruismo; después de todo, esa es la fuerza principal que motiva a las personas a apostar por formas descentralizadas que aumentan la seguridad (pero que requieren mayor esfuerzo) en lugar de formas centralizadas que amenazan la seguridad (pero que requieren menor esfuerzo) hoy.
Veo dos clases de respuestas:
Hay tres formas de ampliar los poderes de selección de delegados:
La votación dentro de los grupos realmente no existe hoy en día: en Rocket Pool, cualquiera puede convertirse en operador de nodo, y en Lido, son los titulares de LDO los que votan, no los titulares de ETH. Lido tiene una propuesta para la gobernanza dual de LDO + stETH, que daría a los titulares de stETH voz y voto en el sentido de que podrían activar un dispositivo que bloquea nuevos votos y, por lo tanto, impide que se agreguen o eliminen operadores de nodos. Dicho esto, esto es limitado y podría ser mucho más fuerte.
La competencia entre grupos existe hoy en día, pero es débil. El principal desafío es que los tokens de participación de los grupos de apuestas más pequeños son (i) menos líquidos, (ii) más difíciles de confiar y (iii) menos respaldados por las aplicaciones.
Podemos mejorar las dos primeras cuestiones limitando la reducción de las sanciones a una cantidad menor, por ejemplo. 2 o 4 ETH. El ETH restante (que no se puede dividir) podría entonces depositarse y retirarse de forma segura al instante, haciendo un LST basado en ese ETH convertible bidireccional con ETH incluso para los grupos más pequeños. Podríamos mejorar el tercer problema creando un contrato de emisión central para LST, algo similar a ERC-4337 y ERC-6900 para billeteras, de modo que podamos garantizar que cualquier token de participación emitido a través de ese contrato sea seguro. Se podría recomendar encarecidamente que las aplicaciones (por ejemplo, una versión de RAI que admita ETH apostado) admitan todos los tokens de participación emitidos a través de este registro.
Actualmente, la delegación consagrada no existe en el protocolo, pero podría introducirse. Implicaría una lógica similar a las ideas anteriores, pero implementada a nivel de protocolo. Consulte esta publicación para conocer los pros y los contras de consagrar cosas.
Todas estas ideas son una mejora con respecto al status quo, pero existe un límite en el beneficio que pueden proporcionar. La gobernanza de la votación simbólica apesta y, en última instancia, cualquier forma de selección de delegados sin incentivos es solo un tipo de votación simbólica; Esta ha sido mi principal fuente de incomodidad con la prueba de participación delegada desde el principio. Por lo tanto, parece valioso pensar también en permitir formas más sólidas de participación por consenso.
Existen límites al enfoque actual de las apuestas individuales, incluso sin tener en cuenta los problemas actuales relacionados con las apuestas líquidas. Suponiendo la finalidad de una única ranura, nuestras mejores estimaciones sugieren un límite de ~100.000 - 1 millón de firmas BLS que podrían procesarse por ranura, y eso supone un aumento significativo en el tiempo de la ranura. Incluso si utilizamos SNARK recursivos para agregar firmas, la responsabilidad de la firma (para fines de reducción) requiere que un campo de bits de quién participó esté disponible para cada firma. Si Ethereum se convierte en una red a escala global, entonces incluso usar de alguna manera el danksharding completo para almacenar los campos de bits no sería suficiente: 16 MB por ranura solo soportarían ~64 millones de participantes.
Aquí, también desde esa perspectiva, es valioso dividir las apuestas en un nivel reducible de mayor complejidad, que actúa en todas las tragamonedas pero quizás solo tenga 10,000 participantes, y un nivel de menor complejidad al que solo se convoca para participar ocasionalmente. El nivel de menor complejidad podría estar exento de recortes por completo, o podría dar aleatoriamente a sus participantes oportunidades de hacerlo temporalmente (es decir, para algunas máquinas tragamonedas) depositan y quedan sujetos a recortes.
En la práctica, esto podría implementarse<a href="https://notes.ethereum.org/ @mikeneuder /eip-7251-faq">aumentando el límite de saldo del validador y, posteriormente, implementar un umbral de saldo (p. ej. 2048 ETH) para determinar qué validadores existentes ingresan al nivel de complejidad más alto o más bajo.
Aquí hay algunas ideas sobre cómo podrían funcionar estos roles de pequeña participación:
Todos estos roles de pequeña participación tienen en común que no implican participar activamente en cada espacio, no se pueden recortar (y por lo tanto tienen un riesgo de gestión clave muy bajo) y son muy “ligeros” en el sentido de que ni siquiera requieren una nodo completo para ejecutar. Verificar únicamente la capa de consenso sería suficiente. Por lo tanto, podrían implementarse a través de aplicaciones o complementos de navegador que son en su mayoría pasivos y tienen una sobrecarga computacional, requisitos de hardware o requisitos de conocimientos técnicos muy bajos, todo sin siquiera asumir avances técnicos como los ZK-EVM.
Estos roles de pequeña participación también tienen un objetivo común: evitar que una mayoría del 51% de los operadores de nodos se involucre en la censura de transacciones. El primero y el segundo también impiden que una mayoría se involucre en una reversión de la finalidad. El tercero se centra más directamente en la censura, aunque es más vulnerable a la posibilidad de que una mayoría de operadores de nodos también opte por censurar los mensajes de confirmación de los proveedores de listas de inclusión.
Estas ideas se escribieron desde la perspectiva de una solución de participación de dos niveles consagrada implementada en el protocolo, pero también podrían implementarse como características del grupo de participación. Aquí hay algunas ideas de implementación concretas:
Si se hace correctamente, los ajustes en el diseño de estacas podrían resolver dos pájaros de un tiro:
Para muchas de estas soluciones, existen diferentes capas de abstracción donde podría residir la solución al problema: poderes otorgados a los usuarios dentro de un protocolo de grupo de participación, elección del usuario entre protocolos de grupo de participación y consagración dentro del protocolo. Esta elección debe considerarse cuidadosamente y, en general, lo mejor es una consagración mínima viable, que minimice tanto la complejidad del protocolo como el nivel de cambio en la economía del protocolo y al mismo tiempo lograr el objetivo deseado.