Halving en Bitcoin
Bitcoin Block Reward Halving Countdown Halving en Bitcoin En Bitcoin los tiempos en realidad se establecen por bloques y no en años, como el Halving, que sucede cada 210.000 bloques, sin embargo los cálculos que intervienen, dado el protocolo, permiten estimar que el tiempo que va a transcurrir para generar esos 210.000 bloques es de aproximadamente de 4 años. Esto que pudiera parecer tan trivial, no lo es, es una de las reglas de consenso de Bitcoin, tiene de fondo una razón, limitar la oferta con una cadencia y establecer unas reglas conocidas de emisión de bitcoins. Como decía, cada 210,000 bloques se produce un halving, esto significa que la emisión de recompensas que se le da a cada minero por haber resuelto el problema matemático que supone el la prueba de trabajo o PoW (Proof of Work), se reduce a la mitad. A este proceso se le denomina halving, precisamente porque la recompensa es reducida a la mitad. Si quieres conocer más te invito a leer sobre ello: Mining and Consensus Dado que cada bloque minado proporciona una emisión de bitcoin a modo de recompensa y a su vez esa recompensa empezó a darse a partir de 50 bitcoins por bloque minado, se ha calculado que el número total de bitcoins en el número de años que se va a estar emitiendo (hasta 2140) dará 21 millones de bitcoins (210.000 bloques cada halving empezando por 50 bitcoins de recompensa, y dividiendo a la mitad la recompensa cada 210.000 bloques hasta 2140). La limitación a 21 millones ha estado implementada en el código desde que Satoshi lo publico. Hago esta aclaración porque anteriormente caí en la trampa de creer que el BIP 0042 desmentía este hecho (de hecho yo así lo había publicado). Pero este en realidad ese BIP fue una broma que Pieter Wuille quién un 1 de abril de 2014, día en el que algunos países celebran el aprils fools o día de las bromas, aprovechó para publicarlo y con ello hacer la broma. Lo que si es cierto es que mediante ese BIP se realizó una modificación que corregía un problema en el código C++ en el que esta implementada la parte del tratamiento del halving y que tendría un fallo en un futuro, sin embargo la emisión de 21,000,000 millones de bitcoins siempre estuvo. Como podrás ver, dentro del protocolo de Bitcoin, todo tiene un tiempo, un motivo y encaja en una función, el que cada 210.000 bloques se tenga una reducción de recompensas, establece un modelo de tiempo, invariable y predecible de escasez, pero a la vez de transparencia sin igual en la emisión de ninguna moneda o valor que se conozca en el mundo actual. Además, al estar definido el modelo de emisión, y a la vez este no ser incremental, no hay inflación, es decir un sistema deflacionario, donde no se crea más valor que el establecido, lo cual conlleva que el valor no disminuye debido a la escasez y a que al ser un modelo descentralizado no hay un ente central que pueda modificar esta política, no como en el modelo fiat actual, dónde cualquier gobierno del mundo, imprime dinero sin el mayor pretexto que el de decir que se imprima, no hay nada de sustento por detrás. Existe el discurso que dice que ante la disminución de recompensas por el halving, los mineros abandonaran la red y Bitcoin dejará de tener razón de ser. Quienes hacen este tipo de aseveraciones no tienen en mente o no conocen el proceso entero de como funciona el protocolo en su conjunto, ya que si algo así llegará a suceder, el target de la red (conocido como la dificultad) se ajustaría de manera que minar en la red sería posible a través de equipos menos caros que con los que se realiza actualmente, ese es el objetivo de la minería, la minería no tiene SOLO como objetivo el proveer nuevos bitcoins, sino también el mantener la seguridad de la red descentralizada, por ello el ajuste del target en la red se ajusta dependiendo del hash rate que haya en la red y con ello permitir que siempre pueda haber un interés en continuar minando. Emisión o Supply de bitcoin Ahora bien, continuando con el tema de la emisión de bitcoins y dado que hay algunos temas de precisión en todo el calculo de cifras, déjame decirte que en realidad no van a existir 21 Millones de bitcoins, como mucha gente piensa, esto es porque el software del desarrollo de Bitcoin admite 8 decimales para recompensa, por lo que se calcula que en el bloque número 6930000, la recompensa será de 0 (por los temas de redondeo de precisión), dejando aproximadamente 20.999.999,9769 de satoshis emitidos. Por lo que los cálculos de la tabla que se encuentra más abajo son aproximados debido al redondeo (los he realizado en una tabla tipo hoja de cálculo y sin meter precisión ni redondeo). Imagen de @ChartsBtc Épocas de emisión de bitcoin o epoch Una época o epoch por su termino en inglés, es el periodo de tiempo que pasa entre un ajuste de la recompensa a los mineros (el subsidio que se da a los mineros por realizar el trabajo de PoW y minería) y el siguiente ajuste. Esto sucede cada 210,000 bloques. Los Epoch, que llevamos hasta el momento son: Se estima que haya 33 épocas con recompensa o subsidio por bloque. La idea es que una vez se llegue al punto donde el subsidio se acabe, la recompensa por bloque se compondrá sólo de las comisiones por transacción que pagarán los usuarios por realizarlas. Es decir, el subsidio de bloque se reducirá 33 veces. 32 veces reduciendo la recompensa de bloque a la mitad, y el último halving (el 33) reduciendo el subsidio de bloque de 1 satoshi por bloque a cero satoshis por bloque. Esto es porque el límite de la recompensa por bloque se contabiliza en un número entero de satoshis. El protocolo no permite la creación de fracciones de satoshis. Así que el último halving se estima que suceda en el bloque 6.720.000 reduciendo el subsidio o recompensa del bloque de 2 satoshis a 1 satoshis. Esto, se estima que suceda aproximadamente en el año 2136. Y en el bloque 6.930.000, aproximadamente en el año 2140, pasará a cero. Esto significa que el último bloque con subvención será el bloque 6.929.999. La siguiente tabla tiene como objetivo mostrar la emisión de bitcoin que se dará a lo largo de los años y tratar de dejar claro el modelo de escasez, emisión y tiempo que rigen al modelo de generación de «monedas» de Bitcoin, todo gira entorno a tiempos perfectamente establecidos, bloques emitidos y consenso completado. Halving and bitcoin emision Halving and bitcoin emision Algunos datos post halving 11 de mayo 2020 (UTC: 05/11/2020 19:23:00) Pasado el Halving se predecía un incremento en el tiempo entre bloques debido a la supuesta capitulación de mineros, al no serles rentable el continuar minando Bitcoins. Sin embargo ese incremento, por lo menos al momento no se ha dado. Comparto algunos datos sacados directamente de un nodo: Mi conclusión es que casi nada ha cambiado si bien hay una diferencia de más o menos un minuto, entre antes y después del halving, para los tiempos medios de minado en Bitcoin no hay gran diferencia. Los datos dicen que los mineros han estado preparados y han minimizados sus impactos, el halving es un evento conocido y predecible, por lo que permite perfectamente la anticipación a sus efectos y consecuencias. Posiblemente en el siguiente ajuste de dificultad es cuando se podría ver algún cambio drástico, pero sigo pensando que no ocurrirá, y tú, ¿qué opinas?. ★★★★★
Bitcoin Explorer
Bitcoin Explorer (antes llamado BTC-RPC-EXPLORER) Bitcoin Explorer es un explorador desarrollado por Janoside que permite visualizar la actividad de la red de Bitcoin desde tu propio nodo. Me parece una excelente opción para continuar con el aprendizaje de Bitcoin y además para poder visualizar tus transacciones y las de la red sin necesidad de comprometer tu privacidad ya que puedes instalarlo en tu nodo y consultarlo desde ahí o en tu red local. Recordemos que puedes ver todas las operaciones que hay en la red, aunque no sepas de quién son y eso es lo genial!. He realizado esta guía para documentar los pasos que seguí para instalar btc-rpc-explorer y con ello poder conectarlo con mi nodo. La instalación ha sido realizada en una laptop con fedora 31 y Bitcoin core 0.22. (he actualizado el equipo a fedora 42 y Bitcoin Core 28.0 y no he tenido ningún problema) Entiendo que las configuraciones deben similares en los entornos linux pero no tengo certeza de que funcione en windows. Pre-requisitos Como las propias indicaciones de la descarga en el sitio oficial indican, para poder hacer uso de este explorador debes cumplir con los pre-requisitos los cuales son: Nota: en mi caso no lo he ejecutado con Docker, por lo que esta guía no cubre esa parte. Paso a paso Como podrás ver la salida de ese comando te da el dato rpcauth que debes poner en el archivo bitcoin.conf (rpcauth=……….) El password es un ash que debes guardarte ya que lo vas a necesitar, yo no lo he incluido en el bitcoin.conf, aunque podrías hacerlo poniéndolo en la variable rpcpassword=hasdetupassword Si tienes problemas para ejecutar este comando descargalo desde el Github usando la siguiente instrucción: wget https://raw.githubusercontent.com/bitcoin/bitcoin/master/share/rpcauth/rpcauth.py Y después ejecuta: rpcauth.py myusername Esto te debería arrojar una salida igual a la anteriormente indicada: (String to be appended to bitcoin.conf: rpcauth=myusername:c439fbb5150c3a58079ad06b03c971fa$25fc8f8c89c79a8ce38ba9790861fdff4dc2916c23f8d31b7e9b65312d186d3c Your password: NjVnDAbNOMU9YLFVI7-okFNJ0PPhA3x_iyFglHO9AXM=) Si tienes problemas busca esto mismo en esta url: https://www.buildblockchain.tech/blog/btc-node-developers-guide Con esto incluido en tu archivo bitcoin.conf (no olvides reiniciar el nodo), ya tenemos configurado el nodo para ejecutar comandos RPC. En este archivo que viene de ejemplo en el sitio desde dónde descargaste el explorador, hay varias variables que podrías cambiar, pero para efectos prácticos yo he dejado casi todo en la configuración por defecto (default) y solo he cambiado lo siguiente: Una vez que tengas esto, ya solo sigue probar que esta todo ok, pero ….. Ejecuta el explorador desde una terminal con el siguiente comando: btc-rpc-explorer #si obtienes un error que dice: Si después de esto tienes problemas, lamento decirte que tienes que investigar que más podría ser o avísame y estaré dispuesto a ayudarte (telegram: https://t.me/Decentralizedb). Si todo ha ido bien, enhorabuena, tienes que darle las gracias a https://github.com/janoside que son los que han desarrollado este magnifico explorador. Funcionalidad adicional Una cosa que también puedes ver desde el cuadro de mando de tu explorador es el precio de bitcoin al momento de ejecutar tu explorador. En principio, según las instrucciones del sitio de Janoside bastaría con tener en tu archivo de configuración ~/.config/btc-rpc-explorer.env configurado lo siguiente: BTCEXP_NO_RATES=false Sin embargo en mi caso, me encontré con que no tomaba esa configuración, por lo cual tuve que investigar un poco más y encontré que donde tenía que cambiar el valor era en el archivo que se llama config.js que se encuentra en la ruta ~/btc-rpc-explorer/app o si no lo localizas ahí o no te toma el valor de ahí en la ruta /usr/local/lib/node_modules/btc-rpc-explorer/app y buscando que la siguiente línea quede como sigue: queryExchangeRates: (process.env.BTCEXP_NO_RATES.toLowerCase() != «false«), Nota adicional. Para no tener que estar ejecutando esto desde un terminal todo el tiempo y como una opción, una vez que me di cuenta que todo se ejecutaba de manera correcta, me he configurado un archivo para ejecutar como si fuera una aplicación. La ventaja es que no tienes una terminal ejecutando, la desventaja, es que no podrás ver los mensajes que te pueda dar por consola (terminal) si algo va mal, por eso es algo opcional. Lo que hice fue crear un archivo de texto llamado btc-explorer.desktop en la siguiente ruta: ~/.local/share/aplications/ el cual tiene lo siguiente: [Desktop Entry] Categories=Tools; Comment=Blockchain explorer Encoding=UTF-8 Exec=btc-rpc-explorer -a passwordParaIngresarDesdelaWeb –bitcoind-user myusername –bitcoind-pass yPL8WKwYoHu5e1qt7ka38TP6xlFssut5YnSpmxaqfdU= –bitcoind-cookie ~/.bitcoin/.cookie MimeType=text/html; Name=btc explorer Type=Application X-DBUS-ServiceName= X-DBUS-StartupType= Los campos marcados en negritas deben de ser sustituidos por los valores que tú tengas configurados. Esto permite ejecutarlo como si fuera una aplicación más a través de la interfaz gráfica. ★★★★★ O mediante Lightning network: ⚡ decentralizedb@getalby.com
Comandos P2P
Comandos del protocolo P2P de Bitcoin Si tienes instalado un nodo completo de Bitcoin, sabrás que el protocolo te proporciona una interfaz de comandos que se realizan a través de un procedimiento remoto de ejecución o RPC por sus siglas en inglés (Remote Procedure Call), los cuales son útiles para realizar validaciones, operaciones y cualquier tipo de ejecución de índole administrativa en tu nodo. Estos comandos pueden ejecutarse desde la consola de Bitcoin (el caso de Bitcoin-Core) o desde un terminal de comandos de linux, windows o unix. Para asegurar que los comandos están activos es necesario activar en el archivo de configuración de bitcoin.conf con la opción server=1 (dependiendo de como accedas a Bitcoin esta opción está habilitada por defecto o no, pero con este parámetro te aseguras de que esta habilitada). Para evitar problemas de configuración o compatibilidad de clientes RPC, Bitcoin provee su propio cliente para la ejecución de comandos a través del cliente bitcoin-cli desde el cual puedes usar como interprete de línea de comandos. Hablar de todos los comandos implicaría prácticamente replica la API de Bitcoin, y no es mi objetivo ni veo que pueda aportar nada, si quieres indagar más, te remiendo entrar en este link. Sin embargo si que trataré de ir incorporando algunos comandos que para mi fueron de utilidad en el aprendizaje básico de Bitcoin. Voy a darte un ejemplo, si ya conoces el mundo de Bitcoin o te das un paseo por este sitio web, encontraras un software, que dicho sea de paso, me gusta mucho y lo encuentro super útil, llamado btc-rpc-explorer. Este software te permite conocer de manera gráfica mucha información de tu nodo, pero no sabes de dónde viene, sin embargo si por ejemplo fueras programador o tuvieras inquietud por hacerte tu propio cuadro de mando para conocer la información de lo que sucede en la red y que es muy útil para entender si hay un alto volumen de transacciones por confirmar, cuál es la dificultad con la que se esta minando, etc., con unos cuantos comandos podrías saberlo. Bitcoin Explorer Aquí el ejemplo. En la imagen, sacada del btc-rpc-explorer y ejecutando tres sencillos comandos podrías conocer la información que se muestra en la imagen, esos comandos son: Otro excelente ejemplo de lo útil que son los comandos y de toda la información que te dan es el comando gettxoutsetinfo Te permite calcular algunas estadísticas sobre la base de datos de UTXO que cada nodo de Bitcoin mantiene. Por toda esta información al ejecutar este comando tarda un poquito más que otros comandos. Otros comandos de ayuda podría ser el que se implementó desde la versión 0.17.0 de Bitcoin Core, fue una nueva API para realizar etiquetado de direcciones ya que anteriormente solo se podía realizar el etiquetado desde la interfaz gráfica del cliente Bitcoin-Qt, esta nueva API incluye algunos comandos que aunque simples pueden ser de utilidad para el etiquetado de las direcciones y para aprovechar ese etiquetado. Por ejemplo, el comando setlabel, recibe de entrada una dirección y un texto o etiqueta, ambos parámetros son obligatorios; con esto le asignas una etiqueta a la dirección que hayas usado, esto es útil para mantener organizada tu información y saber en ¿qué o para qué? haz usado esta dirección y por ejemplo si luego usas el comando getreceivedbylabel, el cual recibe de entrada una etiqueta y otro parámetro de manera opcional que es el número de confirmaciones tendrás el total de bitcoin agrupado bajo esa etiqueta. Otros comandos RPC para interactuar con tu nodo: ★★★★★ O mediante Lightning network: ⚡ decentralizedb@getalby.com
Carteras
Carteras, monederos, wallets o llaveros Existe una gran variedad de información sobre las carteras de bitcoin o wallets, por su termino en inglés. También puedes encontrar información que las menciona como monederos o llaveros, y aunque trataré de explicar qué son y cómo funcionan, quiero advertir que es un tema muy extenso y en continua evolución, por lo que es probable que haya algunas cosas que se me queden en el tintero, pero trataré de hacer un articulo entendible y lo más actualizado que los desarrolladores me lo permitan, también decirte que el artículo es un poco extenso, te pido paciencia, creo que el tema es lo suficientemente importante y lo requiere por lo que puedes leerlo con lápiz y papel en mano y en 2 o 3 partes. ¿Porqué son importantes las carteras? Una cartera es fundamental hablando de Bitcoin, recuerda que Bitcoin es una tecnología y además nueva, en plena evolución, por ello la selección y uso de una cartera va a depender de dos factores (bajo mi punto de vista): Lo segundo pero no menos importante a indicar sobre las carteras, es que más allá del tipo de usuario que seas, lo que tienes que tener super claro es que si no controlas tus claves, si no eres tú y solo tú quién las tiene, NO tienes tus satoshis. Esta es la clave de toda la seguridad y desde mi punto de vista, el punto más importante a tener en consideración a la hora de evaluar tu cartera. Para poner un ejemplo, imagina que tienes un coche, es tuyo pero a pesar de que es tuyo y tu tienes las llaves del mismo, le diste (o te clonó) otro juego de llaves a tu hermana (por ejemplo), por mucho que sea tú hermana, ella tiene acceso a tu coche y en el momento en el que lo considere puede moverlo. En el caso de bitcoin, quién tenga las llaves privadas podría venderlos o enviárselos a otra cartera dónde tu no tengas acceso y por mucho que sepas quién lo hizo, no hay nada que puedas hacer para que te los devuelva si esa persona así no lo quiere. “Independientemente del nivel de conocimiento que tengas o de tus necesidades de uso, lo más importante de una cartera, es que tengas a buen recaudo tus llaves. Si no tienes tus llaves, no tienes tus satoshis!!!” La Seguridad es fundamental Como toda tecnología, Bitcoin no esta exento de los riesgos que conlleva su uso, por ello es muy importante que lo tengas en consideración en todo momento durante el manejo de tus satoshis. La seguridad debe ser referente, tanto a la seguridad informática como la de tu entorno. Nunca realices operaciones en un ordenador que no tengas un alto grado de certeza de que este libre de virus y troyanos. No hagas transferencias desde un móvil que no tengas controlado y siempre, siempre mantén montos pequeños en los dispositivos que tengas conectados, tener tú cartera permanentemente conectada es un factor más de riesgo. Fíjate donde estas operando y en tu entorno, verifica que no haya gente que pueda copiar tus claves, por mucho que te parezcan complicadas de aprender, además de que puedan tomarte una foto, asegúrate de que no haya alguna cámara grabando. Parece paranoia, pero recuerda, es tu dinero de lo que estamos hablando. Estos son solo algunas consideraciones, pero como decía al inicio, Bitcoin es una tecnología y en evolución, por lo que seguramente con el paso de los meses, haya que ir incluyendo nuevas recomendaciones. Tipos de carteras Pasando a los tipos de carteras, existe una gran variedad de puntos de vista sobre la clasificación, y cómo tecnología en evolución, no creo que sea una buena idea entrar en ese debate. De manera general si podríamos decir que existen, por lo menos los siguientes tipos de carteras: Como decía antes, es muy probable que encuentres alguna otra clasificación, bajo mi punto de vista las carteras que conozco a día de hoy se podrían incluir en cualquiera de las clasificaciones anteriores. Hora de la verdad, escoge tu cartera!!! Ahora, lo siguiente sería que selecciones una cartera, para ello en el sitio de bitcoin.org y su selector de carteras que te va guiando en base a algunos criterios como el del tipo, tu experiencia y demás. Existen 4 formatos de direcciones o address que el protocolo de Bitcoin maneja: En los últimos dos formatos de dirección, es dónde pondría foco, ¿porqué?, porque si bien en la mayoría de las transacciones de envío de bitcoin, el que envía es el que paga la comisión de red (el fee), cuando tu quieras gastar los satoshis que recibas de alguien más, te va a tocar pagar a ti la comisión y si tienes un formato de dirección más eficiente, tipo Segwit native pagaras menos comisión de minería, esto tiene que ver con las salidas o UTXOS, dónde a mayor tamaño de la transacción, mayor la comisión a pagar. Otra consideración importante que debes tener en mente es que cada tipo de dirección tiene compatibilidad hacía atrás. Es decir, una dirección Segwit native tiene todos los beneficios de las versiones anteriores. Sin embargo una dirección Legacy no conoce y no puede beneficiarse de ninguna de las mejoras de una Segwit, por ejemplo. Cuando empece me hubiera gustado mucho que alguien me hubiera dado su opinión, por eso yo te voy a recomendar que investigues sobre estas en particular (pero recuerda que siempre es tú responsabilidad decidir, no dejes que nadie te diga lo que tienes que hacer): Una cosa interesante que deberías ver que te ofrezca una cartera es que te permita elegir la comisión que quieres pagar por las transacciones a realizar, no es lo mismo realizar una transacción que quieres que le llegue a alguien en cuestión de minutos, que si te da igual que tarde, en el primer caso deberás pagar una comisión mayor para que tu transacción sea tomada por los mineros en un menor tiempo y en el segundo caso, puedes pagar una comisión menor ya que no te importa esperar más tiempo a que la transacción se procese. Vale, todo bien pero y ¿cómo funciona una cartera? ¿Recuerdas que hemos comentado que Bitcoin es un protocolo y tiene reglas de consenso?, pues todas las carteras de bitcoin, deben cumplir con el protocolo y las reglas para poder registrar transacciones dentro de la red, esto que parece tan trivial, es una de las claves de la seguridad de la red, si una cartera intenta introducir una transacción “falsa”, los nodos la validaran y rechazaran. Siguiendo y sin entrar en detalles técnicos, te diría que la mayoría de las carteras modernas, usan un proceso llamado hierarchical deterministic, el cual proporciona la posibilidad que dada una semilla, se genere una cartera con claves privadas derivadas, las llaves privadas derivan a su vez llaves públicas y las llaves públicas derivan direcciones para la recepción de satoshis (todo ello es parte del protocolo de Bitcoin, para realizarlo entre otras cosas se usa el algoritmo ECDSA). Escríbelas en un papel y guárdalo muy bien, copialas en un dispositivo al que nadie tenga acceso y guárdalo muy bien o usa un software especializado en almacenaje seguro, y no digo que uno u otro, puedes usar todas estas opciones. Otra cosa muy importante, es que el proceso no es reversible, es decir no es posible dada una dirección, llegar a las claves privadas, lo cual blinda de seguridad a tu cartera. Siguiendo con la explicación sobre ¿cómo funcionan las carteras?, estamos en el punto dónde ya generaste tu cartera, ya respaldaste muy bien tus semillas; entonces esa cartera tendrá 2 tipos de llaves, la llave pública y la llave privada, ambas relacionadas a través de un algoritmo matemático seguro, todo esto lo hace el software de la cartera por lo que no tienes que preocuparte. Con la clave pública una cartera puede derivar un sin fin de direcciones, es decir la dirección que podrás usar para recibir satoshis. Así cuando alguien envía satoshis a una dirección, a grandes rasgos lo que sucede es que se genera una transacción (trx) desde una cartera, esa transacción contendrá (a muy grandes rasgos): Es en las salidas o UTXO’s (Unspent Transaction Outputs) donde se tiene el «dinero» para poder gastar. Estas salidas son reconocidas por todos los participantes en la red. La salida contiene dos partes: Las entradas de transacciones son a su vez monedas de una transacción anterior. Para poder hacer uso de las monedas, el protocolo establece mecanismos que permiten validar que esas salidas o UXTO’s son tuyos y que puedes gastarlos o en el caso contrario, que son de quién te los envía y puedes recibirlos. Como todas las transacciones son registradas en la cadena de bloques, se tiene registro de todos los UTXO’s y su último estado, por lo que en realidad lo que existe son registros de transacciones y una cartera, para poder mostrar el saldo que tienes lo que hace es buscar todos los UTXO’s que «pertenecen» a la clave privada de la cartera, suma los totales y te muestra el saldo total y en el proceso inverso, hará lo mismo, sumará todos los UTXO’s que controla la clave privada, verifica que la suma es suficiente para cubrir el gasto y de ser así creará la transacción de gasto. Es decir, por si no he sido claro, las carteras no tienen un concepto de balance o saldo. El protocolo de Bitcoin solo tiene noción de UTXOs, los cuales contienen, un valor particular y el script que identifica quién puede gastarlos. Por lo que para definir el saldo de una wallet, se tiene que calcular la suma de los valores de todos las monedas que pertenecen a la wallet usando la clave correspondiente a esa wallet. La wallet tampoco rastrea los saldos de sus direcciones, sino que considera el conjunto de monedas que puede gastar, es decir las que tiene en toda la billetera y realiza un seguimiento de su valor total. Un último consejo en cuanto la privacidad se refiere, usa una dirección diferente cada vez que vayas a recibir bitcoin, ello evita el el seguimiento por dirección, recordemos que bitcoin es anónimo en cuanto a quién pertenecen las direcciones, pero publico en cuanto a la información de las mismas, por lo que si reciclas direcciones es más fácil para alguien que por ejemplo ya te haya realizado un envió algunas vez, estar monitoreando tu dirección para saber cuantos ingresos más tienes. No se trata de que estés haciendo nada malo, se trata de que nadie que tú no quieras, sepa que haces, son conceptos diferentes la privacidad y el secretismo, tu dirección no es secreta, es privada! Bueno, de manera genérica así funciona una cartera de bitcoin, hay más conceptos e información inmersos en el funcionamiento de una cartera, además de que el tema es un poco complicado, por lo que espero no haberte liado, sin embargo si estas interesado en algunos temas más en particular o hay partes que no han sido claras o quieres profundizar, te invito a que lo comente y poco a poco entre todos iremos enriqueciendo la información. Te agradezco que te hayas tomado la molestia de leerme. O mediante Lightning network: ⚡ decentralizedb@getalby.com
Evolución de Bitcoin
Evolución de Bitcoin Lejos de lo que puedas creer o te hayan dicho, Bitcoin es una tecnología en plena evolución. A pesar de lo joven que es, 10 años apenas, esta en pleno crecimiento y evolución. No obstante, hay mucho más detrás de lo que hoy conocemos, la historia previa a Bitcoin es la base de su presente y parte de su futuro Internet, es una tecnología relativamente nueva y esta en constante mejora, pues igual, Bitcoin es un protocolo en evolución, robusto y seguro, pero en evolución. Pronto incluiré información a cerca de las capas que componen el desarrollo de Bitcoin, como esta evolucionando y mucha información más al respecto. ★★★★★ O mediante Lightning network: ⚡ decentralizedb@getalby.com
¿Cómo funciona Bitcoin?
¿Cómo funciona Bitcoin? Bitcoin, como indica Satoshi Nakamoto en el whitepaper, es un protocolo o sistema persona a persona que establece un sistema de pago a través de su token, denominado bitcoin. Uno de los muchos objetivos que plantea resolver Bitcoin (con mayúscula refiriéndome al sistema en su conjunto, no al token) es la intermediación. Por ello Satoshi establece en el whitepaper que el sistema de pago debería realizarse de persona a persona y que la confianza debe resolverse a través de pruebas criptográficas que garanticen esos pagos, esto lo hace con la finalidad de evitar que la confianza caiga en manos de un tercero, haciendo que sea en el sistema y en los intervinientes de una transacción en quienes recaiga esa confianza. Para realizar los pagos se utiliza bitcoin (con minúsculas, haciendo referencia al token) y uno de los principales méritos que se consiguen con este token es evitar el doble gasto. Esto que parece tan sencillo de decir, es una de las razones por las que las instituciones financieras han invertido millones de dólares en sistemas informáticos que controlen y eviten el que haya un doble gasto. El problema del doble gasto es inherente al dinero electrónico o digital, ya que si no se lleva un registro instantáneo, se corre el riesgo de que pueda gastarse más de una vez o pueda duplicarse (falsificarse). Y como decía, esto que parece tan trivial, conlleva por detrás un sin fin de conceptos. Bitcoin te «obliga» a estudiar temas tan básicos como el de la inflación, la devaluación, el valor y otros más. A este proceso de ir encadenando la necesidad de profundizar en los diferentes conceptos que subyacen en Bitcoin, es lo que se le suele llamar el mundo Bitcoin como meterse en el Rabbit Hole o caer por la madriguera, lo llaman así en alusión a la metáfora de Alicia, entrando en la madriguera del conejo, en el famoso libro de Alicia en el País de las Maravillas, (ya habláremos de esto en otra ocasión). (Si hay conceptos que no entiendes porque te parecen muy técnicos o no te suenan, simplemente léelos pero no trates de entenderlos, sigue adelante que la idea es que puedas entender sin hacer uso de ellos y si no es así, por favor déjame tus comentarios, la idea es que esto se pueda entender sin necesidad de ello.) Volviendo al tema del doble gasto, Bitcoin lo resuelve haciendo uso de un libro contable digital de manera compartida por mucha gente (Shared Ledger). Es decir, imagina que tienes una serie de participantes conectados en una red (nodos); que cada participante tiene la posibilidad de registrar en un libro contable cada operación que sucede en la red y que cada participante de la red tiene la posibilidad de confirmar que las operaciones que se han registrado son verdaderas. Esa validación se realiza a través de un protocolo previamente establecido y con el que toda la red esta de acuerdo (Proof of Work). Proof of Work o Prueba de Trabajo Se basa en trabajo computacional. Este proceso lo realizan participantes conocidos como mineros, todos los participantes de la red verifican y tienen una «copia» de la cadena de bloques o Blockchain, pero solo los nodos mineros realizan el proceso de validar y añadir registros a la cadena (con el permiso del resto de la red). Dado que el proceso de prueba computacional tiene un costo, es necesario dar un incentivo a los mineros participantes para que lleven a cabo ese trabajo, esa recompensa se denomina Coinbase y empezó con 50 bitcoins por cada bloque que un minero resolvía, a día de hoy esta recompensa esta en 6,25 bitcoins por bloque, pero irá disminuyendo debido a una regla del protocolo que reduce la recompensa a la mitad cada 210,000 bloques, es aproximadamente cada 4 años (aunque en realidad se mide en el número de bloques). A esta regla se le conoce como halving. Características de Bitcoin Gracias a todo lo anterior la red esta dotada de Consenso (Consensus), Procedencia (Provenance), Inmutabilidad (Immutability) y Finalidad (Finality). Estos conceptos, son más complejos de lo que parecen y son los que rigen el funcionamiento de Bitcoin. Y aunque es mi idea explicarlos con mayor detalle más adelante, ahora para simplificar la comprensión en este punto, diremos que: Todos estos conceptos hacen de Bitcoin una tecnología disruptiva, única al momento, que no solo provee de mecanismos de control, de transferencia de valor, sino que además ha provisto de nuevas tecnologías, como Blockchain, la cual es, desde mi punto de vista, una tecnología periférica que se ha puesto de moda y del cual hablaré en otra ocasión con mayor detalle. Bloques Volviendo al funcionamiento de Bitcoin, y como hemos comentado, las operaciones se registran en bloques, esos bloques, tienen una estructura bastante sencilla: Transacciones De toda la estructura anterior, la que tal vez interese más en este momento de la lectura, y por entender dónde estaría el «dinero» dentro de Bitcoin, es la Transacción (trx). Como ya indicaba una transacción contiene otra estructura, que viéndola con un poco más de detalle contiene: Cada campo dentro de toda la estructura del bloque tiene una función en particular y es de importancia, sin embargo para entender en dónde se almacena la referencia al valor de «dinero» que se almacena para una transacción en particular, es de vital relevancia entender que es en las salidas o UTXO’s (Unspent Transaction Outputs) donde se tiene ese «dinero», estas salidas son reconocidas por todos los participantes en la red. UTXO La salida o UTXO contiene dos partes: Para poder hacer uso del UTXO, el protocolo establece mecanismos que permiten validar que esas salidas o UXTO’s son tuyos y que puedes gastarlos y/o en el caso contrario, que son de quién te los envía y puedes recibirlos. Imagina estos UTXOS, como las monedas que puedes gastar, con la salvedad que al ser monedas electrónicas, no las tienes en tu bolsillo (no te asustes, tampoco tienes lo que dice tu tarjeta de débito), sino que están registrados en la cadena de bloques de Bitcoin, que es inalterable, incensurable y que si tienes tus llaves de acceso, nadie puede usar en tu nombre. Si no te ha quedado claro el concepto de UTXO, te dejo este otro artículo donde reviso un poco más a detalle el tema. Podríamos profundizar mucho más y sobre todo en la parte técnica de como funciona Bitcoin, sin embargo, creo que en este punto podríamos darnos una breve idea de como funciona Bitcoin y ver dónde esta la magia que hace que todo esto sea seguro y funcione. Es mi intención ir desarrollando más contenido que profundice en los temas aquí desarrollados y en todos los conceptos básicos y no tan básicos que hacen que esta tecnología sea tan increíble, por el momento lo dejamos aquí.
¿Qué es Bitcoin?
Avisos importantes: Una de las reglas más valiosas en el mundo Bitcoin es: no confíes, verifica. Por ello debes leer, aprender y con ello tomar tus propias decisiones. ¡Gracias por pasarte por aquí! ¿Qué es Bitcoin? Antes de decir que es Bitcoin, voy a decir brevemente lo que Bitcoin no es (desde mi punto de vista). Bitcoin no es una empresa: no hay una patente o una marca comercial detrás. Bitcoin no tiene una representación. No hay una dirección física o postal a la que puedas hacer llegar tus quejas, demandas o felicitaciones. Bitcoin no tiene sede. Al momento de escribir este artículo existen más o menos unos 100,000 nodos (sin tomar en consideración a los nodos mineros) distribuidos por todo el mundo. Ahora, dicho eso, diré que: Bitcoin es, en esencia, un concepto sencillo: es un protocolo de intercambio, persona a persona, de valor. Sin embargo en sus detalles es un tanto más complejo. De hecho, yo lo definiría como un protocolo de detalles. Si hablamos de la tecnología (Bitcoin, con mayúsculas) es una serie de implementaciones, desarrollos basados en Criptografía, Consenso, Pruebas de Trabajo y Almacenamiento que en conjunto crean una arquitectura pocas veces vista antes de su concepción. Y es cierto que como toda tecnología nueva e innovadora, tiene sus mejoras y siembra sus dudas, pero ….. ¿recuerdas cuando te plantaste por primera vez frente a un ordenador?, por muy milenial que seas, tus dudas tendrías. Por el lado práctico, si hablamos de bitcoin (con minúsculas, yo lo distingo así, no todo el mundo lo hace), nos referimos a ventajas tan importantes como la posibilidad de disponer de tu dinero cuando lo creas conveniente, de evitar el doble gasto, de tener el control de tu dinero (ser tu propio banco) y de la privacidad en tus transacciones con otros, sin tener que ceder toda tu información. Este último punto ha dado pie a pensar que se trata de ocultar y de hacer algo malo. Suelen decirte…. si no estás haciendo nada malo, no tienes nada que ocultar. Pero es al contrario: como no hago nada malo no tengo por qué informar al resto del mundo. Dicho lo anterior y para profundizar en lo que pretende y proporciona Bitcoin, hay que conocer y re-visitar muchas cosas que creías entender; volver a conceptos que pensabas que entendías o simplemente volver a estos conceptos pero con una mirada diferente, una mirada más amplia. Como todo, Bitcoin tiene un inicio y ese inicio en realidad no fue con el lanzamiento del whitepaper de Satoshi Nakamoto (te recomiendo ampliamente que leas estas 9 páginas). Iniciando el camino Bitcoin se inició a partir de muchos conceptos, muchas ideas que se fueron acumulando en el pasado. Creo sin lugar a dudas que el gran detonante de todas las ideas que permitieron a Satoshi Nakamoto publicar el whitepaper, fue la madurez de Internet y el movimiento de cypherpunks, quienes desde los 90’s empezaron a trabajar en dotar a Internet de una privacidad que empezaban a visualizar en riesgo. Una crisis financiera y un escrito de 9 páginas Seguramente Satoshi (sea quién sea) ya estaría trabajando desde antes en la idea de Bitcoin, pero no cabe duda de que la crisis financiera de 2008 fue la gran precursora para su lanzamiento. De hecho, los primeros esbozos de la idea del Bitcoin fueron compartidos en listas de correo del sitio metzdowd.com (cypherpunk mailing list), donde finalmente, en octubre de 2008, Satoshi Nakamoto, publicó su whitepapeper:“Bitcoin: A Peer-to-Peer Electronic Cash System”. Como ya indicaba, es un documento de tan solo 9 páginas con 12 puntos, que no debes perderte. Vale la pena leerlo, revisarlo, meditarlo y empezar a entrar en el Rabbit Hole. Un consejo: Si se te complica entender los términos y fórmulas matemáticas que vienen en el whitepaper, solo márcalos y continúa leyendo para que captes la idea completa. La pizza millonaria Posteriormente a la publicación de dicho whitepaper, el 3 de enero de 2009, se implementa la red peer to peer de bitcoin, con un protocolo propio, y nace el primer bloque (Genesis block). A partir de ahí, te cuento algunas anécdotas interesantes: El principal objetivo de Bitcoin, es la creación de un sistema de transferencia de valor de manera que se realice de persona a persona. El principio de un gran proyecto Un pequeño paréntesis para tomar contexto: Internet, ha tomado más de 20 años de adopción y desarrollo. Y sigue en evolución. Teniendo en cuenta lo anterior, diré que, con las herramientas avanzadas que se tienen hoy día, Satoshi no solo diseñó un gran proyecto, sino que visualizó el momento ideal y la forma de aplicar muchas de las ideas y principios de verdaderos genios del movimiento por un Internet libre. Gracias a todo ello, se generó la semilla de un sistema de distribución de riqueza diferente. Para mi, ese es el verdadero mérito y la magia de Bitcoin.Satoshi conjugó en su whitepaper conceptos que, como comentaba, hay que entender, re-descubrir o estudiar, y que son tales como: Y muchas más ideas, que, conforme vas ahondando en un tema, te llevan a estudiar otras. No obstante, no te asustes, empieza por lo básico y ahonda tanto como quieras, pero ve poco a poco. Eso sí, una cosa debes tener siempre en consideración: Bitcoin es la posibilidad de tener tu propio banco y ello implica que eres responsable de tus valores y de tu privacidad…pero como en la película Spiderman: La buena noticia es que esas obligaciones son para ti, en tu beneficio y para tu control, cosa que nunca antes habías podido tener. Tienes más información en el menú en la parte de blog, pero si hay algo que deseas comentar, por favor déjame tu comentario y muchas gracias por pasarte por aquí. O mediante Lightning network: ⚡ decentralizedb@getalby.com