Qué legado nodos reciben el testimonio de los campos de un Segwit transacciones?

Mi pregunta no viene de la comprensión de cómo BIP 144 obras? Con respecto a la BIP lo que me pregunto es, si el legado de los nodos de soporte el nuevo analizador, por lo que tratan Segwit tranasctions como válida? Allí se afirma:

Los analizadores de apoyo a este PBI será capaz de distinguir entre el antiguo formato de serialización (sin testigos) y este. El marcador de byte se establece a cero, por lo que esta estructura nunca va a analizar como válida la transacción en un analizador que no es compatible con esta BIP. Si el análisis fuera a tener éxito, tal transacción no contienen entradas y una sola salida.

En relación a mi pregunta, yo no podía entender cómo el legado de los nodos de tratar el testimonio de los campos de un segwit transacción?

+763
Jonathan Sumrall 7 abr. 2017 0:46:20
23 respuestas

La única manera que conozco Es usar algo como Pywallet, como Meni mencionado.

Sin embargo, me gustaría señalar que es la mejor práctica para crear una nueva dirección para cada transacción.

Si te preocupa no ser capaz de encontrar una dirección en particular, se debe tener cuidado para etiquetar todo tu dirección de una manera útil a la hora de crearlos. Una vez marcado, se pueden realizar búsquedas.

+897
hvalin2014 03 февр. '09 в 4:24

Este es un 5 de entrada, uno de salida multisig transacción. La decodificación de la primera sigscript

0047304402201C45383CC6E43202ED069E36184A97BF5DD489C6BEA1372629540DEA154C424902200A950B3557BBA9AE9531237D46E6EB1AFFFD01EBA989C3E53ADAAC443E5E2A2E01473044022032A681FB77589CE1A29A84494A6F9CB19630FCD65480FF646F30D8B826980390022006DC71BABA1142ABB275BBF3613B2A13B347BAC4D09D41CCD9B69B02C270D8C2014C69522103745AAAF364030720B2D14DE50A3310EEF521C91E36353DCA20813713535C005A2102DB8911B3989B43C43D8DD6E50459BD85C38FAF3B2862EB78EF297002775A10BD210351E3F71B7CF9A5F5F86C1908FEE02EBF5A1ED77B6748F7486505D155833645F253AE

se puede descomponer en las siguientes secciones:

00
sig1 47304402201C45383CC6E43202ED069E36184A97BF5DD489C6BEA1372629540DEA154C424902200A950B3557BBA9AE9531237D46E6EB1AFFFD01EBA989C3E53ADAAC443E5E2A2E01
sig2 473044022032A681FB77589CE1A29A84494A6F9CB19630FCD65480FF646F30D8B826980390022006DC71BABA1142ABB275BBF3613B2A13B347BAC4D09D41CCD9B69B02C270D8C201
longitud 4C69
OP_2 52
pk1 21 03745AAAF364030720B2D14DE50A3310EEF521C91E36353DCA20813713535C005A
pk2 21 02DB8911B3989B43C43D8DD6E50459BD85C38FAF3B2862EB78EF297002775A10BD
pk3 21 0351E3F71B7CF9A5F5F86C1908FEE02EBF5A1ED77B6748F7486505D155833645F2
OP_3 53
compruebe AE

Así que este es un dos de tres multisig tx, que ha proporcionado dos firmas, y tres claves públicas. Para explicar cada uno de los comandos, aquí están los detalles:

