Puedo probar un doble intento de pasar con una firma de tx con la misma entrada?

Estoy diseñando una cruz de la cadena atómica de intercambio en una costumbre blockchain - Protoblock. Creo que se puede hacer tan largo como Protoblock sabe cómo analizar p2pkh las transacciones de bitcoin. La parte crítica es la de ser capaz de "revertir" las cosas cuando ve a una doble pasar.

  • Alice tiene 1 Bitcoin
  • Bob tiene 100 Fantasybit
  • Alice se swap 1 BTC por Bobs 100 FB

Paso 1) Bob signos de una Protoblock "Swap" de la transacción(TX1a) que contiene un unsigned bitcoin transacción(TX1b) que debe tener 1. un ScriptSig de entrada con p2pkh de Alice(bitcoin-dirección) y 2. un p2pkh salida a Bob(bitcoin-dirección)

Paso 2) 100 FB de Bobs es bloqueado durante 24 horas o hasta que...

Paso 3) una Protoblock transacción(TX2a), se considera que contiene la firma de TX1b y TXID(TX1a)

Paso4) 100 FB es transferido a Alice y se bloquea durante 24 horas o hasta...

5) una Protoblock transacción(TX3a) se ve que contiene un firmada bitcoin transacción(TX2b) que tiene 1. el mismo ScriptSig entrada(s) con p2pkh de Alice(bitcoin-dirección) como TX1b y 2. una salida que NO es un p2pkh salida a bob(bitcoin-dirección)

Paso6) 100 FB es enviado de vuelta a Bob, el mismo estado que antes Paso1


La razón de Paso5 es que, la firma de un bitcoin transacción no es suficiente para probar que Bob recibió el bitcoin de Alice, porque Alice sólo podría firmar la transacción, pero no pasar a bitcoin, y sólo el doble de gastarlo.

Sin embargo, Bob va a ver que Alice pasó la entrada y creará TX3a que le da su 100 Fantasybit. De hecho, cualquier persona puede estar viendo bitcoin y crear TX3a como un servicio para Bob.

Pregunta: ¿hay una manera de que Alice puede pasar los mismos insumos de TX1b, que será indetectable con por encima de algo?

Nota: el bitcoin transacción con las salidas para el TX1b entradas, será creado por la cartera de software haciendo atómica de intercambio. Así que Alice, tendrán que enviar su 1 Bitcoin a sí misma para asegurarse de que su simple p2pkh. Aquí está el Protoblock código que crea el p2pkh salidas y bitcoin tx:

https://github.com/SatoshiFantasy/--skillSale/blob/4e59f50b7555527046804418d6483b0df1933637/share/fantasybit-core/FantasyAgent.cpp#L444

https://github.com/SatoshiFantasy/--skillSale/blob/4e59f50b7555527046804418d6483b0df1933637/share/fantasybit-core/FantasyAgent.cpp#L525

+305
littlegirl queen 18 feb. 2010 7:01:44
20 respuestas

Hay muchos inversores de este proyecto.

Los INVERSORES

Lemniscap Inversionista de la Viga Mimblewimble

Nodo de Capital de los inversores en la VIGA Mimblewimble

yeomans Inversionista de capital de la Viga Mimblewimble

PROTOS gestión de los activos de los Inversores de la Viga Mimblewimble

youbi Inversionista de capital de la Viga Mimblewimble

Alternity es el inversor en la VIGA Mimblewimble

1KX Inversionista de la Viga Mimblewimble

Continuar Inversionista de Capital de la Viga Mimblewimble

Mek Grupo inversor en el HAZ de Mimblewimble

Ceyuan Empresas Inversionista de la Viga Mimblewimble

hexa laboratorios Inversionista de la Viga Mimblewimble

Colisionador De Empresas

ESDRAS

+990
amenda 03 февр. '09 в 4:24

He Litecoin, Bitcoin, Etereum y NEM. En los últimos tiempos, me he convertido en una suerte muy chico de verdad!

Yo suelo descargar e instalar el "oficial" de las carteras que descargar toda la blockchain pero esto se está poniendo imposible, especialmente para Etereum Niebla billetera en la que apenas juega todo el tiempo que me provoca a borrar datos de la cadena y la fuerza de un así llamado "fast sync".

Si usted estuviera en mi posición, teniendo esta muy gran cantidad de monedas, ¿cómo usted va sobre almacenamiento/protección? Para cada una de las carteras que tendría que utilizar y cómo dividir las cosas para no poner todo en una canasta?

