The idea for Offline Bitcoin Sending / Receiving Via Short Messaging Services
The Problem:
We know very well Bitcoin can not be sent without an internet connection. While spending bitcoin from your wallet you need an internet connection via which you broadcast your transaction. This is picked up by the network/miners for further confirmation and is then included in a block forever. The entire process will use your internet connection.
From broadcasting to giving you confirmations, the wallet will keep synching with the blockchain via the internet.
It has been almost ages since we are hearing and read that this is one of Bitcoin's disadvantages as not everyone is blessed with the internet. Or even if we have it, is it possible to send it offline?
The Theory:
A possible solution is around us since the time cellular phones were invented and we got the capability of reaching out across the border via towers, satellites, and much more. This is without an internet connection obviously. In the initial days, humans knew we have broad-spectrum radio frequencies which can transfer sound waves across hundreds of miles in one go. They started building towers for specific distances to cover the range even further. As we advanced, we invented the texting system. In this one data packets with 160 characters (including all alphabets, numbers, and special characters) were possible to send and receive almost instantly.
Slowly, SMS is literally going away since we have the multimedia capability which uses the internet and we chat, call, and video over the internet via different apps.
However, the forgotten SMS could be the potential key to sending our bitcoins across the border, and that too almost instantly.
The Core Concept:
The SMS works on the principle of sending data packets over cellular networks. A packet is sent from the sender's device to the nearby cellular tower. The cellular tower then bumps the packet to SMSC which is Short Message System Center. This center then locates the nearest tower of the "receiver" and thus it transmits the packet to their device and they receive the readable message.
This does not require any sort of internet connection. Pros: If somehow the receiver is not within the reach of the cellular network then SMSC stores the packet and keeps trying to send the SMS until they get it. This means, there is a high probability of reaching the receiver's device.
How we can use this method to Send Bitcoins without the Internet?
A sharing protocol can be integrated within the wallet. Let us say I am having a wallet that isn't connected to the internet at the movement. Since I will be in possession of the private key, then I should be able to generate the offline transaction by signing it.
Since it is not connected anywhere it will be air-gapped. However, I should be able to download the desired transaction in text format so that I can send it via SMS.
The Blockchain Receiver:
This is again one of the biggest air gaps between my text containing the transaction seed and adding it to the blockchain for further confirmation.
This isn't difficult to achieve.
For example, we are flooded with OTP's these days. OTP is a one-time password generated through cell phone communication and sent to users' devices. As soon as a web-based application receives this OTP it verifies the user's data/device etc. [ Continued..]
Broadcasting and Synching the nodes:
In a similar fashion, we can have a Host/mining pool integrated with SMS receiving protocol. This will help the pool/host to keep track of any messages that are getting sent to it. Once it receives the message with valid transaction information, it should be able to download it and add it to the current block for confirmation.
Once the miner confirms the transaction it should be able to send back the information in SMS format to the receiver's device. Once the users' phone receives the SMS, their wallet should be able to read it out and synch the wallet with an updated balance. Moreover, pool/host should also send the same message to the "senders" device thus their wallet will be synched and confirmed as well.
Air-gaps:
- Between the soft wallet and blockchain
- Between the hard wallet and blockchain
- Between the sender and recipient
All of them can be filled with the Short Messaging System without the Internet. This will take technical upgrades on various ends that is wallet, miners, pools, and devices. However, since it is going to be only soft update I believe it's achievable with the devs who have complete knowledge on both sides.
If this is already discussed, then what happened with the idea and what were the challenges other than above mentioned theory?