Cómo extraer el máximo valor de un 51% de ataque

Si un atacante para obtener el 51% de la red, se puede esencialmente forjar arbitraria transacciones doble pasar. Pero que rápidamente podrían conducir a una pérdida de confianza en el bitcoin. De hecho, eso podría suceder tan pronto como alguien se sospecha de tener una mayoría.

¿Qué estrategias podría mayoría -, el atacante utiliza para extraer el máximo valor? ¿Qué podían hacer sin detección?

+502
user16033 21 feb. 2017 18:13:38
29 respuestas

No tengo suficiente reputación para comentar, pero sólo para hacerle saber, el ejemplo de cabecera de bloque termina con "f8f1753dbdf441b00000000", pero que en realidad debería ser "b8f1753dbdf441b00000000" o totalmente:

020000000413cf7d02794eb094cd66404e46aa816679e12f6fdf9ee11f0e97337702b6e00b1edc1ccf82d3214423fc68234f4946119e39df2cc2137e31ebc186191d54229b8f1753dbdf441b00000000

Captamos a la escritura de una unidad de prueba.

+999
Karolina23 03 февр. '09 в 4:24

Para facilitar la referencia, permite a nombre de las diversas entradas y salidas de la pregunta así:

pre-imagen 1: hola
|
v
operación hash 1: SHA256
|
v
hash de salida 1 (también conocido como pre-imagen 2): 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
|
v
operación hash 2: SHA256
|
v
hash de salida 2: 9595c9df90075148eb06860365df33584b75bff782a510c6cd4883a419833d50

Pre-imagen 1 es binario (ASCII) de datos. Sabemos esto porque el rango de caracteres hexadecimales es 0-9 y a-f, y hay personajes más allá de f en la pre-imagen 1. Así hash operación 1 debe realizar mediante el uso de una entrada binaria.

Por definición, un valor de hash SHA256 operación produce siempre un 256 bits con signo. Nos suelen representar esta en formato hexadecimal, sin embargo también puede correctamente ser escrito en formato decimal y nada iba a cambiar:

hex: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
decimal: 20329878786436204988385760252021328656300425018755239228739303522659023427620

(Decimal conversión de uso de Wolfram Alpha)

Ya sabemos que la pre-imagen de 2 es un número hexadecimal, entonces hash operación 2 se debe realizar en un número, en lugar de a los datos binarios.

En Javascript, el uso de la Stanford Javascript Crypto de la Biblioteca, los dos hashes se haría así:

var preImage1 = 'hola';
var hashOutput1 = sjcl.hash.sha256.hash(preImage1);
la consola.log('hash de salida 1:' + sjcl.códec.hex.fromBits(hashOutput1));
var preImage2 = hashOutput1;
var hashOutput2 = sjcl.hash.sha256.hash(preImage2);
la consola.log('hash de salida 2:' + sjcl.códec.hex.fromBits(hashOutput2));

El SJCL es lo suficientemente inteligente como para averiguar la pre-formatos de imagen y realizar el hash correctamente en cada caso.

También puede hacer estas operaciones de hash vivir en mi blog, aquí: https://analysis.null.place/how-do-the-bitcoin-mining-algorithms-work/#form10

Nota cómo el hash de salida cambia cuando usted haga clic en la imagen previa es hexadecimal casilla de verificación (esto sólo funciona cuando los caracteres hexadecimales están presentes en la entrada).

+939
Ray Zheng 6 abr. 2010 18:23:33

La M significa "mega", lo que significa millones de dólares. Por lo que el 1 Mh/s significa que uno de los millones de hashes por segundo. Algunos muy simples de matemáticas le dirá que 15000 h/s es lo mismo que un 0.015 Mh/s.

+889
user1482309 23 may. 2014 17:34:17

La ventana de depuración de la Bitcoin-Qt cliente proporciona la capacidad de exportación de claves privadas. Estas teclas pueden importarse a otro cliente, ya sea otra Bitcoin-Qt cartera o algo así Blockchain.info/wallet.

+876
Nomato 24 jun. 2015 3:31:52

Después de haber visto que BTC fue de alrededor de $600 a principios de verano de 2014 (Mayo-julio). Es en la actualidad casi el 50% de ese valor. He leído muchos y variados informes de la causa de una gran caída.

