martes, 8 de diciembre de 2015

Bitcoin ¿Que es?¿Como funciona?

Muchas personas ya han oído hablar de la famosa criptomoneda llamada Bitcoin o tal vez aun no la conoces, de igual forma acá dejo información sobre la misma de muchas de la interrogantes que me surgieron sobre su funcionamiento, bajo que esta sustentada, cual es la seguridad, como la controlan, ya que al ser dinero virtual aun queda mucha incertidumbre sobre la misma a pesar que cada día se va haciendo mas uso de esta moneda.

A pesar que hay mucha información en Internet sobre lo que es el Bitcoin, muchas veces hay ciertos puntos que no quedan muy claros o tal vez no se entienden muy bien, así que se tratara de hacer una recopilación de las distintas fuentes sobre los conceptos básicos y en la medida de lo posible se dejara cierta especificación técnica, para lograr explicar la base de su funcionamiento pero por supuesto sin caer en explicaciones muy complejas, o al menos se intentara.

Al final dejare las fuentes de donde fue sacada todas esta informacion, en muchos casos tanto la informacion como los vídeo estarán en ingles.

Importante: Este no sera un articulo orientado hacia el como ganar dinero ni mucho menos, sino hacia la explicación de su funcionamiento.



¿Qué es Bitcoin?
Es una criptodivisa concebida en 2009 por Satoshi Nakamoto. El término se aplica también al protocolo y a la red P2P que lo sustenta.
Las transacciones en Bitcoin se realizan de forma directa, sin la necesidad de un intermediario. Al contrario de la mayoría de las monedas, Bitcoin es una moneda descentralizada, es decir, no está respaldada por ningún gobierno ni depende de la confianza de ningún emisor central, sino que utiliza un sistema de "prueba de trabajo" para impedir el doble gasto y alcanzar el consenso entre todos los nodos que integran la red.


Bitcoin ¿Quien lo creo?
Su creador Satoshi Nakamoto introdujo este concepto bajo la publicación en 2008 de su paper Bitcoin: A Peer-to-Peer Electronic Cash System y en 2009 lanzó el software Bitcoin, creando la red del mismo nombre y las primeras unidades de moneda, llamadas bitcoins.


¿Cómo funciona Bitcoin?
Como se ha indicado el Bitcoin trabaja bajo una red peer-to-peer lo cual permite ser una moneda descentralizada sin dependencia de una única unidad central que regule la moneda. Esta gigantesca red se mantiene a través de los mismos usuarios llamados mineros, quienes son los encargados de validar las transacciones. 

Pero para explicar mejor su funcionamiento vamos a ver lo que integra e interviene en la red Bitcoin. 

> Bitcoin Wallets o Monederos.
Una billetera Bitcoin o Monedero es un archivo que contiene una colección de claves privadas, estas serán requeridas para poder realizar las transacciones, en caso de perdida de las claves privadas sera imposible recuperar los bitcoins asociados a la misma.

El protocolo Bitcoin utiliza el algoritmo ECDSA para la creación de estas claves, dejo algunos enlaces por si quieres investigar mas sobre el tema.
https://es.bitcoin.it/wiki/Clave_privada
https://en.bitcoin.it/wiki/Elliptic_Curve_Digital_Signature_Algorithm
https://www.oroyfinanzas.com/2014/01/criptografia-curva-eliptica-bitcoin-por-que-utiliza-ecdsa/

Cualquier persona puede tener una Wallet o Monedero, solo debe descargar el software necesario para generar la misma o registrarse a través de un tercero mediante un servicio web y con eso sera suficiente para empezar a enviar o recibir bitcoins.

Existe una gran variedad de servicios de Monedero, pueden ser vía Web, aplicaciones para móviles, para escritorio, etc., aqui dejo un enlace donde se hacen reviews de los mas usados, y de los cuales se puede elegir el que mejor se adapte a las necesidades de cada persona.

Estos monederos generaran una dirección bitcoin (o varias) con una estructura parecida a la siguiente:
16UwAL9Risc3QfPqBUvKofHmBQ7wMtjvM

