Bitcoin: todo lo que siempre quiso saber y nunca se atrevió a preguntar.

  • Iniciador del tema Iniciador del tema MIP
  • Fecha de inicio Fecha de inicio
Con lo de nada de particular me refería al uso. Se usa para pagar lo que sea y las tienes que adquirir de alguna forma antes de usarla. Eso es igual para todas.

bitcoin tiene algunos usos no monetarios y de pagos más complejos.

-por ejemplo, puedes certificar algo dejando una anotacion como por ejemplo el hash de una escritura o un documento oficial.
-puedes bloquear un bitcoin para que solo se pueda gastar en un año
-puedes mandar un Bitcoin con una condición que requiera de n de m firmas para desbloquearlo, lo cual permite crear pagos con un mediador (2 de 3 firmas).
-combinando los dos anteriores, puedes hacer un fondo de fideicomiso casero en el cual dos padres y un hijo tengan cada uno una firma, y dejar unos fondos para el hijo que solo pueda desbloquear el solo cuando cumpla 18 años, o que para desbloquearse antes de esa fecha, requiera de al menos la firma del padre o madre y el hijo, pero no se pueda desbloquear solo con la firma de los dos padres...

eso ultimo en la vida real actual requiere de al menos un banco, un abogado y un notario.

Y luego hay que hacer algunas apreciaciones.

¿Sin rendir cuentas a nadie? ¿Los mineros son nadie ahora?

en 2017 un grupo de mineros mayoritario intentó imponer una serie de cambios en el consenso y la comunidad de nodos no lo acepto, y se comieron un mojon.

por tanto el poder de un minero es limitado. Puede censurar transacciones, pero primero, en casi todos los casos no sabe de quien viene y a quien va, y segundo, aunque lo sepa, otro minero no censurará la transacción.

la gracia es que nadie pinta nada y todos pintan un poco. Y sobre todo, que el sistema funciona solo a base de incentivos.
nadie está obligado a minar, a poner un nodo o a comprar Bitcoin.

si Bitcoin es aceptado lo sera porque nadie lo impone a nadie.

Sobre la seguridad tenemos que tu puedes encriptar lo que te de la gana. Y hacer el blockchain infalsificable. Todo eso funciona muy bien. Pero siempre tienes en las puntas de la cadena personas que usan un ordenador. Que tiene su cartera y que mete sus credenciales para operar con sus bitcoins. Credenciales que son tan robables como cualquier cosa. Los bitcoins se pueden robar. Y de hecho se han robado:



Por poner ejemplos conocidos. La de robos que se habrán hecho a gente que no ha dicho nada por que usa bitcoins por razones oscuras no lo sabemos. O la de gente que habrá con un man in the middle metiendo una pizca en la cuota del minero y ni se nota que están robando tampoco lo sabemos.

no se puede hacer un ataque de man in the middle en Bitcoin, porque no puedes reconstruir la dirección de destino En la transacción. El hash cambiaría y eso la invalidaría.

tampoco la puedes reconstruir a partir de la información que contiene. Hasta 2013 se podía hacer un ataque que se llamaba de maleabilidad pero que tenía efectos limitados (no podías robar dinero a otro pero si mandartelo a ti mismo de nuevo y engañar a algún Exchange despistado). Y ese agujero se tapó hace mucho.

Respecto a que te puedan robar con una pistola apuntando a la cabeza, etc. es como todo. Si tú tienes en tu casa un millón escondido, lo vas pregonando por el vecindario y además la puerta de entrada es de chapa de madera barata, la cerradura del chino y el millón lo tienes encima de la mesa del salón, pues si, tienes todas las papeletas para que te roben, esta claro.

pero a día de hoy hay herramientas, aparatos y protocolos suficientes para que la afirmación de que nadie te puede robar tus bitcoins, sea rigurosamente cierta, aunque te apunten con una pistola en la sien.

¿No se devalúa? Ahora te dan 9 mil y pico dólares por 1 bitcoin. Hace un par de años o tres andaba por los 17, 18, 19 mil si no recuerdo mal. ¿Eso no es una devaluación?

bueno... tambien lo has podido comprar a 100€ en 2013. Lo único que sabemos es que a día de hoy es que comparado con las monedas fiat, Bitcoin es la inversión más rentable de la historia reciente. Si nos vamos a casos extremos siempre podemos tener la razón.

pero no hablamos de devaluación respecto a unos papelitos de colores, sino en el sentido de que nadie va a imprimir de la nada más Bitcoins que los que están establecidos.

pero quizá es mejor entender cómo funciona y para que sirve, para entender por qué vale lo que vale.
no pienses solo en términos de € o $, porque un día esas monedas desaparecerán, pero al dia siguiente 1 BTC seguirá siendo 1 BTC

Los gobiernos pueden cortar las criptomonedas si les da la gana. Tendrían que legislar para ello y meter algunas medidas que se tardaría tiempo en implementar; pero que son del todo posibles. Hay una creencia en que el tráfico de internet es incontrolable. Eso tan famoso de las puertas al campo. Y eso es mentira. Precisamente lo que hace posible internet son un montón de puertas que son los puertos de los routers y los switches con un portero dediciendo para dónde va el tráfico que es el programa de esos routers y switches. Y es del todo posible controlar lo que ese portero hace y lo que le llega. Pero es ilegal en la mayoría de los casos para todo tipo de tráfico. Eso es lo que evita que se mire el tráfico, su caracter ilegal. Y precisamente es competencia de los gobiernos decir lo que es legal o no. Que no lo harán. Pues casi seguro. Pero no por que no puedan. Es por que no quieren. Eso que quede claro.

no, no lo pueden hacer. El tráfico se puede mandar por Tor, cambias de puertos y se pasa tus switches por el ojete porque será imposible distinguir si estas mandando bitcoins o viendo tu página porno favorita.

Mira China e India, que en algún momento han prohibido Bitcoin, y la gente sudaba de ellos, y no se puede decir que no sean estados con ánimo de censurar. Se puede hasta sacar una parabolica y conectarse a uno de los varios nodos Bitcoin que hay corriendo en satélites de baja órbita, preparar una transacción y mandársela en un papel de servilleta a un familiar al otro lado de la frontera.

