QuieroChat

La historia de la pizza BitCoin

Pizza Bitcoin

Hoy es 22 de Mayo, y como todos los 22 de Mayo desde 2011, celebramos el «Bitcoin Pizza Day» en inglés.

Se trata de la primera transacción en el mundo real pagada con Bitcoins de la que se tiene constancia.

Por este motivo, y debido a que el valor de la compra hoy en día es una auténtica burrada, se conoce al acontecimiento como la Pizza Bitcoin y se celebra todos los 22 de Mayo en su honor.

Laszlo pagó 10.000 Bitcoins por dos pizzas, esto hace un total de 5.000 Bitcoins cada pizza. A día de hoy tendrían un valor unitario de más de 35 millones de €.

¿Quién iba a imaginárselo en 2010?


Si algún dia te sientes triste, lee este artículo

Ten en cuenta que hablamos de 2010, cuando el valor del Bitcoin era casi insignificante. Obviamente, nadie imaginaba que lo que apenas tenía valor en 2010 (10.000BTC) iba a suponer una auténtica fortuna en los años venideros. 10.000 Bitcoins en la época eran unos 41 dólares americanos al cambio.


Tenemos que remontarnos a 2010 para contar esta historia… El año anterior, alrededor del 3 de Febrero de 2009 apareció el protocolo Bitcoin comenzó el minado de Bitcoin, con el minado del bloque génesis.

El bloque génesis fue el primer bloque minado de Bitcoin de la historia y fue el comienzo del protocolo que hoy conocemos.

Durante ese año y el siguiente muchos mineros, mayoritariamente usuarios amateur, comenzaron a minar Bitcoins con sus ordenadores, por puro hobby y diversión. Entre ellos se encontraba Laszlo Hanyecz, un programador informático residente en Jacksonville, Florida.

Laszlo Hanyecz, el programador informático que le gustaban las pizzas

Laszlo Hanyecz posiblemente como comentamos, por puro hobby, consiguió varios miles de Bitcoins por su labor como minero de Bitcoin, remunerando su labor de minado de bloques.

Como hemos dicho antes, nadie podía saber que el valor del Bitcoin iba a superar los 10.000 dólares en unos años… Fuese por el motivo que fuese, Laszlo publicó el 18 de Mayo de 2010 un post en Bitcointalk, que aún se conserva, en el cual pedía que alguien le llevase dos pizzas a su casa y que él pagaría 10.000 Bitcoins por ellas.

De una sencilla cuenta, obtenemos que cada pizza costaría 5.000 Bitcoins.

A día de hoy cualquier persona perdería la cabeza por llevarle dos pizzas a este señor si le pagasen 10.000 Bitcoins. Pero no creáis que en 2010 fue trabajo fácil. Hicieron falta aproximadamente 4 días para que alguien le llevase las dos famosas pizzas.

La pizza Bitcoin finalmente es una realidad

Despues de varias respuestas a su post durante unos días, el 22 de Mayo de 2010, Laszlo publicó una respuesta en el mismo post que él había creado:

Había conseguido que alguien le entregase dos pizzas a domicilio y había pagado por ellas 10.000 Bitcoins. Sí, diez mil BTC.

La primera transacción en criptomonedas de la que se tiene historia, llamado como la pizza Bitcoin. Podéis ver fotos de las pizzas más caras de la historia en el siguiente enlace:

http://heliacal.net/~solar/bitcoin/pizza/

Debido al precio pagado en Bitcoins – 10.000 BTC -, la pizza Bitcoin ha pasado a la historia y es conocida mundialmente en todos los foros de criptomonedas. Es fuente de mofa y burla en algunos foros y en otros es digno de admiración.

Nadie puede saber el valor que tendrá algo en el futuro y Laszlo se gastó sus Bitcoins en algo que le gustaba, pizzas.

A día de hoy cada pizza tendría un coste de más de 35 millones de euros. De hecho existe una cuenta de Twitter, @bitcoin_pizza, la cual nos recuerda todos los días el valor fluctuante en dólares pagado por aquellas dos pizzas a día de hoy.

Conseguir una dirección de Bitcoin personalizada

En estos días que BitCoin está tan en auge, queremos enseñaros que existe un programa que calcula y genera direcciones personalizadas de Bitcoin, y muchas más monedas virtuales.

