¿MuSig tener la misma seguridad de 2-2 multisig?

Descargo de responsabilidad: Esta pregunta es de importancia teórica a mí tratando de educar mejor a mí mismo en criptográficos principios y esquemas de firma. No pretendo dar a entender que en la práctica schnorr firmas son menos seguras que las actuales 2-2 multisig transacciones / scripts.

Actualmente estoy leyendo el musig papel y sobre scriptless secuencias de comandos. A mi entender una importante idea común en ambos casos parece ser capaz de tener una única firma producen a partir de varias claves privadas.

Supongamos que puedo fuerza bruta de la clave privada a partir de una clave pública en un plazo razonable, digamos 1 mes (por ejemplo, porque tengo un poco algoritmo eficiente para el discreto registro en ecdsa (que no tengo). Supongamos también que puedo invertir la función de hash de Bitcoin direcciones de forma rápida. O asumir que acabamos de conocer las claves públicas, porque yo soy el tercero en un servicio de depósito de garantía)

No iba a ser capaz de romper un MuSig dirección dentro de 1 mes (bajo la hipótesis anterior) por la ruptura de los agregados de la clave privada para el conjunto de la clave pública, mientras que en el establecimiento de un común 2-2 multisig cartera necesitaría 2 meses con el fin de ser capaz de proporcionar dos firmas válidas, ya me gustaría tener a fuerza bruta, tanto las claves privadas de forma independiente el uno del otro?

+421
jakebacker44 27 ago. 2015 21:37:45
24 respuestas

Me fui con drupal commerce, ya que me dio la flexibilidad que necesitaba. Soy capaz de agregar en la lógica a través de la interfaz gráfica de usuario mediante el drupal módulo reglas. Actualmente tengo el programa de instalación donde todos los pedidos internacionales se debe pagar en bitcoin y si un pedido es de más de $300 que tienen que pagar en btc.

https://www.drupal.org/project/commerce_bitcoin - Esto es si usted desea vincular con su propio bitcoin demonio

https://www.drupal.org/project/bitpay - he usado este como Bitpay tiene una fácil instalación.

+931
Yeonho 03 февр. '09 в 4:24

digamos que tengo sha256 Clave Privada en Formato Hexadecimal

0000000000000000000000000000000000000000000000000000000000000001

¿cómo puedo obtener P2SH dirección y su correspondiente WIF CLAVE privada ?

por P2SH me refiero a P2SH-P2WPKH dirección de partida con 3. son estos llamados 1 de 1 multisig dirección ?

+871
Ray Pramana 18 jun. 2016 9:38:33

¿Cómo puedo cambiar Bitcoin por IOTA? ¿Cuál es el mejor medio para asegurar el ÁPICE en última instancia, como mi objetivo final? Ya que otra empresa (parece que no puedo nombrar aquí) ya no trabaja con NOSOTROS los ciudadanos, que interactúo con ahora?

+827
girardc79 13 jun. 2015 18:21:26

Yo estaba pensando en permuting bits en un bloque antes de que se fragmenta, en orden a requerir de la adaptabilidad de la minería de hardware manteniendo la seguridad de SHA-256.

Permutaciones dependerá de que el hash del bloque anterior, de modo que no pueden ser anticipados. Ellos también dependen de la nonce, por lo que la permutación paso tendría que ser realizada una vez por hash, la prevención de una sola externo de la CPU de manera eficiente el preprocesamiento de los datos.

Un simple ejemplo de algoritmo:

La semilla de un generador de números pseudoaleatorios con el hash del bloque anterior se anexa a la nonce. Sorteo de 1000 pares de números pseudo-aleatorios entre 1 y la longitud del bloque de bits. Intercambiar los bits correspondientes a estos pares. Hash SHA-256.

A mí me parece que estas permutaciones sería especialmente problemático para implementar electrónicamente, y yo estaba pensando que esta podría subir el costo del ASIC de las implementaciones.

+780
mamantoha 7 sept. 2013 9:58:00

Actualmente los incentivos para que los mineros son el bloque de premios y honorarios de la transacción. Supongamos que quiero crear un Bitcoin-como el hash de la cadena para otros fines que el almacenamiento de monedas (por ejemplo: el almacenamiento de los mensajes), ¿cómo se podría crear un incentivo para que los mineros para hacer el trabajo?

+770
user171341 28 ago. 2010 15:12:50

Primero de todo, no hay ninguna "clave privada en el tiempo". Su cartera no tiene una clave privada que cambia para cada transacción o en función del tiempo. En lugar de su cartera contiene varias claves privadas, uno por cada dirección que usted usa. No es una clave privada por transacción.

En segundo lugar, la IDENTIFICACIÓN en el exportados .csv archivo no es la clave privada. De hecho, no hay ninguna manera de que su cartera de claves privadas para ser exportado desde la interfaz gráfica de usuario. Usted tendrá que abrir la consola de depuración (Ayuda > Ventana de Depuración > Consola) y el uso de la dumpwallet o dumpprivkey comandos para obtener las claves privadas. Las claves privadas siempre comenzará con un 5, Ko L. Si no, entonces los que no son válidas las claves privadas.

Sin embargo, usted no debe necesitar para exportar la clave privada de acceso a la importación en un Bitcoin en Efectivo de la cartera. Usted puede utilizar un Bitcoin en Efectivo billetera en la que está basado en Bitcoin Core; tales carteras de leer y de usar el Bitcoin Core cartera.archivo dat.

Así que para ser capaz de gastar su Bitcoin Efectivo, en primer lugar mover el Bitcoin a una nueva cartera. A continuación, descargue e instale un Bitcoin Core basado en Bitcoin en Efectivo de la cartera, como Bitcoin ABC, Bitcoin Ilimitado Efectivo, y Bitcoin Clásico de dinero en Efectivo. A continuación copiar su Bitcoin Core datadir (que incluye el blockchain, las bases de datos, y su billetera.archivo dat) y tiene su Bitcoin Efectivo el uso del cliente de ti. Usted puede necesitar tener que volver a indexar el blockchain. Una vez hecho esto, usted debe ser capaz de gastar su Bitcoin en Efectivo y el uso de los Bitcoin en Efectivo de la cartera de software como lo haría normalmente con Bitcoin Core.

+746
jeffriestube 11 abr. 2018 6:10:59
Esta etiqueta debe ser utilizado para cuestiones referentes a la minería de piscinas. Una de minería de la piscina es una manera de compartir el trabajo necesario para encontrar un bloque. Los mineros son recompensados en proporción a la cantidad de poder de cómputo que contribuyen al problema, con diversas formas de calcular la rentabilidad.
+706
Tiko Moki 26 jun. 2017 15:58:42

Cada líder 1 en una dirección después de la primera 1 representa un cero bytes en el 160 bits hash de la clave pública, y por lo que hace a la búsqueda de 256 veces más difícil. Ver la página de la wiki para Base58Check de codificación para más detalles. Mientras que la de cualquier otro carácter que hace la búsqueda sólo alrededor de 56 veces más difícil.

Cada versión 0 dirección bitcoin empieza con un 1. El 1 y 256 de ellos comienzan con dos 1. Sin embargo, no sé de donde el 23 viene. Tal vez es una consecuencia de la ley de Benford - estamos cambiando a base de 58, y así puede esperar más direcciones que comienzan con '12' que las otras 2 caracteres.

Para ver esto, supongamos que hay 256 direcciones, de 0x00 a 0xFF, y que hemos convertido a base 10 para hacer de direcciones. Hay 256 direcciones diferentes, y 111 de la 256 comenzar con un '1' (1, 10, 11, ..., 19, 100, 101, ..., 199). En bitcoin del base58 de codificación, el valor 1 es codificado por el carácter '2'.

Edit: la de arriba es una especie de convencer hasta que vea que:

  • '12' a través de '16' todos tienen dificultad 23,
  • '17' a través de '1P' tienen dificultad 22,
  • '1T' tiene dificultad 65 y
  • '1R' a través de '1z' tienen dificultad en 1353.
+620
Zaur 3 jul. 2013 0:37:02

