¿Qué tengo que firmar para producir un scriptSig firma que consume un multisig UTXO?

Estoy tratando de averiguar cómo producir un válido firmado transacción consumir BTC de un multisig dirección.

1) Primero vamos a mirar hacia la producción de una firma para un UTXO asociado a una dirección:

Supongamos que estamos creando una transacción a consumir una sola UTXO, salida 0 de transacción 1111111111111111111111111111111111111111111111111111111111111111(hex), depositar el 1 BTC a la dirección de 147Us9aEq2PvBC5wobBJw1yEpQEbPKzssa, para que el HASH160 es 2222222222222222222222222222222222222222 (hex).

Este sería el raw de la transacción antes de la firma, con formato para mejorar la legibilidad:

01000000
01
1111111111111111111111111111111111111111111111111111111111111111
00000000
00
ffffffff
01
00e1f50500000000
19
76
a9
14
2222222222222222222222222222222222222222
88
ca
00000000

Asumir la UTXO está asociado con el siguiente par de claves y regular dirección:

L2hYQuKeAUr4hLAdDspnwm4YCcFb222Redw34wsmoneejp5wp4qt
02d619bbd8166614b3c6cdb2833392a71793a1f531693e3a18e7ac3ccbdd161972
15Rrie5X6VgDRVwMvB63hKf8Uk5MBZEmbc

Después de la firma de la transacción con la clave privada anterior, obtenemos ECDSA firma 304402205c2ce1a04b7eb882cf39bfff278b59b9c90ae8c98ce3911bd63b0909bd524df3022000dd5393fa0526ed2d30eff4102c8592c0502406adb0e5a925cd299f8eeb770d (hex) que, que se adjunta con SIGHASH_ALL byte 01 (hex), está incrustado en él mediante el Pago PubkeyHash scriptSig para regular direcciones: <sig> <pubKey>.

01000000
01
1111111111111111111111111111111111111111111111111111111111111111
00000000
6a
47
304402205c2ce1a04b7eb882cf39bfff278b59b9c90ae8c98ce3911bd63b0909bd524df3022000dd5393fa0526ed2d30eff4102c8592c0502406adb0e5a925cd299f8eeb770d
01
21
02d619bbd8166614b3c6cdb2833392a71793a1f531693e3a18e7ac3ccbdd161972
ffffffff
01
00e1f50500000000
19
76
a9
14
2222222222222222222222222222222222222222
88
ca
00000000

Con el fin de producir de esta firma, que teníamos que firmar la siguiente modificación de la transacción:

01000000
01
1111111111111111111111111111111111111111111111111111111111111111
00000000
19
76
a9
14
3093fd17ee01616456cc3e8d792d8d03ec31e624
88
ca
ffffffff
01
00e1f50500000000
19
76
a9
14
2222222222222222222222222222222222222222
88
ca
00000000
01000000

Básicamente hemos parcheado el raw de la transacción con el Pago PubkeyHash scriptPubKey de la fuente UTXO: OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG. También hemos anexado el SIGHASH_ALL palabra 01000000 (hex).

Tenga en cuenta que 3093fd17ee01616456cc3e8d792d8d03ec31e624 (hex) es el HASH160 de clave pública 02d619bbd8166614b3c6cdb2833392a71793a1f531693e3a18e7ac3ccbdd161972.

Para facilitar la reproducción de cálculo de la firma, el k se utiliza en la firma de procedimiento se obtuvo de manera determinista según RFC6979. Su valor para este ejemplo es de 11911142871849518033668783171853950819406055147191692459499720537819802969751 (dec).

2) Ahora, para el caso de que el UTXO se asocia a un multisig dirección, necesitamos producir diferentes firmado transacción:

Asumimos aquí un 1-de-2 multisig dirección.

El segundo par de clave/dirección es la siguiente:

Kwc7zeCyVsemqAED2cpL138hKYRTcBQgawyhlqaparj3k2uwjpuk
0340f2f93487edb2ea49ffbdfc7de20481e54dae44420135fc6c6ea8262477fc9b
1DUDqhpJS7YHsQXuchWhPJUHr2DRnHYp6x

