¿Cómo funciona Bitcoin de leer/escribir en LevelDB

Sé que Bitcoin Core utiliza LevelDB desde la versión 0.8. Sin embargo, no podía encontrar una explicación detallada acerca de cómo Bitcoin almacena y recupera de LevelDB. E. g. Si B transacción utiliza una salida de una operación anterior de Una como de entrada, ¿cómo funciona Bitcoin búsqueda de esta transacción y a ver si se gasta? Después de la transacción B es pasado, ¿cómo esta transacción se actualiza?

+153
by adfwq 3 oct. 2011 7:26:22
29 respuestas

Actualmente estoy corriendo Ubuntu 12.04 LTS en un i5 Ivy Bridge core y GPU. El uso de bfgminer he logrado extraído en mi CPU, pero mi GPU es nunca reconocido. He instalado OpenCl para procesadores Intel. Yo tenía mi amigo prueba su GPU usando bfg en Win7 y su trabajado fuera-de-la-caja. Me gustaría saber cómo usar mi Intel HD 4000 graphics para la minería con bfg y Ubuntu.

+932
JIE WANG 03 февр. '09 в 4:24

AttackerAlice tiene un BTC Cartera con 0 BTC. AccompliceBob tiene un BTC Cartera.

Es posible la transferencia de 100 BTC de AttackerAlice a AccompliceBob?

Supongamos que un BadMiner aceptado como válida la transacción, y pone esta transacción ficticia en un bloque, ¿cómo va a ser detectados y rechazados?

+807
elexjurin 15 jun. 2014 16:14:30

Los nodos no suelen retransmitir las transacciones. Ellos no tienen ninguna razón para hacerlo, no es su problema si una transacción no está confirmado.

Sin embargo, si la cartera es probable que retransmiten sus transacciones, y sólo sus transacciones. La retransmisión funciona exactamente de la misma manera que la difusión de una transacción de las obras. Si los nodos tienen todavía la transacción en su mempools, entonces van a ignorar la transacción. Por supuesto, esto significa que no se propagan bien si todos los nodos que la cartera está conectado a la que ya tiene la transacción, pero el resto de los nodos no.

+785
wawanopoulos 7 sept. 2012 7:19:30

Si yo fuera a comprar un Bitcoin en Australiano (AUD) que está en las decenas de miles de dólares a partir de este momento, iba a ser capaz de vender este bitcoin en América (USD), que está en los miles? Posteriormente haciendo beneficios del proceso como el dólar vale más que la de Australia.

Gracias

+691
Emrb 26 jul. 2019 13:07:38

Finalmente me ordenan esto, así que estoy de vuelta, 17 días después de responder a mi propia pregunta. También escribí un breve artículo acerca de los pasos, debe nadie los necesita.

Aquí están los pasos básicos. La moneda se conoce como Moneda, como esto funciona con todos los sha256 monedas, y probablemente (no probado por mí) Scrypt variantes también. Si no, el proceso será muy similar.

Para empezar, su moneda.conf archivo debe ser algo como esto:

daemon=1
servidor=1
escuchar=1
gn=1
rpcuser=uncle_bubs
rpcpassword=your_mother
rpcallowip=127.0.0.1
rpcport=8332
  1. En su moneda.conf archivo, agregue la línea rcpallowip=12.34.56.789, en sustitución de la dirección IP con la dirección de la computadora que va a permitir, o más simplemente rpcallowip=192.168.1.* para permitir que cualquier dirección IP en su red. Usted puede tener muchos rpcallowip líneas como desee. Tenga en cuenta que haciendo esto enviará su contraseña sin cifrar a través de la red, por lo que no se recomienda a menos que dentro de una red segura que usted puede controlar.
  2. Asegúrese de que su firewall es permitir las conexiones entrantes a coin-qt.exe.
  3. Inicio coin-qt.exe -servidor en el servidor, y dan un momento para ponerse al día. (Usted debe tener el blockchain actual antes de empezar).
  4. En su segundo equipo, entra en tu router de administración de configuración y buscar en los dispositivos conectados. Esto se hace generalmente por entrar en 192.168.1.1 en el navegador. Usted necesitará el nombre de usuario del router y la contraseña para entrar.
  5. Buscar el equipo que ejecuta el servidor. El mío era 192.168.1.8.
  6. Ahora agregar la dirección IP y del equipo a la lista de direcciones reservadas. La razón es que, incluso si usted deja a su equipo conectado al mismo router todo el tiempo, a veces baraja direcciones IP de forma inesperada. Esto no es normalmente un problema, pero usted necesita una dirección IP fija a la que conectarse. Este paso se asegura de que su servidor tiene siempre la misma dirección IP.
  7. Finalmente, iniciar su segundo minero, uso de la nueva dirección y el puerto obtenidos a partir de la configuración de su router. El mío era 192.168.1.8:8332.
