[Witnessing] Firmar bloques en DECENT blockchain

in decent •  7 years ago 

decent.png

Esta es una pequeña reseña sobre el concepto Testigo para la blockchain DECENT.
Gracias a roelandp por escribir esta reseña original en inglés aquí: https://gist.github.com/roelandp/29fa1f7953703d1f56007ea24041797f

Minar Firmar bloques

Decent es una red para publicar contenido y se ejecuta en el software basado en Graphene el cual tiene muchas ventajas, tales como tiempos de bloque muy bajos que resultan en transferencias casi instantáneas y un alto rendimiento en transacciones.

El software de Graphene está basado en el modelo DPOS y no sobre el modelo de Prueba de Trabajo (POW). Aquí no es necesario tener gran poder de cómputo para crear nuevos bloques y ser recompensado.

Los sistemas DPOS son más amigables con el medio ambiente ya que aquí no se mal gasta energía y no se juega a ver quién tiene más poder CPU/GPU.

En DPOS se trata de tener un sistema estable a través de mineros testigos activos quienes se encargan de ejecutar copias del software ./decentd en sus servidores dedicados y asegurarse de que las transacciones sean verificadas, firmadas y publicadas en la cadena de bloques.

Por lo tanto, el termino MINERO está mal empleado por la Fundación DECENT (en mi más humilde opinión) para esta tarea.

  • Minar, históricamente implica que tu utilizas poder de cómputo para resolver cálculos matemáticos complejos y poder obtener una recompensa, como ejemplo tenemos minar BTC ó ETH donde requiere que tu enciendas tu computadora con tu equipo CPU/GPU y comience a procesar operaciones complejas. Esto no existe en blockchains basadas en Graphene, en Graphene los productores de bloques firman y validan los bloques para después empujarlos a la red.
  • En Graphene hay una lista de mineros testigos activos CONFIABLES 24/7 que fueron 'votados' para llevar a cabo esta tarea de ser testigos y dar vida, fiabilidad y seguridad a la blockchain de DECENT, estos se aseguran de que las transacciones sean agregadas a la cadena de bloques de manera adecuada. Esta lista de mineros testigos activos es re-calculada cada cierto tiempo marcado como 'MAINTENANCE_INTERVAL' el cual está fijado a cada 24 horas (00:00 UTC si no me equivoco). Esta lista de testigos activos se calcula en base a la cantidad de votos que obtiene cada uno de ellos, es decir para ser un testigo activo debes de conseguir los votos suficientes. Al momento de esta publicación hay 23 testigos activos.

Para ser minero testigo en DECENT debes de entender lo siguiente:

  1. Debes de ser confiable: Esto no es para llegar, instalar y olvidarte de tu servidor. Si tu eres elegido y votado en la 'lista de mineros testigos activos' tu servidor obtendrá bloques y los producirá / validará / firmará aproximadamente cada minuto (dependiendo la cantidad de testigos). Si no has instalado tu software correctamente comenzarás a perder bloques y así continuarás hasta que logres resolver que es lo que pasa con la instalación. Si tu pierdes bloques, las transacciones que están esperadas a ser agregadas a la blockchain, serán movidas al siguiente bloque / productor. Si muchos mineros testigos activos están perdiendo bloques la red es muy posible que se detenga..... está establecido en el código que si solo el 33% de los testigos activos están validando bloques la blockchain se detendrá.
  2. El servidor a utilizar debe de estar activo 24/7: Ver el punto 1.
  3. El servidor debe de estar sobre una muy buena infraestructura y con alguien que provea un ambiente profesional: Ver punto 1.

Recuerda este no es el caso de 'ver quien tiene el mejor CPU/GPU' pero debe haber una competencia sana de quién tiene menos 'bloques perdidos'.

Vota responsablemente!!

Si tu tienes DCT en tu cuenta tu puedes votar por mineros testigos para influenciar la 'lista de mineros testigos activos' en la siguiente MAINTENANCE_INTERVAL (ventana de mantenimiento) y más allá.

