Los cambios y actualizaciones de Bitcoin tienen que ponerse a prueba en un entorno estanco y controlado, en el que si hay errores no afecten a la estabilidad de la red principal. Esto es lo que se llama testnet o red de pruebas.
La Testnet o red de pruebas es sin duda alguna es una herramienta muy útil para los desarrolladores de criptomonedas como Bitcoin. Estas redes controladas ofrecen un espacio en el que puedes hacer cualquier tipo de modificación sin correr el riesgo de que todo falle.
Los inicios de la Bitcoin Testnet
Los inicios de la red testnet en Bitcoin se remontan al año 2010, para ser más exacto al 19 de octubre de 2010. En ese momento, Gavin Andresen envía un parche para habilitar esta funcionalidad que fue aceptado por Satoshi Nakamoto. El parche en cuestión podemos verlo aquí, y con ello da inicio a la primera testnet de Bitcoin.
Con la creación de la primera red de pruebas, se habilitaba la posibilidad de que los desarrolladores pudieran hacer pruebas de los cambios del software sin tocar la red principal. Las ventajas de estas redes son inmensas, empezando porque permiten acelerar el desarrollo del software y ampliar su base de pruebas.
Sin embargo, el 3 de febrero la red Testnet1 sería reiniciada a petición del desarrollador David François quien elevaría un parche al código de Bitcoin Core. Esta nueva testnet fue conocida como Testnet2. La Testnet2 por otro lado presentó dos graves problemas:
- La red comenzó a tener una alta dificultad.
- Debido a la alta dificultad muchos usuarios se aprovecharon para vender las monedas Testnet como bitcoins reales.
Ante esta situación, el 12 de abril de 2012, Andresen reiniciaría la red e iniciaría la nueva testnet de Bitcoin, la actual Testnet3. Con este cambio, los desarrolladores de Bitcoin se asegurarían que fallos como los de Testnet1 y Testnet2 no volvieran a ocurrir. Algo que de hecho han logrado, puesto que Testnet3 aún sigue activo bajo sus reglas de consenso propias.
Mainnet y Testnet ¿Cuáles son sus diferencias?
A Bitcoin se le asocian dos redes, aunque son redes totalmente separadas:
- Mainnet: Red principal
- Testnet (o Testnet3): Red de pruebas
Mientras que en la red Mainnet viven los bitcoins que conocemos, en la red Testnet «vive» una criptomoneda idéntica al bitcoin pero con su propio tipo de direcciones y su propio registro de contabilidad o blockchain. Ponemos la palabra vive entre comillas, pues lo único que existe es un registro de contabilidad. Para que tengas una mejor idea mira el siguiente ejemplo:
En Testnet las direcciones no empiezan por «1» o «3» como en Bitcoin, sino por «m» o «2«. Ejemplos:
mvN7z3C3GNwTkeEY2tvAQzragtDoiQZ5CF
2NEPMeQcRF7j3uZvQYqsEQxxdCqEnNgDyXd
Esta diferencia parece pequeña, pero es la que garantiza que sea imposible enviar bitcoin desde mainnet a la testnet. Esto debe ser así porque las monedas de testnet carecen de valor alguno. La razón es que minar monedas en testnet es muy sencillo, tan sencillo que cualquier computador puede hacerlo. Esto obviamente no se compara con la dificultad y la inversión que debe hacerse para lograr el mismo cometido en la red Mainnet.
Pero si deseas saber más sobre como toma su valor el Bitcoin te recomendamos leer este otro articulo.
Otras diferencias entre mainnet y testnet son las siguientes:
- Testnet usa un valor diferente en el parámetro ADDRESSVERSION. Este parámetro es el que acaba creando direcciones diferentes y por eso ninguna dirección de Testnet funciona en Bitcoin. Mientras que Bitcoin usa 0x00 en Testnet se usa 0x6F. Es algo clave para que se puedan identificar visualmente.
- La red Testnet utiliza un bloque Génesis diferente al de la red Bitcoin principal. El bloque Génesis es la semilla del cual empieza a crearse el libro de contabilidad, el blockchain. Solo cambiando el bloque Génesis se empieza una nueva criptomoneda, pues empiezas un nuevo libro de contabilidad.
- La comprobación IsStandard() escrita en el código de Bitcoin se desactiva en Testnet, lo que permite un escenario perfecto para experimentar con transacciones y nuevas ideas.
- En el arranque de Testnet usa diferentes semillas de DNS.
- La cabecera de los mensajes del protocolo es 0x0B110907 en vez de 0xF9BEB4D9 que se usa en Bitcoin.
- El programa de Bitcoin es un nodo de una red P2P y necesita comunicarse con otros nodos de la red. Normalmente usa el puerto 8333 del ordenador, pero en modo Testnet usa el puerto 18333 para poder operar ambos modos al mismo tiempo en un mismo ordenador. Un puerto son puntos de entrada y salida de información que todos los ordenadores tienen.
- El programa de Bitcoin también permite comunicarse con otros programas, por ejemplo los que como desarrollador puedes crear tú. Este es el puerto usado para el protocolo RPC. Testnet usa 18332 mientras que Bitcoin usa 8332.
- Si un bloque no ha sido encontrado en 20 minutos, la dificultad se reinicia automáticamente.
Te ayudamos
Preguntas Frecuentes
Encuentra preguntas resueltas sobre Bitcoin.
Bitcoin fue creado por Satoshi Nakamoto. El nombre es un seudónimo y su verdadera identidad es desconocida. Nakamoto hizo público su invento el 31 de octubre de 2008, al enviar el whitepaper de Bitcoin a una lista de correo de criptográfos. En 2009 publicó la primera versión del cliente de Bitcoin y estuvo trabajando durante un tiempo (junto a otros desarrolladores como Hal Finney) hasta 2011, cuando desapareció y dejó el proyecto en manos de otros. También puedes conocer a las personas más vinculadas a la .identidad de Satoshi Nakamoto en el artículo sobre los sospechosos habituales.
Para comprar Bitcoins, debes registrarte en una plataforma de intercambio de criptomonedas, como Bit2Me y seguir los pasos necesarios para comprar Bitcoin utilizando una tarjeta de crédito o transferencia bancaria. Además puedes ampliar para conocer cuáles son los pasos detallados para comprar Bitcoin.
Muchos comercios están comenzando a ofrecer la posibilidad de pagar con Bitcoin. En muchos casos, deberás tener configurada tu billetera de Bitcoin (que deberá contener suficientes Bitcoin para realizar el pago), y finalmente, solo tendrás que realizar el pago a la dirección del vendedor, indicando cuántos bitcoins vas a enviar. Recuerda que, si vas a utilizar este método, debes comprobar siempre que la dirección a la que vas a enviar es la correcta. También puedes pagar con Bitcoin utilizando una tarjeta de débito, como Bit2Me Card. En este caso, solo tienes que vincular al tarjeta a tu monedero de Bitcoin, asegurarte de que tienes fondos suficientes y pagar, como lo harías con tu tarjeta de toda la vida.
La cotización del Bitcoin varía constantemente debido a las fluctuaciones del mercado. Puedes verificar la cotización actualizada en tiempo real en diferentes sitios web, como CoinMarketCap o TradingView. También tienes la posibilidad de ver el gráfico de su relación con el Euro en https://pro.bit2me.com/exchange/BTC-EUR.
Las transacciones Bitcoinson la transferencia de Bitcoins entre dos direcciones Bitcoin. Estas transacciones se registran en la blockchain de Bitcoin, que es un libro de contabilidad público e inmutable. Cada transacción es validada por nodos de la red Bitcoin y se confirma cuando se agrega a un bloque en la cadena de bloques. Las transacciones Bitcoin son irreversibles, lo que significa que una vez que se confirma una transacción, no se puede deshacer. Cada transacción tiene una tarifa de transacción, que se paga a los mineros que validan la transacción y agregan un bloque a la cadena de bloques.
El Bitcoin (BTC) es la primera moneda basada en la criptografía asimétricay que ha abierto un mundo de posibilidades. La idea de esta criptomoneda nace de otros elementos ya existentes y menos conocidos, como son HashCash, BitGold o DigiCash, que son combinados dentro de una red de pagos entre pares (peer-to-peer o P2P).
¿Por qué se ha creado y está tan integrado?
Seguro que el nombre de «Testnet» te da pistas de por qué se ha creado, si no a continuación te dejamos las dos claves para entenderlo:
- Para mejorar Bitcoin: Es el escenario perfecto donde analizar el funcionamiento de nuevas mejoras. Ofrece una red muy similar a Bitcoin, con las mismas reglas y misma forma de operar. Antes de desplegar un cambio en la versión Mainet se implementa en esta red y se observa el resultado sin grandes consecuencias.
- Para integrar Bitcoin: Si quieres crear cualquier herramienta que use Bitcoin necesitas poder hacer pruebas de sus transacciones y capacidades trabajando con tu código, pero ese código debe ser totalmente funcional a la hora de trabajar con bitcoins.
Y es que la diferencia principal de la red de testeo de Bitcoin con la red principal es que sus monedas no tienen valor, puesto que minarlas no conlleva ningún coste considerable.
Imaginemos que alguien propone una mejora para Bitcoin. Una vez se desarrolla esta mejora debe probarse, pues podría romper Bitcoin, pero no puede probarse en un sitio que funcione bajo otra lógica diferente. Esta mejora puede ejecutarse en la red Testnet o incluso en una nueva «Testnet».
Un caso de uso de la red Testnet lo vemos en SegWit. Sin testnet, las pruebas de SegWit hubieran resultado prácticamente imposibles dentro de la red principal sin causar caos debido a los cambios que dicha implementación necesitaba realizar.
Las monedas de Testnet no tienen valor
Pese a ser una criptomoneda casi idéntica a Bitcoin, como te hemos explicado arriba (tiene 21 millones, se mina el bloque cada 10 minutos,…), esta moneda no tiene valor. No importa que tengas miles.
Esto es así porque esta moneda es muy fácil de conseguir, se ha creado para que desarrolladores tengan un entorno donde probar cosas sin perjuicios económicos.
Consejo: ¡Cuidado con las estafas! Podrían intentar venderte monedas de la red de Testnet. Deberías estar muy despistado y ser muy novato para caer en algo así, pero puede ocurrir. Recuerda cómo empiezan las direcciones de la red Testnet. Ahí no se pueden recibir nunca bitcoins.
Testnet para aprender a usar Bitcoin
Testnet es el Bitcoin de los novatos.
¿Por qué razón?. Pues bien, en ella se mueve una criptomoneda que no cuesta nada de dinero y que la dan gratis pero que funciona con las mismas reglas de Bitcoin. Esto lo hace perfecta para el novato que quiere probar cómo funciona Bitcoin sin necesidad de comprar bitcoins. En ella, los monederos, las transacciones, mandar y recibir transacciones, todo funciona de la misma manera. Visualmente solo verás que cambia la dirección.
Muchos monederos Bitcoin pueden operar con esta red simplemente apretando un botón y existen webs (llamadas comúnmente faucets) que regalan las monedas.
Imagina que eres profesor y quieres que tus alumnos experimenten o que quieres hacer tu primera experiencia. Aunque podrías tirarte al barro y hacerlo con dinero real, también puedes hacerlo en Testnet.
Solo deberías seguir los siguientes pasos:
- Ve al monedero Bit2Me Wallet, el cual tiene soporte para la red de pruebas de Bitcoin.
- Una vez abierto pulsa en el botón «+» para «Crear nuevo monedero».
- Da un nombre al monedero en este caso «Bitcoin Testnet» y selecciona la red «Bitcoin Testnet».
- Aprieta en el botón de «Crear monedero».
- Una vez creada puedes pulsar en el botón de «Recibir» y copiar la dirección que te muestra.
- Accedes a algún faucet Testnet, por ejemplo este, e introduces la dirección copiada (Al final del post tienes unos cuantos faucets más).
- En unos segundos o minutos recibirás tus monedas de Testnet en tu monedero.
- Una vez las tengas ya puedes mandarlas a otras direcciones Testnet.
Esta puede ser una experiencia genial, que no lleva más de 15 minutos, para tener un contacto directo y sin necesidad de bitcoins con la tecnología y el potencial de Bitcoin.
Minería
Como hemos dicho, las monedas de la red de pruebas se regalan, es decir: la complejidad de minar en la red de pruebas de Bitcoin es ridícula. Con un ordenador viejo puedes minar por CPU sin parar, con un coste extra de luz casi cero.
Testnet está pensada para tener una complejidad muy baja no obstante, en cada bloque y como ocurre en Bitcoin, esta va aumentando.
Esto quiere decir que la complejidad podría elevarse tanto que nadie minase, pues son monedas que no tienen valor. Para resolver esto, en la Testnet3 se añadió una característica diseñada para que cuando no pueda minarse un bloque debido a su complejidad, esta pase automáticamente a niveles muy bajos. Es decir, que «reinicia» la complejidad.
Tamaño del Blockchain
Como hemos indicado, Testnet tiene su propio registro de contabilidad, blockchain. Pero este registro no tiene la actividad frenética del de Bitcoin. Mientras el Blockchain de Bitcoin sobrepasa ya los 260 GB, el de Testnet apenas supera aq los 23 GB.
Y, ¿qué pasa cuando la cadena ocupa mucho?. Pues una cadena de bloques de muchos gigas también podría hacer inmantenible su mantenimiento si no hay incentivos. Lo curioso es que antes de tomar un tamaño relevante se terminan las monedas a emitir. Como puedes observar ya están a punto de emitirse los 21 millones límite, algo que en Bitcoin se espera para el año 2140.
¿Casi 21 millones de monedas emitidas en solo 4 o 5 años?. Parece algo extraño, porque si por cada bloque se liberan una cantidad de monedas bajo las mismas reglas de Bitcoin y decíamos que la red de pruebas de Bitcoin tiene la misma lógica de minado que la red principal, deberían tardar también unos 120 años, 10 minutos de media por bloque.
El motivo de esto es debido a la funcionalidad comentada anteriormente de Testnet3: Cuando la complejidad aumenta se reinicia, y permite que muchos bloques puedan minarse en menos tiempo, reduciendo la media de tiempo por bloque en mucho.
Es decir, mientras que en Bitcoin se puede tardar alrededor de 1000 minutos para minar 100 bloques, Testnet tarda mucho menos, tal vez entre 100 y 200 minutos (es solo una estimación viendo los gráficos)
¿Y qué pasa si se emiten los 21 millones? Posiblemente se acuerde una nueva Testnet, la 4. El objetivo es no tener valor para que constantemente estén generándose monedas que permitan hacer pruebas que mejoren Bitcoin y su ecosistema.
Empieza en Bit2Me y salta al mundo de las criptomonedas con ventaja. Regístrate fácilmente y consigue 5 € GRATIS en tu primera compra con este enlace. ¡No esperes más para unirte a la revolución cripto! Registrarme
RegTest, probando regresiones en Bitcoin
El software Bitcoin Core cuenta también con la configuración predeterminada de una red aún más desconocida (pese a estar definida en su documentación), la llamada RegTest (test de regresión), que también puede arrancarse con un parámetro en la línea de comando.
> bitcoind -regtest -daemon
Bitcoin server starting
Fue añadida a la versión Bitcoin Core 0.9.0, que se lanzó en marzo 2014, y se creó como un modo de pruebas alternativo.
Esta red puede ser utilizada para crear Blockchains con las mismas características que Testnet pero solo entre nodos que nosotros deseemos. Es decir, con este modo podemos crear blockchains privadas que operan bajo nuestro control.
Algunos desarrolladores opinan que es una de las vías perfectas para empezar a crear nuevas funcionalidades y hacer investigaciones con la tecnología Blockchain, todo ello bajo un entorno 100% controlado.
Recursos
Finalmente os queremos compartir una colección privada de los recursos que, desde Bit2Me, consideramos más importantes y que necesitarás sea cual sea tu objetivo.
Faucets Testnet (Monedas gratis)
- https://bitcoinfaucet.uo1.net/
- https://tpfaucet.appspot.com/
- https://kuttler.eu/en/bitcoin/btc/faucet/
- https://coinfaucet.eu/en/
Explorador Blockchain Testnet
Monederos compatibles con Testnet
- Bit2Me Wallet
- Copay (Multiplataforma)
- Mycellium (Android)
- Bitcoin Wallet (Android)
Servicios API compatibles con Testnet
Pulsa aquí para abrir de forma GRATUITA y segura tu cuenta de usuario en español y recibe un regalo de 5€.