Proof of stake frente a Proof of work

By Anycoin Direct

Todo el mundo ha oído hablar de la prueba de participación y la prueba de trabajo. Lo que significa exactamente, vamos a decirle en esta lección de hoy. Siéntate y déjanos llevarte al mundo de la minería y las monedas de estaca.

Muy brevemente, prueba de participación significa que manteniendo monedas en el monedero se añaden monedas.

Prueba de trabajo significa que, al apoyar una red y realizar un blockchain, se añaden monedas cuando se resuelve un enigma difícil.

¿Qué es la prueba de trabajo?

Ahora que ya conoces la versión resumida, vamos a profundizar un poco más.

En 1993, los primeros días de Internet, había bastante spam, igual que hoy. El problema era que las redes podían caerse por ataques distribuidos de denegación de servicio (DDoS). Un ataque DDoS significa que se envían tantas peticiones a un servidor que éste ya no puede dar servicio y se cae.

Cynthia Dwork y Moni Naor habían encontrado una solución. Exigían que alguien que solicitara un servicio hiciera "algo de trabajo" para obtener también el servicio. Este trabajo consistía en tiempo de procesamiento informático. Este sencillo método hacía que los ataques a las redes resultaran costosos.

El término "prueba de trabajo" fue acuñado por Ari Juels y Markus Jakobsson en 1999.

En 2008, el libro blanco de Bitcoin fue escrito por Satoshi Nakamoto, describiendo el concepto de prueba de trabajo y su mecanismo de consenso, y cómo es utilizado por la red Bitcoin.

La prueba de trabajo fue el primer método en el mundo de las criptodivisas para adquirir nuevas monedas. Conseguías estas monedas siendo el primero en resolver una suma matemática en una red de ordenadores conectados. El trabajo real consistía en validar transacciones y añadir nuevos bloques a una cadena de bloques.

Una blockchain es una cadena de bloques que se expande a medida que avanza el tiempo de uno en uno por periodo. Se puede visualizar como una cadena de bloques en fila con un enlace entre ellos.

En Bitcoin, los validadores añaden un bloque a la cadena de bloques cada 10 minutos. Un bloque contiene todas las transacciones y nuevas monedas de la red. Estos validadores se llaman mineros. Intentan ser los primeros en resolver un difícil rompecabezas matemático y adquirir así el derecho a añadir un nuevo bloque a la cadena y convertirse en el propietario de las nuevas monedas acuñadas.

Utiliza Hashcash, un sistema de prueba de trabajo que en realidad se diseñó para limitar el spam y resistir los ataques DDoS. Este sistema data de 1997 y fue inventado por Adam Back. Este algoritmo garantiza que la dificultad de este rompecabezas cambie en función de la potencia de cálculo de toda la red.

Al menos el 51% de los mineros o validadores deben estar de acuerdo en que el nuevo bloque es correcto. Esto se denomina algoritmo de consenso.

El protocolo criptográfico utilizado es el de prueba de conocimiento cero. Esto significa que un nodo, o validador, demuestra a otro nodo que conoce el valor de una afirmación sin revelar ninguna otra información. Así, un nodo debe demostrar que conoce el estado de la red sin compartir ni obtener ninguna otra información.

Hagamos un pequeño viaje al principio de la red Bitcoin. Si eres el único minero, recibes todas las monedas nuevas cada 10 minutos. Si llegan nuevos mineros, el puzzle a resolver sigue siendo sencillo, por ejemplo adivinar un número entre 1 y 1 millón en diez minutos. El primer ordenador que lo adivine hará el nuevo bloque y obtendrá las nuevas monedas.

En un momento dado, mil ordenadores están ocupados resolviendo este rompecabezas. Entonces se encuentra la solución muy rápidamente y se crean demasiados bloques nuevos. La solución que Satoshi Nakamoto, el creador de Bitcoin, propuso para esto fue hacer la suma cada vez más difícil, de forma que siempre se añadiera un nuevo bloque cada 10 minutos. Y así es como ha funcionado durante más de una década, de forma completamente automática.

