Lo que determina SHA256 rendimiento en diferentes tipos de hardware?

Sé que las respuestas a muchas preguntas aquí brevemente en este punto, pero me gustaría obtener un consolidado de la respuesta que realmente toca las principales diferencias entre los distintos tipos de hardware que permite SHA256 para un mejor desempeño, en lugar de los menos relacionados con las tangentes otras cuestiones a discutir. Mientras mi preocupación inmediata es con Bitcoin, sé que algunas otras cripto-monedas de uso de diferentes algoritmos, así que siéntete libre para hacer referencia a ellos si le ayuda a hacer su punto.

  • ¿Por qué el Bitcoin algoritmo de hash, SHA256, un mejor rendimiento en diferentes tipos de hardware? Qué hace que un ASIC/FPGA capaz de calcular H/s de una GPU, una GPU que CPU, etc?

  • ¿Qué es "la complejidad de los núcleos?" Es esta una referencia al número de núcleos, o a la real morir complejidad? En ambos casos, ¿por qué no es un factor en SHA256 rendimiento? Referencia a David Perry respuesta aquí:

Es importante tener en cuenta, por cierto, que la única cosa que no pueden comprar más de hashes por segundo es la complejidad de los núcleos. Esta es la razón por la Nvidia puede hacer grandes tarjetas para juegos, pero que chupar para la minería - juegos de hacer un mejor uso de especies exóticas de nuevas instrucciones que SHA256 hace.

  • Puede SHA256 ser optimizado en todos para un mejor desempeño en cada una arquitectura de base? Puede cualquier optimizaciones ser hecho a la doble hashing el proceso?
+706
coeniebeyers 2 jul. 2017 1:00:15
18 respuestas

Anterior ardor versiones funcionaba bien. Acabo de instalar el Ardor 2.0.7 e en mi ubuntu 14.04 y 512 mb de ram del sistema. Pero me estoy poniendo un montón java error de espacio. Estoy suponiendo que es un problema de memoria. Cómo puede ser fijo?

enter image description here

+948
Haney 03 февр. '09 в 4:24

La clave privada sólo es necesario firmar la transacción, para autorizar a gastar sus monedas. Esto se hace en el lado del cliente. La firma de la transacción se envía de vuelta al servidor, que se encargará de transmitirla en el Bitcoin red.

Una característica definitoria de la criptografía de clave pública es que no es posible deducir la clave privada a partir de la firma.

+905
foobrew 2 ene. 2019 10:17:53

Después de mirar en el código fuente para el Electrum Cartera un poco más allá, yo era capaz de llegar con un trabajo de implementación en JavaScript.

El problema que he descrito en mi pregunta era que la long_user_id es de 32 bytes, mientras que sólo necesita 4 bytes para derivar una clave secundaria. Resulta que el tercer xpub no es realmente un hijo de la rígida firma xpub, sino más bien una clave de raíz deriva de que la clave de firma (es decir, de una manera totalmente diferente de la cadena de código y su índice es 0).

Aquí está la función escribí que lleva a los dos billetera xpubs (que se encuentran en x1/ y x2/ en la carpeta / archivo de almacén de claves) y la rígida xpub de Trustedcoin y deriva el tercer xpub.

importación HDKey de 'hdkey';
importación de criptografía de 'crypto';
importación secp256k1 de 'secp256k1';

función getCosignerXPub(xpub_x1, xpub_x2){
 const signing_xpub = "xpub661MyMwAqRbcGnMkaTx2594P9EDuieqmq25pm2aeg6umwzaohga6udmnsvsuv8ubqwa3wpste1hg69xhgjuucd5hlcep2qpzyv1hmrpppsl";

 const xpubs = [xpub_x1, xpub_x2].sort().join("");
 const long_user_id = nuevo Buffer(sha256(xpubs), 'hex');

 const hdkey = HDKey.fromExtendedKey(signing_xpub);

 datos const = Buffer.concat([hdkey.clavepublica, long_user_id]);

 const I = crypto.createHmac('sha512', hdkey.chainCode).actualización(datos).digest();

 const IL = I. slice(0, 32);
 const IR = I. slice(32);

 const hd = new HDKey(hdkey.las versiones);

 hd.clavepublica = secp256k1.publicKeyTweakAdd(hdkey.clavepublica, IL, true);
 hd.chainCode = IR;

 retorno hd.publicExtendedKey;
}
+812
user52732 22 mar. 2015 7:18:31

