pull down to refresh

In the following thought experiment, let us assume that you are attempting to run a full node but have extremely limited internet bandwidth available (something like text/email-only).
Bitcoin block headers contain enough information for a node to verify the chain work before verifying the chain itself. In essence the PoW information included in the headers acts as an extremely effective first-pass filter. The rest of the consensus filtering happens as the blocks are processed.
If your node is confident as to which chain has the most work, who it downloads the actual blocks from does not matter as much. It could be that the blocks themselves come from a single source, and that is fine, because your node already has the headers to verify against.
A satellite which broadcasts the bitcoin blockchain 24/7 to anybody on earth who can receive it has been available for a while already1.
Such a satellite is great, if it is honest, because your node with a satellite receiver can stay up to date with the full chain, even if you do not have internet access, or if your internet access is very bandwidth-restricted.
On the other hand, if the satellite is not honest, or decides to broadcast a chain with less work, how would you know?
At minimum, you need to have received headers for the most-worked chain from some other source(s) to verify that the satellite is sending you the correct chain.
For the thought experiment here, let us set aside that you already invested the time and money necessary to get a satellite receiver hooked up to your node. What you need now is a way for people who do not have such specialized devices to somehow furnish you with bitcoin headers which you can then feed to your node.
Here are some ideas, in no particular order:
  • headers over radio? - Maybe eventually it will be possible to receive bitcoin headers over various radio channels. Unfortunately, broadcasting the full blockchain via LoRa2 or other consumer-accessible radio technologies seems difficult due mostly to bandwidth constraints (I am not an expert here, so please chime in if that is not true).
  • headers in newsletters? - As specified above, you have some limited internet bandwidth available to you for sending/receiving some basic emails. Maybe you could sign up for a few newsletters from various bitcoiners around the world who, as part of their newsletter include block header information? A weekly newsletter, in addition to its usual content, would include the 80-byte blockheader for each block since the previous newsletter (probably with some overlap)
  • headers in pictures / qr codes / memes? - Similar to the newsletter idea, some bitcoiners might setup websites which you could visit with your extremely limited bandwidth and print/scan in the headers which might be disguised in various forms.
None of the above are very covert.
Can we come up with some covert methods?
Note: if you end up obtaining headers for a chain with more work than the satellite gives you, there is not much you can do about it other than to refuse to transact until such a time as you have more information (such as a source which will provide you the blocks for the most-worked chain) but that is better than nothing!

Footnotes

Here's a good thread:
Has anyone used Ham radio to propagate Bitcoin blocks? Keen on exploring mesh networks that span across borders.
ISO: Ham Radio + Crypto Currency Project https://old.reddit.com/r/PrepperIntel/comments/n1cis2 [Teddit]
Nick Szabo's Radio transaction talk:
Scaling Bitcoin 2017 Stanford University - Day 2 Afternoon https://www.youtube.com/watch?v=QkYXPJMqBNk&t=4928s <-- Start at ~0:01:22:08.
reply
Thanks for the links.
Ultimately it seems that while these projects might at some point be a part of the resilience of the bitcoin network, at present the network has simply not been tested/attacked enough to cause more nodes to operate outside the traditional wires.
Couple that with the per-usual challenges of government making it difficult (apparently encryption is not allowed over amateur radio).
reply
i've read somewhere that bitcoin is considered commercial and ham radio does not allow commercial broadcasts
reply
Why would encryption be used?
Also, I forgot one. Somewhere I remember seeing someone toss out there this method for broadcasting blocks:
reply
Why would encryption be used?
Good point. I suppose it would not be allowed for other reasons such as being considered "commercial" as mentioned in the other reply.
reply
smoke signals works radio signals works neutrino BIP157 works
But the important question is: if you are in a such remote area that you get only text, I think you will have other more important priorities than syncing a blockchain.
reply
Thanks for your reply. Yes, I realize that anything which can encode information (such as smoke signals) could technically "work," but I would like to know which is the most practical and most likely to be adopted/used.
reply
As I said, if you are in a such remote area that you can't even run a mobile LN node like Breez, Blixt, SBW, Nayuta, Electrum... I don't know why do you want to complicate so much. If you are in a such remote area, you will not have anyway where to spend your bitcoins, not even online. You will be more focused on shelter, water, food, security than... internet and bitcoin.
reply
Again, thank you for your reply.
if you are in a such remote area that you can't even run a mobile LN node
It is not a thought experiment about a node being in a remote area. To the contrary. It is a thought experiment about where exactly the "edge" of the network even is, whether we can safely push lightning and lightning payments out to the edge.
But I suppose I did not spell it out that way and can understand how you interpreted it.
reply