Breaking news!!!

Hoy es día de los inocentes y si, caíste, no pasa nada, de todas formas puedes aprender algo XD.

 

Efectivamente, existió un bip-0042 (Bitcoin Improvement Proposal por sus iniciales en inglés). Lo publicó Pieter Wuille (uno de los devs más respetados de Bitcoin Core) el 1 de abril de 2014, justo en April Fools’ Day. El BIP fingía “arreglar” un detalle técnico en el código original de Satoshi escrito en C++.

 

Sí que había un problema, que era real y que Pieter uso para lanzar la broma. La forma en que se calculaba la recompensa por bloque usaba un desplazamiento a la derecha (>>=) repetido cada 210.000 bloques. Después de unos 33 halvings (allá por el año ~2140), cuando la recompensa llegará a 0 en la práctica… pero como el comportamiento de Bitcoin es que siga calculándose el halving (incluso cuando la recompensa ya es 0), lo que iba a suceder es que llegado al halving 64, más o menos a la altura ~13.44 millones de bloques (o sea más o menos por el año ~2265 – 2270), el comportamiento en C++ daría un error que llevaría a que a partir de ahí, la recompensa volviera a ser de 50 bitcoin por bloque.

 

Si te interesa la parte técnica: Eso significa que el shift sería de 64 bits. En C++, un right shift >=64 en un tipo de 64 bits es «undefined behavior» (UB), lo que significa que no está especificado qué pasa. En la mayoría de los compiladores y arquitecturas (como x86), el monto del shift se «enmascara» con &63 (módulo 64), así que un shift de 64 se trata como shift de 0. Resultado: nSubsidy = 50 * COIN >> 0 = 50 BTC de nuevo. Luego, el ciclo de halvings se repetiría indefinidamente cada 64 halvings.

 

Pero OJO, la broma maestra de Pieter viene de decir que Satoshi quería intencionalmente un suministro infinito (“Satoshi fue un genio… programó Bitcoin para crecer forever”). Resultado: uno de los April Fools más épicos de la historia crypto. Sigue marcado como “Final” en el repo oficial de BIPs, pero nadie lo tomó en serio ni lo implementó (obvio).

 

Sin embargo, en el código que Satoshi lo publicó, desde el día cero, Bitcoin siempre ha sido pensado para ser limitado. Así que no, Bitcoin no se va a emitir indefinidamente. Sigue siendo finito, como siempre se pretendió. 😂

El bug se corrigió de verdad en Bitcoin Core en la versión v0.9.2 (2015), con una condición muy simple: si halvings >= 64, subsidio = 0.

 

Si quieres conocer más sobre la broma y el BIP te invito a leer el BIP: A finite monetary supply for Bitcoin

 

¡Que no te vendan historias hoy!

Si aprendiste algo nuevo sobre BIP-42, misión cumplida. 🚀

 

 

Feliz día de los Inocentes!!!

Puedes dejar una propina con el botón «Invítame un café».

O mediante Lightning network:

[email protected]

También puedes hacerlo onchain, vía Paynyms de Samourai Wallet:

PayNym: +decentralized