Muchas gracias

+949
Jesus Flores 6 ene. 2014 11:38:47

La transacción puede ser rastreado en https://blockchain.info/tx/47068b561814a19a9613946185d527c7ba6eb3b6ed0cf17554fc80c27d7f0d4e?show_adv=false.

Aunque la transacción ya se ha confirmado muchas veces el saldo de la cuenta de destino 1AQ27x3NQDpj5AGjGAKkvrcJW4RWvmhstx todavía muestra 0.

El Coinbase de la cuenta de origen https://blockchain.info/address/127SXekKqYsY6EbASqkvSZ4ZfF31qGKG93 se muestra "No hay transacciones encontrado para esta dirección, que probablemente no ha sido utilizado en la red todavía."

Es que el fantasma de la transacción?

+905
BigPoppa Smoke 11 sept. 2015 7:07:20

Desde mi experiencia, el proceso de sincronización de la blockchain es la CPU, no IO obligado (Usted puede verificar esto en Linux mediante la ejecución de la parte superior de comando). bitcoinj tiene dos formas de verificación de firmas, ya sea utilizando código nativo basado en la secp256k1 de la biblioteca, o utilizando código java basado en la spongycastle de la biblioteca. Su último mensaje de error indica que no están utilizando secp256k1 que es más probable una fuente de degradación del rendimiento y la causa de un lento proceso de sincronización.

Con el fin de java para utilizar la secp256k1 biblioteca, debe establecer la variable de entorno LD_LIBRARY_PATH a una ruta donde el archivo libsecp256k1.así se encuentra (estoy en Debian, este archivo puede tener diferentes nombres en diferentes sistemas). Por ejemplo, puedes usar el comando:

$ env LD_LIBRARY_PATH=<ruta a directorio-> java -cp <classpath> MyJavaClass

Sin embargo, incluso si le sucede que ya tiene la biblioteca libsecp256k1.así en el sistema (porque has instalado alguna otra pieza de software que se basa en él), el comando anterior no funcionará a menos que la biblioteca fue construida con el --enable-jni opción para habilitar java para interactuar con él.

Con el fin de construir una habilitado para java libsecp256k1.así, se puede hacer de la siguiente manera:

$ git clone https://github.com/bitcoin-core/secp256k1
$ cd secp256k1
$ ./autogen.sh
$ ./configure --enable-jni \
 --enable-module-ecdh \
--enable-experimental
$ make
$ make check

La biblioteca archivo se encuentra en el .libs directorio. Usted puede decidir para sobrescribir el archivo de sistema existente con esta nueva versión (pero se corre el riesgo de echar a perder algo), o simplemente puede poner este archivo en cualquier lugar que desee (o un enlace simbólico a) y asegúrese de que la variable LD_LIBRARY_PATH variable de entorno está configurado correctamente para el directorio en el que (o un enlace simbólico) está presente.

+880
Anthony Harris 8 dic. 2016 7:48:31
Jerárquica Determinista carteras o HD carteras billeteras que pueden ser compartidos entre diferentes cartera de aplicación, con o sin la capacidad de gastar monedas.
+824
Wolfango 21 ene. 2018 10:46:51

Me pregunto si es posible usar curl para getinfo desde el bitcoin servidor gracias.

<?php
// inicialización de los recursos
$ch = curl_init();

// establecer una única opción...
$username = 'usernamefromconfig';
$pwd = 'passwordfromconfig';

curl_setopt_array(
 $ch, array( 
 CURLOPT_URL => "$nombre de usuario:[email protected]27.0.0.1:8336",
 CURLOPT_RETURNTRANSFER => true
));

$salida = curl_exec($ch);
echo $salida;

// libre
curl_close($ch);
?>
+797
user197720 5 nov. 2012 3:03:22

El scrypt() algoritmo tiene en su núcleo una rutina de llamada ROMmix. Básicamente, se define

 V(1) = hash(mensaje)
 V(2) = hash(hash(mensaje))
 V(3) = hash(hash(hash(mensaje)))
...

y se calcula

