getreceivedbyaddress sin conocer la clave privada

No teniendo en cuenta cualquiera de los servicios externos, hay alguna forma (la implementación opensource) que iba a mantener con el blockchain y expone una API con la misma funcionalidad que el original getreceivedbyaddress método en bitcoind?

A destacar, necesito la API para devolver la suma de monedas que nunca recibió en esa dirección, NO un saldo actual. Preferiblemente, este trabajo sin la necesidad de registro/importar que la dirección de antelación (por lo que el sistema debe auto-índice de todas las direcciones visto en el blockchain).

Hay un viejo (0.8+) de la horquilla de bitcoind (https://github.com/TOCICI/bitcoin) que añade importaddress llamada RPC, que es lo mejor que he podido encontrar hasta ahora (aunque no es óptimo, ya que requiere que las direcciones sean importados en primer lugar).

También, hay una continua discusión acerca de ver sólo las carteras, pero me temo (corríjanme si estoy equivocado) sólo proporcionará la dirección de equilibrio, no la cantidad total que jamás ha enviado.

También he considerado el uso de Electrum servidor para esto, pero sólo fue capaz de ver que uno puede obtener un saldo actual de una dirección.

Alguna idea?

+681
Rodrigo Ferrari 19 dic. 2017 19:07:57
29 respuestas

Recientemente he hecho una inversión con Forexbitoptions y se han hecho algunas ganancias. Supuestamente ha enviado estos beneficios a mi monedero de Blockchain, pero dicen que no va a través de lo que necesito una clave Privada para esto. La pregunta que tengo es ¿necesito una clave privada para esto y si es así ¿por qué tengo que pagar por esta clave privada para acceder a mis ganancias?

+991
ArOoj JutTni 03 февр. '09 в 4:24

El valor de un bitcoin podría aumentar debido a que la oferta se redujo. Porque bitcoins son casi infinitamente divisible, la utilidad de los bitcoins y la capacidad para utilizarlos en el comercio no se vería afectada.

Sin embargo, no crear un problema. Hace que el futuro de suministro de bitcoins mucho más difícil de predecir. Si usted toma el extremo absurdo, donde, por ejemplo, 95% de la oferta de bitcoins se cree que se han perdido, usted siempre tiene el riesgo de que alguien se adquiere la capacidad de gastar una gran suma. Si eso sucede, el valor de los bitcoins va a caer debido a la repentina del suministro de aumentar. Si hay un temor real de que esto suceda, la gente estará menos dispuesta a la tienda de sus activos en bitcoins.

Este miedo puede aumentar la velocidad de bitcoins a través del mercado. También puede aumentar el interés en los intercambios entre bitcoins y otras monedas, ya que las personas prefieren mantener la riqueza en una moneda con una más predecibles del suministro.

Aunque este resultado no es probable, creo que fue un error no diseñar algo en el protocolo desde el principio para tratar con él. Yo a hablar de una tal solución en mi respuesta a " ¿por Qué no Bitcoin devolución de monedas perdidas en el bloque de la recompensa. Aunque me doy cuenta de que 20 años no es tiempo suficiente.

+987
Harley Schwartz 29 oct. 2017 17:57:54

Son las transacciones privadas o públicas?

En su mayoría privadas. Si usted no está involucrado en una transacción (es decir, no un emisor, el receptor, o el intermediario), usted realmente no sabe nada acerca de la transacción. Las transacciones ocurren fuera de la cadena, de manera que no hay registro permanente de una transacción sucediendo. Todo lo que fuera de los observadores podrán ver son el canal de apertura y cierre de transacciones.

puede que sea posible obtener escondido en un canal de pago?

Sí, usted puede tener un canal de pagos que nadie más sabe acerca de, al menos hasta que se cierra.. Estos podrían incluso existen hoy en día y no ser evidentes hasta que el canal se cierra. Y si un canal está cerrado de forma cooperativa, que será igual que el de cualquier otro 2-de-2 multisig transacción. Así que incluso entonces no es claro si una transacción es una transacción de cierre de un canal de pago.

+924
user316949 13 may. 2013 3:11:37

Su cartera tiendas de el secreto (o privado) y a la dirección pública para interactuar con el dinero en la blockchain de forma segura. Hay dos tipos de carteras para almacenar las claves:

Cold Wallet (billetera en la que no está conectado a internet):

Cold wallet es una billetera siempre para almacenar bitcoins. Con el almacenamiento en frío, la cartera digital se almacena en una plataforma que no está conectado a internet, por lo tanto, la protección de la cartera de acceso no autorizado, cyber hacks, y otras vulnerabilidades que un sistema conectado a internet es susceptible de ser.

La forma más básica de almacenamiento en frío de papel de la cartera. Un papel de la cartera es simplemente un documento que tiene las claves públicas y privadas escrito en él. El documento se imprime desde el bitcoin papel billetera en línea de la herramienta con un fuera de línea de la impresora. El papel de la billetera o el documento por lo general tiene un código QR incrustadas en ella, de modo que fácilmente puede ser escaneado y firmado para hacer una transacción. El inconveniente de este medio es que si el papel está perdido o destruido, el usuario nunca será capaz de acceder a su dirección, donde sus fondos.

Otra forma de almacenamiento en frío es un hardware de cartera el cual se utiliza un dispositivo sin conexión o con tarjeta inteligente para generar claves privadas sin conexión. El dispositivo se ve y funciona como un USB, y un ordenador y chrome basado en la aplicación son necesarios para almacenar las claves privadas sin conexión. Como un papel de la cartera, es esencial para almacenar este dispositivo USB y tarjeta inteligente en un lugar seguro, ya que cualquier daño o pérdida que se podría interrumpir el acceso del usuario bitcoins. Dos de los más conocidos de hardware carteras TREZOR y KeepKey. Estos son caros para comprar.

Otra forma de almacenamiento en frío de software fuera de línea de carteras en el escritorio o móvil. Ellos son en su mayoría fuera de línea y bastante seguras siempre y cuando el equipo no está hackeado. Electrum, Éxodo y de la Armería se citan a menudo como el mejor software fuera de línea de carteras en esta categoría.

Hot Wallet(billetera que está conectado a internet):

Las claves privadas almacenadas en un hot wallet están conectados a internet son vulnerables a la red basado en el robo. Estas carteras son conocidos como caliente carteras. Aquí todas las funciones requeridas para completar una transacción se hizo a partir de dispositivos en línea. La cartera genera y almacena las claves privadas; digitalmente señales de transacciones en el uso de las claves privadas; y emisiones de la firma de la transacción a la red.

Se considera "peligroso" porque los hackers tienen acceso más fácil a este que un resfriado cartera. Por lo que una mínima cantidad se almacena en un caluroso cartera. Los intercambios son el tipo de bañera de carteras. Ejemplos: Coinbase y Blockchain.info

Por lo general, como regla general, sólo debe dejar tanto dinero en su cartera, como se haría con una cartera de cuero que te gustaría tener en tu bolsillo. Creo que de esta manera, si usted fue detenido a punta de pistola mientras se mantiene una cartera de cuero, entonces usted sólo había que perder dinero en su bolsillo, y no la totalidad de su cuenta bancaria. Si usted mantiene todo su dinero en Coinbase es como si usted está caminando alrededor de la ciudad con todo su dinero en su bolsillo.

+902
Petr Trunda 21 sept. 2010 21:56:50

¿Cómo puedo averiguar cuales son las direcciones de las entradas de una transacción dada, dada su ID de transacción? Sé que hay una manera, como satoshidice.com usa este. Me gustaría hacer esto con software propio y no depender de un tercero proveedor, que fácilmente podría matar a su servicio.

EDITAR:

Básicamente estoy creando un proyecto de PHP, donde tengo que averiguar cuando una nueva transacción llega y que la dirección de envió. Así que necesito una manera de obtener una notificación o iniciar un script PHP (llamada con variables necesarias [txid, dirección del remitente, dirección de recepción, valor]) cuando una nueva transacción llega.

+880
Kurt Payne 11 jun. 2015 6:11:26

Para examaple famoso transacción con multisig.

Se puedo usar llamadas RPC (getrawtrasaction y decoderawtransaction y otros?) hacer:

- asegurarse de que la transacción es multisig
- encontrar el número de fichajes y el número mínimo de fichajes
- obtener todos los fichajes de direcciones y la dirección del script
+880
GrayWolf 25 abr. 2019 5:28:40

Sí, el ejemplo más sencillo es que puedes crear una billetera de papel, enviar monedas para que la cartera, y darle el papel de la cartera a su sobrino.

En este sentido, el papel de la cartera acto similar a un portador de la fianza. Quien la posea, tiene acceso a las monedas. La advertencia es que su sobrino tiene que confiar en que usted no gastar las monedas (ya has visto la clave privada).

+761
user2840401 11 sept. 2016 14:35:07

Instalar Electrum o de la Armería en un equipo sin conexión, crear un determinista de la cartera, de imprimir un documento de copia de seguridad, hacer un reloj-única copia de su cartera y de la carga a un disco duro usb.

instalar la misma cartera de software en un equipo en línea, cargar el reloj-sólo copia de este software. Usted está casi totalmente seguro.

Además:

Tienda de su papel de copia de seguridad en una ubicación física diferente a la que la computadora fuera de línea. Asegúrese de que es seguro.

Cifrar el disco duro de su computadora sin conexión, nunca la conecte a internet y el uso de contraseñas seguras para los usuarios.

No la más sencilla de las configuraciones, pero esta es la opción más segura en el momento que yo sepa.

+727
Nate Lampton 12 abr. 2011 3:17:49

En lugar de propagar las transacciones a través de todos los nodos en el bitcoin red, sería teóricamente mejor enviar las transacciones a los nodos de minería como las operaciones sólo se confirmó y "utilizado" cuando confirmado dentro de un bloque. El resto de los nodos, entonces sería capaz de confirmar y validar estas transacciones cuando aprenden sobre el nuevo extraído de bloque con el 'confirmado' transacciones?

+721
user1160317 3 jul. 2010 9:49:14

Digamos que bitcoin convertido en una moneda global que reemplace el dinero fiat

Lógicamente, si el Bitcoin fueron sustituir completamente el dinero fiat y ser usado en cada transacción, entonces deberíamos esperar que habría alguna manera de facilitar las transacciones de forma fácil, en casi cada situación. De lo contrario, la gente no se va a adoptar se si es peor la solución que lo que ya está disponible.

Pero para responder a su pregunta más directa: hay maneras de transferir la propiedad de demostrablemente no copia de seguridad de las claves privadas, tales como la OpenDime (descargo de responsabilidad: yo nunca he usado un OpenDime, pero entender cómo se supone que funciona, en concepto). Así que si tienes un dispositivo como el OpenDime que iba cargado con la cantidad correcta de BTC, sólo podía comerciar con él a su contraparte. No hay conexión a internet es necesario.

+713
Vivek Ranjan 7 feb. 2014 15:50:00

He tenido un problema similar con el Android Billetera en la que se basa también en bitcoinj. Yo quería transferir mi copia de seguridad de la cartera de mi antiguo teléfono a mi nuevo teléfono. El problema que tenía era que quería tomar ventaja de la nueva cartera palabras, así como tener mi edad direcciones conmigo.

La única cosa que se me ocurrió es sólo el envío de los fondos a mi monedero y eliminar el antiguo.

Pensé que no era necesario que me envíe dinero a las direcciones antiguas. Y, si lo hacía, tendría que decirles que las direcciones estaban en peligro, o que yo no tenía acceso a ellos. Por otra parte, debido a que el error en Android, mi viejo monedero hecho una transacción automática marcar algunas direcciones antiguas como comprometida.

Las nuevas carteras (y Bitcoin mismo núcleo) fomentar el uso de sólo una dirección por transacción. Entonces, yo creo que la transferencia de fondos a la nueva cartera es la forma más fácil de ir.

Espero que esto ayude.

+636
Irinaaaaaa 14 sept. 2019 21:37:56

En el código de OP_CHECKLOCKTIMEVERIFY me di cuenta de que si el txin número de secuencia es maxxed a cabo, a continuación, la secuencia de comandos no se pudo validar. Me pregunto cuál es el punto de esto es? ¿Por qué nadie nunca enviar una transacción que no compruebe a la red?

Aquí está la sección correspondiente de código:

// Por último, el nLockTime característica puede ser desactivada y por lo tanto
// CHECKLOCKTIMEVERIFY anuladas si cada txin ha sido
// finalizado mediante el establecimiento de nSequence a maxint. El
// transacción sería permitido en el blockchain, haciendo
// el código de operación ineficaz.
//
// Prueba si esta vin no es definitivo, es suficiente para
// a prevenir esta afección. Alternativamente podemos probar todos
// las entradas, pero las pruebas sólo esta entrada minimiza los datos
// se requiere para demostrar la correcta CHECKLOCKTIMEVERIFY ejecución.
si (txTo->vin[nIn].IsFinal())
 return false;

Yo también estoy confundido acerca de los comentarios en el código de este. Dicen que cada número de la secuencia ha de ser maxxed a cabo para obtener la secuencia de comandos que no se pudo validar, pero a mí me parece que esto no es cierto - se ve como sólo un número de secuencia debe ser maxxed y, a continuación, toda la transacción (todos txins) se producirá un error. Y supongo que esto significaría que la transacción, por lo que no se incluye en el blockchain? Pero que va en contra de los comentarios de código. Tendría sentido si hay una ! en la condición del if.

+588
iota 15 may. 2017 0:52:34

Sí, una parte de hash es un hash de un bitcoin bloque. Algunos de ellos están por encima de la de la red bitcoin dificultad que significa que el bloque es válido. La mayoría no lo son, y sólo puede ser utilizado para mostrar que son la minería (y a qué precio).

Los datos de hash es el encabezado de bloque. El bloque de encabezado contiene el merkle raíz de la cual se crea a partir de las transacciones. Las transacciones no son parte de la cabecera de bloque. Un bitcoin es el bloque de encabezado además de las transacciones.

Con el GBT (getblocktemplate) minería de datos protocolo de que usted obtenga todos los datos, incluyendo las transacciones. Esto podría ser utilizado para intentar detectar si la piscina está haciendo algo malo. También podría ser utilizado como dices para permitir a los usuarios ver las transacciones que él o ella está incluida en bloques. Con GBT incluso existe la posibilidad de que el minero para quitar o agregar las transacciones, si lo admite la piscina. La mayoría de esto aún no se aplica por los mineros y piscinas.

Estrato tenía una extensión para permitir que usted para buscar las transacciones para el bloque en el que están actualmente en la minería. No estoy seguro de si alguna de las piscinas de apoyo, aunque.

Hasta ahora Estrato parece más populares, probablemente debido a su eficiencia (nivel bajo de uso de ancho de banda y rápida de bloquear los cambios). GBT, que tiene como objetivo la transparencia de las que están hablando, tiene mucho más gastos.

+556
Adam Lang 12 nov. 2017 0:00:07

Según la Wiki, el script de entrada de la Génesis de bloque se compone de estos bytes:

04FFFF001D0104455468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73

Podemos desglosar esta información de la siguiente manera:

  • 0x04: empuje 4 bytes
  • 0xffff001d: el mismo valor que los "bits" campo de la Génesis de cabecera de bloque
  • 0x01: push 1 byte
  • 0x04: empujar el valor 4
  • resto: la codificación ASCII de el famoso mensaje de que "El tiempo 03/Ene/2009 Canciller en el borde de un segundo plan de rescate para los bancos"

Hasta donde yo sé, los dos primeros valores empujada a la pila (0xffff001d y 0x04) son innecesarios. Por supuesto, también lo es el canciller mensaje, pero al menos su significado es un poco más claro.

Sin embargo, la inserción de bits/0x04 patrón aparece también en otros bloques. Por ejemplo, el mismo patrón se muestra en el siguiente bloque (0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098).

He encontrado esta pregunta, con una respuesta que especula con la posibilidad de:

Así 010445 son, de hecho, parte de 2 operaciones - 01 empuja 04 a la pila, 45 empuja el mensaje a la pila. En cuanto a por qué empuje 04, me golpea, tal vez fue sólo de prueba para asegurarse de que funciona algo? Algunos contador interno utilizado por Satoshi durante la Génesis de bloque de creación? Desde la secuencia de comandos de una moneda de generación de transacción es realmente sin sentido, es posible que nunca se sabe.

Mis preguntas:

  1. Son estas impulso inicial de los datos de las operaciones necesarias?
  2. Si no, ¿por qué estos elementos (bits y 0x04) aparecen en más de un bloque?
  3. Fue la adición de este prefijo a la coinbase transacción de entrada de secuencia de comandos de la parte del comportamiento predeterminado de la original cliente Bitcoin?
  4. Si no, ¿no sería este un firma de los bloques que Satoshi minadas?
+556
Aiden Bell 5 may. 2014 8:34:55

Una "memoria secuencial-duro" PoW régimen no puede ser paralelizado efectivamente así que me imagino que usted también no puede distribuir resolver el rompecabezas entre los participantes en una piscina? ¿Cómo funciona con scrypt, por ejemplo ¿cómo litecoin minería de piscinas de obra?

Corrígeme si me equivoco, pero equihash es "justo" en memoria de disco duro. Entiendo que son solución generalizada del problema del cumpleaños entre generado aleatoriamente bitstrings. Pero mi pregunta aquí es: ¿cómo la piscina comprobar que en realidad está haciendo un trabajo significativo. Como con un "tradicionales" de PoW presentar soluciones parciales que no coincidan con la red de dificultad pero todavía tienen algo de dificultad "conectados" que demuestran que usted hizo algún trabajo.

Para equihash creo que no hay "parcial" de la solución, ya sea que encuentre las entradas que se xor a cero o no. Lo que me estoy perdiendo?

Hay zcash de minería de piscinas por ahí todavía? ¿Cómo garantizar la "equidad"?

+545
Girish Kumar 18 may. 2013 6:01:43

Hay dos formas de pasar de padres a hijos, no templado y endurecido, el ex permitiendo que ambos (1) un padre de la clave privada -> hijo de la clave privada de la función y (2) un padre de clave pública -> hijo de clave pública de la función. (Endurecido padre -> relación de los niños con sólo proporciona la función (1)).

Si usted mira :-

https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#Child_key_derivation_CKD_functions

la función (1) se define como sigue :-

ki = IL + kpar (mod n) (A)

siendo n el orden de la Curva Elíptica Grupo E para Bitcoin, la ECDSA (que tiene parámetros secp256k1) - E siendo generada por el generador (o 'base') el punto G en E.

E es la Curva Elíptica Grupo sobre el campo finito Fp (primer p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F), y consta de n elementos (primer n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141) (nota n es, en proporción, algo menos que p).

Los elementos de E son elementos de Fp x Fp, y son puntos en el discretos de curva elíptica sobre Fp. E es un "aditivo" abelian grupo, y podemos definir la multiplicación escalar de los elementos de E son números enteros. G en E siendo un generador de medios E es igual al conjunto de todos los múltiplos escalares de G, es decir, E = {dG: d un entero}, que se indica con <G >.

Por definición, una clave privada k es una de 256 bits enteros en el rango [1, n - 1]. Y la llave pública asociada es K dado por

K = kG (B)

En el anterior BIP32 documento, la notación de punto(p) es usado para significar pG :-

punto(p) = pG (C)

Así, en particular :-

punto(k) = K

Es sencillo que la multiplicación escalar de la operación en el Correo cumple la ley distributiva :-

(a + b)P = aP + bP (D)

donde a, b son enteros y P es cualquier punto en E.

Si imaginamos, por el momento, la ecuación anterior (A) no tiene el mod n' parte, entonces es simplemente la adición de dos números enteros de modo que podemos deducir a partir de (D) y (A) :-

kiG = ILG + kparG

Pero dado que G tiene orden n, de modo que nG = 0, podemos cambiar el lado izquierdo, kme de valor, de modo que ki está en el intervalo [1, n - 1] (este es el mod n' parte).

Pero esta ecuación, a continuación, sólo lee :-

Ki = ILG + Kpar (E)

debido a las anteriores en general la relación K = kG entre la clave privada y la clave pública, y debido a ktengo ahora es válido clave privada en el intervalo [1, n - 1].

(Aviso si el procedimiento anterior se produce un inadecuado kyo, como cero, entonces se repite con el siguiente valor del índice i).

Si ahora examinar la anterior BIP32 documento para los padres clave -> infantil pública clave" que dice :-

"El niño regresó clave Ki es el punto(parse256(IL)) + Kpar"

que por la definición de "punto" en el apartado C) se refiere a un niño de clave pública de :-

Ki = ILG + Kpar (F)

es decir idéntica a la clave pública Kme de el niño de la clave privada, como se deriva de arriba en (E), como se desee.

En resumen la ecuación (a) sólo dice add IL a el padre de la clave privada para conseguir que el niño de la clave privada. Esto es sólo la adición de dos números enteros (mod n).

Y de la ecuación (F) sólo dice añadir ILG a los padres de clave pública para conseguir que el niño de clave pública. Esto es completamente distinta a la operación de adición, es decir, el "punto de adición' en la curva elíptica grupo E.

La clave de este trabajo es que la de 512 bits hash 'yo' no depende de los padres de la clave privada. Con endurecido niño, la definición de 'yo' se cambia por lo que NO depende de los padres de la clave privada, y por lo tanto un padre de clave pública -> hijo de clave pública de la función no puede ser definido en este caso.

+434
Adam Stevens 27 feb. 2019 4:37:19

Depende de lo que usted está tomando el pago. Dicen que es una tienda de comercio electrónico de aceptar btc y el pago es menos de lo que se le pidió, entonces el reembolso es la única opción.

Si decir que esto es para algunos ICO de la Plataforma que están haciendo, entonces se puede calcular el correspondiente número de fichas para que tanta cantidad de btc y completar su transacción. Obviamente se tienen que publicar una exención de responsabilidad para el mismo cuando el pago está iniciado.

En caso de un cambio, la cantidad es indeciso por lo que esta cuestión no relevante no.

Como cryptoKTM mencionó que depende enteramente de la lógica de negocio.

+365
FakelMiks 13 abr. 2016 0:29:22

Su comprimido de clave pública que está mal. Debe ser 034c8478229d9a139803ab0889617ecb6421191f3d891d0817d6a6cfd43bcbaa20. ¿Cómo se construyen?

+326
Larry Weaver 15 ago. 2019 8:20:40

El código fuente fue originalmente alojado en un archivo rar en Bitcoin.org. No utilice ninguna Fuente de Control de Gestión. Más tarde, cuando más gente comenzó a trabajar en él, uno de los primeros desarrolladores, Sirius, se trasladó todo a SVN en Sourceforge. Que fue más tarde se trasladó a la actual repositorio de Github y pasó a usar Git.

+298
Etienne Charland 1 oct. 2016 3:50:41

Tengo una cartera en Blockchain.info pero yo no entiendo muy bien cómo funciona.

Dicen que ellos no guarde mi contraseña ni tener acceso a mis fondos. Qué significa que es de alguna manera un almacenamiento en frío? He tenido mis monedas por un buen rato, así que me preguntaba si podía conseguir Bitcoin dinero en Efectivo. Sin embargo, veo que debo exportar la clave privada, pero esto sólo es posible a partir de la importación de direcciones.

Entonces, ¿cuál es la diferencia entre tener mis monedas en Blockchain.info en vez de tener el guardado en mi ordenador? Será posible exportar una clave privada a partir de Blockchain.info si simplemente tengo una cartera normal en su sitio web?

+297
ZERG100289 20 nov. 2018 21:06:15

Estoy tratando de entender cómo Bitcoin funciona, pero hay un concepto que no puedo conseguir mi cabeza alrededor.

Entiendo que las transacciones son validados mediante la comprobación de las firmas de cada entrada es válida. Sin embargo, ¿cómo validar nuevos bitcoins o recompensas que han entrado en el sistema a través de la minería si estos no contienen ningún tipo de entradas?

Por ejemplo, si usted está comprobando el registro de las transacciones de entradas son válidas finalmente llegará el punto en que las entradas eran originalmente extraído, así que ¿cómo se sabe que estos fueron creados legítimamente?

+275
deVilliers 6 dic. 2016 23:29:31

Estado HTTP 401 es "no autorizado", es probable que tenga sus credenciales teclas o configurado incorrectamente.

+273
aboutaaron 16 dic. 2018 5:14:25

Debido a la falta de respuestas de aquí, se me cruzo publicado esta pregunta en stackoverflow canal. Aquí hay un enlace con la respuesta:

https://stackoverflow.com/questions/31409720/using-bitcoin-ruby-to-make-a-transaction/31420786#31420786

+265
Alane Gavagni 15 jul. 2016 11:41:51

En primer lugar, no hay un solo mempool, cada nodo mantiene su propia mempool basado en lo que las transacciones y los bloques se ha visto. Desde estas mempools generalmente coinciden bastante bien, este hecho es a veces abreviado hablando de "la mempool" y el significado del cuerpo general de transacciones sin confirmar la mayoría de los nodos son conscientes de. Si hemos sido capaces de garantizar que todos tenían el mismo mempool, no necesitaríamos un blockchain. El propósito principal de la blockchain es una decisión entre las diferentes versiones de la mempool.

En segundo lugar, desde la perspectiva de cada cadena de la punta, el otro de la cadena de la punta no es válido y es tratada como si no existiera. Añadir la observación de que cada nodo tiene su propio mempool y suponiendo que la red está bien conectado, usted puede averiguar el estado de cada nodo con respecto a la cadena de punta que siga actuando como si el resto de la cadena no existe.

enter image description here

Con respecto a su imagen:

  • Un nodo cuya cadena de la punta es de C ha TX10 en el mempool mientras TX3 y TX4 se confirmó.
  • Un nodo cuya cadena punta D considera TX4 y TX10 ser confirmado y ha TX3 en el mempool.

Cuando el bloque G es descubierto, todos los nodos se reorganizará a la parte inferior de la cadena de la punta de la DFG. En ese momento se volverá a B, agregar TX14, TX15, TX3, y TX4 a sus mempool, a continuación, aplicar el bloque D, la eliminación de TX4 y TX10 de la mempool, aplicar bloque F, la eliminación de TX9 y TX15 de la mempool y, a continuación, aplicar el bloque G, la eliminación de TX21 y TX20 de la mempool. TX3 permanece en el mempool, porque no es confirmado en la parte inferior de la cadena todavía.

+230
Justine 30 mar. 2016 4:13:49

En una orden de límite, usted especifique qué parte de los activos (en este caso BTC) que desea comprar o vender, y el precio que usted desea. Si hay coincidencia de las órdenes en el libro (por ejemplo, alguien que quiere vender al mismo precio, o menos, ya que el precio al que usted quiere comprar), su pedido será llenada inmediatamente. Si no, su pedido quedará en el libro hasta que la coincidencia de los pedidos llegan (que podría ser nunca).

(También es posible que una orden de límite de ser sólo parcialmente llenos, si la contraparte quiere negociar una cantidad menor de lo que usted hizo. En ese caso el resto de la orden sigue en el libro).

En una orden de mercado, sólo se especifique qué parte de los activos que desea para el comercio. Su pedido se llena inmediatamente al mejor precio disponible actualmente en el mercado. Por ejemplo, si coloca un mercado de la orden de compra, que será coincidente con la corriente más baja en el precio de venta del libro. Si ese orden no es lo suficientemente grande como para cubrir completamente la suya, la siguiente a la de menor orden de venta será usada para llenar algunos más de los suyos, y así sucesivamente.

+185
Aislinn says meow 27 may. 2017 7:02:22

Bitcoin es un fenómeno relativamente nuevo y el proceso de revisión por pares tarda un rato, así que no hay mucho por ahí todavía.

La más notable es un análisis de la red de bitcoin transacciones que se hacen en torno a la supuesta "allinvain" robo a principios de este año.

http://arxiv.org/abs/1107.4524

Aparte de eso, actualmente hay un par de artículos publicados en revistas académicas que se centran en bitcoin (así como pop-sci y pop-compsci artículos en distintos lugares)

Por ejemplo

Grinberg, Rubén, Bitcoin: Una Alternativa Innovadora De La Moneda Digital (21 De Abril De 2011). Disponible en SSRN: http://ssrn.com/abstract=1817857

La mejor respuesta puede ser la de hacer esto en la forma de un wiki de la comunidad, donde los artículos publicados en revistas académicas puede ser colocado por un sujeto, como si bitcoin sobrevive es evidente que se empieza a recibir un montón de atención.

+155
lawrence 2 jun. 2018 2:48:39

El chainActive variable almacena el mejor conocido bloque de la cadena. Pero esto es esencialmente la cadena de bloques, encabezados, no los propios bloques. Para cargar los bloques de disco, utilice el ReadBlockFromDisk() función. Pero, ser conscientes de que esta es una función costosa para el uso, no se devuelve inmediatamente.

chainActive[0] o chainActive.Génesis() [1]

Da la génesis de cabecera de bloque.

chainActive[chainActive.La altura (a)] o chainActive.Tip() [2]

Da el encabezado de la más reciente bloque en el activo de la cadena.

chainActive[chainActive.La altura (a)-10]

Da el bloque encabezado por el bloque con 10 bloques construidos en la parte superior de la misma.

El uso de cualquiera de estos CBlockIndex punteros como de abajo para obtener el bloque.

CBlock bloque;
si (ReadBlockFromDisk(bloque, pindex)) {
 // hacer algo
}
+130
Grinwich 29 jul. 2012 0:51:12

Cuando la construcción de la fuente de uso:

./configure --enable-cpumining && make

Al final de la configuración de la etapa, usted verá una lista de lo que ha sido habilitado, como este:

------------------------------------------------------------------------
cgminer 2.9.6
------------------------------------------------------------------------


Configuración De Las Opciones De Resumen:

 maldiciones.TUI...........: ENCONTRADO: -lncurses
 OpenCL...............: NO SE ENCONTRÓ. La GPU de minería de apoyo a DISCAPACITADOS
 scrypt...............: Movilidad (se necesita compatibilidad con OpenCL)
 ADL..................: SDK NO se encuentra, la GPU de la supervisión de apoyo a DISCAPACITADOS

 BitForce.Los FPGAs.......: Movilidad
 Ícaro.Los FPGAs.........: Movilidad
 ModMiner.Los FPGAs.......: Movilidad
 Ztex.Los FPGAs...........: Movilidad

 CPU de Minería de datos...........: Habilitado
 ASM.(para CPU de minería de datos).: cierto

Compilación............: hacer (o gmake)
 CPPFLAGS.............: 
 CFLAGS...............: -g -O2
 LDFLAGS..............: -lpthread 
 LDADD................: -lcurl compat/jansson/libjansson.a-lpthread -lm 

Instalación...........: asegúrese de instalar (como root si es necesario, con 'su' o 'sudo')
 prefijo...............: /usr/local

Usted puede obtener una lista de opciones compatibles con ./configure --help (comportamiento estándar para configurar)

+60
DarkBanshi 17 ene. 2018 11:30:45

BTC transacciones requieren al menos 6 confirmaciones. Desde BTC bloque de tiempo = 10 minutos, a continuación, deberá esperar al menos 1 hora para la transacción de Bitcoin

(Y también es posible, de que su transacción no pudo llegar a la siguiente bloque debido a una baja tasa de tx. Más tasa de tx => más oportunidad de entrar en un bloque. Y cada uno de los bloques restringidas en tamaño de 1 MB, por lo que puede tener un número limitado de transacciones. Es en realidad un gran problema de escalabilidad con btc.

Así, si el tx no llegar a la más cercana bloque, se espera que en el grupo para la siguiente y así sucesivamente. El tamaño del grupo depende de la minería del nodo, así como el tiempo de expiración. En la mayoría de los casos después de 2-3 días de estancia en la piscina tx convertido caducado. E incluso si tx se convierte en expirado, el BTC va a permanecer en su bolsa, como si no pasa nada. Pero por lo general, los intercambios de poner en las transacciones de una gran cuota, por lo que esta situación casi imposible)

+35
edward de jong 5 jun. 2011 17:26:23

Mostrar preguntas con etiqueta