El uso de la Merkle Root para probar la integridad de un bloque de transacciones

Entiendo que un Merkle Raíz es el hash de hashes de hashes (etc.) de transacción emparejamientos dentro de un bloque que finalmente se traduce en un 'Root' hash. Cambiar nada acerca de la transacción original hash sería el resultado de una forma completamente diferente de la raíz de hash.

Lo que todavía estoy confundido acerca de está trabajando hacia atrás, comenzando con la raíz de hash para demostrar que una determinada transacción se incluyó en el bloque. Desde el " ¿Qué es la Merkle Raíz?" hilo, entiendo el ejemplo de que sólo necesitan 4 hash para demostrar que los conocimientos tradicionales se incluyó en el bloque (16 bloque de transacciones).

Mis preguntas son:

  1. Si cada transacción es para comprobar que se incluye en el bloque, no en última instancia usted necesita saber todos los hashes de todos modos si vas a realizar un seguimiento de cada transacción por separado?

  2. Son estas verificaciones sólo sucediendo en la solicitud? o es automático antes de que el bloque se agrega a la blockchain?

  3. Al verificar una transacción específica, donde usted va a obtener de las diferentes sub-hash para la necesaria merkle ramas?

+257
user188405 1 jun. 2016 16:16:20
25 respuestas

Hoy en día, los estados pueden seguir el rastro al dinero y el historial de transacciones, por lo general implica la comprobación de las cuentas bancarias. Según como yo lo entiendo, Es imposible para cualquier persona para leer tus Bitcoin transacciones y saldo actual sin su consentimiento.

En un mundo Bitcoin, ¿cómo puede el monitor de cuenta de banco cuando es imposible verificar sus transacciones?

+896
user1776002 03 февр. '09 в 4:24

Si su altcoin quita la madurez de verificación, no veo por qué no. El único requisito sería que la tasa para las transacciones de gasto de la coinbase de entrada debe ser decidido antes de la construcción de la tx, que no es muy difícil.

+895
dgibbs 19 jul. 2011 1:02:21

Utiliza el clic secundario en una dirección y, a continuación, la función "Enviar a" opción.

+883
Jon Ward 14 abr. 2011 16:24:32

Creo que su proceso de negocio es confundir la cuestión. Voy a suponer que el "negocio" del lado de esto también quiere hacerse un corte de la transacción o se quiere demorar el pago de la caridad y es por eso que este se ha vuelto más complicado.

Hay un número de consideraciones no menos importante el hecho de que usted está usando una entrada para pagar el comerciante, y el cambio para pagar el flete, y el cambio de que pague la caridad.

Lo que le preocupa es la incapacidad que se han incorporado a pagar la parte a causa de una transacción anterior, pero que su proceso de negocio en la culpa, no el protocolo Bitcoin.

También se debe considerar el monto del pago mínimo y la eventual red de cuota, ninguno de los cuales son %basada en edad.

Estos no son mencionados y, de hecho, por lo que dos (o posiblemente cuatro) transacciones en las que está incurriendo en hasta 4 veces el bitcoin red honorarios de la transacción.

Esta es una de las principales razones por las que (desde una perspectiva de negocio) no debe dividir las operaciones de seguridad de ie es más caro, y que va a llevar los costos? La caridad? el comerciante? el transporte de mercancías? Usted?

Puedo sugerir, también, que se han malinterpretado las "confirmaciones" como algo distinto de la transacción que se incluye en un bloque. Cuando una transacción es solicitado por un compañero antes de ser incluido en un bloque de pares valida la transacción de forma independiente, y si por alguna razón no es bueno es rechazado. Este NO es el proceso de "confirmación".

Todos los compañeros, en efecto, va a hacer lo mismo, la validación de la transacción a medida que se propaga a través de la red (que por CIERTO es muy rápido).

La confirmación por el otro lado, cuando la transacción ha sido incluido en un bloque, y la única vez que este se convierte en un problema es que si hay una bifurcación en la blockchain. Pero incluso entonces usted todavía puede retransmitir una transacción si el "otro tenedor" se convierte en el último de los que proporcionan la base sobre la que se hizo es bueno.

El punto que quiero hacer es que usted está poniendo demasiado énfasis en las confirmaciones de las transacciones que usted mismo ha creado y, a continuación, espere hasta que alguien más confirma lo que ya sabemos que es verdad, y esto parece completamente inútil.

Tal vez usted puede ampliar su pregunta a explicar el "por razones comerciales"?

