Entendiendo los masternodes

Los masternodes, que alguna vez fueron exclusivos de la red Dash, ahora se están haciendo populares a medida que la tecnología se bifurca en otras cadenas de bloques. Esta sección de la documentación describe los principios y mecanismos de los masternodes y los servicios que proporcionan específicamente a la red Dash.

En pocas palabras, un masternode es un servidor con una copia completa de la cadena de bloques de Dash, que garantiza un cierto nivel mínimo de rendimiento y funcionalidad para realizar ciertas tareas relacionadas con la validación de bloques, así como PrivateSend e InstantSend, cuando se solicita el anonimato y las funciones de transacción instantánea en Dash. Los masternodes reciben un pago por este servicio, utilizando un concepto conocido como Prueba de Servicio. Esto en conjunto con la Prueba de trabajo realizada por los mineros para asegurar la cadena de bloques. Los masternodes también pueden votar por propuestas de gobernanzacon y financiación, cada masternode con derecho a un voto (si/ no/abstenerse) en cada propuesta presentada al sistema.

Cualquiera puede ejecutar un masternode. El objetivo es tener suficiente descentralización para garantizar que ninguna persona controle una fracción significativa de los masternodes. Sin embargo, para evitar el congestionamiento de la red con masternodes innecesarios o el fomento de operadores imprudentes, hay una condición que debe cumplirse: prueba de propiedad de 1000 Dash. No es necesario que las monedas estén en el masternode, pero deben mantenerse de una manera que sea transparente para toda la red. Si el propietario mueve o gasta esas monedas, el masternode deja de funcionar y el pago cesa.

Los masternodes son pagados por la red por los servicios de PrivateSend, de InstantSend y de governanza que proporcionan. El 45% de la recompensa del bloque se paga a los masternodes, el 45% a los mineros y el 10% al presupuesto. En la práctica, la mitad de la recompensa de un bloque normal va al minero y la otra mitad al masternode. Luego, cada 16.616 bloques (aproximadamente 30.29 días), se crea una superbloque que contiene el pago total del 10% para los ganadores de la propuesta de presupuesto. Los masternodes se seleccionan aleatoriamente para el pago en cada bloque (aproximadamente cada 2,6 minutos) de una lista una vez que alcanzan el 10% superior del recuento total de masternodes, y se mueven al final de la lista después del pago. A medida que se crean más masternodes, la duración entre los pagos aumenta. Debido al algoritmo de selección, la selección de pagossiempre es aleatoria, pero a largo plazo todos los dueños del masternodes deberían recibir pagos similares. Si se gasta la garantía detrás de un masternode, o si un masternode deja de proporcionar servicios a la red durante más de una hora, se elimina de la lista hasta que se reanude el servicio normal. De esta forma, los masternodes reciben incentivos para proporcionar servicios eficientes y confiables a la red.

Tener tantos servidores con una copia completa de la cadena de bloques y trabajando para la moneda puede ser extremadamente útil. Gracias al sistema de recompensas, no existe el riesgo de no tener suficientes masternodes, y los desarrolladores pueden confiar en que implementarán rápidamente cualquier nueva función descentralizada que se desee implementar. Aquí es donde radica la verdadera fortaleza de Dash - un sistema incentivado de miles de servidores distribuidos que funcionan 24x7 significa que Dash puede escalar más eficientemente y desplegar servicios más rápidamente que una cadena de bloques operada completamente por voluntarios no remunerados. Cuantos más masternodes, mejor y más segura es la red Dash.

A partir de marzo de 2018, la red Dash tiene más de 4700 masternodes ubicados en mas de 41 países y alojadas en mas de 100 ISPs. La recompensa del bloque es aproximadamente 3.34 Dash, así que el masternode seleccionado recibe 1,67 Dash por pago o aproximadamente 6 Dash al mes. La recompensa del bloque se reduce aproximadamente 7,14% una vez al año, así que las ganancias anuales para un dueño de masternode es aproximadamente 7% del colateral, y se reducirá con el tiempo como se calcula aquí. Vea esta herramienta para calcular en tiempo real las tasas de pago, y este sitio para varias estadísticas en tiempo real de la red de masternodes.

Masternodes vs. minería