Por lo tanto la derivada multisig dirección es 35NBKdnf3F9XSGqfUsNxBMWGspm4y7Yi8x.

El asociado raw de operación es el mismo. Sin embargo, la firma de la transacción debe tener una estructura diferente, ya que necesitamos un parche con un Pay-to-Script-Hash scriptSig para multisig: 0 <sig1> OP_1 <pubKey1> <pubKey2> OP_2 OP_CHECKMULTISIG

01000000
01
1111111111111111111111111111111111111111111111111111111111111111
00000000
91
00
47
30xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01
47
51
21
02d619bbd8166614b3c6cdb2833392a71793a1f531693e3a18e7ac3ccbdd161972
21
0340f2f93487edb2ea49ffbdfc7de20481e54dae44420135fc6c6ea8262477fc9b
52
ae
ffffffff
01
00e1f50500000000
19
76
a9
14
2222222222222222222222222222222222222222
88
ca
00000000

Estoy tratando de obtener la firma ECDSA 30xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx la cual debe ser calculada usando la primera clave privada (su longitud en xs'es aproximado).

Traté de producir dicha firma utilizando el raw de la transacción parcheado con el Pay-to-Script-Hash scriptPubKey: OP_HASH160 <scriptHash> OP_EQUAL. Sin embargo, el resultado de la firma 304402201264c3a19e805ff976241c20897a2c702a5fa9a3882524317ef1444b0bfebdf502207bc45af98867c9366368f2be2d3a7335bd2681c4ad58ad38224b982029fda8e5 (hex) no parece ser válido.

Abajo está la mencionada modificación raw de la transacción. Tenga en cuenta que 285071ecf3cce5e8eeb80aa289c3b7ba611cdd6d (hex) es la secuencia de comandos HASH160 asociados a la multisig dirección 35NBKdnf3F9XSGqfUsNxBMWGspm4y7Yi8x:

01000000
01
1111111111111111111111111111111111111111111111111111111111111111
00000000
17
a9
14
285071ecf3cce5e8eeb80aa289c3b7ba611cdd6d
87
ffffffff
01
00e1f50500000000
19
76
a9
14
2222222222222222222222222222222222222222
88
ca
00000000
10000000

De nuevo, para facilitar la reproducción de cálculo de la firma, el k se utiliza en la firma de procedimiento se obtuvo de manera determinista según RFC6979. Su valor para este ejemplo es de 52344238881233128299244703933491194256385056421257949759777810457555478930704 (dec).

TL;DR - Cómo revisión de las primas de transacciones del ejemplo anterior con el fin de producir una firma ECDSA para los asociados multisig UTXO? Puede también proporcionar una muestra firmado transacción y el k se utiliza en el cálculo de la firma? O - ¿Dónde podemos encontrar esta firma de procedimiento que se explica en detalle, textualmente, para multisig direcciones?

+897
MacPrince 25 jul. 2014 7:31:01
23 respuestas

El año 2097, sólo hemos colonizado marte. El envío de cualquier tipo de datos desde la Tierra a Marte tarda unos 10 minutos.

Si he hecho una transacción en marte el envío de algunos bitcoins a alguien en la tierra, tomaría al menos 10 minutos para que se propaguen a todos los nodos en la Tierra. Durante este lapso de tiempo, hago un doble pasar de transacción en la Tierra para enviar a marte. Debido a que los nodos en la Tierra no ha llegado mi balance actualizado de la transacción en marte. Lo que sucede?

¿Esto causa un tenedor en el blockchain de bitcoin debido a la gran retraso? ¿Qué pasa si el intervalo de tiempo es de 1 hora o incluso un par de días, por ejemplo el envío de un mensaje a una colonia en plutón? ¿Cómo funciona el blockchain de bitcoin resolver este problema?

+960
Mark Bao 03 февр. '09 в 4:24

La razón por la que existen tanto, es debido a que Satoshi no sabía acerca comprimido claves públicas, y sólo fue descubierto recientemente que la que sería posible utilizar sin problemas de compatibilidad (apoyo sólo existe a partir de la versión 0.6 de cliente de referencia).

La ventaja es clara: sus claves públicas son más pequeños, lo que resulta en menores de transacciones en la red, el ahorro de bloque tamaño de la cadena para todo el mundo.

Actualización: en el interior de SegWit pasa, solo comprimido se pueden utilizar las teclas.

+956
1AjVmYsVQamb1heegEQ4NskKjWiPv9 1 ago. 2013 2:16:04

Cuántos bloque localizador de hashes son enviados en un getblocks mensaje? Y que tan lejos están estos localizador de hashes el uno del otro?

+842
thistleknot 19 oct. 2015 23:52:37

Soy muy nuevo en bitcoinj de la biblioteca. Estoy usando 0.14.7 versión de bitcoinj y el desarrollo de mi propia aplicación en java. He creado un reloj-sólo cartera mediante la tPub de la billetera. Hasta la Recepción de los pagos en el reloj sólo de la cartera, se está trabajando bien. Ahora, tengo que gastar esas monedas. Para eso, he creado una transacción, y encontró su Hash de la transacción.

Para firmar la transacción Hash con la clave privada, he seguido Cómo firmar raw transacción dada una clave privada y el hash SHA (en java) código. y ahora voy a obtener el hash firmado. Por favor me guía que ¿cómo puedo usar esta firmado el hash para enviar y difusión de la transacción.?

Su ayuda será apreciable. Gracias de antemano.

El código de ejemplo es la siguiente:

// A través de este camino, estoy buscando el Hash de la Transacción.

SendRequest solicitud = SendRequest.para(Dirección.fromBase58(params,externalAddress), de la Moneda.parseCoin(cantidad));
solicitud.signInputs = false;
solicitud.tx.getInputs();
solicitud.missingSigsMode = Cartera.MissingSigsMode.USE_DUMMY_SIG;
Cadena de hash = solicitud.tx.getHashAsString();

//ahora el uso de createSignHash método, que es la toma de transacción hash y firma con la clave privada y devolver el contrato Firmado Hex.
Sistema.a cabo.println("Firmado Hash :" + createSignHash(hash)); 
+811
paleotek 15 may. 2014 11:47:10

Cómo hacer que vuelva a asegurar su billetera y efectivamente revocar la información que Mallory ha aprendido?

Tendrían que generar nuevas claves y enviar el Bitcoin a la multisig dirección que usa las teclas de nuevo. Si Alguien tiene/tuvo acceso a una cartera, ella podría grabar cualquier y todas las claves de esa cartera. Por lo tanto todas las claves de que la cartera debe ser considerado en peligro y nunca utilizado de nuevo. Cualquier Bitcoin asociados con esas claves debe ser trasladado a un recién generado la cartera con la que no está comprometida.

2) Si BitCorp utiliza 2,2 en lugar de 2-3 cartera, ¿qué pasos se pueden tomar 'por adelantado', por lo que se puede recuperar, incluso en el caso de que uno de sus servidores llegar divide en(y Mallory no sólo de aprendizaje, sino también, potencialmente, 'eliminar' el material clave en ese servidor)?