A medida que sube el precio de Bitcoin, se van incorporando nuevos mineros y la suma se vuelve tan difícil que muchos mineros ya no pueden resolverla antes y abandonan. También es posible que los costes superen los beneficios.

La minería con prueba de trabajo se ha vuelto muy difícil y cara para Bitcoin, haciendo que sólo los mejores ordenadores y las tarifas de energía más bajas sean rentables. Estos ordenadores sólo están al alcance de gente con mucho dinero.

Hoy en día, minar Bitcoin ya consume tanta electricidad como toda Suecia en un año. Esto está empezando a suscitar algunas críticas.

Por cierto, también puede ocurrir lo contrario. Si el rompecabezas se vuelve tan difícil que se resuelve con menos frecuencia que una vez cada 10 minutos, debe volverse más fácil. Al fin y al cabo, si no se encuentra la solución, no se añade ningún bloque nuevo. Y si no se añade ningún bloque nuevo, no se completa ninguna transacción.

Otra razón para que sea más fácil encontrar la solución al puzzle es que haya menos mineros. Esto puede ocurrir si el precio de Bitcoin cae drásticamente o si el precio de los equipos y la energía hace que la minería no sea rentable.

¿Cómo funciona la prueba de trabajo?

La prueba de trabajo proporciona una cadena de bloques segura y descentralizada. Es tan segura porque muchos mineros controlan la red. Es descentralizada porque cualquiera puede hacer un seguimiento de la red, si quiere. Cualquiera que tenga un ordenador puede elegir hacerlo y convertirse en un nodo. No hay una autoridad central, todo es automático. Tampoco se necesita el permiso de una autoridad para unirse.

Una vez que un bloque se añade a la cadena de bloques, no puede modificarse. Este estado fijo de una cadena de bloques se registra en un libro de contabilidad y cualquiera puede verlo. Esto se denomina libro de contabilidad distribuido. Todos los mineros y nodos tienen acceso al estado de esta red y al libro de contabilidad. Este método de almacenamiento descentralizado es, por tanto, una buena protección contra los ataques a la red o la corrupción.

Como todo el mundo puede participar, la censura también es imposible. Aunque los gobiernos pueden decidir prohibir la red o la propia moneda.

Cuando se añade un nuevo bloque, se utiliza la tolerancia bizantina a fallos. Esto significa que los ordenadores conectados no tienen que confiar los unos en los otros, sino estar de acuerdo en que el nuevo bloque es correcto porque cuentan con que las reglas que aplican son fiables. Si el 51% de los ordenadores están de acuerdo, el nuevo bloque se aprueba y se acredita en el libro mayor.

Cada bloque tiene un hash, es decir, un código, que es único para el bloque. Este hash se añade a un nuevo bloque y el hash del bloque anterior también se escribe en el nuevo bloque, haciendo que la cadena sea infalsificable. Este hash es un código calculado por un algoritmo.

La prueba de trabajo requiere tanta potencia informática que suele ser demasiado costoso atacar la red. Para eso se inventó el protocolo.