Dash, como Bitcoin y la mayoría de las otras criptomonedas, se basa en un libro contable descentralizado de todas las transacciones, conocido como cadena de bloques. Esta cadena de bloques está asegurada a través de un mecanismo de consenso; en el caso de Dash y Bitcoin, el mecanismo de consenso es Prueba de trabajo (PoW). Mineros intentan resolver problemas difíciles con computadoras especializadas, y cuando resuelven el problema, reciben el derecho de agregar un nuevo bloque a la cadena de bloques. Si todas las demás personas que ejecutan el software están de acuerdo en que el problema se resolvió correctamente, el bloque se agrega a la cadena de bloques y se recompensa al minero.

Sin embargo, Dash funciona de manera diferente a Bitcoin, ya que tiene una red de dos niveles. El segundo nivel es impulsado por los masternodes (nodos completos), que permiten la privacidad financiera (PrivateSend), las transacciones instantáneas (InstantSend) y el sistema de governanza y presupuesto descentralizado. Debido a que este segundo nivel es tan importante, los masternodes también se recompensan cuando los mineros descubren nuevos bloques. El desglose es el siguiente: el 45% de la recompensa por bloque se otorga al minero, el 45% va a los masternodes y el 10% se reserva para el sistema de presupuesto (creado por los superbloques cada mes).

El sistema de masternodes se conoce como Prueba de Servicio (PoSe), ya que los masternodes proporcionan servicios cruciales a la red. De hecho, toda la red es supervisada por los masternodes, que tienen el poder de rechazar bloques formados incorrectamente por los mineros. Si un minero intenta tomar toda la recompensa del bloque por sí mismo o intenta ejecutar una versión anterior del software Dash, la red de masternodes deshabilitaría ese bloque, y no se agregaría a la cadena de bloques.

En resumen, los mineros impulsan el primer nivel, que es el envío y recepción de fondos básicos y la prevención del gasto doble. Los masternodes potencian el segundo nivel, que proporciona las características adicionales que hacen que Dash sea diferente de otras criptomonedas. Los masternodes no minan, y las computadoras de minería no pueden actuar como masternodes. Además, cada masternode está «asegurado» por 1000 DASH. Esos DASH permanecen bajo el control exclusivo de su propietario en todo momento, y se pueden gastar libremente. Los fondos no están bloqueados de ninguna manera. Sin embargo, si los fondos se mueven o gastan, el masternode asociado se desconectará y dejará de recibir recompensas.

Lógica de pagos

Los pagos de Masternode en la versión 12 de Dash se determinan usando una cola determinista completamente descentralizada con selección probabilística.

Lista global

Cada masternode aparece en la lista global. Su posición en esta lista está determinada por su tiempo desde el último pago según la red, no según la cadena de bloques. Los nuevos masternodes que se unen a la red y los masternodes que reciben el pago se colocan al final de la lista. Los masternodes activos en ejecución que se reinician utilizando los comandos rpc “masternode start” o “masternode start-alias” también se colocan al final de la lista. El uso del nuevo comando rpc “masternode start-missing” evita esto. Como los masternodes se mueven al final de la lista global, los masternodes restantes migran lentamente hacia la parte superior de la lista. Una vez que un masternode alcanza el 10% superior de la lista global, es elegible para la selección dentro del grupo de selección.

Grupo de selección

El grupo de selección es el 10% superior de la lista global. Su tamaño está determinado por el recuento total de masternodes. Como ejemplo, si hay 4500 masternodes activos, los 450 masternodes superiores en la lista global son elegibles para la selección. Una vez en el grupo de selección, la selección para el pago se determina mediante la entropía de hash de bloque. El hash del bloque de 100 bloques anteriores determina qué masternode se seleccionará para el pago. Se compara en el grupo de selección un doble SHA256 del hash e índice de transacción de financiación para todos los masternodes con el hash de prueba de trabajo de 100 bloques anteriores. El masternode con el valor de hash numérico más cercano a ese hash de bloque se selecciona para el pago.

Probabilidades

Como la selección está determinada por la entropía del hash de bloques, es imposible predecir cuándo se realizará un pago. Los operadores de masternodes deben esperar variaciones considerables en los intervalos de pago a lo largo del tiempo. Una vez que un masternode ingresa al grupo de selección, los pagos se convierten en una probabilidad. Las probabilidades en este ejemplo se calculan usando un tamaño de grupo actual supuesto de 450 (a 4500 nodos maestros totales). Los nodos en el grupo de selección se seleccionan para las recompensas al azar, es decir, la probabilidad de ser seleccionado en cualquier bloque determinado es 1/450.

