Hace 8 años | Por --418333-- a malavida.com
Publicado hace 8 años por --418333-- a malavida.com

Bitcoin es hoy un fenómeno imparable en Internet. La criptodivisa está impulsada por las cadenas de bloques, un concepto que vamos a intentar explicar. ¿cómo se puede regular el Bitcoin para evitar el fraude? Imaginémoslo de la siguiente manera: supongamos que un elefante volador de color rosa tocado con un sombrero de copa se planta en la principal plaza de cualquier ciudad, que saluda con el sombrero y se vuelve a ir volando. Acto seguido se les coloca a mil personas otros tantos detectores de mentiras, y se les pide que cuenten lo sucedido.

Comentarios

#1

"Por contra las monedas alternativas a Bitcoin que se ponen en funcionamiento con el método de prueba de trabajo suelen ser muy vulnerables precisamente por no disponer de la suficiente capacidad de cálculo que las proteja. En los casos en los que los equipos que minan Bitcoin son compatibles con esas otras monedas éstas pueden ser puestas en riesgos con que un minero medio importante de Bitcoin decida atacarlas."

No conozco demasiados detalles del tema, así que seguro que digo una burrada, pero no se podría atacar de igual forma a Bitcoin ?

Como todo se trata de "la potencia de los mineros", si se ponen de acuerdo "los mas potentes" en atacar Bitcoin no tendrán problema en hacerlo, no?

Dejan de hacer minería durante un tiempo, para que baje el cálculo ese medio que hacen, y después vuelven con toda la artillería y atacan

peperojoizquierdo

#1 Bitcoin ha resuelto, en teoría, el problema de la decentralización, pero no en la práctica, ya que pocos pools acaban controlado casi toda la potencia de minado. Creo que falta "algo".

Lo que dices de que las redes de otras monedas alternativas son más débiles, es cierto, pero la red Bitcoin también fue débil al principio. Yo creo que si una moneda alternativa aporta valor, acabará teniendo suficiente pontencia de cómputo que la proteja, y no todas las redes alternativas podrían ser atacadas por los mineros de Bitcoin, ya que muchas usan algoritmos alternativos y la mayor parte de la potencia de Bitcoin es hardware específico.

Por último, además de POW (Proof of Work) también está el POS (Proof of Stake).

sorrillo

#27 Bitcoin ha resuelto, en teoría, el problema de la decentralización, pero no en la práctica, ya que pocos pools acaban controlado casi toda la potencia de minado. Creo que falta "algo".

Esas agrupaciones de mineros no son monolíticas, están formados por cientos de mineros individuales que pueden cambiar de agrupación si no están de acuerdo en cómo actúa la suya. Algo muy destacado de la red Bitcoin es su transparencia, todo es público, si alguien hace algo sospechoso es difícil que se salga con la suya sin que salten alarmas, y eso significa que los mineros individuales disponen de información y pueden decidir cambiar a otro grupo de minado que no actúe de forma sospechosa.

De nuevo volvemos a los incentivos, es beneficioso para los mineros que la red esté sana y además se muestre como sana, por eso cuando ha habido situaciones en las que un grupo de mineros se acercaba al 50% éstos han actuado y se han repartido de forma distinta.

Por último, además de POW (Proof of Work) también está el POS (Proof of Stake).

No me consta que nadie haya demostrado aún que el Proof of Stake se pueda usar de forma completamente descentralizada y segura, todas las implementaciones que conozco tienen elementos centralizados que dependen del desarrollador y sin los cuales la red pasa ser insegura, o bien hacen una mezcla de Pow y Pos por ser éste último insuficiente. El único método que de momento ha demostrado que puede actuar de forma descentralizada ha sido la prueba de trabajo (Proof of Work).

Otro gran problema del Proof of Stake es que para minar obliga a tener las llaves privadas sin cifrar (en memoria) en un ordenador conectado a Internet, con la inseguridad que eso puede generar, no me consta que nadie haya encontrado solución a ese problema. Eso es algo que no ocurre en el Proof of Work.