Variantes de la prueba de trabajo

  1. Prueba del tiempo transcurrido.

    Los mineros son sorteados para añadir un nuevo bloque y así obtener las nuevas monedas.

    Esto fue inventado por Intel Corporation en 2016 y desarrollado junto con IBM y Linux.Algunas características de esto:

    • KYC (conoce a tu cliente)

    • Tiempo aleatorio en el que un minero o nodo no hace nada

    • Consenso con permisos en lugar de sin permisos

    • El ganador de la lotería es el minero que tuvo el tiempo aleatorio más corto

      Un ejemplo de una criptomoneda que funciona con esto es Hyperledger Sawtooth.

  2. Prueba de trabajo retrasada

    Las redes de criptomonedas más pequeñas tienen un hashrate bajo, o rompecabezas más fáciles de resolver debido a la menor potencia de cálculo en la red. Esto las hace vulnerables a los ataques del 51%, en los que los atacantes intentan conseguir monedas que no les corresponden mediante un doble gasto o quieren acabar con toda la red.

    En la prueba de trabajo diferida, el hashrate de una red fuerte, por ejemplo Bitcoin, se utiliza para proteger a la red más pequeña de los ataques. Además, ahora un atacante debe tener 2/3 del hashrate para atacar la red, en lugar del 51% habitual.

    Periódicamente se toma una instantánea de la red como copia de seguridad contra un ataque. Si se produce un ataque, siempre se puede recuperar la red original a partir de esta copia de seguridad.

    Ejemplo: Komodo, una bifurcación de ZCash.

  3. Prueba de acceso

    Esta variante pregunta a un minero si puede acceder a bloques más antiguos además del bloque anterior. Si puede hacerlo, entonces hay consenso y se le permite añadir un nuevo bloque a la cadena de bloques.

    Un ejemplo de ello es Arweave.

¿Qué es la prueba de participación?

La prueba de participación (depósito) es un algoritmo de consenso utilizado por las redes de cadenas de bloques para crear nuevos bloques y validar transacciones.

Los validadores realizan un seguimiento del estado de la cadena de bloques. Un validador puede añadir nuevas monedas a la red y validar transacciones, siempre que haya apostado su participación. Esto se debe a que normalmente necesita tener una cantidad bastante considerable de monedas para ser un validador.

Estas monedas están en juego. Si un validador no realiza sus funciones correctamente, puede ser castigado con una multa. Es lo que se denomina "tala". Se le quitan algunas de las monedas en juego para que sepa que no debe volver a hacerlo.

Por ejemplo, si un validador se desconecta con demasiada frecuencia, parece que otros validadores tienen que hacer todo el trabajo. Para ello, se reparte una barra. Si se aprueban transacciones incorrectas, también puede recibir una penalización. Si te equivocas con demasiada frecuencia, puedes incluso ser expulsado de la red.

Por supuesto, si golpeas monedas en un exchange, no eres un validador. Es el exchange. Ellos tienen un montón de monedas en juego y tú consigues hacer autostop con ellos por un precio normalmente blando. Hay pequeñas diferencias entre cuánto te dan los validadores por tu apuesta, así que un poco de investigación puede conseguirte algunas monedas extra.

La primera criptomoneda que funcionó con prueba de participación fue la única Peercoin en 2012. Le siguió NXT en 2013. En los últimos años, prueba de redes de estaca goteó en hasta hermano mayor Ethereum incluso comenzó a trabajar con él.

Otras redes de prueba de participación muy conocidas son Tezos, Cardano y Polkadot.

Proof of stake podría llamarse un sistema de distribución para ricos. Cuantas más monedas tienes, más monedas obtienes. Los menos ricos entre nosotros pueden unirse a estos ricos en sus sombras y esperar que estos validadores ricos les den un precio justo.

Desde el otro lado, es un sistema más justo que la prueba de trabajo en muchos sentidos. No tienes que convertirte en validador y aún así puedes conseguir monedas extra aunque sólo tengas un puñado de monedas.

Un factor que entra en juego es el tiempo que seas validador. Cuanto más tiempo lo seas, más probabilidades tendrás de que te permitan añadir un nuevo bloque y obtener la comisión por transacción. Las redes intentan conseguir validadores fiables de esta manera.

La prueba de participación también funciona asignando aleatoriamente validadores para añadir un nuevo bloque, ya que, de lo contrario, el más veterano haría todos los bloques.

Un aspecto positivo de la prueba de participación es que un ataque del 51% es inútil. Dado que te machacan por cometer errores, perderías enormes cantidades de dinero de esa manera.

