Regtest no pago de dirección en minado bloque

He configurado un local de 5 nodos bitcoind regtest red con puertos únicos utilizando compilado bitcoin core 14.2. Puedo generar bloques, enviar transacciones entre los nodos, y la mina de transacciones que utilizan python minero que he construido. Sin embargo, el pago para la minería siempre va al nodo que la última vez que genera 101 bloques y no a la dirección en la mente de bloque para el nodo estoy utilizando a la mía. He comprobado que la dirección correcta es incluido en el minado de bloque y han comenzado a buscar en la bitcoid código para ver qué puede estar pasando en ese lado de la ecuación. Cuando me giro hasta el 5 nodos estoy usando el mismo código binario, pero con diferentes línea de comandos config.

Soy nuevo en bitcoin y lo ha estado haciendo durante los últimos dos meses para aprender cómo funciona. He tratado de investigar este problema y hasta ahora nada se ha vuelto y voy a seguir para depurar el minero y el núcleo. Mientras tanto, te agradecería mucho si alguien tiene sugerencias sobre lo que podría estar pasando y cómo solucionarlo.

Gracias, :D

+168
user9132 19 abr. 2011 16:24:01
16 respuestas

La piscina da una plantilla diferente para cada uno de los bloques minero. Cada minero, a continuación, genera un montón de diferentes bloques a partir de su plantilla. Para cada uno de estos bloques se tratan todos los posibles nonce valores, o al menos algunos de ellos. Se podría incluso utilizar un fijo nonce valor y sólo cambiar las otras partes del bloque - que estaría muy bien también, aunque menos eficiente como el nonce es una cosa rápida a cambio de que no requieren una nueva merkle raíz.

Probar todas las posibles nonce valores para un bloque sólo se tarda una fracción de segundo, y casi a cero la probabilidad de encontrar un bloque por debajo del objetivo.

Duplicar el trabajo es evitado por la piscina nunca dando el mismo bloque de plantilla dos veces.

Así que un minero no puede hacer el mismo trabajo que otro minero, porque nunca tiene el mismo bloque de la plantilla. Todavía puede hacer su propio trabajo dos veces si está muy mal diseñada. Pero en ese caso el trabajo duplicado de los resultados es rechazado por la piscina.

Lo que está pasando con la minería de datos es que se trate de miles de millones sobre miles de millones de bloques diferentes para encontrar uno con una almohadilla debajo de la meta actual. Cambiar el valor nonce es sólo una (muy limitado) de manera de generar más bloques. Si sólo cambia el nonce, a continuación, sólo tiene un par de bloques de probar y es muy poco probable que alguno de ellos tendrá un valor de hash por debajo de la meta.

+947
Sirena 03 февр. '09 в 4:24

Usted debe seguir Gopoi la asesoría y el uso multisig. Hay un par de problemas con su sistema. El primer problema es cómo dos personas comparten su contraseña. Uno de ellos podría mentir y hacer que toda la contraseña. Incluso si comparten los valores de la derecha, tienen que estar de acuerdo para enviar una transacción que divide los fondos. El usuario que envía la transacción puede hacer trampa y enviar todo a su cuenta.

Además, observe que la seguridad es mucho peor. No estoy seguro de lo que quieres decir con 1/3 de la seguridad. Si se refiere a los bits/dígitos esto es correcto, pero esto es mucho menos de seguridad. En tu ejemplo, en lugar de tratar todos los valores de 0 a 999999999, cualquiera de los participantes puede adivinar la contraseña con sólo 1000 intentos (sólo hay que rellenar tres lagunas). En Bitcoin, en lugar de una clave con alrededor de 256 bits, se obtiene alrededor de 86 bits de seguridad. Esto parece bastante decente para tiempos cortos, pero es mucho menos seguro.

Con multisig los usuarios solo podrán firmar una transacción que está de acuerdo con. Ellos saben lo que reciben, la clave es tan fuerte como en cualquier otra operación, y es más fácil para escalar a más de tres usuarios.

+921
user316675 16 abr. 2015 5:19:51

Sí por defecto de las versiones más recientes de bitcoin core debe tener zeromq habilitado de forma predeterminada. Marque aquí -> https://github.com/bitcoin/bitcoin/blob/master/doc/zmq.md