+644
NSFox 7 ene. 2010 11:13:59

Descaradamente resumen de esta extensa guía sobre las transacciones locales:

  • Quieres conocer suficientemente lugar público, como un bar o un centro comercial, preferiblemente uno que tenga una wifi abiertas.
  • Si usted ha aceptado en términos de antemano, imprima lo que acordaron y llevarlo con usted.
  • Si no se ha pactado en los términos sin embargo, asegúrese de comprobar el precio actual del bitcoin durante la reunión.
  • Espere a que termine la transacción y comprobar si la cantidad fue pagada. Si la otra persona está dispuesta a esperar en torno a un bloque adicional juntos que es una buena señal.
  • Especificar sus expectativas por adelantado: Cuándo y dónde reunirse, lo que cada persona va a tener en la mano para hacer el trato, como el precio de los bitcoins serán calculados.
  • Considere la posibilidad de tomar una segunda persona a lo largo de para la seguridad adicional.
+632
caps 12 oct. 2016 22:06:36

El crudo del bloque de datos se descargan, y nada más. Todos los bloques de transacciones y de los índices creados localmente. En el proceso, bloque de hashes son revisados y las transacciones son verificados (en distintos grados) si pasan las entradas válidas son debidamente firmado, y así sucesivamente.

Cada bloque se comprueba y se agrega al índice inmediatamente después de ser descargado. El software no esperar a descargar todos los bloques antes de iniciar el índice de ellos.

Los archivos en bloques/index contiene información para ayudar a localizar los bloques. Por ejemplo, contiene una entrada para cada bloque con su hash, otros de cabecera de los datos, el número de la blk*.dat archivo donde se almacena, y la posición dentro de ese archivo. Si txindex está activado, estos archivos también contienen una entrada por cada transacción, que apunta a la ubicación del bloque que contiene la transacción, y la posición de la transacción dentro de ese bloque.

El índice de saldo de transacción salidas se encuentra en la chainstate directorio.

El mejor recurso para aprender acerca de estos índices es leer el Bitcoin Core código fuente. Hay una mayor valoración crítica en https://en.bitcoin.it/wiki/Bitcoin_Core_0.11_(ch_2):_Data_Storage, pero como de 0.15.0 al menos el chainstate index ha cambiado de forma significativa (gracias Pieter Wuille). También se explica en ¿cuáles son las teclas que se utilizan en el blockchain levelDB (es decir, lo que son la clave:los pares de valores)?.

+616
Townsfolk 10 ene. 2010 16:12:03

Sí, hay Bitcoin campo de minas que es un rápido ritmo de juego del sitio.

+602
Phaedrus 13 abr. 2018 0:08:29

Usted esperaría websockets para ser más real, ya que es concebido como una actualización de HTTP para permitir la transmisión en vivo y en tiempo real de los servicios.

+567
Amarnath Wanchoo 12 sept. 2012 13:32:05

Cuando un tenedor que existe con los dos igual-trabajo de ramas, no es razonable que la que vimos segundo obtendrá extendida.

Hay poco riesgo DoS en la descarga de ambos, ya que un atacante tiene que gastar una enorme cantidad de trabajo para hacernos hacerlo.

Al mismo tiempo, es útil para estar preparados para los bloques en una reorganización, ya que reduce el tiempo necesario para que el bloque a se propagan a través de la red.

+563
jknudsen99 5 sept. 2017 17:05:32

Fondos de ir en la misma cartera y si puedo enviar monedas de la cartera, se trataría de la misma dirección "de". Estoy en lo cierto?

No exactamente. Depende de la cantidad de monedas que usted va a enviar. He aquí un ejemplo:

  • Tiene la dirección de Una con 1 BTC.
  • Dirección B con 0.3 BTC.

Considerar que desea enviar 1.1 BTC a la dirección C.

En caso de que la transacción se habría 2(a,B) salidas y 2(C, X) entradas *:

  • Salidas: Una con 1 btc y B con 0.3 BTC.
  • Entradas: 1 BTC a la dirección C y 0.1 BTC a la dirección C.
  • 0.2 BTC va a ser el cambio, y va a ser enviado de nuevo a usted*.