¿Qué tipos de pruebas de participación existen?

  1. Prueba de participación delegada

    En esta forma de prueba de participación, se delega en los validadores la tarea de añadir bloques a la red. Los participantes de la red votan quiénes serán los validadores, como una representación representativa.

    Como hay pocos validadores, el protocolo es rápido y escalable.

    Un validador hará todo lo posible por mantener contentos a sus "electores" para seguir siendo delegado. Al fin y al cabo, esto le proporciona sus ingresos. Lo hace cumpliendo sus promesas, pero también ofreciendo recompensas comercialmente atractivas sobre el resto de los delegados.

    Un inconveniente de este sistema es que puede implicar nepotismo. Algunos delegados son elegidos no por lo que hacen para la red, sino por su extensa red. En casos extremos, esta camarilla de amigos puede incluso hacer saltar por los aires toda la red, ya que sólo sirven a sus propios intereses o incluso atacan juntos a la red.

    Un ejemplo de moneda con este sistema es EOS.

  2. Prueba efectiva de participación

    El objetivo de este mecanismo de consenso es evitar la centralización de las monedas apiladas. Lo consiguen mediante una combinación de pruebas de participación tempranas (quien las tenga más tiempo suele ser el más fiable), estos primeros obtienen las recompensas más altas, además de una recompensa menor para los inversores posteriores que sigue siendo económicamente interesante.

    Ejemplo: Harmony.

  3. Prueba de participación vinculada

    En este protocolo, los validadores inmovilizan sus monedas durante un tiempo determinado (bonding), lo que les proporciona una comisión por validar nuevos bloques.

    Cuantas más monedas tengas en juego, más poder de voto tendrás.Una desventaja de este sistema es que los validadores corren un gran riesgo si la red o el precio se desploman.

    Ejemplo: Cosmos.

  4. Prueba pura de participación

    Cuantas más monedas posea, más probabilidades tendrá de que se le permita crear un nuevo bloque y obtener las monedas.

    Los stakers son elegidos al azar y en secreto para validar bloques, pero si tienes más monedas en juego te eligen más rápido. Es como una lotería en la que ganas más a menudo si tienes más lotes. En realidad, eso tiene mucho sentido.

    Es un sistema muy descentralizado que hace imposibles los típicos trucos como crear muchas cuentas o favorecer a los delegados.

    Ejemplo: Algorand.

  5. Tiempo de apuesta

    Cuanto más tiempo tengas una moneda en juego, más rendimientos obtienes. Así se consigue una red cada vez más fiable, ya que los usuarios dejan sus monedas en juego más a menudo.

    Una desventaja de este sistema es que las monedas quedan cada vez más en manos de unos pocos. Además, entonces prácticamente no se comercia con esta criptodivisa, por lo que no es un buen augurio para el precio.

    Ejemplo: Vericoin.

  6. Prueba de participación nominada

    Bajo este protocolo de consenso, los validadores generarán nuevos bloques. Los nominadores nominan a los validadores que apoyan. Cuanto más apoyo reciban los validadores en forma de altura de apuesta, más probabilidades tendrán de que se les permita crear un nuevo bloque.

    Tanto los validadores como los nominadores pueden ser desechados por errores de implementación.

    Ejemplo: Polkadot.

  7. Prueba de estaca anónima

    Aquí se puede apostar de forma anónima y recibir recompensas sin que se sepa en el mundo exterior.

    Ejemplo: PIVX.

  8. Prueba de participación alquilada

    Un validador necesita una participación de un buen número de monedas de una red para poder considerarse tal. Los nodos pueden entonces arrendar monedas para crear bloques y compartir las ganancias con el validador al que ha arrendado.

    Cada validador establece sus propias condiciones, así que si vas a arrendar con quién, debes prestar mucha atención. El arrendatario siempre puede cambiar a otro validador, por lo que los validadores también deben asegurarse de ofrecer buenas condiciones.

    Por ejemplo: Waves.

  9. Prueba de participación híbrida

    Trata de obtener lo mejor de la combinación de prueba de trabajo y prueba de participación.

    Ejemplo: DASH: DASH.

  10. Prueba de participación segura

    En este protocolo, los validadores se eligen aleatoriamente de forma que no puedan ser influenciados.

    Funciona con el número de monedas en juego, pero también con una valoración del propio validador. En cuanto un validador cometa un error, su calificación bajará y no será elegido tan fácilmente.

    Ejemplo: Elrond.

  11. Prueba delegada de contribución

    Algunas redes recompensan a las personas que hacen algo por la red. Las personas con monedas pueden votar a personas que han ayudado a la red, y tanto los votantes como los nominados reciben una compensación.

    Ejemplo: ICON.

  12. Prueba delegada de participación

    Roll significa aquí lanzar un dado, en otras palabras, un RNG (generador de números aleatorios).

    Esta variante de la prueba de participación delegada intenta evitar los defectos de este protocolo haciendo que los delegados validen un nuevo bloque de forma aleatoria.

    Ejemplo: IoTeX.

  13. Tresholded proof of stake

    Tus monedas se bloquean en juego durante un tiempo determinado, tras el cual se distribuyen las recompensas y tus monedas se desbloquean de nuevo. Existe un cierto umbral (treshold) por debajo del cual no se obtienen recompensas, dependiendo del número de participantes y de las monedas que estén en juego.

    Ejemplo: NEAR.

