Una pregunta básica sobre Bitcoin

Glasterthum

Madmaxista
Desde
7 Oct 2006
Mensajes
29.059
Reputación
16.660
No he conseguido aclararlo en la extensísima documentación sobre Bitcoin (precisamente por extensa, no me la he leído toda), y nadie a quien alguna vez haya preguntado me ha sabido responder.

1.- ¿Cómo se realiza la transferencia de Bitcoins? ¿Hay una base de datos centralizada que asocia los bitcoins a cada usuario?
 
No he conseguido aclararlo en la extensísima documentación sobre Bitcoin (precisamente por extensa, no me la he leído toda), y nadie a quien alguna vez haya preguntado me ha sabido responder.

1.- ¿Cómo se realiza la transferencia de Bitcoins? ¿Hay una base de datos centralizada que asocia los bitcoins a cada usuario?

Te descargas el programa oficial y te genera direcciones bitcoin para recibir o enviar bitcoins. En el menu para enviar te pedirá la cantidad y dirección de destino. Para recibir bitcoins sólo debes dar tu dirección bitcoin. También puedes crearte un wallet online:

Choose your wallet - Bitcoin

Los bitcoins estan asociados a direcciones bitcoin y no a usuarios. Puedes operar anónimamente sin vincular tu identidad a la direccion bitcoin generada. Cada direccion bitcoin que posees tiene una clave secreta que sólo tú posees y es necesaria para enviar bitcoins.
 
Última edición:
Te descargas el programa oficial y te genera direcciones bitcoin para recibir o enviar bitcoins. En el menu para enviar te pedirá la cantidad y dirección de destino. Para recibir bitcoins sólo debes dar tu dirección bitcoin. También puedes crearte un wallet online:

Choose your wallet - Bitcoin

Los bitcoins estan asociados a direcciones bitcoin y no a usuarios. Puedes operar anónimamente sin vincular tu identidad a la direccion bitcoin generada. Cada direccion bitcoin que posees tiene una clave secreta que sólo tú posees y es necesaria para enviar bitcoins.

Sí, lo de la dirección bitcoin asociada a cada usuario ya lo sé. Mi duda es dónde se almacena esa relación entre bitcoins y usuario o dirección. Porque tenía entendido que era descentralizado pero no puede serlo, porque qué me impide a mí fingir que pagar pero seguir guardando mis bitcoins.
 
Sí, lo de la dirección bitcoin asociada a cada usuario ya lo sé. Mi duda es dónde se almacena esa relación entre bitcoins y usuario o dirección. Porque tenía entendido que era descentralizado pero no puede serlo, porque qué me impide a mí fingir que pagar pero seguir guardando mis bitcoins.

De la wiki:

Los bitcoins contienen la dirección pública de su dueño. Cuando un usuario A transfiere algo a un usuario B, A entrega la propiedad agregando la clave pública de B y después firmando con su clave privada.26 A entonces incluye esos bitcoins en una transacción, y la difunde a los nodos de la red P2P a los que está conectado. Estos nodos validan las firmas criptográficas y el valor de la transacción antes de aceptarla y retransmitirla. Este procedimiento propaga la transacción de manera indefinida hasta alcanzar a todos los nodos de la red P2P.


Los usuarios de la red guardan paquetes cifrados con la información del estado de cada bitcoin y son los usuarios de la red los que actúan de nodos.
 
Sí, lo de la dirección bitcoin asociada a cada usuario ya lo sé. Mi duda es dónde se almacena esa relación entre bitcoins y usuario o dirección.

En la blockchain, que es el histórico de bloques validados, tienes el balance en bitcoins de todas las direcciones bitcoins. Cualquiera que posea la clave secreta de la dirección bitcoin puede transferir bitcoins de esa dirección a otra. Tu "propriedad" de los bitcoins se basa en la posesión de la clave privada que se encuentra en un fichero wallet.dat creado por el cliente oficial.

Porque tenía entendido que era descentralizado pero no puede serlo, porque qué me impide a mí fingir que pagar pero seguir guardando mis bitcoins.


Esa es la idea ingeniosa.

