Author

Topic: i want to understand (Read 11079 times)

legendary
Activity: 1526
Merit: 1134
December 29, 2010, 07:55:29 AM
#16
Your enthusiasm is great, but I'd recommend reading this thread

   https://bitcointalksearch.org/topic/inflation-fractional-reserve-and-bitcoins-376

before deciding BitCoin will change the world.

By itself, BitCoin changes nothing about banking. It makes banks less important by allowing electronic transactions to occur without them, but you can still have fractional reserve lending backed by BitCoins and some argue that it's actually very likely to occur.

The problems the world has with banks are complicated. BitCoin is a good start because the vast majority of all payments today (by value) are purely electronic and electronic transactions today require banks and other associated organizations like VISA, MasterCard etc. A very small number of very large organizations mediate the bulk of all payments today and that's a bad thing, as the Wikileaks fiasco has shown.

But by itself BitCoin will probably not destroy the fractional reserve system, nor prevent arbitrary inflation, nor avoid the problem of banks "too big to fail".
vip
Activity: 1386
Merit: 1140
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
December 29, 2010, 12:03:32 AM
#15
the fact that it uses digital signatures and not pki is i think exactly the piece of the puzzle i need to form a somewhat coherent picture. Thanks for all the great responses. One thing im still somewhat unclear on is once the network opens a new block it seals the old one correct. But if we are all adding information to the newest block after the block is sealed how does the network determine which version of the previous block is the newest one. Maybe when a node is searching to see weather or not it has the most accurate blockchan it also looks to make sure each block in the chain is independently longer than the blocks in its chain as well as checking to make sure the new chain has more blocks total.

You're close... We're not adding to the newest block after it's sealed, we're adding information before it's sealed.  New transactions sort of float out there "unconfirmed" until someone solves a block, and in the process of having done so, would need to have included those unconfirmed transactions into the block.  There's only one version of any given block.

It's possible that two nodes could "solve" a block at the same time, which indeed would create a temporary situation where there are two valid versions of a block.  Someone else has explained how that's resolved, in a nutshell, whichever version of the block is first to get another block built onto it, that ends up being the tiebreaker.
legendary
Activity: 1246
Merit: 1016
Strength in numbers
December 28, 2010, 04:25:36 PM
#14
the fact that it uses digital signatures and not pki is i think exactly the piece of the puzzle i need to form a somewhat coherent picture. Thanks for all the great responses. One thing im still somewhat unclear on is once the network opens a new block it seals the old one correct. But if we are all adding information to the newest block after the block is sealed how does the network determine which version of the previous block is the newest one. Maybe when a node is searching to see weather or not it has the most accurate blockchan it also looks to make sure each block in the chain is independently longer than the blocks in its chain as well as checking to make sure the new chain has more blocks total.

No, block length is not used to determine anything. Once a hash below the target is found the block cannot change at all or it will invalidate the hash. Any transactions will have to go into the next block.

If a block contains invalid stuff then others will not build off of it. It won't totally disappear from reality, but it won't be part of the longest chain which is all that matters.
legendary
Activity: 1722
Merit: 1217
December 28, 2010, 09:37:09 AM
#13
the fact that it uses digital signatures and not pki is i think exactly the piece of the puzzle i need to form a somewhat coherent picture. Thanks for all the great responses. One thing im still somewhat unclear on is once the network opens a new block it seals the old one correct. But if we are all adding information to the newest block after the block is sealed how does the network determine which version of the previous block is the newest one. Maybe when a node is searching to see weather or not it has the most accurate blockchan it also looks to make sure each block in the chain is independently longer than the blocks in its chain as well as checking to make sure the new chain has more blocks total.
newbie
Activity: 48
Merit: 0
December 28, 2010, 01:47:24 AM
#12
There is no fake bitcoin if you get a collision of key. It just mean that somebody have the same key to your vault as you.

Very true. I worded that badly.

I wasn't actually arguing that it was the case, just trying to provide some perspective that "even if" such an event resulted in a counterfeit transaction, that is still millions of times less counterfeit transactions than we deal with now.
legendary
Activity: 980
Merit: 1020
December 28, 2010, 01:23:08 AM
#11
There is no fake bitcoin if you get a collision of key. It just mean that somebody have the same key to your vault as you.
newbie
Activity: 48
Merit: 0
December 28, 2010, 01:22:02 AM
#10

There exists the potential for this community to be responsible for saving the lives of not just thousands or millions of lives, but billions maybe even trillions if we became an interstellar society in the future. So it would be an understatement to say that im interested in your work.

Yes, agreed. I come to this project primarily from the gold/silver community. As much as I love that, it has obvious problems when it comes to how to perform electronic transactions using that medium. Moreover, for the reasons you mentioned - I think we are morally required to help support projects like bitcoin since the potential payoff for humanity is so huge.