este tipo de cosas hace que sea extremadamente complicado y costoso prohibir Bitcoin.

la única forma efectiva de cortarlo es cortar internet o cortar la luz. Y en ese caso tendremos problemas más gordos que no tener Bitcoin.

pero si, seguro que volverán a la carga, lo intentarán, y por el bien de todos espero que se den en los morros una y otra vez.
 
Última edición:
bitcoin tiene algunos usos no monetarios y de pagos más complejos.

-por ejemplo, puedes certificar algo dejando una anotacion como por ejemplo el hash de una escritura o un documento oficial.
-puedes bloquear un bitcoin para que solo se pueda gastar en un año
-puedes mandar un Bitcoin con una condición que requiera de n de m firmas para desbloquearlo, lo cual permite crear pagos con un mediador (2 de 3 firmas).
-combinando los dos anteriores, puedes hacer un fondo de fideicomiso casero en el cual dos padres y un hijo tengan cada uno una firma, y dejar unos fondos para el hijo que solo pueda desbloquear el solo cuando cumpla 18 años, o que para desbloquearse antes de esa fecha, requiera de al menos la firma del padre o madre y el hijo, pero no se pueda desbloquear solo con la firma de los dos padres...

eso ultimo en la vida real actual requiere de al menos un banco, un abogado y un notario.
¿Y? Una moneda que se usa par lo mismo que las otras. Opera con otra infraestructura que permite unas cosas y otras no. Pero en la base no es una moneda distinta a las otras. Es para lo mismo y funciona igual que es lo que, te repito, dije en su momento. Es evidente que no es idéntica a otras monedas y tiene sus particularidades. Pero eso no es lo que preocupaba a Katekox.


en 2017 un grupo de mineros mayoritario intentó imponer una serie de cambios en el consenso y la comunidad de nodos no lo acepto, y se comieron un mojon.

por tanto el poder de un minero es limitado. Puede censurar transacciones, pero primero, en casi todos los casos no sabe de quien viene y a quien va, y segundo, aunque lo sepa, otro minero no censurará la transacción.

la gracia es que nadie pinta nada y todos pintan un poco. Y sobre todo, que el sistema funciona solo a base de incentivos.
nadie está obligado a minar, a poner un nodo o a comprar Bitcoin.

si Bitcoin es aceptado lo sera porque nadie lo impone a nadie.
Rendir cuentas no significa lo mismo que controlar. Los mineros se llevan su comisión. Eso es rendir cuentas. Que sean incapaces de controlar el mercado es otra cosa. Y mucho menos hablaba de imponer nada.

no se puede hacer un ataque de man in the middle en Bitcoin, porque no puedes reconstruir la dirección de destino En la transacción. El hash cambiaría y eso la invalidaría.

tampoco la puedes reconstruir a partir de la información que contiene. Hasta 2013 se podía hacer un ataque que se llamaba de maleabilidad pero que tenía efectos limitados (no podías robar dinero a otro pero si mandartelo a ti mismo de nuevo y engañar a algún Exchange despistado). Y ese agujero se tapó hace mucho.
Un man in the middle se puede hacer siempre. Si te montas un man in the middle a nivel de ip o MAC de forma que la víctima te mande sus paquetes a tu máquina en lugar de la máquina de destino real sólo tienes que hacer 2 transacciones. Una de la víctima a tu cartera y otra de tu cartera a la de la entidad con la que quiere operar la victima. No hay que recontruir nada, ni va a cantar ningún hash por que no hay nada raro ya que el sistema funciona normalmente.

Esto se ha hecho. No es una cosa teórica.

Respecto a que te puedan robar con una pistola apuntando a la cabeza, etc. es como todo. Si tú tienes en tu casa un millón escondido, lo vas pregonando por el vecindario y además la puerta de entrada es de chapa de madera barata, la cerradura del chino y el millón lo tienes encima de la mesa del salón, pues si, tienes todas las papeletas para que te roben, esta claro.

pero a día de hoy hay herramientas, aparatos y protocolos suficientes para que la afirmación de que nadie te puede robar tus bitcoins, sea rigurosamente cierta, aunque te apunten con una pistola en la sien.
En fin. Si te pongo noticias de robo y me dices que no te pueden robar; pues tu mismo. Que no es cuestión de pistolas ni ir a la casa de nadie. Es cuestión de lo de siempre. Colarse en los ordenadores de los incautos y los sistemas mal administrados e ir pillando la actividad.

Como viste en las noticias que te ha puesto. Esto se ha hecho. No es una cosa teórica.

Y, ojo, yo no soy experto en seguridad. Es posible que existan mas formas que no conozco por que tampoco estoy todo el día empollando seguridad informática precisamente.

bueno... tambien lo has podido comprar a 100€ en 2013. Lo único que sabemos es que a día de hoy es que comparado con las monedas fiat, Bitcoin es la inversión más rentable de la historia reciente. Si nos vamos a casos extremos siempre podemos tener la razón.

pero no hablamos de devaluación respecto a unos papelitos de colores, sino en el sentido de que nadie va a imprimir de la nada más Bitcoins que los que están establecidos.

pero quizá es mejor entender cómo funciona y para que sirve, para entender por qué vale lo que vale.
no pienses solo en términos de € o $, porque un día esas monedas desaparecerán, pero al dia siguiente 1 BTC seguirá siendo 1 BTC
Pues habla en los términos correctos. Devaluarse es perder valor. Y eso le puede pasar y le pasa a todas las monedas. A unas mas y a otras menos. Igual que ganarlo. Que también le pasa al Bitcoin. De hecho pierde y gana mas valor que las monedas mas comunes y de forma mas rápida ambas cosas.

Si quieres decir que no habrá un gobierno que aumente el número de bitcoins para hacer frente a alguna coyuntura económica o política tendrías que haber dicho eso. Y no que no se devalúa.