Alguien puede dar una lista de las principales propuestas de ideas de este gran caída en el precio?

+865
fbertoia 18 jul. 2015 23:48:27

Usted desea utilizar una mezcla de servicio. Esencialmente, usted iba a enviar a su hijo de 10 monedas de su vieja cartera a la mezcla servicio y obtener la misma cantidad a la nueva cartera. De esta forma, anonymizes sus monedas si la mezcla servicio está haciendo su trabajo correctamente.

Un efecto similar se puede hacer mediante el envío de sus monedas a cambio de su vieja cartera y sacando a la nueva cartera. Obviamente, el intercambio sería capaz de conectar las dos direcciones, por lo que no sería como anónimo.

+856
JittaRao 15 sept. 2012 2:07:52

después de buscar y leer un montón de bitcoin miner puestos en la web, pero tengo una duda antes de comprar bitcoin hardware...

He leído acerca de ASIC de Hardware de ButterFly Labs, Avalon, Knc, USB Erupter y demás... Pero nadie especificar si el equipo ha de estar encendido todo el tiempo...

Puedo usar ASIC bitcoin miner sin dejar el poder en la PC 24/7?

Si es posible puedes citar algún ejemplo...

Gracias!

+801
Rstack 10 ago. 2014 5:01:06

He estado corriendo raspberry PI con 4 Erupter módulos conectados a Pi centro para 5 días sin problemas. Ayer me registré los módulos y la inactividad de las luces estaban encendidas y no era la minería. He reiniciado mi raspberry, y ahora estoy recibiendo este error:

 [2014-04-10 20:23:13] Icarus Detectar: error en la Prueba en /dev/ttyUSB0: obtener 00000000,
 debe: 000187a2
 [2014-04-10 20:23:13] Icarus Detectar: error en la Prueba en /dev/ttyUSB1: obtener 00000000,
 debe: 000187a2
 [2014-04-10 20:23:14] Icarus Detectar: error en la Prueba en /dev/ttyUSB3: obtener 00000000,
 debe: 000187a2

Estoy ejecutando el siguiente comando:

sudo ./cgminer-3.1.1/cgminer --config /home/pi/cgminer.conf -S /dev/ttyUSB0 -S /dev/ttyUSB1 -S /dev/ttyUSB2 -S /dev/ttyUSB3

Si puedo conectar y ejecutar los módulos uno por uno, no hay ningún problema. Cuando hay 3-4 obtengo errores. Aquellos errores que se cambie cada vez que se ejecuta, por lo que a veces su 1 fallando otras veces 2 etc. También, estoy recibiendo este error:

[2014-04-10 20:33:04] lo Más probable es que usted tiene de entrada la dirección URL incorrecta, olvidado ad
d un puerto, o no dispone de los trabajadores

De nuevo, no ha habido ningún cambio en la configuración (que yo sepa). Cualquier sugerencia en cuanto a lo que podría estar causando esto/ ¿cómo solucionarlo?

Actualización

cgminer.conf 

"piscinas" : [
{
 "url" : "http://api.bitcoin.cz:8332",
 "usuario" : "trabajador",
 "pass" : "pass"
}
]
,
 "api-escuchar" : true,
 "api-puerto" : "4028",
 "caducidad" : "120",
 "solo conmutación por error" : true,
 "registro" : "5",
 "no-piscina-desactivar" : true,
 "la cola" : "2",
 "escanear en tiempo" : "60",
 "tiempo de trabajo" : true,
 "comparte" : "0",
 "kernel-path" : "/usr/local/bin",
 "api-permitir" : "0/0",
 "icarus-opciones" : "115200:1:1",
 "icarus-timing" : "3.0=100"
}

Erupters ejecutar desde el hub, y rpi también se está ejecutando desde el cargador de pared.

+759
Community 15 ene. 2010 23:58:18

Sí, podría ser, que su Transacción no está confirmado. Pls comprobar sin confirmar las Transacciones aquí:

https://blockchain.info/de/unconfirmed-transactions

~ 16000 Transacciones sin confirmar.

Hasta que se empaca en Bloques podría tardar algunas horas - días. Depende del tamaño de las transacciones que se podría tomar algunos días, debido a que los Bloques tienen un tamaño máximo de 1 KB.

