Hacker News new | past | comments | ask | show | jobs | submit login
Mining Bitcoin on an Apple II (twitch.tv)
77 points by option8 on Aug 3, 2019 | hide | past | favorite | 28 comments



Looking at the code I am reminded of how grateful I am for high level languages and the absolutely insane number of libraries I can use to do perform so many complex yet fundamental tasks at ease without writing code for them.


It's not just that it's slow, it also uses a lot of energy compared to the amount of calculation that it does.

Apple II: 0.43 Mips @ 17W

RPi3B: 1822 Mips @ 1.2W

So I wonder if there is a solution as energy efficient as modern hardware, but as slow as 8 bit machines.


Ultra-low-power MCUs are ~80 μA/MHz, so yes, you can get there. Bitcoin doesn't require a lot of RAM, which helps power consumption significantly.


Worth noting that even the lowest power microcontroller will presumably run circles around an old 8-bit architecture.


This calculation makes me curious, as I know very little about computer engineering/hardware but want to learn: what is the current-most energy-efficient general CPU architecture/core in performance-per-watt? Some high-speed ARM? A Y-series x86?


This may not have the latest record, but lots of interesting and relevant info here: https://en.m.wikipedia.org/wiki/Performance_per_watt

https://streamhpc.com/blog/2012-08-27/processors-that-can-do... is interesting too, though obviously out of date, but might reflect how GPUs are efficient as are the latest CPUs with their smaller lithography.


>> Apple II: 0.43 Mips

This number seems quite optimistic to me (I've found it on wikipedia). It just happens I was coding for fun in assembly language on Apple II some weeks ago and the minimum opcode length is two cpu cycles, so I'd say at best we're at 0.5 mips (the apple is 1 Mhz). And for anything useful it'd be closer to 0.25 mips).

https://en.wikipedia.org/wiki/Instructions_per_second#cite_n...

http://www.6502.org/tutorials/6502opcodes.html


Ultra-low-power 8-bit microcontrollers? 1 MIPS @ 1 W is possible on a AVR I believe, but still much less efficient than a modern CPU. Economic-of-scale at work, you can't compete with greater integration.


FPGA with limited clock speed?


FPGAs aren't particularly energy efficient compared to ASIC implementations of the same hardware.


This is the point of FPGA in consumer products right? Ship the DVD player ASAP see if it sells then spin silicon.


Generally you don't ship FPGAs in consumer devices you plan to sell in high quantities, as they're very expensive in addition to not being very efficient. Small FPGAs or CPLDs can be used for low-volume devices to avoid the huge non-recoupable expenses of an ASIC spin -- because of the specific requirements of the application.

They're almost exclusively used for prototyping ASICs.


Not sure an FPGA will output enough work to be economical. Probably still stuck with ASIC.


Well, the code is not perfectly optimized: https://github.com/option8/8BITCOIN/blob/master/HASH.s

For example: CLC ROL A can be replaced by ASL A


Create a pull request! :)


I'll add that to the next commit. Thanks!

Let me know if you see anything else.




If there's a successful hash, does it ATDT to the Bitcoin BBS to upload the block via Zmodem?


Just make sure to ATM0 first, or you might wake the parents when it dials in the middle of the night.

It’s much more effective than trying to cover the modem with a pillow when you’re sneaking upstairs for more late night Tele-Arena on Argus.


I guess I have some mood issues this morning, but the first (and about the only) thought that came to my mind is basically frustration about how pointlessly we spend energy that comes from burning something as precious as oil and how it increases the entropy and ultimately leads to heat death of the universe...


So sorry for your mood, I feel you. Hope it improves.

About entropy and heat death. Let me offer an alternative story.

Imagine heat death as a universe-wide network of "points", all oscillating the tiniest bit possible. Imagine also that this is the maximum size the universe could expand to. Now, at this point, if there was any, even a tiny small contraction of the universe, it would start a full on contraction/heating up process. Maybe you can call that the anti-BigBang. And if that happens, there would be an infinite loop between the BigBang and the BigCrunch. Life would probably come back at some point and heat death wouldn't be such a bad thing after all ;)

Hope you enjoyed that story. Would love to hear your thoughts on it. Thank you.


Can someone crunch some numbers about how long it may be until it finds a correct hash? Is the heat death of the universe first?


At current difficulty, 2 hashes/second gives about 614 trillion years to find one block. Not quite the heat death of the universe, but wikipedia says all stars in the universe will have exhausted their fuel.


At my current electric rate that would cost me $912,997,246,800,000 in electricity to find a hash.


And $47,261,000,000,000,000 in electricity to watch the stream that long.


A bitcoin would easily be worth that by then


huh. I have 1.61 hashes/second, and I only came to 535 trillion years. Maybe the difficulty changed since I did my math.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: