Es la publicación de un índice utilizado para la generación de BIP32 direcciones insegura?

Estoy escribiendo un sistema de comercio electrónico que utiliza BIP32 para generar direcciones. Yo estaba pensando en usar el número de pedido (que se muestra al usuario) como el índice para la generación de la dirección a pagar.

Iba a hacer esto ayude a alguien tratando de robar mi dinero, o ayudar a alguien, tratando de vincular mis direcciones juntos?

+35
axl411 30 sept. 2016 13:21:14
21 respuestas

Bueno, si usted está preocupado acerca de un hombre en medio de los ataques, significa que hay alguien que puede capturar la comunicación entre dos personas y cambiar sobre la marcha. Si la amenaza es constante, realmente no se puede hacer mucho. Sin embargo, en general, un atacante no consigue el acceso a todos sus canales de comunicación. Usted podría, por ejemplo, poner tu dirección Bitcoin en algún sitio seguro, incrustarlo en una firma de foro, o al menos proporcionar a sus clientes con su clave pública PGP para evitar cualquier templado con tus mensajes.

Generalmente el ataque no es Bitcoin-específicos. Es sólo una cuestión de conseguir cualquiera de los datos de forma segura entre dos partes. Se vuelve más y más complicada, basado en las restricciones que se están aplicando - si el atacante puede modificar ambos lados de la comunicación, hay algún canal seguro, algún secreto compartido entre las partes o que no saben nada acerca de uno al otro?

Por lo general, de seguridad de su equipo, seguro de la forma de comunicarse con su cliente, y este se encargará de la mayoría de los ataques. Si su ordenador no es lo suficientemente seguro, tus Bitcoins se pueden perder de todos modos...

+989
parcelbeat7 03 февр. '09 в 4:24

La razón por la que no están recibiendo cualquier Bitcoins es más probable debido a 3 factores.

  1. Fue una racha de unluckiness
  2. La dificultad se ha ajustado y dado un gran salto hacia arriba.
  3. Usted está mal conectado a la red.

Unluckiness

Esto puede ser porque de general unluckiness, porque la minería no es 100% garantizado. Es como jugar a la lotería, asegúrese de que usted puede comprar todos los boletos, pero nunca plenamente compra. Su oportunidad por bloque recompensa es determinado por esta simple operación matemática, su-hashrate de la red / -hashrate.

Cambio de dificultad

También puede ser debido a la dificultad para saltar, Bitcoin ajusta la dificultad cada 2016 bloques. En el momento de la escritura, bitcoinclock.com está mostrando que la última dificultad del cambio fue 1787 cuadras atrás. La dificultad de los cambios de intentar mantener un 2 semanas de intervalo de tiempo para el último cambio fue tal vez alrededor de una semana y media atrás. No puede ser que la dificultad agorero en ustedes si lo que usted dijo ocurrido recientemente.

Considerando cambiar a una piscina, es su elección, pero tenemos una buena cantidad de hash de energía que puede ser en realidad mucho más rentable para usted solo la mía. En las piscinas de ser golpeado con tasas y otros drama. La suerte es un factor importante en la minería, pero durante un largo período de tiempo (tal vez un mes para usted), la cantidad de beneficio que usted hace incluso fuera probabilísticamente, y deben esperar beneficios similares de las piscinas.

Mala conexión

Esta es una de las más ocultos problema que puede ocurrir raramente. Puede que simplemente no se conectan a una cantidad suficiente de nodos. Su propagación sufre con baja cantidad de nodos y eso significa que usted tendrá un montón de huérfanos bloques. Por defecto Bitcoin no hace más de 8 conexiones.

+969
user265622 18 mar. 2019 6:08:35

E. g. para propósitos de depuración, para los mineros, para que las partes que trabajan directamente con el protocolo Bitcoin.

"Yo sólo veo bloque X en mi local bitcoind, pero la última en blockchain.info es Y".

Los desarrolladores de aplicaciones están menos interesados acerca de los bloques.

+959
aisidi 15 dic. 2015 13:18:18

La génesis de bloque aún debe cumplir con la prueba de los requisitos de trabajo que el resto de los bloques también debe cumplir. Así que usted debe en realidad la mía la génesis de bloque. Para hacer esto, usted necesita para poner CreateGenesisBlock en un mientras que el bucle y continúa incrementando el nonce, y si es necesario, incrementar un extranonce en el coinbase transacción.

Para comprobar que se tiene una prueba válida de su trabajo, el uso de la CheckProofOfWork() función (grep para él y usted puede averiguar qué argumentos que toma).