Un 2015 proyecto de BIP sugiere el uso de un "duro tenedor poco":

El bit más significativo en nVersion se define como la hardfork poco. En la actualidad, los bloques con este encabezado configuración de bits a 1 no son válidos, ya que BIP34 interpreta nVersion como una firma de número y requiere ser >=2 (con BIP66, >=3). Entre los 640 bits en el encabezado de bloque, este es el único que es fijo y no sirve a ningún propósito, y por lo tanto la mejor manera para indicar que la implementación de un hardfork.

https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-July/009576.html

Si el bit índices aumentan de izquierda a derecha, entonces me imagino que el duro de la horquilla de bits que ocupa índice 31, marcados como * a continuación (nVersion es un valor de 32 bits).

0 1 2 3
0/1/2/3/4/5/6/7/8/9/0/1/2/3/4/5/6/7/8/9/0/1/2/3/4/5/6/7/8/9/0/1
*

Según la propuesta, la configuración del bit 31 de nVersion debe causar un bloque a ser rechazada como no válido.

BIP-9 lugares más restricciones en los bits disponibles, específicamente, bits 0-2 debe estar configurado como [0, 0, 1]:

Bloques en el estado de INICIADO obtener un nVersion cuya posición de bit en bit se establece en 1. Los 3 primeros bits de bloques debe ser 001, por lo que el intervalo de realidad posible nVersion valores es [0x20000000...0x3FFFFFFF], inclusive.

https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki

Además, BIP-9 organiza versión bits en orden creciente de izquierda a derecha. Es decir, la versión bit 0 es nVersion de 31 bits, la versión bit 1 es nVersion bits 30, y así sucesivamente.

Pero si este fuera el caso, entonces la versión bit 0 fuera de los límites. BIP-9 no dice nada acerca de esto, y de hecho BIP-68 se ha señalado el uso de la versión bit 0:

Este PBI que se va a implementar por "versionbits" BIP9 usando el bit 0.

https://github.com/bitcoin/bips/blob/master/bip-0068.mediawiki

Mis preguntas son simples:

  1. Dado a mi con el diagrama de arriba, que nVersion bits índice es el "duro tenedor poco?"
  2. Si estoy en lo correcto en mi interpretación (que no lo creo yo), entonces ¿cómo podría BIP-68 se han señalado, sin causar a los bloques de hacerlo para ser rechazado como válida?

Actualización: la fuente de mi confusión era pensar que nVersion poco de indización y la versión de bits de indexación corrieron en direcciones opuestas. El no. A la señal de la preparación de una propuesta de uso de la versión bit 1, por ejemplo, nVersion el bit 1 se establece. BIP-9 del reglamento se activan cuando un nVersion firma es detectado. Esta firma es bits 29-31 establecer como 1, 0, y 0, respectivamente. Esto deja de 31 bits unset.

La respuesta de pedro direcciones de la pregunta (1) anterior.

Como para la pregunta (2) BIP-68 señalización no fue la causa de rechazo de bloque porque el bit 0 se, no se de 31 bits.

+730
user318849 25 oct. 2010 10:12:41

La respuesta es simple: big-endian arquitecturas no son compatibles.

+565
suzilije hus 26 ene. 2014 0:12:36

Usted puede de manera segura conjunto de podar en la línea de comandos o en la que conf archivo y Bitcoin Core se manejan automáticamente. Tenga en cuenta que para la poda para operar automáticamente que usted necesita para establecer a un número mayor de 550 en MB.

+545
user24004 17 ago. 2018 2:43:44

Blockstream lanzado un servicio de satélite. No lanzar un satélite.

