Bitcoin Forum
September 27, 2016, 07:00:52 AM *
News: Latest stable version of Bitcoin Core: 0.13.0 (New!) [Torrent]. Make sure you verify it.
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: How does Bitcoin work?  (Read 5569 times)
farmer_boy
Jr. Member
*
Offline Offline

Activity: 56


View Profile
November 23, 2010, 02:27:47 AM
 #1

Hi everyone,

I am new to this forum, but I have been reading the technical paper behind bitcoin and while I like many of its claimed properties, I would like to see something with a bit more explanation, as I am used from reading other cryptographic papers, which while dense can at least be shown to be wrong. To be able to analyze a system mathematically you need the equations. Pointing at the source code is not a substitute for that.

In a paper I shouldn't be the one who has to figure out why something is true; there should be proofs and a stupid computer should be able to follow it.

I am surprised you already got this far, since I would have expected people to demand that the system is solid first, before using it.

Next to the mathematical points there is also the issue of someone discovering a constructive method to generate blocks. Is there a way to switch to a different hash function if so required?

There is another efficiency issue: how much energy or machine operations of the whole network does it cost to verify one transaction? If it costs more to verify a microtransaction than its value, there seems to be something wrong; it might be that this is a fundamental limitation. A new money system would have to be able to scale billions of users. Is that manageable? If not, why is bitcoin presented as a new money system as opposed to just a cool hack?

So, lots of questions, I hope you can answer them.

Test sending bitcoins to this address: 1P2NYce9Gj2eDN1GQNYaxkjm1npvmdqY4F
1474959652
Hero Member
*
Offline Offline

Posts: 1474959652

View Profile Personal Message (Offline)

Ignore
1474959652
Reply with quote  #2

1474959652
Report to moderator
1474959652
Hero Member
*
Offline Offline

Posts: 1474959652

View Profile Personal Message (Offline)

Ignore
1474959652
Reply with quote  #2

1474959652
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1474959652
Hero Member
*
Offline Offline

Posts: 1474959652

View Profile Personal Message (Offline)

Ignore
1474959652
Reply with quote  #2

1474959652
Report to moderator
1474959652
Hero Member
*
Offline Offline

Posts: 1474959652

View Profile Personal Message (Offline)

Ignore
1474959652
Reply with quote  #2

1474959652
Report to moderator
kiba
Legendary
*
Offline Offline

Activity: 980


View Profile
November 23, 2010, 02:32:01 AM
 #2

You'll be hard to get Nakamoto-sensei to answer your questions. He doesn't frequent this forum sections or any other except technical discussion.

RHorning
Full Member
***
Offline Offline

Activity: 210


View Profile
November 23, 2010, 03:07:12 AM
 #3

Hi everyone,

I am new to this forum, but I have been reading the technical paper behind bitcoin and while I like many of its claimed properties, I would like to see something with a bit more explanation, as I am used from reading other cryptographic papers, which while dense can at least be shown to be wrong. To be able to analyze a system mathematically you need the equations. Pointing at the source code is not a substitute for that.

In a paper I shouldn't be the one who has to figure out why something is true; there should be proofs and a stupid computer should be able to follow it.

I am surprised you already got this far, since I would have expected people to demand that the system is solid first, before using it.

Next to the mathematical points there is also the issue of someone discovering a constructive method to generate blocks. Is there a way to switch to a different hash function if so required?


There are several threads that have been talking about this specific issue, and it is something under consideration.   There is a plan in place to deal with the possibility that the SHA-256 algorithm, which is the one currently being used by Bitcoins, would eventually be replaced.  There is also an effort by the NSA and others involve with the cryptology community in general (much more than just Bitcoins) that is trying to find something more secure than this algorithm and put it through a rigorous analysis in terms of ensuring that it really is more secure.

This thread goes into much more detail about this issue and includes a quote from the lead developer that is relevant to you question:

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

Quote

There is another efficiency issue: how much energy or machine operations of the whole network does it cost to verify one transaction? If it costs more to verify a microtransaction than its value, there seems to be something wrong; it might be that this is a fundamental limitation. A new money system would have to be able to scale billions of users. Is that manageable? If not, why is bitcoin presented as a new money system as opposed to just a cool hack?

