Doble gasto en testnet o regtest?

Actualmente estoy haciendo una investigación sobre bitcoin y me gustaría saber si hay de todos modos para replicar un doble gasto en la testnet o regtest? Si no es posible, ¿hay algún otro tipo de "ataques" que se puede replicar?

+864
S Meaden 6 mar. 2018 23:51:00
25 respuestas

Después de la minería de la génesis de bloque, hizo Satochi tiene que dejar a su equipo que ejecuta a la mina de la subsequente bloques vacíos?

Fue él el que ejecuta la totalidad de la red en un único nodo o hizo requieren varios nodos a la prueba de la transacción verificaciones?

¿Qué pasaría si en algún punto, todos los nodos se apaga y no hay transacciones o bloques se está generando?

En algún momento el conjunto de la red fueron probablemente un par de ordenadores personales. Hizo que funcionan 24/7?

+1000
zjyExcelsior 03 февр. '09 в 4:24

Digamos que bitcoin convertido en una moneda global que reemplace el dinero fiat.. Si alguien (físicamente )está pidiendo bitcoins y su urgente y no tengo teléfono para acceder a la red y el whos pidiendo que no tiene el teléfono también.cómo puede esta transacción se realiza.porque con el dinero fiat usted puede simplemente tomar el dinero de su bolsillo y le dará

+998
user8150438 18 ene. 2019 6:24:51

Uso lncli h para ver una lista de todos los comandos disponibles.

lncli newaddress le dará una nueva dirección para el bolsillo. Debe especificar el tipo de dirección: o p2wkh (pagar a testigo clave hash), o np2wkh (nested pagar a testigo clave de hash). Por ejemplo, lncli newaddress p2wkh.

(Corriendo lnd v0.6.0-beta)

+973
Evandro Sousa 6 nov. 2018 7:22:10

Sé que las preguntas sobre este tema se ha pedido a la muerte en un número de maneras diferentes. También sé que lo endian orden se refiere, específicamente, es dependiente de contexto.

Lo que quiero son específicas de las aclaraciones, aunque, por la paz de la mente para asegurarse de que tuviera la idea de derecho.

Peso con Respecto a C y x86 orden de bytes

Normalmente, cuando pienso en "endian" estoy pensando en el orden arbitrario de valores enteros usando 8 bits de los bytes en memoria. En otras palabras, 0x3FE17C no tiene explícita endianness por su propia cuenta, pero si se considera el valor almacenado en big endian, en la memoria se vería 3F E1 7C, y en little endian memoria para que se 7C E1 3F.

Así, endianness para mí es una convención de la memoria de ordenación. Yo nunca, nunca explícitamente oído hablar de él utilizado de otra forma.

Sin embargo, parece que "endian" también puede referirse a los ordenamientos de carácter en una cadena. Uno podría decir que si tenemos la cadena "3FE17C", se podría afirmar que este orden se supone que para ser grande-endian. Si este es el caso, con respecto a hex literales, si quería tener el mismo valor de C e inicializar una variable con el mismo valor, me gustaría hacer:

uint32_t x = 0x3FE17C;

Y en C en un equipo x86 que sería, por supuesto, ser almacenados en la memoria como "7C E1 3F".

RPC orden de Bytes

Así que, si estoy leyendo la documentación en el bloque de cabecera, y me doy cuenta de que el nBits campo se muestra en la RPC orden de bytes. Más tarde, después de la getblocktemplate la solicitud I, a continuación, analizar el correspondiente nBits cadena hexadecimal y la cadena literal en el mismo orden como se muestra a mí en una consola de depuración para cualquier cartera que estoy usando.

Si yo uso la siguiente hex2bin subrutina de conversión, en el que se lee la cadena de izquierda a derecha y escribe desde el comienzo de un buffer a la final por cada hex de carácter par de bytes de conversión, que tengo que hacer más endian conversión de la nBits valor leído?

Mi entendimiento es que el nBits orden) que se muestran en la interfaz RPC orden de bytes y todos los otros campos que son hexagonal de cadenas de caracteres se muestran en la misma forma con la única excepción de transacción de valores de hash (no los datos blob que están siempre al lado del hash).

Aquí está la rutina, para la integridad:

bool hex2bin(void *salida, const char *hexstr, size_t len)
{
 uchar *p = (uchar *) de salida;
 char hex_byte[4];
 char *ep;

 hex_byte[2] = '\0';

 while (*hexstr && len) {
 si (!hexstr[1]) {
 applog(LOG_ERR, "hex2bin str truncado");
 return false;
}
 hex_byte[0] = hexstr[0];
 hex_byte[1] = hexstr[1];
 *p = (uchar) strtol(hex_byte, &ep, 16);
 si (*ep) {
 applog(LOG_ERR, "hex2bin fallado en '%s'", hex_byte);
 return false;
}
p++;
 hexstr += 2;
len--;
}

 retorno (len == 0 && *hexstr == 0) ? true : false;
}

Específicamente,

  • Una hexadecimal a binario conversión de los elementos JSON "previousblockhash": "000007c5df566d7ddaf863f11970086f2c6b8aff2925083a179251ffa547c3da", y "bits": "1e0a3618", No deberán exigir ningún tipo de manipulación de orden de bytes suponiendo que la cadena es leer directamente y pasa a la hex2bin función, porque la RPC orden de bytes está diseñado implícitamente para evitar esto (por razones de rendimiento).

  • Sin embargo, cualquier hash campo se encuentran dentro de una de las transacciones de la matriz debe ser leído como una cadena, convierte a binario (con la misma función), y , a continuación, el orden debe ser intercambiados byte por byte.

  • Además, si quiero tomar los datos de campo en una entrada dentro de las transacciones de la matriz, después de usar hex2bin en él, yo no debería tener que hacer cualquier orden manipulación si quiero realizar un doble sha 256 en el valor con el fin de calcular el merkle raíz.

Son mis suposiciones correctas, aquí?

+921
Judy Sturges 5 ene. 2016 10:23:07

Después de un largo corrospondance con Bittrex personal de apoyo que me dieron la siguiente información.

"Si usted ha enviado BTC a un NEO dirección, estas carteras tienen direcciones que validar el uno al otro, pero las carteras no son compatibles para la recepción de monedas. Usted necesitará la investigación de cómo quitar una clave privada de un NEO dirección y la importación en un BTC cartera para recuperar estas monedas. Usted puede contactar a alguien de la NEO de la comunidad en busca de ayuda. Nos puede ser de mucha más ayuda en este asunto".

¿Cómo puedo revertir esto?

+920
YulyaSapogova 26 oct. 2014 23:34:29
Una de 256-bit versión de Secure Hash Algorithm 2
+838
Amir Khan 25 mar. 2016 9:13:38

La dificultad es básicamente una representación diferente de la de destino para hacer más fácil para los humanos normales para entenderlo.

La dificultad que representa lo difícil que es el objetivo actual hace para encontrar un bloque, en relación a lo difícil que iba a ser el más alto posible de destino (el más alto target=menor dificultad). La dificultad actual de 6,695,826 significa que en una determinada tasa de hash, va a tardar en promedio ~6.6 millones de veces como mucho en encontrar una válida bloque como lo haría en una dificultad de 1, o, alternativamente, llevará, de nuevo, en promedio, ~6.6 millones de veces la cantidad de hash para encontrar una válida bloque.

La dificultad es la más grande posible de destino (0x00000000FFFF0000000000000000000000000000000000000000000000000000) dividido por el destino actual (a partir de ahora, 0x00000000000002816E0000000000000000000000000000000000000000000000).

+788
gxigroupz 28 dic. 2013 0:00:18

Podrías probar con otro servidor, tal vez el uso de retraso en el momento de importar la dirección.

Para cambiar los servidores ir a la bola verde en la parte inferior derecha de Red y seleccione otro servidor.

+742
Jokay 26 ago. 2016 18:38:20

Que parámetros precisos de bitcoins blockchain sería susceptible a la cuantía de los ataques?

(1) Clave Privada: ECDSA es la primera cosa que puede obtener vulnerables con ordenador cuántico. Utilizando el algoritmo de Shor y el algoritmo de Grover se puede romper el privado y el cifrado de clave pública. Como Pedro dijo en el post anterior, hash Cuántica es resistente, por lo que no quería hacer de su clave privada vulnerables en el post del mundo cuántico al proporcionar una dirección. Sin embargo, cuando una persona le envía algunos bitcoins, con su firma y clave pública puede revelar la clave privada. El propietario de la computadora cuántica puede ir a través de todas las transacciones y calcular las claves privadas de la firma proporcionada o a partir de la clave pública y el control de todos los UTXOs de ella.