u

#1 "De esa forma se puede construir una cadena de bloques nueva (desde el principio o a media cadena) y publicarla cuando sea más larga que la actual, en ese momento todos los nodos aceptan la nueva como buena por ser más larga."

Ahí te equivocas, los nodos honestos no aceptarían las transacciones de la nueva cadena completa ya que no coincidirían con el historial de transacciones a partir del cual se crean los nuevos bloques. A pesar de que la cadena fuera más larga no se aceptarían los nuevos bloques ya que no tendrían sentido, se crearía un 'fork' en la red bitcoin. Un ataque del 51% no permite reemplazar la cadena de bloques preexistente.

sorrillo

#30 ya que no coincidirían con el historial de transacciones a partir del cual se crean los nuevos bloques.

Sí coincidirían, la nueva cadena sería válida a todos los efectos, cumpliría con todos los criterios que exigen los nodos y mineros para aceptarla como buena.

De ahí que se requiera tener más potencia que toda la red junta, para poder ir construyendo esa nueva cadena cumpliendo todas las normas pero sin hacerla pública mientras se construye. Y cuando sí fuera más larga que la que se estuviera utilizando por el resto de la red se publicaría esa nueva cadena, completamente válida y más larga que la otra, y sería aceptada como la buena. Que sea válida, que lo sería, y que sea la más larga, que lo sería, son los dos únicos criterios para considerar que es la buena.

Sin que sea en forma de ataque, si no como funcionamiento normal de la red, ha ocurrido en varias ocasiones que dos cadenas de bloques "compiten" durante unos pocos bloques para ver cual es la más larga, y eso se soluciona automáticamente precisamente por que es inevitable que una sea más larga que la otra en función de la capacidad de cálculo que tenga asociada (cuantos mineros reconocen a una u otra como válida) y un poco la "suerte" del momento (se puede ganar sin tener más potencia, aunque estadísticamente ocurra en menos ocasiones).

Existe una excepción a todo ello y es que como medida extra de seguridad el software de referencia de Bitcoin contiene ciertos puntos de control codificados en éste, incumplir con esos puntos de control la convierte en inválida. De todas formas la cadena nueva puede partir del último punto de control, que son siempre muy atrasados en el tiempo, y construir desde ahí.

se crearía un 'fork' en la red bitcoin.

Cuando dos cadenas compiten por ser la más larga no se considera un "fork" ya que forma parte del diseño de Bitcoin, entendemos como "fork" aquello que ocurre cuando unos nodos consideran válida una cadena y otros nodos consideran válida otra por existir un error en el consenso sobre qué bloques son válidos y cuales no, cuales incumplen las normas y cuales las cumplen. No sería el caso del supuesto que he descrito, donde los bloques cumplirían todas las normas (aunque incluyeran transacciones distintas o incluso no tuviera transacción alguna).

u

#31 tú dices que si tienes suficiente potencia puede ir generando tu propia cadena de bloques con tus transacciones falsas pero coherentes entre sí y que crecerá más rápido que la cadena 'honesta', hasta aquí de acuerdo. Una vez se haga pública la cadena 'deshonesta' entrarán en competición y, por supuesto, la 'deshonesta' será más larga. Pero llegados a este punto cuando los nodos 'deshonestos' retransmitan las transacciones para los nuevos bloques los nodos honestos no los reconocerán, ya que ni las transacciones ni sus firmas criptográficas tendrán sentido para ellos. Ciertamente, la palabra 'fork' no sería la más adecuada para describir esta situación, ya que serían dos cadenas de bloques paralelas completamente diferentes.

sorrillo

#33 con tus transacciones falsas pero coherentes entre sí