Se puede crear pre-firmado timelocked transacciones que enviar las monedas a otra dirección de control donde los claves privadas se almacenan en servidores independientes. En el caso de que Mallory compromisos y elimina la clave privada de una clave en el 2-de-2, que la transacción pueda ser emitido después de que el temporizador y las monedas mudado a una nueva dirección, donde las claves privadas de existir.

+779
RadiokefiR 29 ene. 2019 13:48:05

Nuevo en bitcoins es posible el envío de las transacciones en la red, sin tener un nodo local instalado y cómo estoy codificación en c#

+772
user6657 23 jun. 2013 3:41:40

El scriptPubKey para cbebc4da731e8995fe97f6fadcd731b36ad40e5ecb31e38e904f6e5982fa09f7 es:

0x2102085c6600657566acc2d6382a47bc3f324008d2aa10940dd7705a48aa2a5a5e33ac7c2103f5d0fb955f95dd6be6115ce85661db412ec6a08abcbfce7da0ba8297c6cc0ec4ac7c5379a820d68df9e32a147cffa36193c6f7c43a1c8c69cda530e1c6db354bfabdcfefaf3c875379a820f531f3041d3136701ea09067c53e7159c8f9b2746a56c3d82966c54bbc553226879a5479827701200122a59a5379827701200122a59a6353798277537982778779679a68