Cuando efectuas un pago (transferencia de bitcoins) tu transacción se distribuye a la red de mineros firmada con tu clave secreta. De esa manera la incluyen en el siguiente bloque que se valida. Si efectúas un segundo pago con el mismo bitcoin, sólo una de las transacciones se incluirá en el próximo bloque validado con lo cual sólo una transacción quedará registrada. Sólo podrás gastar tu bitcoin una sola vez. Todo el sistema de validación de bloques está pensado para evitar el "double spending" (doble gasto) y controlarlo de forma descentralizada.

En realidad tú no guardas los bitcoins. La blockchain, que es el histórico de bloques validados, guardan la historia de todas las transacciones y por lo tanto de los balances de todas las direcciones bitcoin. El bitcoin en realidad no existe. Sólo existen balances de bitcoins en las direcciones bitcoins utilizadas. :D
 
Última edición:
Valor seguro y de futuro el bitcoin

De futuro no sé, pero de presente ya se puede hacer "caja" con él y no sólo con trading... es una industria incipiente dando sus primeros pasos. Como las puntocom con el internet. Falta saber que empresas saldrán fuertes y cuales se quedaran por el camino (que serán bastantes).
 
Sólo tenéis que pasaros por bitcointalk en la sección de Marketplace y es para flipar el movimiento que hay cada hora.
 
En la blockchain, que es el histórico de bloques validados, tienes el balance en bitcoins de todas las direcciones bitcoins. Cualquiera que posea la clave secreta de la dirección bitcoin puede transferir bitcoins de esa dirección a otra. Tu "propriedad" de los bitcoins se basa en la posesión de la clave privada que se encuentra en un fichero wallet.dat creado por el cliente oficial.




Esa es la idea ingeniosa.

Cuando efectuas un pago (transferencia de bitcoins) tu transacción se distribuye a la red de mineros firmada con tu clave secreta. De esa manera la incluyen en el siguiente bloque que se valida. Si efectúas un segundo pago con el mismo bitcoin, sólo una de las transacciones se incluirá en el próximo bloque validado con lo cual sólo una transacción quedará registrada. Sólo podrás gastar tu bitcoin una sola vez. Todo el sistema de validación de bloques está pensado para evitar el "double spending" (doble gasto) y controlarlo de forma descentralizada.

En realidad tú no guardas los bitcoins. La blockchain, que es el histórico de bloques validados, guardan la historia de todas las transacciones y por lo tanto de los balances de todas las direcciones bitcoin. El bitcoin en realidad no existe. Sólo existen balances de bitcoins en las direcciones bitcoins utilizadas. :D

Vale, ya me lo habéis dejado claro. Dos cosas:

1) Qué me impide pagar a un tipo con bitcoins, pero antes de que se actualice en toda la red, pagar a otro tipo de un nodo lejano con los mismos bitcoins.

2) Qué me impide modificar el programa de bitcoins, o crear uno nuevo, que no haga lo que decís que tiene que hacer. No se me ocurre ahora el pirateo exacto, pero por ejemplo no difundir por los nodos de la red la transacción, pero seguro que hay perrerías mejores.

Por último esas block chains, ¿no van creciendo hasta el infinito con cada nuevo traspaso?
 
Vale, ya me lo habéis dejado claro. Dos cosas:

1) Qué me impide pagar a un tipo con bitcoins, pero antes de que se actualice en toda la red, pagar a otro tipo de un nodo lejano con los mismos bitcoins.

2) Qué me impide modificar el programa de bitcoins, o crear uno nuevo, que no haga lo que decís que tiene que hacer. No se me ocurre ahora el pirateo exacto, pero por ejemplo no difundir por los nodos de la red la transacción, pero seguro que hay perrerías mejores.

Por último esas block chains, ¿no van creciendo hasta el infinito con cada nuevo traspaso?

1. No se confirmarán , por ello se recomienda esperar a 6 confirmaciones antes de dar por válida la transacción , aunque con 3 es más que suficiente .
2.Tampoco se confirmarán por la red de mineros .
3. El blockchain se puede implementar un algoritmo de limpieza en cuanto el espacio sea un problema.
 
1. No se confirmarán , por ello se recomienda esperar a 6 confirmaciones antes de dar por válida la transacción , aunque con 3 es más que suficiente .
2.Tampoco se confirmarán por la red de mineros .
3. El blockchain se puede implementar un algoritmo de limpieza en cuanto el espacio sea un problema.

