My "oldest" transaction is from 7/11 (roughly 6 days ago). It has 2983 confirmations, which even at a "slow" estimate of every 10 minutes, that was 8 hours ago. :-S And it doesn't increase when the number of blocks does.
It is done so that when you create a transaction, you put more bitcoins in than what goes out. The difference goes to whoever manages to create an accepted block with your transaction. If I wanted, I could modify my client so that your transaction is included in the block I'm generating only if it gives me enough bitcoins as a fee. If enough (generating) clients did this, it would be advantageous for you to add the fee to your transactions, so that they are processed faster.
The hash function is used because it is irreversible, easily checkable, small in size, and probably some other things I'm forgetting. Even if you could, for example, encode the transactions as a polypeptide (chain of amino acids), and then made folding the polypeptide into a protein the proof-of-work, such a proof-of-work could not be checked without redoing the entire computation.
I'm no biochemist, so I'm not sure about this, but I think you could do that. Folding proteins is about finding states with low energy (because in nature, proteins occur in the state that has the lowest energy). So you could encode the information in a polypeptide, have some energy limit that you have to fit in order to generate the block and fold the polypeptide until you find a state with low enough energy. Verifying what energy does a certain state have should be relatively fast.
On the other hand, such computations probably don't have any value to biochemists, so this would just replace one useless computation with another.
Is it true that the difficulty can be changed with a patch accepted by 50% of nodes? Doesn't this mean that an attacker only needs to set up a bunch of nodes and not actually have a majority of cpu power? How hard would it be to do an attack like that? What does it take to have a node? A 2880 bps modem and a Pentium 386? Can a computer hold multiple nodes?
I don't think so. I think that if you created a block with lower difficulty than what I think is the current difficulty, I wouldn't accept it. That means I wouldn't accept any coins that originated in a block with this lower difficulty. This would effectively split the network in two.
I assumed that we were getting the blocks to solve from a central authority and when I computer solves that block it turns into money. I am probably wrong.
No, block is (as the FAQ says) just a sequence of transactions that happened since the last block was created plus a transaction that gives you the newly created bitcoins. It is just made so that creating this block is quite difficult. There is no central authority in the whole system (apart from an IRC feed used only to get other people's addresses).
Post
Topic
BoardBitcoin Discussion
Re: Bitcoin roadmap
by
Svick
on 12/07/2010, 11:06:14 UTC
What I would like to see is lower time to get started currently, it takes several hours just to download all the blocks, which amount to few megabytes of data.
Or does it take so long because my PC has to verify all the blocks?
There is one other way to change the amount of coins in circulation however, the dev(s) have a key that lets them print money. odds are good the dev(s) will make a shit ton of coins from this and not delete the key. unless someone somehow gets the key then you can't add new currency technologically.
How does that work? As far as I understand it, new bitcoins can be generated only by creating a new block, 50 BC at a time (for now). If the devs have some way to generate new bitcoins quickly, that would pretty much defeat the purpose of having P2P network with no central authority. Instead of trusting banks, we would have to trust the devs.