¿Por qué necesito direcciones IP en bitcoins, no es que yo trabajo con la dirección pública?

Lo siento por la pregunta, pero por favor, me gustaría entender por qué debo tener direcciones IP como yo sólo puede comunicarse con el público en la dirección de

Lo siento de nuevo, pero realmente estoy confundido

+209
gukoff 12 mar. 2016 19:39:08
15 respuestas

Así que digamos que tengo varias direcciones bitcoin (algunos de ellos ya han recibido bitcoins), creó una nueva dirección bitcoin, recibió bitcoins en esto y quiero usar la misma dirección para enviar a otra parte - ¿cómo puedo hacer eso?

Estoy usando Bitcoin Core (bitcoin-qt) a partir de ahora.

+930
Whydah Ism 03 февр. '09 в 4:24

Soy un nuevo usuario en bitcoin, por lo que las cosas son un poco difíciles para mí desde que la web no es específico. Yo quería saber cómo solicitar una tarjeta de crédito o débito de bitcoin(si es posible). También tengo un poco de problemas en el sitio, mientras que tratando de entrar en mi dirección residencial completa.

+874
Praveen Arunachalam 14 jul. 2010 19:47:07

Quiero entender cómo un bitcoin clave privada se compone.

Mirando este gráfico generador https://royalforkblog.github.io/2014/08/11/graphical-address-generator/#hello

Entiendo el paso 1, ¿la clave privada se genera: 2CF24DBA5FB0A30E26E83B2AC5B9E29E1B161E5C1FA7425E73043362938B9824

Puedo ver la antepone la versión número 80, y que debo anexar a la compresión de la bandera 01

Mi pregunta es alrededor de el paso 4, que es simplemente detallada como "Anexar la suma de comprobación. Suma de comprobación de los 4 primeros bytes de la doble valor de hash sha256 de lo que se checkedsum ed."

Así que creo que el 802CF24DBA5FB0A30E26E83B2AC5B9E29E1B161E5C1FA7425E73043362938B982401 y doble SHA-256, y yo no tengo nada como la suma esperada de F29E9187

Alguien me puede ayudar a entender cómo F29E9187 se deriva?

+865
Adagios 14 jun. 2010 15:55:48

Tengo que componer un "getblocks" comando se encuentra en https://en.bitcoin.it/wiki/Protocol_specification#getblocks

El "getblocks" comando contiene el "bloque localizador de hashes". En esencia, debo informar a un nodo remoto de bloque de hash, que yo sepa ya. Hay una regla de cómo construir el bloque de localizador. Excepto que yo no tengo ni idea de lo que "empuja", "volver" o "nuevo" se. No puedo averiguar el orden de bloque de hashes en lo que yo llamo un locatorArray.

Supongamos que yo quiero anunciar tres bloques hash:

  • Hash del bloque de número de bloque cero.
  • Hash del bloque de bloque número uno.
  • Hash del bloque de bloque número dos.

Supongamos que tenemos una matriz de tres elementos. Por ejemplo, yo podría caminar a través de la matriz en un bucle for de la siguiente manera:

for ( int i = 0; i < locatorArrayLength; i++ )
{

}

El hash del bloque de que el número de bloque debe ser en locatorArray[0]?
El hash del bloque de que el número de bloque debe ser en locatorArray[2]?

+826
akirk 6 ene. 2014 21:35:46

Novato restricciones - , debe iniciar sesión en 4 horas y 5 puestos para el Novato de la sección a fin de ser autorizadas en otros lugares.

+763
Karlayl 5 sept. 2011 18:43:01

Para reforzar las buenas respuestas ya dadas acerca de los pares de claves...

"Como un servidor de seguridad adicional, un nuevo par de claves debe ser utilizado para cada transacción para dejar de estar vinculado a un dueño común."

Satoshi Nakamoto, Bitcoin whitepaper, 2009, página 6:

+741
happystaender 8 jun. 2016 7:16:26

Gire a la validation.cpp es la realización de los controles y que el uso de LogPrintf() en lugar de cerrar la etiqueta.

Por defecto, la depuración.registro de incluir siempre los mismos.

+734
peacemaker979 10 jun. 2011 11:22:11

Es posible que muchas de las monedas (Bitcoin, Monero...) en una unidad USB? Si no, ¿cómo puedo configurar USB de Almacenamiento en Frío para Bitcoin y Monero?

+728
zeise 19 may. 2011 15:29:30

Me aconsejaron que una manera fácil de leer todo lo que mi nodo relés sería conectar a mi nodo y aceptar todos los mensajes de relés.

Así que aquí tenemos un "nodo", escrito en PHP.

<?php

