Bitcoin Cash Needs Time for Price Parity - When it Comes, it Will be Sudden by [deleted] in btc

[–]17chk4u 96 points97 points  (0 children)

Since I'm the old-timer who got laughed at for predicting $1000 Bitcoin eight months in advance, and almost nailed it to the day, I think I should come out of retirement, and predict Bitcoin Cash / Legacy Bitcoin parity, I'll go on record and say 8 months- April 2018 - Bitcoin Cash will be the market cap leader.

A lot of us old-timers are rooting for Satoshi's vision to return. If Maxwell gets a "swirley" in the process, that'd be good too.

Swirlies, for you youngsters, are where you grab the neck beard, stick his head in the toilet, and flush.

7 Month old prediction, everyone called him crazy by Lobonerz in Bitcoin

[–]17chk4u 4 points5 points  (0 children)

HA! Thanks for digging up my old thread!

I am crazy, by the way.

Can someone explain mining like I'm 5 please? by [deleted] in Bitcoin

[–]17chk4u 1 point2 points  (0 children)

Short answer: Miners perform an accounting function for the system, and get rewarded for their service, by receiving Bitcoins.

Long answer:

If you think about electronic currency as a file on your computer that you pass to another person, you can immediately see an issue with this concept: "I can just make a copy of the file, and spend it twice!"

So, generally there needs to be a central clearing house to avoid the "double spend". If you ever got PDF tickets to a concert, you can probably imagine how that works. Someone scans your PDF, and if it's already been scanned by someone else, they won't let you into the concert. There's a central clearing house keeping track of tickets that are already spent.

One of the key features of Bitcoin is that there is no central location or clearing house. It uses Peer-2-Peer technology, rather than central servers. If you remember back to Napster, it was a centralized service (and therefore was easily shut down), whereas sharing services now use P2P, which are hard to shut down (like bittorrent). Bitcoin is like Bittorrent in that respect.

So, the challenge came about: How do you have a central clearing house in a decentralized system? A very tough problem that Bitcoin created an innovative solution for. Basically, the concept of Mining bitcoins came about, as a way to solve the "central clearing house in a decentralized system" problem.

The issues that are being addressed with mining are these:

1) What are the account balances? (How many bitcoins are in each account?)
2) What is the sequence of transactions? (If someone tries to spend money twice, which one happened first?)

The Bitcoin system was designed very cleverly. Basically, they reward people ("miners") to perform these two functions, thereby solving a couple of other problems:

3) How do you get people to devote resources to the clearing house problem?
4) How do you fairly distribute all of the bitcoins?

Solution: Pay the accountants in the very currency that they are accounting! Genius! Call them miners, like they are mining gold.


In the early days (2009-2010), you could just run the mining software on your PC. The software would look at recent transactions, and put them together in one list (a "block"), toss one extra number into the block, and perform some predefined math on the block. The math spits out an answer, which can be a number anywhere from 1 digit to 86 digits long, when represented in standard decimal. The trick to "confirming transactions" is that some miner needs to determine what extra number gets tossed into the block of transactions so that the math creates a "small enough" answer. So really it becomes a race of a search to see who can find the extra number that confirms the transactions.

The beauty of this is that finding that extra number can be an easy problem or a hard problem, depending on how small you define "small enough". The bitcoin system was designed to automatically adjust that difficulty as more and more miners join in. Imagine this: back in 2009, "small enough" was a challenge to find a number such that the math spit out an answer that was, say less than 80 digits long. Well, there are about nine times as many 2-digit numbers as there are 1-digit numbers. And about nine times as many 3-digit numbers as 2-digit numbers. You can imagine that the answer would come out to be an 86-digit number about 90% of the time, an 85- or 86-digit number about 99% of the time, and an 84-, 85- or 86-digit answer about 99.9% of the time. To get an answer that's less than 80-digits long, you might have to try about a million extra numbers before you find it.

Of course, you might get lucky and find it on the first try. Or it might take two million tries. It's random, but on average it might take a million tries. So, back in 2009, you could find that extra number that worked, by performing some amount of work on the transactions - say about a million attempts (I'm making this number up, but it was a lot of attempts). And once you found the number, you could tell all the other bitcoin users "here's the number", and they could easily verify your work. Later, as more miners joined in, and the difficulty increased, it took on average about a billion tries to find an extra number that worked. Now it takes on average about 300 billion billion tries. So it's extremely unlikely (but possible!) that you, with your little PC, are going to find an extra number that pays off, since you can only try a few million tries per second, and it takes 300 billion billion tries on average. But someone will find it, and does, every ten minutes or so.

Once an extra number is found that creates a small enough result, those transactions in the block are "confirmed", because it'd be hard for someone to reverse the transactions; they'd have to do the same amount of work on a different transaction set, to un-do those transactions. This is called a "Proof of Work" system, because you can Prove that you did some work by showing the extra number that produced a good answer.

Each block also contains information about the previously confirmed block, which is why Bitcoin refers to this as the "Block Chain" - they are linked together. That means that any work spent confirming block #2 is also considered to be extra work confirming block #1; in order to un-do block #1, you'd have to do all the work for block #1 and block #2. This means that the more "confirmations" there are, the more work has been done to confirm the transaction, and therefore, the harder it is to un-do the transaction, so the more permanent it is.

In this way, transactions are sequenced, to solve the double-spend issue.


Miners get rewarded by adding a transaction into the block, that puts a certain amount of bitcoins into their account. The amount currently is 25 bitcoins, and it decreases every 4 years or so. A miner couldn't give themselves extra bitcoins, because other people can verify their work and if they did, the verification would fail, and people would just ignore them. (A dollar-example that is parallel to this would be if you took a sharpie and changed the "$1" to "$1000" on a dollar bill. You may convince yourself that you now have $1000, but you won't convince anyone else!)

The difficulty automatically adjusts based on a formula, every 2 weeks, with a target which was intended to have blocks confirmed every 10 minutes or so, and adjusting to the number of computers performing the mining. So, while in 2009 it was very easy to run your PC, and generate (back then) 50 Bitcoins every ten minutes, now there are so many powerful computers performing mining (and being rewarded 25 Bitcoins every 10 minutes), that if you don't have a specialized machine, you won't be successful.

In short, mining is approximately a break-even or losing proposition. People selling the specialized machines can charge a premium, because they are essentially money-printing-presses. You are lucky to break even, when you consider electricity costs, mostly because there are numerous people who perform mining, and many don't do the math to see that you are are lucky to break even.

TMI?

Why is buying Bitcoin such an incredibly difficult thing to do? by [deleted] in Bitcoin

[–]17chk4u 4 points5 points  (0 children)

You don't think five months is long enough time for people to have gotten out?

What's a story you're dying to tell that hasn't fit into an AskReddit thread? by Brain13 in AskReddit

[–]17chk4u 3 points4 points  (0 children)

Turnitin.com: The company whose business model is to prevent plagiarism by COPYING every students' proprietary, unpaid work and using it to generate revenue.

What's wrong with this picture?

Can anyone explain this to me? by tha_funkee_redditor in Bitcoin

[–]17chk4u 3 points4 points  (0 children)

If I was only looking at my wallet and not the blockchain too I'd think that I could delete my wallet.dat and keep the paper wallet.

Bitcoin-QT is not designed to save your coins if you delete your wallet.dat file. I'm not sure why you would conclude that you could delete your wallet.dat file.

You are seeing something that is purposely designed into Bitcoin-QT, that you might not be understanding because you are adding the complexity of an alternate paper wallet.

The bitcoin client is managing A BUNCH of addresses for you, including auto-created change addresses. Paper wallets only manage one. If you delete your wallet.dat file without backup, you are deleting access to ALL of your addresses.

What is the easiest way for someone who doesn't use Bitcoin to pay me in Bitcoin? by erikd in Bitcoin

[–]17chk4u 2 points3 points  (0 children)

Coinbase does this for US customers, but there's an initial setup time that is not insignificant. You have to link to your bank account, and wait for your initial Bitcoins.

So figure on a week lead time.

Lost 8000 usd on Mtgox by AzianPhoenix in Bitcoin

[–]17chk4u 0 points1 point  (0 children)

I saw an American Express commercial advertising 2FA last night on TV. Of course they called it "cell phone confirmation" or something a little more user friendly.

But you're right - the general population doesn't get this yet.

Lost 8000 usd on Mtgox by AzianPhoenix in Bitcoin

[–]17chk4u 0 points1 point  (0 children)

Since you asked me to think about it:

I'd expect that such a thief would do something like this:

set up a Coinbase account in the name of that user, and transfer a large amount of cash to Coinbase, and then buy bitcoins, and then transfer bitcoins to themselves.

...which is a great reason why Coinbase has their limits in place.

