7 votos

ASIC vs. ? -- Rendimiento y coste

Estoy interesado en crear una solución personalizada basada en linux que haga crujir los algoritmos criptográficos sha256 a niveles insanos de velocidad. También tengo un presupuesto limitado... No tengo experiencia en EE, pero sí en software. Mi pregunta es que los ASICs personalizados tienen que ser diseñados por alguna gran empresa con algún proceso de fabricación loco y lleva un tiempo. ¿Hay algo por ahí que tenga el bajo consumo de energía y el procesamiento de alta velocidad de un ASIC? He leído sobre SoCs y lo que parece ser chips de tipo híbrido ... es decir - Zynq-7000 y esto Parallella hace uso de la misma placa/chip creo.

Me pregunto si puedo construir algo que produzca decenas de miles de hashes por segundo. Incluso si tengo que agruparlos (con limitaciones de potencia y precio decentes)

Gracias por cualquier ayuda. Actualmente estoy leyendo trabajos de investigación sobre CIs y todo, simplemente no entiendo como no existe algo económico y a la vez potente.

15voto

Stephen Denne Puntos 218

Si tu presupuesto es inferior a 10-20 mil dólares (o, siendo más realistas, a más de 100 mil), no tienes ninguna esperanza de que te hagan un ASIC.

El dispositivo más utilizado en lugar de un ASIC, en situaciones en las que no puedes permitirte los NRE (gastos no retornables - básicamente el coste de producción de las máscaras para grabar tu asic, así como los costes de diseño), es utilizar un FPGA .

Hay una lista de artículos relacionados con el uso de FPGAs para el hash-cracking aquí .

Depende mucho de lo que quieras decir cuando dices que tu presupuesto es "limitado". Las grandes FPGAs pueden costar varios cientos de dólares cada una, y eso es sólo por el CI (circuito integrado). La gran mayoría de los descifradores de hash basados en FPGAs que han sido construidos por aficionados se hacen mediante ingeniería inversa de productos existentes de e-bay que utilizan FPGAs, comúnmente dispositivos de codificación/procesamiento de vídeo en tiempo real.

Realmente, si te tomas en serio este proyecto, deberías dedicar algo de tiempo a investigar y entender HDLs . Las FPGAs (así como los ASICs) no se "programan" en C, ni en ningún otro lenguaje común con el que pueda estar familiarizado. En su lugar, utilizan un lenguaje (llamado "lenguaje de descripción de hardware") que describe una serie de operaciones lógicas y registros que funcionan en paralelo. Es bastante diferente a C.

A continuación, deberá adquirir una placa de desarrollo FPGA de bajo coste ( digilent hace algunos buenos), y conseguir que su algoritmo de hash funcione y se ajuste. Entonces podrías mirar de aumentar la escala.

Cabe destacar que ninguno de esto podría ejecutar linux en absoluto. Todo lo que hacen los ASICs (así como las FPGAs) es lo que se llama "bare metal", la forma en que funciona un ASIC/FPGA es fundamentalmente diferente a la de un microcontrolador, y no hay tal cosa como un "sistema operativo" de FPGA. La medida en que linux (o cualquier sistema operativo) es probable que esté involucrado es simplemente la comunicación con el hardware de propósito especial y la alimentación de las cosas a hash / lectura de los éxitos de hash. Esto probablemente ocurriría a través de USB, o si estás usando una plataforma como el Zynq, a través de la memoria compartida.


Es interesante que menciones a la gente de parallela, ya que es un buen ejemplo de los costes que supone hacer un ASIC bastante complejo. Necesitaron unos 750.000 dólares para producir su diseño como hardware.

5voto

Mykroft Puntos 4292

¿Por qué no buscar un CI criptográfico de disponibilidad general que haga lo que usted quiere?

Ejemplo

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

Existen kits de desarrollo. Sparkfun produce un ruptura para ello. Se comunica usando I2C o 1-cable.

(advertencia: no tengo ni idea de si este chip en particular se puede utilizar de la manera que usted desea)


Si el objetivo es la minería de bitcoins, para $1299 75bc puedes comprar un Minero de bitcoin basado en ASIC . Como en toda fiebre del oro, los vendedores de palas prosperan más que el 99% de los tipos que se hunden desesperadamente en el barro.

4voto

Jonas Puntos 1764

Las FPGAs son definitivamente el camino a seguir aquí. Tengo una Atlys tablero ( $349, $ 199 para estudiantes) que utilizo para mi desarrollo personal y definitivamente se adapta a mis necesidades en este momento. Incluso hay firmware de hashing de código abierto para el bitmining que podrías hackear o utilizar como punto de partida para tu propio firmware.

Usando un atlys, puedes conseguir alrededor de 3,2 MH/s Esto podría funcionar para su aplicación. Si esto es para la minería de bitcoin, esta calculadora indica que ganarás 0,0001 BTC en 24 horas en la dificultad actual. Lo investigué hace un tiempo y simplemente no vale la pena a menos que tengas una tabla mucho más robusta, como quizás uno con una FPGA virtex 5 especialmente si es un estudiante ( $995, $ 445 para los estudiantes).

Sólo hay que tener en cuenta que la codificación del firmware de la FPGA y la codificación procedimental normal son mundos diferentes. Incluso si escribes código en verilog, que es similar sintácticamente a c, estás esencialmente describiendo el hardware en lugar de dar a un procesador una lista de instrucciones.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X