Yo no he hablado en ningún momento de transacciones falsas, si hay transacciones falsas el bloque es inválido y de nada sirve que sea la cadena más larga. Cuando me refiero a "falsificar la cadena de bloques" lo he hecho por que el artículo se refiere en esos términos, pero en realidad la nueva cadena no es más falsa que la anterior, ambas son válidas.

Aunque ciertamente si apareciese una cadena más larga que la actual de golpe con 200 bloques "distintos" la mayoría de gente consideraría que esa nueva cadena es falsa o una falsificación, aunque desde el punto de vista del protocolo de Bitcoin no exista esa categoría y para el software sea tan buena como la otra. Para Bitcoin solo hay cadenas válidas y cadenas inválidas, éstas últimas simplemente las ignora.

Pero de nuevo, en ningún momento me he referido a transacciones falsas ya que una transacción falsa no cumple con las normas y por lo tanto el bloque es inválido, por transacción "falsa" aquí me refiero a una que gaste bitcoins de los cuales no se és propietario.

El ejemplo más claro es que la nueva cadena no contenga ninguna transacción y únicamente se busque con el ataque quedarse con las recompensas de todos esos bloques, en vez de permitir que estuvieran repartidas entre los mineros anteriores, pero de nuevo si se tiene la capacidad para hacer ese ataque también se tiene para ser honesto y ganar más bitcoins que con el ataque actuando de forma honesta.

u

#34 yo me refiero a transacciones 'falsas' como las de la nueva cadena, no a transacciones que no cumplan el protocolo. Las transacciones de la nueva cadena no tendrán ningún sentido para un nodo 'honesto' con lo cual no se aceptarían. En este enlace se explica qué se puede hacer con un ataque de 51%: https://learncryptography.com/cryptocurrency/51-attack

sorrillo

#35 yo me refiero a transacciones 'falsas' como las de la nueva cadena, no a transacciones que no cumplan el protocolo.

No te entiendo. Las decisiones que puede tomar el minero respecto a las transacciones sin invalidar el bloque son tres:

- Incluir transacciones que recibe y son válidas.
- No incluir esas transacciones que recibe.
- Incluir transacciones suyas donde gaste bitcoins de los que es propietario.

No sé en que grupo ni cómo describirías las "transacciones falsas" a las que te refieres que contendría la nueva cadena.

u

#36 planteémoslo de otra manera: imagina que eres un minero y que vas recibiendo y minando las transacciones que se van retransmitiendo. Ahora se hace pública la cadena del atacante con más del 51% de la potencia de red y que crece más rápido que tu cadena de bloques. Aceptarás las transacciones de la nueva cadena (transacciones falsas) y sus bloques?

sorrillo

#37 Sí.

Si la nueva cadena cumple con las normas del protocolo, con todas las normas, sí.

No hacerlo implica quedarse en la cadena de bloques más corta y por lo tanto con más probabilidades de ser perdedora, es una mala apuesta. Respecto a la información que indicas "del atacante con más del 51% de la potencia de red" esa información no puede deducirla el minero por sí solo, no existe un registro donde consultar si hay un atacante atacando o no.

De hecho lo que citas, quitando la parte de "atacante", ha ocurrido en varias ocasiones por el funcionamiento normal de la red. Los mineros descartan "su" cadena si hay otra más larga, seguir obcecados con la "suya" es no participar de la nueva cadena y por lo tanto renunciar a las recompensas futuras.

u

#38 pues entonces yo podría publicar una cadena de dos millones de bloques coherentes con el protocolo y todos los mineros la aceptarían? Para que un minero acepte una nueva cadena tiene que ser coherente con el historial de transacciones que contiene, el protocolo no acepta una nueva cadena simplemente porque sea más larga.

sorrillo

#40 Tienes razón, la descripción de la cadena más larga es incorrecta, en realidad lo que se comprueba es cual es la cadena con mayor trabajo1. El trabajo efectuado sobre la cadena se puede calcular analizando cada bloque y viendo cuanto trabajo se ha hecho sobre cada uno de ellos y la suma de todo ello es lo que se considera la cadena válida. El término usado habitualmente es la cadena más larga por que en la práctica totalidad de los casos hay coincidencia entre la cadena más larga y la que ha supuesto mayor trabajo, pero para el ejemplo de ataque que citas efectivamente no sería así.