+861
Sennin 19 feb. 2012 10:39:03

De acuerdo a este

Usted puede especificar la cantidad de bitcoin con un (aparentemente) 16 alfanuméricos representación hexadecimal. Se afirma debe especificar el bitcoin que desea enviar en unidades de Satoshi.

Aquí está la cita:

Escribimos un campo de 8 bytes (64 bits entero) que contiene la cantidad que desea redimir de la salida especificada. Pondré esta a la cantidad total disponible en la salida, menos una cuota de 0.001 BTC (0.999 BTC, o 99900000 Satoshis): 605af40500000000

¿Cómo llegaron 605af40500000000 de '99900000 Satoshis' cuando ese código hexadecimal = 6943130077857054720? No puedo encontrar calculadora de conversión en línea que muestra lo que está cambiando es de o.

Tengo el código hexadecimal de https://www.mathsisfun.com/binary-decimal-hexadecimal-converter.html

+848
Merik 28 nov. 2011 15:57:42

A menos que usted tiene una conexión a cada nodo en el Bitcoin red, es imposible distinguir entre la minería y la no-nodos de minería. Tener una conexión a todos los nodos significa que usted puede ver que el nodo es la primera retransmisión de un bloque para usted. Sin embargo, esto no es una forma garantizada para determinar si un nodo es la minería. Debido a la latencia de red y el otro bloque de retransmisión de redes (por ejemplo, la FIBRA), usted todavía puede ser transmitida de un bloque por alguien que no tenía mine.

Además, los nodos no anuncian que ellos son los que se extraen de ella. Esta información no se almacena en bloques ni es anunciado por los nodos que están a la minería. Por lo tanto es imposible saber qué nodos son la minería y el nodo creado un bloque.

+803
Jacob Pritchett 3 jul. 2016 2:09:20

Cuando un bloque se desconecta, sus transacciones son añadidos a la mempool (donde sea posible). Si la nueva rama conectada posteriormente no eliminarlos de nuevo, permanecen allí, y será recogido por la construcción de bloques de código.

+776
TheFreal 8 ene. 2012 10:36:04

http://www.electroncash.org/

Pero usted puede tener un problema para la instalación de esta cartera si el uso no-inglés windows 10 versión. Por ejemplo, con letras en cirílico

+770
Moses Machua 24 feb. 2011 2:21:34

Si usted necesita 100 monedas, usted debe utilizar regtest modo, este es un mensaje de un grifo página web:

Por favor no me pregunte a enviar una moneda fuera del grifo! Mis reservas de monedas se están reduciendo y la generación de nuevas monedas se está volviendo más y más difícil.

Si usted realmente necesita un montón de pruebas monedas, intentar alguna otra solución. Por ejemplo: bitcoin-testnet-cuadro bitcoin-regnet

Enlace

+762
Gary Hatherly 15 nov. 2015 21:45:13

Bitcoin funciona a través de la capa de TCP que requiere el conocimiento de las direcciones IP de los dos extremos de la conexión. Si uno de los cambios de dirección IP, la conexión finalizará.

En general, para gestionar desconecta, Bitcoin Core, se intenta mantener 8 conexiones de salida en todo momento. Almacena las direcciones IP de cada nodo que se sabe acerca de. Estos nodos puede ser la que se ha conectado anteriormente o que el resto de los nodos se ha dicho que sobre. Cuando se pierde una conexión saliente, intentará hacer otra conexión de salida para sustituir a la conexión.

Por lo tanto, si todas las conexiones que pasó a ser abandonado debido a una dinámica de cambio de dirección IP, todas las conexiones salientes serán reemplazadas por nuevas conexiones salientes desde la nueva dirección IP. Lamentablemente las conexiones entrantes no va a ser sustituido y el nodo tendrá que esperar a que la nueva dirección IP externa del anuncio de nuevo por sus compañeros.

Un nodo no directamente anunciar su dirección IP externa. En lugar de otros nodos de aprender de su dirección IP externa de la audiencia respecto de otros nodos que se han conectado a ese nodo.

+694
Ashvin Radhakrishnan 29 ene. 2011 18:45:52

Electrum utiliza BIP 32 para ir de un valor de la semilla de claves públicas y privadas. Las direcciones se deriva de las claves. Las claves públicas son también derivados de las claves privadas, excepto en el caso de watch-sólo billeteras.

El pleno de la BIP 32 especificación está disponible aquí.

+667
roman kardashev 3 dic. 2017 11:14:13