Mientras que el punto fuera:

01000000023bec4b2a0193b3cb63cc3a263654f29606d032bf62dfd8f8579aca2f6a2b82a8000000004948304502210091abb9de9d785cc8b0129377d148d6458d283fb732785513f8217ae098f6a95702205de7fb76b028a3a2e6e8aea4b34a2309138013f696df1c26f3000df63ab0c72e01ffffffff2e0ac83f7b3674664811dbbb244ef05cf887049411f5c1dc6b4b53ea7dfec743000000006a483045022100fc458d74fd6c75e64a26d790f40135c2c28d0ad229c56c98891e94cdb1d5309902205d9d035f01d730b64ab3436319e7f1d989f52aa09295b32a650627e392819da001201b1b01dc829177da4a14551d2fc96a9db00c6501edfa12f22cd9cefd335c227fffffffff01d09c790000000000b52102085c6600657566acc2d6382a47bc3f324008d2aa10940dd7705a48aa2a5a5e33ac7c2103f5d0fb955f95dd6be6115ce85661db412ec6a08abcbfce7da0ba8297c6cc0ec4ac7c5379a820d68df9e32a147cffa36193c6f7c43a1c8c69cda530e1c6db354bfabdcfefaf3c875379a820f531f3041d3136701ea09067c53e7159c8f9b2746a56c3d82966c54bbc553226879a5479827701200122a59a5379827701200122a59a6353798277537982778779679a6800000000

La prueba de vector de gasto, cc60b1f899ec0a69b7c3f25ddf32c4524096a9c5b01cbd84c6d0312a0c478984, es:

0100000001f709fa82596e4f908ee331cb5e0ed46ab331d7dcfaf697fe95891e73dac4ebcb000000008c20ca42095840735e89283fec298e62ac2ddea9b5f34a8cbb7097ad965b87568100201b1b01dc829177da4a14551d2fc96a9db00c6501edfa12f22cd9cefd335c227f483045022100a9df60536df5733dd0de6bc921fab0b3eee6426501b43a228afa2c90072eb5ca02201c78b74266fac7d1db5deff080d8a403743203f109fbcabf6d5a760bf87386d20100ffffffff01c075790000000000232103611f9a45c18f28f06f19076ad571c344c82ce8fcfe34464cf8085217a2d294a6ac00000000

Los comentarios adjuntos decir cc60b1f8...d0312a0c478984, que es una forma bastante extraña de transacciones que se basa en OP_CHECKSIG devuelve 0 cuando la comprobación de un completamente inválida sig de longitud 0

¿Qué diablos está pasando aquí?

+759
Dominik Schreiber 21 feb. 2015 7:35:23

La clave privada fue originalmente utilizado para generar la dirección. Así, usted tiene que obtener la clave privada de la persona que genera la dirección. Si usted genera, entonces esperemos que se almacena en el software que utiliza.

Si usted acaba de encontrar una dirección, o que alguien se la dio a usted, entonces usted no puede obtener la clave privada y no se puede utilizar las monedas.

+718
user2374821 18 mar. 2016 13:04:24

Hay proyectos en curso, tratando de desarrollar un amplio acceso a WebCL-powered software de minería de datos? He oído hablar de los dos en el pasado, pero sus sitios web no parecen estar funcionando bien.

+671
ultimatetruth 1 mar. 2012 15:14:18