Se simplifica con lo de cadena más larga por que las competiciones suelen ser en el mismo nivel de dificultad y con pocos bloques de diferencia, por lo que si algún bloque no cumple el requisito de dificultad se considera inválido y la única forma de que contenga más trabajo es que haya más bloques que en la otra cadena.

Para que un minero acepte una nueva cadena tiene que ser coherente con el historial de transacciones que contiene

De todas formas esto no tiene que ver con las transacciones que tenga la cadena y el minero no debería tener inconveniente alguno en descartar su cadena por una cadena con más trabajo aunque las transacciones no coincidiesen. De nuevo siempre que esa cadena cumpliera el requisito también de los puntos de control.

Y sí, en toda cadena todas las transacciones deben ser coherentes entre sí, pero no necesitan ser coherentes con la cadena contra la que compiten.

1 http://bitcoin.stackexchange.com/questions/29742/strongest-vs-longest-chain-and-orphaned-blocks

sorrillo

#1 Fe de erratas: Donde indico la cadena más larga en realidad es la cadena con más trabajo, no es por tanto el número de bloques si no la suma de todo el trabajo de la cadena.

@uglykidjoe me ha hecho notar este error en este hilo de discusión: Blockchain o cadena de bloques: qué es y para que sirve/c40#c-40

D

#2 Es importante ejemplificar con situaciones cotidianas

D

Las criptomonedas no son en absoluto una mala idea, aunque todavía quedan flecos. Uno de los mayores flecos es quitarles a los bancos la capacidad de crear dinero, eso como que no les hace ni puta gracia, y teniendo en cuenta el poder que tienen es un fleco recio y recalcitrante.

D

#4 que yo sepa, el Santander o el BBVA no pueden crear dinero.

Los Bancos Centrales (que no tienen nada que ver con los bancos corrientes) son entidades gubernamentales que aplican políticas monetarias para intentar encarrilar la economía lejos de efectos no deseables, tales como alta inflación o deflación.

Pero bueno, mola más ver una mano negra y malvada detrás del peligro real que Bitcoin supone para una sociedad del bienestar, en contraposición a una anarco-capitalista.

D

#11 Lo crean mediante deuda.

D

#12 #14 como curso de economía cuñada está bien.

D

#16 Estamos en Meneame, hay que adecuar el nivel a cada medio.

r

#12 Lo cual es bueno y necesario.

a

#11 Los bancos privados claro que pueden crear dinero, lo hacen constantemente.

http://www.elblogsalmon.com/mercados-financieros/como-los-bancos-crean-dinero-de-la-nada

NickEdwards

#11 Sí pueden crear dinero. Es una consecuencia del sistema de reserva fraccionario.
También conocido como el M2: https://es.wikipedia.org/wiki/Oferta_de_dinero

elpayito

#11 Crean crédito, a viene a ser lo mismo pero a futuro.

D

#4 O por ejemplo el control de la inyección de liquidez, que en el caso de Bitcoin es limitado, automático e inevitable. No sé si eso es viable a nivel económico o no.

juliander

#15 #21 nadie ha dicho nada contra el bitcoin, que yo sepa #6 hablaba de desarrolladores y gestores.

MK entraria como gestor, no? O operar el exchange que fue la referencia de precios hasta su caida es un papel secundario? Hasta practicamente su caida fue el numero 1 por volumen de transacciones ...

Habra que esperar a que haya sentencia de su caso, pero lo de que fue victima de un robo como que no lo veo. Teniendo la empresa intervenida le pillaron entrando en los servidores para toquetear los balances ..

l