(2) la Minería: Un clásico equipo necesita O(N) operaciones de ir a través de todos los nonces con el fin de encontrar la solución para el cifrado de puzzle. Un ordenador Cuántico sería necesario O(sqrt(N)) para ir a través de los nonces. Esto llevaría a un incremento en la eficiencia en el orden de magnitud de 10^10 (Maraña whitepaper). Si la minería es más rápido con un ordenador cuántico, podría dar lugar a la consolidación de la minería energía en caso de que una entidad adquiera un ordenador cuántico mientras permanece fuera del alcance de los demás. En ese caso, el propietario de la computadora cuántica puede lanzar el doble de pasar los ataques y todos los demás beneficios de 51% de ataque

De acuerdo a esta discusión, la firma tendrá que moverse para publicar mundo cuántico mucho antes de quantum PoW. Esto es debido a que, el áspero speedup es 2^240 para las firmas, mientras que es ~2^40 para la prueba de trabajo.

Qué se puede hacer para prevenir los ataques en esos parámetros?

(1) el Bitcoin es más resistente a la computación cuántica, que la mayoría de la seguridad en que la internet se basa. Por otra parte, si nunca la reutilización de direcciones, entonces nadie sabe de sus claves públicas y por lo tanto no hay nada para un control de calidad para resolver. Por ejemplo, cuando se envía algunos bitcoins a una persona, enviar el resto a cambiar a una cuenta controlada por una diferente de la clave privada. Por el momento en que alguien pone sus claves públicas/firmas, ya ha gastado los fondos y envió el cambio a una cuenta creada por una firma diferente. También los algoritmos de criptografía en Bitcoin puede ser cambiado a quantum-resistentes (ver aquí).

(2) a Bitcoin aumenta la dificultad por sólo por un factor de 4, en un momento dado. Esto significa que sería necesario un duro tenedor para cambiar la dificultad para adaptarse a la de ordenador Cuántico que la transición no se produce gradualmente.

+711
firefusion 10 dic. 2017 1:42:49

Yo tengo que trabajar por la adición de la contraseña de ... el valor para el usuario, separados por ":". Así, el ejemplo se convierte en:

curl --usuario bitcoinrpc:xxxxxxxxxxxxxxx --datos binarios '{"jsonrpc":"1.0","id":"curltext","método":"getinfo","params":[]}' -H 'content-type:text/plain;' http://127.0.0.1:8332

Donde "xxxxxxxxxxxxxxx" es el rpcpassword almacenados en el .conf archivo.

+654
user1162019 5 nov. 2019 20:33:50

(bitcoin-cli getbalance XXXX 1) ... getbalance de mi dirección correcta, nunca se va hacia abajo

XXXX hay una cuenta a nombre de getbalance.

Como JBaczuk comentó

La función de cuentas es muy confuso y ha sido eliminado en la última versión v0.17.0.

(estrictamente hablando, es obsoleto en 0,17 y espera ser eliminado completamente en el 0,18%.)

+607
Jacko50 29 mar. 2018 1:03:01

Soy nuevo en Bitcoin y compró una pequeña cantidad hace algunos meses y que no se muestra en mi cartera, incluso después de terminar la sincronización. Cómo puedo encontrar mi bitcoins y llegar a mostrar en mi cartera?

+596
Ta Duy Anh 2 abr. 2015 4:26:02

Si el Nitwit propuesta es activado a finales de julio, a continuación, como yo lo entiendo un duro horquilla va a ocurrir porque los mineros y los nodos que siguen usando el viejo software generará bloques en el formato antiguo, pero los bloques, será ignorado por nitwit clientes, y viceversa. Así que, básicamente, hay dos cadenas.

Si eso sucede y me transferencia de algunas monedas, ¿cómo se decide que la cadena de la transacción se produce en? Puedo doble gastar mis monedas, una vez en cada cadena?

+560
Ketoize 19 sept. 2013 22:41:20

Esto sería un duro de la horquilla, y difícil de desarrollar en eso.

+501
aboat 2 nov. 2011 18:37:13

Es posible! Pero es complicado :] La razón principal es bloquear.io está utilizando multisig direcciones, lo que significa que no es la habitual dirección que usted puede canjear fondos con solo una clave privada, pero aquí se requieren dos claves privadas a firmar cada una de las transacciones.

