Consenso problema, de sincronización. atascado en "Sincronizar sporks - 25%" - PIVX tenedor

He estado trabajando en un PIVX de la horquilla durante algún tiempo, para comprender mejor la blockchain de la infraestructura y la codificación en general. He sido capaz de modificar todos los parámetros, eliminar puntos de control, configurar un nuevo génesis bloque de blockchain y ambos permiten el PoW y desactivar PoW/interruptor a de PoS y masternode con éxito.

Estoy un poco atascado sin embargo, en esta última pieza del rompecabezas - spork de sincronización. Después de configurar un nodo semilla, puedo continuar con la sincronización de 12% a 25%, sin embargo, nunca podrá ir más allá de esa instancia.

La sensación que tengo es que tiene que ver con spork los tiempos de activación (en spork.h), sin embargo, el cambio de estos valores no han trabajado en conseguir la sincronización completa. Soy consciente de que no puedo entender cómo los sporks se supone que para sincronizar bastante bien, así que espero que alguien pueda me apunte en la dirección correcta.

Cualquier ayuda es muy apreciada.

He estado trabajando en un PIVX de la horquilla durante algún tiempo, para comprender mejor la blockchain de la infraestructura y la codificación en general. He sido capaz de modificar todos los parámetros, eliminar puntos de control, configurar un nuevo génesis bloque de blockchain y ambos permiten el PoW y desactivar PoW/interruptor a de PoS y masternode con éxito.

Estoy un poco atascado sin embargo, en esta última pieza del rompecabezas - spork de sincronización. Después de configurar un nodo semilla, puedo continuar con la sincronización de 12% a 25%, sin embargo, nunca podrá ir más allá de esa instancia.

La sensación que tengo es que tiene que ver con spork los tiempos de activación (en spork.h), sin embargo, el cambio de estos valores no han trabajado en conseguir la sincronización completa. Soy consciente de que no puedo entender cómo los sporks se supone que para sincronizar bastante bien, así que espero que alguien pueda me apunte en la dirección correcta.

Cualquier ayuda es muy apreciada.


Mirando a través de masternode-sync.cpp, creo que estos casos:

 caso (MASTERNODE_SYNC_SPORKS):
 RequestedMasternodeAssets = MASTERNODE_SYNC_LIST; 