+864
RMicklos 26 nov. 2013 6:30:32

Primas las transacciones bitcoin son las transacciones que se han serializado para la transmisión de la red. Utilice esta etiqueta para preguntas relativas a cómo serializar, deserializar, o manipular raw datos de la transacción.

Raw transacciones también se utilizan como parte de Bitcoin Core de la interfaz RPC a través de la utilización de los siguientes RPC comandos: createrawtransaction, decoderawtransaction, getrawtransaction, sendrawtransaction, y fundrawtransaction.

Normalmente, hex de formato se utiliza para representar bruto transacciones en el RPC órdenes, preguntas y respuestas. El formato raw de las transacciones se pueden encontrar en bitcoin.org

+837
user5411579 25 may. 2012 1:27:10

En general, esto no debería ocurrir. Las situaciones esto puede suceder debe limitarse a:

  1. errores en el software
  2. actos dolosos por el software

para resolver esto, usted tendrá que buscar la transacción en un bloque explorer y documentar toda la información pertinente, incluyendo la altura de bloque, el identificador de transacción, entradas pasado, la dirección de destino, cambiar de dirección y, posiblemente, el minero, que narra el bloque.

armados con esta información usted, a continuación, vuelva a confirmar en que monedero y comprobar de nuevo para las desviaciones, y si es necesario contactar con los desarrolladores de la cartera.

si no pueden ayudar, al menos debe ser capaz de pedir una nueva y más precisa de las preguntas aquí después.

+809
AnAdverb 23 feb. 2017 20:00:19

Blockchain.info es un híbrido bitcoin wallet con javascript del lado cliente de cifrado. Entiendo que la billetera.aes.json donde las claves privadas se almacenan está cifrada (lado del cliente). Pero, ¿cómo puede transacciones sin el lado del servidor conocer la clave privada sin Cifrar?

+798
Peter M Taylor 15 abr. 2014 2:46:31

Una cosa que me estoy preguntando por un largo tiempo y a los que no pude encontrar una respuesta después de hacer una búsqueda en la web y espero encontrar aquí una respuesta.

Cuando construimos la curva elíptica sobre un primer campo de por qué, en realidad, seleccione un subgrupo cíclico en lugar de tomar todo el grupo de la curva elíptica?

En una nota de lado lo que me confunde más acerca de esta elección: sabemos que el subgrupo cíclico de primer orden p es isomorfo a Z/pZ y encontrar el isomorfismo significaría la solución de los discretos de registro.

El cambio a un grupo cíclico parece más bien como hacer el problema más fácil en comparación a quedarse con la totalidad de la curva elíptica.

+773
Sorrel Vesper 3 oct. 2010 20:00:12

Yo accidentalmente prisa cuando la transferencia de algunos fondos de mi cartera antes de haber sido plenamente confirmado, ahora que la transacción ha sido confirmado por bastante tiempo y me preguntaba cuánto tiempo podría tomar para el proceso?

¿Hay alguna forma de cancelar la transacción anterior y ejecutar otro ahora los fondos se confirmó?

La transacción tiene la siguiente identificación: aa7bd2ad6657dad1c2152edf6d7fdfd59cbc4e4385a792f741b50b32bcf68be1

Gracias por la ayuda.

+754
Hseeker 13 feb. 2010 18:02:39

Usted puede utilizar el open source Procesador de Pagos Bitcoin Libriary -

https://github.com/cryptoapi/Payment-Gateway

+717
Clay Herondale 11 mar. 2011 1:41:08

Son lo suficientemente cómodo para el mundo real algunas transacciones? Como un fácil de custodia que las dos partes puede ceder a un tercero para terminar una transacción?

+698
Rafael Moreira 23 nov. 2014 1:10:01

Me envió los fondos, pero no tengo suficiente espacio en mi computadora para actualizar el bitcoin core y por lo tanto los fondos no vienen ¿hay alguna forma de cancelar la transacción. El sitio web tengo los fondos de dijo que no cancelar lo puedo cancelar.

+691
Unicornist 8 jul. 2011 1:38:52

Esto es lo que yo hago:

  1. Conectarse a pares
  2. Conjunto de bloom filter
  3. Enviar " getblocks mensaje
  4. Enviar "getdata" mensaje con MSG_FILTERED_BLOCK conjunto para todos los nuevos bloques

Tenga en cuenta que 'getblocks' devuelve una lista de bloques de la cadena de hash de la especificada punto de partida, no de los propios bloques. Luego de "getdata" retornos "merkleblock' en lugar de mensajes de bloques completos. Los pares sigue la "merkleblock' mensaje con todas las transacciones que coincide con la floración de filtro como independiente 'tx' mensajes.

