5 ms·
The author, Ken Shirriff, is an important personality in the retrocomputing scene, who has involved in the restoration of multiple vintage computers. As a progr
by segfaultbuserr 7y ago
The author, Ken Shirriff, is an important personality in the retrocomputing scene, who has involved in the restoration of multiple vintage computers. As a programming exercise and entertainment (mainly, it's just about the implementation of SHA-256), he has attempted to mine Bitcoin on various platforms, including pencil-and-paper (7.75e-6 H/s) [0], IBM 1401 (0.012 H/s) [1], and Xerox Alto (1.5 H/s) [2].
And now it's the Apollo Guidance Computer (0.097 H/s)! I think it's particularly hilarious, as the slogan says, Bitcoin to the Moon!
[0] https://www.youtube.com/watch?v=y3dqhixzGVo https://www.youtube.com/watch?v=y3dqhixzGVo
[1] https://www.righto.com/2015/05/bitcoin-mining-on-55-year-old-ibm-1401.html https://www.righto.com/2015/05/bitcoin-mining-on-55-year-old...
[2] https://www.righto.com/2017/07/bitcoin-mining-on-vintage-xerox-alto.html https://www.righto.com/2017/07/bitcoin-mining-on-vintage-xer...
Edit: fixed all incorrect H/s numbers, thanks for spotting that.
- nsilvestri 7y agoIt's not 10.3 H/s, it's .1 H/s.
- __lm__ 7y agoWasn’t the speed of the IBM 1401 only one hash every 80 seconds (1/80 H/s)?
- derrasterpunkt 7y agoThe AGC is 10 s/H, not 10 H/s.
- hinkley 7y agoThis article reminded me of the hashing video (your first link). Somewhere else he claims 2/3 hash per day with paper and pencil. I wonder if you can do these on that old HP calculator everybody loved (the 48, I think?) and how fast.
- taneq 7y agoThe HP48 is programmable and designed for scientific computation so I'd be astounded if someone hadn't already tried to mine coins on it.
- SilasX 7y agoThat human pencil/paper figure is for one person doing the whole SHA-256 computation, right? Has anyone run the numbers for what it would be if you divode up the work, assembly-line style?
- segfaultbuserr 7y ago> Has anyone run the numbers for what it would be if you divode up the work, assembly-line style? Repeated hashing is notoriously difficult to parallelize as it's naturally a serial operation, that's why we use repeated hashing as a Key-Derivative Function to protect passwords. For humans it's more challenging, since SHA-256 has 64 rounds internally, which means: to calculate a single hash, you need to iterate over the data 64 times, each time using the output of the previous round as your input. What you can do, is: (1) Optimizing the process of calculating a single round. I guess you can identify all the needed arithmetic steps (mostly logical opeartions and bitshifts) and divide them to multiple units of task-forces, assembly-line style, like a human-powered ALU. Ideally, workers that doesn't care about "which round it is", but only care about the computation itself should be as many as possible, i.e. using combinational logic instead of sequential logic. I think many computations were done in this way before electronic computers, I believe even numerical simulations of fluid dynamics were done by rooms of female workers with mechanical computers running the same algorithm again and again over a matrix. (2) Create as many copies of your human-ALU as possible. Although iterations within a single-hashing operation is not parallelized. But mining only requires you to do independent hashing, so it should scale linearly. I don't have the needed skills to get an actual number, if you - the reader, thinks you can. Please do it and submit your blogpost to Hacker News.
- SilasX 7y agoRight, I was mainly thinking in terms of speedups from not having to switch tasks and the gains from specializing in one kind of computation. (The inability to parallelize would still be relevant in terms of limiting the gains from dividing the work, since each step has to wait for the previous to hand it more numbers, so variation in processing time between the humans will create delays.) And I wasn't interested so much in the absolute throughput, but how the figure would change in terms of hashes per second per human, so duplicating a full ALU module wouldn't be relevant; the concern is how much an additional human improves the rate after adjusting for the fact that you added one more human-resource. Edit: I'm new to queuing theory, but I may just grind through the numbers there. Could do it as a "Show HN" if there is a tool (preferably as a web app) where you can model a process and tweak the numbers like in Factorio.
- Nextgrid 7y agoI'd also suggest checking out CuriousMarc's channel who is involved in restoring what I believe is the same AGC and has a bunch of very interesting videos about it (among other antique computing gear like teletypes and a Xerox Alto): https://www.youtube.com/user/mverdiell/videos https://www.youtube.com/user/mverdiell/videos. Speaking of AGCs, he just recently uploaded a video where they used a restored AGC to dump prototype core rope memory modules from the Computer History Museum's (non-functional) AGC.
- nas 7y agoAll those guys are amazing but I especially enjoy Ken and Mike reverse engineering stuff. Really impressive.
- aswanson 7y agoThat green lcd interface is so beautiful.