Posted on 01/18/2018 12:16:27 PM PST by C19fan
I remember spending days writing a program in BASIC (and even more days debugging it) that ended up with a screen like that.
You had to fly in and pick up your little dudes.
That excavator has helped dig out lots of trolls. And some of the zots can be sever so when you need a little more than “re-landscaping”, give me a call.
From Satoshi Nakamoto's original paper (boldface added):
By convention, the first transaction in a block is a special transaction that starts a new coin owned by the creator of the block. This adds an incentive for nodes to support the network, and provides a way to initially distribute coins into circulation, since there is no central authority to issue them. The steady addition of a constant of amount of new coins is analogous to gold miners expending resources to add gold to circulation. In our case, it is CPU time and electricity that is expended.
The CPU time he references is expended to guess a number having a cryptographic hash with a minimum number of leading zero bits. There is no way to do that other than brute force: keep generating new numbers until one of them has a hash with enough leading zeros. As the number of required leading zeros gets larger, the difficulty increases exponentially. Thus, the work factor is adjusted upward as the available computing power increases, progressing as it has from multicore CPUs to GPUs to ASICs. The protocol is such that bitcoins are found at a declining rate, eventually approaching a limit of around 21 million in the total BTC money supply. Currently, around 72 leading zero bits are required.
The hash function that bitcoin uses is SHA-256, a brainchild of the NSA. Given an input, it produces a 256-bit number that depends unpredictably on that input. E.g., SHA-256('CygnusXI') is:
9d3f77df8b4961fdbaaeb8dcd38b6d7367954e36673eb56381b36c0fe42dc646
Zero leading zeros. Let's try SHA-256('cynwoody'):
e9068b8085137d56725f1fc4f67287772155f2f06ded319b01e5a4cd9733c27c
Lose again! Let's try again, changing one bit in the input, SHA-256('Cynwoody'):
07ef34f3ffb2c71f7bd1f98813e9bb8c77e372681eb0a215d7980e622c530ece
Ah, progress! Five leading zeros. But we need 72, so we're still SOL.
“I remember that!”
—
Yup - and if you had a modem back in the early days you’d get the screeching too, during the “handshaking” between your PC and the server. Back then there servers was pretty much just local BBS’s. Fun times, though.
I kinda didnt make clear that I didnt mean they could cheat the hashing algorithm the pool participants are trusting that the proceeds of a bitcoin win are fairly distributed to all the people who contribute CPU or GPU cycles. How do we verify that someones 0.003 BTC is the correct distribution?
The hash itself is pretty secure given that 512 bit RSA is currently uncrackable in the lifetime of our sun (currently...), and as you said everyone can have and confirm the block chain itself.
Although I believe that bitcoin is just one of the ways being tested to create a cashless system, I do wish I knew how to get in on the ground floor and create them.
I got the impression that it was based on prime numbers, but not exactly. The first few are easy to figure out: 2, 3, 5, 7...then it gets harder....11, 13, 17. By the time you get to 2^20 it is very hard.
>>Yup - and if you had a modem back in the early days youd get the screeching too, during the handshaking between your PC and the server. Back then there servers was pretty much just local BBSs. Fun times, though.<<
300 BAUD in an acoustic coupler encased in a wooden box to keep transients from screwing up the transmissions.
And we LOVED IT b/c we didn’t have to drive into work at 12:30 AM to fix a Production problem!!
This was when the ability to telecommute did not equal the requirement to telecommute.
I used a tea cozy. LOL The wife bought a new 'modern' looking phone and I threw it away because it did not fit the coupler. I think she is still mad about that.
Not really.
On my Mac, using a simple-minded Python program (an interpreted language), it takes around a second to count the primes up to 2**20:
$ time factor count-primes $((2**20)) Limit Count Density 1048576 82025 7.82% real 0m0.986s user 0m0.921s sys 0m0.036s $
Here are the last ten of them:
time factor show-primes $((2**20)) 10 [1048391, 1048423, 1048433, 1048447, 1048507, 1048517, 1048549, 1048559, 1048571, 1048573] real 0m0.755s user 0m0.694s sys 0m0.040s $
Moving up to 2**24, things do slow down:
$ time factor count-primes $((2**24)) Limit Count Density 16777216 1077871 6.42% real 0m15.389s user 0m14.747s sys 0m0.244s $
Back in the day, before internet connectivity was everywhere, it was common for credit card terminals to operate over 1200-baud dialup. This remained true even after 56K became the state of the modem art. The reason was, you only need to exchange a few hundred bytes to complete a credit card transaction. At 120 characters per second, you could place the call and complete the transaction before a much faster 56K modem could finish its involved hand-shaking process.
Uh, OK.
Finally someone found a use for windmills.
Am I sort of right about Bitcoin being tied to prime numbers?
You are.
Bitcoin depends heavily on public-key cryptography, which in turn depends on the difficulty of obtaining the prime factorization of extremely large numbers (way bigger than 2**20).
Thanks for that interesting info, I never really thought about such computerized transactions back in the day. From what I understand, a number of ATMs are still running on Windows XP.
My first modem was 300 baud, when I got to using a 56k one I marveled at the blazing speed!
“And we LOVED IT b/c we didnt have to drive into work at 12:30 AM to fix a Production problem!!”
—
That must have been nice. Never needed it for work back in the day, just for fun and for looking up info such as movie showtimes.
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.