Con la mayoría de los proveedores, una dirección que debe seguir siendo válida indefinidamente. Esto sería cierto si usted utiliza su propio software de cartera, en lugar de depender de un proveedor en línea. Si usted le da a su empleador una dirección, se puede hacer transacciones a que dirección tantas veces como se quiera, y usted va a recibir esas monedas.

Generalmente se recomienda el uso de fresco direcciones para cada transacción, porque es mejor para la privacidad, y hace que sea más difícil para otras personas, para el seguimiento de su actividad. Pero no es requerido por el protocolo Bitcoin.

Si su empleador (o su procesador de pago) insiste en un fresco de la dirección para cada uno de los pagos, que es su decisión, no un requisito técnico de Bitcoin en sí; tendrías que llevarla con ellos.

+556
jkriddle 9 nov. 2012 4:17:11

Quiero descargar blk.dat de un número de bloque específico, ¿Cómo puedo hacer esto ?

Nota: sólo estoy interesado en determinados bloques, solo quiero descargar bloques, por ejemplo, que se numeran entre 100 y 200,etc...

+454
PotatoEngineer 22 sept. 2013 11:14:55

El bumpfee RPC comando recibe un "totalFee" argumento. Cuando pasa, este es el total de la tasa que se utilizará para la colocación de transacción.

+452
Xaser 21 ago. 2016 4:14:25

Como MCCCS comentó:

Firmwares puede ser descargado desde Bitmain pero Bitmain es lo suficientemente inteligente como para no subir S9i del firmware. Tendrás que volcar un amigo S9i del firmware por ti mismo.


Comentario convertido a la Wiki de la Comunidad de respuesta en el intento de eliminar este Q de la lista de preguntas sin respuesta

+405
monya 21 mar. 2019 21:53:11

Estoy haciendo un proyecto de tesis en la modelización de la blockchain de Bitcoin datos, pero cajero automático estoy teniendo problemas para la obtención de datos de la blockchain de Bitcoin en un formato que es fácil de tratar, por ejemplo, en Python.

Tengo todos los datos de Bitcoin Core, ¿sabes una manera de agregar los datos, en un formato que podría dar una idea sobre el balance de los usuarios o algo así?

Si alguna vez has hecho un proyecto similar, estoy muy interesado en lo que usted ha hecho en las fases preliminares! Gracias.

+326
Bipan Ghai 1 abr. 2016 6:12:34

Estoy buscando en la Ondulación general API, y se ve a tomar un enfoque diferente al de Bitcoin como para el manejo de la clave privada. En Bitcoin, uno necesita usar un monedero y a menudo una contraseña para que monedero para crear transacciones. En Onda, parece que las transacciones que requieren de una clave privada del necesario para que se pasa como parámetro en un JSON de la llamada (por ejemplo, la señal de mensaje). ¿Significa esto que sacudió no almacena ningún tipo de información acerca de un usuario determinado o de una empresa que lo aloja y se conecta a él? Yo veo una cartera.archivo de base de datos en la carpeta de base de datos, pero no estoy seguro de lo que se utiliza para.

+273
lesicus007 26 mar. 2017 6:04:15

Hace un par de días, tengo un BITCOIN tráfico que contiene algunos tx mensaje. algunos de tx mensajes que contienen datos de testigo. Quiero producir todos los resultados de direcciones de transacción de secuencias de comandos de salida. He extraído algunos de ellos, pero en algunos casos, la potencia generada de direcciones sin embargo parece ser válida, pero no puedo hacer un seguimiento de ellas en algunos sitios como

https://www.blockchain.com

como ejemplo, en el tx de salida de secuencia de comandos que se muestra a continuación, cómo puedo extraer la Verdadera dirección?

00142f82e61a98eb7027672760c691784d5fbccf7ce3

parece una secuencia de comandos que ha op_code = 0x00 y empuje longitud de datos = 0 x 14.

+241
Amio 5 ene. 2013 19:17:36

Usted tendrá que reconstruir OpenSSL, ya que la acumulación enviado por Fedora/Red Hat no incluye soporte para la criptografía de curva elíptica, en la que Bitcoin se basa. Así que usted tiene que construir su propio.

