Uso UTXOs antes de transacción firmado y difundido

Supongamos que tengo una dirección con un solo UTXO. Quiero crear 100 transacciones y firmar/broadcast a todos ellos a la vez. Podría yo hacer lo siguiente:

  1. Crear una transacción con la mano (donde el cambio de los fondos se envían a la dirección del remitente)
  2. Calcular el ID de transacción
  3. Utilice el ID de la transacción y el cambio UTXO índice de salida para crear la segunda transacción
  4. Vaya al paso 2

Hasta puedo crear 100 transacciones? Supongo que mi pregunta se reduce a: ¿Es posible calcular el TXID de una materia de la transacción antes de que sea firmado o transmitido?

Gracias!

+908
Rogi 13 abr. 2017 0:25:32
22 respuestas

Recientemente se me minería en ltc.tbdice sitio que es un solo tipo de sitio. Que sólo se paga cuando un bloque se encuentra y casi todo se va directo para el minero.

Yo había creado una específica de cartera de la dirección de esta minería piscina y recientemente he tenido un muy pequeño pago que se muestran en allí, aunque nunca he conseguido un bloque en ese sitio.

Fue sobre 0.00065 LTC (lo siento, no tenemos la billetera conmigo ahora mismo).

Así que se trata de un pago correcto o tal vez sólo un error en ese sitio web específico? Eso realmente no tiene sentido para mí. Gracias

+999
alhal 03 февр. '09 в 4:24

La gente suele hablar de SHA256 como una sola operación, pero no lo es. Más bien, la entrada es dividido en 64 bytes trozos y, a continuación, cada fragmento se pone en una función de compresión. El estado de el hash a mitad de camino a través de hash algo que no depende de las futuras partes de los datos. Desde el nonce se encuentra en el segundo fragmento, cambiando el nonce no cambia el estado de la función de hash, después de hashing el primer fragmento.

Esto es útil en otras aplicaciones. Por ejemplo, si usted está hash de un archivo de gran tamaño, que significa que usted puede hash sin cargar todo el archivo en la memoria a la vez o cargarlo desde el disco varias veces.

La consecuencia práctica de esta para los mineros de Bitcoin es que 99.99999998% de las veces, solo necesitas 2 iteraciones de la SHA256 función de compresión para comprobar un posible bloque solución, en lugar de 3. En otras palabras, usted puede mío 50% más rápido. Por supuesto, ya que todo el mundo hace esto, eso solo significa que la dificultad es mayor para todos.

midstate es, literalmente, el estado a mediados decamino a través de la mezcla.

Ver también: ¿Satoshi tiene la intención de permitir que midstate computación para acelerar el hash?

+987
Ranpan 25 jul. 2016 22:49:17

Estoy teniendo problemas porque cuando un usuario paga a una nueva dirección, la dirección de reenvío recibe bitcoins al instante, pero se tarda casi 1 hora para enviar los bitcoins a la dirección de destino, el verdadero, y sólo se llama a la API cuando se transfiere a la real. ¿Cómo puede un usuario de depósito de la btc al instante? o más rápido? Gracias!

+933
ramia 12 may. 2010 2:51:23

He recibido algunos bitcoins en una cartera creada por bitaddress.org y he guardado una captura de pantalla de la página web que tiene las claves pública/privada y los códigos QR:

enter image description here

Ahora he descargado el Bitcoin-Qt cliente, ¿cómo puedo importar lo que tengo en ella como una billetera?

+902
k1ko 19 dic. 2013 3:38:46

Sí, usted puede hacer pública la recuperación de claves con CE Schnorr. Considere la posibilidad de

R = kG, [r = R. x, s = k + H(r, m)d], P = dG

verificar:

sG = ?R + H(r, m)Q

recuperación:

sG = kG + H(r, m) dG = R + H(r, m)Q

así

Q = 1 / H(r, m) * (sG - R).

(Y para calcular la R de r si R es el punto comprimido, R = (r,f(r)) R' = (r,-f(r)) y tratar tanto R y R' , mediante la comprobación de si la firma es válida con la resultante de la clave pública).

+889
fission 28 abr. 2019 1:49:29

