UPCX Wallet
The basic concept of the UPCX wallet is that anyone can use it easily and intuitively, just like the wallet apps of conventional mobile payment services. UPCX's Named Account feature allows users to create an account as easily as creating a new email address.
Compared to conventional blockchains with their long and meaningless account addresses, sending money can also easily be done based on an easy-to-understand unique character string ID, like one’s name or mail address.
UPCX wallet has some distinctive features to further enhance the user experience.
Mobile payment
The payer scans recipient’s QR code (Push Payment)
In order to make a payment, the payer opens the wallet app, navigates to the “Send” or “Payments” section, and scans the recipient’s QR code with the smartphone’s camera.
The payer presents the QR code to the payee (Pull Payment)
In order to make a payment, the payer opens the wallet app and presents a QR code or barcode to the recipient (=payee). The payee scans the code using the wallet app, UPCX POS app、, or code scanner on the payee’s custom POS system. ※In order to use the custom POS code scanner functionality, the POS has to be connected with UPCX via API in advance.
Tap to pay
Tap to pay is a contactless payment method that allows users to make payments simply by tapping compatible devices with installed UPCX app, such as smartphones, smartwatches, and contactless payment cards, on contactless payment terminals. This functionality is achieved through NFC (Near-Field Communication), which is a technology that is designed to enable data exchange between devices over the short distance of several centimeters.
Tap to pay is widely used for transactions in retail stores, restaurants, public transportation, and various other points of sale due to its speed, security and convenience. UPCX's high processing capacity and almost instant payment completion make Tap to Pay in cryptocurrency payments more practical.
Additionally, UPCX allows payments to be made even when the payer's and recipient's devices are not connected to the internet.
Offline Payment
UPCX Offline Payment is a feature that allows users to make payments even when their device and UPCX wallet is not connected to the internet.
In modern society, payments are an essential daily activity, with each person making a considerable number of transactions every day.
However, in our increasingly digitalized society, there are situations where payments cannot be made due to power outages or system failures. Additionally, there are areas with weak or unreliable internet reception, such as remote tourist locations.
UPCX Offline Payments enable payments even under these unfavorable circumstances.
For offline payments, the information about the payment is stored as pending transaction data in both the payer's as well as the recipient’s UPCX wallet and is not directly reflected to the UPCX blockchain. As soon as one of the two devices comes online, all pending transactions are sent to the UPCX blockchain, are verified, and then processed as normal transactions. This eliminates their pending status.
There is however a big challenge for such offline payments, which is how to prevent malicious use.
Let’s say for example that a user with bad intentions uses the offline payment function to make a payment to another user (both users are not connected to the internet). In this case, when the user with bad intentions accesses his/her wallet from a different online device before one of the two devices that were involved in the offline payment goes online, he/she could theoretically transfer the already pending assets to another wallet. In this case, the user with bad intentions could invalidate the offline payment transaction, receiving a product or a service without actually paying for it.
To prevent such malicious acts, UPCX has designed special offline payment wallets that cannot be brought online or accessed from online sources.
Wallets capable of performing offline payments are generated as child wallet to a parent UPCX wallet, having a UPCX address and public key but no private key. Only one child wallet can be created from one parent wallet.
In the unlikely event that the offline payment wallet is lost due to user error, the user can recover the child wallet via the parent wallet.
Messenger
UPCX provides a messaging feature that allows users to send messages to each other. Messages are registered on the UPCX blockchain as a special type of transaction.
By effectively building a messaging function on a blockchain made up of countless decentralized nodes, it becomes possible to provide a free and reliable communication tool to many people.
There are two important challenges to achieving a messaging functionality on blockchain.
- Message content security
- DDoS attacks (especially in case that transaction fees are waived)
Security of message content
In blockchains, typically all transactions are public. As a result, third parties could theoretically access even the content of private messages. UPCX solves this problem by issuing message specific key pairs to users. When a message is sent, the content of the message is encrypted with this special private key that is just known by the two corresponding parties in a transaction. The transaction can only be decrypted with this special key and its content can therefore not be viewed by third parties.
Countermeasures against DDoS attacks
In order to process large numbers of messages as transactions, transaction fees must be waived. Malicious users can exploit this to launch a DDoS attack that sends countless messages to UPCX, which could congest the blockchain.
As a solution to this, UPCX limits the number of free messages a user can send to 2 messages per second, charging a transaction fee for additional ones.
If a user attempts to send more than 2 messages per second, a transaction fee will be charged for the third message. Although the per-message fee is very small, attackers would end up paying disproportionately large fees to deliver millions of messages needed for a successful DDoS attack.