Bitcoin bloques están siendo difundidas por Blockstream, mediante la contratación de varios de los varios sistemas de satélite. Estos satélites están diseñados principalmente para la radiodifusión de señales de TV, y por lo tanto no ejecutar su propio nodos; la difusión depende de las estaciones de tierra que uplink los datos.

Los datos que está disponible gratuitamente desde (casi) cualquier lugar en la tierra (excluyendo los océanos y de las regiones polares). Usted no necesita su propio plato de satélite y algunos otros de hardware, pero el sistema está diseñado para mantener los costos tan bajos como sea posible.

Para obtener más información, consulte https://blockstream.com/satellite/

+477
RUSHABH SHAH 7 jun. 2011 7:22:22

La dificultad en realidad no aumentar continuamente. Se ha continuado creciendo recientemente, debido a que el hashing de la energía ha seguido en aumento, causando que los bloques se encuentran más rápido. La dificultad se calcula teniendo en cuenta el tiempo que ha tomado para la red para crear 2016ª bloques y el ajuste de la dificultad en consecuencia.

Aquí un poco de cachondeo en un intérprete Ruby para mostrar:

#dos semanas, expresado en segundos
twoweeks = 60 * 60 * 24 * 7 * 2
# => 1209600
#la dificultad actual para el momento de esta publicación
diff = 7988698.97
# => 7988698.97
#la dificultad si se tomó sólo una semana para generar los últimos 2016 bloques
(diff * twoweeks) / (twoweeks / 2)
# => 15977397.94
#la dificultad si se tomó cuatro semanas para generar los últimos 2016 bloques
(diff * twoweeks) / (twoweeks * 2)
# => 3994349.485

Un par de máximos mantener el cambio de dificultad de ser demasiado brusco. Nunca más del cuádruple (cuatro veces, 400% de la anterior dificultad) o más de la cuarta parte (un trimestre, un 25% de la anterior dificultad).

ª Un bug que hace que sea realmente de 2015 en el cliente de referencia, pero que puede ser fija en algún punto en el futuro.

+471
charmndr 6 sept. 2018 8:10:32

http://bitcoinpolice.org/

Usted puede tratar de conseguir algo de información de la caché de google: www.google.com/search?q=site%3Ahttp%3A%2F%2Fbitcoinpolice.org

blockchain.info contienen gran información acerca de quién/dónde/cuándo/cómo.

Pero, probablemente nadie, excepto Servicios de Seguridad, puede obtener toda la información acerca de los créditos, que consiguió bitcoin en un solo lugar, que se pasó de bitcoin en otros.

Además, si empezamos a mirar la distribución de los mercados y la popularidad de bitcoin, y tener en cuenta, que el fraude de Tarjetas de Crédito todavía están vivos, entonces cualquiera puede conseguir de forma anónima gran cantidad de bitcoins y de forma anónima traslado a cualquier punto de la Tierra.

Hablamos de la mejor manera para que los terroristas para conseguir dinero.

La minería de bitcoin no es una mejor manera para que los terroristas para conseguir el dinero, pero a la transferencia, su aspecto como el más grande. (1 hora = 6 confirmaciones, y un terrorista totalmente el pago de otro servicio)

De todos modos google le ayudará a obtener más información.

Y no olvides buscando misma pregunta:

Puede mi transacciones se remonta a mí, incluso si tengo que hacer esto?

+434
Gurney 7 jul. 2019 22:03:21

Bueno, yo no soy propietario de un sitio web, pero puedo convertir de BTC a Paypal..

Entonces, ¿cómo debo ofrecer el servicio a cualquiera? la plataforma ha gotton tan amplia que se siente tonto para crear un sitio web, y yo no quiero pagar sitio de exchange comisión.

+406
FerranB 15 dic. 2015 8:40:19

Me imagino que el Bitcoin-core código fuente puede ser una buena guía para el diseño de una cartera.archivo dat. Usted puede necesitar para encontrar la fuente de la versión específica de Bitcoin core que creó (o escrito) de la cartera.archivo dat.

También hay https://en.bitcoin.it/wiki/Wallet que los puntos de a distintos recursos.

