Tratando de obtener una comprensión más profunda de la atómica de los swaps

Soy un estudiante y la escritura de una tesis acerca de la atómica de los swaps en BTC y BTC-como blockchains. Para la tesis decidí usar BTC, LTC, BCH y DCR. Estas cadenas tienen de alguna manera similar codebase y el mismo lenguaje de secuencias de comandos (yo no soy un profesional, por lo que puede haber diferencias, pero no son graves). Y todos ellos tienen un nivel suficientemente alto de marketcap de ser relevante para atómica swaps.

Por lo que el objetivo de la tesis es encontrar hash timelock contratos (HTLCs) y conecte la coincidencia de HTLCs de diferentes cadenas para obtener la atómica de intercambio. Por lo tanto he buscado primero la web para cualquier cosa atómica swaps [1] y analizado el script de entrada de esta transacción [2] para obtener una comprensión básica de cómo atómica swaps de trabajo y por lo que parece.

Luego escribí un ir de programa en la búsqueda de cualquier secuencia de comandos ya que una simple P2PKH secuencias de comandos. Esto me dio una lista de muchos de los diferentes scripts que he analizado con la mano para tomar la HTLC queridos. (Además de muchas multisig secuencias de comandos, no hay mucho para encontrar en BTC^^)

En este punto me encontré con varios tipos diferentes de HTLCs enumerados a continuación. Después me arrastró* BTC vuelve a guardar todas las transacciones con HTLC secuencias de comandos, el almacenamiento de los datos interesantes como tx-id, valor de entrada, pubKeyHashes, los secretos y sus guiones. He encontrado acerca de una hundret HTLCs en BTC hasta ahora.

Yo hice lo mismo para LTC y encuentran alrededor de 400 HTLCs.

Como mucho lo que he entendido, los secretos de HTLCs tiene que ser el mismo en ambas cadenas. Así que escribí ir a otro programa para que coincida con la que se ha encontrado HTLCs de BTC y LTC y obtuvo alrededor de 30 partidos. Los próximos pasos, entonces sería para rastrear el BCH y el DCR y también coincide con la HTLCs que se encuentran allí.

*Rastreo significa que en este caso me pongo a buscar en el blockchain hacia atrás (para obtener la más reciente primero, los primeros años no son interesantes en este caso^^) hasta el comienzo de 2017. Por lo que alrededor de 18 meses. Como se indica en [1] la primera conocida atómica de intercambio entre BTC y LTC fue tomada el 19 de abril de 2017 (o el 19 de abril de 2017 o 19.4.2017 o lo que quieras). Así que no hay mucho sentido en el rastreo de cualquier otra.

Mis preguntas ahora son los siguientes:

  • ¿Por qué hay tantos tipos diferentes? Es la compatibilidad con otras cadenas? O qué?
  • ¿Cuáles son las diferencias entre estos tipos (además de la longitud y el algoritmo de hash)?
  • ¿Cuáles son las ventajas y desventajas de estos tipos?
  • ¿Por qué hay tantos HTLCs en LTC y tan pocos en BTC?
  • ¿Conoces otros HTLC scripts?
  • Puede usted proporcionar los recursos interesantes sobre este tema?

Estoy abierto a cualquier información constructiva y espero que tengas un par de respuestas para mí. Gracias de antemano.

Tipo 1: sha256 secreto, longitud=97byte

63 si
82 tamaño
01 data1
20
88 equalverify
a8 sha256
20 data32
 <secret_hash 32byte>
88 equalverify
76 dup
a9 hash160
14 data20
 <pubkey_hash1 20byte>
67 otra cosa
04 data4
 <temporizador 4byte>
b1 checklocktimeverify
75 de la gota
76 dup
a9 hash160
14 data20
 <pubkey_hash2 20byte>
68 endif
88 equalverify
ac checksig

Tipo 2a: sha256 secreto, longitud=94byte

63 si
a8 sha256
20 data32
 <secret_hash 32byte>
76 dup
a9 hash160
14 data20
 <pubkey_hash1 20byte>
88 equalverify
ac checksig
67 otra cosa
04 data4
 <temporizador 4byte>
