Bitcoin Forum
May 02, 2024, 07:16:51 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 [62] 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 ... 162 »
1221  Bitcoin / Bitcoin Discussion / Re: [BETA] Bitcoin blockchain torrent on: October 12, 2012, 05:31:09 PM
Quote
Each time the blockchain torrent is updated, seeders may run that script to guarantee they have 100% of bootstrap.dat immediately.  A nice, decentralized solution Smiley

Excellent. Though presumably it will be a slightly different length than whatever is torrented (which will be taken care of by the recheck-data option).

Once the height of the next checkpoint is publicly known, everyone may run that script to independently generate bootstrap.dat with the exact same file size and SHA256 checksum.

1222  Bitcoin / Bitcoin Discussion / Re: [BETA] Bitcoin blockchain torrent on: October 12, 2012, 05:12:31 PM
It will result in seeders needing to re-download a torrent for each update though.

It will result in seeders already having 90% of any new torrent, thus having to fill in the remaining 10%.

Quote
I wonder if it could be generated from their existing blockchain (is it basically the same file?) which will presumably be pretty up-to-date.

Yes, this is open data and an open file format.  Seeders may independently generate a byte-for-byte identical bootstrap.dat by running https://github.com/jgarzik/pynode/blob/master/mkbootstrap.py

Each time the blockchain torrent is updated, seeders may run that script to guarantee they have 100% of bootstrap.dat immediately.  A nice, decentralized solution Smiley

1223  Bitcoin / Bitcoin Discussion / Re: [BETA] Bitcoin blockchain torrent on: October 12, 2012, 05:01:57 PM
Note:  For existing torrent seeders, they may simply swap out the .torrent file, perhaps kick their torrent client to manually re-verify a file, and bootstrap.dat in their Uploads directory will simply be extended.  Seeders will automatically already have 90% of each new torrent's bootstrap.dat.

Hmm.  I didn't realize that was possible.  I assumed that changing the torrent would result in no seeds (and all prior seeders needing to download again).  I was thinking many wouldn't and thus it would be a challenge to keep the number of seeders high.  I guess bittorrent is "smarter" than I realized.  

This is special to our use case:  bootstrap.dat is essentially an append-only file.  Blocks are simply concatenated onto the end.

Today's torrent at height 193000 is 2,491,771,562 bytes in size.

The next torrent, a few months from now, will have the same first 2,491,771,562 bytes.

Thus, to bittorrent, the next torrent will simply appear to be a truncated / not fully downloaded bootstrap.dat.  Bittorrent is built to fill in the missing pieces of a file, so that is what it does here Smiley

1224  Bitcoin / Bitcoin Discussion / Re: [BETA] Bitcoin blockchain torrent on: October 12, 2012, 04:13:01 PM
Maybe a silly question but would it be possible to separate the torrent into something like daily or weekly segments so the individual parts never need to be updated?

At present, that sort of setup would be challenging for users to use effectively.  It is far easier to have one file to import (automatically, in 0.7.1+) than a collection of files.

Longer term, the idea is to fix any issues with bitcoin P2P peer selection, so that downloading recent blocks from your peers is faster and not burdensome.

It could be as simple as making a new torrent for each checkpoint. Say in 6 months we are at block 240,000 and there is a checkpoint 220,000 a "torrent2" could be added which contains blocks 193,001 to 220,000.   New users could download both torrents and be within 20,000 blocks of "current".  I think at most quarterly updates is all that is necessary.

That's the plan, with a slight change:  each new torrent will contain all blocks from zero to X.

For bitcoin users, the largest user population served by this is those that have zero blocks, and are jumpstarting a fresh node installation.  Other bitcoin users will likely have blocks fresher than 3-6 months old; catching up via P2P network is fine for them.  There is only a tiny remaining segment of bitcoin users who would then be served by new-torrent-for-checkpoint, those that only turn on their bitcoin clients once every ~6 months.

Note:  For existing torrent seeders, they may simply swap out the .torrent file, perhaps kick their torrent client to manually re-verify a file, and bootstrap.dat in their Uploads directory will simply be extended.  Seeders will automatically already have 90% of each new torrent's bootstrap.dat.

1225  Bitcoin / Project Development / Re: colored bitcoins/distributed exchanges proof-of-concept on: October 12, 2012, 03:45:34 PM
It seems likely that people will hook up bots to distributed bonds as soon as they pop into existence.

Why? What would such a bot do?

That is the open and operative question.  GLBSE had bots, bidding and asking.  It seems reasonable to assume that any P2P solution would quickly see the same, right out of the gate.

1226  Bitcoin / Bitcoin Discussion / Re: [BETA] Bitcoin blockchain torrent on: October 12, 2012, 03:34:27 PM
Won't this torrent only benefit new users if people actually seed it?

The swarm doesn't appear to be particularly large at the moment...

Correct.  It is not much use, without participating seeders.  We definitely have several right now... but it does look like users occasionally get partitioned off into "Azureus island" or "rtorrent island" or "everybody else's island."

1227  Bitcoin / Bitcoin Discussion / Re: [BETA] Bitcoin blockchain torrent on: October 12, 2012, 03:33:24 PM
Nice one.  I will dedicated some bandwidth for it.  I could imagine with a couple hundred seeds new users could bootstrap very quickly.  Even if you only updated the torrent once a year it would still provide a significant portion of the blockchain at a high speed.

Yes, that's the hope.  Already had reports of 7 MB/s downloads...

1228  Bitcoin / Bitcoin Discussion / Re: [BETA] Bitcoin blockchain torrent on: October 12, 2012, 04:45:36 AM
Any idea how long it takes to perform the validation of bootstrap.dat once it's downloaded (on typical hardware)?

Sadly it varies wildly depending on your hard drive configuration.  Import time here is under an hour.

1229  Bitcoin / Bitcoin Discussion / Re: [BETA] Bitcoin blockchain torrent on: October 12, 2012, 03:56:24 AM
This is similar to that in the sense that you are downloading a block chain that you trust to be validated.  It happens to match the 193,000 block baked into the client and signed by the core developers (by virtue of their signature on the hash of the software download).  Since this download.dat has block 193,000 whose hash matches the one baked into the client, you can be sure of the fact that you've got a block chain that matches that which was signed by the core developers up to block 193,000.  If all the merkle hashes and previous block pointers check out, you're good to go.

Not quite...  this data is the precisely the same data you see on the P2P network.

The client validates bootstrap.dat data to the same level it validates data downloaded from the P2P network.

If all checkpointing code is disabled, this data remains fully valid and useful.

Quote
But, I always thought the bulk of the time to sync up the block chain was due to transaction validation and not actually due to the download time.

A lot of the time is due to Berkeley DB slowness (fixed by ultraprune).  Another yet-unfixed cause of slowness is poor bitcoin P2P network peer selection, for block download.

Quote
When it comes to the matters of trust, could you not achieve the equivalent result by starting up the client in a mode that doesn't do full validation for blocks prior to the most recent, baked in block (i.e. 193,000)?  On startup (if it's GUI), the user could be prompted to decide whether to perform a full validation, or to trust the baked in checkpoint.  Maybe downloading through Bittorrent still has advantages (i.e. not burdening the bitcoin network with download traffic), but I wonder how the performance of this would compare with downloading via Bittorrent.

We want to do exactly the same amount of validation as the client does with network blocks...  break no additional link in the trust chain Smiley

1230  Bitcoin / Bitcoin Discussion / [BETA] Bitcoin blockchain torrent on: October 12, 2012, 03:17:49 AM


UPDATE Feb 2013: This thread is obsolete.  See the non-beta Bitcoin blockchain data torrent thread for further torrents and updates.


This is a beta test of a blockchain torrent project.  Interested participants are invited to try, and comment.

Version 0.7.1, which just entered testing, includes a new feature:  If the file "bootstrap.dat" is found in the bitcoin data directory, it will validate and import all blockchain data found in that file.  The following torrent presents a bootstrap.dat file for that feature.

Here is the PGP-signed torrent information.  Details follow below the signature.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Torrent info hash: 0bb0521942f586ed96203c6f4d136324756f8a9a
Torrent magnet link:
magnet:?xt=urn:btih:0bb0521942f586ed96203c6f4d136324756f8a9a&dn=bootstrap.dat

