Introducción

De Bitcoin Wiki
Saltar a: navegación, buscar

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.

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.

Previniendo el robo

Para garantizar que una espía, como Eva, obtenga acceso a los bitcoins de otras personas haciendo transacciones en su nombre nosotros usamos un 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 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.

  • Bob le envía su llave publica a Alicia.
  • Alicia agrega la llave publica de Bob junto con el monto que ella desea transferir a la transacción.
  • Alicia firma la transacción con su llave 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.

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) 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.

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.

Previniendo el 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):

  • Los detalles de la transacción son enviadas y remitidas a todas las computadoras o a la mayor cantidad de computadoras posible.
  • Una constante y creciente cadena de 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).
  • Para ser aceptado en una cadena, los bloques de transacción deben ser validos e incluir una prueba de trabajo (éste 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.
  • Cuando múltiples validaciones aparecen en esta cadena, se aceptara la rama mas larga y se continuara ampliando aun mas.

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.

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 (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 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. 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.

Anonimidad

Las "cuentas" Bitcoin no tienen el nombre de las personas en ellas y no necesaria corresponde a individuos en especifico. Cada saldo simplemente es asociado con el par de llaves publica-privada generada al azar y el dinero "pertence" a quien sea que pueda firmar con la llave privada cualquier transaccion de esos fondos. Las transacciones que son firmadas usando estas llaves no incluyen los nombres de las personas que las realizan.

La direccion bitcoin de A corresponde matematicamente a una llave publica que es parecida a ésta:

1PC9aZC4hNX2rmmrt7uHTfYAS3hRbph4UN

Cada persona puede tener muchas direcciones como esta, cada una con su propio saldo, y esto puede hacer mas dificil de identificar que persona tiene tal monto de dinero. Con el fin de proteger su privacidad, Bob puede generar un nuevo par de llaves publica-privada para cada transaccion. Asi que David recibe la moneda de Carlos, receptor al que no le sera posible identificar quien es la segunda persona en la listas de transacciones (no sin preguntarle antes a Carlos).