00: OP_0, OP_FALSE: una matriz vacía se inserta en la pila.
47: OP_DATA_0x47: inserción hexagonal 47 (decimal 71) bytes en la pila
30: OP_SEQUENCE_0x30: tipo de etiqueta que indica la SECUENCIA, comenzar sigscript
44: OP_LENGTH_0x44: longitud de R + S
02: OP_INT_0x02: etiqueta de tipo ENTERO que indica la longitud de la
20: OP_LENGTH_0x20: esta es la SIG R (32 Bytes)
1C45383CC6E43202:ED069E36184A97BF:5DD489C6BEA13726:29540DEA154C4249
02: OP_INT_0x02: etiqueta de tipo ENTERO que indica la longitud de la
20: OP_LENGTH_0x20: esta es la SIG S (32 Bytes)
0A950B3557BBA9AE:9531237D46E6EB1A:FFFD01EBA989C3E5:3ADAAC443E5E2A2E
01: OP_SIGHASHALL: esto termina la firma ECDSA (ASN1-DER la estructura)
#########################################################
47: OP_DATA_0x47: inserción hexagonal 47 (decimal 71) bytes en la pila
30: OP_SEQUENCE_0x30: tipo de etiqueta que indica la SECUENCIA, comenzar sigscript
44: OP_LENGTH_0x44: longitud de R + S
02: OP_INT_0x02: etiqueta de tipo ENTERO que indica la longitud de la
20: OP_LENGTH_0x20: esta es la SIG R (32 Bytes)
32A681FB77589CE1:A29A84494A6F9CB1
9630FCD65480FF64:6F30D8B826980390
02: OP_INT_0x02: etiqueta de tipo ENTERO que indica la longitud de la
20: OP_LENGTH_0x20: esta es la SIG S (32 Bytes)
06DC71BABA1142AB:B275BBF3613B2A13
B347BAC4D09D41CC:D9B69B02C270D8C2
01: OP_SIGHASHALL: esto termina la firma ECDSA (ASN1-DER la estructura)
#########################################################
4C: OP_PUSHDATA1: siguiente byte es el número de bytes que van a la pila
69: OP_Int(0x01-0xff): 105 bytes en la pila
52: OP_2: el número 2 se inserta en la pila
 ################### vamos multisig ####################################
21: OP_DATA_0x21: comprimido pub clave (33 Bytes)
03745AAAF3640307:20B2D14DE50A3310:EEF521C91E36353D:CA20813713535C00:5A
 Este es MultiSig comprimido de Clave Pública (X9.63 formulario)
 correspondiente dirección bitcoin es: 1GNXpcYzasmmXvM4rNgkvZ5SzXgL4L9Ch6
21: OP_DATA_0x21: comprimido pub clave (33 Bytes)
02DB8911B3989B43:C43D8DD6E50459BD:85C38FAF3B2862EB:78EF297002775A10:BD
 Este es MultiSig comprimido de Clave Pública (X9.63 formulario)
 correspondiente dirección bitcoin es: 1KHCXt29T7cHfPA88SpPL128h9PyZMi2ur
21: OP_DATA_0x21: comprimido pub clave (33 Bytes)
 21: OP_DATA_0x21: comprimido pub clave (33 Bytes)
0351E3F71B7CF9A5:F5F86C1908FEE02E:BF5A1ED77B6748F7:486505D155833645:F2
 Este es MultiSig comprimido de Clave Pública (X9.63 formulario)
 correspondiente dirección bitcoin es: 1PjUtVWKkr2GxA5HrkAmvhpyHGUwNPyQzh
53: OP_3: el número 3 se inserta en la pila
 ################### 2-de-3 Multisig ###################################
AE: OP_CHECKMULTISIG: terminación multisig
 correspondiente dirección bitcoin es: 33jhmQXe4Q9dP24Jm9EVa6XHxn85sZnQmr

Ahora bien, si todo esto parece ser mucho para el comienzo, recomiendo la lectura de Andreas libro "el dominio de Bitcoin", sobre todo aquí en el capítulo 7 "opciones Avanzadas de las Transacciones y de secuencias de comandos".

+846
some user 9 ago. 2015 23:50:01

Intentar un pago a través de una ruta predefinida mediante:

lncli la red=testnet queryroutes 02e34c1b4c5f8e7419cf4d10e3bc9651d46dc1af68df6a7b81a24951a9192aa9c4 25000 | lncli la red=testnet sendtoroute -pay_hash=45b9255c8648c6c1f60e394e555f745af31ed7fab385d0cf9e82b62ce8e8dfba - 

Siempre me dan la espalda:

{
 "payment_error": "FinalExpiryTooSoon",
 "payment_preimage": "",
 "payment_route": null
}

Independientemente de la expiración puse en el addinvoice comando. Alguien puede aclarar por Qué? Por otra parte, ¿cómo es posible el uso de la sendtoroute de comandos de uso de las rutas.json obtenidos antes de la queryroutes comando?

+823
Algol Cobol 18 jun. 2012 3:41:15

Los bancos mantienen y transferencia de moneda fiat. El Bitcoin red organiza y transferencias de un token de llamada Bitcoin. Lo que usted está buscando es alguien que está dispuesto a vender Bitcoin en el cambio de algunos de la moneda fiat en su cuenta bancaria. Esto es fundamentalmente diferente de la transferencia de dinero de una cuenta bancaria a una dirección bitcoin.

