Web3 Design Principle: Transactions
Blockchain technology enables all transactions to be recorded in a decentralized ledger which anyone can view at any time. In this way, the entire transaction process can be transparent and open to everyone. For example, this is a major advantage of blockchain technology over traditional banking systems, which require an intermediary or third party for confirmation and supervision of each transaction.
In the first web3 design principle article, we discussed the core principles of data transparency. Now, we will discuss the four principles for web3 transactions which are Permanence, Value, Privacy, and Factory.
Actions must be clarified as it's important for the user to know that certain actions can't be undone once confirmed. The best practice should be to feedforward users prior to launching the transaction request onto the wallet.
Feedforward is a strategy used to alert users before they do an action in order to avert unpleasant surprises and offer them further information. For example, when we want to send money, we often receive a message informing us that "this amount will be deducted from your account", or when we want to make purchases online, we receive a message saying "these items will be added to your cart". This type of notification helps us understand how much money we are going to lose or how many products we are going to buy.
Before sending a transaction request to the wallet, for instance, dApps would alert users with a warning. This is due to the fact that they are created to be irreversible. And this may be accomplished by using colors, fonts, and visual layouts that effectively communicate warning indications to the user.
Another option would be to create a double confirmation layout or to add extra stages throughout the user experience, particularly when it comes to performing bigger transactions, which raise the potential risks if they are not carefully designed and created.
The first step in understanding the value of a transaction is to clarify actions when monetary value is involved. This includes anything from gas fees to transaction fees to total fees.
It is vital that these variables be clearly stated along with any relevant disclaimers so that customers understand exactly what they are paying for and why.
The following are examples of how you might clarify the action:
- "We charge a 5% fee for all transactions."
- "Transactions are subject to a 1% fee."
- "You will pay a 1% fee on all purchases.”
When designing a dApp, it is important to think about the privacy of your users.
The first step is to consider the user data that will be collected. You should only gather the least amount of data required for the effective function of your application. Any possible writing data may be used to identify the user, thus unless absolutely required for your application, avoid storing identifying information about your users such as their name or email address.
Additionally, you should always get permission before collecting a user's personal information unless they expressly accept by clicking an opt-in button or checking a box inside the app. Don’t forget to identify and clearly communicate what type of data you are storing on-chain (and off-chain).
Data privacy may also be related to data transparency, which we discuss in depth in our first design principle article.
This principle applies to any dApp that lets the user create new contracts in their own name, but is especially relevant for message creation. Message creation is essential for communication between dApps, and the contract factory must clarify actions that generate new contracts in the user's name.
Even if your application is beneficial and solves an issue that people have, it might not be as successful if it is difficult to use or comprehend.
To design effective dApps and to make sure that users can remain secure yet in control, it is important to concentrate on these four key elements. If the process can be made clear, then this will reduce concerns about privacy, making users confident enough to start using and identifying with blockchain technology.