Más detalles se encuentran en la BIP0037

Si quieres un ejemplo, mi Java cartera se puede encontrar en GitHub

+599
mariya2408 13 nov. 2010 18:46:44

Como mucho es que tengo experiencias y pruebas en muchas piscinas es mejor que el mío en avreage tamaño de las piscinas. Usted obtiene la mayor parte de ella. Porque si la piscina es grande que usted consigue muchos de los bloques, pero usted consigue real pequeño pago. Si la piscina es demasiado pequeña espere blosk y pago demasiado tiempo. Pero si la piscina es de alguna manera un promedio de usted todavía consigue bloques lo suficientemente a menudo y el pago es un poco más alto.

+552
Alexei Martianov 1 ene. 2019 21:00:20

Estoy tratando de construir un trabajo de retirada del sistema, donde los usuarios pueden retirar fondos en BTC. Yo soy requerido para la estimación de la cuota antes de que les permitía retirarse a incluirlo en su pago. Yo era capaz de determinar el número máximo estimado de la tarifa basada en las entradas y salidas de la transacción. Yo había asumido que las transacciones tienen 1 entrada y 2 salidas como cuando yo era una prueba de que era el resultado. Ahora estoy viendo las transacciones con múltiples entradas y salidas de hacer la transacción de tamaño más grande, por lo tanto, el aumento de la cuota. Esto es un problema para mí, ya que me estoy teniendo que pagar estas tasas. Necesito ser capaz de determinar las entradas y salidas de la transacción antes de enviar a la blockchain.

+471
13 12 sept. 2012 11:24:37

Una transacción de salida puede tener el tipo de

  • Pago de clave pública de hash, P2PKH, donde el ScriptPubKey campo tiene el formato:

    76 a9 14 <20 bytes hash de la clave pública> 88 ca

  • Pagar a la secuencia de comandos de hash, P2SH, utilizado para, por ejemplo, multisig:

    a9 14 <20 bytes hash de script> 87

También existe algo llamado P2WPKH y P2WSH. ¿Me puede mostrar cómo estas salidas son de formato, y hay más posibles formatos de salida de estos cuatro?

+407
DrunkVoron 16 oct. 2017 14:01:37

Bitcoin Core tiene tres tipos de transacción categorías: enviar, recibir, y mover.

Que la diferencia entre estos de la siguiente manera:

  1. mover - Este tx no es un onchain uno, y no tiene el id de la transacción. Es simplemente moviendo BTC de una cuenta de cartera a otra (cuentas no son direcciones, pero las agrupaciones de direcciones). Esto se hace usando el mover llamada RPC

  2. enviar - enviar Un tx es una donde un utxo desde su cartera se utiliza como la entrada a una transacción. Esto suele tener un coste, puesto que la cuota se deducirá de la suma total de la utxos.

  3. recibir - A recibir tx es uno donde un nuevo utxo disponibles (o visto) por su cartera es creado. Estos no tienen una tarifa como usted no tiene que pagar nada para recibir Bitcoin.

Usted puede ver el ListTransaction código aquí.

+342
RokX 7 mar. 2012 13:35:21

Tengo una idea en la que estoy trabajando por algún tiempo, sería el uso de la tecnología blockchain. Sin embargo, a pesar de que sé algo acerca de blockchain como se encuentra hoy, me falta un más profundo conocimiento acerca de primitivas criptográficas. Así que, porque no podía encontrar una respuesta definitiva en cualquier lugar, pensé que voy a tratar aquí. Como soy completamente nuevo en este foro, por favor, me informen si mis preguntas deben ser publicados en otro categoría.

Así que aquí están las preguntas:

Vamos a suponer que en un peer-to-peer de la red hay un gran volumen de información que va de un nodo a otro, sin embargo, la mayoría de esta información es privada. Así, un nodo: 1) las señales de su mensaje (para autenticar la fuente) 2) a continuación, se cifra utilizando la criptografía simétrica 3) se cifra la clave simétrica (que se utiliza para descifrar el mensaje utilizando la clave pública del destinatario 4) y, a continuación, en la parte superior de que los signos utilizando su clave tanto en el mensaje cifrado y la clave simétrica