Se trata de Vanitygen PLUS, el cual se trata de un programa con fines educativos y no 100% fiable según sus creadores (indican claramente que hay que comprobar la clave privada en el respectivo monedero para estar seguros que no ha habido fallos), así si se hace uso de él, cuando genere la dirección SIEMPRE comprobar la clave privada para ver que corresponde con la dirección generada.

Los monederos son direcciones donde enviar tus criptomonedas

En cualquier monedero de cualquier criptomoneda que permita el uso de la clave privada para importar un monedero debe dar esa opción, introduciendo la clave privada se genera la dirección correspondiente, ese es el único modo de comprobar que el programa ha efectuado correctamente el cálculo de la dirección pretendida.

Una dirección de BitCoin no es más que un conjunto alfanumérico que comienza por el número 1 y tiene 34 caracteres en total, contando el 1 al comienzo. Todas las direcciones de BitCoin comienzan por el número 1 y a continuación se trata de un conjunto de números y letras, generado a partir de una clave privada, sin que se puedan elegir qué numeros o qué letras se desean que incluya con el fin de poder obtener alguna palabra en la dirección.

Vanitygen

Vanitygen calcula claves privadas a lo bruto, esto es, el programa símplemente calcula claves privadas y comprueba cual es la dirección asociada que genera esa clave privada, hasta que encuentra una que coincide con nuestro patrón de búsqueda. Por eso tarda tanto a medida que se buscan más caracteres. Fuerza bruta total.


Los monederos «vanidosos»

Seguro que alguna vez habéis visto, en YouTube u otros sitios, algo así como hazme una donación, dóname BitCoins a mi cuenta 1DonameDineroBitcoin9UCLTUSoJ8HSF (esta cuenta es un ejemplo ficticio, no es válida, ¡así que no enviéis dinero aquí!)

Esta dirección de BitCoin de ejemplo se trata de una dirección personalizada, también llamada (en inglés) Vanity BitCoin Address, que vendría a ser traducido a «Dirección de BitCoin Vanidosa«.

Hay que recalcar que es posible añadir algunas letras al comienzo de la dirección que deseamos personalizar, pero que con cada letra que se añade se incrementa la dificultad, y por tanto el tiempo necesario para conseguir la dirección con el patrón inicial deseado, hasta hacer inviable la tarea.

La dificultad de la búsqueda de la dirección personalizada

A continuación os lo explicamos mediante un ejemplo:

Vamos a crear una dirección vanidosa de Bitcoin usando una tarjeta gráfica GTX 1050 de 4GB, ya que el proceso es más rápido que con una CPU. Existen dos modalidades; una es buscando un patrón sin considerar mayúsculas y minúsculas (más fácil y por tanto más rápido) y otro es siendo estrictos con las mayúsculas y minúsculas. Es curioso ver los resultados, por el tiempo que el programa estima para tener una solución.

Hay que aclarar que el programa estima el tiempo a emplear considerando el 50% de probabilidades de éxito, quiere esto decir que es posible que la clave aparezca antes, o después. Es una estimación. El programa entiende que al llegar a un 50% de probabilidades más o menos aparece la clave privada. Pero se nos han dado casos que la clave ha aparecido despues del 100% y en otros casi al principio.

Como Bitcoin empieza por 1, hay que buscar un patrón que incluya el 1, por tanto vamos a empezar la casa por el tejado haciendo pruebas a lo imposible y empezar por el final, vamos a buscar el patrón 1Lamborghini, porque si tuviésemos unos 25 BTC tan solo, a día de hoy con el Bitcoin por encima de los 8.000 dólares, podríamos comprarnos un Lamborghini.

Método de uso de Vanitygen

Para utilizar Vanitygen hay que descargar el programa desde AQUI, posteriormente extraerlo todo a una carpeta y crear un archivo en blanco con el block de notas (Notepad), cambiando la extensión .txt por .bat. En dicho archivo hay que introducir los códigos que os ponemos a continuación, modificando lo que se desee. Si no se posee una tarjeta gráfica potente y se desea utilizar la CPU, hay que sustituir oclvanitygen.exe por vanitygen.exe.


Ejecutamos este código el cual buscará una dirección de BTC que comience por 1Lamborghini (recordamos que todas las direcciones de Bitcoin comienzan por 1 y ese 1 hay que respetarlo en primer lugar) y nos guardará la dirección y la clave privada en un fichero llamado BTC.txt con el resultado:

oclvanitygen.exe -C BTC -o BTC.txt 1Lamborghini

