4 ms·
Isn't it just a hardware implementation of SHA256? Shouldn't it be very straightforward? I fully expect that the undergrads in the logic design class I'm TA'ing
by wsxcde 13y ago
Isn't it just a hardware implementation of SHA256? Shouldn't it be very straightforward? I fully expect that the undergrads in the logic design class I'm TA'ing will be able to do it. It's really not very much harder than writing a program that computes SHA256.
A really really good implementation is probably harder but I think the intersection of engineers with the required design skills, access to the design tools, access to foundries and people interested is bitcoin is minimal.
- kken 13y agoIf you are a TA, why not assign this as a lab assignment? Some group could come up with an optimized approach. Could be fun to distrub the ASIC mining market a little.
- wsxcde 13y agoIt's something I was just thinking about as I was writing the comment but I didn't like the idea too much. The course now only has time for two serious projects: one is a game and another is a a little CPU. I think they're the right combination of fun and pedagogically useful. In terms of what students would learn from this project: it would be some fairly straightforward sequencing and buffering logic and the weird combinational munging that hash algorithms tend to do. I think there's more to be learnt by building the little CPU. And we have quite a few sophomores who may not appreciate what a cryptographic hash function is and why we might be interested in building a hardware accelerator for it. We could possible do some extra sessions, introduce them to hash functions, motivate hardware accelerators and so on but it seems like it's not worth the trouble. I think this assignment would be more suitable for a crypto/security course in an EE department.