La cual sera el identificador único y necesario para iniciar las transacciones.

> Transacciones.
Una transacción es el proceso mediante el cual, cantidades de Bitcoin o sus fracciones pasan de ser propiedad de una wallet (persona) a otra, mediante una serie de reglas definidas en el protocolo.
Ya que los monederos Bitcoin disponen de la clave privada, es utilizada para firmar las operaciones, proporcionando una prueba matemática de que la transacción está hecha por el propietario del monedero. La firma también evita que la transacción no sea alterada por alguien una vez ésta ha sido emitida. Todas las transacciones son difundidas entre los usuarios y por lo general empiezan a ser confirmadas por la red en los 10 minutos siguientes a través de un proceso llamado minería.
Todas estas transacciones deben de ser registradas en una base de datos llamada Blockchain para ser consideradas validas.

Aquí vídeo ilustrativo.


> La cadena de bloques [Blockchain]
La cadena de bloques o "block chain" es una contabilidad pública compartida en la que se basa toda la red Bitcoin. Todas las transacciones confirmadas se incluyen en la cadena de bloques. De esta manera los monederos Bitcoin pueden calcular su saldo gastable y las nuevas transacciones pueden ser verificadas, asegurando que el cobro se esta haciendo al que realiza el pago. La integridad y el orden cronológico de la cadena de bloques se hacen cumplir con criptografía.

Es posible ver esta informacion en varios sitios, aquí te dejo uno de ellos.

La cadena de bloques pesa aproximadamente 16GB.

Aquí vídeo ilustrativo con una excelente explicación.

> Minería.
La minería es un sistema de consenso distribuido que se utiliza para confirmar las transacciones pendientes a ser incluidas en la cadena de bloques. Hace cumplir un orden cronológico en la cadena de bloques, protege la neutralidad de la red y permite un acuerdo entre todos los equipos sobre el estado del sistema. Para confirmar las transacciones, deberán ser empacadas en un bloque que se ajuste a estrictas normas de cifrado y que será verificado por la red. Estas normas impiden que cualquier bloque anterior se modifique, ya que hacerlo invalidaría todos los bloques siguientes. La minería también crea el equivalente a una lotería competitiva que impide que cualquier persona pueda fácilmente añadir nuevos bloques consecutivamente en la cadena de bloques. De esta manera, ninguna persona puede controlar lo que está incluido en la cadena de bloques o reemplazar partes de la cadena de bloques para revertir sus propios gastos.

Aquí dejo un vídeo ilustrativo de como funciona la minería

Pero quienes son los Mineros y que hacen?
Los mineros son usuarios que colaboran y mantienen la red de Bitcoin aportando su poder computacional para realizar la validación de las transacciones y así lograr el flujo correcto y seguro de los bitcoins sobre la red. Cualquier ordenador puede ser un nodo en la red Bitcoin con el software adecuado.

Los nodos reciben un bloque de transacciones los cuales deben contener una "prueba de trabajo" (proof of work) para ser considerados validos, he aquí donde reside la seguridad del sistema, ya que esta "prueba de trabajo" son computacionalmente complejas, es decir, si por ejemplo tu quisieras poner a tu ordenador a procesar un bloque tardaría años con la dificultad que existe, y esta dificultad aumenta aproximadamente cada 2 semanas, es por ello que hoy día hay agrupaciones de mineros (llamados piscinas de mineros) que colaboran con con su poder computacional para realizar estos complejos cálculos, pero mas adelante explicare un poco mas este tema.