Also i understand what the theory behind the usefulness of proof of work systems, such as forcing a server to solve a problem before being willing to receive a message from it in order to prove that their is a cost involved for the sender limiting the potential profitability of spam, but i cant for the life of me figure out how it factors into the whole bitcoin equation. If im asked to solve a complex problem then rewarded for solving it, whos asking the question, what method is used to generate the problem.

Like you, I'm new too and not a cryptography expert. I will only add in addition to the excellent responses above (like mestar's nice summary) that basis for the proof-of-work is that the good guys will always outweigh the bad guys.

For instance, assume that utilizing the total computing power of all bitcoin nodes that a new block is generated every 10 mins, additionally assume that an individual computer may take say 12 months to generate a new block on its own....then you can see how the "good guys" will always be ahead of the "bad guys".

So if we, as a community, are on block 100K right now....and you being a rogue node want to generate a false transaction, so you spend some cash but immediately begin working on the next block that *does not* include the fact that you spent that money (ie. you are trying to erase your spending history)....well every 10 mins the community will be on the next node and it will quickly become impossible for you to ever catch up or surpass our effort.


Also isnt it possible that two different public keys could return the same hash value, i know its unlikely but if people are using this service 100 years from now on a global scale there could be a LOT of transactions by then.

While it is technically possible for that to happen, we must put that in context. Lets say for sake of argument that once every 100 years (in reality it would be an order of magnitude more, but for discussion sakes) a clash of keys would occur. So essentially we would have a single counterfeit transaction each 100 years....compare that to the real world.....has any other currency ever had a protection that great? The amount of fake $100 bills and fake gold dwarfs that by several million times.
legendary
Activity: 1246
Merit: 1016
Strength in numbers
December 27, 2010, 09:14:34 PM
#9
Quote
Also isnt it possible that two different public keys could return the same hash value, i know its unlikely but if people are using this service 100 years from now on a global scale there could be a LOT of transactions by then.

I forgot to address this.

It could be a problem if storage and bandwidth don't improve at all in the next 30 years, but if that's the case then we have bigger problems, like we'll probably all be dead.
sr. member
Activity: 407
Merit: 250
December 27, 2010, 08:35:40 PM
#8
The network uses pki, but what exactly is being encrypted. What is to stop someone else from sending a message to the network stating that he is you and he transacts x funds to y account, im sure this is where the encryption comes into the equation but how.

If you have someones public key, you can quickly check if the message was signed with his private key or not.  So the nodes would simply reject transactions that were not signed with the proper private key. 

I'm not sure about the details, since addresses are not actual public keys, but hashes of those keys, but I'm sure someone else will fill in the details.


Also i understand what the theory behind the usefulness of proof of work systems, such as forcing a server to solve a problem before being willing to receive a message from it in order to prove that their is a cost involved for the sender limiting the potential profitability of spam, but i cant for the life of me figure out how it factors into the whole bitcoin equation. If im asked to solve a complex problem then rewarded for solving it, whos asking the question, what method is used to generate the problem.

You are trying to find 256 bit hashes with certain number of zeros at the start of the hash.  All the nodes together agree on the difficulty, so that the average number of hash hits is one every 10 minutes.

Every hit puts a new block at the end of the chain, and the chain grows.  The deeper your transaction is in the chain, the harder it is to change it, since it takes a lot of processing power to generate each block. 


Also isnt it possible that two different public keys could return the same hash value, i know its unlikely but if people are using this service 100 years from now on a global scale there could be a LOT of transactions by then.

Very very unlikely. Somebody needs to calculate, if you generated new key pair million times every second, now much time you need to have 50% chance of hitting it.  My guess is that the age of the universe would still not even scratch the surface.

 And even if it happens, I guess two people would be able to send the same coins to somebody else, but still only once. 


administrator
Activity: 5222
Merit: 13032
December 27, 2010, 07:49:13 PM
#7
Take a look at https://en.bitcoin.it/wiki/Blocks and follow the links on that page. Also join the IRC channel.

Each record of a transaction is called a block.

No. This seems to be your main point of confusion. A block contains multiple unrelated transactions. The block chain is every block in order of creation. The block chain is used to securely record the ordering of transactions, preventing people from spending the same coins twice. Most users don't produce blocks -- they only produce transactions, which other users put into blocks.

If every person on Earth makes ten addresses per second for 20 years (2x1018 total addresses), then the probability that two of these addresses collide is about 1.57x10-12.

legendary
Activity: 1246
Merit: 1016
Strength in numbers
December 27, 2010, 07:46:40 PM
#6
A wall of text does not motivate me to respond.