V(V(V(V(...(mensaje))))

Desde la computación V(n+1) requiere la computación V(n) en primer lugar, la manera más eficiente de hacer esto es la caché de todos los anteriormente calculados los valores. Una vez que usted ha generado una gran mesa, la V(V(V(...))) es sólo un montón de búsquedas.

Almacenamiento en caché de todos los anteriormente calculados los valores requiere de mucha memoria, y desde cada una búsqueda depende de la anterior es sensible a la latencia de la memoria (aunque si eres de minería de datos puede trabajar en varios bloques en paralelo y canalización de las solicitudes de conseguir alrededor de esto).

Gpu puede realizar mucho más entero de operaciones por segundo que una CPU normal, pero tienen aproximadamente el mismo ancho de banda de memoria/latencia como una CPU. Así, un algoritmo que es la memoria dominado debe "nivelar el campo de juego" entre Cpu y Gpu.

Todavía no entiendo por qué la Tenebrix personas consideran que este es un objetivo importante. Sólo se "iguala" Gpu y Cpu, pero todavía se puede construir hardware personalizado que hace scrypt() mucho más rápido y más barato que una CPU. Así que no sólo va de "las Gpu son los mejores" a "personalizado placas de circuito impreso cubierto en los buses de memoria son los mejores". Nadie ha sido capaz de explicar por qué este cambio vale la pena todos los problemas.

+713
olepr sutah 19 feb. 2018 2:56:59

Es como la oferta y la demanda.

La oferta es limitada, debido a que el tamaño de los bloques (y por lo tanto las transacciones por Segundo) son limitados.

Pero la demanda no está limitado. Esto surgió debido a que el bitcoin se hizo más popular en los últimos meses.

Y cuando la demanda es alta, pero la oferta es baja, el precio sube. En este caso, es el precio por transacción (de pago).

+705
Maria Fernandez 23 abr. 2016 4:38:55

En primer lugar, ¿dónde estas muestras provienen de: cuando el cliente se conecta a los compañeros en la red de intercambios de una versión del mensaje con ellos. Entre otras cosas este mensaje contiene la actual marca de hora UTC en los pares. Su cliente, a continuación, calcula un desfase entre el momento en que sus compañeros y su propio reloj. El tiempo de red es simplemente la marca de hora local + la mediana de todos los desplazamientos de sus compañeros. Así que usted puede ver que tenemos un relativamente simple intento en la sincronización de los relojes de la red, pero dependiendo de la muestra de pares a los que se conectan a ellos todavía pueden variar tremendamente.

Sobre la aplicación de las marcas de tiempo: hay muy pocos lugares de la marca de tiempo aparece en la comunicación entre pares, probablemente el único lugar donde es que realmente sucede es que en el encabezado de bloque. Si un peer recibir un nuevo bloque, mientras que estar sincronizado con la red, y la marca de tiempo difiere en más de 2 horas de su marca de hora local, lo voy a descartar el bloque no válido (fuente). La idea detrás de esta comprobación es que un cliente podría intentar distorsionar la percepción de la dificultad visto por un nodo que se está sincronizando con el resto de la red.

+666
Chen Lim 29 oct. 2017 8:45:05

La cuota básica está contenida en el libro mayor y sólo puede ser cambiado por un pseudo-transacción que se mete en el consenso establecido. Es administrado por el consenso de la misma manera que los niveles de reservas.

+606
user73921 24 mar. 2013 6:42:55

SegWit2X ha sido llamado un miope & graves carencias de la propuesta. Hay casi universal, con preferencia por la alternativa entre los enumerados en la segwit descripción general del soporte (SegWit, BIP 141,148,149).

Sin embargo, SegWit2X tiene el 90% de minería de apoyo.

Es esto debido a que la gran mayoría de Bitcoin mining / hash poder está concentrado en manos de unos pocos? Esto significa que aquellos que controlan la minería alimentación puede obtener lo que desea?

+603
user2495518 7 may. 2011 17:12:30

Este fue un acceso directo a identificar fácilmente todos Mastercoin (ahora Omni) las transacciones. Hemos considerado la eliminación de cuando estábamos preocupados de nuestras transacciones puede ser identificada de ese modo por la censura, pero eso nunca sucedió, afortunadamente. Si la lista de todas las transacciones para 1EXoDus, que lista todas las transacciones en el Omni protocolo.

+597
SerenaT 28 ene. 2017 6:52:58

Para responder a su pregunta, usted necesita para actualizar su pregunta con el id de transacción.

Pero para asegurar que antes de eso, si has copiado y pegado la misma dirección de la blockchain cartera a coinbase retirar, entonces usted no tiene que preocuparse en absoluto.

Tarde o temprano llegará.

A veces se necesita tiempo para llegar confirmado (dependiendo de las cuotas que se le da)

Como para responder, si hay una manera de cancelar el pago, si coinbase todavía tienen que procesar la transacción, entonces sí, usted puede cancelar el pago.

Aparte de eso, BTC Transacciones no pueden ser canceladas a menos que sea un doble gastado o los ha usado casi nada de cuotas.

+563
virsoftech12 28 jun. 2015 1:29:06

El extendido de la clave pública sólo contiene un poco más de información de la clave pública y chaincode, pero la clave pública y chaincode son todo lo que importa para la clave de derivación. El resto es sólo metadatos acerca de las claves para los monederos y las personas.

La versión bytes distinguir entre xpub, xpriv, y otros tipos de claves. La huella identifica los padres a fin de que una cartera se puede saber lo que el padre de esta clave. El niño índice indica una cartera de cómo derivar esta tecla de nuevo de los padres.

Estoy familiarizado con lo que comprende la extendida clave privada.

El extendido de la clave privada es exactamente el mismo que el extendido de clave pública, pero en lugar de 33 bytes de la clave pública de datos, es 33 bytes de la clave privada de datos.

la red tiene un efecto sobre esto así, lo que no tiene sentido para mí, pero claramente (como se muestra arriba) es una parte de esta fórmula.

La red determina la versión de bytes. Estas versión bytes están presentes en todo lo demás en Bitcoin y es sólo para indicar al usuario de red que se utiliza la clave para. Esto es útil en la identificación de si una clave puede estar en peligro (porque, por ejemplo, se ha utilizado para las pruebas de software)

Alguien puede deconstruir una clave extendida desde el principio hasta el final?

Vamos a usar xpub68Gmy5EdvgibQVfPdqkBBCHxA5htiqg55crxyuxoqrkfdbfa1wejwgp6lhhwbzenk1vtsftfuhcdrfp1bgwq9xv5ski8px9rl2dzxvggdnw como nuestro xpub.

Base58 decodificación esto nos da

0488B21E013442193E8000000047FDACBD0F1097043B78C63C20C34EF4ED9A111D980047AD16282C7AE6236141035A784662A4A20A65BF6AAB9AE98A6C068A81C52E4B032C0FB5400C706CFCCC56B8B9C580

0488B21E son la versión bytes como se define por BIP 32.

01 significa que esta clave como en la profundidad de uno

3442193E es la huella digital de la clave primaria

80000000 significa que la clave es el índice de 0h (0-esima endurecido clave)

47FDACBD0F1097043B78C63C20C34EF4ED9A111D980047AD16282C7AE6236141 es el chaincode

035A784662A4A20A65BF6AAB9AE98A6C068A81C52E4B032C0FB5400C706CFCCC56 es la clave pública

B8B9C580 es el base58 de verificación de la codificación de la suma de comprobación.

+399
DSynergy 27 may. 2013 21:12:28

"Como de Bitcoin Core 0.9.3 (octubre de 2014), todas las transacciones en el uso de la versión 1 formato que se describe a continuación. (Nota: las transacciones en el bloque de la cadena se permite a la lista un número de versión superior para permitir suave horquillas, pero son tratados como de la versión 1 de transacciones mediante software actual)." es correcto o es una vieja realidad?

Ambos. Se está hablando sobre el estado de los asuntos en octubre de 2014, que es de edad. Sin embargo, se dice también que la información sobre las fechas de entonces, por lo que es técnicamente correcta.

Desde la activación de la BIP 68 en julio de 2016, las transacciones con la versión 2 son relevantes para las reglas de red, por lo que la información podría claramente ser actualizado.

o aquí (https://bitcoin.org/en/developer-reference#serialized-blockspodemos leer en el primer 2 de la línea que los bloques deben ser serializado en virtud de 1MB de tamaño o menos, pero sé que en la versión actual de los bloques puede ser de hasta 2 mb por lo que no puedo entender cual es la respuesta correcta.

Esa información está claramente obsoleta desde la introducción de Segregadas Testigo (SegWit) en agosto de 2017. El concepto de tamaño de un bloque no es relevante, y se sustituye con el bloque de peso (que cuenta con unos bytes en un bloque más que otros) se limita a 4000000. En teoría esto significa que el total de serializado tamaño de especialmente construida de bloques puede ser de hasta 3.9 MB, pero para los bloques limitado a transacciones comunes está más cerca de 2 MB.

simplemente no puedo entender si bitcoin.org desarrollador de referencia es obsoleto o no.

En algunas partes, otras no lo son. Es un recurso mantenido por una comunidad, así que estoy seguro de que les gustaría ayudar a mantener las cosas hasta la fecha: https://github.com/bitcoin-dot-org/bitcoin.org

+282
MegaManX 9 jul. 2010 1:52:22

Telnet dice "error de Conexión", que significa que los demás no será capaz de conectarse a usted. Su iptables está funcionando como debería.

Usted puede estar equivocado pensar que bitcoin está trabajando sin ACEPTAR la regla porque lo están viendo las conexiones salientes. Probablemente 8.

Su netstat muestra bitcoin está Escuchando, pero si iptables no ACEPTA, entonces nunca va a ver ninguna conexión entrante.

Trate de netstat -na | grep 8333 y verá sólo las conexiones salientes (dirección de origen: usted).

Para hacer su bitcoin nodo accesible para el mundo exterior simplemente agregar una regla para aceptar 8333.

Nota: NO abra 9333 ! Está pensado para el uso local solamente y usted podría perder sus bitcoins si las personas a acceder a ello (de hecho es mejor desactivarlo si no se está utilizando).

+260
Farasat Niazi 3 jul. 2019 10:42:56

Pero el progreso de una blockchain es lo rápido que se llega a un consenso, y esto no parece requerir que todos los nodos para verificar todas las transacciones como la más larga de la cadena puede propagarse a través de la red antes de que todas las transacciones en que es verificada por todos los nodos.

Todos los nodos de haber recibido un bloque no quiere decir que la red ha llegado a un consenso. El consenso se produce cuando todos los nodos de la red están de acuerdo en lo que el blockchain es. Esto sólo puede suceder una vez cada nodo se ha verificado todos los bloques y de sus transacciones. Para la verificación de todos los bloques y transacciones es de hecho un cuello de botella.

+251
ajlane 11 feb. 2011 16:31:07

Si utiliza cualquier HD cartera en su equipo, no hay nadie aparte de usted sabe que estas direcciones pertenecen a la misma persona o siquiera pertenecen a la misma cartera. Espiando a su equipo y el análisis de la blockchain de ser excluidos, por supuesto.

Por lo tanto, estas transacciones pasan a través de como se estaban enviando dinero a alguien.

Si utiliza un servicio en línea, el proveedor de servicio sabe que estas direcciones pertenecen a la misma cuenta. Lo que deben hacer en ese caso es que cualquier servicio de la decisión, pero la mayoría probablemente tratarlo como a cualquier otra transacción. blockchain.info parece no ser la excepción: https://bitcointalk.org/index.php?topic=95809.0

Todos los demás se acaba de ver que el dinero se ha movido desde una dirección a otra.

Esto, por supuesto, no siempre se aplica. Hay intercambios (como bitcoin.de) que permite la transferencia desde el cambio a una dirección elegida por el usuario, pero que no están destinados para pagos normales. No almacenar los fondos en direcciones específicas de un usuario. Cuando los fondos se mueven lejos de la bolsa, las solicitudes de los distintos usuarios, para ello se acumulan durante algún tiempo (que es por eso que se necesita más tiempo para el movimiento de fondos fuera de ese intercambio de lo que sería deseable para los pagos) y luego se procesa en una sola transacción. Tales servicios probable que no la transferencia de dinero a través de la blockchain si efectúa una transferencia desde su cuenta a su cuenta de depósito de la dirección.

+129
j0hnd0e 14 ene. 2014 23:53:21

Los mineros elegir la que las transacciones que incluyan en sus bloques. De modo que no tienen continuamente para incorporar a los recién llegados de las transacciones en los bloques que están tratando. Pueden, si quieren, por ejemplo, para tomar ventaja de la recolección, posiblemente, más los honorarios de la transacción asociados con las nuevas transacciones.

+81
Mike McWilliams 28 ene. 2012 8:34:39

Un comerciante puede ofrecer su propio local bitcoin procesador para conectar un cliente, si la transacción es innaccurate, se puede "deshacer" y simplemente no la transmisión de la transacción a la de la Red Bitcoin.

+55
AviTapp 5 ene. 2014 22:13:37

Mostrar preguntas con etiqueta