Bitcore es una biblioteca de javascript para interactuar con Bitcoin. Bitcore está construido en la parte superior de bitcoind y no lo sustituye.

Insight es probablemente la forma más sencilla de ejecutar el estilo del explorador de consultas si ya tienes bitcoind configurar.

O: creo que btcd y Toshi ofrecen una funcionalidad similar, pero con diferentes implementaciones de bitcoind.

+568
Kieran Aponte 21 jun. 2017 10:11:23

Recomiendo altamente el Bitcoin por la Confundido por Chris Wilmer y Conrad Barski.

Este libro supone tener ningún conocimiento técnico.

Son palabras tomadas del libro:

A menos que hayas estado viviendo bajo una roca durante el último par de años, usted probablemente ha oído hablar de Bitcoin—el juego-cambio de moneda digital usado por millones de personas en todo el mundo.

Pero Bitcoin no es sólo otra manera de comprar cosas. Es un anónimo, revolucionario, criptográficamente segura de divisas que funciona sin la supervisión de una autoridad central o por el gobierno. Si usted desea conseguir en el Bitcoin juego pero se encuentra un poco confundido, Bitcoin por la Confusión puede ser justo lo que estás buscando. Aprender lo que Bitcoin es, cómo funciona, y cómo adquirir, almacenar y gastar bitcoins de forma segura.

Usted también aprenderá:

Bitcoin subyacente de cifrado principios, y cómo bitcoins se crean
La historia de Bitcoin y su potencial impacto sobre el comercio y el comercio
Todo sobre el blockchain, el público de contabilidad de las transacciones de Bitcoin
Cómo elegir un bitcoin wallet que es seguro y fácil de usar
Cómo aceptar bitcoins como forma de pago en su tienda física o en su sitio web
Los temas avanzados, incluyendo Bitcoin minería de Bitcoin y programación

Con su lenguaje no técnico y paciente, paso-a-paso a este fascinante de la moneda, Bitcoin para el Confundido es su boleto para empezar con Bitcoin. Salir de debajo de la roca y obtener en el Bitcoin juego. Sólo asegúrese de no perder su camisa.

enter image description here

+544
desilijic 12 jul. 2016 9:28:09

Acaba de comenzar a utilizar Bitcoin hoy en día y desde que los necesitan más urgentemente, tengo prisa compró y los trasladaron a mi cartera antes de que realmente la configuración de mi cartera. El cliente es la descarga de la blockchain pero está tomando dolorosamente largo... 3 horas y contando.

Me estaba preguntando si he descargado el blockchain de sourceforge sin colocación de la cartera.dat archivo me consigue las monedas que compré y transferidos a dicha cartera?

+505
Piper Merriam 6 abr. 2012 10:45:36

Me parece un resumen de la mejor manera de explicar esto:

Empresa: +£99 de usted. La empresa de no pagar nada, pero los costos de energía. Bitcoin 'crea' el dinero. Usted: +£Todas tus ganancias. 10Mh/s no va a generar nada, 10Gh/s tal vez...

+490
nomo fiat 15 ago. 2010 19:31:11

Mi entendimiento es que es posible para un extra de bitcoins a la izquierda en varias cuentas dentro de mi cartera. La dispersión de estas monedas en diferentes cuentas puede causar transacciones futuras a ser más grande en tamaño (Kb), y por lo tanto más costoso en cuotas.

¿Tiene sentido prematuramente consolidar estas pequeñas cuentas en un solo "pasar la cuenta" en algún momento? (tal vez mientras yo duermo?)

+483
Chelsea Bridson 11 ago. 2019 20:58:03

¿Cómo puedo calcular el doble sha256 se muestra en el ejemplo de bip 143?

El ejemplo en el Nativo P2WPKH

hashPrevouts:
dSHA256(fff7f7881a8099afa6940d42d1e7f6362bec38171ea3edf433541db4e4ad969f00000000ef51e1b804cc89d182d279655c3aa89e815b1b309fe287d9b2b55d57b90ec68a01000000)
 = 96b827c8483d4e9b96712b6713a7b68d6e8003a781feba36c31143470b4efd37