break;
[....]
 BOOST_FOREACH (CNode* pnode, vNodes) {
pnode->ClearFulfilledRequest("getspork");
[....]
 si (mnodeman.CountEnabled() == 0 ) {
 si(syncCount < 2){
Reset();
syncCount++;
}
 } else
de retorno;
[....]
 si (RequestedMasternodeAssets == MASTERNODE_SYNC_SPORKS) {
 si (pnode->HasFulfilledRequest("getspork")) continue;
pnode->FulfilledRequest("getspork");

 pnode->PushMessage("getsporks"); //obtiene la corriente de la red sporks
 si (RequestedMasternodeAttempt >= 2) GetNextAsset();
RequestedMasternodeAttempt++;

de retorno;
[....]
 //establecer sincronizados
 si (RequestedMasternodeAssets == MASTERNODE_SYNC_SPORKS) {
 si (pnode->HasFulfilledRequest("getspork")) continue;
pnode->FulfilledRequest("getspork");

 pnode->PushMessage("getsporks"); //obtiene la corriente de la red sporks
 si (RequestedMasternodeAttempt >= 2) GetNextAsset();
RequestedMasternodeAttempt++;

de retorno;
}

Parecen corrobarate sí que es una falta de nodos; parece que al menos 2 nodos necesarios para completar la sincronización de la sporks?

+810
user36867 11 may. 2017 6:24:27
17 respuestas

Para crear un pago, usted necesita una clave privada con una clave pública que tiene fondos, una clave pública del destinatario, tiene el hash de la última transacción realizada en su clave pública, y realizar algunas operaciones hash en todos los.

Bloque explorer proporciona toda la información, pero la clave privada. Si usted tiene que, se puede generar una válida la transacción en su cuenta.

+867
Lukas Hoffmann 03 февр. '09 в 4:24

Hay una nueva crypto plataforma de negociación que calcula automáticamente todos tus P&L basan en el promedio de precio de compra (que es también auto-calculado) y mide su rendimiento comercial.

Echa un vistazo a la demo: https://whenlambo.trade/demo

+838
Maharlikans 23 ago. 2018 7:23:41

Usted puede calcular el tamaño de la transacción antes de enviar la transacción. Aquí tenéis más información sobre esto:

Cómo calcular el tamaño de la transacción antes de enviar

Una sola transacción no se limita a cómo muchas de las salidas que tiene, más bien, hay algunos límites a lo grande de un bloque. Usted puede leer más aquí:

Cuántos diferentes destinos puede una sola transacción?

EDITAR: Después de calcular el tamaño, se puede calcular las tasas por el uso de este método (que toma en cuenta el código principal.h):

¿Cuál es la fórmula exacta para calcular los honorarios de la transacción?

+816
MargoGener 29 abr. 2015 23:46:12

Dicen que generar una nueva dirección Bitcoin usando una herramienta como bitaddress.org, inmediatamente puede recibir un pago en esa dirección. Una vez recibido el pago, ya lo "propio" de la cantidad, porque tiene la clave privada para desbloquear los fondos. El hecho de que la dirección no está en su billetera.dat no importa. En ese sentido, no hay nada de "recoger" aquí.

Usted podría, por supuesto, la importación de la clave privada en el software de cliente de lo que realmente puede gastar los fondos en algún momento.

Con el real efectivo (billetes de un dólar), la posesión de la propiedad. Con Bitcoin, el conocimiento de la clave privada es la propiedad. Si usted tiene la clave privada, el dinero es suyo.

Ver también: Brainwallet

+814
lucasjb 14 nov. 2019 4:13:53

Tratando de uso de [email protected] como una manera de asegurar Bitcoin sería muy difícil si no imposible. Usted tendría que codificar Bitcoin relacionados con los datos en su resultado (merkle raíz, hash del bloque anterior, etc.).

Sin embargo, puede utilizar [email protected] para crear un sistema centralizado de divisas. Decir, por cada unidad de trabajo terminado, uno podría ganar 1 Veces o algo así. Aquellos que podrían ser objeto de comercio entre las personas y se utiliza como cualquier otra moneda. Esto funcionaría si hubo algunas personas que deseen negociar nada de los valores de los Pliegues - tal vez algunas personas que quieran apoyar el proyecto comenzaría la compra de ellos por el dinero y empezar a conducir la economía de esta manera. Tal vez podría ser posible el uso de Pliegues a pagar, digamos, el 10% de sus cuotas de la universidad. Si no hay suficientes personas que desean para este monetaria proyecto para tener éxito, podría funcionar, siempre y cuando usted confía en la parte que se encarga de manejar el dinero.

+813
Maxim Kholyavkin 15 nov. 2015 3:06:33

Si usted confía en el bitcoind y JSON-RPC API podría intentar el lanzamiento de demonio con -walletnotify opción.

bitcoind -demonio -waletnotify="process-txn.sh %s"

Esto llamará process-txn.sh con el id de la transacción en la entrada. A continuación, puede consultar el demonio para los detalles de la transacción.

+625
Sydni Racer 27 abr. 2019 13:27:28

Puedes echar un vistazo en el Obelisco & Sx. Si usted quiere algo que también podría hospedar a ti mismo. Sx tiene una sx saldo <DIRECCIÓN> comando que también tiene un Total de campo. Que creo que es lo que usted está buscando. También puedes interfaz de un Obelisco servidor a través de las librerías de python.

+538
bazilik96 2 sept. 2018 2:58:19

En términos de facilidad de escalabilidad, el número total de usuarios es el actual bitcoin sistema más adecuado para? Ejemplo: La corriente de minería de bitcoin límite se establece en 21 millones, por lo tanto el bitcoin techo no permite por 7 millones de usuarios (la Tierra del crecimiento de la población). Así que, ¿cuál es la cantidad máxima de usuarios de bitcoin es ideal para?

+477
ncvo 7 abr. 2018 4:30:25

Hay algún lugar puedo ver raw json bitcoin transacciones (como se discutió en este tutorial).

+475
dreagan 21 nov. 2013 1:47:15

Básicamente un programa que se puede ejecutar algunos de los valores hash de todos los hash diferentes funciones que se utilizan en los diferentes grandes cryptocurrencies y, a continuación, obtener la dificultad actual de todos ellos. Desde allí se puede determinar cuántas de esas monedas que usted podría ser la minería y buscar un tipo de cambio a partir de ahí.

Suponía que yo debía cambiar mi GPU de la minería de bitcoins a litecoins, pero me estaba preguntando si vale la pena.

Yo estaba pensando en empezar a escribir un pequeño script para hacer esto de forma automática si nada de esto existe.

+459
user55143 24 mar. 2015 20:58:51

Puede ser que tales ataques ser detectado? Sí.

Lo que puedes ver es una cadena de reorganización, lo que invalida un grande (más de tres) número de aceptada previamente bloques. El estándar de cliente realmente registro de este, se verá un REORGANIZAR en el cliente de depuración.registro de archivo. El cliente actualmente no registro el número de bloques invalidado por la reorganización, pero eso es una simple mejora.

Pueden los usuarios honestos revertir esos ataques? Tipo de.

Si una transacción que le preocupa es en el conjunto de bloques que fue invalidado, siempre se puede volver a enviar la transacción. A menos que el remitente emitió una transacción en conflicto como parte de un doble pasar ataque, la transacción sigue siendo válido. (La red que en realidad va a hacer esto para usted automáticamente. Los mineros no quieren perder la oportunidad de agarrar los costos de transacción asociados con el deshecho de las transacciones.)

Como una solución a largo plazo, no han sido las propuestas discutidas para rechazar las reorganizaciones que invalidan sospechosamente grandes números de bloques como cuatro o más. El problema con estas propuestas es que, bajo circunstancias inusuales (como si de un desastre particiones Internet durante media hora), la red de forma permanente puede dividir con cada lado de rechazar al otro lado del bloque de la cadena como un sospechoso de reorganización.

Esencialmente, el cliente tendría que ir a un "bloqueo" de modo que si esto sucedió y rechazar todas las transacciones hasta que algún mecanismo para encontrar el verdadero bloque de la cadena podría ser implementado. (Puede presentar todas las transacciones a las dos cadenas y considerar sólo las transacciones aceptadas en tanto como confirmado!) Una propuesta utiliza una autoridad central para recoger el real de la cadena. Esta es un área donde no hay espacio para la innovación.

Un punto importante a tener en cuenta, sin embargo: Si el remitente no es intentar un doble pasar ataque, tienes que preocuparte de nada (aparte de la reducción de la utilidad de un inestable red de intercambio). Usted puede enviar la transacción para el bloque de la cadena tantas veces como sea necesario hasta que algún bloque que contiene la transacción, finalmente, ganar. Sólo el remitente puede crear un conflicto de transacción que le hacen incapaz de obtener la transacción que importa en la cadena.

Actualización: De hecho, usted puede perder monedas, incluso si el remitente no estaba tratando de doble pasar ataque. Supongamos que a envía a B el dinero y, a continuación, B envía C dinero, si con éxito utiliza un doble pasar ataque a anular la transacción que envía las monedas de B, el envío de la B a la C puede fallar (debido a un conflicto de transacciones medios B nunca va a tener los fondos para gastar) aunque B no estaba intentando un doble pasar ataque.

+451
Carano 11 mar. 2012 3:46:11

La mayoría de las minas capaz de monedas son esencialmente los clones de la bitcoin código y por lo tanto tienen testnet. Muchos alt-coins no tienen muy activo testnets por lo que encontrar un compañero en esta red puede tomar tiempo, pero dada la suficiente paciencia, su alt-coin testnet nodo va a encontrar otra conexión.

Si usted es impaciente usted puede buscar en google para "testnet addnode" e incluir la moneda que usted está buscando; esto (ojalá) encontrar mensajes en el foro de gente que tiene el programa de instalación/encontrar la dirección IP de un testnet en su deseada de la moneda, añadir esto a tu archivo de configuración hará que su cliente intenta conectarse a esta IP en el inicio. Si usted necesita ayuda con una moneda particular, házmelo saber :)

+409
wga 12 sept. 2011 6:23:40

Este post by Mike Hearn se relaciona un poco de interés de la historia:

Cuando Bitcoin fue lanzado por primera vez, contenía dos completamente fatales errores que hicieron que todo el sistema de valor. Afortunadamente, se encontró y corrigió antes de Bitcoin en realidad tenía serias valor.

El primer error fue que los scripts se concatenan antes de que se ejecute en lugar de sólo el uso de la pila. Esto significa que cualquier persona puede escribir un scriptSig que siempre se evalúa a verdadero y reclamar a nadie más monedas. Fijo aquí en v0.3.2:

https://github.com/bitcoin/bitcoin/commit/73aa262647ff9948eaf95e83236ec323347e95d0

Sin embargo, en el enlace que aparece a punto para la 0.3.7 actualización.

Mirando el diff, esta actualización no aparece para cambiar el intérprete de comandos en la manera en que Mike descritos.

Una búsqueda resultó muy poco en la 0.3.7 actualización. Un éxito fue esta pregunta, que no genera respuestas:

Me di cuenta de que 0.3.7 es publicado en el sitio web, pero después de buscar en los foros no puedo encontrar ninguna información sobre los cambios que están. No importa que los cambios de versión debe ser empaquetado con la descarga....

cualquier persona de atención a la idea de mí en esto?

El CVE página, sin embargo, hace esta afirmación:

El 28 de julio de 2010, dos errores fueron descubiertos y lo demostró en la red de prueba. Uno aprovechara un error en la transacción de manejo de código y permite a un atacante gastar las monedas que no poseían. Esto nunca fue explotado en la red principal, y fue fijado por Bitcoin versión 0.3.5.

Así, dependiendo de la fuente que uso, la liberación que se ha solucionado el error fue 0.3.2, 0.3.5, o 0.3.7.

Dado que este fue uno de los peores errores en Bitcoin de la historia, parece que la documentación debe ser más consistente. Puede que alguien me apunte a otras fuentes que podrían ayudar a aclarar las cosas?

+361
Jenney Thomas Smith 16 jun. 2012 6:58:56

Regalando a la dirección pública no sería lo mismo que dar su tarjeta de crédito. Pero lo que yo creo que el remitente de este correo electrónico se podría estar tratando de hacer es la siguiente:

  1. Recoger BTC cargado direcciones públicas.
  2. Ejecutar (con fuerza bruta), frases comunes, o incluso con palabras comunes para crack
  3. Recoger cualquier BTC con las direcciones que han débil claves privadas.

Si yo lo hubiera hecho, yo habría usado vanitygen para verificar el común de las contraseñas (claves privadas), en contra de las direcciones públicas. Dado que se puede comprobar 60k-300k claves privadas por segundo (con un i5 core), que va a ser bastante fácil de comprobar todos los presentados direcciones.

-Besir

+289
77steLLa77 4 ago. 2010 23:54:07

Sí, usted puede, suponiendo que el niño de la clave no está endurecido, y usted sabe que la cadena de código de los padres de la clave pública y el índice de el niño. (También conocido como el extendido de clave pública.)

Acaba de calcular

CKDpub((Kpar, cpar), i) → (K,i, ci)

Kpar es el padre de clave pública, cpar es la cadena de código, i es el índice, y Ki es el hijo de clave pública

como se define aquí, y compararlo con el niño de la clave que le han dado.

+272
primadonna 17 mar. 2017 1:49:57

Este es un problema resuelto, ver https://bitcointalk.org/index.php?topic=25786.0 y este.

También se ha implementado recientemente en BitcoinJ, y que se denomina "Micropago canales".

+227
Rpant 28 jul. 2019 18:50:05

Me pregunto si hay alguna forma de comprobar que una dirección bitcoin fue creado en un intercambio.

Por ejemplo, si quiero que solo interactúan con (enviar BTC) las personas que han verificado su identidad (como en Coinbase), ¿hay alguna forma de comprobar que su dirección está conectado a una cuenta de Coinbase?

Gracias.

+65
Right Pick Muscle 7 may. 2013 2:14:22

Mostrar preguntas con etiqueta