So, lots of questions, I hope you can answer them.

In terms of the ability to verify a transaction is valid, the effort to do that is trivial, on the order of a few cycles and a fraction of a second for even an ordinary computer.  The transactions get incorporate into the hash blocks in terms of getting put into the network and recorded on a "permanent" basis as having been confirmed.  In this regard a considerable amount of effort is put into confirming the transactions and in fact is one of the major functions that is "rewarded" by giving those nodes who are processing these blocks some bitcoins for performing that effort.

In terms of scaling this effort to billions of people, there may have to be some modifications to the network and include some core machines doing a "backbone" effort with Bitcoins and some leaf nodes who are accepting and transmitting transactions.  Some of that has been discussed on these forums already, and I'm not really sure what the specific plans are, if any, when that happens.  It is certainly scalable to many thousand computers even in its present form and a whole lot more room to deal with the current scalability with the network as it stands.  If it may be approaching something of a problem, I'm sure there will be plenty of people very capable of coming up with alternative solutions to fixing this problem.  The main issue is simply getting people to show up and participate... a much larger problem I would think.

Scaling issues would be a problem we would all wish to have here.

1FLK3uUT3Vup5JtkGJVXKHAoS3AZWPcKdv
da2ce7
Legendary
*
Offline Offline

Activity: 1216


Live and Let Live


View Profile
November 23, 2010, 04:34:35 AM
 #4

There is decision underway for a more formal description of the bitcoin protocol than the C++ code.  http://bitcointalk.org/index.php?topic=1860.0

I personal think that a good platform and language agnostic protocol description is one of the more pressing issues facing the bitcoin community.  If I was more experienced I would have offered to help.

A formal security analysis, is important, but a slightly longer term problem to address.

One off NP-Hard.
jgarzik
Legendary
*
Offline Offline

Activity: 1470


View Profile
November 23, 2010, 05:14:28 AM
 #5

There is decision underway for a more formal description of the bitcoin protocol than the C++ code.  http://bitcointalk.org/index.php?topic=1860.0

That's not really a decision, so much as a common request or complaint.

Everybody would like such a beast, but nobody's sitting down and doing it (at least, for free).

Jeff Garzik, bitcoin core dev team and BitPay engineer; opinions are my own, not my employer.
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
ribuck
Donator
Legendary
*
Offline Offline

Activity: 826


View Profile
November 23, 2010, 11:19:57 AM
 #6

To be able to analyze a system mathematically you need the equations. Pointing at the source code is not a substitute for that.

Even if you have all the equations supplied to you, you need to know that the source code does the same thing as the equations. So there is no getting around the need for people to study the source code.
davout
Legendary
*
Offline Offline

Activity: 1358


1davout


View Profile WWW
November 23, 2010, 01:05:42 PM
 #7

To be able to analyze a system mathematically you need the equations. Pointing at the source code is not a substitute for that.

Even if you have all the equations supplied to you, you need to know that the source code does the same thing as the equations. So there is no getting around the need for people to study the source code.

The paper describes a protocol, the source code describes a client.

RHorning
Full Member
***
Offline Offline

Activity: 210


View Profile
November 23, 2010, 01:59:12 PM
 #8

To be able to analyze a system mathematically you need the equations. Pointing at the source code is not a substitute for that.

Even if you have all the equations supplied to you, you need to know that the source code does the same thing as the equations. So there is no getting around the need for people to study the source code.

The paper describes a protocol, the source code describes a client.


The paper describes the principles of the protocol, not how the protocol is actually implemented.  The "official bitcoins client" is really what is called a reference implementation, but its behavior is not formally specified except in the C++ programming language.  I personally think that is a bad thing and has a number of shortcomings as a result, but at the very least it has to work when specified in this fashion, which sometimes isn't always the case with stuff written down on paper.

At the moment, the real description of the protocol is not really specified anywhere else besides the source code to the client, although there have been a number of efforts that have partially described the protocol and some very informal descriptions of the protocol being used, none of which would allow you to re-implement the protocol without some massive reverse-engineering.

1FLK3uUT3Vup5JtkGJVXKHAoS3AZWPcKdv
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!