Clave de derivación en HD carteras mediante el extendido de la clave privada vs endurecido derivación

Estoy leyendo el libro Mastering Bitcoin y confundido acerca de cartera clave derivaciones en el Capítulo 4. Claves, Direcciones, Billeteras.

El primer libro se menciona a un privado niño clave de la derivación en la que el niño de la clave privada se deriva de tres entradas: (padre de clave pública previamente derivados de los padres de la clave privada, de los padres de la cadena de código, índice).

A continuación, el libro analiza extendido de claves y menciona dos tipos: ampliación de las claves privadas y extendido de claves públicas.

El extendido de las claves públicas se utilizan para derivar a los niños las claves públicas de los padres de claves públicas para evitar la exposición de las claves privadas, por lo tanto, más segura. Este es el diagrama de bloques para el extendido de clave pública.

Por otro lado, el libro se menciona que la extensión de la clave privada se utiliza para derivar a un niño de la clave privada utilizando el padre de la clave privada y de la cadena de código.

Sin embargo, a pesar de la extendida clave pública no exponga la clave privada, sigue siendo muy arriesgado usar, ya que se expone la cadena de códigos. Si la clave privada se filtró, se pueden usar juntos para derivar a otros niños de la clave.

Finalmente, el libro sugieren el uso de la endurecido clave, que para mí es exactamente la misma descripción que el extendido de la clave privada.

Mi pregunta primera pregunta es, es la extendida clave privada de la misma cosa como el endurecido clave de derivación?

Mi segunda pregunta es, cuál es la técnica que se usa en realidad, al derivar la clave privada para los niños, el primero que yo menciono en mi pregunta o el segundo mediante el extendido de la clave privada que para mí es la misma cosa exacta como la endurecido clave de derivación.

+275
David llewellyn 10 mar. 2014 18:32:37
24 respuestas

Es un capricho de la implementación original del mensaje de la firma de la lógica que fue introducido en Bitcoin Core en 2011.

Cuando el mensaje está firmado, debe ser serializado valores hash. El serializar métodos en Bitcoin Core son compartidos entre la red, hash preimagen, archivo, etc. serializations, la mayoría de los cuales requieren que los datos se antepone con un tamaño compacto uint que especifica la longitud de los datos. Por lo tanto, los métodos de antepondrá un tamaño compacto uint, cuando serializar los datos.

La implementación de la firma de mensajes lógica que utilizan los mismos métodos de serialización para producir la preimagen que sería hash. Por lo tanto las cadenas debe ser precedido con sus longitudes para los hash preimagen.

+988
Phuc Nguyen 03 февр. '09 в 4:24

Estoy usando Jaxx! Yo creo que está bien, porque es una plataforma agnóstica y manejar las diferentes monedas digitales.

https://jaxx.io

+927
Karkoura 20 sept. 2010 15:13:07

Así que, yo estaba leyendo este documento como una propuesta a la siempre creciente blockchain problema. En resumen, que la seguridad es proporcionada sin una completa blockchain por tener una prueba de la cadena con estos campos:

  • Prueba anterior hash del bloque de
  • encabezado de bloque de hash

Ahora todo esto está bien, pero uno de los problemas que yo veo, lo que si 2 monedas fueron a adoptar este sistema? Si una cadena, era mucho más poderoso que el otro, que un atacante podría tomar el otro blockchain y construir falsas transacciones y bloques en ella y, a continuación, introducir a los más débiles de la moneda de sus compañeros. Los compañeros lo ven como tener un mayor dificultad de la longitud y la adoptan. Otras de comprobación de la génesis del bloque de hash y su inclusión dentro de los pares/cartera de software, hay alguna otra manera de evitar este ataque? El documento también menciona el recorte de muy antiguo a prueba de bloques, pero que no parece ser posible de forma segura hacer si la génesis bloque podría ser podados de la prueba de la cadena.

+876
IgnacioFdez 15 abr. 2010 8:17:12

Me he encontrado con estas dos preguntas muy útil en la comprensión de HD carteras

1) ¿Cómo jerárquica determinista carteras de trabajo en cuanto a las transacciones?

2) un par de preguntas acerca de cómo HD cartera de obras

Sin embargo, todavía no tengo claro cómo enviar los pagos en el caso de la HD cartera. Supongamos el siguiente escenario:

  • derivado de clave pública #15 recibieron 1 BTC en una transacción
  • derivado de clave pública #20 recibió 2 BTC en una transacción

