Suppose three persons have no access to the internet when they seek to exchange value in cryptocurrency. They have only paper wallets and physical coins. How do they overcome the Byzantine Generals Problem?
Afterwards, they online and update the blockchain with the exchange that took place offline. But how does that work? How does that affect the Byzantine Generals Problem? Eric, if you do not have access to the blockchain, then you cannot resolve the Byzantine Generals Problem, specifically the doublespend problem, the subset of Byzantine fault tolerance BFT.
If I am holding crypto coins in a physical device, for example a paper wallet or an OpenDime, token which contains a private key in it. Lets say I am trying to do a transaction with someone. How does the other person know the coins on that stick are still available, that they havent been spent?
This is a difficult problem to solve. Even if I have a full copy of the blockchain. Lets say I synced my laptop before I went on a trip, and I have the up to last week. I can the Bitcoin address from the paper wallet or stick. I can verify that, at some point in the past, there was bitcoin, But I dont know if that bitcoin has been spent.
A whole week has passed my copy of the Bitcoin blockchain is out of date. I dont have any idea of the current mempool. I cant solve the Byzantine Generals Problem. I could still take a risk, but at that point I cant assure myself.
There are some interesting options.
If someone presented me with an updated copy of the blockchain. with proofofwork, I could then validate up the the latest block issued and have a higher degree of certainty. that the coins have not been spent. Not a hundred percent, because I dont know if there is a transaction currently being propagated, about to in the next block, that spends these coins from underneath my feet. But I do know a bit more if I have the latest copy . understand that participating in the Bitcoin blockchain is a highly asymmetric function.
You need to download gigabytes of data in order to receive the blockchain and. a stream of realtime . But you only need to upload 350 bytes to make a transaction. One of the best most censorshipresistant ways to do that is with a satellite feed. You can scale that very nicely, with a number of receiving stations from a single broadcast satellite, receiving blocks and transactions.
You can transmit your own transactions, which are 350 bytes . You could even use a textmessaging as a gateway that injects it into the Bitcoin network, or low bandwidth transmission system. The first such satellite transmission mechanism was introduced recently . I can envision a situation where you have a fieldcapable kit and pop open a foldable satellite dish, a solar panel, a softwaredefined radio for your laptop, and sync the blockchain from anywhere in the world. Anywhere that satellite coverage exists, of course.p