En KC705_experimental, el readme dice que el dispositivo debe devolver 0E33337A y otros dos resultados. Sucede que el bit de prueba de trabajo que se describe en el archivo "readme" tiene tres soluciones diferentes a él. Una de minería de datos de secuencia de comandos debe devolver todos los tres soluciones para el servidor.

fpgaminer, el autor de la KC705_experimental código, ha escrito un addon para el sistema Modular de Python Bitcoin Miner proyecto (MPBM) de la mina usando KC705 de hardware. Si la escritura de su propia minería de secuencia de comandos que desea para referirse a su trabajo. Usted puede encontrar más información aquí: https://bitcointalk.org/index.php?topic=9047.msg2019538#msg2019538

+643
Silver978 19 mar. 2010 11:26:52

Estoy leyendo un artículo aquí. Hay una frase el sentido de que no puedo averiguar.

blockchain es la respuesta a una pregunta que nosotros hemos estado haciendo desde el el amanecer de la era de internet: ¿Cómo podemos colectivamente confiar en lo que sucede en línea?

Así, el autor está tratando de decir, con blockchain, podemos confiar en lo que sucede en línea. Pero, ¿qué en la tierra "colectivamente confiar en lo que sucede en línea" significa? Qué significa que todo el mundo puede confiar en lo que está grabado en el blockchain como la tecnología subyacente que hace todo lo que está grabado en el blockchain de confianza?

+633
Amsterford 23 mar. 2019 18:29:14

Blockchain.info tiene un PushTX de la API.

¿Cómo puedo crear y firmar un bruto transacciones en Java para el uso de esta API? Debo usar bitcoinj?

Hay ejemplos de código?

+614
Johnjohn 24 abr. 2011 9:30:43

Sí, testnets son estables, incluso a pesar de que son inútiles, la gente voluntarios con sus equipos, y porque no hay suficientes voluntarios, es estable.

+563
dev4ushka 11 sept. 2014 4:28:28

Pregunta teórica:

Si puedo hacer $1000, que queda depositado en mi cuenta bancaria, y luego yo depósito de $1000 en un bitcoin wallet el día siguiente, y simplemente sentarse en un año tributario, ¿tengo que pagar impuestos de ingresos sobre los $1000? Puede el gobierno me persiga y me a pagar impuestos?

Gracias.

+555
Margo Moore 7 mar. 2011 12:48:10

El uso de cualquier cli basada en demonio (dogecoind,bitcoind,etc.), usted puede utilizar el cli getinfo comando:

./dogecoin-cli getinfo

Devolverá algo como:

{
"versión" : 1080000,
"protocolversion" : 70003,
"walletversion" : 60000,
"equilibrio" : 505658.00000000,
"bloques" : 399670,
"timeoffset" : -1,
"conexiones" : 7,
"proxy" : "",
"dificultad" : 9373.23745278,
"testnet" : false,
"keypoololdest" : 1404252263,
"keypoolsize" : 101,
"paytxfee" : 0.00000000,
"relayfee" : 1.00000000,
los "errores" : ""
}
+546
user3713 17 jun. 2018 1:59:26

El minRelayTxFee (que a pesar del nombre es un feerate) en el BCH es de 1000 satoshis por kilobyte o 1 satoshi por byte.

BCH tiene un límite de tamaño de bloque de 32 MB y, en general, ha tenido sólo una porción muy pequeña de la blockspace utilizado. El actual promedio de 7 días es de 27 kB de tamaño. Rara vez, incluso a los picos de 400 kB.

Graph of blocksize in the past 7 days via fork.lol showing low blockspace usage of BCH a través de la horquilla.lol

Dado que BCH está utilizando actualmente, aproximadamente el 0,1% de sus blockspace, no hay necesidad de pagar una cuota mayor tasa de minRelayTxFee.

Por lo tanto, yo recomiendo no pasar más tiempo en la investigación, sino que simplemente codificar una tarifa de 1000 satoshis/kB. Si quieres jugar a lo seguro, usted puede ir con 1500 o 2000 satoshis/kB. En el improbable caso de que el centro de intercambio de información de tráfico recoge suficiente para llenar los bloques, soporte de software probablemente debería mejorar en ese momento, y usted será capaz de reevaluar a continuación.

+493
Devansh sadhotra 28 abr. 2019 7:32:50