no, no lo pueden hacer. El tráfico se puede mandar por Tor, cambias de puertos y se pasa tus switches por el ojete. Mira China e India, que en algún momento han prohibido Bitcoin, y la gente sudaba de ellos, y no se puede decir que no sean estados con ánimo de censurar. Se puede hasta sacar una parabolica y conectarse a uno de los varios nodos Bitcoin que hay corriendo en satélites de baja órbita, preparar una transacción y mandársela en un papel de servilleta a un familiar al otro lado de la frontera.

este tipo de cosas hace que sea extremadamente complicado y costoso prohibir Bitcoin.

la única forma efectiva de cortarlo es cortar internet o cortar la luz. Y en ese caso tendremos problemas más gordos que no tener Bitcoin.
¿TOR? XD es descojonante. A ver. ¿Qué estas hablando de cambiar los puertos? Los puertos de los que hablo son los de los equipos de los ISP y los nodos de las empresas que dan servicio a los ISP. ¿Cómo cojones vas a cambiar tú nada en esos equipos?

Si un estado quiere puede obligar a todos los ISP y a los nodos de su ambito que sólo acepten los protocolos que le convengan. Pueden, además, autorizar a los ISP y a los nodos a verificar si el tráfico usa esos protocolos y tirar todo lo que no venga como a ellos les gusta. Se puede programar los routers y los switches para eso o meter un equipo a la entrada de esos equipos para que lo haga. ¿Cómo vas a usar TOR si tu ISP te tira el protocolo onion? ¿Cómo vas a conectarte a sitios que no quieren si te obligan a usar protocolos que pueden controlar?

Sobre los satélites también se legisla. A ver si te crees que se puede hacer operar un satélite en un pais sin el permiso de las autoridades de ese pais.

No lo hacen por que no quieren. Y mientras el Bitcoin no sea ningún problema no hay razón para hacerlo. Podría se un problema de hacerse realidad eso de que todo el mundo opere con dinero digital. Y podría ser una ventaja. Eso ya se verá. Pero como sea un problema lo bastante grave ya verás a los gobiernos legislando para capar lo necesarío para que las criptomonedas no sean prácticas.
 
Última edición:
Un man in the middle se puede hacer siempre. Si te montas un man in the middle a nivel de ip o MAC de forma que la víctima te mande sus paquetes a tu máquina en lugar de la máquina de destino real sólo tienes que hacer 2 transacciones. Una de la víctima a tu cartera y otra de tu cartera a la de la entidad con la que quiere operar la victima. No hay que recontruir nada, ni va a cantar ningún hash por que no hay nada raro ya que el sistema funciona normalmente.

Esto se ha hecho. No es una cosa teórica.

Se habrá hecho con determinados dispositivos de cartera de bitcoin, a nivel de poder robarte las claves, o instalándote un troyano en tu equipo y robándote las claves, que viene a ser lo mismo.

Pero a nivel de protocolo, si no tienes las claves privadas, no es posible construir una transacción de la victima a tu cartera, porque la firma no va a coincidir, y por tanto es imposible hacer un ataque man in the middle a una transacción de bitcoin, solo interceptando dicha transacción.

Si interceptas una transacción de bitcoin una vez ha abandonado el dispositivo del que lo manda, no vas a poder hacer nada con ella jamás. Que se sepa, no ha pasado nunca nada a ese nivel, y es matematicamente muy improbable que suceda nunca.

En todo lo demás, pues entra todo dentro del terreno de lo opinable.

Tampoco es imposible atracar el Banco de Inglaterra y robar todos los lingotes de oro. Se puede hacer, teniendo los suficientes medios. La gracia está en que esos medios y los riesgos sean mayores que la recompensa que vas a obtener.

Con Bitcoin pasa parecido. Intentarán hacer todo lo posible por pararlo cuando la recompensa sea superior al coste, cosa que puede no pasar nunca como dices.
 
Última edición:
bitcoin tiene algunos usos no monetarios y de pagos más complejos.

-por ejemplo, puedes certificar algo dejando una anotacion como por ejemplo el hash de una escritura o un documento oficial.
-puedes bloquear un bitcoin para que solo se pueda gastar en un año
-puedes mandar un Bitcoin con una condición que requiera de n de m firmas para desbloquearlo, lo cual permite crear pagos con un mediador (2 de 3 firmas).
-combinando los dos anteriores, puedes hacer un fondo de fideicomiso casero en el cual dos padres y un hijo tengan cada uno una firma, y dejar unos fondos para el hijo que solo pueda desbloquear el solo cuando cumpla 18 años, o que para desbloquearse antes de esa fecha, requiera de al menos la firma del padre o madre y el hijo, pero no se pueda desbloquear solo con la firma de los dos padres...

eso ultimo en la vida real actual requiere de al menos un banco, un abogado y un notario


Esta parte me interesa y la verdad que la he escuchado pero no idea de cómo funciona esto en un ejemplo práctico.

Pon que tengo un Bitcoin y quiero mandarlo a la de Aúpa Atletic para que lo disfrute cuando sea mayor de edad. Cómo cojones lo hago?
(Además de pedir su DNI certificado ante 10 notarios distintos)
 
Esta parte me interesa y la verdad que la he escuchado pero no idea de cómo funciona esto en un ejemplo práctico.

Pon que tengo un Bitcoin y quiero mandarlo a la de Aúpa Atletic para que lo disfrute cuando sea mayor de edad. Cómo cojones lo hago?
(Además de pedir su DNI certificado ante 10 notarios distintos)

igual es mejor que esperes a que explique un par de cosas más de cómo funcionan las transacciones de Bitcoin.

como adelanto, te diré que en realidad en las salidas de una transacción se puede meter un mini programita, en un lenguaje de programación llamado script, que es el que da las instrucciones de cómo puedes gastar los bitcoins, y que una de las operaciones que permite ese lenguaje se llama TimeLock


lo más habitual es que el program sea “paga estos bitcoins al que tenga la clave para esta direccion” que viene siendo una transferencia de toda la vida.

Pero se pueden hacer más virguerias con el. Por ejemplo puedes hacer un concurso de adivinar una cosa y dejar como premio una cantidad en Bitcoin con el siguiente programa “paga estos bitcoins al que ponga la solución aquí, la pase por un hash y de este resultado”.

pero es mejor avanzar primero con algunos conceptos.
 