1. Ok. Aun así sigo viendo teóricamente posible esto que digo, ya que hay miles de nodos y sólo 3 no me parece mucho. Compras al mismo tiempo en dos lugares distantes y a ver.

2. Ok. Pero habría que estudiar más perrerías y ver si es resistente. Por ejemplo, te digo otra: los nodos cercanos son nodos trucados tuyos y mandan la confirmación aun siendo falso. Ya te han dolido.

3. O sea que aún no está implementado.

Una duda más: ¿cómo se reconoce un bitcoin "original", es decir, recién generado? He leído lo de resolver problemas matemáticos y tal, pero, ¿cómo se reconoce que es auténtico? ¿Cómo se impide que cualquiera cree bitcoins a cero coste?
 
El problema de la escalabilidad de la cadena de bloques ya se ha tratado en el hilo de Bitcoin. Cuando la cadena de bloques tenga un tamaño considerable se depurará para eliminar cadenas de transacciones exhaustas. Pero si el uso de Bitcoin se convierte en mayoritario existirían diferentes soluciones frente al problema de la escalabilidad, como la formación de subredes locales que eviten el tener que plasmar todas las transacciones en la blockchain (porque si te fijas la mayoría de tus intercambios económicos tienen un marcado carácter local) y emplear Bitcoin sólo para transferir grandes sumas de dinero a medida que escribir las transacciones en la cadena se vaya convirtiendo en más y más caro debido a las comisiones de los mineros.

Con respecto al riesgo de fraude intentando un doble gasto... es muy improbable conseguirlo, ya que para ello el defraudador debería poseer una gran potencia de minado (el 51% de toda la red) o el defraudado tendría que ser muy ingenuo y aceptar la transacción como válida sin apenas confirmaciones.
 
El problema de la escalabilidad de la cadena de bloques ya se ha tratado en el hilo de Bitcoin. Cuando la cadena de bloques tenga un tamaño considerable se depurará para eliminar cadenas de transacciones exhaustas. Pero si el uso de Bitcoin se convierte en mayoritario existirían diferentes soluciones frente al problema de la escalabilidad, como la formación de subredes locales que eviten el tener que plasmar todas las transacciones en la blockchain (porque si te fijas la mayoría de tus intercambios económicos tienen un marcado carácter local) y emplear Bitcoin sólo para transferir grandes sumas de dinero a medida que escribir las transacciones en la cadena se vaya convirtiendo en más y más caro debido a las comisiones de los mineros.

Con respecto al riesgo de fraude intentando un doble gasto... es muy improbable conseguirlo, ya que para ello el defraudador debería poseer una gran potencia de minado (el 51% de toda la red) o el defraudado tendría que ser muy ingenuo y aceptar la transacción como válida sin apenas confirmaciones.

Si se empiezan a borrar datos de las blockchains, o se admiten subredes con datos parciales, entonces estás vendido a que haya quienes borren lo que no tenían que borrar. Que evidentemente para tener éxito en esto como tú comentas para otro caso, tendrán que tener un porcentaje inmenso de la red.

Otra pregunta ya dicha, y que es importante para saber que nadie podrá insertar nuevas filas en sus tablas de blockchains:

Una duda más: ¿cómo se reconoce un bitcoin "original", es decir, recién generado? He leído lo de resolver problemas matemáticos y tal, pero, ¿cómo se reconoce que es auténtico? ¿Cómo se impide que cualquiera cree bitcoins a cero coste?
 
1. Ok. Aun así sigo viendo teóricamente posible esto que digo, ya que hay miles de nodos y sólo 3 no me parece mucho. Compras al mismo tiempo en dos lugares distantes y a ver.

2. Ok. Pero habría que estudiar más perrerías y ver si es resistente. Por ejemplo, te digo otra: los nodos cercanos son nodos trucados tuyos y mandan la confirmación aun siendo falso. Ya te han dolido.

3. O sea que aún no está implementado.

Una duda más: ¿cómo se reconoce un bitcoin "original", es decir, recién generado? He leído lo de resolver problemas matemáticos y tal, pero, ¿cómo se reconoce que es auténtico? ¿Cómo se impide que cualquiera cree bitcoins a cero coste?