La siguiente tabla muestra la probabilidad de que un nodo elegible sea seleccionado para el pago durante un período de tiempo particular. Por ejemplo, la probabilidad de que un nodo elegible se seleccione dentro de las 12 horas es aproximadamente del 46%. La tabla no (y no puede) nos dice la probabilidad de ser seleccionado después de un período de tiempo determinado. Por ejemplo, si no has sido seleccionado en las últimas 12 horas — y sabemos que existe una probabilidad del 54% de que esto ocurra, la probabilidad de ser seleccionado en el siguiente bloque no es 46%. Sigue siendo 1/450. Al juntarlos, si tienes un nodo elegible y, digamos, 48 horas han transcurrido sin pago, has tenido muy mala suerte, ya que hay menos del 10% de posibilidades de que eso suceda. Pero, tus probabilidades de ser seleccionado en el siguiente bloque siguen siendo las mismas que para cualquier bloque, es decir, 1/450.

Una vez que se selecciona un nodo para el pago, se mueve al final de la lista y no se puede seleccionar de nuevo hasta que vuelva a ingresar al grupo de selección.

Horas Bloques Probabilidad
1 23.07 5.00%
2 46.14 9.76%
3 69.21 14.27%
4 92.28 18.56%
6 138.42 26.50%
8 184.56 33.67%
10 230.70 40.14%
12 276.84 45.98%
18 415.26 60.30%
24 553.68 70.82%
30 692.10 78.56%
36 830.52 84.24%
42 968.94 88.42%
48 1107.36 91.49%
72 1661.04 97.52%
96 2214.72 99.28%

Puedes ejecutar el código (escrito por moocowmoo, miembro de la comunidad, utilizado para crear la tabla de arriba aquí.

Selección de quórum

Las transacciones de InstantSend en la versión 12 de Dash están aseguradas mediante un consenso de masternodes seleccionados determinísticamente. Este conjunto de masternodes se denomina informalmente quórum y debe estar en un acuerdo mayoritario, al menos seis de cada diez, para un bloqueo exitoso de las entradas de la transacción. Se seleccionan múltiples quórumes para cada entrada en una transacción InstantSend usando la distancia matemática entre el hash de cada entrada y el hash del conjunto de transacciones de financiamiento de masternodes.

Cada masternode que recibe la solicitud de bloqueo de transacción InstantSend compara el hash de la transacción de financiamiento del masternode con el hash de la entrada que solicita el bloqueo. Después de validar las entradas no han sido gastadas, los diez masternodes más alejados de este hash transmiten la aceptación del bloqueo.

Todas las entradas de InstantSend deben tener al menos seis bloques de antiguedad o la transacción será rechazada.

Requerimientos para los masternodes

  • 1000 Dash: Posiblemente la parte más difícil. Dash se puede obtener en casas de cambio como Poloniex, Bittrex, Kraken y LiveCoin. El servicio de Shapeshift también es una excelente manera.
  • Un servidor o VPS que ejecuta Linux: las guías más recientes usan Ubuntu 16.04 LTS. Recomendamos servicios de VPS como Vultr y DigitalOcean, aunque cualquier proveedor decente lo hará. Por lo general, una instancia con especificaciones por debajo del promedio lo hará, aunque los requisitos de rendimiento aumentarán de acuerdo con esta hoja de ruta.
  • Una dirección IP dedicada: por lo general, vienen con el VPS/servidor.
  • Un poco de tiempo y (corazón): los masternodes solían requerir una configuración compleja, pero herramientas como dashman ahora simplifican enormemente el proceso.

Además de 1000 Dash retenidos como garantía, los masternodes también tienen requisitos mínimos de hardware. A partir de la versión 12.1, estos requisitos son los siguientes:

  Mínimo Recomendado
CPU 1x 1 GHz 1x 2 GHz
RAM 1 GB 2 GB
Disco 8 GB 16 GB
Red 400 GB/mth 1 TB/mth

El uso del ancho de banda de los masternodes oscila entre 300-500 GB por mes y crecerá a medida que la red lo haga.

Evolución de Dash

Los requisitos de hardware exactos para los masternodes de Dash Evolution aún no se han determinado, aunque se pueden tomar algunos indicadores del Plan de trabajo y esta publicación de blog. Debería ser posible ejecutar los masternodes de Dash en servidores VPS normales hasta que el tamaño del bloque alcance aproximadamente 20 MB, después de lo cuál se requerirán hardwarse personalizados como GPUs y eventualmente ASICs.