Y si esto es tan complejo, cual es la motivación de hacer minería?
Pues allí esta el detalle, por cada bloque que se consigue (conseguir un bloque es superar correctamente la prueba de trabajo) y se valida de manera correcta para ser incluido en la Blockchain el sistema recompensa a los mineros con Bitcoins, actualmente 25 BTC por cada bloque conseguido, estos bloques se consiguen aproximadamente cada 10 min. en promedio en la red de Bitcoin, pero cada 4 años esta cantidad se reduce a la mitad, así que pronto serán 12,5 BTC por bloque, y así sucesivamente hasta que se generen 21.000.000 BTC que según el diseño del protocolo se alcanzara en 2140, y luego no se generaran mas Bitcoins.
Pero esto no significa que los mineros dejaran de ganar Bitcoins, ya que el sistema esta diseñado para que después de alcanzada esta cifra aun se tendrán que validar transacciones, es decir conseguir bloques para añadirlos a la Blockchain y para estas transacciones habrá una tasa que permitirá al sistema mantenerse sin mayor problema, o al menos eso es lo que esta programado.


Pues ya llegado a este punto y de haber investigado mas o menos los conceptos básicos del funcionamiento del Bitcoin a nivel general, aun quedaban dudas de muchos conceptos mencionados en esas descripciones sobre todo a nivel de minería, las dejo a continuación:



¿Como se crean los bitcoins?
Los bitcoins son creados por el proceso de minería, cada vez que se logra conseguir un bloque a través de la "prueba de trabajo", la red bitcoin recompensa a los mineros por aportar su poder computacional para la validación de las transacciones y mantener así la red segura.

¿Cual es la recompensa por el proceso de minería?
La recompensa es de 25 BTC por cada bloque que se consigue, cada 4 años esto se va ir reduciendo a la mitad.
Debido a la complejidad de conseguir bloques, se han creado piscinas de mineros y una vez se consigue el bloque la recompensa es repartida entre los mismos.

¿Si el proceso de minería es el que genera los Bitcoins, como inicio?
Pues este es un dato interesante, para iniciar la cadena de bloques el sistema se entrego a si mismo el llamado Bloque génesis en 2009, el cual le daba una recompensa de 50 BTC.
Tal vez para garantizar que realmente el mismo se genero el 3 de enero del 2009, en el parámetro coinbase fue colocado un anuncio de prensa de la fecha.

Aquí la informacion.


¿Porque cada 4 años esto se reduce a la mitad la recompensa de Bitcoins?
El protocolo esta programado para cada vez que se consigan 210.000 bloques automáticamente se reduzca la recompensa, de manera de poder llegar a los 21.000.000 de Bitcoins para el 2140.

¿Porque 21.000.000 de BTC?¿Porque se acaba en el 2140?
Es una cifra arbitraria programada en el protocolo, y si hacemos las cuentas de que en la red Bitcoin cada 10 min se encuentra un bloque y se crean mas monedas aproximadamente para esta fecha 2140 se creara el ultimo bitcoin.

Calculo aproximado.
Cada 10 min un Bloque -> Cada hora 6 bloques -> Cada 24 Horas 144 Bloques
Cada Año 52.560 Bloques -> Cada 4 años 210.240 Bloques aproximado.

Y si quieres ver la curva de creación de Bitcoins, puedes verificarla aquí

Este gráfico muestra el número de bitcoins que existirán en el futuro cercano. El Año es un pronóstico y puede estar ligeramente desviado.
Fuente: https://en.bitcoin.it/wiki/Controlled_supply
Date reachedBlockReward EraBTC/blockYear (estimate)Start BTCBTC AddedEnd BTCBTC IncreaseEnd BTC % of Limit
2009-01-030150.002009026250002625000infinite12.500%
2010-04-2252500150.002010262500026250005250000100.00%25.000%
2011-01-28105000150.002011*52500002625000787500050.00%37.500%
2011-12-14157500150.002012787500026250001050000033.33%50.000%
2012-11-28210000225.0020131050000013125001181250012.50%56.250%
2013-10-09262500225.0020141181250013125001312500011.11%62.500%
2014-08-11315000225.0020151312500013125001443750010.00%68.750%
2015-07-29367500225.002016144375001312500157500009.09%75.000%
420000312.50201715750000656250164062504.17%78.125%
472500312.50201816406250656250170625004.00%81.250%
525000312.50201917062500656250177187503.85%84.375%
577500312.50202017718750656250183750003.70%87.500%
63000046.25202118375000328125187031251.79%89.063%
68250046.25202218703125328125190312501.75%90.625%
73500046.25202319031250328125193593751.72%92.188%
78750046.25202419359375328125196875001.69%93.750%