b1 checklocktimeverify
75 de la gota
76 dup
a9 hash160
14 data20
 <pubkey_hash2 20byte>
88 equalverify
ac checksig
68 endif

Tipo 2b: sha256 secreto, longitud=93byte

63 si
a8 sha256
20 data32
 <secret_hash 32byte>
88 equalverify
76 dup
a9 hash160
14 data20
 <pubkey_hash1 20byte>
67 otra cosa
04 data4
 <temporizador 4byte>
b1 checklocktimeverify
75 de la gota
76 dup
a9 hash160
14 data20
 <pubkey_hash2 20byte>
68 endif
88 equalverify
ac checksig

Tipo 3: ripemd160 secreto, longitud=81byte

63 si
a6 ripemd160
14 data20
 <secret_hash 20byte>
88 equalverify
76 dup
a9 hash160
14 data20
 <pubkey_hash1 20byte>
67 otra cosa
04 data4
 <temporizador 4byte>
b1 checklocktimeverify
75 de la gota
76 dup
a9 hash160
14 data20
 <pubkey_hash2 20byte>
68 endif
88 equalverify
ac checksig

Tipo 4a: hash160 secreto, longitud=86byte

63 si
03 data3
 <temporizador 3byte>
b1 checklocktimeverify
75 de la gota
76 dup
a9 hash160
14 data20
 <pubkey_hash2 20byte>
88 equalverify
ac checksig
67 otra cosa
76 dup
a9 hash160
14 data20
 <secret_hash 20byte>
88 equalverify
ad checksigverify
82 tamaño
01 data1
 21 -> 33
88 equalverify
a9 hash160
14 data20
 <pubkey_hash1 20byte>
87 igual
68 endif

Tipo 4b: hash160 secreto, longitud=82byte

63 si
03 data3
 <temporizador 3byte>
b1 checklocktimeverify
75 de la gota
76 dup
a9 hash160
14 data20
 <pubkey_hash2 20byte>
88 equalverify
ac checksig
67 otra cosa
76 dup
a9 hash160
14 data20
 <secret_hash 20byte>
88 equalverify
ad checksigverify
a9 hash160
14 data20
 <pubkey_hash1 20byte>
87 igual
68 endif

Tipo 5a: hash160 secreto, longitud=81byte

63 si
a9 hash160
14 data20
 <secret_hash 20byte>
88 equalverify
76 dup
a9 hash160
14 data20
 <pubkey_hash1 20byte>
67 otra cosa
04 data4
 <temporizador 4byte>
b2 checksequenceverify
75 de la gota
76 dup
a9 hash160
14 data20
 <pubkey_hash2 20byte>
68 endif
88 equalverify
ac checksig

Tipo 5b: hash160 secreto, longitud=78byte

63 si
a9 hash160
14 data20
 <secret_hash 20byte>
88 equalverify
76 dup
a9 hash160
14 data20
 <pubkey_hash1 20byte>
67 otra cosa
01 data1
 <temporizador 1byte>
b2 checksequenceverify
75 de la gota
76 dup
a9 hash160
14 data20
 <pubkey_hash2 20byte>
68 endif
88 equalverify
ac checksig

Tipo 6: hash160 secreto, longitud=79byte

63 si
54 <temporizador op>
b1 checklocktimeverify
75 de la gota
76 dup
a9 hash160
14 data20
 <pubkey_hash2 20byte>
88 equalverify
ac checksig
67 otra cosa
76 dup
a9 hash160
14 data20
 <secret_hash 20byte>
88 equalverify
ad checksigverify
a9 hash160
14 data20
 <pubkey_hash1 20byte>
87 igual
68 endif

Tipo 7: múltiples ripemd160 secretos, longitud=80 + n*23byte

63 si
a6 ripemd160
14 data20
 <secret_hash1 20byte>
88 equalverify
a6 ripemd160
14 data20
 <secret_hash2 20byte>
...
88 equalverify
a6 ripemd160
14 data20
 <secret_hash_n 20byte>
88 equalverify
21 data33
 <signature1 33byte>