He intentado

 exportación PREV_OUT=fff7f7881a8099afa6940d42d1e7f6362bec38171ea3edf433541db4e4ad969f00000000ef51e1b804cc89d182d279655c3aa89e815b1b309fe287d9b2b55d57b90ec68a01000000
 echo-n $PREV_OUT |openssl dgst -sha256 -binario |openssl dgst -sha256

Esto es lo que yo estoy haciendo

cf4cff3b2196ae87636af6088736f0f9102106375f306c032804845a2d3b92d4
+459
Cris Stringfellow 7 oct. 2017 0:51:46

Recomiendo este artículo:

http://www.coindesk.com/bitcoin-law-what-us-businesses-need-to-know/

Dice:

Individual bitcoin mineros que convertir sus "creado" monedas fiat son los transmisores de dinero, a pesar de que nunca actuar "como un negocio", ni aceptar el valor de una persona para transferir a una tercera persona.

Así que, asumiendo que usted pretende convertir algunos de sus extraído bits, se gravan como un transmisor de dinero, junto con el reglamento para los transmisores, FinCen cumplimiento etc.

+450
emmasmith01711 31 jul. 2015 13:10:47

¿cómo puedo comprobar que me han enviado?

Vista De Las Transacciones Recientes.

View wallet activity

Si no están allí, usted puede ser capaz de actualizar la historia desde el Copago de los servidores

  • "Settings" > "Wallet" > "Más Opciones" > "Historial de Transacciones" > "Borrar caché"
  • "Settings" > "Wallet" > "Más Opciones" > "Cartera de Direcciones" > "Escanear las direcciones de los fondos"

Usted puede pegar la dirección o el ID de la transacción en cualquier BCH clockchain explorer (ejemplo) para comprobar otra vista de la transacción en una copia diferente de la blockchain de contabilidad.

+387
neryams 8 sept. 2011 12:52:48

Yo no creo que sea posible, en principio. El servicio de escrow es uno que es inherentemente autorizado a tomar una decisión que en última instancia recibe los fondos. En un sistema descentralizado servicio de depósito de garantía, a quién o qué tomar esa decisión?

Si pongo algunas monedas en su cuenta de depósito como parte de una transacción, algo que debe decidir si los fondos van finalmente a mí o a usted. Obviamente, la decisión no puede ser hecho por mí o por ti.

He escuchado las propuestas donde las monedas son "quemadas" (perdido para siempre) si ambas partes no están de acuerdo en que en última instancia debe llegar a ellos. Creo que es un poco inútil de servicio, ya que permite que una parte de extorsionar a los otros. "La liberación de las monedas para mí y voy a dar la mitad de ellos de vuelta a usted. De lo contrario, se pierden para siempre."

+350
ckoerner 19 dic. 2010 23:27:37

Zcash anunció recientemente una nueva cartera y servicio para conectar dispositivos móviles a un nodo se ejecuta en una casa privada de la red mediante un túnel de servicio que se llama "agujero de gusano" (1). Básicamente se trata de decir que es totalmente de extremo a extremo de cifrado y permite al cliente móvil y de escritorio instancia para omitir los complejos requisitos de red (ex. el reenvío de puertos, etc...)

Yo quería ver lo que se necesitaría para establecer una configuración similar a la de la ayuda en la conexión de los dispositivos de forma segura. Esto puede ser más de una de las redes pregunta, pero ¿cuál sería el mejor enfoque para configurar un VPS instancia para permitir conexiones de confianza entre -

bitcoind <-> una cartera
bitcoind <-> lnd
lnd <-> una cartera

Sólo por poner unos ejemplos.

Mi primer pensamiento fue para crear un cliente ligero para correr en ejecución en la máquina que ejecuta el pleno del nodo que los apoderados de todos los puertos relevantes para un elegido IP (el VPS, por ejemplo) y la cifra / signos de la carga. El servidor básicamente sólo podría recibir y transmitir las solicitudes de los clientes móviles que se suscriban.

El problema que me estoy viendo con este enfoque es que es un montón de código personalizado para uno y la billetera / móvil de los clientes que tienen también soporte para descifrar y verificar el mensaje de que es poco probable que suceda. El Zcash cartera es capaz de hacer esto, ya que de curso creado la cartera.