El formato de este fichero es la de Berkeley DB. Herramientas que pueden manipular la cartera se incluyen los archivos pywallet.

+316
grisaitis 14 feb. 2018 13:32:23

La nieve derretida de la Piscina, la segunda minera más grande alrededor de la piscina, está hacia abajo, supuestamente debido a un ataque DDoS:

Noticias
16.04.2013
La piscina está bajo ataque DDoS. Estoy trabajando en la recuperación del servicio posterior a la operación.

Esto significa que la totalidad de sus mineros están actualmente fuera de línea, y esto reduce la dificultad de obtener el 51% de la red total de hash de energía.

Ahora, yo no sé nada sobre el hardware/software de diseño de minería de piscinas, cómo muchos de los servidores que emplean para administrar de forma centralizada todos los mineros, ¿cuánto ancho de banda que tienen, etc.; pero estoy bastante seguro de que bombardear uno de ellos requeriría mucho menos poder de cómputo que obtener más del 50% del total de la red Bitcoin hash poder de acuerdo a su operación normal.

Así pues, la pregunta: ¿no son los grandes de minería de piscinas de un punto crítico de fallo para el Bitcoin red? Si un atacante era colocar a varios de ellos sin conexión, todos los de su mineros sería instantáneamente desconectado y, a continuación, un no-incluso-tan-gran minería de la granja (o tal vez a un rival de la piscina que diseñó el ataque en el primer lugar...) podría fácilmente superar el conjunto de la red.

Cuánto probable es que este tipo de escenario?
¿Cómo puede evitarse?
Si el Bitcoin comunidad de invertir más en la protección de las piscinas, o, mejor, hacer un esfuerzo conjunto en movimiento a partir de una "unas grandes piscinas" modelo a "muchos pequeños charcos", con el fin de defenderse de ataques similares?

+315
Abinash 12 ago. 2018 7:08:37

¿Alguien sabe de una forma de hacer de la Armería de hacer una sincronización inicial más rápido? He descargado el blockchain, pero hasta ahora ha sido el procesamiento de los/sincronización con la red para las 17 horas, y se afirma que tiene 11 horas más para ir, pero sospecho que va a ser incluso más que eso.

Tengo una primera generación Core I5 procesador, que ejecuta Windows 10.

Me doy cuenta de que bitcoind es tapado a cabo en alrededor de ~48% de uso de CPU, por lo que sólo parece ser el uso de dos núcleos. Cualquier forma de ajustar esto a mayor uso de la CPU, o ir más rápido en general?

+300
raelene 25 mar. 2011 2:49:05

La transacción tiene 4 bytes extra al final. Acaba de quitar el 01000000 y que debería estar bien entonces.

+284
Akashad 7 jul. 2013 1:21:23

He estado tratando de leer acerca de cómo la criptografía de clave Pública de obras y acabo de entender lo que la criptografía de clave pública es y cómo se diferencia de la criptografía de clave simétrica.

También acabo de leer que el bitcoin utiliza "Curva Elíptica Algoritmo de Firma Digital (ECDSA)" para generar la clave Pública/Privada pares y, a continuación,

la clave pública es un algoritmo hash varias veces hasta que se ve como el familiar dirección Bitcoin.

Luego leí aquí, https://ethereum.stackexchange.com/questions/3542/how-are-ethereum-addresses-generated que Etereum también utiliza ECDSA para generar el par de claves y, a continuación, el Keccak-256 hash de la clave pública que se toma.

Mi pregunta es, ¿todos los cryptocurrencies en existencia utiliza el mismo algoritmo para generar pares de claves ?, si eso es cierto, ¿puede una sola Pública/clave Privada del par se utiliza para almacenar múltiples monedas, dado que la clave pública se numeran de acuerdo a cada cryptocurrency estándar ?

+239
Ben Williams 13 oct. 2017 16:42:14

