Bitcoin Forum
November 12, 2024, 04:53:39 AM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: dasg  (Read 13554 times)
Anonymous
Guest

May 03, 2010, 12:33:35 AM
Last edit: September 11, 2011, 05:08:53 PM by davidonpda
 #1

adgadg
theymos
Administrator
Legendary
*
Offline Offline

Activity: 5376
Merit: 13410


View Profile
May 03, 2010, 01:18:23 AM
 #2

Did your new installation finish downloading all of the blocks (currently about 54,200)? The transaction probably won't appear until it does.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
NewLibertyStandard
Sr. Member
****
Offline Offline

Activity: 252
Merit: 268



View Profile WWW
May 03, 2010, 10:17:55 AM
 #3

The blocks are currently about 34 MB. I'm sure future versions will improve the download process. Including them with the installation would not be correct way of speeding up the initial download. But a trusted source could certainly host the majority of the blocks as a separate download. That would definitely speed up the process, although I think that Bitcoin double checks each block that it downloads and it probably wouldn't double check each block if you just added the file to the bitcoin user folder.

Treazant: A Fullever Rewarding Bitcoin - Backup Your Wallet TODAY to Double Your Money! - Dual Currency Donation Address: 1Dnvwj3hAGSwFPMnkJZvi3KnaqksRPa74p
NewLibertyStandard
Sr. Member
****
Offline Offline

Activity: 252
Merit: 268



View Profile WWW
May 03, 2010, 03:27:01 PM
 #4

34 MB... on a fast DSL plan, that should take a couple of minutes. Not 3 hours....
Downloading the blocks as a single file would only take a few minutes but Bitcoin doesn't download the blocks as a single file. Try comparing the time it takes to copy a 50 GB file from one hard drive to another versus copying 50 GB of 1 KB files from one hard drive to another. The 50 GB of 1 KB files will take an eternity to copy. Try to do the same test over the Internet and the 50 GB of 1 KB files will take infinite eternities to finish. I believe Bitcoin already has a few small optimizations for how it downloads blocks but there is still a lot of room for improvement. On the bright side, Bitcoin only has to download old blocks once, after which it stays continuously up to date.

Treazant: A Fullever Rewarding Bitcoin - Backup Your Wallet TODAY to Double Your Money! - Dual Currency Donation Address: 1Dnvwj3hAGSwFPMnkJZvi3KnaqksRPa74p
theymos
Administrator
Legendary
*
Offline Offline

Activity: 5376
Merit: 13410


View Profile
May 03, 2010, 06:19:19 PM
 #5

The BitCoin paper mentions "simplified payment verification" that could be used to accept payments without downloading all of the blocks. I don't know if this is implemented yet. It might only be enabled for clients that have "generate BitCoins" turned off.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
NewLibertyStandard
Sr. Member
****
Offline Offline

Activity: 252
Merit: 268



View Profile WWW
May 04, 2010, 01:51:12 AM
 #6

The BitCoin paper mentions "simplified payment verification" that could be used to accept payments without downloading all of the blocks. I don't know if this is implemented yet. It might only be enabled for clients that have "generate BitCoins" turned off.
Is that referring to sending bitcoins by IP address rather than by bitcoin address?
-----
Full Member! Woot Woot! Cheesy

Treazant: A Fullever Rewarding Bitcoin - Backup Your Wallet TODAY to Double Your Money! - Dual Currency Donation Address: 1Dnvwj3hAGSwFPMnkJZvi3KnaqksRPa74p
theymos
Administrator
Legendary
*
Offline Offline

Activity: 5376
Merit: 13410


View Profile
May 04, 2010, 02:16:16 AM
 #7

No.

Quote from: BitCoin paper
It is possible to verify payments without running a full network node.  A user only needs to keep a copy of the block headers of the longest proof-of-work chain, which he can get by querying network nodes until he's convinced he has the longest chain, and obtain the Merkle branch linking the transaction to the block it's timestamped in. He can't check the transaction for himself, but by linking it to a place in the chain, he can see that a network node has accepted it, and blocks added after it further confirm the network has accepted it.