POR FAVOR VOTA CON RESPONSABILIDAD. Realiza tu investigación y verifica quien si está realizando adecuadamente su trabajo de testigo y mantiene sano su servidor, no solo comiences a votar de manera aleatorea por mineros testigos que tu no conoces y que has visto que han perdido bloques constantemente.

Si se elige a muchos mineros testigos activos que no están produciendo bloques, recuerda la red simplemente se detendrá.

Sea verificable!

Por favor si deseas ser minero testigo configura un nombre identificable y no uses el default formado con nombre encriptado u1234123XXXX que te otorga la fundación DECENT.

Pasos para configurar un minero testigo:

  1. Configura un servidor y aseguralo:

    1. Configurar un servidor (recomendado ubuntu 16.04 LTS) sobre un ambiente dedicado (recomendado 32 GB ram+) (QUE NO SEA UNA COMPUTADORA/SERVIDOR EN TU CASA).
    2. Asegura tu servidor: Elimina el acceso a root, no utilices contraseñas planas para acceder a tu servidor, instala UFW, y fail2ban.
    3. Instala manualmente el software nodo DECENTD como se detalla aquí: https://github.com/DECENTfoundation/DECENT-Network
  2. Ejecuta todas las acciones cli_wallet (necesitas ayuda? usa la función gethelp NOMBREDEFUNCIÓN):

    1. Importa tu cuenta Decent con el nombre encriptado con la función import_key y asegurate que esté fondeado con algo de DCT.
    2. Configura un nombre identificable para tu minero testigo con la función register_account (necesitas ejecutar suggest_brain_key dos veces para obtener tu par de llaves públicas/privadas para ambas llaves owner y active.
    3. Fondea la recién creada cuenta desde tu cuenta original decent con la función transfer.
    4. Convierte tu nueva cuenta con nombre identificable a minero testigo con la función create_miner. Asegúrate de agregar una url donde se te pueda contactar y leer más sobre ti y tus intenciones de convertirte en un minero testigo confiable y activo 24/7 para DECENT. En la función create_minerdará como resultado tu 'signing key' así como tu 'miner-id' (inicia con 1.4. !! no con 1.2.!!)
    5. Actualiza tu archivo de configuración que utiliza el software ./decentd. Ve a /home/LINUXUSER/.decent/data/config.ini
    6. Actualiza/Agrega/Descomenta la línea miner-id="1.4.XX" (nota! inicia con 1.4. no con 1.2.) con tu correspondiente miner-id. Lo puedes obtener con la función get_miner <accountname>.
    7. Actualiza/Agrega/Descomenta la linea private-key=["DCTPUBLIC","PRIVATEKEY"] con tus correspondientes par de claves en el orden correcto.
    8. Revisa nuevamente que tienes la configuración adecuada en tu archivo config.ini, revisa línea miner-id=1.4.XX (no 1.2.XX !!) y revisa que tengas en correcto orden tu par de llaves para la línea private-key=.
    9. Reinicia tu software ./decentd en una sesión 'screen' dedicada sobre tu servidor dedicado 24/7. Al inicio de la ejecución del software ./decentd deberás de observar que se enlista el detalle de tu configuración (información de tu miner-id y de tus claves)
    10. Anuncia tus intenciones en el canal #mining de slack.

Muchas gracias por leer hasta acá y espero haya sido de utilidad esta información.

Si te agradó esta información ayúdame a compartirlo y también vota por mi testigo, de esta manera (sólo en cli_wallet):
vote_for_miner YOURACCOUNT decentspace true true

También te pido un voto para el autor original de esta reseña:
vote_for_miner YOURACCOUNT roelandp true true

Muchas gracias!!

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations @space4! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

You got your First payout
Award for the total payout received

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

Congratulations @space4! You have received a personal award!

1 Year on Steemit
Click on the badge to view your Board of Honor.

Do not miss the last post from @steemitboard:
SteemitBoard World Cup Contest - Russia vs Croatia


Participate in the SteemitBoard World Cup Contest!
Collect World Cup badges and win free SBD
Support the Gold Sponsors of the contest: @good-karma and @lukestokes


Do you like SteemitBoard's project? Then Vote for its witness and get one more award!