Bitcoins no son diferentes de cualquier otra mercancía en este sentido. Podemos decir que el precio de un automóvil es de $45.000, pero eso no garantiza que puede vender por $45,000 menos que usted puede encontrar a alguien dispuesto a comprar uno por $45,000. Cuando decimos que un determinado número es el precio, podemos decir que básicamente es el número de compradores y vendedores ambos están de acuerdo en que vale la pena. Pero no es una garantía de que usted será capaz de comprar o vender a ese precio.

Bitcoin intercambios informe de los precios a los que los Bitcoins manos a cambiar cuando cambian de manos. También nos informan de que el precio al que las personas están dispuestas a comprar (normalmente un poco menos) y el precio al que las personas están dispuestas a vender (normalmente un poco más). Si tratas de comprar o vender una gran cantidad, esto va a cambiar el precio. Por ejemplo, si la última operación fue de $250 y alguien está dispuesto a comprar 10 bitcoins por $240, y las puedes vender a 10 bitcoins, el precio se mueva a $240. Y ahora no hay nadie a la izquierda dispuestos a comprar en $240, por lo que el nuevo precio de compra podría caer a $235.

No estoy seguro de por qué usted haría para conectar este a un esquema Ponzi. Ponzis no funcionan de esta manera -- pretenden invertir, pero en realidad a una central de operador paga de un conjunto fijo. Bitcoins se comportan más como acciones, se compran y se venden en algún valor acordado sobre la base del valor de los activos subyacentes. Bitcoins tienen valor subyacente, ya que pueden ser intercambiados de forma segura, lo que les permite funcionar como una moneda.

Mientras que algunas personas comprar Bitcoins con la esperanza de vender a un precio más alto, otras personas los compran estrictamente como un medio de intercambio. Que el intercambio de las Bitcoins para las mercancías y el receptor pueden intercambiar las Bitcoins de nuevo a otras divisas. Los Bitcoins proporcionar valor porque permiten el intercambio de una moneda neutral, con alta seguridad, y a alta velocidad, algo que de otro modo serían imposibles. Esta capacidad hace que los Bitcoins tienen valor más allá de la especulación.

En un sentido nadie se establece el precio y en un sentido que todo el mundo hace. Alguien que quiere comprar un Bitcoin puede fijar el precio que están dispuestos a pagar como les plazca. Cualquier persona que quiera vender un Bitcoin puede fijar el precio que está dispuesto a tomar como les plazca. Como resultado de las operaciones en un mercado libre, descubriendo el valor no es difícil. Si el mayor precio que los compradores están dispuestos a pagar es de $250, y el precio más bajo de los vendedores están dispuestos a tomar es de $251, el valor justo es justo en el medio. (Suponiendo un mercado perfecto, que no nos acababa de tener.)

Esta es la forma en que muchos mercados, incluyendo los mercados de valores, de trabajo.

+210
MitchGo 19 dic. 2010 13:18:26

No, no la hay.

Bitcoin es lo que se llama "seudónimo", lo que significa que una dirección bitcoin no revelar información sobre el propietario de esa dirección. Bitcoin direcciones (como el que has publicado) son derivados por el uso de dos tipos de operaciones criptográficas, curvas elípticas y las funciones de hash...ambos de los cuales sólo funciona en una dirección. Incluso si usted podría revertir este proceso para una dirección dada, todo lo que tienes es una clave privada. Que la clave privada no contiene ninguna información acerca de en que se generó la clave, ni que otras teclas/direcciones están asociados con él.

Hay blockchain técnicas de análisis que se pueden realizar para intentar asociar una dirección bitcoin con otras direcciones (con un variable grado de certeza), pero incluso eso no le dará lo que usted está buscando a menos que se puede asociar a una de esas direcciones con la identidad de alguien. Esto requeriría su consulta para ser complementado con información adicional que no se encuentra en el blockchain de Bitcoin. Si usted no posee que la información adicional, usted puede asociar una dirección con una identidad.

+83
kayt19902701 12 oct. 2019 20:49:37

¿Por qué bitcoin uso de firmas para verificar las transacciones en orden para que se transmite y se extrae de la mina y hay algún otro método que podría utilizarse en lugar de la firma?

+31
phroa 30 dic. 2012 8:38:42

Mostrar preguntas con etiqueta