¡¡¡Y sorpresa!!!… Si quisiésemos tener una dirección de Bitcoin que comenzase por 1Lamborghini, calculándolo con una tarjeta gráfica GTX 1050, tendríamos que esperar nada menos que … ¡12.000 años! ¡Doce mil años!

Las mayúsculas y minúsculas suponen una diferencia en la dirección

En caso que nos diese igual las mayúsculas y minúsculas, podríamos tener una dirección de Bitcoin que comenzase por ejemplo por 1LAmbOrGhiNi ó 1lAmBorGhINi (sería una combinación de mayúsculas y minúsculas aleatoria, no se puede elegir) en tan solo …. ¡90 años! Creemos que la tarjeta gráfica se freiría antes, pero bueno, a veces hay que ser curioso para obtener números. El código sería este:

oclvanitygen.exe -C BTC -o BTC.txt -i 1Lamborghini

Conseguir una dirección vanidosa no es tarea fácil

Vamos a centrarnos en el tiempo que se tardaría para obtener una probabilidad del 50%, empezando a quitar letras, en este caso siendo estrictos en las mayúsculas y minúsculas. A ver cómo va evolucionando:

  1. 1Lamborghini – 12.000 años para el 50%
  2. 1Lamborghin – 195 años
  3. 1Lamborghi – 3.3 años
  4. 1Lamborgh – 21 días
  5. 1Lamborg – 8.7 horas
  6. 1Lambor – 11 minutos
  7. 1Lambo – 10 segundos
  8. 1Lamb – 0 segundos (inmediato)

Y ahora hacemos la misma prueba, pero sin distinción de mayúsculas y minúsculas, en tal caso que Vanitygen encuentre una dirección que incluya el patrón, se da por válida:

  1. 1Lamborghini – 90 años para el 50%
  2. 1Lamborghin -1.9 años
  3. 1Lamborghi – 26 días
  4. 1Lamborgh – 8.1 horas
  5. 1Lamborg – 13 minutos
  6. 1Lambor – 43 segundos
  7. 1Lambo – 2 segundos
  8. 1Lamb – 0 segundos (inmediato)

A la vista de este experimento queda claro que es mucho más fácil obtener una secuencia larga si no especificamos que queremos exactamente el patrón de búsqueda incluyendo mayúsculas y minúsculas.

¡¡¡NO UTILIZAR EL GENERADOR DE DIRECCIONES SIN COMPROBAR EN EL RESPECTIVO MONEDERO QUE LA DIRECCIÓN CREADA SE CORRESPONDE CON LA ESPERADA!!!

Comienzo de patrones

Se incluye el listado de todas las criptomonedas que soporta Vanitygen porque hay que incluir en el patrón de búsqueda la letra o carácter inicial, al igual que con Bitcoin utilizamos siempre el 1 al comienzo para buscar el patrón.


Listado de monedas virtuales o criptomonedas