El de dirección será la recogida de sus ingresos direcciones(Un,B, e.t.c.).

*Algunas carteras deje a usted seleccionar manualmente qué dirección debe recibir el cambio de una transacción.

*En algunos casos el cliente va a crear una nueva dirección para el cambio.

+554
ernesto che 4 nov. 2018 11:49:35

1) >¿Cómo puede este teléfono actuar como un "COMPLETO NODO" de BTC? Es esto realmente cierto? Usted podría tirar su completa nodo en el equipo con linux, y en lugar de usar el teléfono HTC?

Un smartphone es sólo una de menor potencia de la computadora que cabe en tu bolsillo. Para que un equipo pueda ser un nodo, sólo se necesita para la ejecución completa de software de nodos. Los teléfonos ya se puede hacer esto, y parece que HTC está a sólo pre-instalación de una aplicación para ejecutar un total de nodos en este teléfono.

En realidad, ahora usted puede correr un nodo en un teléfono a sí mismo con el ABCore aplicación de android.

-Primero, tengo dificultad para entender cómo se va a almacenar los cientos de GB de datos...

Mediante el uso de una alta capacidad de la tarjeta MicroSD. El teléfono tiene una ranura para tarjeta MicroSD, y las tarjetas MicroSD se puede ya tener una capacidad tan alta como la de 512 GB. Alternativamente, el nodo podría ser una poda de nodo, de modo que en realidad no almacenar toda la blockchain de la historia. Poda nodos están todavía completa de los nodos, solo que no sirven bloques históricos a otros nodos.

-Estoy pensando en la actividad minera. ¿cómo puede este pequeño pedazo de teléfono chip hacer minería de datos si no se puede lograr una alta hash tasas de interés?

Completa los nodos no son necesariamente los mineros. Usted puede tener un nodo sin la minería o la producción de los bloques en absoluto de ningún tipo.

2) Es un fullnode teléfono útil y positivo impacto en el conjunto de la red btc (¿cuáles son los impactos positivos?)?

Sí. Cualquier nodo es útil a la red. Completa los nodos de validar y de retransmisión de todos los bloques y transacciones que reciben. Más completo nodos significa que más personas están verificando que los bloques y las transacciones son correctas. Más completo de los nodos, en general, ayudar a hacer de Bitcoin más robusto y descentralizado.

+541
ujhbr11 18 jun. 2014 7:57:36

La minería de Bitcoins en el momento en que hubiera sido muy fácil con una CPU, incluso con un ordenador portátil. Usted podría agregar algunas estadísticas sobre la cantidad de Bitcoins generados por día, y la histórica red de dificultad.

+417
Inkar 8 dic. 2018 3:00:34

Salidas con valor 0 son válidos (pero no estándar). Cuando el bloque de subsidio llega a 0, los bloques sin cuotas necesitan para producir coinbase transacciones con valor de 0 salidas. Cada bloque debe tener un coinbase transacción.

+416
Janac Meena 18 oct. 2012 3:12:36

He creado un pequeño repositorio git que hace con ventana acoplable: https://github.com/FreekPaans/bitcoin-multi-node-regtest

+414
PvPBel 28 jun. 2014 21:04:35

Para macOS: /Users/arshbot/Library/Application\ Support/Lnd/

+395
Angie 31 ago. 2016 7:15:45

En los relámpagos de la red de pagos son la cebolla enrutado. La única cosa que un PSV podría revelar es el anterior y el siguiente salto, pero no se puede saber el origen o el destino. Ellos saben que vino de Alice, y se fue a Bob, pero no saben de donde Alice puede haber tomado de, o donde Bob puede enviar a.

+337
Robert Gabriel 24 oct. 2011 18:56:29

Es allí cualquier Drupal SCI para Bitcoin disponible? Ya sea atado en Ubercart o, más preferentemente, Drupal Commerce.

+332
Anthony Pesola 6 sept. 2018 10:39:14

Revise su rpcallowip de configuración, tendrá que explícitamente permitir conexiones entrantes a tu puerto RPC de la red. Si su red local, por ejemplo, es 192.168.0.x, el rpcallowip configuración en el bitcoin.conf será necesario 192.168.0.0/24 (esta es la notación CIDR).

+307
Webdiv 8 mar. 2015 14:46:49

RaiBlocks transacciones no tienen comisiones y se procesan inmediatamente, de modo que lo que protege a los nodos de ser inundado de pequeñas transacciones?