Una vez hecho esto, usted puede conseguir con la creación de Bitcoin normalmente, siempre que se seleccione en su privados construir de OpenSSL con -rpath.

O, simplemente, puede saltar todo el trabajo y usar mi repositorio Yum. Esto también le da compatible con los estándares de caminos, así como SELinux habilitado bitcoind. Leer las RPM especificaciones de los archivos si usted está realmente interesado en el proceso de construcción.

+218
Kamen Minkov 6 may. 2011 7:51:24

Una explicación detallada se puede encontrar en la aplicación del README: https://github.com/bitcoin/bitcoin/blob/6b8a5ab622e5c9386c872036646bf94da983b190/doc/README

En resumen:

  • La frase se convierte en una clave/iv par el uso de EVP, con una dinámica de número de rondas
  • Esta clave/iv par se utiliza para cifrar un generada aleatoriamente clave maestra, mediante AES-256-CBC
  • El secreto de parte de la cartera claves se cifra con la que la clave maestra, de nuevo con AES-256-CBC
+205
Zeke Hansell 21 nov. 2014 20:36:36

Yo no sé acerca de cómo las especificaciones de la ATM o los Coinomi cartera, pero es absolutamente posible en Bitcoin para enviar monedas a una clave pública, en lugar de una dirección. Esto es un poco menos seguro que el envío de un nunca antes usados dirección (porque expone a la clave pública), pero aún así es perfectamente bien que hacer. Si eso es lo que sucedió, entonces sí que será posible gastar los bitcoins, mientras que su amigo tiene la clave privada.

Para obtener un poco más de técnica, una dirección Bitcoin de partida con un 1 es un hash de la clave pública. Cuando van a gastar bitcoin que ha sido enviado a su dirección, debe proporcionar:

  • Una firma (generada con la clave privada), lo que demuestra usted el propietario de la clave pública
  • La clave pública del mismo, comprobando que coincide con la dirección

Cuando el dinero ha sido enviado a su clave pública, usted no necesita otra vez proporcionar la clave pública a gastar ese dinero; sólo se necesita la firma. Así como usted tiene la clave privada, es posible generar la firma que usted necesita para pasar el dinero enviado a la clave pública.

+182
Lucas Murtada 23 jun. 2014 3:48:18

El inventario mensaje sólo contiene la transacción hash o hash del bloque y una enumeración que especifica el tipo de un determinado hash es. En el papel, cuando se habla de direcciones, se refieren a direcciones IP. Lo que se describe aquí es que el atacante toma nota de que el primer par de direcciones IP (en este caso, 10) que envió el inventario de mensajes para una transacción de hash.


Editar para responder a su seguimiento:

  1. Paso: Este se ejecuta en paralelo al Paso 1-3. En este paso estoy escuchando todo el INVENTARIO deMensajes. Por lo que dijo el INVENTARIO-el Mensaje contiene el hash de la transacción y una enumeración. ¿Cómo va a ser una de INVENTARIO-Mensaje generado? Será este mensaje generado por cada transacción y distribuido por difusión a todos los conocidos en el nodo de la red bitcoin? Que crea este INVENTARIO-Mensaje?

El inventario de mensaje es un mensaje enviado a una nodos compañeros. No se reenvían a otros nodos, ya que no es un mensaje de transacción y bloquear los mensajes.

Si usted (como un nodo) recibir un inventario mensaje de mí (como un nodo), que significa que voy a anunciar a usted que tengo una transacción o de un bloque que podría estar interesado en. Si desea que la transacción o de bloque, va a responder con un getdata mensaje y voy a responder a eso con la transacción o el bloque en sí.

Hice entender correctamente los tres primeros pasos?

Sí, creo que hiciste.

+182
Murka2049 30 mar. 2017 8:32:55

He descargado de la moneda Minero de Cointellect.com en mi PC y empecé de minería de datos. Tengo algunas preguntas:

  1. Es el software de una estafa?
  2. Alguien ha ganado dinero real de este software?

Cuando leo los foros, algunas personas hablan de la estafa y el virus troyano instalado en sus máquinas; otros, el dinero ganado.

