ASIC vs? - Rendimiento y coste

6

Estoy interesado en crear una solución personalizada basada en Linux que destruya los algoritmos criptográficos sha256 a niveles de velocidad increíbles. También tengo un presupuesto limitado ... No tengo experiencia en EE, pero sí con software. Mi pregunta es que los ASIC personalizados tienen que ser diseñados por una gran empresa con algún proceso fabuloso y demorado. ¿Algo por ahí que tenga el bajo consumo de energía y el procesamiento de alta velocidad de un ASIC? Leí sobre SoCs y lo que parecen ser chips de tipo híbrido ... es decir, Zynq-7000 y esta Parallella hace uso de la misma placa / chip que creo .

Me pregunto si puedo construir algo para producir decenas de miles de hashes por segundo. Incluso si necesito agruparlos (a restricciones de poder y precio decentes)

Gracias por cualquier ayuda. Actualmente estoy leyendo artículos de investigación sobre circuitos integrados y todo, simplemente no entiendo cómo no existe algo económico pero poderoso.

    
pregunta bbqchickenrobot

3 respuestas

14

Si su presupuesto es inferior a 10-20 mil dólares (o, de manera más realista, 100K +), no tiene ninguna esperanza de obtener un ASIC.

El dispositivo común utilizado en lugar de un ASIC, en situaciones en las que no puede pagar el NRE (gastos no retornables, básicamente el costo de producir las máscaras para grabar su ácido aséptico, así como los costos de diseño), es utilizar un FPGA .

Hay una lista de documentos relacionados con el uso de FPGA para el craqueo de hash here .

Mucho depende de lo que quiere decir cuando dice que su presupuesto es "limitado". Los grandes FPGA pueden ser de varios cientos de dólares por pieza, ¡y eso es solo para el IC (circuito integrado)! La gran mayoría de los crackers de hash basados en FPGA que han sido creados por amateurs se realizan mediante ingeniería inversa de productos existentes de e-bay que utilizan FPGA, que suelen ser dispositivos de procesamiento / codificación de video en tiempo real.

Realmente, si te tomas en serio este proyecto, deberías pasar un tiempo investigando y entendiendo HDLs . Los FPGA (así como los ASIC) no están "programados" en C, ni en ningún otro idioma común con el que se pueda familiarizar. En su lugar, utilizan un lenguaje (denominado 'Lenguaje de descripción de hardware ") que describe una serie de operaciones y registros lógicos, que funcionan en paralelo. Es bastante diferente a C.

Luego, debe comprar una placa de desarrollo de FPGA barata ( digilent hace algunas buenas) y hacer que su algoritmo de hashing funcione y se ajuste. . Entonces podrías mirar la ampliación de escala.

Vale la pena señalar que ninguno de esto ejecutaría Linux en absoluto. Todo lo que hacen los ASIC (así como los FPGA) se denomina "simple", la forma en que funciona un ASIC / FPGA es fundamentalmente diferente a la de un microcontrolador, y no existe un "sistema operativo" de FPGA. La medida en la que Linux (o cualquier sistema operativo) esté involucrado es simplemente la comunicación con el hardware de propósito especial y la alimentación del hash / la lectura de los hits de hashing. Probablemente esto ocurra a través de USB, o si está utilizando una plataforma como la Zynq, a través de la memoria compartida.

Es interesante que mencione a la gente de la parallela, ya que es un buen ejemplo de los costos involucrados en hacer un ASIC bastante complejo. Necesitaban unos ~ $ 750,000 para que su diseño fuera producido como hardware.

    
respondido por el Connor Wolf
4

¿Por qué no buscar un IC criptográfico existente generalmente disponible que haga lo que usted quiere?

Ejemplo

  

familia de circuitos integrados de autenticación segura   utilizando el algoritmo hash SHA-256   con una longitud de clave de 256 bits

Hay kits de desarrollo. Sparkfun produce un breakout para ello. Se comunica mediante I2C o 1-wire.

(advertencia: no tengo idea si este chip en particular puede usarse de la manera que quieras)

Si el bitcoin-mining es el objetivo, para $ 1299 75bc puede comprar un minero de bitcoins basado en ASIC . Como en toda fiebre del oro, los vendedores de palas prosperan en más del 99% de los muchachos que escarban desesperadamente en el barro.

    
respondido por el RedGrittyBrick
3

Los FPGA son definitivamente el camino a seguir aquí. Tengo un tablero de Atlys ($ 349, $ 199 para estudiantes) que utilizo para mi desarrollo personal y Definitivamente se adapta a mis necesidades en este momento. Incluso hay un firmware de hashing de código abierto para bitmining que puede hackear o usar como un punto de partida para su propio firmware.

Usando un atlys, puede obtener información sobre 3.2 MH / s , esto podría funcionar para tu solicitud. Si esto es para minería de bitcoin, esta calculadora indica que obtendrás 0.0001 BTC en 24 horas en la dificultad actual. Lo miré hace un tiempo y no vale la pena a menos que tenga una tabla mucho más robusta, como quizás uno con un virtex 5 FPGA en él , especialmente si eres un estudiante ($ 995, $ 445 para estudiantes).

Solo para tener en cuenta, la codificación de firmware FPGA y la codificación de procedimiento normal son mundos aparte. Incluso si escribe código en verilog, que es sintácticamente similar a c, básicamente está describiendo el hardware en lugar de darle a un procesador una lista de instrucciones.

    
respondido por el stanri

Lea otras preguntas en las etiquetas