Divulgando sobre Bitcoin y criptomonedas

Pues fíjese que yo pienso que es todo lo contrario.
Si haces pequeños hurtos a mucha gente, no van a ir a por ti de igual manera que si robas a uno solo 1.000 BTCs como usted dice.

Me ha recordado de hecho a la multitud de escándalos que he ido leyendo a lo largo de los años de banqueros o hackers, que iban robando a cada cliente de entidad bancaria pellizco a pellizco, sin llegar a coger de cada uno cantidades muy llamativas:

Si hacen esto a un pez gordo de golpe, créame que la movilidad de recursos que se van a destinar a pillarle, van a ser casi proporcionales al robo cometido.

3 Me gusta

Vaya, veo que @agenjordi se me ha adelantado.

1 me gusta

¿En qué quedamos entonces?

1 me gusta

En qué lo dirá a posteriori. Como las charlas de emprendimiento que te dicen que hagas una cosa y la contraria, tú eliges.

:slight_smile:

Realmente, el razonamiento de @alexlp es correcto.

La cantidad de energía necesaria para hackear la cuenta de un pez gordo, ante un mismo tipo de ataque, es menor que para 1000.

El tema es que esos 1000 piquen ante una estafa barata para la que el pez gordo no.

Es decir, hay una cierta energía de activación en el hackeo que inicialmente es más alta para hackear a uno que a otro. Pero una vez superada, la energía necesaria para hackear dos carteras es la misma.

Esa energía de activación es seguir algunas directrices básicas de seguridad.

No usar claves iguales.
Usar generadores de claves.
Doble auth.
Generar una cartera nueva tras cada transacción.
Usar multisig 2/3 o 3/5.

Hay muchas medidas básicas, que la gente normal, por desconocimiento no usa.

Por cierto @agenjordi da igual lo que chillen. La blockchain es la Blockchain. Ha habido ataques del 51% a criptomonedas con poco Hasheo y robos a exchanges. Y ahí se ha quedado.

Un buen símil de un hash es para mi algo como una huella digital. Casi imposible que dos huellas que no sean de la misma persona sean iguales e imposible construir la persona a partir de la huella.

Los hashes por ejemplo se utilizan para no tener que almacenar contraseñas en las web que utilizamos todos los días. Así no hay nada que robar. Cuando uno se da de alta se genera el hash y luego ya todas las veces que uno mete la contraseña se vuelve a generar y se compara con el hash previamente almacenado. Si nos roban los hashes pues como son irreversibles, da igual. Mejor es todavía si la contraseña no viaja y viaja únicamente el hash, así nadie la puede capturar (me voy un poco off-topic pero por ilustrar)

Esto lo va a tener que explicar más, porque quien no venga sabido de casa, yo creo que no va a entender nada esta parte.

4 Me gusta

Venga, le meto esta tarde. :slight_smile: ( Sólo me tomara… 10 minutos ;p )

No lo diré a posteriori, de la misma manera que no lo digo a priori.
Una cosa es analizar el riesgo que pase antes que pase y otra analizarlo a posteriori. Las dos cosas pueden tener cierto sentido, pero no son la misma.
Tampoco me suelo dedicar a hacer predicciones de lo que no puedo adivinar. Y si las hiciera ya avisaría de que muy probablemente pueda equivocarme.

Creo que he comentado muchas veces que no suele ser fácil detectar burbujas, esquemas piramidales y similares, por mucho que a posteriori lo parezca. Seguramente otros similares serían tildados de lo mismo y no lo fueron. Y otros casos se escapan de nuestras posibles señales de alerta. Madoff, por ejemplo, no era alguien que tuviera prisa por enriquecerse ni alguien gastando a todo tren. Posiblemente era alguien mucho más cauto que la mayoría de grandes figuras de la inversión.

Lo que sí que hay ir con cuidado con creer que ciertos riesgos no existen , del tipo para que me van a robar a mi si pueden robar a gente con mucho más dinero.

3 Me gusta

Hakeo es q entren a la fuerza en tu cuenta y te roben. Como les ha pasado a la agencia mundial de medicamentos con sus datos recientemente.

