7

Is it ethical / legal / at all possible to burn a copy of the Bitcoin (or any cryptocurrency) blockchain to a disc, and then sell the disc? Would there be any additional issues if we included a copy of the client (and associated source code)?

The idea is to make it easy for people to get started using Bitcoin without having to download 6 or more years' worth of blockchain data. The content would essentially be the Bitcoin data directory (minus the wallet.dat of course), and, if possible, the client. Users could insert the disc, install the client, and have the entire blockchain as of the date the disc was published.

Is this legal under the terms of the MIT license? Is there another license covering the blockchain data itself? Would anyone actually be interested in something like this?

I was thinking that perhaps something like this could be published annually, with the profits going to support the Bitcoin developers.

6

It's legal

Bitcoin Core is released under The MIT License. Accordingly, the Bitcoin repository informs:

Permission is hereby granted, [...] including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software [...] [emphasis added]

So, it's explicitly legal for the software. I'd surmise the Bitcoin blockchain to be common knowledge, as there are no distinguished authors, owners, or restrictions of access.

Annually is too long

I'd expect that you'd want to publish it in shorter intervals than annually, as catching up half a year of blockchain still takes quite some time, especially since the traffic is growing over time. This year the blockchain doubled in size! On the other hand, producing disks on-demand instead seems manageable.

However, you'd certainly find it challenging to find a CD that can store the whole blockchain; you would need to send a Blu-ray or USB stick instead. ;)

Market?

There might be a market for such a service in regions where internet bandwidth is exceptionally expensive. Else interest is likely covered by similar offers in download format, such as the donation based offer at http://en.blockchaindownload.nl/.

I don't have see ethical issues with your approach, you would be offering a service, you might as well try to reclaim your costs.

Security of buying the pig in the poke

I would recommend building your own database from scratch (i.e. via -reindex), if you plan to rely for a business on the data. Also then you should check that the software is unchanged, i.e. download your own copy from a trusted repository. Anyway, you would likely be chosing a full-client then to have the security of your own trusted node, making you unlikely to be interested in this offer in the first place anyway.

However, for a private user just wanting to save time/bandwidth until reaching a synchronized blockchain, I find attack scenarios rather contrived. While in fact being vulnerable to being forked from the mainchain, and made to accept an invalid transaction, this would require someone to tamper with both software and database, and require further effort to connect your client to your business information, to spoonfeed you targeted transactions, perhaps even a forked blockchain. A scenario where this nets an attacker money seems pretty farfetched.

Still, it would be a bad idea if 1) the recipient doesn't understand the trade-off, 2) a large portion of the network were bootstrapped thusly, and therefore might not be the kind of service that should be offered in great scale.

  • I was aware of blockchaindownload.nl, but this would essentially have the same issues as running the Bitcoin Core client to download the blockchain (except maybe it would download faster) - you'd still be downloading something. The aim was to provide a way to obtain the entire blockchain history without having to download it, but as @Bitcoin suggested this doesn't appear to be a very secure way to go about it. – Michael Becker Oct 12 '15 at 17:16
8

Is this legal under the terms of the GPL?

Bitcoin Core is distributed under the MIT license which explicitly allows this.

The content would essentially be the Bitcoin data directory (minus the wallet.dat of course), and, if possible, the client. Users could insert the CD, install the client, and have the entire blockchain as of the date the CD was published.

This is not recommended. Beyond modifications to the software (which can be caught with signatures) distributing a raw synchronized database is very vulnerable to tampering. The unspent outputs database can be silently modified to include non-existing outputs which the user would be likely to discover until it is too late. With knowledge of the people running a corrupted database an attacker can fork those users off the network very at their leisure, or if they accept zero confirmation transactions the victim can be directly defrauded at nearly no cost.

When a bootstrap.dat was distributed as a faster way for users to sync with the network it was always completely verified to avoid this type of attack.

Users could insert the CD, install the client, and have the entire blockchain as of the date the CD was published.

From a feasibility perspective this would actually be 60 CDs, or 7 DVDs at the time of writing.

  • Ah, thanks for that, I use so much free(-as in freedom) software that I forget which apps use which licenses. I've edited the question to refer more generally to optical discs, as even a DVD would probably pale in comparison to a Blu-Ray disc (with the downside that not everyone would have a Blu-Ray disc reader in their PC...) – Michael Becker Oct 12 '15 at 17:09
  • Also, good point about possible tampering, although this could(?) be mitigated by having a trusted, Bitcoin project-verified distributor selling the discs. As with most projects I probably wouldn't trust some random person selling (or giving away) the product, myself! – Michael Becker Oct 12 '15 at 17:13
  • 1
    Can't one verify the database by (a) running a program to see if the block chain fits the "unspent outputs", and (b) syncing online to see if the end of the on-disk block chain fits with the current longest one? – Paŭlo Ebermann Oct 12 '15 at 20:02
  • 1
    @PaŭloEbermann: you'd have to reindex the blockchain, which is the whole synchronization from scratch except for the download. If you'd just check with a tampered utxo database, you might ignore the real blockchain because it spends outputs you don't know. So, you should also make sure the software wasn't tampered with. – Murch Oct 12 '15 at 22:14
0

Disclosure: I am the owner of blockchaindownload.nl and I am pleased to see that my website is listed on another answer already.

I don't think your idea is cost worthy for most people, except for system administrators who roll out multiple nodes with mission critical usage. It is possible by distributing a USB drive maybe. Maybe we can arrange something together, feel free to mail me at the email address noted on the website. You are not the first one who wants to help, the Ukraine server is hosted by somebody else, too. Together we can make the perfect platform!

  • @NickODell: I've undeleted this answer, because rollo1996 addresses the problem the asker wants to solve in the second part. – Murch Jul 9 '17 at 1:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.