Explicando a mi abuela que es el Proof of Work (POW)


- Hijo... ¿Qué es eso de la prueba de trabajo?
- Abuelaaaa... tú como siempre haciendo preguntas sencillas - respondí con ironía.

Mi abuela había vuelto a leer el periódico, y aunque yo había intentado por todos lo medios deshacerme de aquella página que hablaba del tema, no se había separado ni un solo minuto del diario en todo la mañana.

- ¿Quieres la respuesta complicada o sencilla? - le pregunté.
- La sencilla. Por su puesto - contestó ella.

Aunque demandó la respuesta sencilla, entender lo que llamaban prueba de trabajo era una tarea titánica para mi pequeña cabecita.

Albert Einstein ya lo dijo en su día:

"No entiendes realmente algo a menos que seas capaz de explicárselo a tu abuela." Albert Einstein

Así pues, me puse manos a la obra.

¿Qué es el Proof of Work (POW)?


Lo primero que hice fue ir a la Wikipedia para buscar una primera definición más o menos esclarecedora.

Un Sistema de prueba de trabajo o Sistema "POW" (del inglés Proof-Of-Work system), es un sistema que, para evitar comportamientos indeseados (por ejemplo ataques de denegación de servicio o spam), requiere que el cliente del servicio realice algún tipo de trabajo que tenga cierto coste y que es verificado fácilmente en la parte del servidor. Normalmente el trabajo consiste en realizar un cómputo en el ordenador del cliente. La característica clave de la estrategia es su asimetría: El trabajo debe ser moderadamente difícil (pero factible) por el lado del cliente, pero fácil de verificar por el lado del servidor.

Esta vez, y a diferencia de lo que ocurrió con el BlockChain, quedé contento con la definición simple que la Wikipedia me había proporcionado.

Aún así, debía simplificar aún más dicha definición para acercarla a la analogía de las galletas (tokens), los comedores de galletas (mineros) y las cajas (bloques) que usé para explicarle el BlockChain.

Así le expliqué que era el Proof of Work o la Prueba de Trabajo:

- ¿Te acuerdas de las cajas, las galletas y los comedores de galletas? - le pregunté.
- Sí, todavía me acuerdo - respondió expectante.
- Pues resulta que...

...la Prueba de Trabajo es el sistema por el cual se asegura que los comedores de galletas cierran las cajas según las normas y las colocan en la pila de cajas en el orden marcado.

- ¿Más o menos te ha quedado claro abuela?
- Sí, hijo - respondió.

Aunque había respondido de la forma más sencilla posible que era el Proof of Work, sabía que mi abuela no se iba a parar ahí. Si hacía una pregunta, habría muchas más, hasta que todas las dudas que albergaba fueran respondidas, y teniendo en cuenta que la Prueba de Trabajo era algo que generaba gran cantidad de dudas, las preguntas de mi abuela no habían acabado ahí.

¿Cuál es la filosofía del Proof of Work?


- Hijo...
- ¿Sí, abuela?
- Pero... ¿Cuál es la razón por la que los Comedores de Galletas quieren cerrar bien las cajas?

Nuevamente hinque los codos y estudié, como pude el funcionamiento de una tecnología que escasamente entendía y que a buen seguro no iba a entender por completo en toda mi vida.

El consenso


- ¿Que hacía del BlockChain un sistema seguro? - me pregunté.
- El consenso - respondió mi otro yo.

- ¿Te acuerdas de la pila de cajas? - pregunté a mi abuela.
- Sí, me acuerdo bien.
- Imagina que esa pila de cajas, llenas de galletas, ha sido copiada tantas veces como buzones mágicos hay en el mundo. Siempre que un comedor de galletas cierra una caja correctamente se hará una copia de ella en cada pila de cajas del mundo y si por algún casual, alguien modifica alguna de la pilas de cajas, se sabrá al momento.
- ¿Te ha quedado claro abuela?
- Sí, pero... ¿esto ya forma parte de la Prueba de Trabajo?
- No... todavía no, pero es un buen comienzo para meternos en situación ¿no? - respondí con una sonrisa en la boca.
- Síiii.... tienes toda la razón del mundo. - exclamó mi abuela.
- Ahora bien. ¿Qué hace que BlockChain sea seguro? - le pregunté.
- Me gustan los acertijos, pero no me gusta que me los reciten a mí - respondió como solo una abuela puede hacerlo.
- El consenso - exclamé - lo que hace del Blockchain seguro, es el consenso. El saber que cada uno de los comedores de galletas hace bien su trabajo y sus buenas intenciones... pero... ¿Cómo demuestran sus buenas intenciones?