Estafa es q te engañen y tu des el dinero o lo q sea. Como los viejos fueron en su día engañados con las preferentes por los comerciales de los bancos.

A un haker le cuesta el mismo esfuerzo descifrar las claves privadas de una cuenta con 0,00001 btc q de otra con 1000 btc. Y es público el dinero q tiene cada billetera. Es obvio lo q va a preferir.

*Un haker muy bueno, los malos o normales no tienen acceso a ninguna. Nada es 100% pero es bastante seguro. Si no has comprometido tu equipo a lo bestia o subido tus claves a la nube. Q de todo hay.

1 me gusta

Criptografía simétrica

Otro de los conceptos importantes en el mundo de las cripto, es entender la diferencia entre la criptografía simétrica y la criptografía asimétrica.

En la criptografía de clave simétrica, el mensaje se cifra y descifra con la misma palabra clave. Por ejemplo, si escribimos la palabra PAPA, siguiendo un algoritmo que suma letra a cada letra del mensaje “PAPA -> QBQB” la clave sería +1. El cifrado y el descifrado provienen de la clave.

Para que un emisor y un receptor intercambien un mensaje mediante cifrado simétrico, tienen que acordar la clave de antemano y compartirla por un medio seguro. Si el medio no es seguro, la clave y el mensaje pueden quedar comprometidos.

Los algoritmos de hasheo, de los que hablamos antes no son algoritmos de criptografía simétrica ( ni asimétrica ). Son encriptación unidireccional, no hay forma de desencriptar el mensaje.

¿Qué es la criptografía asimétrica?

La criptografía asimétrica es una técnica criptográfica en la que se generan dos claves, una pública y otra privada. La clave pública se comparte con otros emisores y receptores, de forma que puedan enviar un mensaje cifrado, o confirmar una firma de un documento.

Vamos a suponer que Pepe y María quieren mandarse un mensaje.
-> María escribe el mensaje, y lo cifra con la clave pública de Pepe.
-> Se lo manda a Pepe.
-> Pepe descrifra el mensaje con su clave privada, y lo lee.

De esa forma, María puede mandar un mensaje privado, y solo Pepe puede leerlo porque está cifrado con su clave privada. El mensaje podría ser interceptado, pero no podrá ser leído.

En el mundo de las criptomonedas, lo que queremos es firmar transacciones. Así que el camino es al revés.

-> Pepe escribe un mensaje, y lo firma digitalmente con su clave privada. No la revela, solo lo firma.
-> María comprueba la veracidad del mensaje usando la clave pública de Pepe.
-> María tiene total seguridad de que el mensaje ha sido emitido por Pepe.

Ahora, quitemos Pepe y María.

-> El usuario HUDSBBDBJDOODNO, escribe un mensaje y lo firma digitalmente con su clave privada. En el mensaje, establece que transmitirá 3 bitcoins de su cuenta al usuario DFNSDOINFSDFD
-> La red bitcoin comprueba con la clave pública del usuario HUDSBBDBJDOODNO, que el mensaje ha sido transmitido por él. Comprueba que existen los fondos en su cuenta en el ledger, y sella la transacción en la red.

Solo HUDSBBDBJDOODNO sabe quién es HUDSBBDBJDOODNO, y puede o no puede saber quien es DFNSDOINFSDFD. Pero toda la red sabe, gracias a las bondades de la criptografía asimétrica que el mensaje es verídico.

Es imposible, para una computadora como las que tenemos actualmente, encontrar la clave privada desde la clave pública, así que el sistema es seguro siempre y cuándo no se desvele la clave privada.

Recapitulando, tenemos tres tipos de sistemas de cifrado.
-> Cifrado de un solo camino, o hasheo, del que hablamos anteriormente. El mensaje no puede ser derivado desde el hash.
-> Cifrado simétrico, se usa la misma clave para cifrar y descrifrar.
-> Cifrado asimétrico, se usa una clave pública para comprobar la veracidad del emisor, y cifrar un mensaje que se envía al emisor. Firma y descifrado, se hacen con la clave privada que no debe comprometerse.

Tenemos una forma de alzar la voz, diciendo que algo es nuestro, siendo capaces de demostrarlo, sin que nadie pueda impersonarnos y sin dar nuestra identidad.

Este es otro elemento importante de las criptomonedas, sobre el que probablemente, ahonde más, porque solo he explicado lo que es conceptualmente, pero me gustaría explicarlo con algún ejemplo sencillo. Supongo que seguiré más a menudo en navidad, toda pregunta es bievenida. :slight_smile:

10 Me gusta

Respondiendo a @Alexlp vamos a hablar de escalabilidad. Hoy, la primera parte.

Escalabilidad 101

Tenemos que entender de manera somera, el proceso que rige las transacciones en Bitcoin.

  • María quiere mandar 10 BTC a Pepe.
  • María lo comunica a la red y manda su transacción a los nodos.
  • El mensaje se expande por la red.
  • El mensaje se almacena en el mempool hasta que es procesado.
  • En el momento del procesamiento los mineros toman el mensaje y construyen un bloque de transacciones con él.
  • El bloque se resuelve durante el proceso de minería, con una dificultad que se ajusta para que se tarde unos 10 minutos aproximadamente en encontrar un hash válido del bloque de transacciones.
  • Cuando pasan 6 bloques, la transacción se considera sellada. Porque está en la cadena más larga.

¿Cuánto tiempo ha pasado desde que mandamos el bloque hasta que se sella? Pues no menos de 10 minutos, eso seguro. Este es el talón de Aquiles del Bitcoin, o lo que algunos llaman el talón de Aquiles del Bitcoin. Las transferencias no son automáticas. Eso es problemático de cara a convertirlo en un medio de transmisión de valor.

Algunas de las restricciones que hacen que esto sea así es el tamaño del bloque. El tamaño del bloque tiene un límite teórico de 4MB, es decir, podemos almacenar 4MB. Aunque los bloques tienen un tamaño medio de 1.5MB en este momento. Así que podremos introducir tantas transacciones como quepan en 1.5MB cada 10 minutos.

¿Por qué este límite? ¿Alguien entiende el por qué de este límite?

5 Me gusta

Para hacer compras no vale, pero siempre vas a poder convertir a otras.

No creo q sea un problema los 15 minutos de media q tarda. Una trasferencia bancaria puede tardar 3 días.

Lo de verdad importante es q sea seguro y económico.

2 Me gusta

Nunca entendí lo de 3 días para hacer una transferencia internacional. ¿Es raro no?

:slight_smile:

Importante, 1.5MB de transacciones. Cada 10 minutos.

¿Por qué?

Si no lo sabes tú…

:sweat_smile:

2 Me gusta

Yo lo que no entiendo, es como se “autorregula” la dificultad de minado. Es decir, según se fue invirtiendo en mega granjas de minado, subió la dificultad, y si ahora si por algún motivo se dejase de minar a lo bruto, volvería a bajar la dificultad hasta volver a minar con el portátil.

Cómo funciona ese mecanismo que autorregula la dificultad para mantener los 10 minutos por bloque, si no hay nadie que toque algún boton?

Magia? Hay un chino cudeiro detrás de todo esto?

1 me gusta

Matemagia. :slight_smile:

Es bastante sencillo. Ya hemos hablado anteriormente del algoritmo de HASH, y aunque no lo he dicho explícitamente, creo que ha quedado claro que hablo del SHA256.

El SHA 256 es un hash, un cifrado unidireccional en el que el mensaje no puede ser derivado del resultado del cifrado. Y tienen una distancia exacta de 256 bits, independientemente del tamaño del mensaje de entrada.

Por lo tanto, tenemos 2^256 hashes posibles, casi 10^77, una cantidad similar al número de átomos en el universo, o las mentiras de nuestros amados políticos cada dos semanas. Para que tengáis un orden de magnitud.

Una característica importante del sistema, aunque no explicaré ahora el porqué en detalle, es que el tiempo de creación de bloques ( añadir transacciones al libro de contabilidad de bitcoin ) sea uniforme y está calculado para que sea cada 10 minutos aproximadamente.