Tengo curiosidad por ver si electrum apoyo completamente Jerárquica Determinista Carteras (BIP32). He visto en el código fuente que alguna parte de la implementación se lleva a cabo. Pero hay también, como creo que algunos de electrum algoritmos específicos.

Así que cuando puedo crear nueva cartera de electrum será BIP32 compatible?

+889
learning2learn 1 abr. 2017 19:15:57

El número de recién creado bitcoins con cada extraído el bloque llega a la mitad cada 4 años en promedio. (Más precisamente, cada 210.000 bloques). Cuando bitcoin comenzó, este fue de 50 nuevas monedas por bloque y en la actualidad es de 12,5 monedas. Este halvening crea una progresión geométrica que converge al número máximo teórico de bitcoins que puede ser extraído, que pasa a ser de 21 millones de euros.

Matemáticamente:

50 + 25 + 12.5 + 6.25 + ... = 100

100 × 210,000 = 21,000,000

+852
Ruoyu 10 abr. 2019 14:53:58

Añadir a mi comentario anterior, a continuación se Scala código para analizar todo el bitcoind blockchain y extracto crudo de los bloques. Se utiliza Bitcoinj.jar biblioteca de más analizar el crudo del bloque.

Los bloques se almacenan en archivos de blkxxxxx.dat. La estructura del archivo es la siguiente:

4 | 4 | 80 | TxData| 4 | 4 | 80 | TxData| 4 | 4 | 80 | TxData | ...
  • Primeros 4 bytes: magic bytes (que la identificación de red)

  • Segundo 4 bytes: el número de bytes del bloque restante

  • La próxima 80 bytes: encabezado de bloque en sí

  • El próximo NumBlockBytes - 80 bytes: los datos de la Transacción en este bloque [ numTx | Tx1 | Tx2 | Tx3 | ... ]

En mi sistema, yo era capaz de recorrer todos los archivos (1000+) dentro de las 4 horas (no hay verificación o procesamiento de bloque de bytes, sólo el código de prueba a continuación). Hay alrededor de 140 GB de datos en el blockchain en ese momento. Tal vez algunos gurús de la Scala puede hacerlo más rápido.

Curiosamente, cuando yo era la sincronización de bitcoind por primera vez, se terminó en el plazo de 6 horas, que incluye la descarga y verificación de los bloques. Así que esta va a ser más rápido en C++.

También tendrá que lidiar con los huérfanos.

import java.io._
import java.nio._
importación de scala.de la colección.mutable.ArrayBuffer
import org.apache.commons.io.FileUtils
import org.bitcoinj.núcleo._
import org.bitcoinj.params._
importación de scala.de la colección.JavaConversions._

objeto Utils {

 // Se utiliza para cerrar los archivos de forma implícita
 def con[A <: {def close(): Unidad}, B](param: A)(f: A => B): B = try { f(param) } finally { param.close() }

 // este es el método que realmente analiza el archivo
 def parseFile(nombre:String) = { 
 Sistema.gc // archivos de gran tamaño (alrededor de 140 MB cada uno, necesario para borrar la memoria)
 el uso de(new FileInputStream(nombre)) {fis =>
 utilizando(nueva BufferedInputStream(fis)) {bis =>
 var currBlkByte = -1 // bytes de crudo del bloque que estamos leyendo?
 var currBlk = 0 // bloque que está siendo leído?
 var currBlkSize = -1L / / ¿cuál es el tamaño de bloque (en bytes)
 var endBlkByte = -1 // que es el final de bytes de bloque actual?

 val blkSizeBytes = new ArrayBuffer[Byte] // almacena los bytes que contiene los datos sobre el tamaño de bloque
 val blkBytes = new ArrayBuffer[Byte] // almacena los bytes de bloque

 Stream.continuamente(bis.lea).y takewhile(-1 !=).foreach{int =>
 currBlkByte += 1 
 val byte = int.toByte 
 // ignorar primeros 4 bytes (magic bytes), el próximo 4 bytes tiendas próximo bloque de tamaño en little endian
 si (currBlkByte >= 4 && currBlkByte < 8) blkSizeBytes += byte
 si (currBlkByte == 7) { // este byte es la última codificación de bloque del tamaño
 currBlkSize = ByteBuffer.wrap(blkSizeBytes.toArray).orden(ByteOrder.LITTLE_ENDIAN).getInt & 0xFFFFFFFFL; 
 endBlkByte = currBlkSize.toInt + 7 // 8 primeros bytes de información, el resto de la codificación de bloque
 blkSizeBytes./ claro/ claro para el siguiente bloque
}
 si (currBlkByte > 7) blkBytes += byte // bloque de datos 
 si (currBlkByte == endBlkByte) { // hemos llegado al final de la cuadra
 // el último bloque de bytes
 currBlk += 1 // incrementa el número de bloque
 currBlkByte = -1 // reset
 endBlkByte = -1 // reset
 parseBlk(blkBytes.toArray) // nos han bloque en bytes, permite analizar
 blkBytes.clara // reset
 } 
}
}
}
}

 val contexto = nuevo Contexto(MainNetParams.get) // necesario para Bitcoinj v 0,13 y por encima de

 def parseBlk(bytes:Array[Byte]) = { // se utiliza Bitcoinj 
 nuevo Bloque(MainNetParams.obtener, bytes).getTransactions.foreach {tx =>
 val hash = tx.getHashAsString
 val entradas = tx.getInputs
 val salidas = tx.getOutputs
 // hacer algo con el de arriba
}
}
 def getAllFiles(dir:String, extensiones:Array[String], recursiva:Boolean) = 
 FileUtils.listFiles(Archivo nuevo(dir), extensiones, recursivo).toArray.mapa(_.toString)

}
importación Utils._