EDIT: Esta solución se utiliza para trabajar durante algún tiempo, pero no funciona en el momento

Parece que blockdozer.com cambió su API y sus AJAX/CORS de la política de alguna manera que hace que sea imposible para la consulta de los resultados y presentar las transacciones. Yo era capaz de superar sus AJAX mediante la desactivación de seguridad en el navegador, sin embargo, el crudo de las transacciones que se genera contiene caracteres especiales como la "|" y la API no soporta eso. Lo hizo el trabajo hace un mes, pero no más

Desde Ik soy ningún experto en esto he enviado un comentario a los desarrolladores que implementan bitcoin apoyo en efectivo en Coinb.voy a actualizar una vez que obtener una respuesta. Aquí está el PR y el comentario en Github:

https://github.com/OutCast3k/coinbin/pull/113

Fase uno - Adquirir sus claves privadas

La primera fase es la de sus claves privadas de Bloque.io - Registro en la cartera, vaya a "Configuración", a continuación, pulse "Clave de Acceso Privado". Recibirás un correo electrónico con instrucciones de cómo proceder. Al final de este proceso debe tener un archivo que contiene algo como esto :

* Dirección: 3ET4FuXvHahN4WwrJ3dyCLsoVbDVZtVEuu
* Tipo de dirección: P2SH
* Las Firmas Necesarias: 2
* Canjear Secuencia De Comandos: ....
* Canjear HEX: 5221039960aa771270362b7e49400433e103c59e12c6a43a946d4b048f7efcc68bc0bf21028825d729387c6b0aafae1c47802c62d7f965de1800d6122143c681044c50700452ae 
* Claves públicas: ["039960aa771270362b7e49400433e103c59e12c6a43a946d4b048f7efcc68bc0bf","028825d729387c6b0aafae1c47802c62d7f965de1800d6122143c681044c507004"]
* Claves Privadas: ["KyubGochD3MkXW4KkT95K6FXbZSrtHg6cref6xardc9c3qkyidza","KxFLJ2n76i2W9WB2YdJd1zCL2Kmgpk1vfb2xeynspqwsyce4bfqn"]

Fase dos - coinb.en

Traté de hacerlo de la manera fácil usando Electrónica de Efectivo - hay una opción para importar múltiples sig direcciones, pero no funciona. Tuve que firmar la transacción de forma manual y de difusión para el centro de intercambio de información de la red principal. coinb.es una herramienta impresionante para hacer eso, sin embargo en el momento de la solicitud de extracción para el uso del CIISB no está fusionado sin embargo, he desplegado una versión de la herramienta aquí :

http://galed.codus.net/coinbin/

Alternativamente, Si usted quiere ser más prudentes puede ejecutar la herramienta en el equipo local mediante la ejecución de estos comandos :

git clone https://github.com/dabura667/coinbin.git
cd coinbin
git checkout bitcoincash
abierto index.html

La fase tres de la firma de una transacción y braodcasting

Por FAVOR por FAVOR por FAVOR, observe LAS INSTRUCCIONES en este video de youtube para conseguir un mejor sentido de lo que debe suceder: https://www.youtube.com/watch?v=oUSVmLegj8k - Si usted está tratando con grandes sumas de BCH usted podría terminar perdiendo todo, así que ten cuidado!

La única diferencia es que usted necesita tener cuidado de elegir el bitcoin efectivo de la red, de lo contrario va a ser de radiodifusión de transacciones en la red BTC:

  • Haga Clic En Nuevo -> Transacción
  • Introduzca la canjear HEX que recibió de bloque.io en el primer cuadro (Dirección, WIF clave o Canjear Script)
  • Haga clic en "opciones Avanzadas" y cambiar la red a la "Bitcoin Efectivo mainnet"
  • Poner en la cantidad que desea transferir y la dirección, asegúrese de que la cuota no es muy alta
  • Haga clic en enviar, usted recibirá una larga cadena HEXADECIMAL. copia
  • Ir a la "Señal" , pegar la cadena, pegue la primera clave privada desde el archivo de ese bloque.io enviado, haga clic en "Enviar", Copia la cadena
  • Pegar la cadena en el segundo cuadro, copiar y pegar el segundo de la clave privada de la cuadra.io archivo, haga clic en Enviar, copiar el resultado
  • Ir a la "Emisión", la pasta de la cadena y enviar.