+287
Paul Serikov 12 ago. 2010 9:21:41

La respuesta está en dos partes y debe disponer de dos dispositivos separados (dos teléfonos / o un Teléfono y de la computadora) en frente de usted:

Parte 1:

  1. Abra su orignal Bither de la aplicación y asegúrese de resaltar (azul oscuro) en el HD de la Cuenta de la sección en la parte Superior Izquierda de la aplicación.
  2. A continuación, seleccione la H [HD Cuenta] Icono
  3. Una Consulta se abrirá el cuadro con dos opciones: a..HD Cuenta de Semillas de Código QR b..HD Cuenta de Semillas Frase
  4. Seleccione la opción (un.) HD Cuenta de Semillas de Código QR
  5. El Código QR que aparecerá y mantenerlo visible en la pantalla.

Parte 2: (se cambia el dispositivo con la nueva Bither App)

  1. Si no lo ha logrado, descargar un nuevo Bither aplicación en un Iphone o Android.
  2. IMPORTANTE: Cuando la creación de esta nueva Bither en cuenta que el dispositivo NO seleccione el signo más (+o añadir) opción.
  3. En su lugar, vaya a la Configuración de icono y seleccione Opciones Avanzadas
  4. A continuación, seleccione Importar la Clave Privada
  5. A continuación, seleccione de Bither Clave Privada de un Código QR
  6. En este punto de la cámara del dispositivo, debe activar (encender automáticamente)
  7. El uso de la segunda cámara del dispositivo, escanear el código QR desde el otro dispositivo (parte 1 / paso #5 arriba).
  8. Tu HD Cuenta será importado en el nuevo Bither aplicación y que ahora será capaz de acceder a su $$$.

Déjeme saber si usted tiene éxito?

Básicamente, su primer Bither aplicación es obsoleta y no fue capaz de proporcionar una corriente de la Clave Privada formato, ni tampoco que todos los fondos disponibles en el original HD Cuenta. Al menos la mía no antes de que yo completado los pasos anteriores.

Saludos cordiales, Scott

+260
Matthew Hall 7 jul. 2015 4:22:32

tldr - BTC = 3.33-6.66 tx/segundo, BCH = 27 tx/segundo

Para no segwit habilitado Bitcoin nodos, la capacidad de transacción se determina por Bitcoin es de 1 mb de tamaño de bloque de límite. Un 1MB bloque contiene alrededor de 2000 transacciones en promedio (ver aquí). Porque 1 bloque se extrae cada 10 minutos, esto funciona a aproximadamente 3.33 tx/segundo.

BCH capacidad de transacción está determinado por su 8MB bloque límite de tamaño. Debido a un hecho no segwit BTC transacción debe ser aproximadamente igual en tamaño a la de su equivalente BCH transacción, esto pone a la capacidad de transacción de CIISB a 8x de BTC sin segwit, o aproximadamente 27 tx/segundo.

Para segwit habilitado BTC nodos, la capacidad de transacción está limitada por la 4MB bloque límite de peso (tenga en cuenta que el bloque de peso ≠ tamaño de bloque, ver aquí para más información). Se estima que aproximadamente 2 veces la cantidad segwit transacciones pueden encajar en un BTC bloque como puede que no segwit equivalentes (ver aquí y aquí). Esto haría que la capacidad de transacción de un segwit habilitado BTC red de aproximadamente 6.66 transacciones por segundo.

Un par de cosas que vale la pena destacar:

1) Visa normalmente los procesos de ~2,000 transacciones por segundo y puede procesar hasta 24.000 operaciones/segundo (ver aquí).

2) a partir de Febrero de 2018, aproximadamente el 14% de los BTC transacciones son segwit transacciones (ver aquí)

3) En promedio, serializado BTC bloque completo de segwit transacciones deben tener hasta ~2 MB en el disco.

4) Aumentar el tamaño de bloque de limitar el aumento de la cantidad de espacio en disco y RAM requerida por los mineros para operar completa de los nodos.

5) Generalmente hablando, el BTC planes de la comunidad para aumentar la capacidad de transacción a través de una superposición de la red (por ejemplo, el rayo de la red), mientras que el centro de intercambio de información de la comunidad de los planes para aumentar la capacidad de transacción por el continuo aumento del tamaño de bloque.

+252
Leo Gordon 21 sept. 2014 2:02:21

No. Por la definición, cualquier transacción válido, puede ser colocado en el bloque. Si algo en el bloque invalida - esto es sólo una matriz de bytes aleatorios, no válido bitcoin transacción.