El gobierno de Chavezuela permitiendo pagos en Bitcoin para obtener los pasaportes

29lg5g19dr651.jpg
 
Se habrá hecho con determinados dispositivos de cartera de bitcoin, a nivel de poder robarte las claves, o instalándote un troyano en tu equipo y robándote las claves, que viene a ser lo mismo.

Pero a nivel de protocolo, si no tienes las claves privadas, no es posible construir una transacción de la victima a tu cartera, porque la firma no va a coincidir, y por tanto es imposible hacer un ataque man in the middle a una transacción de bitcoin, solo interceptando dicha transacción.

Si interceptas una transacción de bitcoin una vez ha abandonado el dispositivo del que lo manda, no vas a poder hacer nada con ella jamás. Que se sepa, no ha pasado nunca nada a ese nivel, y es matematicamente muy improbable que suceda nunca.

En todo lo demás, pues entra todo dentro del terreno de lo opinable.

Tampoco es imposible atracar el Banco de Inglaterra y robar todos los lingotes de oro. Se puede hacer, teniendo los suficientes medios. La gracia está en que esos medios y los riesgos sean mayores que la recompensa que vas a obtener.

Con Bitcoin pasa parecido. Intentarán hacer todo lo posible por pararlo cuando la recompensa sea superior al coste, cosa que puede no pasar nunca como dices.
No estas entendiendo el sistema del Man in the middle. No estás interceptando una trasmisión por que no hay que interceptar nada. Estás haciendo pasar a una máquina por otra. De forma que primero tienes una transacción de la vcitima a ti y luego, si quieres por que los bitcoins ya los tienes, haces otra de tu cartera a la cartera a la que la victima quería en un principio para que no cante tanto el truco. Claro que tienes las claves. Te las está mandando la víctima. Sin tener que instalar nada en su equipo.

Y estas cosas no son como atacar al banco de Inglaterra. Ni siquiera es como atacar la sucursal se un pueblo perdido. Es mucho mas fácil y con menos riesgo. Es poner a anunciar ips y emular una web por un lado o madar correos spams, meter aplicaciones con regalitos, etc si quieres hacer lo de meter algo en el equipo de la víctima. Eso lo sabe hacer cualquiera con conocimientos medios o se aprende ha hacer en 4 tardes. En muchos casos ni programar se necesita. Hay generadores de aplicaciones para eso. Esas cosas se hacen decenas o centenas de miles de veces diariamente, si no millones.
 
No estas entendiendo el sistema del Man in the middle. No estás interceptando una trasmisión por que no hay que interceptar nada. Estás haciendo pasar a una máquina por otra. De forma que primero tienes una transacción de la vcitima a ti y luego, si quieres por que los bitcoins ya los tienes, haces otra de tu cartera a la cartera a la que la victima quería en un principio para que no cante tanto el truco. Claro que tienes las claves. Te las está mandando la víctima. Sin tener que instalar nada en su equipo.

es que tal y como lo explicas no se entiende bien.

vamos a hablarlo con un ejemplo.

yo tengo unos bitcoins en mi cartera de bitcoin core. Preparo una transacción de envío a una dirección de un primo mío.
en esa transacción indico las entradas, la firma para demostrar que las puedo usar, y una salida a una dirección de mi primo con una condición de desbloqueo P2PKH ( la más habitual ). Con eso queda un churro de bytes como esto

0100000001be66e10da854e7aea9338c1f91cd489768d1d6d7189f586d7a3613f2a24d5396000000008b483045022100da43201760bda697222002f56266bf65023fef2094519e13077f777baed553b102205ce35d05eabda58cd50a67977a65706347cc25ef43153e309ff210a134722e9e0141042daa93315eebbe2cb9b5c3505df4c6fb6caca8b756786098567550d4820c09db988fe9997d049d687292f815ccd6e7fb5c1b1a91137999818d17c73d0f80aef9ffffffff0123ce0100000000001976a9142bc89c2702e0e618db7d59eb5ce2f0f147b4075488ac00000000


tu no tienes hackeado mi PC luego no puedes acceder a las claves de mi cartera.

Pero tienes hackeada mi red, cuando yo haga un broadcast de la transacción a los 8 nodos a los que estoy conectado, tú la vas a interceptar y vas a leer todos esos bytes.

¿que haces ahora con ella para quedarte con los bitcoins que le estoy mandando a la dirección de mi primo?
 
es que tal y como lo explicas no se entiende bien.

vamos a hablarlo con un ejemplo.

yo tengo unos bitcoins en mi cartera de bitcoin core. Preparo una transacción de envío a una dirección de un primo mío.
en esa transacción indico las entradas, la firma para demostrar que las puedo usar, y una salida a una dirección de mi primo con una condición de desbloqueo P2PKH ( la más habitual ). Con eso queda un churro de bytes como esto

0100000001be66e10da854e7aea9338c1f91cd489768d1d6d7189f586d7a3613f2a24d5396000000008b483045022100da43201760bda697222002f56266bf65023fef2094519e13077f777baed553b102205ce35d05eabda58cd50a67977a65706347cc25ef43153e309ff210a134722e9e0141042daa93315eebbe2cb9b5c3505df4c6fb6caca8b756786098567550d4820c09db988fe9997d049d687292f815ccd6e7fb5c1b1a91137999818d17c73d0f80aef9ffffffff0123ce0100000000001976a9142bc89c2702e0e618db7d59eb5ce2f0f147b4075488ac00000000


tu no tienes hackeado mi PC luego no puedes acceder a las claves de mi cartera.

Pero tienes hackeada mi red, cuando yo haga un broadcast de la transacción a los 8 nodos a los que estoy conectado, tú la vas a interceptar y vas a leer todos esos bytes.

¿que haces ahora con ella para quedarte con los bitcoins que le estoy mandando a la dirección de mi primo?
Es que la cosa no funciona para un caso concreto -que conociendo las IPs se puede hacer- es mas general.

Se monta una máquina que propaga la misma IP de las máquinas de una tienda, un trader o lo que interese por que tiene mucho tráfico en bitcoins. Parte de las peticiones a esa tienda, trader, broker, etc llegarán a esta máquina. Y se suplanta a la de verdad. Aqui o bien me he preocupado de montar una capa vista (lo que se ve de las aplicaciones) que es idéntica a la del sitio que estoy suplantando o bien hago la misma petición al sitio desde mi máquina y luego se la reenvio con los cambios adecuados a la víctima. Lo que vas a ver es la versión de esa tienda, trader, etc que te manda mi máquina y cuando hagas la operación la vas ha hacer con mi máquina. No con la que pretendías. No envias los bitcoins a la verdadera tienda. Lo envias a la falsa y los bitcoin se meten en la cartera de la falsa. Luego ya se puede hacer otra operación entre la máquina falsa y la verdadera para disimular si se quiere.

Y no se hace sólo con una IP, se hace con todas las que se pueda. Suplantando a todo lo que puedas. Vamos, un man in the middle, spoofing con las IPs de toda la vida. Que esto es mas viejo que hilo negro.
 
Última edición:
Es que la cosa no funciona para un caso concreto -que conociendo las IPs se puede hacer- es mas general.

Se monta una máquina que propaga la misma IP de las máquinas de una tienda, un trader o lo que interese por que tiene mucho tráfico en bitcoins. Parte de las peticiones a esa tienda, trader, broker, etc llegarán a esta máquina. Y se suplanta a la de verdad. Aqui o bien me he preocupado de montar una capa vista (lo que se ve de las aplicaciones) que es idéntica a la del sitio que estoy suplantando o bien hago la misma petición al sitio desde mi máquina y luego se la reenvio con los cambios adecuados a la víctima. Lo que vas a ver es la versión de esa tienda, trader, etc que te manda mi máquina y cuando hagas la operación la vas ha hacer con mi máquina. No con la que pretendías. No envias los bitcoins a la verdadera tienda. Lo envias a la falsa y los bitcoin se meten en la cartera de la falsa. Luego ya se puede hacer otra operación entre la máquina falsa y la verdadera para disimular si se quiere.

Y no se hace sólo con una IP, se hace con todas las que se pueda. Suplantando a todo lo que puedas. Vamos, un man in the middle, spoofing con las IPs de toda la vida. Que esto es mas viejo que hilo negro.

si es cierto que en ciertos ataques en los que un comerciante te manda una dirección a la que pagar unos bitcoins, te pueden cambiar esa dirección de destino. Pero es lo mismo que te pueden hacer sustituyendo la web de tu banco, no es un problema consustancial de Bitcoin.

Además de un tiempo acá las pasarelas de pago de Bitcoin se han securizado mucho, el comerciante manda los datos a la pasarela y estos preparan códigos de pago en forma de QR de un modo difícil, si no imposible de falsificar.

Finalmente se puede añadir un segundo factor como una validación del pago por email o una app de 2FA, que ningún MITM puede sortear.

En resumen, aquí las cosas avanzan muy rápidamente y no tiene nada que ver la seguridad de ahora con la de hace 2 o 4 años, y seguramente en otros 4 será infinitamente más segura.

Pero como te comentaba, si yo tengo la dirección de mi primo, preparo la transacción desde una cartera segura, y emito la transacción, ya puedes tener hackeada hasta mi Nespresso que no hueles ni un Satoshi

por cierto, Bitcoin tiene decimales, ocho concretamente. Por tanto la unidad mínima a día de hoy es 0.00000001 BTC, o también 1 Satoshi en honor al creador de la criatura.

por tanto 1 BTC = 100 millones de satoshis.
 
Última edición:
Bueno pues vamos a donde está el meollo de la fiesta.

Ahora que ya sois medio juanquers porque os habéis leído el hilo atentamente, os comento cómo funciona un ciclo completo de Bitcoin.

La gente manda transacciones a la red P2P de Bitcoin. Si la transacción es correcta y no hace un doble gasto de salidas que haya gastado antes, entonces es admitida en una “lista de espera” llamada mempool, que mantienen todos los nodos.

En un momento dado, un minero pasa por la mempool y toma todas las transacciones que pueda meter en un bloque (que suele ser de 1MB aprox)

Si la mempool tiene más transacciones de las que caben en un bloque, tomará primero aquellas que tienen más comisiones por byte.

Por tanto las comisiones es un método de priorizacion. Si quieres más rapidez, paga más comision.

aquí tenéis un sitio donde te dice cómo va de congestionada la mempool y calcular mejor que comisión tienes que meter.


Una vez el minero toma todas esas transacciones de la mempool, mete otra transacción sin entradas llamada coinbase para meter su recompensa y las comisiones, y construye un bloque de 1MB que contiene:

- una cabecera con los datos básicos del bloque, como el día y la hora y el hash del anterior bloque.

También contiene un número entero llamado nonce que puede ser cualquiera. Por ejemplo, pongamos que vale 0.

- el número de transacciones y la lista de las mismas.

Con todo eso hace un troncho de bytes de 1MB y lo pasa dos veces por la función de hash SHA256.

Si el hash resultado tiene una cantidad acordada de ceros por delante (llamada dificultad de trabajo) entonces el minero gana el bloque y la recompensa. El sistema verifica de forma autónoma que efectivamente ese minero ha ganado, y mete el bloque en la cadena de bloques.

Si el hash resultado no tiene esos ceros por delante, el minero tiene que cambiar el número nonce (por ej pasa de 0 a 1) y lo vuelve a intentar. Y así cambia el nonce por 2,3,4,5,6... millones de veces, hasta que encuentra uno que da un hash con la dificultad acordada.

Este proceso se realiza aproximadamente cada 10 minutos de media y se llama minado y consume una considerable cantidad de electricidad. Pero como es algo estadístico, puede que un minero tenga suerte y se encuentre un bloque a los 3 minutos o puede que tarde 20 minutos. Al final lo que cuenta es la media.

Al principio la dificultad era pequeña (hacían falta pocos ceros por delante en el hash) y se podía minar con un ordenador normal.

Luego pasaron a hacer el hash SHA256 con tarjetas gráficas, lo cual aumentó la potencia de minado, y finalmente se construyeron máquinas con chips específicos para hacer solo este cálculo.