Así que, finalmente, tenemos 2 cosas: 1) Mensaje -> Firmado con su clave privada -> Cifrado utilizando la criptografía simétrica -> Finalmente firmado de nuevo (los nodos de la red se lo hará saber a partir de qué nodo está viniendo) 2) clave Simétrica que se utiliza para descifrar el mensaje -> cifrado usando criptografía asimétrica por la intención de clave pública del destinatario -> y finalmente firmado por el remitente de la clave, por lo que los nodos se conoce el origen del mensaje.

Las ventajas de esto es que podemos enviar información a través de la red, ningún nodo de retransmisión de esta información se conoce el contenido de la misma, y aún cada nodo será capaz de confirmar la identidad del remitente y del destinatario será capaz de finalmente descifrar el mensaje y también confirmar el origen de este mensaje (como es firmado) aún en el formulario descifrado.

1) ¿hay alguna técnica razones por las que algo como esto no funciona? 2) ¿Podría un camino privado enviar mensajes a ser utilizado en una red grande (tamaño de bitcoin, por ejemplo), donde cada nodo de "piscinas" de los mensajes y los envía a sus compañeros? Los problemas que veo es el tamaño de los mensajes (que crece más y más, mediante la firma y el cifrado como el). 3) estoy seguro de eso, pero quiero preguntar de todos modos - podría nodo comparar dos mensajes que recibía, incluso si son diferentes, y encontrar cada dos o más mensajes que fueron firmados por la misma clave pública (de la misma fuente)?

Por supuesto, hay un problema que como nodos de un "pool" de los mensajes, no sé si el mensaje se entregó o no. Pero eso no es parte de esta pregunta.

Si hay algún experto que tiene tiempo para responder a las preguntas básicas en este foro, estoy profundamente agradecido.

+223
stol 26 nov. 2016 6:49:29

Para las transacciones con uno de entrada es difícil adivinar de qué es el cambio y lo que es el verdadero pago. Sin embargo, debido a que pueden tener las estadísticas de modo que se puede suponer que para un ~4 BTC entrada hay un 70% de probabilidad de que el cambio es el más grande de la producción y el dinero que se gasta el más pequeño al tanto de la producción como son las direcciones de nuevo.

Ahora, si usted tiene una transacción con varias entradas (Como ou ya he explicado en la pregunta) es mucho más fácil de adivinar. Si usted tiene :

Como entrada
1Pi87D6NUPB5BxcuowYN4Lj3WLCSFGsuln (0.24379822 BTC)
1PgBMDggd7GGCifDd1881vdvNe8pkn5Bwk (0.08787591 BTC)

Y como de salida
1B6tvnE3oP3mwoA4RMrYXWVup4Z73G6bdw - 0.05377413 BTC
1DswmdznL6exZzN6akJpsPUc4ZWRZo9Jqc - 0.2778 BTC

En este caso, usted puede estar bastante seguro de que el pasado dirección es '1DswmdznL6exZzN6akJpsPUc4ZWRZo9Jqc - 0.2778 BTC' y el cambio '1B6tvnE3oP3mwoA4RMrYXWVup4Z73G6bdw - 0.05377413 BTC'.

Porque de lo contrario no sería sólo una entrada.

+217
Jason Kimber 9 abr. 2013 3:59:31

Tal vez mi pregunta es estúpida, pero, ¿por qué usted necesita para revivir cada bloque después de un bloque modificado al cambiar los datos en una blockchain?

Cada bloque contiene un hash de sus datos y el hash del bloque anterior. Si puedo cambiar los datos en el bloque № 9000, a continuación, bloquear № 9001 se refieren a un inexistente bloque. La Cadena se romperá. Cada artículo que he leído dice algo así como:

Para realizar este trabajo, es necesario volver a generar y refrito de cada bloque tras el manipulado de bloque, en sustitución de los contenidos de la anterior-bloque-hash punteros.

Pero, si el bloque contiene sólo hash del bloque anterior, ¿por qué no puedo cambiar el anterior, el hash del bloque de valor en el bloque № 9001 si puedo cambiar los datos en el bloque № 9000? No se que restaurar la cadena?

+102
cadl 8 may. 2016 2:54:17

¿De qué manera puede un comerciante de crear una dirección de pago que va a ganar reputación de confianza (esta dirección, o alguna información de conexión con la solicitud de pago va a ganar reputación a lo largo del tiempo y que será conocido como conectado a la comerciante), pero todavía mantienen la privacidad de los clientes el envío de bitcoin como si actuara como una nueva dirección de cada solicitud de pago ?

Podría lograrse con la HD cartera mecanismo y cómo ?

Podría ser alcanzados ?

+43
bradleyduncan 16 mar. 2010 2:10:59

Mostrar preguntas con etiqueta