+78
Bettina 10 ago. 2012 6:36:35

El uso de Electrum tiene algunas ventajas y desventajas sobre Bitcoin Core. Electrum es un poco más ricos de la característica de Bitcoin Core. Es compatible con el hardware de carteras, 2 Factor de Autenticación con terceros servicio de pago, (mejor) multisig, y mnemotécnica frases. Probablemente hay algunas otras cosas que he olvidado. Sin embargo Electrum viene en el riesgo de disminución de la privacidad y la seguridad. Estás enviando todos tus datos una Electrum servidor. Que el servidor conoce todas sus direcciones y sus transacciones. Que servidor también puede retener la información de la transacción o rechazar la retransmisión de las transacciones que realice. Electrum servidores también puede actualmente empuje malicioso de mensajes de phishing para su Electrum cartera. Que el problema está en proceso de ser fijo (se requiere un cambio de protocolo).

Si usted utiliza su propio servidor, hay un montón de beneficios. Si se confía en que el software de servidor no es malicioso, entonces usted no tiene los inconvenientes mencionados anteriormente. Sus transacciones serán privadas y el servidor no será la retención o de la negativa a la retransmisión de las transacciones ya que el control de la misma. Ya que es tu propio servidor, usted puede tener Electrum instalado en varios dispositivos señaló que servidor también. Sin embargo, el funcionamiento de su propio servidor tiene un costo. Se requiere una totalmente sincronizado bitcoind con la transacción índice habilitado. El electrum servidor también mantener sus propios índices. En general, el programa de instalación puede utilizar más de 250 GB de espacio en disco, posiblemente incluso de 300 GB. También toma mucho tiempo para que se sincronice y crear todas las bases de datos necesarias. La ejecución de un electrum servidor también utiliza una gran cantidad de CPU y RAM, especialmente durante la configuración inicial.

Si teniendo el blockchain con bases de datos adicionales es demasiado, usted puede en lugar de utilizar Electrum Servidor Personal. Esto es como el funcionamiento de su propio completo de Electrum servidor, pero sólo para las direcciones y las transacciones. Se puede ejecutar sin transacción índice y se corrió con un podados bitcoind así que usted no necesita para almacenar toda la blockchain. Con algún manual de configuración, también puede utilizar Electrum Servidor Personal con Electrum carteras en múltiples dispositivos.

+44
Armelias 26 jun. 2011 6:10:57

Firma de transacciones en bitcoin se basa en la adición de curvas elípticas, relativamente fácil de realizar, como la exponenciación modular (como en RSA), pero es difícil invertir con un clásico de la computadora. En ambos casos, es esencialmente el mismo algoritmo cuántico (el algoritmo de Shor) puede ser utilizado para invertir esta operación en un ordenador cuántico en el polinomio tiempo con suficiente probabilidad de ser práctico. Esto es lo que UTF-8 ya se escribió.

La prueba de trabajo algoritmo consiste en calcular un hash criptográfico. Esta operación está diseñada de tal manera que calcular el hash de una cadena es fácil, pero encontrar una asignación de una cadena a un hash es duro. Un buen algoritmo de hash evita cualquier tipo de (aprovechables) de la estructura en la definición. Donde en el caso de RSA y la criptografía de curva elíptica es conocido cómo la estructura de la operación puede ser explotado por un ordenador cuántico, para SHA256 este no es el caso.

Para un estructurado de búsqueda (es decir, uno en el que usted sólo tiene que mirar caso por caso) computadora cuántica todavía enormemente superar a clásicos equipos (utilizando el algoritmo de Grover), pero ahora el speedup es sólo cuadrática, no exponencial. Eso significa que usted puede encontrar un hash, que se inicia con 2n ceros en el mismo número de operaciones que le permita encontrar una partida con n ceros en un clásico de la computadora (con alta probabilidad). Esto se solucionaría sólo el ajuste de la dificultad.

+10
charany1 2 jun. 2014 0:44:46

Mostrar preguntas con etiqueta