objeto BlockParser {
 val dir = "/home/usuario/.bitcoin/bloques"
 //los archivos tienen nombres como blk00000.dat, ..., blk01096.dat (último en el momento de la escritura)
 val archivos = getAllFiles(dir, Array("dat"), false).recoger {
 nombre del caso si nombre.contiene("blk") => // recoger sólo los archivos con nombres como "blkxxxxx.dat"
 val num = nombre.gota(s"$dir/blk".el tamaño).tomar(5).toInt // (tomar 5 está basada en los nombres de archivo)
 (nombre, numero) 
 }.sortBy(_._2).descomprimir._1 // ordenar por número de archivo 

los archivos.foreach(parseFile)
}
+852
Geoffrey Logan 27 sept. 2019 9:47:24

En electrum no es una opción para el barrido de la clave privada , el volcado de su clave privada de bitcoin core y, a continuación, barrer en electrum. Entonces usted puede pasar sus monedas de electrum

+694
SamD 27 dic. 2018 11:51:39

La parte importante es que las cadenas deben ser encerrados en triple doble comillas. Por ejemplo:

bitcoind sendmany "" {"""1ELvnrA6PhUyDBS6iR25K1Xx4xXL6VMfjx""":0.001,"""1NX3R5Le4c1y9E316NPMze7aEmCXjpCY58""":0.001}
+635
Lizandro Bettencourt 2 dic. 2014 18:15:47

He estado recibiendo mi bitcion nodo en un simple Kuberenetes de instalación (sin istio). Recientemente he aprendido acerca de istio https://istio.io/ y quiero usarlo para alojar a mis bitcoin nodo.

Sin embargo, no estoy seguro acerca de la salida de los valores que necesitan ser configurados para el bitcoin nodo para descubrir y comunicar a otros compañeros. ¿Cuál es la forma correcta de istio salida configuración de bitcoind? Más específicamente, ¿cuáles son los anfitriones que me debe permitir bitcoind a comunicar?

+579
Smokie 16 sept. 2013 6:53:49

Tengo algunas preguntas de las transacciones bitcoin,

En una transacción de bitcoin, no hay información sobre el destinatario, a la derecha?

Cómo hacer servicios tales como blockchain.com seguimiento de la información acerca de una transacción, a partir de la cual carteras han iniciado y que las carteras han llegado?

+557
Sander10 26 abr. 2012 8:40:35

¿Cuáles son las similitudes y diferencias entre un "checksum" y el algoritmo de "hash" de la función?

Puede ser utilizado en lugar de otro? O su uso son diferentes?

Por ejemplo, para verificar la integridad de un texto, que es el mejor para ser utilizado?

+527
thengineer 2 abr. 2010 19:17:01

