Bitcoin mining on a vintage Xerox Alto: very slow at 1.5 hashes/second
righto.com
righto.com
Compare that to a state-of-the-art Antminer at ~11Th/s using 1.1kW. Estimating a large pool size of ~250 Ph/s. And the Alto's rough payout calculation of about a billionth of a penny for 2017 looks right!
Any chance ethereum and zcash mining are up next for that poor old Alto that just wants to retire and dream of electric sheep?
Apparently doing it manually is about 0.67 hashes per day http://www.righto.com/2014/09/mining-bitcoin-with-pencil-and... so it's still nearly 200,000x faster than a human with pencil and paper.
Unfortunately for the Alto, the gigabytes of data required for mining won't fit into the 512kB memory. Even swapping to the hard disk won't work, since that only holds 2.5MB. Thus, while Bitcoin would have been possible in the 1970s, etherium and zcash wouldn't have been.
Not with current DAG sizes, but if this system had been available in the 70s it wouldn't have the current DAG sizes. If you assume a DAG that numbers in tens/hundreds of kbyes then it would have been workable.
i think you are missing the point. the idea is to prevent ASICs from taking over. if you could build one that could mine ETH or zcash, it would be a failure from their perspective.
The short version is that since "commodity" hardware can mine many things, you can't gauge how much power there could possibly be. Someone with 100,000 GPUs could turn their whole system to your coin and have over 50% of the hashing power for a day, then go back to whatever else the day after.
With ASICs, the devices can't be used for anything other than that specific coin, so to "save up" your hashing power to sneak in a day that you can get majority hashing power would be stupid. You'd have to be giving up the income from them while you waited.
The article explains it much better than I can, I really recommend it.
[0] https://blog.sia.tech/choosing-asics-for-sia-b318505b5b51?gi...
If they decide slowly enter game, attack price will raise significantly since network difficulty will be adjusted as they will add more of their miners into network and their projected 50% hashrate will be just 25%
So realistically its about 1 billion $ to attack current bitcoin network.
I wonder why Xerox didn't want to use all the ALU features.
See the Alto hardware manual (page 4) on bitsavers for details: http://bitsavers.informatik.uni-stuttgart.de/pdf/xerox/alto/...
http://users.rcn.com/crfriend/museum/doco/DG/Nova/base-instr...
If you scroll down to "Arithmetic/Logic Instructions" you'll see that they did not have room for XOR nor OR, since several of the 8 opcodes that fit into the 3-bit field are what we'd normally think of as "one-operand", but have been expanded to be "two-operand" (oddly enough, there is an increment but no decrement instruction either.)
It's interesting to compare to two other well-known CPUs with a 3-bit ALU opcode field:
The Z80's (and 8008/8080/8085) ALU opcodes are: ADD/ADC/SUB/SBC/AND/XOR/OR/CP
The x86's ALU opcodes are: ADD/OR/ADC/SBB/AND/SUB/XOR/CMP
Note that the Nova uses two additional instruction bits for the carry. Thus, the Intel instruction sets use two of the 8 opcodes for add with carry and subtract with borrow/carry, but the Nova doesn't. So it should be easier for the Nova to fit in additional useful ALU instructions. (Not to mention the Nova has 16-bit instructions.)
The MIT Lisp Machine does just map microcode instruction bits onto the 74181 function pins but it has much wider microinstructions than the 32-bit Alto ones.
http://bitsavers.informatik.uni-stuttgart.de/pdf/xerox/alto/... http://bitsavers.informatik.uni-stuttgart.de/pdf/xerox/alto/... http://www.mirrorservice.org/sites/www.bitsavers.org/pdf/xer...
If you want to try this stuff out for yourself (and don't have an Alto handy), use the ContrAlto emulator: https://github.com/livingcomputermuseum/ContrAlto
ftp://bitsavers.informatik.uni-stuttgart.de/pdf/xerox/alto/BitBLT_Nov1975.pdf
Dan Ingalls showed how to implement the Game of Life and how to rotate bitmaps using this instruction in a SIMD style. While BITBLT implemented all 16 possible boolean functions, not all were equally fast.
I compiled a "hello world" in C staticly on my laptop the other week as a demo of how things have grown; to my horror it wouldn't have even fit in memory of my first computer.
http://www.righto.com/2015/05/bitcoin-mining-on-55-year-old-...
bsy 1f7 p@ 80 and if bsy ; then ;
rdy 1f7 p@ 8 and if 1f0 a! 256 ; then rdy ;
sector 1f3 a! swap p!+ /8 p!+ /8 p!+ /8 e0 or p!+ drop p!+ drop 4 * ;
read 20 sector 256 for rdy insw next drop ;
write bsy 30 sector 25 6 for rdy outsw next drop ;
comments p@ read 8-bit port
p!+ write 8-bit port, increment port
insw read n words from port
outsw write n words to port
/8 shift right 8 bits
bsy wait till busy bit clear
rdy wait till data-ready bit set
sector set logical sector and command
read read 256 sectors
write write 256 sectors
https://web.archive.org/web/20160304043631/http://www.colorf...... I'd think this wouldn't even work at all
Source: I wrote one of the first GPU miners, founded a Bitcoin mining ASIC system integrator company, etc.
But personally I prefer simply investing in BTC.
The performance of these is in the 2-3 cpb range per core on Zen.
BCPL is about halfway between assembler and C.
BCPL isn't as primitive as I expected. It's surprisingly similar to C, except lacking types. C's structs, unions, bitfields are almost a direct copy of BCPL, along with the ternary ? operator. C's lvalues, rvalues, and pointers are also just like BCPL.
BCPL has way more control flow statements than C: if EXP do STATEMENT, unless EXP do S, test EXP then S1 or STAT2, test EXP ifso S1 ifnot S2, while EXP do S, until E do S, S repeatwhile EXP, S repeatuntil EXP, S repeat, switchon EXP into CASES, etc. The C language trimmed out a lot of the redundancy. BCPL's switchon statement is just like C's with fall-through cases unless you use a break.