ac checksig
67 otra cosa
04 data4
 <temporizador 4byte>
b1 checklocktimeverify
75 de la gota
21 data33
 <signature2 33byte>
ac checksig
68 endif

Tipo 8: múltiples ripemd160 secretos, longitud=81 + n*23byte

74 profundidad
60 16
87 igual
63 si
a6 ripemd160
14 data20
 <secret_hash1 20byte>
88 equalverify
a6 ripemd160
14 data20
 <secret_hash2 20byte>
...
88 equalverify
a6 ripemd160
14 data20
 <secret_hash15 20byte>
88 equalverify
21 data33
<signature1>
67 otra cosa
03 data3
 <temporizador 3byte>
b1 checklocktimeverify
75 de la gota
21 data33
<signature2>
68 endif
ac checksig

[1] http://www.cryptovibes.com/crypto-news/charlie-lees-atomic-swap-between-litecoin-and-bitcoin-was-a-success/

[2] https://insight.bitpay.com/tx/0bb5a53a9c7e84e2c45d6a46a7b72afc2feffb8826b9aeb3848699c6fd856480

+972
user13411 20 nov. 2017 15:29:33
19 respuestas

Tengo una blockchain cuenta con bitcoins, pero la cuenta se lleva a cabo en el rescate. Tengo que pagar 2140$ para obtener una clave privada. Es allí cualquier manera de informar de ello a Blockchain.

Hice un acuerdo de comercio. El distribuidor poner mis ganancias en una de minería de datos de la cuenta en Blockchain. Para la recuperación de mis fondos que tengo que comprar una llave del distribuidor para disponer de los fondos liberados. Espero que me estoy haciendo sentido

+884
Ryan Conner 03 февр. '09 в 4:24

En general, no se puede.

Usted tiene que mirar en el scriptPubKey de la salida que se gasta.

+871
shadowlerone 11 feb. 2014 2:21:10

Determinista claves se basan en la función de hash sha256. Como se describe en el enlace de más abajo determinista teclas de utilizar la misma función hash.

https://en.bitcoin.it/wiki/Deterministic_wallet

Es posible que un FPGA para ser reutilizados para encontrar rápidamente los valores hash para mal elegido llaves?

+832
Eitan Belitz 3 sept. 2014 0:55:16

Si operan por debajo del radar que la práctica puede prosperar. Por ejemplo, si usted fuera a aceptar a un amigo del golpe de tarjeta de crédito usando su Plaza dongle para la venta de sus bitcoins, que'ld probablemente en violación del acuerdo comercial.

Si los cargos son de los amigos y la familia y sólo ocasionalmente Cuadrados probablemente nunca se sabe ni la atención de lo que era la razón de la compra. Pero empezar a hacer regular "tarjeta no presente" tranasactions para grandes cantidades de transacción (por ejemplo, $100 o más) y que probablemente cuando usted va a terminar encima de conseguir frecuentes para obtener más detalles sobre la actividad de su negocio.

Sé que usted se exponga a los riesgos de una devolución de cargo se debe a una disputa de pago ocurrir.

+826
nrmlnoah 7 dic. 2010 6:25:15

Hice la cartera de Tornillo, y es muy simple.

No necesita de registro.

Todo lo que tienes que hacer es generar su dirección y guardar un archivo.

Que el archivo podría estar cifrada o no.

Cada vez que abra el enlace debe importar el archivo.

+755
Manpreet Singh 24 sept. 2010 0:34:05

Yo creo que no es necesario codificar la matriz. La biblioteca está utilizando debe tener cuidado de esto para usted - por lo menos el EasyBitcoin librería.

Háganos saber

+752
mohammad obaid 5 sept. 2014 9:22:31

Kraken también conocido como Payward Ventures Inc es actualmente registrados como Negocios de Servicios de Dinero en cada estado en los estados unidos.

Como lo que yo puedo decir sin embargo que todavía no hacer negocios para el 2do 3er o 4to nivel verificaciones en cualquier estado. No tengo idea de por qué esto es.

enter image description here

+612
Waldo 10 ene. 2018 9:06:49