Ahora que quiero enviar 2.5 BTC a algunos de dirección, ¿cuál es el procedimiento para hacerlo? Necesito hacer dos transacciones separadas?

También me pareció en general confuso en cuanto a lo que está al cuidado de la cartera (bitcoin-core, etc) y lo que debe ser realizado por el usuario. Por lo tanto, agradecería si alguien puede explicar lo anterior por destacar algunos pasos en bitcoin-core, por ejemplo.

+827
Kabie 28 oct. 2015 4:51:16

Contrariamente a la creencia popular, Bitcoin es la prueba de que el trabajo no es realmente basado en el número de ceros. Más bien, el hash del bloque, cuando se interpreta como una de 256 bits con signo, debe ser menor que el valor del objetivo. El valor de destino es lo que realmente determina la dificultad. El valor de destino es representado en una forma compacta en la nBits campo de la cabecera de bloque.

El nBits campo de la cabecera de bloque comprime el objetivo de 256 bits en 32 bits. Una descripción del formato se puede encontrar aquí.

Básicamente, el nBits campo, cuando se representan en Big endian, es dividido en dos partes: el primer byte, y los tres últimos bytes. La fórmula para la descompresión de la nBits campo es el siguiente: (tres últimos bytes) * 256 ^ ((primer byte) - 3). Esto le da una de 256 bits entero que tiene los 3 primeros bytes más significativos de la diana.

+823
Garfild 11 may. 2018 13:32:01

Puede utilizar algunos de los servicios de exchange, esta es una buena referencia y si usted tiene nuevos en el bitcoin esta refrence lleva a lugares seguros

+808
srimannarayana k v 24 dic. 2012 11:34:05

Sin el 12 de palabra de la frase, no hay manera de recuperar sus monedas. Así que usted debe hacer todo lo posible para tratar de recuperar a las 12 palabras.

Parece que su nuevo teléfono creado una nueva cartera en el inicio, por lo que el 12 de palabra frase no será recuperable a partir de allí usted tendrá que trabajar con su antiguo teléfono.

Si la vieja cartera de archivo todavía está en su teléfono antiguo, entonces no hay problema. Sólo tiene que abrir la configuración, y copia la frase a partir de ahí.

Si la vieja cartera de archivo se sobrescribe en su teléfono antiguo, entonces usted querrá explorar las opciones para "volver a un estado anterior", si usted tiene una nube de copia de seguridad habilitado el servicio de esto podría ser posible. Si no existe opción alguna como esta, usted podría explorar profesional de opciones de recuperación de datos, pero estos probablemente será caro.

La mejor de las suertes

+714
rbj325 23 abr. 2012 0:49:51

Cuando ejecuto mi archivo php desde la línea de comandos me sale esto:

<pre>
PHP Advertencia: fopen(http://[email protected]:8332/): failed to open stream: HTTP request failed! HTTP/1.0 401 Requiere Autorización
 en /home/brian/Desktop/VH2_apache2/host02/btc16/jsonRPCClient.php en la línea de 132
PHP Fatal error: Uncaught exception 'Excepción' con mensaje 'no se puede conectar a http://b:[email protected]:8332/' en /home/brian/Desktop/VH2_apache2/host02/btc16/jsonRPCClient.php:140
Seguimiento de la pila:
#0 /home/brian/Desktop/VH2_apache2/host02/btc16/index1.php(12): jsonRPCClient->__call('getinfo', Array)
#1 /home/brian/Desktop/VH2_apache2/host02/btc16/index1.php(12): jsonRPCClient->getinfo()
#2 {main}
 lanzado en /home/brian/Desktop/VH2_apache2/host02/btc16/jsonRPCClient.php en línea 140

Mi archivo php se parece a esto:

<?php
 require_once 'jsonRPCClient.php';

 $bitcoin = new jsonRPCClient('http://user:[email protected]:8332/',true);
 #$param = array(
#'c418518d5ffccd947e377ab7e589f684d83e6df1af8f397cc11848ac8a78f0dd',
#'1');

 #$retorno1 = $bitcoin->getrawtransaction('c418518d5ffccd947e377ab7e589f684d83e6df1af8f397cc11848ac8a78f0dd','1')

 echo "<pre>\n";
 print_r($bitcoin->getinfo()); echo "\n";
 #print_r($retorno1['0']); echo "\n";
 #echo "Recibido: ".$bitcoin->getreceivedbylabel("Su Dirección")."\n";
 echo "</pre>";
?>

Mi página web con apache2 aparece en blanco que utiliza el archivo php que hice. Estoy usando el txindex parámetro cuando me lanzamiento bitcoind.

Pero soy capaz de utilizar bitcoin-cli para interactuar con bitcoind

Iv'e utilizado:
bitcoin-cli getrawtransaction c418518d5ffccd947e377ab7e589f684d83e6df1af8f397cc11848ac8a78f0dd 1

y:
bitcoin-cli getinfo

También mi bitcoin.conf se parece a esto:

rpcuser=usuario
rpcpassword=pass
txindex=1
servidor=1

También tenga en cuenta que lo he sustituido los nombres de usuario y contraseñas para ocultarlos.

Mi pregunta es ¿por qué no puedo usar bitcoin-cli y no obtener ningún error, pero cuando trato de usar el jsonRPCClient.php obtengo el error 401 Requiere Autorización y ¿cómo puedo solucionar el error?

+678
Wouter Vanherck 9 ene. 2018 21:37:08

Al parecer, el texto ASCII que se divide entre varios TX secuencias de comandos de salida, y cada uno es en realidad un multisig script con los bytes de datos se inserta en lugar de las claves públicas.

Las letras corresponden a símbolos ASCII, que son los códigos de operación formando un multi firma de secuencia de comandos, consulte https://blockchain.info/tx/4b72a223007eab8a951d43edc171befeabc7b5dca4213770c88e09ba5b936e17 "secuencias de comandos de Salida".

Sólo los datos entre las instrucciones deben ser tratados como texto si desea decodificar.

+633
Catherine 31 may. 2013 19:06:30

Tengo un libro de nano hd billetera y me activamente a usar el Google Chrome plugin para recibir algunas transacciones. Después de que he enlazado el HD cartera a mi micelio de la tableta de la aplicación.

Si recibo más transacciones utilizando la aplicación para tabletas ¿cómo puede el chrome plugin estancia en sinc y crear un nuevo público de la dirección correcta del punto de partida?

¿Cómo puede varias instancias de determinista carteras refiriéndose a la misma cartera saber por dónde empezar a crear nuevas direcciones?

Supongo que no se sinc y dirección de reutilización parece inevitable

Im suponiendo que el HD de contabilidad nano utiliza el determinismo de la cartera

+599
user1002040 11 jul. 2010 12:44:20

Hay un aumento teórico de la minería de la misma cartera/monedas para punto de venta en varios equipos, y si es así, ¿cuánto es?

+532
klickreflex 22 oct. 2010 6:40:35

Supongamos una red de 5 nodos de los usos de la BALSA de consenso protocolo. Cada uno de los nodos mantiene transacciones de registro que consisten en la lista de entradas de registro. Cada entrada del registro de nuevo constan de índice, plazo y comando. La actual estructura de registro que constan de registro de transacciones de todos los nodos presentes en la red es el siguiente -

Transaction log of all nodes

A continuación, el máximo compromiso de las entradas (es decir, la red puede aceptar entradas hasta que el comando) son ?

+516
Defoult 21 jul. 2019 2:59:22

La codificación utilizada se ajusta 7 bits de datos en cada uno de los bytes de salida. Así, para averiguar el número de bytes de salida que se va a producir, usted necesita tomar el número de bits de entrada y dividir por 7 (desde el 7 de bits de entrada de ajuste en cada uno de los bytes de salida), el redondeo.

Así, sizeof(n) es el número de bytes de salida. Multiplicar por 8 el número de bits de entrada. Dividimos por 7 para obtener el número de bytes de salida necesaria para ajustarse a que muchos de los bits de entrada.

Pero la división entera redondea hacia abajo. Dividir por 7, pero la ronda de dalt, añadimos 6 para el número antes de la división. Que hace es redondear hacia arriba.

+489
kwadronaut 21 sept. 2010 3:42:03

Misma diferencia menos el 20 Vatios de ahorro como se mencionó anteriormente. También parece que están bajando el precio y el movimiento abundantes cantidades en comparación con antes. Sitios como Blokforge https://blokforge.com/product/bitmain-antminer-s9i-14-th-s/ están llevando a cientos de estas unidades, a diferencia de cualquier momento en el pasado donde las unidades se han limitado a 1 o 2 por persona.

+459
ericlee 27 dic. 2011 19:22:22

Bitcoin toma 10 minutos para una transacción. Se aconseja esperar un 6-bloque de confirmación de seguridad. Esto toma un tiempo máximo de 1 hora. Así, el pago instantáneo es realmente difícil.

Si para su negocio, usted podría intentar servicios como coinpayments. Tienen diferentes estrategias que reduce el riesgo a los usuarios.

+454
Adam Oren 18 abr. 2013 14:56:05

Una cartera es algo que por lo general se mantienen en el equipo, no es un sitio web externo.

Un minero va a generar un nuevo monedero en el inicio (la cual debe copia de seguridad de inmediato y tal vez regularilly). La ubicación del archivo en el disco varía entre sistemas operativos. Entonces, cuando el minero se ejecuta esta cartera se llenan con monedas (a lo largo del tiempo. Si la mina de Bitcoin, su rendimiento será bajo ahora mismo).

Si eres nuevo a la minería de datos, asegúrese de leer acerca de la Minería de Piscinas.

+437
CharlotteHard 6 abr. 2019 3:19:46

Estoy buscando un marco donde puedo construir mi propio blockchain. En mi caso yo wan't para combinar el blockchain con seguro multi-parte algoritmo de cómputo. Significa que dos o más partes que desean intercambiar datos sin revelar los datos de entrada...

¿hay algún buen marco que se puede recomendar? (Libre o académicos de acceso, etc.) He encontrado Openchain y Nstratis... tal vez hay mejores?

Gracias de antemano.

+423
armankuyanov 22 mar. 2019 9:49:29

Cuando debo usar que construir?

Uso PeerGroup, a menos que desee conectarse a un determinado nodo Bitcoin.

Desde el código, parece que deberíamos estar interesados solamente en PeerGroup y no Pares.

PeerGroup construirá entre Pares de objetos. Es necesario, incluso si no se utiliza directamente.

+395
Imkes60 1 abr. 2019 15:02:19

No hay tal cosa. Ya sea incomprendido esta persona, o que él estaba mintiendo.

Bitcoin es una moneda digital descentralizada. No es una empresa con los representantes que en contacto con usted o que usted puede tener una cuenta con.

Hay empresas que ofrecen Bitcoin relacionados con los servicios, y usted puede tener registrada con uno, sino con base en la descripción de este probablemente no es el caso.

Probablemente usted es objeto de algún tipo de estafa. Estafas han existido mucho antes de que Bitcoin, y es muy común que los estafadores llaman a la gente y pedir su dinero bajo todo tipo de falsas pretensiones. El hecho de que este estafador ha elegido para especificar "Bitcoin" como un pretexto altera nada.

Si esto persiste, ponerse en contacto con su local de aplicación de la ley podría ser prudente.

+335
user3343404 18 nov. 2011 23:31:28

Yo no recomendaría el uso de Paypal para cualquier transacción que involucre Bitcoins. Muchos en la comunidad han sido estafados y PayPal todavía considera Bitcoins a ser el mismo como CORONAS o WoW Gold. En lugar de sus transacciones, yo recomendaría Bitpay y Dwolla.

+331
Leki1111 10 oct. 2019 5:01:23

Quién o qué ensambla las transacciones en bloques cada diez minutos?


Tal vez esto es también lo que se están preguntando: ¿Cómo son las transacciones incluidas en los bloques?

+327
danieltinoco 17 mar. 2014 15:33:33

Algunos debates en torno a cómo hacer que sea más útil

https://en.bitcoin.it/wiki/Intrinsic_worth_brainstorming

https://bitcointalk.org/index.php?topic=11834.0

+285
agfe2 6 feb. 2019 17:03:18

Me empezó a aplicar BIP32 para el cliente de referencia a mí mismo, pero como hay asuntos más urgentes que tratar, me han detenido temporalmente a trabajar en él. Sin duda va a completar esto, pero no puedo dar ninguna fecha prevista o de la versión de ahora.

Por lo que yo sé de Alan Reiner (Armería del desarrollador), que los planes para cambiar a BIP32 tan pronto como el cliente de referencia implementa ellos.

+98
Mart Mart 15 jul. 2010 15:00:13

Después de extraer todos los archivos de la .archivo zip disponible en GitHub, que de los archivos que necesito para abrir a partir de la descarga con el fin de generar las claves de conexión. Es el bitaddress.org archivo html? Debo abrirlo con mi navegador?

+95
KelleyMack 5 oct. 2016 11:05:16

Mostrar preguntas con etiqueta