+469
Mike Collins 23 abr. 2013 6:24:36

Tengo una línea de portátiles que no me deja firmar la transacción. Estoy corriendo de la Armería .92.3 y Bitcoin Core .9.2.1. Sé que tengo que actualizar a un nuevo equipo. Alguna idea de cómo y el proceso sería muy útil.

+445
Gearnode 20 may. 2017 21:45:32

Cómo son maliciosos nodos impidió, después de conseguir el nonce de un nuevo bloque encontrado por alguien más, transmitirlo a los demás nodos reclaman que es su?

También, ¿cómo funciona el bitcoin sistema de resolver la situación de un mal minero que ha encontrado el nonce de un bloque y, a continuación, lo envía con 2 diferentes nodos, cada uno que llega al 50% de la red, por lo tanto, un problema de la propiedad de este trabajo?

Finalmente, si todos los nodos tienen que comprobar una emitido nonce a probar que es de fiar, ¿cómo funciona la red de defenderse de los ataques, en los que miles de direcciones ip (por ejemplo, redes de bots) iniciar el envío de mal nonces, causando una cpu DDoS porque de todos los compañeros de hashing y de la comprobación de estos nonces.

Gracias por las respuestas.

Nota: Como las tres preguntas están relacionadas pensé que ponerlos todos en una sola pregunta era correcta, si no me dijo a mí y voy a editar el texto para que contenga sólo la primera pregunta, la colocación de los otros dos, en diferentes preguntas.

+393
Slowstuff 1 ago. 2013 13:29:15

Esta es una pregunta fascinante. Por supuesto, la primera respuesta es bastante aburrido: "la dificultad de la minería está en constante cambio, por lo que la ley de la oferta y la demanda se asegurará de que siempre hay mineros." Sin embargo, hemos creado esta parte de la respuesta a un lado, vamos a profundizar en lo que es un bitcoin realmente es, y eso es lo que hace a esta pregunta tan divertido.

Cuando ofreces algo de valor, como un bien o un servicio, a cambio de un bitcoin, usted está haciendo la suposición de que todo el mundo hace cuando se utilice una moneda: que el comprador puede dar algo de valor a cambio de su bien o servicio. En el caso de dinero en efectivo, puede ser nada más que un pedazo de papel que usted confiar en otras personas encontrar valor en. Bitcoin es de la misma manera, pero un poco más sutil.

Si usted está recibiendo un bitcoin a cambio de su bien o servicio, debe empezar por crear una "clave privada" para una cuenta bitcoin, que es básicamente un número aleatorio. Ahora cuando llegue "pagado" en bitcoins, lo que en realidad sucede es que el comprador anuncia públicamente cierta información, que hace que su clave privada algo que vale la pena. Este algo es el cuerpo de la transacción, que incluye la información que prueba que el comprador se encuentra en una posición a la transferencia de un bitcoin.

Lo que hace de esta valiosa información es que usted tiene confianza en que, con la información pública en la mano, su "clave privada" ahora está facultado para hacer que un comprador de alguien más bienes y servicios. Es un poco exótico sonido, si usted me pregunta. Efectivamente el comprador bendice un número aleatorio que sólo usted sabe que tiene algún valor, pronunciar una frase, pero si de verdad mira lo que sucede cuando un comprador anuncia que una transacción se añade al bloque de la cadena, que es lo que realmente están haciendo!

Por supuesto, el valor de esa información es sólo vale la pena lo que el siguiente vendedor de los bienes y servicios aceptará su valor. Uno de los supuestos fundamentales que los vendedores utilizan para determinar si su clave privada para una cuenta bitcoin es valioso es la de si la transacción anterior podría ser "doble gastado," significa la persona que haya comprado sus productos y servicios que utiliza bitcoin para "bendecir" dos transacciones separadas cuando se supone que sólo lo uso una vez. En términos de liquidez, esto sería el equivalente de la fotocopia de un billete de un dólar y pasar dos veces. Y ahí es donde la minería y el bloque de la cadena se convierte en importante.