So you would only download the most recent 200 or so blocks and then new blocks as they come in, relying on the network to verify the blocks for you. It would be a really lightweight way to use BitCoin. It would even be useful for "full network nodes" as they are downloading the whole block chain.

Congrats on 100 posts!  Smiley

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
The Madhatter
Hero Member
*****
Offline Offline

Activity: 490
Merit: 511


My avatar pic says it all


View Profile
May 06, 2010, 10:09:45 AM
 #8

We should bundle a snapshot of the block chain with each release of the Bitcoin software to save the user from having to download the entire chain upon a new install.

In terms of trust: The user is already trusting bitcoin.org's download to be valid. Combining the zip/exe installer with a snapshot of the block chain is not a big deal in my opinion. They can publish hashes and signatures to ensure file integrity, etc.

Even in a worst case scenario where the block chain snapshot was compromised nothing bad will happen. The longest block chain always wins. The client would download a new copy from the P2P network. (Besides, if the block chain was compromised we have bigger problems such as the software itself being trojaned, but this is another topic).

It's ++good!

34 MB... on a fast DSL plan, that should take a couple of minutes. Not 3 hours....
laszlo
Full Member
***
Offline Offline

Activity: 199
Merit: 2384


View Profile
May 06, 2010, 02:11:41 PM
 #9

Really from a purist stance, people should audit the code and build it themselves.

However this would exclude most people except dorks like us.. so you just have to trust that you got it from a reputable source.  I distribute a Mac OS X binary version but if you don't trust me you shouldn't be using it.  Similarly, I can make a password manager tool or a PayPal assistant tool and I can make it send your passwords and money to me.  You have to trust someone I guess unless you are willing to audit the code yourself.  The network itself has some protections from non-cooperative nodes but the users are obviously targets for scamming.  Kind of reminds me of the card skimmers people install on ATMs too.. they think they're using a trustworthy machine but it's been modified to capture their information.

BC: 157fRrqAKrDyGHr1Bx3yDxeMv8Rh45aUet
satoshi
Founder
Sr. Member
*
Offline Offline

Activity: 364
Merit: 7248


View Profile
May 18, 2010, 08:06:46 PM
Merited by vjudeu (1), stwenhao (1)
 #10

It's not the download so much as verifying all the signatures in all the blocks as it downloads that takes a long time.

How long is the initial block download typically taking?  Does it slow down half way through or is about the same speed the whole way?

I've thought about ways to do a more cursory check of most of the chain up to the last few thousand blocks.  It is possible, but it's a lot of work, and there are a lot of other higher priority things to work on.

Simplified Payment Verification is for lightweight client-only users who only do transactions and don't generate and don't participate in the node network.  They wouldn't need to download blocks, just the hash chain, which is currently about 2MB and very quick to verify (less than a second to verify the whole chain).  If the network becomes very large, like over 100,000 nodes, this is what we'll use to allow common users to do transactions without being full blown nodes.  At that stage, most users should start running client-only software and only the specialist server farms keep running full network nodes, kind of like how the usenet network has consolidated.

SPV is not implemented yet, and won't be implemented until far in the future, but all the current implementation is designed around supporting it.

In the meantime, sites like vekja.net and www.mybitcoin.com have been experimenting with account-based sites.  You create an account on a website and hold your bitcoins on account there and transfer in and out.  Creating an account on a website is a lot easier than installing and learning to use software, and a more familiar way of doing it for most people.  The only disadvantage is that you have to trust the site, but that's fine for pocket change amounts for micropayments and misc expenses.  It's an easy way to get started and if you get larger amounts then you can upgrade to the actual bitcoin software.
Xunie
Full Member
***
Offline Offline

Activity: 132
Merit: 101



View Profile
May 18, 2010, 08:15:27 PM
 #11

I've thought about ways to do a more cursory check of most of the chain up to the last few thousand blocks.

Sounds like a good idea, although you'll skip checking block, right?
And that doesn't sound safe for high-value transactions.
So I suggest we do implement it, but give the user the option to turn it on, but leave it off by default for now.

Ignore this: 734d417914faa443d74e8205f639dfb0f79fdc44988ecae44db31e5636525afe

Caffeinism -- a toxic condition caused by excessive ingestion of coffee and other caffeine-containing beverage.
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!