¿Por qué es CheckBlock llama dos veces cuando el procesamiento de un nuevo bloque?

Una vez que el Bitcoin nodo recibe un mensaje con un nuevo bloque, llama a la ProcessNewBlock función:

 else if (strCommand == "bloque" && !fImporting && !fReindex) // Ignorar los bloques recibidos durante la importación de
{
 CBlock bloque;
 vRecv >> bloque;

 CInv inv(MSG_BLOCK, bloque.GetHash());
 LogPrint("net", "recibido de bloque de %s peer=%d\n", inv.hash.ToString(), pfrom->id);

pfrom->AddInventoryKnown(inv);

 CValidationState estado;
 // Proceso de todos los bloques de la lista blanca a sus compañeros, incluso si no se solicita,
 // a menos que todavía estamos en la sincronización con la red.
 // Un no solicitadas bloque puede todavía ser procesados, sujeto a la
 // las condiciones en AcceptBlock().
 bool forceProcessing = pfrom->fWhitelisted && !IsInitialBlockDownload();
 ProcessNewBlock(estado, pfrom, &block, forceProcessing, NULL);
 int nDoS;
 if (estado.IsInvalid(nDoS)) {
 assert (estado.GetRejectCode() < REJECT_INTERNAL); // Bloques nunca son rechazadas con interno de códigos de rechazo
 pfrom->PushMessage("rechazar", strCommand, estado.GetRejectCode(),
 estado.GetRejectReason().substr(0, MAX_REJECT_MESSAGE_LENGTH), inv.hash);
 si (nDoS > 0) {
De BLOQUEO(cs_main);
 Portarse mal(pfrom->GetId(), nDoS);
}
}

Dentro de esta función, CheckBlock y AcceptBlock se llama:

// Verificaciones preliminares
bool comprueba = CheckBlock(*pblock, estado);

{
De BLOQUEO(cs_main);
 bool fRequested = MarkBlockAsReceived(pblock->GetHash());
 fRequested |= fForceProcessing;
 si (!checked) {
 retorno de error("%s: CheckBlock ERROR", __func__);
}

 // Almacenamos en el disco
 CBlockIndex *pindex = NULL;
 bool ret = AcceptBlock(*pblock, estado y pindex, fRequested, dbp);
 si (pindex && pfrom) {
 mapBlockSource[pindex->GetBlockHash()] = pfrom->GetId();
}
CheckBlockIndex();
 si (!ret)
 retorno de error("%s: AcceptBlock ERROR", __func__);
}

Dentro de la AcceptBlock función CheckBlock se llama de nuevo:

if ((!CheckBlock(bloque, estado)) || !ContextualCheckBlock(bloque, estado, pindex->pprev)) {
 if (estado.IsInvalid() && !estado.CorruptionPossible()) {
 pindex->nStatus |= BLOCK_FAILED_VALID;
setDirtyBlockIndex.insertar(pindex);
}
 return false;

¿Por qué es el CheckBlock función llama dos veces cuando el procesamiento de un nuevo bloque?

+487
Elist 2 feb. 2015 3:58:03
22 respuestas

En primer lugar, es muy peligroso para convertir una dirección pública de una forma diferente y, a continuación, utilizarlo, porque el propietario de esa dirección no estar esperando los pagos en otras formas, y podría resultar en el fondo de la pérdida. Sólo use las direcciones que el destinatario ha solicitado a utilizar.

Pero hay una diferencia entre un comprimido de clave pública y una dirección. Bitcoin direcciones que comienzan con 1 son base58 codificado keyhash con una suma de comprobación. Para obtener el hash de clave que es la ripemd/sha256 hash de la clave pública, que debe decodificar el base58 y velar por la suma de comprobación es correcta. A continuación, sólo tiene que utilizar la keyhash en la redimir a la secuencia de comandos, usted no necesita realizar más de hash para formar el P2WPKH secuencia de comandos. Observe que no hay ninguna manera de saber si una dirección de partida con un 1 utiliza un comprimido o sin comprimir de clave pública antes de que se gasta, así que si usted trató de convertir uno que tenía un sin comprimir clave, sería unspendable, muy peligroso, como he dicho antes.

Ver aquí para más detalles: https://bitcoincore.org/en/segwit_wallet_dev/#creation-of-p2sh-p2wpkh-address

+983
JAMES007 03 февр. '09 в 4:24

Estoy un poco confundido por la bitmixer.io sitio. Puedo entrar en la Dirección, donde quiero enviar bitcoins, pero no tengo idea de cómo ir desde allí. ¿Cómo puedo enviar bitcoins en el servicio? ¿Alguien puede aconsejarme cómo utilizar este sistema?

+916
Walter Johnson 11 nov. 2017 8:52:44

Un PC de propósito general de la CPU está tan lejos, superó especializadas de la minería de chips (ASIC) que su valor para la minería es casi nula. Tal vez el único caso en que un PC puede ser útil para la minería está en el comienzo de un cripto-monedas del ciclo de vida, cuando acaba de ser lanzado, y muy pocos son de explotaciones mineras. Pero cuando ASIC de minería de hardware se une a la moneda de la red, la dificultad aumentará y de procesamiento de la CPU mineros intrascendente. Si expande la definición de PC para incluir ASIC de minería de hardware, entonces la idea de la venta de hash de energía es muy interesante, sin embargo. He encontrado la siguiente referencia a esta idea: https://en.bitcoin.it/wiki/Hash_Market

+899
user3416151 2 nov. 2016 3:49:40

De acuerdo a blockchain.info la primera transacción bitcoin nunca pasa de 50 BTC a la dirección 1A1zP1eP5QGefi2DMPTfTL5SLmv7Divfna.

La clave pública de secuencia de comandos de la transacción es

PUSHDATA(65)[04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f] CHECKSIG'

El hash160 de 1A1zP1eP5QGefi2DMPTfTL5SLmv7Divfna es 62e907b15cbf27d5425399ebf6f0fb50ebb88f18, pero no veo las repeticiones de la misma en clave pública script de arriba (sí, soy consciente acerca de endianness problemas). ¿Cómo podría Blockchain.info saber que una salida de la transacción es 1A1zP1eP5QGefi2DMPTfTL5SLmv7Divfna?

+871
pterojacktyl 5 abr. 2019 22:15:06

He seguido este tutorial https://litecoin.info/Debian_Linux_cryptocoin_mining_rig_setup_guide y establecer una Mining rig (Debian 6.0.10). A veces la he modificado (descargado después controladores de gráficos que en el Tutorial sugestet etc) pero funciona y puedo mina en una piscina.

Pero puedo mina sólo si me registro como usuario root. Si yo inicie la sesión como un usuario normal y tipo de cgminer --verbose -T, me sale el siguiente error:

 [2015-02-15 22:36:50] Empezó a cgminer 3.7.2 
 [2015-02-15 22:36:50] Cargado el archivo de configuración /home/martin/.cgminer/cgminer.conf 
Ningún protocolo especificado
Ningún protocolo especificado
Ningún protocolo especificado
 [2015-02-15 22:36:50] CL Plataforma 0 proveedor de: Advanced Micro Devices, Inc. 
 [2015-02-15 22:36:50] CL Plataforma 0 nombre: AMD Accelerated Parallel Processing 
 [2015-02-15 22:36:50] CL Plataforma 0 versión: OpenCL 2.0 de AMD-APP (1642.5) 
 [2015-02-15 22:36:50] Error -1: Obtener los Id de Dispositivo (num) 
 [2015-02-15 22:36:50] clDevicesNum devolvió el error, no GPUs utilizable 
 [2015-02-15 22:36:50] Todos los dispositivos de movilidad, no la mía! 

Traté de configuración de todos los privilegios en las carpetas en la raíz que se utiliza para litecoin la minería a 777 y para cambiar el propietario para el usuario habitual, pero no funcionó. He copiado el archivo /root/.cgminer/cgminer.conf a /home/usuario/.cgminer/cgminer.conf, definir el usuario y el derecho a este archivo, pero esto no soluciona el problema.

Pero ¿por qué sólo el acceso root las OpenCL funciones que se utilizan, por qué no puede el usuario normal hacerlo?

Gracias.

+833
mikro 19 oct. 2012 5:12:24

Echando un vistazo en el "Cómo funciona" el documento en su página web, la primera vez que se menciona la palabra "Blockchain" está en su "Sobre la empresa" en la sección final del documento. Así que estaría muy seguro de que su producto no tiene absolutamente nada que ver con ningún tipo de blockchain tecnología.

+808
Crysler 13 ene. 2012 14:59:53

creo que es un malentendido de cómo bitcoin funciona? dirección no son generados por los nodos nodo ... sólo existen para validar su tx (o para evitar la doble problema de gasto) a continuación, se pone añadir a la mempool de allí a la blockchain ... ahora sólo el minero tiene el poder para escribir su tx para el blockchain ambos son dependientes el uno al otro

no sé a qué te refieres por MyEtherWallet.... eres el desarrollo de algo, o hacer el pago a alguien?

+775
Pulse 29 jun. 2017 6:09:39

Usted puede hacer estimatesmartfee 6 para calcular sugirió BTC/kB cuota de apuntamiento de confirmación en seis bloques. A continuación, puede hacer fundrawtransaction <tx> "{feeRate: 0.000 algo}" para agregar entradas con la tasa establecida. De esta manera, usted tendrá más control sobre los gastos.

+766
Zeyad Taher 21 oct. 2012 16:35:54

El ardor portal bloque explorer también supervisa la testnet, ver https://test.ardorportal.org/monitor

+736
hairyhenderson 13 oct. 2015 3:32:21
El incumplimiento remedio se utiliza para castigar a un rayo de socios de canal que intenta pagar de un estado obsoleto.
+721
user91308 26 sept. 2016 7:21:25

El lugar en el que yo trabajo es enorme y el consumo de energía no es un problema. Desde que me pasaba 8 horas de mi día, yo estaba pensando construir un cripto minería de hardware para llevarlo conmigo y deja que la mía.

No quiero salir de allí, así que necesito que sea de un tamaño que puedo llevar conmigo todos los días.

El ruido no es un gran problema, ya que la habitación que me tiene ya un par de equipos que son lo suficientemente fuertes.

Sobre el presupuesto. Yo estaba pensando en algo menos de 700-1k$

De lucro?: No me importa, para ser honesto. Si puedo tomar de nuevo la inversión de, al menos, sería bueno. Lo veo como un hobby con algún pequeño beneficio.

Quiero experimentar con diferentes altcoins y cambiar con el tiempo debido a la dificultad de la red.

Tienes algo que sugerir?

+612
Patti Mann 27 abr. 2016 7:12:35

He aquí una lista completa de 'récord' de la dirección de saldos a lo largo del tiempo:

 fecha de bloque de transacción saldo de la dirección
----------- ------ ----------- --------------- ----------------------------------
03 de enero de 2009 0 4a5e1e4b:0 50.00000000 1A1zP1eP5QGefi2DMPTfTL5SLmv7Divfna
14 de enero de 2009 496 a3b0e9e7:0 61.00000000 1BBz9Z15YpELQ4QP5sEKb1SwxkcmPb5Tms
El 15 de enero de 2009 586 4d6edbeb:0 250.00000000 19QKDUJtx9n7Vaga6nX1bVHdsnT4Khfyi6
19 ene 2009 1055 8897ea9c:0 500.00000000 15oUEZFKAC8E8BTLt1s1jx4fPxumwB3ecr
22 de enero de 2009 1296 59bf8acb:0 875.00000000 12higDjoCCNXSA95xZMWUdPvXNmkAduhwv
 [36 los registros omitidos para 12higDjoCCNXSA95xZMWUdPvXNmkAduhwv]
El 15 de enero de 2010 34887 ffcea1e6:0 72374.36000000 12higDjoCCNXSA95xZMWUdPvXNmkAduhwv
Oct 02 2010 83231 689f1772:0 110001.00000000 1LUPDXYf9XD9Ee1AqCuM3gZCA3ZMKgTcgw
Oct 02 2010 83240 0ee1f4e6:1 120001.00000000 1NJWs6g6hQsgxqtpRxXLhZJwHYhH2P2bvx
Oct 02 2010 83243 31b00090:0 122001.00000000 1NJWs6g6hQsgxqtpRxXLhZJwHYhH2P2bvx
27 de enero de 2011 104770 8f821069:0 400000.00000000 1AYtnRppWM7tWQaVLpm7TvcHKrjKxgCRvx
Jun 12 2011 130281 a09ac44c:1 432109.87654321 1KLahQtqDNAXvrjNyfvgSBtAhwco5ZxLp4
Jul 18 2011 136856, e4762860:1 434242.43424242 1eHhgW6vquBYhwMPhQ668HPjxTtpvZGPc
 [36 los registros omitidos para 1eHhgW6vquBYhwMPhQ668HPjxTtpvZGPc]
Jul 18 2011 136870 b96a37e4:1 474320.43424242 1eHhgW6vquBYhwMPhQ668HPjxTtpvZGPc
16 de noviembre de 2011 153509 29a3efd3:1 500000.00000000 1M8s2S5bgAzSSzVTeL7zruvMPLvzSkEAuv

Y esto muestra para el registro de transacciones tamaños:

 fecha de bloquear el monto de la transacción
----------- ------ ----------- ---------------
03 de enero de 2009 0 4a5e1e4b 50.00000000
14 de enero de 2009 496 a3b0e9e7 61.00000000
El 15 de enero de 2009 586 4d6edbeb 250.00000000
19 ene 2009 1055 8897ea9c 500.00000000
El 26 de enero de 2009 1945 5559270f 1000.00000000
Feb 09 2009 3645 cec658ac 2200.00000000
Mar 16 2009 7677 e6f00fa6 2400.00000000
Abr 20 2009 11666 eebd343e 3500.00000000
20 de julio de 2009 19863 123a3968 6049.53000000
16 de octubre de 2009 25095 4aa98b18 9700.00000000
El 22 de octubre de 2009 25618 1aae9d58 11950.00000000
Oct 24 2009 25788 5d793270 12250.00000000
En 27 de octubre de 2009 25969 3cd9410f 13000.00000000
Nov 04 2009 26402 6029e51c 15500.00000000
19 de noviembre de 2009 27525 f2e5fdd3 21850.00000000
19 de noviembre de 2009 27528 67fc73c7 22500.00000000
Mar 06 2010 44006 23709241 23247.39000000
Jul 12 2010 65566 ba62e528 35000.00000000
Jul 26 de 2010 70527 b9d69463 46753.13000000
Jul 28 2010 70870 73ac0fdc 50000.00000000
Nov 04 2010 89583 3bc57f90 50000.01000000
Nov 06 2010 90003 70dab592 55000.00000000
Nov 08 2010 90505 1ec28eee 96999.00000000
27 de enero de 2011 104770 8f821069 400000.00000000
Jun 12 2011 130281 a09ac44c 432109.88745232
Jun 23 2011 132749 3a1b9e33 442000.00000000
16 de noviembre de 2011 153509 29a3efd3 550000.00000000

Por lo tanto el equilibrio más grande y la mayor transacción en el bloque 153509.

La transacción es de un 10% más grande de lo necesario debido a un sub-óptimo de la moneda de selección de código en el cliente predeterminado. Se asegura de que, cuando el uso de un conjunto de monedas diferentes de hacer las entradas de transacción, que el seleccionado monedas total a menos del uno por ciento más de la cantidad transferida. Este es un intento de evitar la sub-ciento cambiar lo que daría lugar honorarios de la transacción. Sin embargo, en algunos casos, no es necesario para cualquier cambio en absoluto. En este caso, el "libre cambio" es asignada fue de un 50 BTC moneda. Desde entonces he presentado una solución para este problema. Este 500k de la moneda y su posterior movimientos provocó el alza en el mundial de Bitcoin volumen de transacciones contempladas en esta pregunta.

Los datos son exactos a como de 9 de febrero de 2012.

+541
Vladisss 19 jul. 2019 2:49:45

Hace el aumento de dificultad también sirven para disminuir la probabilidad de que un 51% de ataque?

Parece que desde que la dificultad es la misma para todos, este no es el caso. Es eso correcto?

Si la dificultad se perpetuamente, como mínimo, sería la probabilidad de que un 51% de ataque se dispare?

+514
Jim Sobers 6 jun. 2011 12:35:52

Veamos detenidamente en https://blockchain.info/tx/3a0c283c8574205c2cc95cea0e603bfff9087af2ab0360ebd2e98740a3193a18

la salida de #0 es msig 1-de-2 a { 0336aa4df526a776e2b72512bb65d8ad5c661360cc1de2ffe460b618c0bba6641e, 20434e5452505254590000000a00000000d806c1d5000000039dc87f4000000000 }

el primer número long [0336..641e] es la clave pública de la dirección de 1GcFhAQGFZVDAr4jiR2tKwisHcgNUjhGnc

la segunda [2043..0000] no es una dirección pública en todo. bc.yo hash a una dirección 17YnWEp2vjT1wEgALyy2BApY8CAMr78M7o

la dirección 1HT7xU2Ngenf7D4yocz2SAcnNLW7rK8d4e es hash160 ( 0000...0000 ) - clave pública no válida

a mí me parece que el cliente convierte todos válidos claves públicas de la dirección de 1HT7xU2Ngenf7D4yocz2SAcnNLW7rK8d4e

mira aquí: https://bitcointalk.org/index.php?topic=8728.msg202068#msg202068

y aquí: http://code.google.com/p/bitcoinj/issues/detail?id=264

+494
lndnmdn 20 nov. 2016 8:33:33

Acerca de bitcoin, Lo que es más anónimo?

1.el uso de la mezcla de servicio(he escuchado que hay muchos fraudes)

2.la compra con tarjeta de regalo de amazon en Paxful

+479
user3867775 2 ago. 2017 22:35:34

Cuando las transacciones que se crean son esencialmente una promesa de pago. Ellos se presentan como un mensaje a la red, donde cada nodo comprueba que el prometido el dinero existe y, a continuación, envía la transacción. Algunos de estos nodos recoger las transacciones con el fin de crear un nuevo bloque. Estos mineros son esencialmente participar en un gigante de la lotería, donde el ganador se lleva a crear un nuevo bloque.

Para ello, los mineros eligió las transacciones que se están tratando de confirmar y añadir sus propios Coinbase transacción. El Coinbase transacciones es el primero de un bloque y se pone a recoger los costos de transacción, se crea el bloque de la subvención, y contiene la segwit compromiso (en un segwit bloque). Todas las otras transacciones pueden ser elegidos en el ocio de los mineros, a pesar de que recoger las transacciones con la cuota más alta tasa, es decir, las transacciones que generan más ingresos para ellos, de forma predeterminada.

El proceso de extracción es de auto-ajuste, en que la dificultad de los bloques se restablece cada 2016 bloques. Por medio de la presente, la dificultad puede aumentar o decreaseee hasta en un factor de 4. Por lo tanto, la dificultad no siempre tiene que ser más grande, de hecho, hemos visto una disminución de un par de veces este año. No es un argumento para que se torne más lento, en el que últimamente la demanda de confirmación de la transacción ha sido mucho mayor que el tamaño de bloque que causó una gran cantidad de transacciones que permanecen sin confirmar por semanas, a veces.

Por otro lado, cualquier nueva mejor de la moneda sería ofrecen exactamente el mismo servicio, excepto el más rápido y más barato.

La cosa es: Una red nueva realidad no puede ofrecer el mismo servicio. Hay una enorme demanda para las transacciones de Bitcoin. Sin embargo, una nueva red sólo puede transmitir sus propias fichas. Si desea USD, aceptar Bolívares Venezolanos en su lugar? Aunque ha habido numerosos clones, copias y los tenedores, en los últimos ocho años, sólo es más barato, las transacciones no parece ser un incentivo suficiente para la adopción.

+390
Bynjashca 7 may. 2015 19:36:36

Ya no sé qué de cartera de la app en Android que estás usando, te voy a dar una respuesta que debería funcionar para cualquier:

Si usted crea una cuenta en Coinbase, usted puede importar sus claves privadas y, a continuación, enviar a una dirección en tu Android wallet. Esto requiere que las claves privadas están en formato de texto. Si su clave privada exportación está cifrada (con una contraseña que le haya dado) o codificada en algunos no evidente de la moda, usted necesitará algo para decodificar antes de utilizar esta opción.

Si se cifra en una manera que es compatible con el escritorio Bitcoin-QT cliente, usted puede reclamar de esa manera.

Si se cifra alguna otra manera, es probable que tengas que restaurar tu teléfono Android y escriba una contraseña para obtener acceso a los bitcoins. Este sería específicos de la aplicación que esté utilizando.

Si usted está usando Bitcoin Wallet, que parece ser la cosa más cercana a un "oficial" de Android de cliente, seleccione "copia de seguridad de Claves" en el menú (en mi dispositivo, pulse el Menú de hardkey para abrir esa) y, a continuación, haga clic en "Restaurar las claves privadas".

+242
Lawrence Pelletier 8 abr. 2018 16:05:30

Usted sólo necesita tener la clave privada de la dirección. Así que si usted tiene una cartera con un montón de dirección, usted necesita para almacenar, al menos, la clave privada para cada una de estas direcciones.

Para exportar/importar las claves privadas de/en una cartera de archivo puede utilizar Pywallet (marque esta pregunta).

Para el archivado a largo plazo es común a escribir las claves privadas en un pedazo de papel y guárdelo en un lugar seguro. Bitaddress.org podría ser útil para eso.

+226
Kurt Railey Santos 1 jun. 2012 22:59:24

La contraparte se basa en el blockchain de Bitcoin mientras que el NXT no es. Este sitio se compara Monedas Color con Mastercoin con la Contraparte, se le pueden ser útiles: http://www.bitcoin2comparator.org/

+204
ConnorYoto 27 dic. 2018 22:54:58

Por qué iba alguien a comprar BTC usando MtGox cuando el precio es mucho mayor que la de otros intercambios (por ejemplo, CoinBase)? Y por qué iba alguien a vender el uso de MtGox si usted tiene que esperar una ingente cantidad de tiempo para retirar el USD? En otras palabras, por qué es MtGox llegar cualquier negocio en todos?

+201
Baste Sales 7 ago. 2018 20:42:00

Estoy buscando un enfoque para construir una privacidad centrado en el peso más ligero de cartera.
Por privacidad centrado solo me refiero: la red de observadores debe ser capaz de adivinar las direcciones que pertenece a la misma cartera.
Para consultar información acerca de las direcciones debe ser privado.
Por la luz-peso me refiero a:
1. No almacenar cientos de GB de datos (unos está bien).
2. No sincronice para las edades. Debe ser terminado dentro de una hora tal vez.
El más ligero de privacidad de la preservación de enfoque que yo era capaz de encontrar es la poda, lo que solucionó mi primer criterio, pero no el segundo.
BIP37 no es una buena. (Ver: https://jonasnick.github.io/blog/2015/02/12/privacy-in-bitcoinj/)
¿Ustedes tienen sugerencias? (O me dirige a una habitación mejor para hacer esta pregunta?)







+198
TheTryMachine 6 oct. 2010 20:22:43

¿Alguien puede compartir y explicar los detalles de un z-efectivo blindado y transparente de la transacción?

El bloque de los exploradores tienen un mínimo de detalles. Ellos ni siquiera tienen una zk-pruebas en ellos.

+168
cwash 14 abr. 2013 21:36:02

Mostrar preguntas con etiqueta