+238
ANGELL SMERTI 17 mar. 2017 7:35:51

No hay nada que compensar a sus clientes por una pérdida en Bitcoin con el dinero Fiat.

¿Quieres crear tu propio centralizado de moneda? Por qué? ¿Qué ocurre si usted muere? Lo que te deja la impresión de una cantidad infinita de ella? Por qué iba alguien a usar y confiar en ella?

Si le doy a 200.000 de mi propia moneda para compensar una pérdida en Bitcoin, su único valioso para usted si usted puede conseguir las cosas o servicios para ellos.

El Bitcoin red de la minería tiene más poder que un par de supercomputadoras combinado que hace muy costosa para bajarlo. Usted tendría que invertir millones de dólares y muchas semanas para obtener ese tipo de poder de cómputo.

+189
Khasan99 28 feb. 2019 14:44:56

Puede comprobar si la transacción es entrante o resultante si usted marca "gastado" valor booleano:

{"spent":false,"tx_index":64117670,"type":0,"addr":"18TXxNNt5qQWiNsCb6vLhUud8wjqehHWyn","value":496364,"n":29,"script":"76a91451cd88fd726d2f2085e86fd242873c6ab6f5485d88ac"}, 
{"spent":true,"tx_index":64117670,"type":0,"addr":"1FvfNCiqGF9sCFoJqcNCExv34UM1KfpXiu","value":464214,"n":30,"script":"76a914a3b7d538dac93dd995e01069e44be13bdebd7baa88ac"}
+159
Brandon Vout 6 jun. 2010 19:22:37

En la Prueba-de-Trabajo, un hash del bloque es costoso para manipular (es decir, querer el hash a ser, incluso, o tener el hash de la hash menor que un número), ya que hay una gran cantidad de poder de cómputo puesto en la selección de la derecha del encabezado para producir un hash válido.

Me pregunto - son el bloque de hashes en los diversos Proof-of-Stake implementaciones más fácil de manipular, ya que el hash no están obligados por PoW de la minería? Podría un punto de venta minero de pasar algún tiempo de cálculo para generar muchos válido bloques y elegir uno para usar, o hay algunos otros restringe la prevención de hash del bloque de fudging?

+144
shelly G 1 oct. 2014 20:23:45

Los bloques de la mina de contener un coinbase transacción, que paga el bloque de recompensa a una dirección de su elección. Cuando la minería en una piscina, se establece la dirección de pago a la piscina de la dirección. Si fueron a la mina de un bloque y tratar de cambiar la dirección de pago a su propia dirección, esto podría cambiar hash del bloque y anular el bloque. No se puede engañar a un grupo de minería de datos con tu propia dirección de pago, porque ellos van a revisar eso. Piscinas de obtener un regular de la prueba de trabajo de sus mineros, dándoles una dificultad más fácil de destino, por lo que el minero regularmente pasa extraen bloques de vuelta a la piscina que aparece marcada.

Así que básicamente ya sea de la mina para un grupo, el que paga la piscina, o el mío en solitario. Usted no puede hacer ambas cosas a la vez.

+97
bonanza 15 mar. 2014 15:41:01
  1. Asegúrese de que está conectado a una cantidad suficiente de los compañeros (tal vez >4)
  2. Asegúrese de utilizar el valor predeterminado -par config valor o conjunto de acuerdo a sus núcleos de CPU disponibles (generalmente num de núcleos +1)
  3. Asegúrese de que, en un rápido acceso al disco (idealmente SSD). Si el acceso a disco es lento (no usar NFS, NAS, etc.), se podría echar abajo el proceso de verificación (dejando la CPU parcialmente sin usar)
  4. Pruebe a cambiar la configuración predeterminada de la base de datos tamaño de la memoria caché. Un -dbcache de 4GB puede realmente aceleración significativa de la sincronización, aunque no los asigna, si su sistema no tiene suficiente memoria RAM para los residuos.
+87
hedrick 15 sept. 2012 7:57:37

Usted puede tener su respuesta considerando por qué chaincode existe?

Existe para aumentar la entropía. Si usted lee esta respuesta se dará cuenta de que si cualquiera de su hijo-la clave privada fugas, chaincode puede habilitar la clave privada descubrimiento de claves hasta el árbol, incluido el maestro.

Lo que es parte de un secreto y, por tanto, un secreto que la mayoría sin duda.

+78
Mohamed Hak 1 feb. 2015 19:41:55

Mostrar preguntas con etiqueta