A veces hay sólo ~700 transacciones minadas por Bloque y se llega a 1 KB, a veces hay > 2500 Transacciones en un solo bloque.

Creo empuje no será una solución, ya que fue transmitido a la Red.

Así que sea paciente será confirmada pronto :)

Saludos

+740
Fredrik Pettersen 18 jul. 2015 6:32:39

Esto no sólo está relacionado con el Rayo, pero sigue siendo cierto para cualquier crítico de la aplicación que se ejecuta en su PC cuando se conecta a la red de su hogar. Si la red de su hogar está en peligro después de que un atacante puede posiblemente escalar privilegios y el compromiso de la máquina en la que el rayo nodo se ejecuta (así como otras aplicaciones críticas). El rayo está pensado para ser análoga a cómo llevar dinero en efectivo en su billetera. Le ayuda a hacer pequeñas transacciones muy fácilmente, mientras que al mismo tiempo no es el fin del mundo si se pierde el dinero de su billetera. Su principal ahorro se almacenan en el banco, al igual que cómo va a utilizar un hardware de cartera para guardar sus principales Bitcoin ahorros. Que puedo pensar de la a continuación algunos de los casos en la parte superior de mi mente.

Envíe el pago a cualquier rayo de nodo
Su rayo nodo tiene continuamente firmar el nuevo compromiso de las transacciones con el fin de añadir entrante HTLCs y cumplir HTLC pagos. Como resultado, las claves privadas asociadas con la firma de nuevos transacciones en el canal están expuestos a una aplicación que está en continua interacción con la red de su hogar. En caso de que su máquina se ve comprometida, como hemos discutido antes, sus claves privadas, ya no es seguro. Por lo tanto, estas teclas se pueden utilizar para enviar un rayo de pago para cualquier nodo que está indirectamente relacionada con usted.

Cerca de la fuerza de su canal
Desde la transacción de las copias de seguridad se guardan en la máquina en la que interactúa con la red, un atacante que haya conseguido acceso a su máquina, puede utilizar una de las copias de seguridad de transacciones y la emisión a la de la red Bitcoin cuesta tarifas altas en comparación a un mutuo acuerdo (en caso de que fuera el financiador).

La emisión anterior compromiso de estado de la transacción
El atacante también podría emisión anterior estado de la transacción haciendo que se pierda casi la totalidad del saldo de la canal a través de la revocación de la transacción.

La fuerza de choque de su nodo y eliminar archivos de copia de seguridad
A diferencia de bitcoin almacena en una cadena de cartera, los fondos de la red de rayos son de estado. Si usted no tiene copias de seguridad y su canal de contraparte no es sensible, es probable que la experiencia de la pérdida permanente de los fondos. Esto podría ser un poco mitigado por el uso de la option_data_loss_protect característica, pero que en gran medida depende de que su contraparte nodo es honesto.

La mejor práctica para mantener la máquina limpia de cualquier sombra de las aplicaciones, el uso de una reputación anti-malware servicios y no darle a compartir su red doméstica Wi-Fi contraseña.

+724
Martin Blore 29 jun. 2012 12:26:18

Usted no necesita preocuparse acerca de esto nunca sucede.

No hay ningún bucle de opcodes en secuencias de comandos. Cada secuencia de comandos de código de operación puede ejecutarse sólo una vez, y el más lento opcode es probablemente ECDSA verificación de la firma (porque implica EC_point_multiply). Aún así, sólo se tarda unos 50~100µs en un solo núcleo de una CPU moderna para procesar.

Vamos a suponer que un 1MB de bloque (tamaño máximo) contiene el 100% de la firma de verificación de códigos de operación, que es de 1 millón de verificación de la firma y se lleva en la mayoría de los 100 segundos de tiempo de CPU de un solo núcleo, esto es todavía mucho menor que el bloque de tiempo. En la práctica cada scriptSig es acompañado por lo menos de 100 bytes de datos (clave pública + firma ECDSA), por lo que probablemente tiene menos de 1 segundo de tiempo de CPU.

+714
SURF4 30 oct. 2014 21:53:18