Mientras que usted puede mantener su dinero en el Monte. Gox, no es recomendable hacerlo, por las razones que se enumeran aquí. Por lo que sería mejor encontrar un e-wallet te gusta (me sugieren blockchain.info), y enviar sus fondos allí.

Mantenga siempre una copia de seguridad, y nunca se olvide de su contraseña!

+524
MHarris 24 feb. 2017 5:59:19

Bitcoin viernes es un evento coordinado por algunos de los mayores Bitcoin, incluidos los sitios de MtGox, BitInstant y SatoshiDice a traer grandes descuentos para los usuarios de Bitcoin en sus sitios. El evento tendrá lugar el viernes, 2012 11 09.

+483
olesz1982 19 nov. 2012 21:56:47

Sí, se llama Distribuido Contrato o un Smart Contrato.

Proyectos como el de Etereum están tratando de hacer esto mucho más de una realidad. En la actualidad son un poco de un dolor de escribir.

+442
HerrSchnuff 18 dic. 2010 12:56:36

Encontré un viejo monedero.dat contenía cientos de transacciones, mientras que yo era la minería.

He reemplazado la cartera.dat en un nuevo Bitcoin Core cartera, vuelvan a leer, todo el txid se muestran pero la cantidad de bitcoin que se almacenan allí no es! Ahora muestra 0 monedas

Sé que nunca me envió + todos los tx son entradas no hay, hasta ahora, he tratado de volver a examinar.

¿alguna idea de cómo puedo extraer por ejemplo, un maestro de privat clave para la totalidad de la cartera, y las importaciones en algún lugar ?

+416
hahihiha 24 oct. 2010 18:09:45

Si usted está realmente preocupado de esto, se puede hacer uso de un par de cosas:

  1. El uso de un servicio en la nube como Amazon Web Services o Google Compute Engine para ejecutar un pequeño instancia en ejecución de una cartera de + LN.
  2. El uso de la Blockstream Satélite para descargar el blockchain en una computadora de escritorio en su red, lo que podría, a continuación, enviar un SMS o cualquier otro tipo de alerta si se detecta una transacción.

Ejecución LN canales asume que usted tiene una conexión a internet que es 'siempre' hasta.

+350
rhendril 18 nov. 2019 11:03:13

El primero en ir por el camino fácil, me gustaría utilizar cualquier calculadora en línea, pero la mayoría de estos minería de calculadoras requieren que el hash de la tasa de mi dispositivo. Soy incapaz de encontrar una respuesta adecuada o una guía de fácil calcular este valor para cualquier dispositivo dado sus configuraciones. Va a ser eso posible?

Escenario:

Cuando voy a estos calculadora en línea de los sitios, de nuevo de la cruz preguntarme acerca de la tasa de hash/ hash poder. Necesito determinar este valor y se alimentan en estos sitios, así que puedo conseguir el resultado deseado. (por ejemplo, cryptocompare.com). Quiero saber si es fácil calcular estos valores con cierta información acerca de su máquina, como el procesador, la Gpu y todo, ¿cuánto tiempo me va a ejecutarlo. Sé que la calculadora de sitios necesidad de la entrada de alimentación del dispositivo.

+301
jwir3 17 jun. 2011 8:29:37

Si un mal equipo de la red querían atacar a Bitcoin, tendrían que tener más poder de cómputo que el presente Bitcoin red y, a continuación, el ataque de un bloque actual, que necesita aún más para regresar y volver a calcular todas las sumas de comprobación en el bloque de la cadena desde el día uno?

Estoy pensando que como la historia continúa el trabajo requerido crece y, por tanto, la necesidad de más potencia de cálculo que hace que un ataque de este tipo menos factible.

+198
JStorage 6 nov. 2012 16:14:37

Gran resumen aquí:

https://www.electromaker.io/blog/article/cryptocurrency-mining-on-the-raspberry-pi-60

También incluye un paso a paso guía sobre cómo mina de crypto moneda en la Raspberry pi

+146
Zulekha N 13 may. 2019 0:30:18

Algunos bitcoin consiguió enviado a un antiguo depósito de dirección, puedo conseguir este bitcoin espalda o se perdió?

+120
sjmulder 16 abr. 2019 7:02:50

Mostrar preguntas con etiqueta