Aunque haya miles de nodos, todos comparten el mismo registro de transacciones válidas, que es la cadena de bloques más larga de todas las posibles. De este modo y esperando por seguridad un número aceptable de confirmaciones (normalmente seis, pero cada uno es libre de esperar las confirmacioned que crea oportunas) cualquier nodo puede estar estadísticamente convencido de que la transacción que ha recibido es válida.

Y no te preocupes por las perrerías. Bitcoin lleva ya cuatro años ininterrumpidos de funcionamiento y se ha visto sometido ya a muchas. Yo creo que cuatro años en manos de los mejores hackers, matemáticos, analistas, traficantes, vendedores de armas, etc es un testeo suficientemente "intensivo".

Un Bitcoin existe y está en tu poder si la transacción desde la que te lo han enviado ha sido correctamente afianzada en la cadena de bloques que comparte la mayoría de los nodos de las red y si dispones de la correspondiente clave privada que te permitirá en un futuro firmar criptográficamente una transacción que lo cambiará a otra dirección distinta en esa cadena de bloques. En resumen, un Bitcoin existe si aparece en una dirección de la cadena de bloques y está en tu poder si dispones tú de la clave privada que permitirá gastarlo, entendiendo gastarlo como cambiarlo desde una dirección de la cadena a otra dirección diferente.
 
Última edición:
Si se empiezan a borrar datos de las blockchains, o se admiten subredes con datos parciales, entonces estás vendido a que haya quienes borren lo que no tenían que borrar. Que evidentemente para tener éxito en esto como tú comentas para otro caso, tendrán que tener un porcentaje inmenso de la red.

Otra pregunta ya dicha, y que es importante para saber que nadie podrá insertar nuevas filas en sus tablas de blockchains:

Una duda más: ¿cómo se reconoce un bitcoin "original", es decir, recién generado? He leído lo de resolver problemas matemáticos y tal, pero, ¿cómo se reconoce que es auténtico? ¿Cómo se impide que cualquiera cree bitcoins a cero coste?

Si se implantan subredes se perderá el espíritu descentralizador de Bitcoin y, probablemente, acabaremos teniendo que depositar muestra confianza en algún gran nodo que actuaría a modo de banco. Por eso yo prefiero la alternativa de que se encarezca mucho el poder escribir en la cadena de bloques, esto es, que las comisiones por transacción se disparen de precio. Esto haría que Bitcoin se utilizase sólo para grandes transacciones de dinero.

Pero recuerda que estas dos soluciones imperfectas se darían solamente en el caso de que Bitcoin no solucionase el problema de escala. Cosa que no va a ocurrir porque el precio del almacenamiento de datos cae a buen ritmo y porque ya hay soluciones de depuración del tamaño de la cadena.

Y con respecto a los Bitcoins recién generados, todos los bitcoins pueden ser seguidos a través de las transacciones recogidas en la cadena de bloques hasta el bloque que los generó. Bitcoin ha sido diseñado de modo que los bitcoins no existían todos desde el primer bloque, sino que durante los primeros cuatro años de vida del sistema, iban generándose 50 unidades con cada bloque que se añadía a la cadena. Estos 50 nuevos Bitcoins se generaban en la dirección del minero que conseguía resolver el problema matemático que lograba afianzar el bloque a la cadena. De esta forma el diseñador de Bitcoin, el genio Satoshi Nakamoto, mataba dos pájaros de un tiro. Por un lado distribuía los Bitcoins a lo largo del tiempo con una inflación controlada y conocida. Y por otro lado iba entregando los nuevos bitcoins generados a las personas que colaboran con la seguridad del sistema, potenciando este aspecto de la moneda en su delicado estadio inicial.

Así que todos los bitcoins han sido generados en algún bloque como recompensa de minado del mismo. Puedes reconocer los bitcoins recién generados porque aparecen como la primera transacción recogida en el bloque recién minado y porque no provienen de una transacción previa.

Puedes verlo aquí, por ejemplo. Fíjate en la primera transacción que recoge este bloque (ahora sólo se generan 25 bitcoins por bloque)

http://blockchain.info/es/block-index/408181/00000000000000278f2859ddb8c7a31db1cc2dab158241f4eee748e51393c4d4
 
Última edición:
Volver