Filename: bootstrap.dat
Byte size: 2491771562
SHA1: e70ca90775dfdb13fd0014425805a0bdf4a31677
SHA256: a3f258e7af030165360596e4cb0b9beb24b4ce97352c22e65349b89ad5fc5d3e

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIVAwUBUHeHSdodwg8tvwyoAQJ2DA/8CcINxuD7DzLv96fE+R6GVLvRASLcy0ig
8d2YyDbJ9r9dPVODDPGC7I/ooDVJAcQsqdrLYHST2DTCt6c4zZ/7iXzFEahRopsH
PmxYOgkHie7438nqpmH9uC+d5t0pPHUFS6dBSBgdSVPaLfS86fToXrV/bx30rHBi
60FJz5A99aXrrrUny0cGIjafqVv8XjqNoA1lzjsRjeiu3EgTm8Ibcr8ZI6DLp/80
Siv3potlOArTI6sxjc/vKUa6nZILnW8mKdwc/d8LUdRaBPoo71c6Q4YOSQh/OVht
B1rZ8NEX/2SlS3PbhhMELcY/2wvgPGovkIqOgiw6dDIkhsD8iJAD1DqCkZbsq9S1
kKobGmceuQBcyRUCavkafdHJpZzyCAKLnQLV3FvZ3O4QZQVmYGPYn1H8a5UFRDQq
LGKcQmwm4Cet7162woEiNAaR9p7HvTJ4LV2uEvY56m2GfZbToCk2aiycO+v6Fm8K
ZY8cX+cbEOW3AM5rYVa6Rks029LIrFFzIutlo5MJ7uc7oMqciWrcsPtEh59QY+yJ
SENk6cLyWCAHl4jsvUTBvdNGy3fHKSEyQOjG5cmAMXiJTX/iiB/DJf7koTZAj4ub
wez3/HwuenMYjHgjsVXJAXprcEpTjpEcicg4W0MIDw07dPjol0dnRRNpwfJ1HMRc
dlTqLwlXqgs=
=uwRB
-----END PGP SIGNATURE-----


What is bootstrap.dat?

It is a flat, binary file containing bitcoin blockchain data, from the genesis block through height 193,000.  Height 193,000 is the height of the current checkpoint baked into the reference client.

Version 0.7.1 (when released) will automatically validate and import a file in the data directory named "bootstrap.dat".  Version 0.7 or later will also import this file by passing the command line argument "-loadblock=/path/to/bootstrap.dat" to bitcoin-qt or bitcoind.


Who wants bootstrap.dat?

Anyone bringing up a new node using the reference client.  This is one method of accelerating the initial blockchain download process, while helping the bitcoin P2P network by offloading data download traffic from public P2P nodes.

This download is not for those who are already running the bitcoin client.


NOTE: This torrent requires DHT torrent capability

This torrent is a so-called "trackerless torrent", to avoid making any of the open torrent trackers targets of any bitcoin antipathy.  Peers for this torrent are discovered via DHT, and early results seem to indicate that some bittorrent clients take a while to find their initial peers.  We have also discovered clients (rtorrent) that disable DHT by default; you will need to turn it on.

Please report results, good or bad, on using this trackerless torrent.


How often will this torrent be updated?

Assuming this project is deemed useful and worth continuing... the torrent will be updated once every few months, when the checkpoints are updated in the reference client source code.


Why not update the torrent more often?

A torrent works best when it is a large, static dataset that changes infrequently.  That maximizes the ability to seed the data, enabling even part-timer seeders to contribute meaningfully.  Less frequent changes also minimizes the risk that a malicious torrent will appear, with a long, malicious side chain.  The current policy only updates the torrent after blocks are buried many thousands deep in the chain.


Why should I trust you?

You don't have to:  This data is raw block chain data.  The client will verify this data during import.

Independent third parties may generate their own bootstrap.dat, up to height 193000, and verify that the sha256sum matches that posted above.  The file format is simple and publicly known:

     <4-byte pchMessageStart><32-bit length><CBlock, serialized in network wire format>


Torrent file download?

If the magnet link does not work, download http://gtf.org/garzik/bitcoin/bootstrap.dat.torrent


Comments welcome

Post any comments or experiences in this thread.  I'll update the OP as needed.

Maybe trackerless will be a #fail, but let's see how it goes.

1231  Bitcoin / Development & Technical Discussion / Re: Bitcoin software testing effort on: October 11, 2012, 03:58:24 PM
...and here it a call for "it works" testing, for the current release candidate of 0.7.1:
https://bitcointalk.org/index.php?topic=117874.0

Any testing beyond "it works" is appreciated as well of course.  Smiley

Volunteers are encouraged to self-organize in this thread to come up (and execute) more formal test plans.