Después de haber probado con el BlockStore de NBitcoin, el formato es el mismo. El BLK archivos son sólo casi crudo de los bloques (tiene un pequeño encabezado adicional)

Cualquier almacena el bloque en este archivo tiene la red a la que pertenece con su tamaño, seguido por el bloque de datos. Esos bloques son señalado en el leveldb de la base de datos por su (fileId, offset).

El orden cambió, sin embargo, yo mismo he utilizado el hecho de que los bloques se ordenó en el pasado para construir el encabezado de la cadena, desde el bitcoin carpeta. Dicho código podría romper ahora. (Ahora me estoy conectando directamente al nodo del mismo nivel, en lugar de confiar en el bloque de la carpeta)

+576
kalabro 31 may. 2019 11:33:51

Es un formato personalizado que codifica tanto una firma y un parámetro que permite la clave pública para ser reconstruido a partir de ella.

Dada una firma (un (r,s) pareja), y el mensaje de los signos, no puede ser de hasta 4 diferentes claves públicas para las que es válido. Saber que uno, el número es codificada a lo largo de la firma.

El primer byte es este parámetro de recuperación más 27. Si la clave pública correspondiente es ser una comprimida, 4, se añade. La próxima 32 bytes codificar r. Los últimos 32 bytes codificar s.

Tenga en cuenta que este formato se utiliza sólo para las firmas de mensaje. El esquema utilizado para la transacción de firmas es más, no admite la recuperación, y utiliza DER de la codificación.

+554
Kowolski Broski 1 may. 2019 1:23:04

Bitcoin valor es análoga a la de oro o en divisas extranjeras. Si usted compra una barra de oro con dólares y esperar un año, y si el valor del oro aumenta durante ese tiempo, entonces cuando usted vende de que la barra de oro, recibirá más de US dólares. La cosa interesante acerca de bitcoin es que se descubrió de repente y el aumento de la demanda debido a la internet, por lo que el valor aumentó más rápido que la mayoría de los otros activos que estamos familiarizados.

+503
dmanf 5 dic. 2014 11:51:01

No he recibido las monedas todavía.

Usted no puede recibir LTC a través de la red BTC.

¿cómo puedo recuperar de nuevo a mi luno BTC cartera.

Usted no puede recibir LTC en un BTC cartera. En general, usted puede invertir cryptocurrency transacciones.

Yo no estoy familiarizado con Luno. Si Luno es una multidivisa cartera que es compatible tanto con BTC y LTC, usted puede ser capaz de usarlo para recibir su LTC. Hoever parece que sólo admiten BTC y ETH. Le sugiero que encontrar cartera de software que soporta el LTC.

El principio general es la exportación de sus claves privadas de su BTC cartera y de importación en un LTC de cartera, a continuación, sincronizar el LTC cartera con los LTC blockchain.

No sé cómo estrechamente alineado LTC y BTC es, puede ser que LTC no es compatible con todos los tipos de direcciones apoyadas por BTC - si hay una posibilidad de que tu LTC se pierden o necesita más complejo de ayuda para recuperar.

Recuerde que nunca debe dar sus claves privadas a un ayudante. Nunca dar un ayudante de contraseñas o el acceso a los fondos en cartera.

+490
notdang 28 jul. 2014 10:56:41

TL;DR Bitcoin rentabilidad es acerca de la elección entre comprar BTC directamente (Coinbase, o Bitstamp) o la compra de hardware ASIC miner y pagar el curso eléctrica honorarios.

Editar: Para mantener minería gastos bajo, usted tendrá la forma más barata de electricidad. Esto generalmente significa que el carbón en la mayoría de las regiones. El "carbón limpio" no existe.


10 años es mucho tiempo, y usted debe esperar que los costos adicionales por entonces, además de muchos más (diferentes) incentivos a la mía.

A finales de verano de 2013, el ASIC mercado está saturado en mi opinión, y la dificultad picos continuará alcanzar en 2014. Esto significa que el valor del BTC debe apreciar la mayoría de las personas en la red para obtener un retorno de la inversión.