Con bitcoin, no es un maestro de la contabilidad se conoce como el "bloque de la cadena". Si alguien utiliza una moneda para bendecir a alguien más de la cuenta (es decir, se pasan el bitcoin), y que la acción aparece en el master de contabilidad, otros se espera que reconocer que esa moneda no puede ser reutilizado para bendecir a una segunda cuenta (es decir el doble gastado). Esta contabilidad es consistente, no contiene doble gastado monedas.

Los mineros mantener este maestro de contabilidad. Se les paga para hacerlo (tanto por el "regalo" de las monedas que se acuñaron para el minero con cada bloque y por los honorarios de la transacción que se paga por cada transacción), y sus servicios son de hacer es computacionalmente imposible para cualquier persona para "engañar al sistema" por romper este de un maestro de la contabilidad de garantía.

Sin mineros, no habría nadie para mantener este maestro de contabilidad. Una moneda sólo sería la pena la cantidad de gente de confianza no sería doble gastado.

Hay soluciones para esto:

  • Su solución es que una entidad del gobierno llega y se convierte de facto en el mantenedor de la maestría de contabilidad en la ausencia de los mineros. Esto convierte a la moneda en algo más parecido a una tradicional moneda respaldada en la fe de la nación que lo emite.
  • Usted podría tener cada jugador individual tratar de aportar y ayudar a la autenticación de la red de transacciones en ausencia de un acuerdo formal de bloque de la cadena. Este es el enfoque de Iota está utilizando.
  • Usted puede encontrar que los bitcoins son totalmente inútiles, como nadie los valores de su habilidad para pronunciar una clave y dar rienda suelta al bitcoins que usted ganó.

Por supuesto, ninguno de estos va a venir a pasar. En realidad, la dificultad de la minería un nuevo bloque de escalas, como muchas de las otras respuestas han presentado. Finalmente, la dificultad va a bajar bastante de que va a ser rentable para los mineros de la mina (como lo fue rentable en los primeros días de la BTC). La desventaja, por supuesto, es que el más fácil es el de la mina de un nuevo bloque, el más fácil es hostil de la entidad para aplicar suficiente hash poder para corromper el bloque de la cadena, que se bifurcan, para que doble gastar monedas. Bitcoin es resistente contra tales computacional de los ataques debido a la dificultad de minería de datos es lo suficientemente alto.

+352
scosant 14 dic. 2010 13:18:52

Digamos que Alice es la venta de 1 BTC por $10,000. Pronto después de que Alice hace que su orden de venta, Bob coloca una orden de compra por 1 BTC por $10,010. Estos dos órdenes son compatibles, ya que Alice volvería a tomar un extra de $10.

Mi pregunta es, ¿qué sucede para que $10.

  • ¿Alice recibe $10,010 incluso a pesar de que su orden de venta fue sólo de $10,000?
  • ¿Bob sólo tiene que pagar $10,000?
  • Tal vez se dividió por la mitad, Bob sólo tiene que pagar $10,005 y Alice recibe la misma?
  • ¿El intercambio sólo se queda con la diferencia? ¿Es esta la forma (además del dinero) intercambios de lucro?
+319
Kale Slade 31 ago. 2018 1:17:57

blockchain.info la recuperación es una frase de un BIP 39 frase. Ellos usan BIP 32 derivación y BIP 44 derivación caminos IIRC. Esto significa que usted puede utilizar la frase de recuperación importar su blockchain.info cartera en cualquier otra cartera que también el apoyo de los BIPs 32, 39 y 44. Ya que utiliza BIP 32, usted tendrá acceso a todas las claves privadas que se utiliza en blockchain.info.

+312
NFS63 3 jul. 2017 0:14:15

La ruta de la seda es un poco cerrado de flujo de efectivo de bucle, como son la contratación de ahora.

+172
Puce 31 ene. 2010 10:59:49

Uno de los principales argumentos para no aumentar el tamaño del bloque en Bitcoin es el hecho de que a mayor tamaño de bloque de medios más lenta propagación.

La mayoría de los que ocupan mucho espacio de la sección de la Bitcoin es el bloque de datos de las transacciones. Suponiendo que una gran parte de los nodos está lleno nodos, hay una gran redundancia en el bloque de datos.

Cuando un minero con éxito las minas de un bloque, que necesita para enviar a los otros nodos en la red. Muchos de los nodos que ya poseen la mayoría de las transacciones de datos que se incluye en el bloque.