También hay que decir que el listado de las monedas de las que este programa es capaz de generar direcciones personalizadas no sólo incluye a BitCoin sino muchísimas más, a día de hoy es el siguiente:

  1. 42coin (dirección empieza por 4)
  2. Asiacoin (dirección empieza por A)
  3. Advanced Internet Block by IOBOND (dirección empieza por A)
  4. Anoncoin (dirección empieza por A)
  5. Arkstone (dirección empieza por A)
  6. Auroracoin (dirección empieza por A)
  7. Blackcoin (dirección empieza por B)
  8. BBQcoin (dirección empieza por b)
  9. Bitcoin (dirección empieza por 1)
  10. (1)Bitcoin Testnet (dirección empieza por m o n)(
  11. (2)Bitcoin Dark (dirección empieza por R)
  12. Chococoin (dirección empieza por 7)
  13. Cannacoin (dirección empieza por C)
  14. Canadaecoin (dirección empieza por C)
  15. Clamcoin (dirección empieza por x)
  16. Chinacoin (dirección empieza por C)
  17. C-Note (dirección empieza por C)
  18. PayCon (dirección empieza por P)
  19. Crown (dirección empieza por 1)
  20. Dash (dirección empieza por X)
  21. DeepOnion (dirección empieza por D)
  22. Digibyte (dirección empieza por D)
  23. Digitalcoin (dirección empieza por D)
  24. Diamond (dirección empieza por d)
  25. Doge Dark Coin (dirección empieza por D)
  26. Dogecoin (dirección empieza por D)
  27. Dopecoin (dirección empieza por 4)
  28. Devcoin (dirección empieza por 1)
  29. Electronic-Gulden-Foundation (dirección empieza por L)
  30. Emercoin (dirección empieza por E)
  31. Exclusivecoin (dirección empieza por E)
  32. Faircoin2 (dirección empieza por f)
  33. FLOZ (dirección empieza por F)
  34. Feathercoin (dirección empieza por 6 o 7)
  35. GameCredits (dirección empieza por G)
  36. Gapcoin (dirección empieza por G)
  37. Global Currency Reserve (dirección empieza por G)
  38. GridcoinResearch (dirección empieza por R o S)
  39. Groestlcoin (dirección empieza por F)
  40. Guncoin (dirección empieza por G o H)
  41. HamRadiocoin (dirección empieza por 1)
  42. HOdlcoin (dirección empieza por H)
  43. Ixcoin (dirección empieza por x)
  44. Jumbucks (dirección empieza por J)
  45. LBRY (dirección empieza por b)
  46. Leafcoin (dirección empieza por f)
  47. Litecoin (dirección empieza por L)
  48. Memorycoin (dirección empieza por M)
  49. Monacoin (dirección empieza por M)
  50. Monetary Unit (dirección empieza por 7)
  51. Myriadcoin (dirección empieza por M)
  52. Mazacoin (dirección empieza por M)
  53. Neoscoin (dirección empieza por S)
  54. Gulden (dirección empieza por G)
  55. Namecoin (dirección empieza por M o N)
  56. Novacoin (dirección empieza por 4)
  57. Nyancoin (dirección empieza por K)
  58. OK Cash (dirección empieza por P)
  59. Omnicoin (dirección empieza por o)
  60. Piggycoin (dirección empieza por p)
  61. Pinkcoin (dirección empieza por 2)
  62. Parkbyte (dirección empieza por P)
  63. Pandacoin (dirección empieza por P)
  64. Potcoin (dirección empieza por P)
  65. Peercoin (dirección empieza por P)
  66. Pesetacoin (dirección empieza por K)
  67. Protoshares (dirección empieza por P)
  68. Rubycoin (dirección empieza por R)
  69. Reddcoin (dirección empieza por R)
  70. Riecoin (dirección empieza por R)
  71. Scamcoin (dirección empieza por S)
  72. Shadowcoin (dirección empieza por S)
  73. Skeincoin (dirección empieza por S)
  74. Spreadcoin (dirección empieza por S)
  75. Startcoin (dirección empieza por s)
  76. Sexcoin (dirección empieza por R o S)
  77. Templecoin (dirección empieza por T)
  78. Unitus (dirección empieza por U)
  79. Unobtanium (dirección empieza por u)
  80. Viacoin (dirección empieza por V)
  81. Vpncoin (dirección empieza por V)
  82. Vertcoin (dirección empieza por V)
  83. Worldcoin Global (dirección empieza por W)
  84. Wankcoin (dirección empieza por 1)
  85. Dubstepcoin (dirección empieza por D)
  86. XCurrency (dirección empieza por X)
  87. Primecoin (dirección empieza por A)
  88. Yacoin (dirección empieza por Y)
  89. Zoom coin (dirección empieza por i)
  90. Ziftrcoin (dirección empieza por Z)
El poder de la criptografía aplicado a la minería de criptomonedas

Como punto final a este artículo, queremos deciros lo que tardaríais con una tarjeta GTX 1050 en calcular la dirección de ejemplo que os dimos al principio, 1DonameDineroBitcoin9UCLTUSoJ8HSF. Si quisiéseis una dirección que comenzase por 1DonameDineroBitcoinTendríais que esperar unos 350 millones de millones de años (350.000.000.000.000) lo cual equivaldría a unas 25.000 veces la edad de nuestro universo… ¡Casi nada!


«Hackear» un monedero de Bitcoin buscando su clave privada

Por curiosidad, hemos hecho la prueba final de calcular una dirección de Bitcoin entera, de 34 cifras, lo que vendría siendo la equivalencia de «hackear» una dirección Bitcoin de otra persona consiguiendo su clave privada. El resultado es… ¡Que el programa no funciona! Entendemos que, en todo caso, si para calcular 20 dígitos (1DonameDineroBitcoin) se necesitan 25.000 veces más de tiempo que la edad entera del universo, ya con eso nos hacemos una idea de lo que haría falta para 34 dígitos…