Lo que usted necesita es un cambio. Hay varios para elegir, pero usted tendrá que encontrar uno que acepta pagos de un banco sudafricano. Producto y revisiones de servicio se consideran fuera de tema en este sitio, así que usted puede desear mirar en otra parte para encontrar un intercambio que se adapte a sus necesidades.

+807
pedrouan 11 ago. 2015 11:28:42

Si puedo retirar todo mi dinero de una billetera de papel, pero no terminan de pasar todo el balance, debo crear un nuevo papel en la billetera y enviar el saldo restante como oposición a la vieja billetera?

+792
andselisk 24 sept. 2019 15:24:53

Para realizar una Finney ataque o un 51% de ataque me necesita tener un montón de potencia de cálculo, pero en este caso (un sitio web que acepta transacciones con 0 confirmaciones) a mí me parece que sólo tengo que emitir dos transacciones de forma casi simultánea. Dependiendo de lo que el minero elige incluir en el bloque siguiente, yo podría tener suerte.

Es que fácil o me estoy olvidando de algo?

+766
user286909 18 may. 2019 18:44:27

El blockchain no puede contener maleable transacciones. La maleabilidad de las transacciones de suceder antes de que la transacción está incrustado en un bloque en el blockchain.

Esencialmente, el ID de transacción es un hash de todo acerca de la transacción, incluyendo la firma. La firma de signos de todo, excepto la parte de la firma (no puede firmar sus propios datos). Así, dos registros de la transacción puede tener las mismas entradas y salidas, con (eficacia), la misma firma, pero tienen diferentes ID de transacción. Es esta doble ID de transacción para la misma transacción que puede confundir a algunos Bitcoin clientes.

Después de una transacción se incorpora en un bloque, la maleabilidad ya no importa. Cuando Bitcoin clientes a tratar de trabajar con las transacciones antes de que hayan sido debidamente confirmado (al ser incorporadas en un bloque varias veces), pueden surgir problemas.

+711
CCramer 24 ene. 2011 8:13:17

Estoy leyendo en los Bitshares y dicen que tienen el mercado vinculado activos que están vinculados a USD y Oro (BitUSD y BitGold)

Dicen que tiene un precio estable y se conmueve de alguna manera para asegurarse de que usted todavía tiene que el valor exacto. Lo que estoy suponiendo que significa es que si usted tiene 100 BitUSD que es igual a $100 USD. Y si BitUSD caído en valor para decir $90, su bitUSD fluctuará a 110 o algo para compensar el cambio. Por lo que las monedas/activos son los #'s, que se mueve y no el valor.

Ahora la pregunta que tengo es decir si usted tiene 1000 BitUSD y quiere retirar a los USD. Quién va a ser el que da las reales de dólares? Seguro que si se pone en $1000 USD y comprado 1000 BitUSD. Dicen que si quería vender que 1000BitUSD ahora, ¿quién va a comprar la parte posterior de la u en $1000?

Esto es lo que estoy confundido acerca de en el Mercado Vinculado Activos.

+673
ioaoa 5 oct. 2015 6:20:50

Estoy interesado en Bitcoin, pero no hablan bien el inglés. ¿Dónde puedo encontrar más información acerca de Bitcoin, y obtener ayuda con mis preguntas en [mi lengua materna]?

Este es un canónica pregunta para servir como un pararrayos para las preguntas en ruso, Japonés, Chino, español, turco, árabe[1], o en otros idiomas que no sean inglés que no apoyamos aquí.

[1] listado de idiomas ya he visto en Bitcoin.SE.

+655
Avery Amell 27 may. 2017 12:56:31

Bitcoin Core merkle raíz de cálculo de la función puede ser encontrada aquí. Aquí está la versión simplificada:

// Entrada: individual transacciones de valores de hash (una.k.una. hojas)
uint256 ComputeMerkleRoot(std::vector<uint256> hash) {
 mientras (hashes.size() > 1) {
 // Si hay un número impar de hashes
 si (hashes.size() & 1) {
 // Copia a la final de los hashes de la matriz de
hashes.push_back(hashes.back());
}
 // Calcula el doble de SHA256s de (hashes.size() / 2) bloques de
 // Guardar la salida de hashes
 SHA256D64(hash[0].begin(), hash[0].begin(), hashes.size() / 2);
 // Guardar la salida de hashes
 hashes.cambiar el tamaño(hashes.size() / 2);
}
 // Si no hubiera original hash, devuelve 0
 si (hashes.size() == 0) return uint256();
 devolver los hash[0];
}
+573
Turtle 24 jun. 2016 12:17:07