A veces la gente no quiere la mina a plena carga, debido a diversas razones (equipo de ruido, hardware preocupaciones, etc). Hay mineros que hay en el que uno puede establecer un hashrate límite? Sé que uno puede usar-f y -s banderas, pero la cantidad de control que dan es bastante limitada.

+710
user297208 19 may. 2012 16:15:11

Creo que usted está asumiendo que los mineros que están recogiendo a bajas tasas de transacciones no está compitiendo con nadie, lo cual es incorrecto. La minería no es progresivo(he.e sus posibilidades no aumentan cuanto más se intenta), es independiente de la probabilidad de éxito en cada intento. Usted todavía tiene la misma oportunidad para encontrar un nuevo bloque, independientemente de las transacciones que usted elija. Así, no hay un bono de ventaja.

Por lo tanto, siempre es útil para recoger alto costo de las transacciones de la baja tasa queridos.

+688
Roger Perkins 14 feb. 2010 21:42:47

He tenido esta pregunta en un examen, pero no estaba muy seguro de cómo resolverlo:

Supongamos que Bob el comerciante quiere tener una política para que las órdenes se envían dentro de x minutos después de la recepción del pago. ¿Cuál es el valor de x debe Bob escoger así que con la confianza de 99% a 6 cuadras se encuentra dentro de x minutos

¿Tiene usted idea acerca de la fórmula que hemos de usar para encontrar la respuesta?

+636
beachlover 2 oct. 2015 5:00:30

Mi sobrina de 4 vueltas el mes que viene y me gustaría darle una fracción de Bitcoin para su cumpleaños. Lo que es una buena manera de hacer esto de manera que ella puede aferrarse a ella durante 10 años o así? Debo acaba de guardar en una cartera de mí mismo y luego darle a ella más adelante? Hasta donde yo sé, sus padres no están familiarizados con Bitcoin.

+622
EpicBE 8 nov. 2013 16:53:33

MtGox Vivir es muy bonito vivir de la profundidad del mercado gráfico.

Por alguna razón que sólo muestra los precios en USD.

¿Alguien sabe de una igualmente buena alternativa que apoya EUR lugar?

+620
sho raza 24 may. 2017 4:38:40

Sé bitcoin mineros competir por una recompensa por ver quien puede resolver un difícil hash de un problema (prueba de trabajo).

Sin embargo, ¿cómo esta azar hash problema para ayudar a validar las transacciones en el siguiente bloque? Parece que este hash problema es completamente irrelevante para el libro mayor problema de validación en la mano. Y cuando el otro minero nodos de validar que la propuesta de bloque es correcta después de un minero acabados?

+599
winnend 29 nov. 2011 4:45:13

Micropago Canales (MPC) no pueden ser usados en la actualidad debido a la maleabilidad de transacciones, escucho.

AFAIK, la gente diciendo que tener en cuenta que el reembolso y pago tx, que tiene como entrada el depósito tx (Dtx), podría no ser válida si el depósito del hash fue cambiado. Yo estoy bien con esto.

Lo que no entiendo: si el atacante logra modificar Dtx' hash antes de llevarla a la blockchain, yo creo (s)que igualmente puede administrar a doble pasar los btcs que se supone que van a Dtx. Por lo tanto, doble gastar parece tanto una amenaza como su maleabilidad. Sin embargo, nadie discute, así que supongo que algo está mal con este razonamiento. Qué?

Es la respuesta correcta:

siempre maleabilidad ataques son posibles, entonces es doble pasar ataque. ?

Gracias

+535
Beckyb 15 abr. 2017 0:13:41

La latencia se mide es el tiempo que toma para su bitcoind para responder a getblocktemplate solicitudes. No debería importar demasiado, y el tiempo de subida es simplemente su nodo de aprendizaje acerca más y más transacciones y hacer más grande plantillas para P2Pool a trabajar. Hay algunas opciones de línea de comandos para bticoind que permiten afinar tarifas mínimas y el como para aceptar sin confirmar las transacciones que pueden tener un efecto sobre la velocidad de retorno.

+471
Marcella M Rice 16 ene. 2017 4:36:05

Usted puede comprobar por iniciar un geth de la consola y el uso de la personal.unlockAccount función:

$ geth consola
> personal.unlockAccount("dirección", "contraseña")
+419
Foodie Steve 8 jun. 2014 7:39:18

También hay Bitcoin para Opencart módulo; yo lo he estado usando y funciona muy grande, ya que además de proteger contra el doble gasto y es configurable.

+356
jarfa 4 nov. 2016 19:15:36

Como una sola bitcoind nodo sólo puedo detectar cuántos pares conectados que tengo. Es allí una manera de tener una visión de conjunto de la red bitcoin?

+353
Charlie Bunch 13 ago. 2016 6:14:36

Mi cartera.dat es 260MB grande. Yo estoy usando el de 32 bits bitcoind (bitcoin-0.10.2), linux.

Bitcoind está teniendo problemas de memoria:

["error"]=>
 cadena(89) "EXCEPCIÓN: St9bad_alloc 
std::bad_alloc 
bitcoin en ProcessMessages() 

Actual de asignación de memoria: 2.9 GB virt, 2.3 GB virt.

¿Cómo puedo resolver el problema de memoria? Puede eliminar las viejas direcciones no utilizadas? No encontré una llamada a la API para eliminar las viejas direcciones. Probablemente bitcoin-0.11.0 no resuelve el problema, que ya tiene casi los mismos valores: 2.45 GB Virt, 2.1 GB Res.

+197
machet1k 8 ene. 2016 9:43:21

Ambos representan la misma cosa en diferentes períodos de tiempo. Los valores en el menú desplegable son siempre de las últimas 24 horas, los valores de la gráfica depende de qué rango de tiempo que se está viendo.

En su ejemplo, 75584 es el número de bitcoins negociado en las últimas 24 horas, y 17261 es el número que se comercian entre 19:00 y 20:00

+148
Marc Laugharn 6 nov. 2015 23:17:06

Multisig y singlesig carteras utilizar el mismo flujo. Un Tx propuesta necesita ser creado en singlesig carteras también. Copago de syncronize través de los dispositivos, así que usted puede tener un no-firma copayers en un 1-1 cartera que presentar propuestas, para su posterior aprobación.

El flujo es:

crear => publish => signo => difusión.

Puede comprobar el cliente oficial https://github.com/bitpay/bitcore-wallet-client para más detalles, y también el cliente CLI debe ser útil para ver ejemplos: https://github.com/bitpay/bitcore-wallet

+137
ROYPRIZM 31 oct. 2010 6:28:18

Digamos que alguien comenzó a hacer real viable ordenadores cuánticos que fueron lo suficientemente asequible que las grandes empresas podrían comprar uno. Y supongamos que un algoritmo cuántico fue ideado para romper las claves privadas de bitcoin claves públicas en días, en lugar de años.

Hay un plan para que esa posibilidad? ¿Qué pasaría? Habría una migración sin problemas a otro sistema? Sería bitcoin será capaz de actualizar de alguna manera para protegerse a sí mismo de una violación?

+136
Kim Mijin 10 may. 2013 2:24:02

Respetuosamente solicita a mirar en esta transacción. Hizo lo tengo confirmado o no? es sido 5 días ahora. Gracias 18MJieFJcDiFbAsvSxe5iCaBAYsikgJta6

+86
Markaway 6 jul. 2016 21:46:29

En adición a lo Erv mencionado, la próxima versión de la cartera puede ser el uso de LevelDB para el bloque de la cadena y algunas de formato personalizado para la clave privada de la tienda.

Aquí hay más información sobre el LevelDB acceso desde C# , pero espero que alguien las actualizaciones de este post con un enlace a la mejor LevelDB para C# para nuestros propósitos

+49
Avatrin 4 feb. 2013 19:34:00

Son los diferentes servicios que dan "gratis" Bitcoins realmente dar aire? Las cantidades son muy pequeñas y el pago de la transacción es mucho más alta debido a todas las pequeñas transacciones.

Tomar Bitvisitor como un ejemplo. 8 mBTC para ver un anuncio, es una cantidad tan pequeña que no puede esperar para darle a nadie más, mientras que los honorarios de la transacción en la que los clientes son tan altos como lo son ahora.

+27
mrKrog 10 ago. 2019 21:18:59

Mostrar preguntas con etiqueta