¿Porque se consigue cada 10 minutos un bloque?
Es protocolo esta ajustado para que la dificultad permita que cada 10 min se consiga un bloque, esto no es mas que obtener la "prueba de trabajo" y notificar a todos los nodos para que validen el bloque y sea incluido en el Blockchain. Esta dificulta se ajusta cada 2 semanas aproximadamente.


¿Como se ajusta la dificultad cada 2 semanas?
Con el fin de mantener el tiempo estimado de conseguir los bloques cada 10 min el sistema reajusta la dificultad cada 2016 bloques, así que mientras mas poder computacional se introduce a la red mayor sera la dificultad para realizar la "prueba de trabajo" (Proof of work).

Calculo aproximado.
Cada 10 min un Bloque -> Cada 1 hora 6 bloques -> Cada 24 Horas 144 Bloques -> Cada 14 días 2016 bloques

Si quieres ir mas en profundad de como se hace este ajuste aquí dejo un enlace.

¿Que es al prueba de trabajo (proof of work)?
Es un desafió matemático que deben realizar los mineros para que cada bloque se considere valido y pueda ser incluido en la Blockchain.
Esto consiste en realizar procesos de hash (SHA-256) millones de veces hasta dar con la respuesta al desafió.
Si dos mineros consiguen la prueba de trabajo al mismo tiempo, el sistema selecciona la cadena mas larga, que no es mas que el bloque que mas trabajo haya puesto en resolver el desafió.

Calculo aproximado.
Cada 10 min un Bloque -> Cada 1 hora 6 bloques -> Cada 24 Horas 144 Bloques -> Cada 14 dias 2016 bloques

Aquí vídeo ilustrativo.


¿Es Bitcoin seguro?
El protocolo de Bitcoin se basa en la criptografia para garantizar la seguridad de la red y mediante la misma es posible confiar en que a pesar que la red depende de usuarios bien sean nodos honesto o no confiables, sera computacionalmenete difícil  revertir o cambiar una transacción, aunado a esto que la red trabaja en consenso en donde los nodos deben confirmar que un bloque es validad y puede ser incluido en la blockchain.

El protocolo bitcoin usa el hashcash para la prueba de trabajo, Hashcash utiliza criptografia de clave simétrica, llamada función hashcash de un solo sentido, típicamente SHA1 o SHA-256.



Pues hasta aqui la informacion, se que hay mucha mas informacion e interrogantes al respecto, pero aquí dejo las fuentes que puedes verificar, espero haber aportado algo para que se conozca a nivel general el funcionamiento del bitcoin y haya mas confianza en el uso de esta criptomoneda.

He ido dejando vídeo específicos de este excelente curso sobre el funcionamiento del Bitcoin (Ingles), aquí esta el enlace al curso completo.
https://www.khanacademy.org/economics-finance-domain/core-finance/money-and-banking/bitcoin/v/bitcoin-transaction-block-chains?v=QzDO44oZWtE

Fuentes:
https://es.wikipedia.org/wiki/Bitcoin
https://es.wikipedia.org/wiki/Satoshi_Nakamoto
https://bitcoin.org
https://99bitcoins.com/best-bitcoin-wallet-2015-bitcoin-wallets-comparison-review/
https://en.bitcoin.it/wiki/Wallet
https://bitcoin.org/en/how-it-works
http://bitcoinfaq.com
https://www.bitcoinmining.com/what-is-hashcash/
https://blockchain.info/
http://maxidev.github.io/charlas/JCC/Bitcoin/#/
https://en.bitcoin.it/wiki/Genesis_block
https://blockchain.info/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f


Saludos.

--
Wladimir

0 comentarios:

Publicar un comentario

Con la tecnología de Blogger.
Copyright © NoVolátil - Blog IT | Powered by Blogger
Design by Saeed Salam | Blogger Theme by NewBloggerThemes.com