Muy interesado en sugerencias sobre cómo esto podría ser logrado (y voy a tratar cualquier sugerencia acerca de un nuevo VPS así que no sólo pidiendo desde una perspectiva teórica!)

Ref:

(1) https://github.com/ZcashFoundation/zec-qt-wallet/wiki/Android-App-FAQ

+325
Arturas Taleikis 5 oct. 2013 12:01:39

Me encontré con algunos problemas, cuando yo estaba tratando de escribir la función capaz de crear Bitcoin clave pública de la clave privada. Yo estaba usando el tutorial: http://procbits.com/2013/08/27/generating-a-bitcoin-address-with-javascript ---> "clave Pública" parte es la más importante.

Parte de mi código es este:

public String generatePublicKey(Cadena privateKey)
{
 BigInteger privKey = new BigInteger(privateKey,16);
 X9ECParameters ecp = SECNamedCurves.getByName("secp256k1");
 ECPoint curvePt = ecp.getG().multiplicar(privKey);
 BigInteger x = curvePt.getXCoord().toBigInteger();
 BigInteger y = curvePt.getYCoord().toBigInteger();
 byte[] xBytes = este.removeSignByte(x.toByteArray());
 byte[] yBytes = este.removeSignByte(y.toByteArray());
 byte[] pubKeyBytes = new byte[65];
 pubKeyBytes[0] = new Byte("04");
 Sistema.arraycopy(xBytes,0, pubKeyBytes, 1, xBytes.longitud);
 Sistema.arraycopy(yBytes, 0, pubKeyBytes, 33, yBytes.longitud);
 devolución de este.bytesToHex(pubKeyBytes);}

Hay también dos funciones:

final protected static char[] hexArray = "0123456789ABCDEF".toCharArray();
public String bytesToHex(byte[] bytes) {
 char[] hexChars = new char[bytes.longitud * 2];
 int v;
 for ( int j = 0; j < bytes.length; j++ ) {
 v = bytes[j] & 0xFF;
 hexChars[j * 2] = hexArray[v >>> 4];
 hexChars[j * 2 + 1] = hexArray[v & 0x0F];
}
 return new String(hexChars);
}

privado byte[] removeSignByte(byte[] arr)
{
si(arr.longitud==33)
{
 byte[] newArr = new byte[32];
 Sistema.arraycopy(arr, 1, newArr, 0, newArr.longitud);
 volver newArr;
}
 volver arr;
}

Sin embargo, yo solía bytesToHex() anterior y no había ningún problema. Entonces la cosa es que generatePublicKey() no funciona correctamente. He intentado insertar la clave privada conocida de bitcoin wiki:

18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725

(a partir de https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses)

Se debe crear una clave pública (incluso antes de que todos los hash) - paso 2 en la wiki:

0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6

Desgraciadamente, la respuesta es incorrecta. Ustedes podrían ver esto y punto de mis errores?

De la Ofc, el lenguaje de programación Java y el proveedor de servicios de cifrado fue Castillo Hinchable.

EDITAR: Se me ha solucionado mi problema. Cuando estaba escribiendo esta función, Eclipse me dijo que la función de getX () y getY()) es depracated. Así que he usado getXCoord(), porque pensé que el resultado es el mismo. En el sentimiento de desesperanza que he usado getX() en lugar getXCoord() y toda la función por arte de magia funcionó!

¿Cuál es la diferencia entre getX() y getXCoord() ?

+311
mojolama 25 ago. 2011 11:18:26

La validación de algoritmos hash y firmas de las transacciones es el más costoso del proceso. Así que la cantidad de tiempo que tarda la CPU para verificar un bloque depende del número de transacciones en el bloque.

El número de transacciones por bloque tiende a aumentar como bitcoin, la economía crece, por lo tanto se necesita más tiempo para verificar el más reciente de los bloques.

+281
Universalerror 18 sept. 2017 13:28:12