La dificultad se revisa cada dos semanas hacia arriba o hacia abajo, con una fórmula predeterminada en función de si los mineros han resuelto los bloques en menos de 10 minutos de media o si han tardado más.

Y una vez que el bloque es admitido por los nodos e inscrito en el libro contable (el blockchain) las transacciones que contiene se eliminan del mempool y se vuelve a comenzar el proceso de cero con las que quedan.
 
si es cierto que en ciertos ataques en los que un comerciante te manda una dirección a la que pagar unos bitcoins, te pueden cambiar esa dirección de destino. Pero es lo mismo que te pueden hacer sustituyendo la web de tu banco, no es un problema consustancial de Bitcoin.
Claro, eso no es cosa exclusiva del Bitcoin. Ese problema es cosa de usar una red informática. No es exclusivo de Bitcoin ni de nada. Es parte del funcionamiento que tienen las redes. Pero es lo que tenemos. Eso va a estar ahi a menos que alguien encuentre una forma de montar una red sin ese problema. No hay sistemas informático sin riesgo. Lo uses para lo que lo uses.
 
Para simplificarlo, ¿es seguro el bitcoin?--> Si, ¿es seguro el bitcoin en manos de un gilipollas?. --> No.
Si mañana vas borracho al cajero se te cae la tarjeta y un papel donde llevas apuntando el número PIN de tú cuenta y te sacan el dinero, ¿dirías que los bancos no son seguros?, o ¿que el tipo de usuario (el borracho) es simplemente gilipollas?.

Con el bitcoin exactamente igual, si eres un usuario que tienes el PC infectado hasta las trancas de virús, troyanos, warez, etc.., hasta el punto de que te puedan sacar tú private key, ni puedes estar seguro comprando cripto monedas, ni tampoco puedes estar seguro bajándote la aplicación de tú banco, porque es obvio que si la intención del hacker es desplumarte le va a resultar inclusive más fácil sacarte el dinero del banco.

¿Se pueden robar carteras de bitcoins?--> Si.
Paper wallets (monederos de papel), la gente los crea sin tomar las medidas de seguridad oportunas.
Monederos digitales, alguién hackea estas plataformas y te quedas jodido sin un duro, o directamente estas plataformas fingen que han sido victimas de un hackeo y te quedas igual sin un duro.
Monedero local sin el "dat" cifrado, te meten un warez, te copian el archivo y te has quedado sin un duro.
Etc...etc..
* Y las carteras mentales, que son extramadamente fáciles de robar y por eso salvo que seas gilipollas profundo nadie las usa.
** Las primeras direcciones que se crearon en Bitcoin creo que son vulnerables o poco seguras (pero de esto ya no tengo ni idea).

Pero volvemos al punto anterior, porque la gente es gilipollas, si la gente no fuese gilipollas bitcoin no se puede hackear. Ni man in the middle, ni pollas en vinagre. La prueba de que es imposible de hackear son las miles de cuentas inactivas con millones que se han pérdido y nadie las puede ni recuperar.

Eso si, gilipollas hay y seguirá habiendo, por lo tanto seguirán habiendo noticias de gente o empresas a los que les han "robado" sus bitcoins.
 
Hace algunos años, viviendo en Barcelona con un amigo, creamos una cuenta de Bitcoins de forma bastante sencilla para hacer unos pedidos de unos productos que no voy a detallar a través de un internet distinto al habitual.
Bien, durante el confinamiento, me vi en la necesidad de recurrir de nuevo a la Deep Web para comprar drogas (¡mierda!) y la cuenta que usaba antaño era de mi amigo y no sé si han cambiado la política de seguridad o qué pero después de media hora teniendo una conversación surrealista por webcam con un tío alemán que supuestamente debía comprobar mi identidad, no conseguí crearla.
 
Hace algunos años, viviendo en Barcelona con un amigo, creamos una cuenta de Bitcoins de forma bastante sencilla para hacer unos pedidos de unos productos que no voy a detallar a través de un internet distinto al habitual.
Bien, durante el confinamiento, me vi en la necesidad de recurrir de nuevo a la Deep Web para comprar drogas (¡mierda!) y la cuenta que usaba antaño era de mi amigo y no sé si han cambiado la política de seguridad o qué pero después de media hora teniendo una conversación surrealista por webcam con un tío alemán que supuestamente debía comprobar mi identidad, no conseguí crearla.

habría que matizar, posiblemente no creaste una cuenta de bitcoins, sino una cuenta en un comercio o intermediario que trabaja con bitcoins.

una cartera de Bitcoin la puedes crear escogiendo al azar un número entre 1 y 2 elevado a 256 (es un poco menos pero por ahí) y no necesitas a nadie para recuperarla, más que acordarte del número de marras claro.
 
Última edición:
habría que matizar, posiblemente no creaste una cuenta de bitcoins, sino una cuenta en un comercio o intermediario que trabaja con bitcoins.

una cartera de Bitcoin la puedes crear escogiendo al azar un número entre 1 y 2 elevado a 256 (es un poco menos pero por ahí) y no necesitas a nadie para recuperarla, más que acordarte del número de marras claro.

Ah si? Posiblemente es lo que tu dices, un intermediario. ¿Y cómo puedo hacerlo sin estos intermediarios?
 
Ah si? Posiblemente es lo que tu dices, un intermediario. ¿Y cómo puedo hacerlo sin estos intermediarios?

lo trataré en extensión más adelante cuando hable de las carteras, pero a modo de adelanto, básicamentecon la tecnología de hoy hay varias posibilidades:

- si la cantidad es pequeña (menos de 2000€) recomiendo una app de móvil que sea autónoma, es decir, que las claves estén a salvo en el almacenamiento encriptado del teléfono, no en un servidor. Con una app tipo BRD o Coinomi la propia app genera una clave mnemónica de 12 o 24 palabras, más luego un PIN o clave adicional, más el propio acceso con huella si el teléfono lo tiene.

- si la cantidad es mayor, recomiendo una cartera hardware, que es un dispositivo que se conecta por USB, que también genera una clave mnemónica y que permite opciones adicionales como una passphrase adicional, PIN, etc. Las marcas más conocidas son Trezor, Ledger y Coldcard.
 
