diff options
author | Jonas Schnelli <dev@jonasschnelli.ch> | 2016-02-29 11:29:05 +0100 |
---|---|---|
committer | bitcoindev <bitcoindev@gnusha.org> | 2016-02-29 10:29:12 +0000 |
commit | 305e036c7e8df9be6f96878da17978152cf59d4d (patch) | |
tree | 3541566cea1b53ce99e2aa0fd5f98f8e179b3059 | |
parent | 3d1c5b06dfbddac925422d8368bfcfc8f29ed418 (diff) | |
download | pi-bitcoindev-305e036c7e8df9be6f96878da17978152cf59d4d.tar.gz pi-bitcoindev-305e036c7e8df9be6f96878da17978152cf59d4d.zip |
[bitcoin-dev] Fast bootstrapping with a pre-generated UTXO-set database
-rw-r--r-- | af/35c46c99e1790f66adc007f3f8f3e59b8e5aff | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/af/35c46c99e1790f66adc007f3f8f3e59b8e5aff b/af/35c46c99e1790f66adc007f3f8f3e59b8e5aff new file mode 100644 index 000000000..fe499c28c --- /dev/null +++ b/af/35c46c99e1790f66adc007f3f8f3e59b8e5aff @@ -0,0 +1,127 @@ +Return-Path: <dev@jonasschnelli.ch> +Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org + [172.17.192.35]) + by mail.linuxfoundation.org (Postfix) with ESMTPS id 4427DDC6 + for <bitcoin-dev@lists.linuxfoundation.org>; + Mon, 29 Feb 2016 10:29:12 +0000 (UTC) +X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 +Received: from server3 (server3.include7.ch [144.76.194.38]) + by smtp1.linuxfoundation.org (Postfix) with ESMTP id 6D4CDCB + for <bitcoin-dev@lists.linuxfoundation.org>; + Mon, 29 Feb 2016 10:29:11 +0000 (UTC) +Received: by server3 (Postfix, from userid 115) + id 0F1E92D00754; Mon, 29 Feb 2016 11:29:10 +0100 (CET) +X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on + smtp1.linux-foundation.org +X-Spam-Level: +X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, FSL_HELO_NON_FQDN_1 + autolearn=ham version=3.3.1 +Received: from Jonass-MacBook-Pro.local (cable-static-140-182.teleport.ch + [87.102.140.182]) by server3 (Postfix) with ESMTPSA id 4FD8D2D006E8 + for <bitcoin-dev@lists.linuxfoundation.org>; + Mon, 29 Feb 2016 11:29:09 +0100 (CET) +To: Bitcoin development mailing list <bitcoin-dev@lists.linuxfoundation.org> +From: Jonas Schnelli <dev@jonasschnelli.ch> +X-Enigmail-Draft-Status: N1110 +Message-ID: <56D41D71.80503@jonasschnelli.ch> +Date: Mon, 29 Feb 2016 11:29:05 +0100 +User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) + Gecko/20100101 Thunderbird/38.5.1 +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit +Subject: [bitcoin-dev] Fast bootstrapping with a pre-generated UTXO-set + database +X-BeenThere: bitcoin-dev@lists.linuxfoundation.org +X-Mailman-Version: 2.1.12 +Precedence: list +List-Id: Bitcoin Development Discussion <bitcoin-dev.lists.linuxfoundation.org> +List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>, + <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe> +List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/> +List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org> +List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help> +List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>, + <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe> +X-List-Received-Date: Mon, 29 Feb 2016 10:29:12 -0000 + +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +Hi + +I’ve been thinking around a solution to reduce nodes bootstrap time +(IBD) as well as a way to reduce the amount of bandwidth/network usage +per node. +Not sure if this idea was/is already discussed, haven’t found anything +in a quick research. + + +==Title== +Fast bootstrapping with a pre-generated UTXO-set database. + +==Abstract== +This documents describes a way how bitcoin nodes can bootstrap faster +by loading a pre-generated UTXO-set datafile with moderate reduction +of the security model. + +==Specification== +Bitcoin-core or any other full node client will need to provide a +feature to "freeze" the UTXO-set at a specified height (will require a +reindex). The frozen UTXO-set – at a specific height – will be +deterministic linearized in a currently not specified +data-serializing-format. +Additionally, a serialized form of the current chain-index (chain +containing all block-headers) up to the specified height will be +appended to the pre-generated UTXO-set-datafile. +The datafile will be hashed with a double SHA256. + +The corresponding hash will be produced/reproduced and signed (ECDSA) +by a group of developers, ideally the same group of developers who are +also signing deterministic builds (binary distribution). + +Full node client implementations that supports bootstrapping from a +pre-generated UTXO-set, need to include... +1.) a set of pubkeys from trusted developers +2.) the hash (or hashes) of the pre-generated UTXO-set-datafile(s) +3.) n signatures of the hash(es) from 2) from a subset of developers +defined in 1) + +To guarantee the integrity of developers pubkeys & signatures, methods +like the current gitian build, used in bitcoin-core, must be used. + +New nodes could download a copy of the pre-generated UTXO-set, hash +it, verify the hash against the allowed UTXO-sets, verify the ECDSA +signatures from various developers, and continue bootstrapping from +the specified height if the users accepts the amount of valid signatures +. + +Sharing of the pre-generated UTXO-set can be done over CDNs, +bit-torrent or any other file hosting solution. It would also be +possible to extend the bitcoin p2p layer with features to +distribute/share a such pre-generated UTXO-set, in chunks and with the +according hashes to detect invalidity before downloading the whole +content (but would probably end up in something very similar to +bit-torrent). + + +- ---------------------- +</jonas> +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2 + +iQIcBAEBCAAGBQJW1B1wAAoJECnUvLZBb1PsqzsP/iSdvyhUzy+BZVSZbKXNjk5P +2vrtirI6NvKQd8hHbrcFeLfyswzYc2JWRnX8sATlauIS0pYdr97JriwUGlvxvNrY +iVTDdf8MIVu8zScLQtJbMatpMvsewtqQEidn/yxWIhiCg4G2T5DZmlBU6O4XIKR6 +5aPHElGOKZ15EWGHBG7z4owj3MiOaxhD9q5erBbfLPpcm08o6XAv5miqmGnnn3zh +gocg4Gxs6iDygh3b2dCJFwWIVPxF6UVJhyjv2kLZUmEHT2Y2QvdGcLIIewcWHDze +kgoZYmOEowujCbmeJ+LBwgOI0c1N6L/ciomPBne7ILmK4LyUEzyMLJKNYf/sZ8vI +sVlmwZwZZLfILC7mzMAM0pfj99IOW680WHch9v31lWFlxW/bLvLqAO7n3acQuD6s +xCZN2nAhmWC8FnMFxqB3EUz0lX8giV3qRJZjbQMS+ZrngYkAmVv2bAsoLndqf6MO +l9W8B+ICg1KZLGIOF2pUrInpkB6gUALDFnypV4CeIVdeqtk5l4LnCHK6c4++Hl5n +Bv5HQ/wTgKKNFtHBEJpWyYWvAjfFtgUZUKblR+Bh+D7/Gte1ehiYd02KYD4ds9Y4 +3gfO8YbAz/I14Yuh2bIlvVKPWnLQBwL5BBioBfvmhV/r6rEpzWvB7H6Fmi1c759l +VlL0GiUV8ar2LlFhEmWk +=lZSy +-----END PGP SIGNATURE----- + |