1232  Bitcoin / Project Development / Re: Decentralized BTC Stock Market [Goodbye GLBSE] on: October 11, 2012, 02:17:41 PM
Search the forums for distributed bonds and colored coins.
1233  Bitcoin / Project Development / Re: colored bitcoins/distributed exchanges proof-of-concept on: October 11, 2012, 02:16:43 PM
I suspect HFT should be a non-goal for v1. It's hard enough to make things work just for regular trading by long-term investors.

It seems likely that people will hook up bots to distributed bonds as soon as they pop into existence.  Some sort of mitigation strategy will be needed, at a minimum.  Otherwise the P2P network will be flooded with sales offers.

1234  Bitcoin / Project Development / Re: Bitcoin powered Amazon Web Services on: October 11, 2012, 02:18:32 AM
In any case, if anyone thinks that an AWS bitcoin purchasing app has legs let me know, i'll probably just start doing some simple MVP work, but if there is more interest I'll ramp it up quicker.

It would be really nice to have that option.  Bitcoin-funded AWS accounts seem like niche that needs filling.

1235  Bitcoin / Project Development / Re: Blockchain security tracking/colored coins/smart contracts - short python script on: October 10, 2012, 09:31:31 PM
There is no "colored blockchain", it uses only the standard bitcoin blockchain and tracks all the transactions in a chain starting at a particular given transaction. That a coin is "colored" only means that it can be traced (through the blockchain) to belong to a very specific transaction, chosen and named by yourself.

True, however:  a chain specifically for smart property could potentially keep bloat out of the main chain.

1236  Bitcoin / Bitcoin Discussion / Re: Moving bitcoin.org to a hardened server? on: October 10, 2012, 06:28:03 PM
The integrity questions aside, I think that publishing torrents of the releases would be useful in general.

This is especially true for the block chain download.

Yes, torrents would be useful -- and some infrastructure is coming down the pipe for this.

Upcoming version 0.7.1, released hopefully this week or early next week, will automatically import 'bootstrap.dat', if that file exists in the bitcoin data directory.

This feature is intended to enable a bootstrap torrent to be downloaded.  Simply drop the torrent's data file (bootstrap.dat) into your directory, and bitcoin will do the rest.

The next step is for some volunteers to generate the torrent, and other volunteers to "beta test" the torrent by downloading it, and making sure it imports correctly into bitcoin.

The nice thing about this process is that these volunteers may be untrusted:  bitcoin will fully verify the input data, just like it does over the network.  A malicious torrent would largely waste everybody's time, but be quickly noticed as malicious.

1237  Bitcoin / Project Development / Re: colored bitcoins/distributed exchanges proof-of-concept on: October 10, 2012, 05:20:34 PM

pybond follows the distributed bond design laid out in that post -- including the P2P and DHT bits.

I am thinking there will be a third component as well:  P2P network will permit traders to advertise "coordination points", a single address where traders may connect for high-speed trading between themselves.  These coordination points may be created or destroyed at any time, and are self-organizing among participants.

1238  Bitcoin / Development & Technical Discussion / Re: Unique serial number for every single satoshi on: October 10, 2012, 05:16:29 PM

No -- losing color by accident (or intentional design) just means the property is lost.  Just like you can "burn money" today by throwing away a private key, or sending bitcoins to a non-existent key, or any number of other ways.

1239  Bitcoin / Development & Technical Discussion / Re: Bitcoin software testing effort on: October 10, 2012, 12:03:57 AM
To that end: The reason the full node automated testing of RPC and P2P functionality is difficult is because it would require (at a minimum) two pc's running full bitcoin clients, correct?

Yes.  More generally, many RPC and P2P requests require a functioning (or simulated) network with remote nodes to query.

A lot of coverage may be gained with simply two nodes, a "local" and "remote" node talking to each other.

However, two nodes will not exercise code important to peer-to-peer software, like good peer selection.

1240  Bitcoin / Development & Technical Discussion / Re: Bitcoin software testing effort on: October 09, 2012, 11:20:14 PM
As an aside, typically this is the point where hardware engineers suck in a shocked breath, then gasp "what??? you do not already test every single function?"  Smiley

That is the an ideal goal, but it is incredibly difficult given (a) all the different configuration permutations and (b) the need to rely on a mostly volunteer Q/A army.



Pages: « 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 [62] 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 ... 162 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!