Última edición:
Muy interesante el hilo, es un tema que me llama mucho la atención. Yo tengo una pequeña cartera de diversas criptomonedas repartidas. Como es poquísimo dinero, lo tengo en Coinbase. Lo tenía repartido entre blockchain y otros, pero lo envié todo a Coinbase para unificar.

¿Qué opinas del tema de la minería? Siempre se comenta que en España no es nada rentable por el precio de la luz. Por este problema la minería es rentable en paises donde la luz se paga a bajo coste. O que tengas la manera de conseguir la luz gratis (conectar el aparato en tu trabajo, cosas así).

Hace poco en España pillaron a unos que tenían una granja de minería conectada al alumbrado público, supongo que ganarían dinero, el cual luego palmarán pagando multas.

Llevo oyendo muchos años que es tarde para minar, pero también muchos años llevan dando por muerto al Bitcoin.
 
¿Qué opinas del tema de la minería? Siempre se comenta que en España no es nada rentable por el precio de la luz. Por este problema la minería es rentable en paises donde la luz se paga a bajo coste. O que tengas la manera de conseguir la luz gratis (conectar el aparato en tu trabajo, cosas así).

El minado de Bitcoin requiere aparatejos como estos

que pueden valer miles de €. Ahora mismo solo sale rentable minar con la electricidad a 5 cents/kWh
si tienes acceso a electricidad geotérmica, o hidroeléctrica (por las noches suelen medio regalarla porque no hay consumo) o puedas usar el calor disipado para calentar grandes naves industriales (lo hacen en Siberia-Alaska) entonces vale, porque de lo contrario no sale a cuenta.

tambien puedes intentar minar otras monedas no Bitcoin pero los retos son similares.

si robas la electricidad pues te viene la mequeterica y eso en según qué países no mola nada.

En general es un negocio siempre al límite de la ruina, muy competitivo, pero esto asegura que las transacciones de Bitcoin sean practicamente inmutables y que la red sea tremendamente resistente a los ataques y a la censura.
 
Última edición:
lo trataré en extensión más adelante cuando hable de las carteras, pero a modo de adelanto, básicamentecon la tecnología de hoy hay varias posibilidades:

- si la cantidad es pequeña (menos de 2000€) recomiendo una app de móvil que sea autónoma, es decir, que las claves estén a salvo en el almacenamiento encriptado del teléfono, no en un servidor. Con una app tipo BRD o Coinomi la propia app genera una clave mnemónica de 12 o 24 palabras, más luego un PIN o clave adicional, más el propio acceso con huella si el teléfono lo tiene.

- si la cantidad es mayor, recomiendo una cartera hardware, que es un dispositivo que se conecta por USB, que también genera una clave mnemónica y que permite opciones adicionales como una passphrase adicional, PIN, etc. Las marcas más conocidas son Trezor, Ledger y Coldcard.


Hostias, creo que es demasiada información para mi. Jajaja. Pero gracias!!!
 
Antes de entrar en explicaciones más técnicas relacionadas con las claves y los protocolos, vamos a ver un último capítulo de la primera era de Bitcoin.

El pequeño proyecto de Satoshi que empezó en enero de 2009, fue captando poco a poco adeptos en la comunidad criptografia primero, y en la informática después.

Empezaron a surgir exchanges, grupos de mineros... todo un ecosistema nuevo de pioneros que se movían en un territorio completamente nuevo.

El 22 de Mayo de 2010 se hizo la primera compra real con Bitcoin. Un tipo con una franquicia de Papa John’s acepto 10000 btc por 2 pizzas. El día paso a conmemorarse como el Pizza Day.

Hoy esos 10000 BTC valdrían 100 millones de $. Las pizzas más caras de la historia.

A finales de 2010 el sitio Wikileaks, ante la confiscación de todos sus medios de financiación anunció que aceptaría donaciones en Bitcoin. Cuentan que Satoshi, fanático de la privacidad, se llevó un disgusto.

“Bitcoin no está aún preparado para este tipo de exposición”

El 23 de abril de 2011 mandó el siguiente email a uno de los colaboradores:

From: Satoshi Nakamoto <[email protected]>
Date: Sat, Apr 23, 2011 at 3:40 PM
To: Mike Hearn <[email protected]>

I had a few other things on my mind (as always).
...

I've moved on to other things. It's in good hands with Gavin and everyone.

Satoshi dejó el proyecto en manos de los más fieles ayudantes de los inicios, que ya mantenían el código.

Se calcula que en los primeros tiempos podría haber minado 1 millón de BTC. Nadie sabe que fue de su cartera con sus claves.

Después de este email, nunca más se ha vuelto a saber de él.
 
Vamos a empezar a comentar más en detalle acerca de los datos que utiliza bitcoin y como entre todos construyen el protocolo y la base de datos (blockchain) que hace las veces de libro contable de transacciones.

Antes que nada, tened en cuenta que todo en el diseño de bitcoin va de usar la minima cantidad de datos (bytes) posibles para hacer cualquier cosa.
Si algo se puede hacer con 10 bytes, mejor que hacerlo con 20 bytes. Si un bloque contiene aproximadamente 1MB (un millón de bytes) como máximo, y cada transaccion ocupa 400 bytes, solo entrarán 2500 transacciones por bloque.

Pero si logramos meter la informacion en 250 bytes, entonces caben 4000 transacciones por bloque (un 60% más que en ejemplo anterior), y hemos dicho que se mina un bloque cada 10 minutos de media, con lo cual eso daría para unas 6,6 transacciones por segundo.

Dicho esto, empezamos con las direcciones de bitcoin.

Como hemos visto antes, la criptografía de clave pública y privada nos permite codificar un mensaje con una clave pública de nuestro destinatario, que no nos importa que sea conocida por cualquiera, y que el destinatario decodifique el mensaje usando la clave privada que solo tiene el y que corresponde con su clave publica. A partir de la clave privada puedo sacar la pública, pero no al revés.