Tal vez es mejor enviar un hash de cada transacción en lugar de los datos en sí. En caso de que el nodo receptor no dispone de estos datos, se puede solicitar el envío de nodo.

Esto puede comprimir el tamaño de un bloque de 5 a 10 veces (dependiendo del tamaño del hash) y permitir significativamente más grande que el tamaño de bloque.

+150
Rajdenka 15 ago. 2014 16:14:12

Hay sitios web con los datos históricos de las monedas. ¿Cómo se consiguen?

Obtener el precio de 10 intercambios al mismo tiempo, la división por 10?

+138
RamY 25 abr. 2012 0:14:48

Comience con una clave pública no válida

Bitcoin direcciones son las pubkeyhash (no clave pública), además de la versión y de la suma de la información, codificada en la base de 58.

Dirección Bitcoin = versión + RIPEMD-160(SHA-256( Clave Pública )) + suma de comprobación

Los pasos para la conversión de una clave pública a una dirección se puede encontrar aquí: https://en.bitcoin.it/wiki/Address

Desde la dirección utiliza el pubkeyhash no de la clave pública podemos aprovechar este por la mezcla de un inválido clave pública (que no puede existir) y, por tanto, producen una dirección válida de un inválido clave pública.

Así que para empezar nos encontramos con una clave pública no válida. Válidos todos los públicos claves de comenzar con 0x04 si sin comprimir y 0x02 o 0x03 si es comprimido. Una clave pública de comenzar con cualquier otro valor es indefinido y por lo tanto no es posible la firma que puede ser creado para satisfacer ese requisito clave. Dado que el gasto de monedas requiere la firma de la transacción con la clave privada correcta, una dirección que tiene que no se conoce la clave privada es unspendable. Mediante el uso de una clave pública que se sabe que no tiene una clave privada que otros pueden confirmar que no hay clave privada existe.

Válido Bitcoin clave pública (no de dirección):

04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f

Una clave pública no válida

0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Hay otras maneras de producir un conocido clave pública no válida. ECDSA claves deben ser exactamente 65 bytes si sin comprimir o 33 bytes si se comprime para una clave con una longitud diferente también será válido. Para comprimir las teclas el valor de y debe ser correctamente producidos a partir de que el valor de x. El punto también debe acostarse sobre la curva. Asimismo, no puede estar por encima del módulo para la curva. Así que hay un montón de maneras de producir seguramente no válido llaves, pero es mejor elegir uno que es obviamente válido. Este es probablemente el más simple, obviamente, no válido de clave pública.

0x00

Esta clave pública no es válido para un número de razones (no producidos por la clave privada multiplicado por el generador, no se encuentra en la curva, no es un punto válido, pero más simple aún no tiene un prefijo válido y no es la longitud correcta).

Lo importante es que esto no es sólo algunos, probablemente, la clave no válida es seguramente la clave no válida.

Usted debe probar su clave pública no válida contra el cliente de referencia para asegurarse de que el cliente informa de como válidas. La validez de las claves es un consenso problema así que esto no va a cambiar a corto de un tenedor.

Producir un válido (pero unspendable) la dirección de la clave pública no válida

Usted puede preguntarse por qué queremos que la dirección sea válida. Todos los clientes deben validar las direcciones dadas por los usuarios para evitar la pérdida accidental de los fondos. Así que una dirección no válida también unspendable pero la mayoría de los usuarios encontrarán imposible enviar los fondos a la dirección. Un P2PkH dirección es la pubkeyhash con la versión y la suma de comprobación de la información codificada en base58.

Cuando usted proporciona una dirección a un cliente Bitcoin que decodifica la dirección de vuelta a la 'cruda' pubkeyhash. Para la producción de una dirección válida significa empezar con una válida pubkeyhash. Esto no es un problema porque el hash de cualquier cosa es válida hash. Los clientes no saben lo que pubkey es un algoritmo hash para producir el pubkeyhash en el fondo, la clave pública no es siempre y funciones hash son de una manera.

El Bitcoin red solo verifica si una dirección está en la forma, longitud, y tiene el derecho de suma de comprobación cuando "validar". La producción de una dirección de una clave pública está más allá del alcance de esta pregunta, pero no hay utilidades y el enlace de arriba proporciona los pasos. El resultado pubkeyhash y codificado dirección se considera como válido por la red y de cliente, pero requiere de un modo demostrable imposible clave privada para gastar los fondos enviados a esa dirección.