Sí, usted puede firmar con eso. Hardware carteras no se preocupan por su brecha de límite, que no son derivados de las teclas cuando el programa de instalación de la cartera. Sino que simplemente almacenar el maestro de clave privada (o la semilla se usa para derivar el maestro de clave privada) y a continuación se derivan de las teclas individuales necesarios sobre la marcha. Así que si usted le dice a firmar con la 999,999 th clave, dándole la correcta derivación camino, lo hará sin queja.

+478
PlanetHackers 19 jun. 2016 22:01:06

Puedo enviar algunos BTCs a un p2sh dirección. ¿Cómo puedo obtener el balance de la dirección?

Local regtest modo

+466
Allen Wixted 15 oct. 2018 12:22:02

Esta pregunta está relacionada con el software específico del producto, pero los comentarios sobre la necesidad de uso de una dirección de correo electrónico en similares productos de software son bienvenidos.

He instalado blockchain.info la cartera a mi dispositivo móvil y está todo bien, pero se dice en la configuración que tengo sin confirmar e-mail. OK, he confirmado mi e-mail, pero ahora me gustaría saber qué se va a utilizar para.

Puedo ver 3 opciones:

  1. Las notificaciones
  2. MFA
  3. Restablecimiento de la contraseña

AFAIU, es usado para acceder a la interfaz web y notificaciones. Quisiera estar seguro de si estoy en lo correcto acerca de esto.

+423
jennyli 25 may. 2012 6:32:35

Antecedentes:

Estoy pensando en conseguir unos bitcoin minería de hardware. Yo estoy esperando para hacer algo de dinero (al menos lo que me pasó en el hardware), pero principalmente lo que estoy haciendo para aprender acerca de bitcoin minería.

Información específica:

  1. Yo vivo en Seattle. Los costos de la energía son acerca de 13.0 centavos de dólar por kilovatio-hora
  2. Estoy pensando en poner esta en un semi-pequeña habitación en el sótano de mi casa. No hay AC en esta habitación, pero yo sería feliz para invertir en ella si es necesario.
  3. Estoy planeando gastar menos de $5,000 en el este.

Mi pregunta:

Estoy pensando en dos diferentes piezas de hardware, y quiero saber lo que usted piensa que sería mejor. También, me gustaría saber si los cálculos de la página web que estoy usando son exactos.

Escenario uno:

Compro 21 SpondoolieTech SP20 Jackson's de $3,999. Estos se deben ejecutar en el 1,3 TH/s, de acuerdo a este sitio web significa que yo tendría alrededor de $452.05 un mes o $5,424 un año.

Escenario dos:

Yo compre 6 Bitmain Antminer S7 por alrededor de $2,400. Estos se deben ejecutar en el 4,7 TH/s. Según el sitio web anterior, se debe hacer alrededor de $466 de un mes - o $5,592 un año.

La elección obvia parece ser el 6 Bitmain Antminer S7. Es esto correcto? O hay algo que estoy vistas?

Gracias!

+213
barrast 4 sept. 2016 16:50:51

Hice establecer un mainnet c-rayo nodo siguiendo la guía. https://medium.com/@dougvk/run-your-own-mainnet-lightning-node-2d2eab628a8b

Me di cuenta de mi nodo es visible en https://lnmainnet.gaben.win/ pero el URI es desconocido. Es que hay algunos valores que debo ver en mi servidor?

+25
Alkesh Mahajan 20 ene. 2014 9:31:00

Blockchain.info no hace un seguimiento de la testnet, pero blockexplorer.com no. De hecho, la API utiliza estaba originalmente desde blockexplorer.com y blockchain.info simplemente adoptado.

wget-O - http://blockexplorer.com/testnet/q/getblockcount 2> /dev/null

o más corto

curl http://blockexplorer.com/testnet/q/getblockcount
+20
Archit 23 nov. 2015 18:19:24

Estoy recibiendo este error en la depuración.registro de bitcoind:

EXCEPCIÓN: N5boost16exception_detail10clone_implins0_19error_info_injectorins_21thread_resource_erroreeeee
boost::thread_resource_error

Sucede cada 2 a 4 horas, y tengo que reiniciar bitcoind.

Lo que yo hago es pedir transacciones recientes cada 2 segundos, a través de json-rpc.

¿Alguien más tiene este error? Es allí una manera de evitar este error?

ACTUALIZACIÓN:

De hecho, me las arreglé para averiguar que está relacionado con la llamada walletlock. Siempre walletlock se llama (a través de json-rpc o de la línea de comandos, no importa), se genera un nuevo subproceso y no morir. Parece un error.

+17
user3409230 27 jul. 2019 13:32:34

Mostrar preguntas con etiqueta