Los primeros sistemas de clave publica/privada inventados (por ej RSA) usaban funciones de relacionadas con multiplicación de números en rangos finitos, que servían al propósito, pero como se han hecho muchos avances matemáticos en el area de la factorización (que es la operación inversa de la multiplicación) de números grandes, es necesario usar claves muy grandes para alcanzar un nivel de seguridad que nos proteja de alguien que quiera "crackear" nuestra clave privada.

Más adelante se descubrieron funciones con propiedades similares, pero que no requerían de claves tan grandes para alcanzar el mismo nivel de seguridad. Eran por decirlo de una manera, más difíciles de "crackear" o de echar atrás. Uno de estos sistemas es el ECDSA, que obtiene las claves de funciones polinómicas llamadas "curvas elípticas".

Aquí también obtenemos las claves de multiplicar números en rangos finitos, pero esta multiplicación no se puede factorizar (echar atrás) tan fácilmente.

Para que os hagáis una idea, con una clave de RSA de 2048 bytes obtenemos el mismo nivel de seguridad ante ataques de fuerza bruta (crackers) como con una clave de 224 bytes de ECDSA. Eso es casi 10 veces menos de espacio.

Los diseñadores de bitcoin eligieron usar una curva elíptica especialmente segura llamada secp256k1, que no es más que esta funcion:

y^2 = x^3 + 7 aplicada en un campo de valores de 1 a 2^256 - 977

Esta curva tiene la siguiente forma si la aplicaramos en el campo de todos los valores enteros (de menos infinito a mas infinito)

JGSXb.png


Sin embargo, la misma curva aplicada en un campo finito, tiene esta pinta de matriz de puntos discontinuos:

Iil7a.png


Sin embargo matemáticamente tiene propiedades similares.

Podemos crear nuestra propia clave privada eligiendo un numero cualquiera desde 1 hasta 2^256-977. Eso son muchos números, concretamente 1,15x10^77, es decir un 1,15 añadiendolo 77 ceros a la derecha.

Para que os hagáis una idea, el numero de átomos estimado en el universo conocido es de un 1 con 78 ceros.

Lo voy a poner asi:
115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936

Bueno pues empezamos eligiendo un número al azar de entre todos esos. Por ejemplo, elegimos x=1 (no lo uséis, ya lo conoce todo el mundo y ya se ha usado, cualquier bitcoin que mandéis a la direccion representada por esa clave privada lo van a recoger los juanquers en cero coma).

Con ese valor x, nos vamos a la ecuación de arriba, sacamos el valor de y, y con esa coordenada (x,y) hacemos una operación matemática equivalente a una "multiplicación" de dicho punto. Esto nos dará un nuevo punto en la curva, que vamos a llamar (x',y')

Este punto será la clave pública de nuestra clave privada. La gracia está en que la operacion es irreversible. Sabiendo (x,y) puedo sacar (x',y'), pero nunca podre sacar a partir de (x',y') el valor de (x,y)

Bien, nuestra clave publica para la clave privada x=1, es el punto en hexadecimal
(x',y') = ( 79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798483ADA7726A3C, 4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8 )

Que se representa en bitcoin juntando los dos valores y metiendo un 04 al principio
0479BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8

Como veis este numero es un troncho de cuidado. Las primeras transacciones de bitcoin las hizo Satoshi indicando como destinatario esta clave publica, con lo que si un día conseguís juanquear la ecuación secp256k1, y podeis revertir la operacion (x',y') publica -> (x,y) privada, tenéis ahi una recompensa jugosa de varios miles de bitcoins para vosotros.

A las pocas semanas, Satoshi decidió prescindir de este sistema de pago directo hacia una clave publica (llamado P2PK o pay to public key), primero porque las transacciones eran muy largas, y segundo porque temía que alguien algun dia fuera capaz de romper el sistema ECDSA de la curva secp256k1.

Así que decidió un ingenioso sistema: a la clave publica se la pasaría por una serie de funciones de hash, con lo cual se quedaba una "dirección de bitcoin" tal que así:

Funciones de hash encadenadas (0479BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8) = 1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm

E implementó un nuevo medio de pago de bitcoins llamado P2PKH (pay to public key hash), mediante el cual, podía mandar mis bitcoins a la direccion 1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm , y el usuario con la clave privada = 1, que era capaz de general la clave publica de arriba, podia "desbloquear" esos bitcoins.

De este modo la transacción se reducia en tamaño drásticamente, y además se aumentaba la seguridad, porque el juanquer no solo tiene ahora que romper la ecuacion de la curva elíptica, sino que además tenia que romper las funciones de hash.

Se ha calculado que crakear una sola direccion de bitcoin al azar gastando la unidad mínima de energía cuántica en cada intento, consumiría todo el combustible existente en nuestro sol.

Sin embargo estas operaciones de hash "comprimen" la clave publica de tal modo que del numero posible de claves publicas

115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936

pasamos a tener las siguientes direcciones de bitcoin:

1,461,501,637,330,902,918,203,684,832,716,283,019,655,932,542,976

Que es mucho menor que el de arriba pero sigue siendo un numero grande.

Pero para que os hagáis una idea de cómo de grande es, vamos a pensar en repartir direcciones de bitcoin a todos los habitantes de la Tierra.

O mejor aun, vamos a pensar en el numero de granos de arena que hay en la Tierra:
9,223,372,036,854,775,808

Si cada uno de estos granos de arena fuera un planeta tierra, y cada uno de estos planetas Tierra tuviera cada uno 7000 millones de habitantes, y fueramos a repartir direcciones a cada uno de los habitantes de cada uno de esos planetas, a cada individuo le tocarían 3500 millones de direcciones de bitcoin.

En esta web hay una "lista" virtual (porque se genera sobre la marcha) de todas las posibles direcciones de bitcoin, correspondientes a cada una de las claves privadas de bitcoin. Además te dice cual tiene, ha tenido, o no ha tenido fondos.

Quien sabe, igual por azar encontráis una dirección con bitcoins y os toca el jackpot. Las posibilidades son infinitesimales pero de ilusion también se vive.

 
Última edición:
El Senado USA quiere aprobar una ley para que todos los dispositivos de encriptacion contengan una puerta trasera para que el gobierno pueda escudriñar.


la cosa se va a poner interesante.
 
Arriba Pie