¿Cómo confiar en un comedor de galletas (minero)?


Lógicamente nadie o poca gente conoce a un comedor de galletas, aunque también es verdad, que no conozco personalmente al director de mi banco y aún así tengo una cuenta bancaria abierta en esa entidad.

Nadie confiaría en un desconocido para gestionar su dinero y mucho menos el sistema completo de transacciones de galletas (bitcoins)...

...así pues... para que el sistema, y cada uno de los comedores de galletas, sea confiable, cada uno de ellos debe demostrarlo dedicando tiempo, dinero y energía en el proceso.

- ¿Cómo? - exclamó mi abuela - ¿para hacer confiable el blockchain los comedores de galletas deben gastar dinero?
- Sí - enfaticé -No solo deben gastar dinero, sino que deben dedicar tiempo y energía en conseguir cerrar las cajas de galletas (bloques) de forma correcta.
- Pero... ¿Ganan algo con ello?
- Sí... ahí es donde quería llegar. El sistema les recompensa con esos trocitos de galletas (comisiones) que te expliqué el otro día.
- Y ¿cómo sé que los comedores de galletas (mineros) no roban galletas enteras en el proceso?

Para que los mineros pudiesen robar las galletas (tokens) enteras, deben cerrar las cajas (bloque), y para hacerlo tienen que gastar una gran cantidad de tiempo, energía y dinero.

- Si un comedor de galletas quiere robar una galleta completa gastaría más energía,, tiempo y dinero que si cierra una caja de forma correcta, para así ganar una buena cantidad de trozos de galletas.

Un ladrón de galletas (tokens), busca rentabilidad.

- No vale de nada robar una galleta (token) si luego te vas a gastar esa galleta o alguna más para robarla. Mejor hacer las cosas bien ¿no?
- Sí. Tienes razón. No te descarríes. - me advirtió.
- ¿Y a que viene eso ahora?
- Lo digo por si acaso. Nunca se sabe

Las abuelas y su sabiduría popular.

¿Cómo funciona la Prueba de Trabajo?


- Ahora ya sé porque un comedor de galletas (minero) hace las cosas bien, pero... ¿Cómo funciona la Prueba de Trabajo? - volvió a preguntar mi abuela.
- ¿Te acuerdas lo que te conté el otro día sobre el DNI (hash) de cada una de las cajas y otras cosillas relacionadas?
- Me acuerdo vagamente del tema, pero sí, me acuerdo.

- El Dios de las Galletas (algoritmo) es el que permite que los comedores de galletas (mineros) cierren bien las cajas (bloques). Para comprobar que hacen bien su trabajo y que sus intenciones son honorables, el Dios modificará la dificultad de cerrar las cajas de galletas.
- ¿Es un Dios malvado? - preguntó mi abuela.
- Malvado NO, pero si muy cauteloso - respondí - la idea esque al comedor de galletas le sea complicado averiguar cual es el DNI (Hash) de la caja (bloque) que está intentando cerrar en ese momento. Para averiguar cual es el DNI (hash) correcto, debe probar una gran cantidad de DNIs. Cuanto más rápido (hashrate) sea capaz de probar esos códigos, más posibilidades tendrá de cerrar la caja. Pero... hay un problema.
- ¿Qué problema hay? - preguntó mi querida abuela con ojos de entusiasmo - ¡No me dejes con la incógnita!
- Cuanto más rápido sea un comedor de galletas y el resto de comedores de galletas, el Dios de las Galletas les pondrá las cosas más complicadas.
- Uyss... pues a mi me parece que el Dios de las Galletas es un Dios malvado.
- Todo depende de la perspectiva desde la que se mire - le respondí antes de darle un fuerte abrazo.

- ¿Te ha quedado claro ya?
- Sí. A mi si me ha quedado claro, ¿y a tí?

Fuentes: Criptomania, Criptomania, Wikipedia