El objetivo es que no haya problema de red porque los bloques se minan tan rápido que no se pueden propagar por la red una vez minado antes de que se mine un nuevo bloque, y haya cientos de transacciones inválidas, y que el ritmo de acuñado de nuevos bitcoins se mantenga durante muchos años estable.

O en el caso de que se minen lento, que los bitcoins se emitan lentamente y que las transacciones se hagan muy lentamente.

Para esto ajustamos la dificultad de minado, en relación a la capacidad de cálculo de hash ( hash/rate ) de la red. El hash rate nos dice cuántos hashes por segundo somos capaces de calcular, y aquí tenéis una comparativa de CPUS. Una CPU anda en el orden de los miles de hash por segundo, un antminer 9 tiene una capacidad de 14TH/s, es decir 14 * 10^12, mil millones de veces más rápido que una cpu.


Ahora mismo tenemos ~150EH/s -> 10^18, diez millones de ant miners.

https://bitinfocharts.com/comparison/bitcoin-hashrate.html

La pregunta, ¿cómo ajustamos la dificultad? El concepto es más sencillo de lo que parece, y lo tenemos en el dibujo del paint que acabo de hacer abajo. :slight_smile:

Conforme aumentamos la capacidad de la red, exigimos que el hash del bloque de transacciones, tenga un valor por debajo de un valor que calculamos en relación a la dificultad. De forma que estadísticamente, somos capaces de estimar cuándo seremos capaces de encontrar un hash válido.

Para esto, el bloque de la transacción consta de 3 elementos.

  • El hash del bloque anterior
  • Las transacciones a sellar
  • Una cabecera que podemos variar a nuestro gusto para dar con el hash válido.

Hashear es un proceso parecido a tirar los dados, es aleatorio, pero es fácil de comprobar. Así que cuantos más dados tiremos, más bajaremos el resultado de forma que sea más difícil, y cada tirada de dados podemos hacerla de la siguiente forma.

Primeros intentos.

  • Hash de bloque anterior. Esto no cambia nunca
  • Transacciones que se quieren cerrar en la red
  • Variamos la cabecera todo lo posible.

Segundos intentos.

  • Hash de bloque anterior
  • Nuevas transacciones diferentes de las anteriores
  • Variamos la cabecera con estas nuevas transacciones

Puedo explicar la parte matemática, pero creo que el concepto se entiende bien. La dificultad se reajusta cada 2016 bloques, o cada 2 semanas a 10 minutos por bloque. El objetivo de tener 2 semanas es que las variaciones rápidas de minado no afecten a la red de forma que al cambiar de una velocidad de minado muy alta, a una muy baja, si vuelven a entrar más máquinas, no se puedan sacar hashes válidos con poco trabajo.

De todos los elementos que forman el bitcoin, esta es la innovación clave del bitcoin. Y la que hace que todos podamos jugar al juego aleatorio de tirar los dados, y saber cuál es el premio, haciendo que sea más difícil ganar conforme más dados se tiran.

“To compensate for increasing hardware speed and varying interest in running nodes over time, the proof-of-work difficulty is determined by a moving average targeting an average number of blocks per hour. If they’re generated too fast, the difficulty increases.” Bitcoin paper

Por último, abajo podéis ver como ha variado la potencia de la red. Desde 2017, donde se ve el pico en el precio

Desde 2017 a hoy, tenemos 10 veces más potencia de cálculo en la red. Y esto es más una medida de la salud de la red, que del avance tecnológico en la minería.

https://bitinfocharts.com/comparison/difficulty-hashrate-btc.html

17 Me gusta

No le doy mas likes porque no hay botón

1 me gusta

El limbo monetario, le llaman.

¡Bitcoin ya ha ganado!

3 Me gusta

Sigo en Twitter creciendo . ¡La cripto revolución!

https://twitter.com/inventandobtc

Más allá de lo técnico es pura oferta y demanda.

Cuanto más sube el precio, más premio (relativo) reciben los mineros, más compiten y la dificultad va aumentando. Y a consecuencia de esto también más seguro es el sistema.

Si el precio bajara hasta el punto de q no les compensase minar, la dificultad de minado también bajaría. Para que volviera a compensar hacerlo.