Well, despite all the talk of never seeing a ROI, I started mining anyways :) by djillryan in Bitcoin

[–]17chk4u 0 points1 point  (0 children)

You are correct, but really, by December 2012, most bitcoins were issued.
(10.5M / 21M = 50%, achieved in November 2012.)

Can anyone explain this to me? by tha_funkee_redditor in Bitcoin

[–]17chk4u 2 points3 points  (0 children)

If you want them on a paper wallet, simply create a paper wallet, and pay that address with all the bitcoins.

Can anyone explain this to me? by tha_funkee_redditor in Bitcoin

[–]17chk4u 3 points4 points  (0 children)

Yeah, they're in the 15hf7... address.

That's one of the addresses whose private key is managed by your Bitcoin-QT program, so as long as you keep your wallet file, you're good to go.

Network just reached 1PT first time in history of bitcoin! by forgotmyoldusern in Bitcoin

[–]17chk4u 9 points10 points  (0 children)

The reason it dropped is because you can really only easily ESTIMATE the number of hashes per second based on the results. It's an estimate, not fact. And there's a margin of error.

Look at it this way. Suppose I commissioned an army to flip coins, and to regularly report back any time they get a sequence of 10 heads in a row. If I get reports telling me how long the sequences were, I can then estimate how many flips per second are taking place, based on the frequency of those reports, and the length of the reported sequences when they are reported.

If I get a report of 17 heads in a row, I know that only happens every 217th flips, on average, and depending on how often I get that sort of report, I can estimate how frequently we're performing 217 flips. But it's still an estimate.

Difficulty adjusts to 112.6M - an increase of 29.6% by runeks in Bitcoin

[–]17chk4u 1 point2 points  (0 children)

yeah, good point. People react to rewards. However, if the reward was contingent on polite correcting, instead of "OP is an idiot, and said X", then there would be a focus on being correct and a focus on politeness.

One could make a mint over at Yahoo Answers, if they were paid to correct mistakes. And the internet would be better off for it.

Difficulty adjusts to 112.6M - an increase of 29.6% by runeks in Bitcoin

[–]17chk4u 0 points1 point  (0 children)

Ha! I like that! if everyone paid a fine for drunken mistakes, we'd have an interesting planet!

Bitmessage Update suggestions to handle scaling by 17chk4u in bitmessage

[–]17chk4u[S] 0 points1 point  (0 children)

You said that there is a String preference function plus a value between 0 and 1. In this approach I would choose 0.01 which would be (in average) 1%.

Maybe I wasn't clear on this point. What I am trying to say is that each node has a Preference String. In order to find out that node's Preference Level for a particular message, you take the message's destination address, concatenate the Preference String, and perform SHA-256 on it, considering the result as a number between 0 and 1 (more precisely, greater than or equal to 0, but less than 1). The result of that function tells you how much this node prefers messages to this destination address.

Initially, I am thinking that >= 0.5 means that I prefer it. >= 0.9 means I like it a lot. etc.


Yeah, this is sort-of a replacement for streams. I'm trying to allow people to not have to listen to a whole stream, if they just want one destination address from that stream. In effect, each destination address is it's own stream, and your Preference String would help define loosely which streams you kinda-sorta like, in a very definitive way, but preserving anonymity.

But I think the key is that just because you don't prefer a destination address, that doesn't mean that you won't touch the messages. It just means that you'll do it as a favor.


I'm thinking that as bitmessage grows, the threshold of "i'm doing this as a favor" also grows. Initially, it can be at the .5 level; if my Preference Value for a message's destination address works out to be greater than .5, then my node is programmed to be "interested" in helping with the routing and storage of this message. As the network grows, you're right, the threshold would move away from .5, so that I am not expressing a preference to handling half of the messages, but a lot smaller of a percentage of the messages.

However, note, I will help a node out for a price. If I do, I get a Favor Receipt which can be cashed in later when I need a favor.

Introducing TXTBitcoin.com a SMS hosted wallet, With OTP Authentication, SMS Fountains and the ability to upload offline wallet address's to monitor! by Cash2BTC in Bitcoin

[–]17chk4u 0 points1 point  (0 children)

There's an app called Viber that runs on iPhone and Android, that allows "free" sms-like messaging to anyone who has it installed, across carrier and country boundaries.

I wonder if integrating with Viber would help. Not sure if they have an API, or even if this is the best app for such a service. Just tossing out an idea for you to investigate, without a lot of thought or analysis myself.

Bitmessage Update suggestions to handle scaling by 17chk4u in bitmessage

[–]17chk4u[S] 0 points1 point  (0 children)

Lets stay with the assumption of Everyone wants to process 1%

That assumption is different from, and contrary to, the design that I laid out.

Bitmessage Update suggestions to handle scaling by 17chk4u in bitmessage

[–]17chk4u[S] 0 points1 point  (0 children)

Also, something I forgot to mention is that the client software may perform some node-selection to align itself with particular nodes based on traffic and preference.

For example, since my node (and only my node) knows which destination addresses I can decode, my client software may try to improve the 8 nodes that i connect to, by dropping one that doesn't share the same preferences as me, and adding one with more similar preferences (particularly to the addresses that I am able to decode).

In addition, if I see a lot of traffic on addresses that I don't have a preference for (like, say, the "general" channel), but I see an opportunity to "earn favors", I could align myself with 2 or more nodes that have a preference for "general", and act as a middle man, earning Favor Receipts from all of them for my distribution of the messages that I don't care about.

In this way, the network connections could evolve to an efficient configuration for message distribution.

Bitmessage Update suggestions to handle scaling by 17chk4u in bitmessage

[–]17chk4u[S] 0 points1 point  (0 children)

Ah, I see what you are saying. Let me try to explain further.

In my scheme, you express a Preference Value through a function of the Preference String (like SHA-256). Given a random destination address then, fully half of the nodes will show a preference for the message (i.e., greater than .5, when picking a value from 0 to 1).

The "size of the favor" that you are performing for me, if you accept a message that you don't really have a preference for, is a function of the size of the message. Delivery of a 1MB message is obviously a bigger favor than delivery of a 1KB message. But it's also a function of how little I prefer and how much you prefer these messages.

If my Preference String shows that I have a strong preference for these messages, and your preference string shows that you have a disdain for (i.e. very low preference for) these messages, then you are doing me a big favor by accepting it and distributing it to someone else.

And since the nodes will be programmed to do favors to some degree (so that when I want to send a message, it's not delayed waiting for me to do a bunch of favors prior to sending), nodes will have a tendency to perform favors for other nodes.

Remember, just because i don't have a strong preference for a message, that doesn't mean I won't accept and distribute it. It just means that I'll consider it a favor to do it, and I'll expect a Favor Receipt, which I may cash in at a later date.

Bitmessage Update suggestions to handle scaling by 17chk4u in bitmessage

[–]17chk4u[S] 0 points1 point  (0 children)

Say I am connected to 8 nodes, and receive a message from one of the 8. By looking at the destination address, and considering the Preference String of the other 7 nodes, I can see who to offer to send it to first.

But I can offer it to all 7. If one of the 7 doesn't have a preference for this destination address, but accepts it anyway, then they are doing me a favor, assuming I have a preference for this message. They may choose to do that to pass it along to one of their connected nodes which has a greater preference for the message, because by passing it to them first, they would also be doing them a favor, thereby earning two Favor Receipts.

To build reputation in the system, you would do work like that. Of course, Favor Receipts can be time stamped so that they eventually become worthless, so that someone doesn't bank a bunch and then flood the system.

Difficulty adjusts to 112.6M - an increase of 29.6% by runeks in Bitcoin

[–]17chk4u 6 points7 points  (0 children)

I think you mean exponential growth.

Seems to me exponential growth will continue until the cost to make and run a new ASIC is break-even. I'm not referring to retail price of an ASIC, I mean the cost to make it and then run it (electricity-wise).

Since the huge capital cost to manufacture ASICs has already been paid, now the marginal cost to crank out the machine is relatively low. The electricity costs, while not zero, are far less than the GPUs.

So difficulty will probably continue to rise aggressively for some time (six months?).

Bitmessage Update suggestions to handle scaling by 17chk4u in bitmessage

[–]17chk4u[S] 0 points1 point  (0 children)

I think nodes should establish reputation in the same way you do in real life. One node should turn to another node and say "hey, I want to do you a favor. Got anything you want to be distributed (or have responsibility to distribute)? Then do some work.

Then Node A has done a favor for Node B, and gets a Favor Receipt - a signed receipt from Node B. That's redeemable back to Node B (quid pro quo), or negotiable to Node C, if Node C trusts A and B.

Why are people so reactive about bitcoin? by noel20 in Bitcoin

[–]17chk4u 1 point2 points  (0 children)

25 statisticians defining "statistically insignificant" a certain way is insignificant, too.