Diferencias entre proof of work y proof of stake

Del texto anterior ya se pueden extraer muchas cosas, pero repasaremos las diferencias una vez más para que queden claras.

Ambas redes utilizan un mecanismo de consenso para acuñar nuevas monedas, pero el proof of work consume mucha energía en el proceso.

Proof of stake es un sistema en el que los ricos se hacen más ricos, pero al menos puedes unirte si tienes muy poco, mientras que con proof of work, el minero por sí solo es demasiado caro para la mayoría de nosotros.

Con proof of stake, la seguridad de la red está garantizada porque un validador deshonesto o malo puede ser eliminado y perder así las monedas en juego. Por ello, los validadores se aseguran de que el suyo no lo haga.

Con la prueba de trabajo, la seguridad de la red está garantizada porque el coste de un ataque es tan alto que con el tiempo deja de ser rentable.

Con la prueba de trabajo, se necesitan bastantes conocimientos técnicos para participar. Con la prueba de participación, se necesita sobre todo dinero.

Las redes de prueba de trabajo tienden a ser más lentas que las de prueba de participación, por lo que la congestión es más común y la gente se sienta a esperar a que su transacción sea validada.

Con proof of stake, puede surgir el problema de que los validadores reúnan tantas monedas que empiecen a influir en el precio de la criptomoneda.

Con la prueba de trabajo, existe el peligro de que algunas redes acumulen tanta potencia de cálculo que puedan montar un ataque del 51%. En Bitcoin, por ejemplo, hay un pool que posee más del 20% de la potencia de cálculo de toda la red. Cuando los pools se acercan demasiado al 50%, a menudo se les pide que fuercen una división para evitar comprometer la red.

Los costes de transacción de la prueba de trabajo suelen ser mucho más elevados que los de la prueba de participación.

Las monedas de prueba de trabajo pueden venderse en cualquier momento. Si tus monedas están en juego, no puedes. Esto puede ser un problema en un crash o en un mercado bajista. Poner stop losses es imposible si tienes monedas en juego.

Las redes más pequeñas que funcionan con prueba de trabajo pueden ser atacadas más rápidamente si la potencia de cálculo necesaria para un ataque es más barata que su coste.

Con la prueba de participación, esto es casi imposible porque un ataque del 51% requiere un gran número de monedas en juego y donde el atacante puede sufrir enormes pérdidas cuando su comportamiento se hace evidente. Además, el precio de su moneda cae significativamente si lo hace. El mecanismo de la prueba de participación se basa, pues, en un concepto económico evidente.

Pon a prueba tus conocimientos

Pregunta: 1/5¿En qué año se acuñó el término "prueba de trabajo"?
A2008
B2009
C2000
D1999