Inspiration
The BIS Innovation Hub is known for releasing multiple papers related to the implementation and interest around CBDCs, both wholesale and retail. Their latest paper "Lessons learnt on CBDCs" highlights cyber security as "(...) the greatest challenge" on the successful implementation of an CBDC. This conclusion is easy to agree with, as securing any solution around cryptographic keys is hard due to the multiple attack vectors possible and the amount of online interaction needed to execute blockchain transactions.
However, what if we could isolate as much as possible our cryptographic keys? What if we could ensure there was simply no possible way a private key could ever exist outside of a secure, protected, and controlled environment?
Introduction
Eiskalt Wallet is the first cold-wallet implementation for the XPRL ledger able to be used from the comfort of a user's phone. By using a series of Web APIs, we can provide users with an isolated wallet that is unable to be accessed outside of the phone, yet can be paired with a commercial bank tool suite to provide a great user experience for day-to-day operations for a basic retail CBDCs implementation.
Architecture
At its core, Eiskalt uses the Web Cryptography API, the Web Navigator Online API, the Web IndexDB API, QR codes and other server-side technologies to create a vault-like wallet on a phone. The wallet works as a PWA that lives in the user's devices, and can only be used offline (i.e., when the user has no internet enable). The wallet is able then to read payload generated by a companion wallet in a desktop using a QR Code reader, and then share it to a bank teller or online application by showing the phone.
Challenges
Eiskalt relies on the security of a mobile device and the safe exchange of information between user's multiple devices. It requires the user to have a functioning camera, and another computer with the requested payload to sign. The workflow might be slower compared to a traditional "hot" wallet.
Built With
- chakra-ui
- nextjs
- typescript
- xrpls.js

Log in or sign up for Devpost to join the conversation.