Ya sea una o más de estas cosas van a suceder:

  1. La gente va a la mina de monedas, pagar una gran cantidad de electricidad, por los años a venir sólo para obtener un ROI

  2. Vender la máquina en una pérdida, invertir en Bitcoin

  3. Las personas que comprar Bitcoin va a hacer que el precio aumente, haciendo rentable la minería

  4. Las empresas mineras saldrá de negocio (o vender un producto diferente) y lo de ASICs se hacen ahora, serán los únicos en el juego por un tiempo.

Ejemplo

Suponga que el hashrate de la red (la competencia) es tan alta que en el fin de obtener un beneficio, miner #1 tiene a la mina de 2 años y también espere a que el BTC a ser valorados en más de 900 USD. (Nota: BTC alcanzó los us $1000 por moneda en 11-27-13) Después de un montón de tiempo y gastos (por no mencionar el calor, el ruido, y una airada esposa) se corta aún.

Supongamos ahora que en el mismo período de tiempo, la persona 2 compra de BTC en el actual Mt Gox precio: $140. (Dos mil dólares en monedas). El precio de BTC sólo tiene que aumentar para él para hacer un beneficio.

Así que la pregunta es

Por qué la gente compra de máquinas de minería de la hora de comprar Bitcoin absoluta es menor el riesgo y la mejor recompensa?

La respuesta es así que se puede montar en el lado de la minería de onda... más sobre esto en un segundo

La Buena Noticia

Si usted ya ha comprado el minero, que debe estar bien si el mercado se da cuenta que la compra de Bitcoins es más "seguro" de la minería, y tiene una mejor oportunidad de obtener una ganancia.

Una vez que la compra de BTC se vuelve tan popular como la minería es hoy, entonces el precio se incrementará. Si el precio aumenta, la demanda de ASICs aumentará así.

Bitcoin es sobre la cresta de la ola de compra de BTC directamente o compra de los mineros. Cada acción perpetúa el otro, así que apuesto a que la minería tormenta de 2013 hará BTC a subir y todo va a estar bien al final.

+385
Shinaid 21 nov. 2015 5:07:33

Puede crypto de lograr el mismo taller?

Para Bitcoin, la tendencia va en la dirección opuesta.

Bitcoin alza de los costos de transacción, siguiendo la moneda digital es de 1.300 por ciento de aumento en valor en el último año, han hecho que sea prácticamente inútil como una señal de cambio en Hong Kong.

"Un cliente quería pagar por un HK$56 taza de café, pero desde el pago de la transacción fue HK$97, hemos tenido que rechazar", dijo Pablo Li, director de la media Luna, en Kowloon, una de 30 establecimientos en Hong Kong que aceptar la moneda digital en lugar de dinero en efectivo. "El pago de la transacción fue de alrededor de HK$5 a HK$6 en el mes de agosto. Ahora no hay ningún incentivo para que la gente en realidad el uso de bitcoin."

SCMP

Si un cripto tiene una enorme base de usuarios

Supongo que Bitcoin todavía posee la mayor base de usuarios de todas las cryptocurrencies.

+315
Abhinav Ajay 12 sept. 2016 15:05:08

Esta puede ser una buena introducción. Ondulación puede ser el uso de Merkle árbol, pero no estoy seguro: http://en.m.wikipedia.org/wiki/Hash_tree Compruebe también este: https://stackoverflow.com/questions/5486304/explain-merkle-trees-for-use-in-eventual-consistency

+301
joshua logan 13 sept. 2011 7:41:10

Tengo un bitcoin core full nodo con una cartera en VPS.

Puedo usar mi propio script para conectarse a la RPC. El script funciona en otro VPS.

A veces bitcoin VPS se queda sin conexión. Una vez que la recuperación tomó mucho tiempo porque el blockchain se rompió. Me gustaría evitar esta situación en el futuro. Me he comprado otro VPS y se instala segundo nodo. Si el nodo principal va offiline, scriptwill de verificación y se conecta a segundo nodo.

