Participando en Propuestas pDAO On-Chain
Cualquier nodo con un poder de voto no nulo puede presentar o participar en una propuesta pDAO en cualquier momento. Las propuestas pueden ser de uno de los siguientes tipos:
- Cambiar configuraciones pDAO
- Gastos únicos del tesoro
- Gastos recurrentes del tesoro (comités de gestión)
- Membresía del consejo de seguridad
Para mayor detalle y justificación, consulta tipos de propuestas. Es importante entender que una propuesta pDAO es una entidad on-chain que existe para ejecutar cambios a nivel de protocolo.
Proceso de Gobernanza
Una propuesta debe ser anticipada por el proceso de gobernanza antes de terminar on-chain.
Los cambios al protocolo Rocket Pool se proponen, votan y ejecutan utilizando un proceso de gobernanza estricto pero transparente. El proceso comienza con una discusión informal de una idea dentro de la comunidad de Discord. Esta idea luego progresa a discusiones formales en el canal #governance en Discord y el Foro DAO, donde se somete a investigación exhaustiva, modelado y escrutinio en preparación para una Propuesta de Mejora de Rocket Pool (RPIP). Después de esto, se prepara un borrador de RPIP y es revisado por revisores designados de RPIP para asegurar su calidad y preparación para presentación al DAO. El borrador de propuesta se presenta luego al DAO en el foro para mayor revisión, retroalimentación e incorporación de cualquier cambio necesario. Una vez que la propuesta ha sido refinada basándose en la retroalimentación de la comunidad, se realiza una encuesta en el foro del DAO para medir la preparación para finalizar el texto del RPIP. Si la encuesta pasa, indicando aprobación de la comunidad, el RPIP se marca como final y está listo para un voto del DAO del Protocolo, que se realiza a través de Snapshot para determinar si la propuesta debe ser implementada.
Desde aquí, el DAO del Oráculo presentará una propuesta on-chain. Hay una ventana en la cual el DAO del Protocolo, el DAO del Oráculo y la comunidad pueden revisar la propuesta. Si se alcanza consenso, la propuesta es ejecutada y los cambios se aplican al protocolo.
Una práctica representación visual de este proceso se puede encontrar en el sitio web de Rocket Pool.
Prerequisito
Por favor lee el ciclo de vida de una propuesta antes de proceder. Te explicará las diferencias entre todos los períodos de votación y las acciones que se pueden tomar durante cada período.
El resto de esta página te guiará a través de los pasos requeridos para participar en propuestas pDAO on-chain.
Inicializar la Votación
Si eres un operador de nodo que se registró antes de la actualización Houston, necesitas inicializar la votación para desbloquear el poder de voto. Ten en cuenta que tener al menos un minipool es un requisito para tener poder de voto.
Este comando generará el mensaje a continuación. Por favor léelo cuidadosamente:
- Si respondes con
direct, el poder de voto se inicializará a tu nodo y podrás votar directamente en propuestas del DAO del Protocolo. - Si respondes con
delegate, tendrás la oportunidad de ahorrar un poco de gas al inicializar la votación y establecer un delegado dentro de la misma transacción.
Solo necesitas hacer esto una vez. Configura la información inicial de snapshot para un nodo. Después de inicializar la votación, cada acción tomada actualizará la información de snapshot de tu nodo. Una vez que tu poder de voto esté inicializado, puedes verificar cuánto tienes usando el siguiente comando del smartnode:
Cada vez que se crea una nueva propuesta, se crea un árbol de votación que representa un snapshot del poder de voto de la red y la información del delegado en conjunto con la nueva propuesta. Esto significa que el poder de voto de tu nodo no se incluirá en una propuesta si fue presentada antes de que inicializaras la votación. rocketpool pdao status mostrará el poder de voto de tu nodo en el último bloque, que puede o no ser representativo de tu poder de voto en una propuesta particular.
Auto Initialize Vote Power
La versión 1.13.8 del Smartnode introduce una nueva función Auto Initialize Vote Power, que está diseñada para inicializar automáticamente el poder de voto en nodos que aún no lo han hecho. El poder de voto inicializado automáticamente se auto-delega. Esta función se puede configurar en las configuraciones del Smartnode ejecutando rocketpool service config y navegando a la sección Smartnode and TX Fees.
El Auto-Init Vote Power Gas Threshold es un límite (en gwei) para esta transacción automática. Puedes optar por no participar en esta tarea estableciendo el umbral en 0. Siéntete libre de optar por no participar si tu nodo fue registrado después de la actualización Houston o si el poder de voto ya está habilitado.
Configurar tu Dirección de Señalización de Snapshot
Configurar tu dirección de señalización de Snapshot te permitirá participar en votos de Snapshot en un navegador o dispositivo móvil sin tener que exponer las claves del nodo a una wallet caliente.
Hay algunas cosas que preparar:
- La dirección de tu nodo
- Una dirección que quieras usar para votar en snapshot (dirección de señalización)
Estarás firmando un mensaje diciendo que la dirección de tu nodo puede delegar a la nueva dirección. Este mensaje expresa tu intención de usar tu dirección de wallet como una dirección de señalización de Snapshot.
Selecciona qué red estás usando de una de las pestañas a continuación.
No cargues la clave privada de tu nodo en una wallet caliente. Por favor elige otra cuenta para ser tu dirección de señalización. Después de configurar la dirección de señalización, puedes usarla para votar en Snapshot con el poder de voto de tu nodo.
Comienza por conectar la dirección que quieres usar como dirección de señalización al sitio web usando MetaMask, WalletConnect, o cualquiera de los otros métodos que el sitio web soporte. Luego se te presentará este diálogo para buscar tu dirección de nodo.
Luego, ingresarás tu dirección de nodo y luego harás clic en el botón naranja "Find". Esto verificará si la dirección es un nodo registrado y luego te llevará al siguiente paso.
¡Asegúrate de tener la dirección de nodo correcta antes de hacer esto! si necesitas confirmar la dirección de tu nodo, puedes recuperarla rápidamente a través del CLI usando el comando rocketpool node status.
Una vez que hayas iniciado sesión y confirmado tu dirección de nodo, verás tu dirección de señalización de Snapshot. Debe ser la misma que la cuenta con la que has iniciado sesión en el sitio. Verifica que esto sea correcto antes de proceder. Una vez que estés seguro de que has iniciado sesión en la cuenta deseada, haz clic en el botón naranja "Sign Message". Verás un mensaje en tu extensión de wallet para firmar el siguiente mensaje:
Firmar no te costará ningún gas pero configurar sí lo hará. Después de firmar, el frontend te dará un comando para pegar en el smartnode. Ve adelante y pégalo en el CLI de tu smartnode y sigue los pasos indicados. El comando debería verse algo así:
Si ves este mensaje en tu CLI, ¡estás listo!
No te preocupes si accidentalmente cierras el sitio o pierdes el rastro del comando. Simplemente puedes repetir los pasos y firmar de nuevo usando la misma dirección de nodo y dirección de señalización. El frontend usa signer.Signmessage() de la biblioteca ethers, lo que significa que tu firma es determinística dado el mismo input.
Haz clic aquí para aprender más.
Limpiar tu dirección de señalización es bastante fácil, solo usa este comando en el CLI:
Permitir el Bloqueo de RPL
Puedes ignorar este paso si solo estás interesado en votar en una propuesta. Permitir el bloqueo de RPL solo es requerido para aquellos que deseen proponer o desafiar una propuesta.
El bloqueo de RPL es requerido para proponer y desafiar. Por defecto, el bloqueo de RPL para cualquier propósito estará deshabilitado. Los operadores de nodos optarán por realizar actividades de gobernanza habilitando el bloqueo de RPL desde su nodo o dirección de retiro primaria. Puedes hacerlo usando este comando en el Smartnode:
Esto te pedirá que permitas el bloqueo de RPL al crear o desafiar propuestas de gobernanza. Por el contrario, puedes usar el siguiente comando para optar por no participar en el bloqueo de RPL:
El RPL bloqueado actúa de la misma manera que el RPL stakeado regular para propósitos de recompensas, votación y requisitos de colateral. El RPL bloqueado no se cuenta hacia los umbrales para retirar RPL.
Delegar el Poder de Voto
Un operador de nodo puede elegir delegar su poder de voto a otro operador de nodo. El único requisito es que tu delegado sea un nodo registrado.
Para delegar poder de voto on-chain a otro nodo, usa el siguiente comando:
Si has delegado tu poder de voto a otro operador de nodo, puedes restablecer esto estableciendo la dirección del delegado a la dirección de tu propio nodo.
- Durante la fase 1 de una propuesta: Votantes y Delegados pueden emitir su voto en una propuesta.
- Durante la fase 2 de una propuesta: Operadores de Nodo que han delegado su voto obtienen la oportunidad de revocar el voto de su Delegado, si no están de acuerdo.
Si eres un operador de nodo con poder de voto delegado, debes votar durante la fase 1 de votación para que el poder de voto delegado cuente hacia la propuesta. Tu voto en la fase 1 valdrá tu poder de voto local + poder de voto delegado. Tu voto en la fase 2 vale solo tu poder de voto local.
Crear una Propuesta
Para ser elegible para proponer, un nodo debe cumplir algunos requisitos:
- Incluido en el snapshotting (ya sea inicializando la votación o registrándose después de Houston)
- Debe tener al menos un minipool
- Tiene poder de voto no nulo
- Ha permitido el bloqueo de RPL
- Tiene un stake de RPL (menos cualquier RPL ya bloqueado) mayor que el bono de propuesta
¡Las propuestas existen para cambiar parámetros y ejecutar código a nivel de protocolo! Debe haber discusión y consenso a través del proceso de gobernanza antes de que una propuesta se cree on-chain.
Usa el comando rocketpool pdao propose para abrir un menú de opciones
Cada uno de estos comandos te pedirá una lista de entradas para crear tu propuesta deseada. En esta guía, invitaremos a un nodo al consejo de seguridad para servir como ejemplo. Para presentar una propuesta para invitar a un nodo al consejo de seguridad, usarías el comando:
Ten en cuenta que este paso tendrá alguna ligera variación dependiendo del tipo de propuesta. Este comando particular: rocketpool pdao propose security-council invite te pedirá que ingreses un ID seguido de una dirección de miembro.
Después de que esto sea incluido en un bloque, ¡se creará una propuesta pDAO! La propuesta entrará en el período de retraso de voto al momento de la creación.
Ver el Estado de una Propuesta
A cada propuesta se le asigna un proposalID. En este caso, nuestra propuesta para invitar a 0xBdbc... al consejo de seguridad está representada con el ID 71. Hay algunas formas de ver el estado de la propuesta. Un método mostrará una lista de cada propuesta pdao junto con su estado (pendiente, exitosa, ejecutada, etc). El segundo método muestra detalles en profundidad sobre una propuesta específica.
Para listar todas las propuestas, usa el siguiente comando:
Esto mostrará una lista de todas las propuestas y su estado
Aquí podemos ver que nuestra propuesta invite test-member tiene un ID de 71 y está en estado pendiente. En este estado,
los desafiantes pueden disputar la validez del
pollard de Merkle (usado para calcular el poder de voto) suministrado por el proponente. Cuando proposal.vote.delay.time termine,
la propuesta entrará en fases de votación activas. Siéntete libre de revisar el ciclo de vida de una
propuesta para un repaso.
Votar en una Propuesta
Durante un período de votación, Operadores de Nodo y Delegados pueden emitir un voto con una de cuatro opciones:
Su poder de voto se aplicará a la opción de su elección. El poder de voto es una función del "stake efectivo de RPL." Una lectura más detallada se puede encontrar en el repositorio rocketpool-research.
Si eres un operador de nodo con poder de voto delegado, debes votar durante la fase 1 de votación para que el poder de voto delegado cuente hacia la propuesta. Tu voto en la fase 1 valdrá tu poder de voto local + poder de voto delegado. Tu voto en la fase 2 vale solo tu poder de voto local. Por favor ten en cuenta que un nodo puede votar una vez y solo una vez en una propuesta, así que elige cuidadosamente.
Usa este comando para emitir un voto:
Se te pedirá que selecciones una propuesta para votar si hay al menos una propuesta en una fase de votación activa. El menú debería mostrar todas las propuestas en las que tu nodo es elegible para votar:
Después de seleccionar una opción, se te preguntará cómo quieres emitir tu voto.
Seleccionar una opción mostrará tu poder de voto, y luego te pedirá que envíes la transacción:
¡Has votado exitosamente en la propuesta una vez que la transacción se incluya en el bloque! En este punto, puedes usar rocketpool pdao proposal details <proposal-id> para ver el estado de la propuesta. Una propuesta necesita alcanzar proposal.quorum poder de voto requerido y una mayoría poder de voto a favor para que sea exitosa.
Para que el ejemplo anterior pase, el poder de voto necesita exceder un quórum de 140970562215 de poder de voto. Hay 197980809837 de poder de voto a favor y ningún voto en contra o abstenido. La propuesta está preparada para el éxito y lista para ejecución al final de proposal.vote.phase2.time.
Ejecutar una Propuesta Exitosa
¡Felicitaciones! ¡Tu propuesta ha pasado! Ahora todo lo que queda por hacer es ejecutar la propuesta. Ten en cuenta que cualquiera puede ser el ejecutor de una propuesta. Para ejecutar una propuesta exitosa, escribe el comando:
Seleccionar una opción te pedirá que envíes una transacción. Una vez que esta transacción se incluya en un bloque, ¡el cambio se aplicará al protocolo Rocket Pool!
Reclamar Bonos y Recompensas
Los Proponentes o Desafiantes pueden reclamar sus bonos al concluir una propuesta. Dependiendo del resultado de una propuesta, un Proponente o Desafiante puede o no ser capaz de reclamar su proposal.bond y proposal.challenge.bond.
Aquí hay algunas reglas que dictan las condiciones en las que los bonos pueden ser reclamados:
- Si una propuesta es derrotada, el proponente pierde su bono que se divide proporcionalmente entre los desafiantes que contribuyeron a la derrota de la propuesta. Todos los demás desafiantes reciben solo su bono de vuelta.
- Contribuir a la derrota de una propuesta significa que un desafiante presentó un índice que luego fue probado como incorrecto por la incapacidad del proponente de responder a un desafío. Es posible que haya múltiples índices incorrectos pero solo aquellos que resultaron en la derrota de la propuesta comparten la recompensa. Todos los demás desafiantes reciben solo su bono de vuelta.
- Si un desafiante desafía a un nodo, el proponente responde, y la propuesta no es derrotada. El proponente puede reclamar los bonos de desafío de los desafíos inválidos.
- Si una propuesta es derrotada, el proponente pierde su bono que se divide proporcionalmente entre los desafiantes que contribuyeron a la derrota de la propuesta.
Usa este comando para reclamar bonos:
Esto mostrará cada propuesta de la que eres elegible para reclamar bonos. Puedes reclamar bonos de una propuesta especificada, o puedes reclamar bonos y recompensas de todas las propuestas elegibles.
Una vez que hayas seleccionado una opción, se te presentarán las recomendaciones de costos de gas actuales de la red; confirma tu selección de precio de gas y sigue el resto de los mensajes.
Ten en cuenta que si seleccionas la primera opción para reclamar todas las propuestas disponibles, cada una se ejecutará individualmente y no como una sola transacción.
Crear un Gasto Recurrente del Tesoro
Necesitarás preparar algunas entradas para crear un gasto recurrente del tesoro:
- Un nombre de contrato
- La dirección del destinatario
- Cantidad de RPL a enviar por período
- La hora de inicio para el pago recurrente (como un timestamp UNIX)
- La duración de cada período de pago en horas / minutos / segundos (ej., 168h0m0s)
- Número de períodos de pago
El destinatario necesitará tomar nota del nombre del contrato para poder reclamar pagos. No te preocupes sin embargo, ya que esta información se almacena y se puede recuperar usando el comando rocketpool pdao proposals details <proposal-id>
Para presentar una propuesta para establecer un gasto recurrente del tesoro, usa el siguiente comando del smartnode y sigue los mensajes:
Así es como se ve todo junto:
Una vez que hayas ingresado todas las entradas requeridas, se presentará una propuesta para crear un pago recurrente. Cuando el pDAO pase y ejecute esta propuesta, al destinatario se le asigna 1 RPL comenzando en 2024-06-09 12:13:53 +0000 UTC cada 720 horas por un total de 24 pagos.
Reclamar un Gasto Recurrente del Tesoro
¡Reclamar pagos recurrentes debería ser bastante simple! Navega a nuestra herramienta frontend aquí para hacerlo. Si estás probando esto en la testnet Hoodi, usa este enlace en su lugar.
Una vez que estés en el sitio, haz clic en el botón connect wallet. Por favor lee y acepta los Términos de Servicio y Política de Privacidad, esto habilitará diferentes formas de conectar, luego haz clic en connect metamask.
MetaMask te pedirá que selecciones una cuenta para conectarte al sitio web. Después de que hayas iniciado sesión, necesitarás ingresar el nombre del contrato. Hacer esto mostrará todos los detalles relevantes. Asegúrate de verificar dos veces la dirección del destinatario. Cualquiera puede llamar la función de reclamación, pero cada contrato de pago tendrá un destinatario designado hacia quien dispersar RPL.
Puedes reclamar tus pagos en cualquier momento, solo obtendrás el RPL total no reclamado hasta el período más reciente. Alternativamente puedes esperar hasta que todos los períodos hayan pasado para recoger todo de una vez y ahorrar en gas.
Solo presiona el gran botón naranja de reclamación cuando estés listo y revisa la transacción en metamask (o tu wallet preferida). Una vez que eso esté hecho, ¡estás listo!