Diferencia entre revisiones de «Introducción»

De Bitcoin Wiki
Saltar a: navegación, buscar
(Putting it all together)
 
(No se muestran 9 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
 +
== Moneda ==
 +
 
Alicia vive muy lejos de Bob y quiere comprarle sus [http://www.grasshillalpacas.com/alpacaproductsforbitcoinoffer.html calcetines de Alpaca]. A cambio, ella quiere enviarle un billete de un dolar a él. El billete de un dolar es una pieza de papel que es fácil de crear (por aquellos que pueden), que es aceptado por la gente en cambio por productos de valor y servicios en el mundo real, como los calcetines que Alicia quiere comprar. Algo sencillo que puede hacer Alicia es poner el billete de un dolar dentro de un sobre, enviarlo por correo a Bob, y esperar que Bob le envié los calcetines a ella.
 
Alicia vive muy lejos de Bob y quiere comprarle sus [http://www.grasshillalpacas.com/alpacaproductsforbitcoinoffer.html calcetines de Alpaca]. A cambio, ella quiere enviarle un billete de un dolar a él. El billete de un dolar es una pieza de papel que es fácil de crear (por aquellos que pueden), que es aceptado por la gente en cambio por productos de valor y servicios en el mundo real, como los calcetines que Alicia quiere comprar. Algo sencillo que puede hacer Alicia es poner el billete de un dolar dentro de un sobre, enviarlo por correo a Bob, y esperar que Bob le envié los calcetines a ella.
  
 +
== Bancos ==
 
Otra cosa que puede hacer Alicia es "transferir" el dinero a Bob. Lo que ella debe hacer primero es darle su billete de un dolar a una institución llamado Banco, el trabajo de susodicha institución es la de resguardar el dinero de Alicia, a cambio, Alicia recibe una promesa por escrito (llamado "estado de cuenta") que, cuando ella lo desee, puede ir al banco y tomar de vuelta la misma cantidad de dolares que ella deposito. Puesto que el dinero sigue siendo de Alicia, ella esta en propiedad de hacer lo que a ella mas le convenga con él, y el banco (como la mayoría de ellos), por una pequeña cuota, hará por Alicia el servicio de "dar" el billete de un dolar a Bob. Esto se puede realiza enviando a una persona hasta la puerta de la casa de Bob con el billete de Alicia en la mano (o, mejor aun, con un billete nuevo y reluciente de un dolar por si el billete de Alicia estaba en malas condiciones), pero usualmente esto no es así, el banco de Alicia le envía el billete de un dolar al banco de Bob informándole que ese dinero es para Bob, quien vera el monto añadido a su cuenta en el siguiente estado de cuenta, o, si él esta algo apresurado, en la siguiente ocasión que él contacte al banco preguntando cuanto dinero hay en su cuenta.
 
Otra cosa que puede hacer Alicia es "transferir" el dinero a Bob. Lo que ella debe hacer primero es darle su billete de un dolar a una institución llamado Banco, el trabajo de susodicha institución es la de resguardar el dinero de Alicia, a cambio, Alicia recibe una promesa por escrito (llamado "estado de cuenta") que, cuando ella lo desee, puede ir al banco y tomar de vuelta la misma cantidad de dolares que ella deposito. Puesto que el dinero sigue siendo de Alicia, ella esta en propiedad de hacer lo que a ella mas le convenga con él, y el banco (como la mayoría de ellos), por una pequeña cuota, hará por Alicia el servicio de "dar" el billete de un dolar a Bob. Esto se puede realiza enviando a una persona hasta la puerta de la casa de Bob con el billete de Alicia en la mano (o, mejor aun, con un billete nuevo y reluciente de un dolar por si el billete de Alicia estaba en malas condiciones), pero usualmente esto no es así, el banco de Alicia le envía el billete de un dolar al banco de Bob informándole que ese dinero es para Bob, quien vera el monto añadido a su cuenta en el siguiente estado de cuenta, o, si él esta algo apresurado, en la siguiente ocasión que él contacte al banco preguntando cuanto dinero hay en su cuenta.
  
Línea 9: Línea 12:
 
Bitcoin es un sistema de apropiación y de transferencia voluntaria de una moneda, llamada también, bitcoins, proceso que se hace de manera similar a una transferencia bancaria en linea, pero de manera anónima y sin depender de una autoridad central que decide cual transferencia realizar y cual no <!-- esa ultima parte necesita revisarse con respecto a la versión inglesa ¿Qué trata de decir la versión inglesa con exactitud? -->. Estos bitcoins son valiosos porque generarlos requiere una cantidad de recursos reales (tiempo de CPU y electricidad), no puede gastarse mas de una vez y tampoco se puede arrebatar sus bitcoins a una persona sin acceder de manera ilícita a su computador personal.
 
Bitcoin es un sistema de apropiación y de transferencia voluntaria de una moneda, llamada también, bitcoins, proceso que se hace de manera similar a una transferencia bancaria en linea, pero de manera anónima y sin depender de una autoridad central que decide cual transferencia realizar y cual no <!-- esa ultima parte necesita revisarse con respecto a la versión inglesa ¿Qué trata de decir la versión inglesa con exactitud? -->. Estos bitcoins son valiosos porque generarlos requiere una cantidad de recursos reales (tiempo de CPU y electricidad), no puede gastarse mas de una vez y tampoco se puede arrebatar sus bitcoins a una persona sin acceder de manera ilícita a su computador personal.
  
==Previniendo el robo==
+
=== Las bases para usar Bitcoins ===
Para garantizar que una espía, como Eva, obtenga acceso a los bitcoins de otras personas haciendo transacciones en su nombre nosotros usamos un [http://es.wikipedia.org/wiki/Criptograf%C3%ADa_asim%C3%A9trica sistema de llaves publicas] para hacer firmas digitales. En este sistema, cada persona, como Alicia y Bob, tienen un par de llaves publicas y privadas que es almacenado en una [[Wallet|cartera]]. Solo el usuario con la llave privada secreta puede firmar un documento, tales operaciones como una transacción para darle algunos bitcoins a alguien mas, pero, cualquier persona puede validar la firma usando la llave publica del usuario que realiza la transferencia.
+
===Previniendo el robo===
 +
Para garantizar que una espía, como Eva, obtenga acceso a los bitcoins de otras personas haciendo transacciones en su nombre usamos un [http://es.wikipedia.org/wiki/Criptograf%C3%ADa_asim%C3%A9trica sistema de llaves publicas] para hacer firmas digitales. En este sistema, cada persona, como Alicia y Bob, tienen un par de claves publicas y privadas que se almacenan en una [[Wallet|cartera]]. Sólo el usuario con la clave privada secreta puede firmar un documento tal como una transacción para darle algunos bitcoins a alguien más, pero cualquiera puede validar la firma usando la clave pública del usuario que realiza la transferencia.
  
* Bob le envía su llave publica a Alicia.
+
* Bob le envía su clave publica a Alicia.
* Alicia agrega la llave publica de Bob junto con el monto que ella desea transferir a la transacción.
+
* Alicia agrega en la transacción la clave publica de Bob junto con la cantidad que ella desea transferir.
* Alicia firma la transacción con su llave privada secreta.
+
* Alicia firma la transacción con su clave privada secreta.
  
Como resultado, cualquiera que conozca la llave publica de ambos, Alicia y Bob, podrán ver que Alicia esta de acuerdo en transferir una cantidad a Bob de bitcoins, porque nadie mas que Alicia tiene la llave privada secreta de Alicia. Ella no es tonta como para darle su llave privada secreta a otra persona, si hiciera esto, haría posible que otra persona firme transacciones a nombre de ella, eliminado fondos de su saldo.
+
Como resultado, cualquiera que conozca la clave publica de ambos, Alicia y Bob, podrá ver que Alicia está de acuerdo en transferir una cantidad de bitcoinsa Bob, porque nadie más que Alicia tiene la clave privada secreta de Alicia. Ella no es tonta como para darle su clave privada secreta a otra persona; si hiciera esto, haría posible que otra persona firmara transacciones en su nombre, eliminado fondos de su saldo.
  
Luego, cuando Bob transfiera la misma moneda a Carlos, él hará lo mismo: Recibir la llave publica de Carlos, añadir la nueva transacción a la cadena de transacciones y firmarla con su (Bob) <!-- el what? no entiendo que quiere dar a entender con el nombre de Bob ahi --> llave privada. Pero solo Bob puede hacer esto, porqué solo Bob tiene la llave privada que es necesaria para firmar y es la única llave que coincide con la llave publica de Bob que ya esta en la cadena.
+
Luego, cuando Bob transfiera la misma moneda a Carlos, hará lo mismo: Recibir la clave pública de Carlos, añadir la nueva transacción a la cadena de transacciones y firmarla con su clave privada (la de Bob). Pero sólo Bob puede hacer esto, porque sólo Bob tiene la clave privada que es necesaria para firmar, y es la única clave que se corresponde con la clave publica de Bob que ya esta en la cadena.
  
Siquiera Eva puede cambiar a quien pertenecen esas monedas reemplazando la firma publica de Bob con su firma, esto porque Alicia firmo la transferencia a Bob usando su llave privada, declarando así que esas monedas le pertenecían a ella y ahora pertenecen a Bob, asi la llave privada de Alicia es mantenida en secreto de Eva. Así que, si Carlos acepta que la moneda originalmente estuvo en manos de Alicia, también aceptara el hecho que esa moneda paso a manos de Bob y ahora se le envía esa misma moneda a él.
+
Ni siquiera Eva puede cambiar a quién pertenecen esas monedas reemplazando la clave pública de Bob con su propia clave pública, porque Alicia firmó la transferencia a Bob usando su clave privada, declarando así que esas monedas le pertenecían a ella y ahora pertenecen a Bob, así la clave privada de Alicia es mantenida en secreto a Eva. Así que, si Carlos acepta que la moneda originalmente estuvo en manos de Alicia, también aceptará el hecho que esa moneda pasó a manos de Bob y ahora se le envía esa misma moneda a él.
  
==Previniendo el Doble gasto==
+
===Prevención del doble gasto===
Esto es lo que garantizara que Alicia no pueda replicar la moneda y usarla en mas de una transacción (esta es la mayor innovación detrás de Bitcoin):
+
Esto es lo que garantizara que Alicia no pueda replicar la moneda y usarla en más de una transacción (esta es la mayor innovación detrás de Bitcoin):
  
 
* Los detalles de la [[Transacción|transacción]] son [[Red|enviadas y remitidas]] a todas las computadoras o a la mayor cantidad de computadoras posible.
 
* Los detalles de la [[Transacción|transacción]] son [[Red|enviadas y remitidas]] a todas las computadoras o a la mayor cantidad de computadoras posible.
* Una constante y creciente cadena de [[Bloques|bloques]] que contiene un registro de todas las transacciones es colectivamente mantenida por todas las computadoras de la red Bitcoin (cada una de ellas posee una copia completa de este registro).
+
* Una cadena de [[Blocks|bloques]] constantemente creciente, que contiene el registro de todas las transacciones, se mantiene colectivamente por todas las computadoras de la red Bitcoin (cada una de ellas posee una copia completa de este registro).
* Para ser aceptado en una cadena, los bloques de transacción deben ser validos e incluir una [[prueba de trabajo]] (éste <!-- revisar si esto es lo que la versión en ingles desea dar a entender --> bloque es generado por la red cada 10 minutos).
+
* Para ser aceptados en la cadena, los bloques de transacciones deben ser válidos e incluir una [[prueba de trabajo]] (un bloque es generado por la red cada 10 minutos).
* Los bloques son encadenados de esa manera, así que, si algún bloque es modificado, los bloques restantes tendrán que ser re-computados.
+
* Los bloques son encadenados de forma que, si algún bloque es modificado, los bloques restantes tendrán que ser reconstruidos.
* Cuando múltiples validaciones aparecen en esta cadena, se aceptara la rama mas larga y se continuara ampliando aun mas. <!-- revisar también este punto si concuerda con lo que la versión en ingles desea dar a entender -->
+
* Cuando aparecen múltiples continuaciones válidas en esta cadena, se aceptará sólo la rama más larga y consecuentemente se continuará extendiendo.
  
Cuando Bob observa que la transacción a sido incluida en un bloque que se a hecho formar parte de una larga de rápido crecimiento cadena de bloques (extendida con un significante esfuerzo computacional) puede confiar que la transacción realizada por Alicia a sido aceptada por la red de computadoras y que sera permanentemente registrada, previniendo así que Alicia haga una segunda transacción con la misma moneda.
+
Cuando Bob observa que la transacción ha sido incluida en un bloque que se ha hecho formar parte de una larga cadena de bloques de rápido crecimiento (extendida con un significativo esfuerzo computacional), puede confiar que la transacción realizada por Alicia ha sido aceptada por la red de computadoras y que será permanentemente registrada, previniendo así que Alicia haga una segunda transacción con la misma moneda.
  
En teoría, Alicia podría intentar generar bloques falsos donde su pasado uso de la misma moneda no aparecerá e intentara enviarle estos bloques falsos a todo el mundo como evidencia de que esa moneda sigue siendo de su propiedad. Sin embargo, la pasada transacción, que contenía la firma de Alicia, ya a sido anunciada como también distribuida a un gran numero de computadoras de la red bitcoin, además, un bloque conteniendo esto ya a sido generado por alguien mas <!-- ni idea de que desea comunicar esa ultima parte en ingles luego de "and a block containing it" favor corregir :-| --> (de otro modo, el primer receptor de la moneda nunca hubiera obtenido confirmación alguna). Dado que el proceso de generar un bloque valido esta diseñado para tomar [[prueba_de_trabajo|mucho tiempo]], Alicia no podrá competir con el resto de computadoras a la velocidad que ella puede generar bloques. Bob recibirá muchos bloques de terceras personas que Alicia nunca podrá producir por su propia cuenta y algunas de los nuevos bloques contendrán la transacción previa realizada por Alicia, esto le dirá a Bob que Alicia ya gasto su moneda. La única manera en la que Alicia pueda remover su pasada transacción es creando una cadena paralela que sea mas larga que la cadena generada por todos donde no exista registro alguno de su transacción, porqué solo la cadena mas larga es aceptada por la red. Para seguir siendo larga, la cadena paralela de Alicia debe crecer mas rápidamente que cualquier otra cadena previniendo así que algún generador de bloques añada la transacción de Alicia a la cadena de transacciones.
+
En teoría, Alicia podría intentar generar bloques falsos en los que su uso anterior de la misma moneda no apareciera, e intentar enviarle estos bloques falsos a todo el mundo para evidenciar que esa moneda sigue siendo de su propiedad. Sin embargo, la anterior transacción, que contenía la firma de Alicia, ya ha sido anunciada y distribuida a un gran número de computadoras de la red bitcoin, y un bloque conteniéndola ya ha sido generado por alguien (de otro modo, el primer receptor de la moneda nunca hubiera obtenido confirmación alguna). Dado que el proceso de generar un bloque valido esta diseñado para tomar [[prueba_de_trabajo|mucho tiempo]], Alicia no podrá competir con el resto de computadoras a la velocidad que ella puede generar bloques. Bob recibirá muchos bloques de terceras personas que Alicia nunca podrá producir por sus propios medios y algunos de esos nuevos bloques contendrán la transacción previa realizada por Alicia, esto le dirá a Bob que Alicia ya gastó su moneda. La única manera en la que Alicia puede borrar su pasada transacción es creando una cadena paralela que sea más larga que la cadena generada por todos, donde no exista registro alguno de su transacción, porque sólo la cadena más larga es aceptada por la red. Para seguir siendo larga, la cadena paralela de Alicia debe crecer más rápidamente que cualquier otra cadena, previniendo así que algún generador de bloques añada la transacción de Alicia a la cadena de transacciones.
Para que esto sea posible, Alicia tiene que poseer de manera permanente bajo su comando la mayoría del poder de CPU en la red; algo que asumimos que ninguna persona u organización puede hacer. Por lo tanto, mientras que las personas quienes controlan la mayoría de CPU no cooperen con Alicia, su transacción permanecerá registrada y le sera imposible crear otra transacción con la misma moneda.
+
Para que esto sea posible, Alicia tiene que poseer de manera permanente bajo su control la mayoría de la potencia de CPU en la red, algo que asumimos que ninguna persona u organización puede hacer. Por lo tanto, mientras que las personas que controlen la mayoría de CPU no cooperen con Alicia, su transacción permanecerá registrada y le sera imposible crear otra transacción con la misma moneda.
  
==Anonimato==
+
===Anonimato===
 
Las "cuentas" Bitcoin no contienen en ellas el nombre de las personas y no necesariamente corresponden específicamente a individuos. Cada saldo simplemente se asocia con el par de claves pública-privada generado al azar y el dinero "pertenece" a cualquiera que pueda firmar con la clave privada cualquier transacción de esos fondos. Las transacciones firmadas usando estas claves no incluyen los nombres de las personas que las realizan.
 
Las "cuentas" Bitcoin no contienen en ellas el nombre de las personas y no necesariamente corresponden específicamente a individuos. Cada saldo simplemente se asocia con el par de claves pública-privada generado al azar y el dinero "pertenece" a cualquiera que pueda firmar con la clave privada cualquier transacción de esos fondos. Las transacciones firmadas usando estas claves no incluyen los nombres de las personas que las realizan.
  
Línea 46: Línea 50:
 
Con el fin de proteger su [[Anonimato|privacidad]], Bob puede generar un nuevo par de claves pública-privada para cada transacción. Así es que David recibe la moneda de Carlos, receptor al que no le será posible identificar quién es la segunda persona en la listas de transacciones (no sin preguntar antes a Carlos).
 
Con el fin de proteger su [[Anonimato|privacidad]], Bob puede generar un nuevo par de claves pública-privada para cada transacción. Así es que David recibe la moneda de Carlos, receptor al que no le será posible identificar quién es la segunda persona en la listas de transacciones (no sin preguntar antes a Carlos).
  
==La creación de monedas==
+
===La creación de monedas===
 
Como vimos anteriormente, Bob y Carlos necesitan verificar que la moneda enviada originalmente por Alicia es válida. Alicia no puede simplemente generar monedas instantáneamente de la nada, porque la aparición de una moneda es una transacción que debe ser reconocida por las demás personas.
 
Como vimos anteriormente, Bob y Carlos necesitan verificar que la moneda enviada originalmente por Alicia es válida. Alicia no puede simplemente generar monedas instantáneamente de la nada, porque la aparición de una moneda es una transacción que debe ser reconocida por las demás personas.
  
Línea 53: Línea 57:
 
Ya que, eventualmente, este incentivo disminuirá, otra forma que tiene Alicia para ganar bitcoins cuando ella genera bloques, es aceptar [[Transaction_fee|comisiones sobre transacciones]]. Existe una comisión voluntaria sobre transacciones que puede pagarse en cada transferencia de bitcoins, cuya cantidad elige y paga la persona que envía el dinero. Esta cantidad se abona a la persona que genera el bloque "prueba de trabajo" en el que aparece la transacción, que es necesario para que la transacción sea aceptada. Ya que Alicia es libre para incluir en su bloque cualquier grupo de transacciones que desee, ella puede elegir incluir sólo las transacciones con las mayores comisiones sobre transacciones. Si todo el mundo actúa de esa forma, eventualmente, y dependiendo del número total de transacciones, se requerirá una mínima comisión sobre transacciones para que una transacción aparezca en la cadena de bloques.  
 
Ya que, eventualmente, este incentivo disminuirá, otra forma que tiene Alicia para ganar bitcoins cuando ella genera bloques, es aceptar [[Transaction_fee|comisiones sobre transacciones]]. Existe una comisión voluntaria sobre transacciones que puede pagarse en cada transferencia de bitcoins, cuya cantidad elige y paga la persona que envía el dinero. Esta cantidad se abona a la persona que genera el bloque "prueba de trabajo" en el que aparece la transacción, que es necesario para que la transacción sea aceptada. Ya que Alicia es libre para incluir en su bloque cualquier grupo de transacciones que desee, ella puede elegir incluir sólo las transacciones con las mayores comisiones sobre transacciones. Si todo el mundo actúa de esa forma, eventualmente, y dependiendo del número total de transacciones, se requerirá una mínima comisión sobre transacciones para que una transacción aparezca en la cadena de bloques.  
  
==Juntándolo todo==
+
====Juntándolo todo====
 
Experimente directamente el sistema en acción visitando [http://blockexplorer.com/ Bitcoin Block Explorer]. El sitio le muestra los últimos bloques de la cadena de bloques. La [[Block_chain|cadena de bloques]] contiene el historial confirmado de todas las transacciones que han tenido lugar en el sistema.
 
Experimente directamente el sistema en acción visitando [http://blockexplorer.com/ Bitcoin Block Explorer]. El sitio le muestra los últimos bloques de la cadena de bloques. La [[Block_chain|cadena de bloques]] contiene el historial confirmado de todas las transacciones que han tenido lugar en el sistema.
  
 +
Compruebe cuántos bloques han sido generados en la última hora; debieran ser alrededor de 6. Compruebe igualmente el número de transacciones y la cantidad total transferida en la última hora (la última vez que lo comprobé fueron 64 y 15.000 respectivamente). Esto debería darle una indicación de cuán activo es el sistema.
 +
 +
A continuación, penetremos en uno de estos bloques.
 +
Comience percatándose de que el [[hash|hash]] del bloque comienza por una ristra de ceros, eso es lo que hace tan difícil su elaboración.
 +
El ordenador que generó este bloque tuvo que probar muchos valores "nonce" (listados igualmente en la página de bloques), hasta que encontró uno que generó esta ristra de ceros.
 +
A continuación observe la línea titulada "Previous block" ("Bloque previo"), cada bloque contiene el hash del bloque que lo precede, así es cómo se forma la cadena de bloques.
 +
Ahora observe todas las transacciones que contiene el bloque. La primera transacción son los ingresos ganados por el ordenador que generó este bloque. Eso incluye una cantidad fija de monedas creadas de la nada y posiblemente recolectadas de comisiones sobre otras transacciones del mismo bloque.
  
 +
Introdúzcase en cualquiera de las transacciones y verá cómo está compuesta de una o más cantidades que entran y salen. El hecho de que pueda haber más de una cantidad que entra o sale, permite al sistema
 
'''aun en traducción...'''
 
'''aun en traducción...'''
 
<!--
 
<!--
Directly experience the system in action by visiting [http://blockexplorer.com/ Bitcoin Block Explorer].
 
The site shows you the latest blocks in the block chain. The [[Block_chain|block chain]] contains the agreed history of all transactions that took place in the system.
 
Note how many blocks were generated in the last hour, should be around 6. Also notice the number of transactions and the total amount transferred in the last hour (last time I checked it was about 64 and 15K.)
 
This should give you an indication of how active the system is.
 
  
Next, drill into one of these blocks.
 
Start by noticing that the block's [[hash|hash]] begins with a run of zeros, this is what made making it so difficult.
 
The computer that generated this block had to run on many ''Nonce'' values (also listed on the block's page) until it found one that generated this run of zeros.
 
Next notice the line titled ''Previous block'', each block contains the hash of the block that came before it, this is what forms the chain of blocks.
 
 
Now notice all the transactions the block contains. The first transaction is the income earned by the computer that generated this block. It includes a fixed amount of coins created out of thin air and possibly fee collected from other transactions in the same block.
 
Now notice all the transactions the block contains. The first transaction is the income earned by the computer that generated this block. It includes a fixed amount of coins created out of thin air and possibly fee collected from other transactions in the same block.
  

Revisión actual del 20:30 3 jul 2011

Moneda

Alicia vive muy lejos de Bob y quiere comprarle sus calcetines de Alpaca. A cambio, ella quiere enviarle un billete de un dolar a él. El billete de un dolar es una pieza de papel que es fácil de crear (por aquellos que pueden), que es aceptado por la gente en cambio por productos de valor y servicios en el mundo real, como los calcetines que Alicia quiere comprar. Algo sencillo que puede hacer Alicia es poner el billete de un dolar dentro de un sobre, enviarlo por correo a Bob, y esperar que Bob le envié los calcetines a ella.

Bancos

Otra cosa que puede hacer Alicia es "transferir" el dinero a Bob. Lo que ella debe hacer primero es darle su billete de un dolar a una institución llamado Banco, el trabajo de susodicha institución es la de resguardar el dinero de Alicia, a cambio, Alicia recibe una promesa por escrito (llamado "estado de cuenta") que, cuando ella lo desee, puede ir al banco y tomar de vuelta la misma cantidad de dolares que ella deposito. Puesto que el dinero sigue siendo de Alicia, ella esta en propiedad de hacer lo que a ella mas le convenga con él, y el banco (como la mayoría de ellos), por una pequeña cuota, hará por Alicia el servicio de "dar" el billete de un dolar a Bob. Esto se puede realiza enviando a una persona hasta la puerta de la casa de Bob con el billete de Alicia en la mano (o, mejor aun, con un billete nuevo y reluciente de un dolar por si el billete de Alicia estaba en malas condiciones), pero usualmente esto no es así, el banco de Alicia le envía el billete de un dolar al banco de Bob informándole que ese dinero es para Bob, quien vera el monto añadido a su cuenta en el siguiente estado de cuenta, o, si él esta algo apresurado, en la siguiente ocasión que él contacte al banco preguntando cuanto dinero hay en su cuenta.

Desde luego los bancos tienen muchos clientes, y los bancos tiene empleados que requieren un pago para hacer el trabajo de hablar con la gente y firmar documentos, los bancos en tiempos recientes han comenzado a utilizar maquinas como los cajeros automáticos y páginas web que realizan el trabajo de interactuar con la clientela en lugar de pagarle a empleados para realizar esta labor. La tarea de estas maquinas es la de registrar que es lo que quiere hacer cada cliente con su dinero y, en la medida de los posible, actuar sobre lo que el cliente quiere (por ejemplo, los cajeros pueden entregar dinero en efectivo). Al fin de al cabo existe muy poca participación humana en el proceso la mayoría de las veces. La gente puede saber siempre cuanto dinero les queda, dinero que es resguardado por el banco, y ellos confían en los números que pueden ver en sus estados de cuenta o en los números mostrados en la pantalla de sus computadoras que representa la cantidad de billetes de dolar que pueden sacar del banco en el momento que el cliente lo desee. Ellos pueden estar seguros de eso, pueden aceptar esos números de la misma manera que aceptan papel moneda (esto es similar a cuando la gente comenzó a aceptar papel moneda en lugar del oro o la plata como pago).

De cualquier forma, el hecho es que el uso de las maquinas no cambia la estructura de este sistema, que es, y seguirá siendo, basado en una autoridad central (el banco) que es la responsable de mantener un registro sobre cuanto dinero pertenece a quien. Todos deben confiar en la honestidad de esta autoridad central (p.e: decir la verdad sobre cuanto sobre cuanto dinero en total tienen bajo su custodia, o al menos, la cantidad de papel moneda disponible para ser extraía con una petición previa de los dueños). Además, toda persona debe identificarse a si mismo ante esta autoridad dando su nombre real con el fin de tener de vuelta su dinero o enviar una cantidad de dinero a otra persona.

Bitcoin es un sistema de apropiación y de transferencia voluntaria de una moneda, llamada también, bitcoins, proceso que se hace de manera similar a una transferencia bancaria en linea, pero de manera anónima y sin depender de una autoridad central que decide cual transferencia realizar y cual no . Estos bitcoins son valiosos porque generarlos requiere una cantidad de recursos reales (tiempo de CPU y electricidad), no puede gastarse mas de una vez y tampoco se puede arrebatar sus bitcoins a una persona sin acceder de manera ilícita a su computador personal.

Las bases para usar Bitcoins

Previniendo el robo

Para garantizar que una espía, como Eva, obtenga acceso a los bitcoins de otras personas haciendo transacciones en su nombre usamos un sistema de llaves publicas para hacer firmas digitales. En este sistema, cada persona, como Alicia y Bob, tienen un par de claves publicas y privadas que se almacenan en una cartera. Sólo el usuario con la clave privada secreta puede firmar un documento tal como una transacción para darle algunos bitcoins a alguien más, pero cualquiera puede validar la firma usando la clave pública del usuario que realiza la transferencia.

  • Bob le envía su clave publica a Alicia.
  • Alicia agrega en la transacción la clave publica de Bob junto con la cantidad que ella desea transferir.
  • Alicia firma la transacción con su clave privada secreta.

Como resultado, cualquiera que conozca la clave publica de ambos, Alicia y Bob, podrá ver que Alicia está de acuerdo en transferir una cantidad de bitcoinsa Bob, porque nadie más que Alicia tiene la clave privada secreta de Alicia. Ella no es tonta como para darle su clave privada secreta a otra persona; si hiciera esto, haría posible que otra persona firmara transacciones en su nombre, eliminado fondos de su saldo.

Luego, cuando Bob transfiera la misma moneda a Carlos, hará lo mismo: Recibir la clave pública de Carlos, añadir la nueva transacción a la cadena de transacciones y firmarla con su clave privada (la de Bob). Pero sólo Bob puede hacer esto, porque sólo Bob tiene la clave privada que es necesaria para firmar, y es la única clave que se corresponde con la clave publica de Bob que ya esta en la cadena.

Ni siquiera Eva puede cambiar a quién pertenecen esas monedas reemplazando la clave pública de Bob con su propia clave pública, porque Alicia firmó la transferencia a Bob usando su clave privada, declarando así que esas monedas le pertenecían a ella y ahora pertenecen a Bob, así la clave privada de Alicia es mantenida en secreto a Eva. Así que, si Carlos acepta que la moneda originalmente estuvo en manos de Alicia, también aceptará el hecho que esa moneda pasó a manos de Bob y ahora se le envía esa misma moneda a él.

Prevención del doble gasto

Esto es lo que garantizara que Alicia no pueda replicar la moneda y usarla en más de una transacción (esta es la mayor innovación detrás de Bitcoin):

  • Los detalles de la transacción son enviadas y remitidas a todas las computadoras o a la mayor cantidad de computadoras posible.
  • Una cadena de bloques constantemente creciente, que contiene el registro de todas las transacciones, se mantiene colectivamente por todas las computadoras de la red Bitcoin (cada una de ellas posee una copia completa de este registro).
  • Para ser aceptados en la cadena, los bloques de transacciones deben ser válidos e incluir una prueba de trabajo (un bloque es generado por la red cada 10 minutos).
  • Los bloques son encadenados de forma que, si algún bloque es modificado, los bloques restantes tendrán que ser reconstruidos.
  • Cuando aparecen múltiples continuaciones válidas en esta cadena, se aceptará sólo la rama más larga y consecuentemente se continuará extendiendo.

Cuando Bob observa que la transacción ha sido incluida en un bloque que se ha hecho formar parte de una larga cadena de bloques de rápido crecimiento (extendida con un significativo esfuerzo computacional), puede confiar que la transacción realizada por Alicia ha sido aceptada por la red de computadoras y que será permanentemente registrada, previniendo así que Alicia haga una segunda transacción con la misma moneda.

En teoría, Alicia podría intentar generar bloques falsos en los que su uso anterior de la misma moneda no apareciera, e intentar enviarle estos bloques falsos a todo el mundo para evidenciar que esa moneda sigue siendo de su propiedad. Sin embargo, la anterior transacción, que contenía la firma de Alicia, ya ha sido anunciada y distribuida a un gran número de computadoras de la red bitcoin, y un bloque conteniéndola ya ha sido generado por alguien (de otro modo, el primer receptor de la moneda nunca hubiera obtenido confirmación alguna). Dado que el proceso de generar un bloque valido esta diseñado para tomar mucho tiempo, Alicia no podrá competir con el resto de computadoras a la velocidad que ella puede generar bloques. Bob recibirá muchos bloques de terceras personas que Alicia nunca podrá producir por sus propios medios y algunos de esos nuevos bloques contendrán la transacción previa realizada por Alicia, esto le dirá a Bob que Alicia ya gastó su moneda. La única manera en la que Alicia puede borrar su pasada transacción es creando una cadena paralela que sea más larga que la cadena generada por todos, donde no exista registro alguno de su transacción, porque sólo la cadena más larga es aceptada por la red. Para seguir siendo larga, la cadena paralela de Alicia debe crecer más rápidamente que cualquier otra cadena, previniendo así que algún generador de bloques añada la transacción de Alicia a la cadena de transacciones. Para que esto sea posible, Alicia tiene que poseer de manera permanente bajo su control la mayoría de la potencia de CPU en la red, algo que asumimos que ninguna persona u organización puede hacer. Por lo tanto, mientras que las personas que controlen la mayoría de CPU no cooperen con Alicia, su transacción permanecerá registrada y le sera imposible crear otra transacción con la misma moneda.

Anonimato

Las "cuentas" Bitcoin no contienen en ellas el nombre de las personas y no necesariamente corresponden específicamente a individuos. Cada saldo simplemente se asocia con el par de claves pública-privada generado al azar y el dinero "pertenece" a cualquiera que pueda firmar con la clave privada cualquier transacción de esos fondos. Las transacciones firmadas usando estas claves no incluyen los nombres de las personas que las realizan.

La dirección bitcoin de A corresponde matemáticamente a una clave pública similar a esta:

1PC9aZC4hNX2rmmrt7uHTfYAS3hRbph4UN

Cada persona puede tener muchas direcciones como esta, cada una con su propio saldo, y esto puede hacer más difícil identificar qué persona tiene tal cantidad de dinero. Con el fin de proteger su privacidad, Bob puede generar un nuevo par de claves pública-privada para cada transacción. Así es que David recibe la moneda de Carlos, receptor al que no le será posible identificar quién es la segunda persona en la listas de transacciones (no sin preguntar antes a Carlos).

La creación de monedas

Como vimos anteriormente, Bob y Carlos necesitan verificar que la moneda enviada originalmente por Alicia es válida. Alicia no puede simplemente generar monedas instantáneamente de la nada, porque la aparición de una moneda es una transacción que debe ser reconocida por las demás personas.

De acuerdo con el software actual, la manera en la que nuevas bitcoins son introducidos lentamente en la red es: a cada computadora que genera un bloque se le permite añadir una transacción en él, ganando así unos 50 BTC, sin necesidad de que esta cantidad venga de algún sitio. Esta cantidad es un incentivo para que las personas hagan el trabajo computacional que requiere generar un bloque. Sin embargo, actualmente esta acordado que la recompensa por generar un bloque se ira reduciendo a la mitad cada 4 años. Esto quiere decir que en algún momento de 2013, la mayoría de las CPUs o GPUs dejaran de aceptar bloques que añadan 50BTC al total de dinero, y sólo aceptarán bloques que añadan la mitad de esa cantidad. Lo mismo sucederá en los años 2017, 2021, 2025, etc., a menos que un software cliente Bitcoin diferente haya prevalecido en la red.

Ya que, eventualmente, este incentivo disminuirá, otra forma que tiene Alicia para ganar bitcoins cuando ella genera bloques, es aceptar comisiones sobre transacciones. Existe una comisión voluntaria sobre transacciones que puede pagarse en cada transferencia de bitcoins, cuya cantidad elige y paga la persona que envía el dinero. Esta cantidad se abona a la persona que genera el bloque "prueba de trabajo" en el que aparece la transacción, que es necesario para que la transacción sea aceptada. Ya que Alicia es libre para incluir en su bloque cualquier grupo de transacciones que desee, ella puede elegir incluir sólo las transacciones con las mayores comisiones sobre transacciones. Si todo el mundo actúa de esa forma, eventualmente, y dependiendo del número total de transacciones, se requerirá una mínima comisión sobre transacciones para que una transacción aparezca en la cadena de bloques.

Juntándolo todo

Experimente directamente el sistema en acción visitando Bitcoin Block Explorer. El sitio le muestra los últimos bloques de la cadena de bloques. La cadena de bloques contiene el historial confirmado de todas las transacciones que han tenido lugar en el sistema.

Compruebe cuántos bloques han sido generados en la última hora; debieran ser alrededor de 6. Compruebe igualmente el número de transacciones y la cantidad total transferida en la última hora (la última vez que lo comprobé fueron 64 y 15.000 respectivamente). Esto debería darle una indicación de cuán activo es el sistema.

A continuación, penetremos en uno de estos bloques. Comience percatándose de que el hash del bloque comienza por una ristra de ceros, eso es lo que hace tan difícil su elaboración. El ordenador que generó este bloque tuvo que probar muchos valores "nonce" (listados igualmente en la página de bloques), hasta que encontró uno que generó esta ristra de ceros. A continuación observe la línea titulada "Previous block" ("Bloque previo"), cada bloque contiene el hash del bloque que lo precede, así es cómo se forma la cadena de bloques. Ahora observe todas las transacciones que contiene el bloque. La primera transacción son los ingresos ganados por el ordenador que generó este bloque. Eso incluye una cantidad fija de monedas creadas de la nada y posiblemente recolectadas de comisiones sobre otras transacciones del mismo bloque.

Introdúzcase en cualquiera de las transacciones y verá cómo está compuesta de una o más cantidades que entran y salen. El hecho de que pueda haber más de una cantidad que entra o sale, permite al sistema aun en traducción...