Ahora me estoy encontrando un camino para la sincronización de carteras entre los nodos. Yo sé, bañera de copia de cartera.archivo dat no está permitido. Traté de usar cron para dumpwallet en el maestro y restorewallet en el esclavo. Pero restorewallet tomó un montón de tiempo. Y he perdido algunas más nuevas direcciones.

¿Cuál es la manera correcta de construir bitcoin core cartera de réplica?

+264
Jonathan Thomson 16 may. 2016 1:33:43

A mi entender, la diferencia entre una puerta de enlace y cualquier usuario aleatorio es que una puerta de enlace tiene un proceso bien definido para llegar no Ondulación tiendas de valor dentro y fuera del sistema. Los usuarios tienen que registrarse con la puerta de enlace y, a continuación, se puede poner dinero o conseguir el dinero. Así que si usted tiene algún azar Pagarés, probablemente, no vale mucho porque cualquiera que quiera canjear ellos tienen que seguir la pista de la persona al azar y convencerlos de que el intercambio de sus Pagarés para objetos de valor. Pero si usted tiene una puerta de enlace de Pagarés, probablemente sea un valor de cerca a la par, dependiendo de cómo simplificado el proceso de obtener el valor real.

Si una puerta se detiene el procesamiento de reembolsos, no se trata de una puerta de enlace.

+248
C Tomlinson 16 dic. 2015 15:35:00

Estoy tratando de crear un inventario de mensajes específicos hash que yo seleccione. Suponiendo que tengo todos los hash almacenado en un vector, ¿cómo puedo crear el mensaje "manualmente"? (me.e cosas como conseguir la longitud total, la generación de suma de comprobación y la adición de todo el inventario de los elementos del vector para el mensaje y, a continuación, enviar a todos mis compañeros.)

Cualquier ayuda es muy apreciada, si se puede me apunto a cualquier Bitcoin core (v0.14 o v0.15) el código fuente que maneja este tipo de cosas que también es bienvenido.

+188
Jason Lanier Brown 29 oct. 2018 6:29:04

He aquí un ejemplo de trabajo que sienta las bases para responder a tu pregunta:

  1. Alice quiere pagar Bob, por lo que ella le pide a Bob para una dirección.

  2. Bob quiere recibir el pago de una P2SH dirección.

  3. Así que Bob crea el redeemScript y luego la utiliza para crear un redeemScript hash, que se codifica en un P2SH dirección.

  4. Bob le da la P2SH dirección a Alice, Alice y lo paga.

  5. Algún tiempo después, Bob quiere gastar los bitcoins a Charlie.

  6. Bob crea una transacción con una entrada cuyo scriptSig contiene el redeemScript él creó anteriormente.

Ahora una respuesta a tu pregunta: Bob necesita saber el redeemScript en el momento en que se crea la P2SH dirección de Alicia y cuando pasa la bitcoins a Charlie. Él puede, como usted sugiere, la tienda de la redeemScript en su cartera para que todo el tiempo, o se puede regenerar en la demanda de otros datos en su cartera, o se puede almacenar externamente---sin embargo, a nadie se la guarda para él de forma automática y que no se convierta en parte de la blockchain hasta que él la usa en pasar a Charlie.

Creo que Bitcoin Core lo simple y tiendas de todo el redeemScript en su cartera para las direcciones creadas con el addmultsigaddress RPC.

Puede haber algunas carteras que usar algo como BIP45 para regenerar P2SH direcciones cuando sea necesario a partir de pares/combinaciones de HD cartera de semillas.

BitPay sirva de fiador puede externalizar el almacenamiento de P2SH direcciones en algunos casos, aunque no estoy muy seguro de eso.

+113
ahaas 16 feb. 2016 15:57:53

BTX Comerciante te permitirá crear órdenes de stop-loss en la parte superior de su cuenta en Bitstamp, BTC-E, Mt. Gox, BTC China y CampBX.

No es lo mismo que una de exchange hospedado en orden de stop-loss pero un cercano segundo lugar.

Divulgación: yo soy uno de los fundadores de BTX Comerciante.

+68
Thomas Wynn 1 ago. 2010 22:52:32

Mostrar preguntas con etiqueta