Inspiration

Back in 2013 we have developed the first offline payment solution for Bitcoin called OtherCoin . While it was ahead of its time, the reasons for its development were similar to those of the later WhisperCash - most digital payment solutions stop working when the Internet goes down. CBDCs are vital parts of a country's infrastructure and must not fail when natural disasters happen. Also, developing nations may have weak or non-existent Internet infrastructure and low smartphone penetration to begin with, ruling out online smartphone-based solutions.

Finally, in many jurisdictions, cash is still the payment instrument of choice due to its private nature and ease of use. Central Banks would face an uphill adoption battle if a similarly private and easy to use solution was not offered in digital format, balancing privacy with AML/KYC regulations.

What it does

WhisperCash allows payments to be sent and received offline, person to person, between secure wallets ranging from cheap feature phones or cards to high end smartphones. Value is transferred by relaying a 3-10 digit numeric code from payer to payee. The code is generated by secure hardware inside the wallet and is unique per transaction.

We offer a variety of form factors for the tamper-resistant secure hardware that guarantees the correct operation of the system and prevents double spending and counterfeiting:

WhisperCash Pro

WhisperCash Pro - an advanced battery powered contactless smartcard containing an E Ink screen and a capacitive keyboard

WhisperCash Basic

WhisperCash Basic - an electronic sticker that attaches to any GSM SIM card. It works on any mobile phone manufactured after 1999 and uses the screen and keyboard of the phone for input and output.

WhisperCash Lite

WhisperCash Lite - a contactless (NFC) keyring tag that can be tapped to contactless readers in shops or to the user’s own NFC capable phone for balance verification or top-up

How we built it

For the Ripple CBDC Innovate hackathon, to showcase the flexibility of our solution, we have developed a smartphone (Android) wallet application to display a rich UI to a WhisperCash Basic secure chip installed in the phone.

For Phase 2 we have deployed an ERC20 token contract on the XRPL DevNet EVM sidechain as well as our escrow smart contract that acts as a bridge between the online tokens and the offline currency, for both deposits and withdrawals.

To bridge the gap between the smart contract and the secure WhisperCash Basic chips, we chose to develop an oracle running inside an isolated computing environment powered by AWS Nitro Enclaves. We have modified our oracle code to interface with the EVM sidechain RPC endpoints. Due to the lack of a "light node" functionality in the EVM sidechain, we have modified our oracle to talk directly to the public RPC endpoints instead of running a light validator inside the secure enclave as we previously did on Ethereum. The oracle monitors deposits to the CBDC ERC20 contract and emits a cryptographically signed confirmation to the user's wallet to acknowledge the deposit. For a future release, we plan to use the XRPL Proof of Payment Standard (XPOP) to parse validator-signed proofs of payment inside the secure element and confirm the deposits without the need for an oracle.

Challenges we ran into

In Phase 1 of the hackathon, we had estimated that a direct XPOP implementation inside secure hardware would be impossible, but upon further research for Phase 2 that appears to not be the case. Even though it may take a few seconds for the conversion to be performed, Proofs of Payment could be parsed and validated inside the WhisperCash Basic chip. Our main goal was to minimize the amount of data being exchanged for offline transactions. Given that XPOP parsing would require significant development effort, the oracle solution is a stop-gap measure. While not fully decentralized, it allowed us to bridge the XRPL and secure hardware worlds.

To further enhance privacy, we chose to design our escrow smart contract (in Solidity) in such a way that deposits to it can be anonymous. Users do not have to reveal their offline identities when depositing money into the escrow/bridge for conversion to offline. An ephemeral identity is used and matched against the oracle response to confirm the transaction actually took place.

Accomplishments that we're proud of

We showed that a small and inexpensive hardware mod (a $10 SIM sticker on the SIM card) allows any mobile phone to become a secure offline wallet, with strong guarantees against counterfeiting and double spending. One that can work offline indefinitely and protects the user privacy but can connect to the online world when connectivity is available (and with the explicit approval from the user). We also demonstrated that the short 3-10 digit payment codes we generate can be sent and received over expensive satellite connections that are becoming increasingly available for smartphones (Garmin, Bullitt, etc). While these do not qualify as offline, the ability to transfer any value across the world within seconds by simply texting 10 digits to another person directly via satellite is a breakthrough in our opinion.

What we learned

We found our experience with the Ethereum network directly applicable to the EVM sidechain of XRPL. For Phase 1 our prototype smart contracts had been deployed on an Ethereum testnet, for Phase 2 we have successfully deployed on the EVM SideChain with minimal (cosmetic) changes. We have learned more about the XRPL and the XPOP proofs of payment and now feel quite confident with the ability to create a future WhisperCash CBDC solution that operates directly onto the ledger without the need for a centralized oracle.

What's next for WhisperCash

We are working on applying the knowledge from this hackathon to launch a cryptocurrency version of WhisperCash for use on EVM-compatible blockchains, to allow offline payments using stablecoins or the native currency of those blockchains. If and when an online CBDC is launched on the XRP Ledger or one compatible with it, we can add an offline layer to that within days, either as an official sanctioned Offline CBDC or simply as a commercial offering of one of the banks or authorized financial institutions in the country for their clients.

A potential collaboration with Mandla Money is on the roadmap too, if the interest is mutual. WhisperCash can help them add completely P2P offline payments while benefiting from their XRPL-based infrastructure to create the deposits and execute withdrawals from feature phones. Our recent submission to the Reserve Bank of India's Harbinger 2023 hackathon shows some of the potential interactions between feature phones and smartphones in an offline environment.

Share this project:

Updates