Hice un error aquí en algún lugar de mi construcción?

No, no lo hiciste. Este es de hecho un problema para los canales de pago que puede ser trabajado a su alrededor, pero reduce la seguridad de un canal de pagos y aumenta la complejidad de la creación de un canal de pago.

Debido a su maleabilidad plantea un problema con canales de pago, transacciones de pago, canales utilizados en la red de rayos de hacer uso de Segwit que hace que las transacciones que utilizan Segwit no maleable. Específicamente, para un LN canal de pago, la financiación de la transacción debe ser no maleable; se debe pasar de la anterior segwit salidas y crear segwit salidas de fin de permitir el futuro no maleable las transacciones.

+567
clinomaniac 30 jul. 2016 13:02:25

Puedes seguir ese y otros datos de https://bitinfocharts.com/dogecoin/

+464
coolerfarmer 31 ago. 2018 6:39:46

Es posible la creación de un CT de la transacción, donde las entradas de referencia UTXOs que no son confidenciales (como en Bitcoin ahora), pero la creación de nuevas salidas que se están escondiendo el valor de uso de la TC del esquema?

Sí, se incluye una dummy cegadora factor.

¿Qué sería de la red tiene que hacer para comprobar que la suma de los compromisos en las salidas, el mismo que la suma de texto claro cantidades de los insumos?

Con el chupete cegadora factor, haría exactamente lo mismo una TC tx.

La respuesta fue mucho más sencillo de lo que pensaba.

+402
Asadullah Galib 18 abr. 2015 9:49:13

Tengo copia y pega el comando a mi c-iluminación nodo y funciona a producir la siguiente salida:

rayo-cli factura 100 invoice20190126 payme
{
 "payment_hash": "af2a2e0a6f4924f755e296c219ade5f2c65616fcec5bb8e62b253b8a71a442cb", 
 "expires_at": 1548528927, 
 "bolt11": "lnbc1n1pwye8cdpp54u4zuzn0fyj0w40zjmppnt097tr9v9hua3dm3e3ty5ac5udygt9sdqgwpshjmt9cqp2rzjqgj8m8dsm7h75az7lry7zc0txghh8tpl3pvdsuctdlvhy4r50nnkkzrgpvqqf0cqqqqqqq05qqqqraqqjq9c06msw62wushzceav74p2zzmznmtud4c3hkw6keqvquxnm6kaxry4rm7aerwppl4jn5xm7tyjxvvyyve5w06slwm7fvxfspx363j9cqcevtr7"
}

La versión de c-rayo estás usando? También recientemente hubo un cambio de JSON API RPC debido al nuevo sistema de plugins. Podría ser que usted no ha actualizado el rayo-cli , pero sólo lightningd?

+388
ihatecache 12 jul. 2015 17:16:51

entrar en el enlace de la descripción aquí - bastante garrapata se dispone de datos.

+292
darrylkuhn 29 jul. 2014 14:11:07

Estoy teniendo un problema conseguir el local del cliente bitcoin que se ejecuta en un Mac OS X de la máquina.