#23 Deberías informarte antes de contestar. #6 ha emitido una crítica contra el Bitcoin dejando entrever indirectamente que no es una moneda de fiar porque los que "diseñan y gestionan" Bitcoin no son de fiar.

En #15 y #21 le hemos dicho que es una crítica incorrecta y desinformada. Tu comentario en #23 ahonda en esa desinformación. Como ya he dicho antes, Mark Karpeles no ha sido nunca desarrollador, ni diseñador, ni gestor del Bitcoin. Del mismo modo que Gerardo Diaz Ferran no es diseñador, ni gestor, ni desarrollador del Euro, por muchas empresas que haya poseído en las que se intercambiasen Euros por bienes materiales.

Pero es que, además, no importa en absoluto. Vuélvete a leer lo que he puesto en #21: el Bitcoin es un sistema de confianza 0. Lo que importa es el propio sistema y sus reglas están ya fijadas. Si un sólo desarrollador cambiase las reglas, lo primero es que la comunidad tendría que aceptarlas (todos los nodos deberían actualizar al nuevo software). Si algunos actualizan un software que cambia las reglas, se crearía un fork de la cadena, pero lo que sucedería es que no se aceptarían las transacciones de quienes tengan el software en minoría. Si el 50% o más de la red no acepta un cambio, el cambio no se produce por mucho que los desarrolladores lo implementasen donde les diera la gana.

Lo mejor que podéis hacer, si no conocéis con detalle como funciona, es estudiar antes de emitir críticas.

Andor

"Esta criptodivisa concebida en 2008 por el japonés Satoshi Nakamoto..."

Joer, empezamos bien. Satoshi es un seudónimo, no se sabe si es japonés.

r

#19 El origen japonés es parte del seudónimo, es inherente al personaje creado.

Dices que "no se sabe si es japonés". El consenso que yo sepa es que detrás del seudónimo hay varias personas, no una sola.

l

#10 Mark Karpeles jamás ha sido desarrollador de Bitcoin. Él dirigía una plataforma de compra-venta de los mismos.

De todas formas, la gracia del Bitcoin es precisamente que fue construido bajo la premisa de confianza 0. Las monedas que alguien posee no dependen de los desarrolladores, ni de un banco central ni de nadie en concreto. Entre otras cosas, puedes verlo tanto en el código open-source, que para eso está, como en lo lento y costoso que resulta desarrollar actualizaciones necesarias del protocolo, precisamente porque nadie quiere crear un hard-fork de la cadena.

r

#8 Usar Bitcoin como inversión es estúpido. Pero eso no tiene ninguna relación con lo buena, fiable, seria o eficaz que pueda ser. Tiene otras causas.

D

#44 Yo no he hablado de inversión en ningún momento. Mi comentario venía porque #7 hablaba de que se fía más de los bancos (con tono irónico). Es decir, entiendo que se fía más de bitcoins. Si confia más en bitcoin que en un banco lo lógico sería gastar todo su dinero en bitcoins. Como son tan fiables... Eso dijo uno de los sellos

ShogunShuriken

¿criptodivisa?

D

#3 Sí. Es una palabra española nueva (neologismo), bien formada y se entiende. A mí me gusta.

lucas.rosillofuste

Para mi tienen mas valor las cartas magic.

wa3000

Claro porque los tipos que diseñan y gestionan Bitcoin son gente muy de fiar, mi cuñado les conoce y habla bien de todos.

D

#7 luego supongo que tienes tus ahorros en bitcoins y no en el banco

wa3000

#7 Me encanta ese razonamiento de, si no eres del Barça eres del Madrid, nada limitado, bravo.

l

#9 No te quejes. El argumento que has hecho es igual de limitado, y tremendamente falaz.

Cierto que la respuesta no es la mejor, pero es preferible que no crees FUD injustificadamente de inicio.

juliander

#7 son tan de fiar como Mark Karpelès. Seguro que su codigo fuente era open-source y estaba auditado por unicornios.