Ahora, con sólo la dirección (y decodificado pubkeyhash) un usuario no se puede comprobar que la clave pública no es válido, así que usted debe publicar la cruda clave pública junto con la dirección. Los usuarios pueden recrear la dirección utilizando cualquier cliente bitcoin o herramienta y producir la misma dirección que usted proporcione. Los usuarios tienen ahora una trustless manera de verificar que las monedas son, en efecto, unspendable. Cualquier monedas enviado a la dirección que no puede ser nunca pasó y que efectivamente son destruidos.

Colisión de Hash

Técnicamente es posible, pero improbable para más de una clave pública de a tienen la misma dirección Bitcoin. Esto se llama una colisión de hash. Si la clave pública de p1 y de clave pública p2 tanto hash a la misma dirección, y luego los soldados claves para cualquiera de estas claves públicas puede gastar los fondos. Sin embargo, la probabilidad de que esto ocurra es muy baja. A menos que RIPEMD algoritmo de hash que se rompe la probabilidad de encontrar dos claves públicas que generan el mismo hash (dirección Bitcoin) es de 1 en 2^160 que está más allá de nuestro poder computacional de localizar.

Un par de palabras sobre por qué usted debe utilizar un 'Nada en la Manga' número:

El uso de una "nada en la manga número" (como un solo cero, todos los ceros de una sola repetición de dígitos, números secuenciales, los dígitos de pi, etc) no se requiere ninguna clave pública no válida es igualmente unspendable pero se podría mejorar la confianza del público que todavía no ha encontrado una colisión (tan improbable como que es).

Si usted acaba de tomar una muestra aleatoria de la clave no válida como decir:

00000fdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f

Algunos preguntarán ¿por qué se eligió esta tecla. El miedo sería que usted elija esta clave no al azar, sino porque ha tropezado con una colisión entre esta clave y una clave válida. No hay manera de probar que la clave es aleatorio por lo tanto el miedo seguirá siendo siempre. Funciones de cifrado (como RIPEMD o SHA-256) a menudo usan "nada en la manga valores" para proporcionar la seguridad de que una constante no fue elegido para habilitar algunas de cifrado defecto o una "puerta trasera" en el algoritmo. Por ejemplo, SHA-256 utiliza constantes para los valores iniciales de los bloques de segmentos. Técnicamente estos pueden ser cualquier número al azar, sino que daría lugar a la preocupación de que el 'azar' número no es realmente aleatoria. Así que SHA-256 utiliza los 32 bits de la fracción de la raíz cúbica de los 8 primeros números primos. Esto permite la verificación cuando un pseudo random number es necesario. Es muy poco probable que haya alguna propiedad mágica entre la parte decimal de la raíz cúbica de secuencia de números primos que socava SHA-256.

http://en.wikipedia.org/wiki/Nothing_up_my_sleeve_number

Actualización (03/31/2015)

Es más fácil hacerlo ahora mediante el uso de un OP_RETURN (datos null (nulo) de salida y no aumentar en exceso el UTXO con las salidas que no puede ser gastado, pero la red no es consciente de que no puede ser gastado. Todos los fondos enviados a una salida que contiene OP_RETURN seguramente son unspendable y la red va a caer la salida de la UTXO. El UTXO (no utilizados tx conjunto de salida) es una crítica de los recursos que es necesario para la validación de nuevas transacciones y bloques, de modo que la destrucción de/la quema de monedas con UTXO es un uso más responsable de este recurso compartido.

+136
Kimberly Anderson 29 ago. 2015 13:10:50

He leído la documentación de la api pero no pude encontrar anythin relacionados con el mercado de comprar y vender comandos. Donde puedo encontrar esta información?

Por otra parte, he leído lo siguiente en el sitio de la api

https://bittrex.com/api/v1.1/market/selllimit?apikey=API_KEY&market=BTC-LTC&quantity=1.2&rate=1.3

A mi entender de esta declaración es que yo uso mi 1.2 Bitcoin para comprar 1.3X1.2 Litecoin. Es esto correcto?

Si quiero usar mi Litecoin para comprar Bitcoin, ¿es necesario cambiar el mercado de BTC-LTC para LTC-BTC??

+30
Grant1982 26 abr. 2011 17:02:06

Mostrar preguntas con etiqueta