Estoy tratando de compilar estelar-núcleo de código en windows pero no puedo averiguar qué hacer con mingw para hacer que funcione. I. e. He descargado e instalado todas las herramientas necesarias, incluyendo mingw, pero no sé cómo de instalación de mingw para trabajar aquí.

El install.txt dice mingw es necesaria para la construcción de xdrc pero no hay mucho más. Cuando traté de construir es en 2 de los 7 proyectos compilado con éxito.

Todos los consejos que será apreciado. Gracias

+219
Jason Knight 10 feb. 2016 5:24:22

Creo que debe ser "params" no "param"

+193
Carmen Payne 26 dic. 2012 18:16:39

Esta es una excelente respuesta por amaclin y Asistente de Ozzie. Tan solo me gustaría añadir algo más de detalle para el Asistente de Ozzie la transacción en blockchain.info.

  1. La entrada correcta para el proceso de firma para esta transacción se

    01000000
    01
    be66e10da854e7aea9338c1f91cd489768d1d6d7189f586d7a3613f2a24d5396
    00000000
    19 76 a9 14 dd6cce9f255a8cc17bda8ba0373df8e861cb866e 88 ca
    ffffffff
    01
    23ce010000000000
    19 76 a9 14 2bc89c2702e0e618db7d59eb5ce2f0f147b40754 88 ca
    00000000
    01000000
    
  2. El doble valor de hash SHA256 de este se calcula bx como

    d304448dff517bcf677cd36f3491e9ef2ccfdf40fb63af5782d9b768640af130
    

pero esto está escrito en "revertir" la orden para lo que sea peculiar de la razón histórica (he escuchado que iba a ser compatible con M*soft CRAPi). Así que cuando se utiliza esta con el signo(clave, resumen) en la mayoría de los sensato crypto kits de herramientas que usted puede necesitar para invertir el valor de hash a la "adecuada" a la orden para SHA256(SHA256(m))

30f10a6468b7d98257af63fb40dfcf2cefe991346fd37c67cf7b51ff8d4404d3
  1. Los anteriores datos de entrada serán de hecho validar en contra de la firma dada en el real de la blockchain de transacción

    3045022100da43201760bda697222002f56266bf65023fef2094519e13077f777baed553b102205ce35d05eabda58cd50a67977a65706347cc25ef43153e309ff210a134722e9e
    

utilizando la clave pública

042daa93315eebbe2cb9b5c3505df4c6fb6caca8b756786098567550d4820c09db988fe9997d049d687292f815ccd6e7fb5c1b1a91137999818d17c73d0f80aef9
  1. Para generar un reproducible de la firma a lo largo de los mismos datos, el siguiente de la firma ha sido realizada por el método determinista de RFC6979.

    30450220587ce0cf0252e2db3a7c3c91b355aa8f3385e128227cd8727c5f7777877ad772022100edc508b7c14891ed15ab38c687019d7ebaf5c12908cf21a83e8ae57e8c47e95c
    

utilizando la clave privada correspondiente proporcionada por el Asistente de Ozzie

0ecd20654c2e2be708495853e8da35c664247040c00bd10b9b13e5e86e6a808d

Esta firma también valida sobre los datos utilizando la clave pública y debe ser reproducible.

+124
Ravi Salunkhe 12 jul. 2011 7:05:18

Tengo un bitcoin core-qt en la Cartera (en linux). Dime, ¿puedo cifrar? Por ejemplo, no es el electrum cartera! Tiene palabras para descifrar. Por ejemplo, he instalado el electrum, y la frase se ha generado. "Soy un fan de el https://bitcoin.stackexchange.com" Sabiendo que esta frase puede instalar electrum en cualquier equipo, y al entrar en esta frase que usted obtenga acceso a su saldo y btc. Pero, ¿qué acerca de bitcoin-core-qt? ya que se caracteriza por el hecho de que se debe descargar todo el historial de transacciones después de la instalación.(~200 gb). Hay una "frase mágica:" para este monedero bitcoin-qt? Esta es una opción muy útil si usted ha perdido el acceso al servidor o host donde hadthis cartera

+111
Donaldmith 6 mar. 2018 8:42:25

Mostrar preguntas con etiqueta