Cuando la instalación de berkeley-db4, y ejecutando el siguiente comando (por el archivo readme (LÉAME):

brew install https://raw.github.com/mxcl/homebrew/master/Library/Formula/berkeley-db4.rb --sin-java

Yo, a continuación, entrar en la consola y ejecutar el cd .. y luego:

db-4.8.30/dist/configure --prefix=/usr/local/Bodega/berkeley-db4/4.8.30 --mandir=/usr/local/Bodega/berkeley-db4/4.8.30/share/man --enable-cxx

Una vez que esto sucede, tengo un largo rastro termina en este error. Alguien ha topado con este?

la comprobación de un BSD-compatible instalar... /usr/bin/install -c
la comprobación de si el compilador de C de obras... sí
la comprobación de compilador de C de salida por defecto de nombre de archivo... una.fuera
la comprobación de sufijo de ejecutables...
la comprobación de si estamos compilación cruzada... configure: error: en `/privado/tmp/berkeley-db420160220-8656-19l1688':
configure: error: no se puede ejecutar C programas compilados.
Si se pretende una compilación cruzada, uso `--host'.
Ver " config.registro' para más detalles.
+252
lampos mavridis 24 feb. 2011 3:29:01

Basado en bitcoin código fuente: https://github.com/bitcoin/bitcoin/blob/0.8.6/src/main.cpp#L2112 válido de un bloque debe tener la Coinbase de la transacción (el que pasa las recompensas y tasas) como la primera transacción y no de otra coinbase las transacciones deben aparecer en el bloque. El gasto de la totalidad de la recompensa y tasas no es forzada.

Entonces, la respuesta es no válido sólo los bloques no tienen un Coinbase transacción o en una posición diferente de la primera. Pero que la transacción puede ser utilizado para enviar las monedas a cualquier dirección no sólo a los mineros de uno, así que tal vez no ha sido el uso de bloques de la coinbase de transacciones para el pago de bienes o pagar a otras personas diferentes a los minero (por ejemplo Eligius grupo utiliza para pagar las acciones directamente).

+251
Angie Watkins 21 jul. 2015 3:19:25

Estoy escribiendo un trabajo de investigación en la cripto moneda darkmarkets, la comparación y contraste de los mismos.

¿Alguien tiene una lista de oscuro mercados utilizando bitcoin que han sido cerrados por el FBI?

Hasta ahora tengo:

  • AlphaBay

  • SilkRoad

  • SilkRoad2.0

+133
Kevin S 24 jun. 2013 0:32:55

Decir, he generado, firmado y enviado a raw transacción (a través de JSON-RPC) a la red. La convocatoria resultó en una transacción de hash. Cuándo puedo utilizar el resultado de la transacción: cuando la transacción sea confirmada al menos una vez o cuando va a estar en el blockchain?

+131
Elizabeth King 23 oct. 2013 13:21:40
Preguntas acerca de la tarjeta de crédito y servicios de tarjetas de crédito que pueden ser financiados con Bitcoin, o dibujar en un Bitcoin equilibrio para borrar los pagos.
+63
Phil Harvey 21 sept. 2013 17:39:02
// La mejor cadena debe tener al menos este trabajo.
 consenso.nMinimumChainWork = uint256S("0x000000000000000000000000000000000000000000000005c13f99f6d0b1a908");

cómo calcular este parámetro, lo poco que no entiendan. No cuadra en blockchain, ¿cómo encontrar este valor si altcoin existen final me actualización de fuentes que existen blockchain final para los nuevos blockchain.

consenso.powLimit = uint256S("00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); 

final acerca de este valor , cómo convertir a diff xxx para entender lo diff es. ejemplo diff 1, 20, 1000 etc...

+61
epotter 24 may. 2011 23:50:40

Ya que es un servidor dedicado, dudo que la empresa que alquila desde habría cuidado. Pero en última instancia, para responder a esa pregunta, usted necesita tomar un vistazo a los Términos y Condiciones de la empresa de leasing.

Suponiendo que usted puede y quiere, no hay ninguna diferencia entre un arrendada servidor y uno sentado en su escritorio, las herramientas son las mismas para todos. (Ok eso es simplificar es porque, obviamente, usted necesita para conectar con el mismo servidor a través de VPN, etc., pero el punto principal sigue siendo).

Ya que son nuevos para la minería de bitcoin, yo recomendaría conseguir y de trabajar en un PC que tenga acceso físico a, incluso si no es grave para la minería, usted gustaría aprender mucho acerca de cómo funciona. Una vez que usted tiene que trabajar a nivel local, entonces yo sería tratar de conseguir que funcione en su arrendada servidor.

Divertirse!

+42
Nickelback1347 11 abr. 2013 7:02:34

Si entiendo la pregunta, yo creo que se puede construir un CPubKey a partir de un vector de bytes extraído de la CScript secuencia de comandos como:

CScript::const_iterator it = secuencia de comandos.begin(); // o específicamente, la ubicación de la clave pública en el CScript objeto
opcodetype código de operación;
valtype de datos;

secuencia de comandos.GetOp(iterator, código de operación, datos); // datos contiene ahora el vector de bytes
CPubKey pubKey = CPubKey(datos);
+30
mackerm 22 jun. 2016 20:38:28

Mostrar preguntas con etiqueta