// --------
// CONFIGURACIÓN
// --------
$version = 60002;
$node = matriz('85.119.83.25', 8333); // el nodo que desea conectarse
$local = array('127.0.0.1', 8333); // nuestra ip y el puerto

list($node_ip, $node_port) = $nodo;
list($local_ip, $local_port) = $local;

echo "\nNode\n----\n";
echo 'versión: '.$versión.PHP_EOL;
echo 'nodo '.implode($nodo, ':').PHP_EOL;
echo 'local: '.implode($local, ':').PHP_EOL.PHP_EOL;


// ------------------
// 1. VERSIÓN MENSAJE
// ------------------

// Funciones Generales
función tamañodelcampo($campo, $bytes = 1) {
 $longitud = $bytes * 2;
 $resultado = str_pad($campo, $longitud, '0', STR_PAD_LEFT);
 return $resultado;
}

función swapEndian($hex) {
 volver implode(", array_reverse(str_split($hexagonal, 2)));
}

función byteSpaces($bytes) { // añadir espacios entre bytes
 $bytes = implode(str_split(strtoupper($bytes), 2), ' ');
 return $bytes;
}

// Versión Funciones De Mensaje 
la función de marca de hora($tiempo) { // convertir la hora orden de byte de red
 $tiempo = dechex($tiempo);
 $tiempo = tamañodelcampo($time, 8);
 $tiempo = swapEndian($tiempo);
 volver byteSpaces($tiempo);
}

función networkaddress($ip, $puerto = '8333') { // convertir la dirección ip a la orden de byte de red
 $servicios = '01 00 00 00 00 00 00 00'; // 1 = NODE_NETWORK

 $ipv6_prefix = '00 00 00 00 00 00 00 00 00 00 FF FF';

 $ip = explode('.', $ip);
 $ip = array_map("dechex", $ip);
 $ip = array_map("tamaño del campo", $ip);
 $ip = array_map("strtoupper", $ip);
 $ip = implode($ip), '');

 $puerto = dechex($puerto); // por alguna puta razón de esto es big-endian
 $puerto = byteSpaces($puerto);

 return "$servicios $ipv6_prefix $ip $puerto";
}

la función de suma de comprobación($cadena) {
 $cadena = hex2bin($cadena);
 $hash = hash('sha256', hash('sha256', $cadena, true));
 $checksum = substr($hash, 0, 8);
 volver byteSpaces($suma de comprobación);
}


// HACER QUE LOS MENSAJES