Yeah, I guess reading all that would slow down your post rate too much.
legendary
Activity: 1246
Merit: 1016
Strength in numbers
December 27, 2010, 07:46:10 PM
#5


As a base let me explain what i think i understand of bit-coins so far. Each member of the network has a record of all transactions which have ever taken place in the community. Each record of a transaction is called a block. Each block records the amount transferred, the address of the sender and the address of the recipient. The address of the recipient is a hash value of their public key. The record as a whole is called the block chain which is nothing more than every known block organized chronologically. Member nodes broadcast the length of their block chain to all of the nodes they are connected to periodically, the receiving node then compares the length of their existing block chain to that of the sender, if the receiver finds that his block chain is shorter than the senders, he will send a request to the sender for the entire block-chain. When a node initiates a transaction it adds that transaction to its block chain stating that node now has x fewer coins and the receiving node now has x more coins, the nodes connected to the transacting node would then see that the transacting node has a longer block chain and send a request for the update, eventually the receiver of the transaction would receive an updated copy of the block chain proving that he now owns x coins. Now for what i dont understand which greatly outweighs what i do. The network uses pki, but what exactly is being encrypted. What is to stop someone else from sending a message to the network stating that he is you and he transacts x funds to y account, im sure this is where the encryption comes into the equation but how. Also i understand what the theory behind the usefulness of proof of work systems, such as forcing a server to solve a problem before being willing to receive a message from it in order to prove that their is a cost involved for the sender limiting the potential profitability of spam, but i cant for the life of me figure out how it factors into the whole bitcoin equation. If im asked to solve a complex problem then rewarded for solving it, whos asking the question, what method is used to generate the problem. Also isnt it possible that two different public keys could return the same hash value, i know its unlikely but if people are using this service 100 years from now on a global scale there could be a LOT of transactions by then.

This message may seem confusing to some of you but it comes from my personal definition of understanding. I dont consider myself to understand something just because i can explain it or solve a problem relating to it. All through out my life i was so frustrated with public education because no one seemed to understand what it meant to understand, and no teachers ever required their students to be able to understand the material, only that they be able to answer questions correctly. To me understanding involves being able to draw a complex picture in my head accounting for all given variables and potentialities, explaining the relationships between how all parts of a system interact with all other parts, and right now im on a quest to understand bitcoin.
 

A few things that might make it easier to start piecing together in your mind.

A block can contain many transactions, but always contains at least one, the one that generates new coins, right now exactly 50, but that will decrease over time.

The proof of work is required so that blocks cannot be added easily. If blocks could be created at will it would be simple to rewrite a longer chain that did not contain a record of coins that you previously spent. This would allow you to spend them again, not good for a currency.

Only you can spend your coins because you must show that you have the private key associated with the public key that 'contains' the coins. Having the private key allows you to reassign access to a new key which is held by the person you are paying. We need to keep track of all transaction so that you can't get away with doing this to multiple people.

I hope that helps.

I agree about public 'education'. It is the antithesis of education imo. It's like a vaccine against learning at best and a lobotomy at worst. I recommend schoolsucksproject.com if you haven't found it yet. It's a very good explanation of why school is so terrible. Unschooling is a solution imo.
legendary
Activity: 980
Merit: 1020
December 27, 2010, 07:37:12 PM
#4
A wall of text does not motivate me to respond.
legendary
Activity: 1596
Merit: 1100
December 27, 2010, 07:36:28 PM
#3
The entire system is not based on encryption, but public/private keypairs, and cryptographic signatures.

Each time you spend bitcoins, you are creating a cryptographically-signed transaction that says "transfer 1234.56 bitcoins to public key ABCD."

Only the person with the private key ABCD can then spend those 1234.56 BTC.
legendary
Activity: 1246
Merit: 1016
Strength in numbers
December 27, 2010, 07:34:46 PM
#2
I have been fascinated by economics, political theory, and monetary theory for some time, and it is through my self education in these fields i stumbled across bit-coin. Upon learning about bit-coin i became infatuated with the claims made by the bit-coin community. I well understand, as im sure many of you do, the nature of the invisible cage placed upon us by powerful banking interests through fractional reserve lending, debt based currency, and the monopolization of capital and the means of exchange. If bit-coins are truly what many claim them to be an independent, incorruptible, indestructible means of exchange than the potential for positive impact upon our planet by this community is of an unimaginable scale. There exists the potential for this community to be responsible for saving the lives of not just thousands or millions of lives, but billions maybe even trillions if we became an interstellar society in the future. So it would be an understatement to say that im interested in your work.

Right on, imo. It's going to be huge.