Si usted está usando java puede utilizar el fragmento de código que hay (el uso de https://github.com/zeromq/jeromq ) -> ¿Cómo puedo analizar la zeroMQ mensajes en java?

+869
goodguy5 12 may. 2012 19:10:56

Su mejor apuesta sería la de implementar la GPU para generar la clave privada.

Hay herramientas como vanitygen en Gihub donde se puede generar claves usando OpenCL libs y la GPU, o simplemente utilizar btcrecover herramienta (pueden necesitar modificaciones en su caso)

El Vanitygen github está aquí: https://github.com/samr7/vanitygen BTC recuperar Github está aquí: https://github.com/gurnec/btcrecover Buena suerte! /KX

+774
gracie Cooper Wilson 4 oct. 2011 19:56:53

Necesita actualizar las reglas udev (en el SO huésped) con este comando:

wget -q -O - https://raw.githubusercontent.com/LedgerHQ/udev-rules/master/add_udev_rules.sh | sudo bash

Funciona, he verificado.

fuente: https://support.ledgerwallet.com/hc/en-us/articles/115005165269

+744
lackua 17 ago. 2019 19:44:25

No todas las transferencias bancarias contienen la misma información por lo que este puede variar de acuerdo en que el banco de la red de cableado se utiliza.

Por ejemplo, CurrencyFair puede funcionar como un método para añadir fondos desde una cuenta en el reino unido (GBP) el uso de un alambre de banco y, a continuación, después de la conversión a EUROS de retiro como una transferencia bancaria a la SEPA BITSTAMP.neto Mt. Gox, y cualquier otro cambio que acepta transferencias de la SEPA.

+692
Tushar kanash 25 dic. 2016 3:37:22

Yo bifurcada bitocin y creó una altcoin.

Ahora estoy corriendo un nodo de la misma. Actualmente hay 0 bloques debido a que no existen los mineros. ¿Cómo puedo habilitar la minería en bitcoind?

He intentado añadir gn=1 con la configuración, pero no a la minería.

Creo que hubo un setgenerate cierto comando, pero no estoy seguro de cómo usarlo. ¿Cómo puedo hacer que mi nodo de la mina de monedas?

+678
user41656 4 abr. 2011 9:33:22

Sí, son parcialmente correctas así como equivocado.

Todas las transacciones que se trata de una cartera de direcciones de exchange no sólo las cuentas de un usuario único depósito, pero también pueden ser múltiples entradas del usuario o incluso tasas de cambio recogidos durante un período de tiempo. Algunas de las carteras son también de almacenamiento en frío, que se utilizan para mucho mejor la seguridad de los fondos depositados por un intercambiador.

Del mismo modo, para la retira puede ser paquete de retira por muchos usuarios, también muchos de los empleados en estas empresa recibe el pago en BTC solo. También, como MeshCollider dijo, algunos también puede ser una transferencia para el almacenamiento en frío queridos.

+610
nacho10f 3 sept. 2019 13:27:26

Actualmente la keypool no es un grupo de direcciones. No se pueden poner direcciones en el keypool. Usted necesita ser la importación de claves públicas en orden para cualquier cosa, para ser agregado a la keypool.

+593
zlata1111 27 sept. 2015 3:06:54

Soy un auto pensado diseñador/programador que sabe básica photoshp/css3/html5 y un poco de python/php. Nunca he usado una API para obtener estadísticas, por lo que puede usted por favor me apunte en la dirección correcta?

Me encantaría mostrar la 24 horas abierto, de alto y de bajo precio de BTC en mi php sitio, aquí es la referencia de la api: https://docs.gdax.com/?php#get-historic-rates

Podría alguno de ustedes hacer una .archivo php con el código necesario para mí? Sería una gran ayuda.

Tengo este código para empezar:

<?php

// obtener el método HTTP, la ruta de acceso y el cuerpo de la solicitud
$method = $_SERVER['REQUEST_METHOD'];
$request = explode('/', trim($_SERVER['PATH_INFO'],'/'));
$entrada = json_decode(file_get_contents('php://input'),true);

// conectarse a la base de datos mysql
$link = mysqli_connect('localhost', 'usuario', 'pass', 'dbname');
mysqli_set_charset($link,'utf8');

// recuperar la tabla y la clave de la ruta de acceso
$tabla = preg_replace('/[^a-z0-9_]+/i',",array_shift($request));
$clave = array_shift($request)+0;

// escapar de las columnas y los valores del objeto de entrada
$columnas = preg_replace('/[^a-z0-9_]+/i',",array_keys($entrada));
$valores = array_map(function ($valor) uso ($link) {
 if ($valor===null) return null;
 volver mysqli_real_escape_string($enlace,(string)$valor);
},array_values($entrada));

// crear el CONJUNTO de parte del comando SQL
$set = ";
for ($i=0;$i<count($columnas);$i++) {
$set.=($i>0?',':")."'.$las columnas[$i]."=';
$set.=($valores[$i]===null?'NULL':'"'.$los valores de[$i].'"');
}

// crear SQL basado en el método HTTP
switch ($method) {
 el caso de 'GET':
 $sql = "select * from `$tabla`".($clave?" Where id=$key":"); break;
 el caso de 'PONER':
 $sql = "update `$tabla` set $set where id=$clave"; break;
 el caso de 'POST':
 $sql = "insert into `$tabla` set $set"; break;
 el caso de 'ELIMINAR':
 $sql = "delete `$tabla` where id=$clave"; break;
}

// ejecutar la instrucción SQL
$resultado = mysqli_query($link,$sql);

// se mueren si la instrucción SQL error
if (!$resultado) {
http_response_code(404);
die(mysqli_error());
}

// resultados de impresión, introduzca el id o número de filas afectadas
if ($method == 'GET') {
 if (!$clave) echo '[';
 for ($i=0;$i<mysqli_num_rows($resultado);$i++) {
 echo ($i>0?',':").json_encode(mysqli_fetch_object($resultado));
}
 if (!$clave) echo ']';
} elseif ($method == 'POST') {
 echo mysqli_insert_id($link);
} else {
 echo mysqli_affected_rows($link);
}

// cerrar la conexión de mysql
mysqli_close($link);

Gracias!

+493
hn3935 8 nov. 2013 8:31:44

Puede una cartera que permiten recibir Bitcoins de la misma cartera de enviarlos, y si es así, ¿por qué habría de haber alguna razón por la que esto no se debe hacer.

+488
Julian Poidevin 15 sept. 2019 4:14:24

Por favor, no seas grosero, yo no estoy buscando hacer una vida en bitcoin minería, sólo estoy experimentando un poco con ella. Al menos me gustaría, pero no puedo utilizar correctamente el GUIMiner. Creo que debo ser un poco mejores precios, como dos veces tan bueno como ahora.

Yo no veo ninguna opción para habilitar el procesamiento de la GPU, sólo puedo ver a mi CPU en la lista. Mi hardware: procesador Intel Dual-Core E5200, 2GB de RAM DRR2, Radeon HD7730 2 GB VGA.

Ya he instalado el AMD herramientas de desarrollador/kit, que no hizo ninguna diferencia.

Realmente se parece a mí, que sólo utiliza mi CPU.

Captura de pantalla:

GUIMiner screenshot

+416
Nododo 23 dic. 2017 2:39:07

Hay algunos conflictos de información que hay sobre si esto es cierto o no. Estoy buscando una respuesta técnica a este, con la esperanza de aclarar el futuro potencial de confusión sobre el asunto.

La pregunta principal es: Puede viejo no actualizado no segwit consciente de carteras canjear un segwit de salida que recibe?

Segwit de salida se define como un punto fuera de tener un P2WPKH o P2WSH estructura tal y como se exponen en bip141 en su scriptPub sección.

Como yo lo entiendo, cuando un viejo monedero recibe un segwit transacción significó para él(asumir tx ya es extraído en un bloque), se verá 0 <20 bytes hash>(suponiendo que P2WPKH) en el scriptPub de este segwit transacción. La interpretación de este bajo no segwit reglas, antiguo carteras de ver esto como anyone_can_spend , la parte superior de la secuencia de comandos de la pila siempre se evalúa a truthy independientemente de lo que se proporciona en el scriptSig en la acción redentora de la transacción.

La única manera de que la cartera de utilizar o canjear este segwit de salida es la construcción de una transacción como esquema en el pbi. Que es, se construye la transacción especificando prev_txid y el índice como normal, un vacío scriptSig y un programa de testigos + testimonio de hash. Pero no segwit consciente de la cartera no saben cómo construir la última parte de este. Sin esa parte, segwit la validación de los nodos y los mineros tendrán que rechazar esta transacción.

Así que a partir de esto, naturalmente se deduce que la edad no segwit carteras no debe ser capaz de pasar segwit transacciones.

Nota, esta pregunta no es acerca de:

  • viejo carteras de envío no segwit entradas -> para un segwit de salida.
  • segwit carteras envío de segwit entradas -> no segwit de salida.
+332
Tanaya Patankar 10 oct. 2012 0:29:16

No podía ser de compras de Navidad? Las personas que tienen gruesas billeteras bitcoin, la necesidad de dólares para comprar los regalos de Navidad? Muchos minoristas en línea que la mitad de su dinero mediante la venta de regalos de Navidad.

+300
Net 9 jun. 2018 14:52:01

Desde mi pybitcointools horquilla cuestiones:

Estoy teniendo algunos extraños problemas con la firma a veces funciona y otras veces no. Cuando veo '[TODO]' en scriptSig que cuando me saber que se va a trabajar. Pero yo no siempre lo consigue. Cualquier ayuda sería genial, y si puedo encontrar una solución, te voy a enviar una solicitud de extracción.

python tx = mktx(entradas, salidas) tx = mk_opreturn(hex_hash, tx) tx = signo(tx, 0, from_priv)

Aquí es una transacción en la que trabaja: 0100000001dc4c6936943c073fca8164d8d18fdb6095ce46baff328b7e7c1230d82aaad69b010000008a473044022033f80a4c35013d5aab9d4f2763b5761188747eebb67fe15b0379f0c09b37c811022019de06d98d37da77c84bfb6f89ff2194b46a135fe8aa9677b285123b73407341014104e7919ecea9c7e9378aec49a055c532f8e0f9aea653e7c9cbe38ad2d2833a9d908f4d7bf771583f9d1e62574c42847e1aa00d506a32b9004b9b2051e3e53e2767ffffffff02803e0000000000001976a914826d9548ee793a060990bc39a01eca5521841a0988ac0000000000000000226a202c624232cdd221771294dfbb310aca000a0df6ac8b66b696d90ef06fdefb64a300000000

python {u'code': 200, u'data': {u'statistics': {u'fee': u'0.00005600', u'vins_sum': u'0.00021600', u'vouts_sum': u'0.00016000'}, u'tx': {u'locktime': 0, u'size': 266, u'txid': u'8cfa33f2eb56a443b10d929b818b01a3a3e3a970d526d212785a2b42b2d19cb9', u'version': 1, u'vin': [{u'scriptSig': {u'asm': u'3044022033f80a4c35013d5aab9d4f2763b5761188747eebb67fe15b0379f0c09b37c811022019de06d98d37da77c84bfb6f89ff2194b46a135fe8aa9677b285123b73407341[ALL] 04e7919ecea9c7e9378aec49a055c532f8e0f9aea653e7c9cbe38ad2d2833a9d908f4d7bf771583f9d1e62574c42847e1aa00d506a32b9004b9b2051e3e53e2767', u'hex': u'473044022033f80a4c35013d5aab9d4f2763b5761188747eebb67fe15b0379f0c09b37c811022019de06d98d37da77c84bfb6f89ff2194b46a135fe8aa9677b285123b73407341014104e7919ecea9c7e9378aec49a055c532f8e0f9aea653e7c9cbe38ad2d2833a9d908f4d7bf771583f9d1e62574c42847e1aa00d506a32b9004b9b2051e3e53e2767'}, u'sequence': 4294967295, u'txid': u'9bd6aa2ad830127c7e8b32ffba46ce9560db8fd1d86481ca3f073c9436694cdc', u'vout': 1}], u'vout': [{u n': 0, u'scriptPubKey': {u'addresses': [u'1Cte7ugUwdPt3WWt5uxVfUu2dDnony8oqa'], u'asm': u'OP_DUP OP_HASH160 826d9548ee793a060990bc39a01eca5521841a09 OP_EQUALVERIFY OP_CHECKSIG', u'hex': u'76a914826d9548ee793a060990bc39a01eca5521841a0988ac', u'reqSigs': 1, u'type': u'pubkeyhash'}, u'value': 0.00016}, {u n': 1, u'scriptPubKey': {u'asm': u'OP_RETURN 2c624232cdd221771294dfbb310aca000a0df6ac8b66b696d90ef06fdefb64a3', u'hex': u'6a202c624232cdd221771294dfbb310aca000a0df6ac8b66b696d90ef06fdefb64a3', u'type': u'nulldata'}, u'value': 0}]}}, u'message': u", u'status': u'success'}

Y aquí hay uno que no: 0100000001dc4c6936943c073fca8164d8d18fdb6095ce46baff328b7e7c1230d82aaad69b010000008a4730440220da574cbdac23291faf41d5bd94ae77fe166ab7daebf1a038efa549e441af4dad02206803cadd187e6e4c80c30af06c5d7cfad327fd4d03850a539639e42dea44e8e0014104e7919ecea9c7e9378aec49a055c532f8e0f9aea653e7c9cbe38ad2d2833a9d908f4d7bf771583f9d1e62574c42847e1aa00d506a32b9004b9b2051e3e53e2767ffffffff02803e0000000000001976a914826d9548ee793a060990bc39a01eca5521841a0988ac0000000000000000226a203f79bb7b435b05321651daefd374cdc681dc06faa65e374e38337b88ca046dea00000000

python {u'code': 200, u'data': {u'statistics': {u'fee': u'0.00005600', u'vins_sum': u'0.00021600', u'vouts_sum': u'0.00016000'}, u'tx': {u'locktime': 0, u'size': 266, u'txid': u'03360c8848808714304bc14188fd2de9d40465a38dceaa153a7fcffdb5ba7a49', u'version': 1, u'vin': [{u'scriptSig': {u'asm': u'30440220da574cbdac23291faf41d5bd94ae77fe166ab7daebf1a038efa549e441af4dad02206803cadd187e6e4c80c30af06c5d7cfad327fd4d03850a539639e42dea44e8e001 04e7919ecea9c7e9378aec49a055c532f8e0f9aea653e7c9cbe38ad2d2833a9d908f4d7bf771583f9d1e62574c42847e1aa00d506a32b9004b9b2051e3e53e2767', u'hex': u'4730440220da574cbdac23291faf41d5bd94ae77fe166ab7daebf1a038efa549e441af4dad02206803cadd187e6e4c80c30af06c5d7cfad327fd4d03850a539639e42dea44e8e0014104e7919ecea9c7e9378aec49a055c532f8e0f9aea653e7c9cbe38ad2d2833a9d908f4d7bf771583f9d1e62574c42847e1aa00d506a32b9004b9b2051e3e53e2767'}, u'sequence': 4294967295, u'txid': u'9bd6aa2ad830127c7e8b32ffba46ce9560db8fd1d86481ca3f073c9436694cdc', u'vout': 1}], u'vout': [{u n': 0, u'scriptPubKey': {u'addresses': [u'1Cte7ugUwdPt3WWt5uxVfUu2dDnony8oqa'], u'asm': u'OP_DUP OP_HASH160 826d9548ee793a060990bc39a01eca5521841a09 OP_EQUALVERIFY OP_CHECKSIG', u'hex': u'76a914826d9548ee793a060990bc39a01eca5521841a0988ac', u'reqSigs': 1, u'type': u'pubkeyhash'}, u'value': 0.00016}, {u n': 1, u'scriptPubKey': {u'asm': u'OP_RETURN 3f79bb7b435b05321651daefd374cdc681dc06faa65e374e38337b88ca046dea', u'hex': u'6a203f79bb7b435b05321651daefd374cdc681dc06faa65e374e38337b88ca046dea', u'type': u'nulldata'}, u'value': 0}]}}, u'message': u", u'status': u'success'}

El problema OP añade:

Así me enteré de cómo mitigar, sólo tengo que seguir cambiando el hash hasta que funcione. La forma en que actualmente estoy haciendo es por el decremento de mi cuota de transacción por un satoshi en un momento. Ahora tengo que arreglar el código. :D

¿Por qué sólo ciertos valores de hash que esté bien firme, pero hay otros que no? Estaba pensando que podría ser un azar la baja de s problema donde r es XORd si baja s.

+61
ItsDom 19 sept. 2010 20:47:08

Mi especulación acerca de esto fue que el Etereum IPO vio una gran cantidad de bitcoins que se venden y se convierte a Fiat. Por lo tanto, se inició una oleada de ventas que se convirtieron en grandes y causó gran cantidad de personas a vender su moneda temiendo la caída de los precios. Todo se vino abajo en una ola, y en un corto período de tiempo.

+12
bath 26 oct. 2012 8:23:56

Mostrar preguntas con etiqueta