función makeMessage($payload) {

 // Encabezado
 $magicbytes = 'F9 SER B4 D9';
 $comando = '76 65 72 73 69 6F 6E 00 00 00 00 00';
 $payload_size = bytespaces(swapEndian(tamañodelcampo(dechex(strlen($payload) / 2), 4)));
 $checksum = suma de comprobación($payload);

 $header_array = [
 'magicbytes' => $magicbytes,
 'comando' => $comando,
 'payload_size' => $payload_size,
 'checksum' => $suma de comprobación,
];

 $encabezado = str_replace(' ', ", implode($header_array));
 echo 'Header: '; print_r($header_array);

 return $encabezado.$de carga;

}

función makeVersionPayload($versión, $node_ip, $node_port, $local_ip, $local_port) {

 // configuración
 $servicios = '01 00 00 00 00 00 00 00'; // (1 = NODE_NETORK)
 $user_agent = '00';
 $start_height = 0;

 // preparar
 $version = bytespaces(swapEndian(tamañodelcampo(dechex($versión), 4)));
 $timestamp = marca de tiempo(time()); // 73 43 c9 57 00 00 00 00
 $recv = networkaddress($node_ip, $node_port);
 $desde = networkaddress($local_ip, $local_port);
 $nonce = bytespaces(swapEndian(tamañodelcampo(dechex(mt_rand()), 8)));
 $start_height = bytespaces(swapEndian(tamañodelcampo(dechex($start_height), 4)));

 $version_array = [ // hexadecimal, orden de byte de red
 'version' => $versión, // 4 bytes (60002)
 'servicios' => $servicios, // 8 bytes
 'timestamp' => $timestamp, // 8 bytes
 'addr_recv' => $recv, // 26 bytes
 'addr_from' => $de, // 26 bytes
 'nonce' => $valor nonce, // 8 bytes
 'user_agent' => $user_agent, // varint
 'start_height' => $start_height // 4 bytes
];

 $version_payload = str_replace(' ', ", implode($version_array));
 echo 'Versión de Carga: '; print_r($version_array);

 return $version_payload;

}


// -----------------
// 2. CONECTE
// -----------------

// Imprime el zócalo de la función de error
la función de error() {
 $error = socket_strerror(socket_last_error());
 return $error.PHP_EOL;
}


// i. Crear la Versión de Mensaje (debe ser enviado al nodo que desea conectarse)
echo "Connect\n-------\n";
$payload = makeVersionPayload($versión, $node_ip, $node_port, $local_ip, $local_port);
$mensaje = makeMessage($payload);
$message_size = strlen($mensaje) / 2; // el tamaño del mensaje (en bytes) de ser enviado


// ii. Conectar a la toma y envío de la versión del mensaje
$socket = socket_create(AF_INET, SOCK_STREAM, 6); // IPv4, TCP utiliza este tipo, protocolo TCP
socket_connect($socket, $node_ip, $node_port);
socket_send($socket, hex2bin($mensaje), $message_size, 0); // no te olvides de enviar un mensaje en formato binario


// iii. Mantener la recepción de datos (inv mensajes) desde el nodo conectado
echo "\nReceiving paquetes desde $node_ip...\n\n";
while (true) {
 si (socket_recv($socket, $buffer), pow(2,10), MSG_DONTWAIT)) {
 echo bin2hex($buffer)."\n\n";
}
}



/* Recursos
 - https://en.bitcoin.it/wiki/Protocol_documentation
 - https://coinlogic.wordpress.com/2014/03/09/the-bitcoin-protocol-4-network-messages-1-version/
*/

Gracias a theymos por el consejo.

Cómo utilizar:

Acaba de cambiar la IP en la parte superior del nodo que se desea conectar, y se iniciará la recepción de cada mensaje que se envía de vuelta.

Advertencia: Es muy básico y sólo he conseguido que funcione, lo uso con precaución. Sin embargo, no parece estar funcionando.


Bonus: Aquí está uno en Python: Hacer pares de conexión en Python

+678
abranches 15 dic. 2015 2:25:12

¿Cómo puedo obtener el maestro de la clave privada de la HD billetera bitcoin core satoshi cliente 0.14.2? Cualquier comando para que en bitcoin core console? Actualmente estoy en Testnet3.

+495
Nikolay Schamberg 9 ago. 2016 2:45:15

Estoy leyendo esto y ahora se preguntan por qué el blockchain no está implementado como un árbol Merkle, o a la inversa, ¿por qué no se puede tener una única estructura de datos (es decir, una transacción de la cadena) en lugar del bloque de la cadena con anidada Merkle árbol de las transacciones.

+284
DamAngel 17 jul. 2019 19:30:20

Estoy pensando en comprarme un Bitmain Antminer S7 Lote 9.

Por desgracia, la Bitmain de la fuente de alimentación (APW3-12-1600-B2) no está disponible para mí, y necesito reemplazarlo con un regular de la fuente de alimentación de otra tienda.

Creo S7 necesita un 9 6pin conector PCI-E. No he visto un 9 6pin de la fuente de alimentación nunca.

Que la fuente de alimentación de poder de mi S7?

+212
Vikas Bansal 13 mar. 2011 9:56:54

Hay un número de lugares para retirar bitcoins y obtener el pago a través de PayPal.

+153
Mina Mounir 19 mar. 2019 1:17:37

El Bitcoin, la página de la wiki sobre la escalabilidad se ve en cómo serían las cosas si el volumen de transacciones fue similar a la de la Visa. Afirma:

Hoy en día el Bitcoin red está restringido a una velocidad constante de 7 tps algunos límites artificiales. Estos se pusieron en el lugar para detener a la gente globo del tamaño del bloque de la cadena antes de que la red y la comunidad estaba preparada para ello. Una vez que esos límites son levantados, el máximo tasa de transacción va a subir de manera significativa.

La página también contiene diversos cálculos sobre las repercusiones de la Bitcoin red de coincidencia de Visa de la tasa de procesamiento de transacciones (por lo cual la página unidos como alrededor de 2.000 transacciones/seg). Figuras de almacenamiento necesario para el blockchain se incluyen en los cálculos, pero está claro que como Bitcoin crece el núcleo backend nodos se requieren comerciales de los niveles de inversión en hardware y sistemas.

+114
crapbox 25 ene. 2014 20:25:58

BitcoinTalk tiene un novato de la política que requiere que los usuarios completar estos criterios, en orden a publicar en otros foros que el novato del foro:

  • 4 horas en línea
  • 5 puestos

Si ya has hecho contribuciones significativas a la Bitcoin comunidad fuera de BitcoinTalk, entonces usted puede buscar listas blancas, o la exención de el novato de la política.

+87
profit1000000000 11 jun. 2019 0:55:54

Mostrar preguntas con etiqueta