Bitcoin Forum
April 27, 2024, 09:01:57 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: i want to understand  (Read 11051 times)
Anon136 (OP)
Legendary
*
Offline Offline

Activity: 1722
Merit: 1217



View Profile
December 28, 2010, 12:22:25 AM
Last edit: September 17, 2016, 05:02:41 PM by Anon136
 #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.

Rep Thread: https://bitcointalk.org/index.php?topic=381041
If one can not confer upon another a right which he does not himself first possess, by what means does the state derive the right to engage in behaviors from which the public is prohibited?
1714208517
Hero Member
*
Offline Offline

Posts: 1714208517

View Profile Personal Message (Offline)

Ignore
1714208517
Reply with quote  #2

1714208517
Report to moderator
"Your bitcoin is secured in a way that is physically impossible for others to access, no matter for what reason, no matter how good the excuse, no matter a majority of miners, no matter what." -- Greg Maxwell
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714208517
Hero Member
*
Offline Offline

Posts: 1714208517

View Profile Personal Message (Offline)

Ignore
1714208517
Reply with quote  #2

1714208517
Report to moderator
1714208517
Hero Member
*
Offline Offline

Posts: 1714208517

View Profile Personal Message (Offline)

Ignore
1714208517
Reply with quote  #2

1714208517
Report to moderator
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
December 28, 2010, 12:34:46 AM
 #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.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
jgarzik
Legendary
*
Offline Offline

Activity: 1596
Merit: 1091


View Profile
December 28, 2010, 12:36:28 AM
 #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.

Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
kiba
Legendary
*
Offline Offline

Activity: 980
Merit: 1014


View Profile
December 28, 2010, 12:37:12 AM
 #4

A wall of text does not motivate me to respond.

FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
December 28, 2010, 12:46:10 AM
 #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.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
December 28, 2010, 12:46:40 AM
 #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.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
theymos
Administrator
Legendary
*
Offline Offline

Activity: 5180
Merit: 12900


View Profile
December 28, 2010, 12:49:13 AM
 #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.

Quote
stating that node now has x fewer coins and the receiving node now has x more coins

Balances aren't used, and everything is done by address. A transaction "redeems" a previous transaction, gaining all coins from it. Then it sends these coins to one or more addresses. Then these recipient addresses can redeem this transaction at any time in order to send the bitcoins that they were assigned.

Quote
what exactly is being encrypted.

The transactions are digitally signed. Nothing is encrypted.

Quote
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

He doesn't have the private key associated with your Bitcoin address, and he can't find it in a reasonable time. Read:
http://en.wikipedia.org/wiki/Public-key_cryptography
The Bitcoin address is a public key (a hash of the public key, actually, but it doesn't matter in this case). The private key is stored in your wallet.dat.

Quote
i cant for the life of me figure out how [proof-of-work] factors into the whole bitcoin equation

In order to produce a block, you need to solve a proof-of-work. This prevents people from re-doing the entire block chain and ruining the guaranteed ordering property that we need.

Bitcoin's proof-of-work works like this:
- Everyone in the network agrees on a target number, which determines the difficulty of generating a block.
- People trying to generate blocks create random numbers in a way that allows everyone else in the network to verify that the numbers are actually random. (They hash their temporary block.)
- If their number is lower than the target, then their block is valid.

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.

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.


1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
mestar
Sr. Member
****
Offline Offline

Activity: 407
Merit: 250


View Profile
December 28, 2010, 01:35:40 AM
 #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. 


FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
December 28, 2010, 02:14:34 AM
 #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.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
freetx
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
December 28, 2010, 06: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.
kiba
Legendary
*
Offline Offline

Activity: 980
Merit: 1014


View Profile
December 28, 2010, 06: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.

freetx
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
December 28, 2010, 06: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.
Anon136 (OP)
Legendary
*
Offline Offline

Activity: 1722
Merit: 1217



View Profile
December 28, 2010, 02:37:09 PM
 #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.

Rep Thread: https://bitcointalk.org/index.php?topic=381041
If one can not confer upon another a right which he does not himself first possess, by what means does the state derive the right to engage in behaviors from which the public is prohibited?
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
December 28, 2010, 09: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.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
casascius
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1136


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
December 29, 2010, 05: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.

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
Mike Hearn
Legendary
*
Offline Offline

Activity: 1526
Merit: 1128


View Profile
December 29, 2010, 12:55:29 PM
 #16

Your enthusiasm is great, but I'd recommend reading this thread

   http://bitcointalk.org/index.php?topic=376.0

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".
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!