Quote
Clearly the next step for me is understanding, i want to fully understand how this software operates. I have a problem though, everything i read is either to broad to technical. For example i have this http://www.youtube.com/watch?v=FTOhti7wxXk which goes over my head or this http://www.youtube.com/watch?v=AjnM2shYIrM which explains nothing. So in essence what im asking for is a detailed explanation in English not techno-babel that required a doctorate to understand. I am like most members of my generation some what computer "literate" so your not talking to grandma over here but of course my understanding will be dwarfed by many on this forum.

I know what you mean. I want to get two flyer/pamphlets printed up. One that is a really basic overview with claims not backed up at all. And one with more info supporting info, but not too technical. Maybe I'll make a thread where we can work out what ideas belong where and get the language straight.
legendary
Activity: 1722
Merit: 1217
December 27, 2010, 07:22:25 PM
#1
*EDIT* Hi Chris DeRose!

I have been fascinated by economics, political theory, and monetary theory for some time, and it is through my self education in these fields i stumbled across bit-coin. Upon learning about bit-coin i became infatuated with the claims made by the bit-coin community. I well understand, as im sure many of you do, the nature of the invisible cage placed upon us by powerful banking interests through fractional reserve lending, debt based currency, and the monopolization of capital and the means of exchange. If bit-coins are truly what many claim them to be an independent, incorruptible, indestructible means of exchange than the potential for positive impact upon our planet by this community is of an unimaginable scale. There exists the potential for this community to be responsible for saving the lives of not just thousands or millions of lives, but billions maybe even trillions if we became an interstellar society in the future. So it would be an understatement to say that im interested in your work.

Clearly the next step for me is understanding, i want to fully understand how this software operates. I have a problem though, everything i read is either to broad to technical. For example i have this http://www.youtube.com/watch?v=FTOhti7wxXk which goes over my head or this http://www.youtube.com/watch?v=AjnM2shYIrM which explains nothing. So in essence what im asking for is a detailed explanation in English not techno-babel that required a doctorate to understand. I am like most members of my generation some what computer "literate" so your not talking to grandma over here but of course my understanding will be dwarfed by many on this forum.

As a base let me explain what i think i understand of bit-coins so far. Each member of the network has a record of all transactions which have ever taken place in the community. Each record of a transaction is called a block. Each block records the amount transferred, the address of the sender and the address of the recipient. The address of the recipient is a hash value of their public key. The record as a whole is called the block chain which is nothing more than every known block organized chronologically. Member nodes broadcast the length of their block chain to all of the nodes they are connected to periodically, the receiving node then compares the length of their existing block chain to that of the sender, if the receiver finds that his block chain is shorter than the senders, he will send a request to the sender for the entire block-chain. When a node initiates a transaction it adds that transaction to its block chain stating that node now has x fewer coins and the receiving node now has x more coins, the nodes connected to the transacting node would then see that the transacting node has a longer block chain and send a request for the update, eventually the receiver of the transaction would receive an updated copy of the block chain proving that he now owns x coins. Now for what i dont understand which greatly outweighs what i do. The network uses pki, but what exactly is being encrypted. What is to stop someone else from sending a message to the network stating that he is you and he transacts x funds to y account, im sure this is where the encryption comes into the equation but how. Also i understand what the theory behind the usefulness of proof of work systems, such as forcing a server to solve a problem before being willing to receive a message from it in order to prove that their is a cost involved for the sender limiting the potential profitability of spam, but i cant for the life of me figure out how it factors into the whole bitcoin equation. If im asked to solve a complex problem then rewarded for solving it, whos asking the question, what method is used to generate the problem. Also isnt it possible that two different public keys could return the same hash value, i know its unlikely but if people are using this service 100 years from now on a global scale there could be a LOT of transactions by then.

This message may seem confusing to some of you but it comes from my personal definition of understanding. I dont consider myself to understand something just because i can explain it or solve a problem relating to it. All through out my life i was so frustrated with public education because no one seemed to understand what it meant to understand, and no teachers ever required their students to be able to understand the material, only that they be able to answer questions correctly. To me understanding involves being able to draw a complex picture in my head accounting for all given variables and potentialities, explaining the relationships between how all parts of a system interact with all other parts, and right now im on a quest to understand bitcoin.

Also if i need to read a book or two then come back before understanding will be possible than let me know how to find it.

I apologize if i missed the plain English explanation somewhere else and have just wasted someones time. The FAQ page fails to meet my criteria of understanding, even i can tell with my limited understanding it leaves huge gaps while the technical paper is in that other language i dont speak.

Anyway now to just sit back and wait for the barrage of insults i get at every forum i ever try. If you are preparing to attack me though please find some grounds other than spelling or grammatical syntax errors.
Jump to: