in

Evaluate the ease of use of blockchain projects from functional, economic and technical

With the rapid prevalence of blockchain technology, everyone is still discussing technical topics related to network scalability-such as transaction volume per second, transaction latency, and throughput.

However, in order to better build the consumer experience, developers must break out of the shackles of system performance indicators and consider the human factor more: ease of use. Ease of use means whether the system can be easily used, whether it is a professional cryptocurrency developer or a new user. And good ease of use is also a key factor that can truly popularize the blockchain. Only those early projects dedicated to ease of use design can win the favor of the public for a long time.

Ease of use is more difficult to quantify than scalability. This article provides a system framework that enables organizations and individuals to reliably measure and evaluate the ease of use of blockchain projects.

Don’t always stare at scalability

For a long time, people have been talking about scalability, thinking that it is a necessary prerequisite for large-scale applications. We all know that in 2017, Dapper Labs created CryptoKitties, which introduced the first non-fungible token (NFT) standard, ERC-721. Although CryptoKitties heralded the huge potential that consumer-grade blockchain applications brought to the entire industry, it also gave a blow to the technical limitations of Ethereum at the time.

And the biggest argument quickly turned into scalability – how can Ethereum and other blockchains accommodate more and more users without clogging and being less expensive?

Scalability issues eventually led to the emergence of young first-tier networks like Flow, Solana , Avalanche, and WAX, as well as the emergence of second-tier networks or sidechain solutions like zkSync, Optimism or Polygon . (Note: The author comes from Dapper Labs, the inventor of Flow.) And Ethereum itself is focusing on higher scalability using sharding and various upgrades.

But the fact that blockchain can be really popularized is not just a question of scalability. Next, we will share the lessons learned from the construction of CryptoKitties and Flow, and share a framework to help builders focus on ease of use-it’s not about the protocol or the application itself.

Why & who should care about ease of use

Accessibility describes the ability of a blockchain network to be used by the public in a frictionless manner. The easier it is for users to participate in the application, protocol or ecosystem of a project, the higher the ease of use of the blockchain. Ease of use is not only for end users, but also for developers, creators, product owners, and other parties interacting with the network.

Who should consider ease of use? Those developers, architects, and executives who build and manage blockchain applications should conduct ease-of-use analysis when choosing a blockchain. And anyone who uses the existing services of the blockchain ecosystem—including creators, artists, and intellectual property holders—should consider the ease of use of a particular project, as this will determine the size and size of the existing audience on the network. Features.

These two groups should not just play digital games, but need to face the question: What does the culture of the ecosystem look like? What type of people are building here? What are the digital goods provided by the project built on it? How does the economy develop on it? And the most important thing is: is all this easy to use for the public?

These issues should be viewed from the perspective of (1) function, (2) economy, and (3) technology , which also leads to the framework we propose here, including the concerns of any cryptocurrency builder who aspires to become mainstream. (Click to expand the chart and continue reading)

1637749357440602

Functional ease of use-can you use it?

Functional ease of use (also known as usability) describes the ability of the blockchain and its ecosystem to provide simple guidance and a good user experience, so that the way users interact with protocols or applications can be simple and efficient. This is an important start for any assessment.

■ Use guide

Each user’s journey starts with the use of guidance: the first stage of user interaction, including account establishment and recharge, until the first online transaction. This stage should be as frictionless as possible, requiring only a limited number of steps, and preferably without technical barriers.

However, the guidance that requires users to perform complicated procedures in some services that have not yet been integrated shows that the ease of use is poor. For example, a common situation is: the user registers an application, downloads a browser plug-in wallet , writes a 12-word mnemonic phrase, visits an external exchange to purchase cryptocurrency, waits for the exchange to perform KYC, and then returns to the application Perform a re-authentication so that you can proceed with the actual operation you want to do, such as exchanging tokens or buying NFT-at least six steps spanning three different services are involved.

On the contrary, there are some well-integrated and streamlined processes that extract most of the complexity from the user in order to obtain an extremely easy-to-use experience. For example, users can register applications and wallets at the same time, and payment platform providers integrated through iFrame do not need to visit external exchanges to fund accounts.

There are a variety of applications and services between these two extremes, which partially include these processes, such as not relying on browser plug-in wallets (eliminating the need for a separate download process) or integrating legal currency into some parts The payment channel of cryptocurrency.

Some applications can manage their private keys on behalf of their users. Although this custodian structure can reduce friction during the onboarding process by eliminating the need for external wallets, it comes at the cost of higher technical complexity and legal requirements. These effects are beyond the scope of this article-teams that choose a hosting architecture should thoroughly study the trade-offs of this model.

A good starting point for usability analysis is to determine the three most common guiding routes for a particular blockchain, recreate these scenarios from the user’s perspective, and collect the steps taken into a separate file. Because a single protocol usually has multiple hands-on experiences, depending on the specific application or wallet selected by the user, this process should cover all common scenarios and user types.

■ Wallet

The usage guide covers the initial interaction between the user and the agreement. For daily use, the signing and submission of user transactions is very important. For this reason, wallets available on a given blockchain (required for such exchanges) become an important part of ease of use analysis.

Any blockchain transaction needs to be verified by a given user with a digital signature-this can prevent unauthorized actions by malicious actors. In order to create this signature, the user’s private key is required. Since private keys play this extremely important role, they cannot (or should not) be stored only in our memory, they need to be stored in a safe and convenient way. This is exactly what the blockchain wallet provides, and it also often provides an access point for sending transactions to the network.

In order to achieve functional ease of use, the signature of user transactions must be easily implemented through the wallet of a given blockchain. If users have to download an external plug-in or manually set the parameters of how much they are willing to pay for a certain transaction, then every subsequent transaction will involve more friction. This shows that using this framework to analyze ease of use is relevant and extensive. Only such a holistic approach can take into account the user experience of the wallets available on the specified chain.

For maximum ease of use, the wallet must not only be easy to use, but also be widely accepted in various applications in the project’s ecosystem. If users need to set up multiple wallets from multiple vendors to access different applications, the level of ease of use will be greatly reduced. For example, if an NFT market does not support the wallet that users use when trading tokens on a decentralized exchange, the user basically needs to re-do the computer program for another wallet and keep track of this account in the future.

This problem is directly related to the development of the application. In most cases, developers need to add vendor-specific code to their applications to support a new wallet. This introduces technical overhead and hinders the integration and availability of multiple wallet providers in the application.

■ Entry and exit channels for fiat currency payments

Although a certain percentage of users will trade almost entirely within the cryptocurrency ecosystem, mass adoption will require traditional users of non-cryptocurrencies to be able to easily transfer cryptocurrency revenue to more familiar currencies. Then, the ease of use also includes the convenience of the end user to deposit or withdraw value from the network. The entry and exit channel of fiat currency payment is very important to this, allowing users to use credit cards or other convenient payment methods to purchase a certain amount of cryptocurrency directly with fiat currency. Although external exchanges can of course be used for this purpose, specialized integrated services ensure that users do not have to leave a given application to perform payment operations, which greatly increases the overall ease of use.

A starting point for this part of the analysis is to be able to roughly screen the online status of network tokens on major central exchanges. In doing so, you may want to include a list of stablecoins on a given network . The next step is to systematically check whether the main wallets of the ecosystem have integrated these currency payment tools, because some user-friendly wallets have integrated these functions. For example, the multi-chain wallet Blocto relies on the payment provider Moonpay to allow users to directly use simple payment methods such as credit cards in their wallets to recharge their cryptocurrency.

Finally, you can check the fiat currency payment options of some of the most commonly used web applications, and pay attention to the providers that provide the services. This comprehensive analysis will paint a detailed picture of how easy it is for the end user to obtain the value stream in and out of the network.

Combining all these features and ease of use elements, these are the main questions developers should ask when deciding which blockchain to build on:

  • How many steps are involved in using the guide on average? How much knowledge or technical background is required to complete them?
  • How many steps does a user need to sign a transaction, and how much knowledge or technical background is required to complete them?
  • Are the integration of wallets seamlessly connected to the user experience, and are they universally applicable to various applications?
  • How many steps do users need to transfer legal currency on the chain? Is there a channel for payment in fiat currency? How are the native tokens of the blockchain and the project’s stablecoins going online on centralized exchanges?

Economical ease of use-can you afford it?

Economic ease of use is based on the universal affordability of the agreement and the digital products built on it.

■ Transaction costs

Blockchain is a public resource, and transaction fees can prevent excessive use of the network’s capabilities and help avoid the tragedy of the commons. They can also protect the underlying network from spam in the form of denial of service (DoS) attacks.

Transaction fees can be fixed – for example, a form of packaging fee needs to be provided when submitting a transaction – or they can be dynamic, increasing with the complexity of a particular request. Most popular blockchain protocols use one of these fee types, or a combination of them.

Transaction costs are where functionality and economic ease of use overlap. In daily use, transaction fees must be low enough so that everyone can participate, but high enough to ensure network stability. In addition, the predictability of these costs also plays a very high role. If transaction fees have high unforeseen volatility, this will prevent users with poor equipment from sending transactions to the network. Therefore, any ease-of-use analysis needs to consider not only the average transaction price, but also their decision mechanism on a daily basis.

On Ethereum, transaction fees are expressed in a special unit called gas in order to decouple the fees from the price fluctuations of the underlying token (Ether). For each transaction, the user must include two specifications: gas limit, which describes the maximum amount of gas that the user is willing to spend; and gas price, which indicates the price that the user is willing to pay for a unit of gas.

The gas limit must be selected based on the computational complexity of the request. For a simple ether transaction, the value is 21,000 gas units, or about $6 at the current gas price (as of October 2021). If the gas limit is not set enough, the transaction will run out of gas and be returned.

Gas price can be freely chosen. However, since network validators choose the transactions they want to include in the next block, higher gas prices will mostly result in faster execution speeds. This process is essentially similar to auctions, users bid for their transactions to be included in the next block, and some websites such as EthGasStation have developed to the goal of transaction pricing.

There are several problems with this transaction fee model.

  • When demand is strong, the auction scheme may cause transaction fees to skyrocket; for example, there was a time when a simple token transfer was equivalent to a gas fee of about $50 on Ethereum.
  • Because the gas price fluctuates rapidly, it is not easy to correctly price the transaction fees. Although the recently adopted EIP-1559 pricing mechanism and some user-friendly wallets may circumvent some of these problems, the high transaction costs of the complex mechanism will hinder the general ease of use of the project.

Since one-tier blockchain networks and two-tier solutions generally provide higher throughput, transaction costs (mostly) are significantly reduced. This is why these solutions generally have higher ease of use. However, application architects must closely identify the trade-offs, because in some cases, faster throughput comes at the cost of reduced decentralization.

■ Application layer products

In addition to transaction fees, economic ease of use also involves the products provided by the application layer of the blockchain project. A prime example is the floor price index of NFT collections in a certain ecosystem. The floor price is similar to the lowest price of a collectible. This indicator is often used with the total quantity (that is, the sum of the prices of all collectibles) to analyze the valuation of a collectible.

The high floor price actually builds a high-cold ecosystem that only the rich can enter, which hinders the construction of real communities, thereby reducing the opportunities for widespread application in the future. Although huge transaction volume is definitely good for blockchain, people always have to look far and see what the numbers mean: if huge transaction volume is mostly accompanied by high floor prices, then it is possible Only a few wealthy users promote the economic activities of the ecosystem.

Some people may discuss the concept of a fragmented NFT, that is, the ownership of the NFT is divided among many owners. This concept will also circumvent the above-mentioned problems in the long term. However, this comes at the cost of engineering costs, increased user complexity, and lack of legal clarity.

■ Running node

Finally, economic accessibility is also a concern for node operators (verifiers who maintain and verify blockchains). Only when the operation of network nodes is feasible in terms of hardware requirements and minimum deposit amount (for networks that use proof of equity), will there be a sufficient number of verifiers to be incentivized to participate in the network, and only in this way can it ensure its decentralization And completeness.

Both Bitcoin and Ethereum are networks with a large number of node operators, which shows the good level of reliability and security of the protocol. However, the analysis of ease of use must take a more differentiated view. For example, the requirements for running a Bitcoin node are quite low, but a large number of blocks are mined by mining pools with professional equipment rather than by individual miners, which makes running your own Bitcoin node impractical and not easy to use. sex.

Although the design of Ethereum has largely prevented the use of professional equipment, mining still occurs in centralized mining pools, and the hardware requirements are significantly higher than that of Bitcoin. Since Ethereum stores much more data than Bitcoin, it takes significantly longer for a new node to catch up with this amount of data-today, it takes about 17 hours to build a complete Ethereum node. Since time and hardware resources are costly, these factors reduce the economic ease of use of these protocols for node operators.

When looking for alternatives, people should also pay close attention to other non-technical factors of node operators. For example, if a network plans to have permanent rules and regulations on who is eligible to be a node operator, which makes it impossible for operators who do not meet these standards to obtain an agreement, this may be an indicator of a low degree of network decentralization.

Key issues of economic analysis:

  • How high are the average transaction fees, and can users predict them in advance?
  • What is the floor price of the popular products provided by the application layer of the project in the primary and secondary markets?
  • Who is the main driver behind the overall transaction volume of the agreement? Are there only a few large entities, or are there a large number of transactions of lower value? How high are the hardware requirements and minimum pledge balance requirements for node operators?

Technical ease of use-can you build applications on top of it?

Technical ease of use describes how easy it is for developers to build applications on a given chain. This concept is also called developer engineering.

■ Programming concept

Whether a team can quickly produce a product that supports the blockchain depends largely on the technical ease of use of the project. The first thing to check is general programming concepts. Only when they can be understood quickly and reasonably, can developers get started with them and start building quickly. The ideal situation is that the programming paradigm is rooted in the existing technology so that developers can get on their jobs smoothly.

A good starting point is to analyze the main client implementation of the blockchain. The blockchain client is the implementation of the protocol in a specific language, or simply put, the actual program run by the node administrator to power the blockchain. Some blockchains may have more implementation methods, and this is generally a good performance of ease of use; however, more importantly, the most commonly used client-side development language. To ensure that this is a widely known, used, and maintained language, it can be assumed that a considerable number of developers already have knowledge, such as C++, Golang, Rust, or Python. This will ensure the possibility of continuous development and maintenance of these clients.

The next important consideration is the smart contract programming language. Some blockchains such as Solana use existing languages ​​(Rust and C++), while other networks such as Ethereum (Solidity) or Flow (Cadence) have created their own languages. Of course, the use of a mature language can be convenient for those experienced programmers; however, for novices, this may be at the cost of learning all the details of the entire general programming language, which is for low-level languages ​​like C++ Said is especially time-consuming. Here, it may be easier to learn a new lightweight language, which is designed with smart contract programming in mind.

In the case of a new programming language, analyze whether there are well-known and established programming concepts and paradigms in the language. For example, Solidity was largely inspired by JavaScript and Java, while Cadence borrowed many concepts from Swift and Rust.

In addition, consider what abstract concepts a language provides to its developers. Just like the underlying protocol, a language should abstract as much complexity from developers as possible without sacrificing security or customizability. For example, Cadence uses a novel resource data model to automatically specify rules for the processing of digital values, while Solidity requires manual implementation of these low-level checks.

Finally, ensure that all these aspects have complete learning materials, documents and reference samples and are easily accessible. Evaluating the ease of use of programming concepts is to consider the subtleties and trade-offs implied by technical details.

■ Tools

A good toolkit is the most important thing for developers, so that applications can be built quickly, safely, and easily. If there are often problems that cannot be solved by special tools, this indicates that the level of technical ease of use is poor, because developers must deal with these problems themselves.

The software development kit (SDK) can be said to be the most important of these tools. SDK provides a language-specific abstraction layer for the underlying process of the protocol; they simplify interactions such as authentication, query and update status, and event monitoring. Check whether there is an SDK applicable to all popular programming languages, which shows that the project is technically easy to use.

In addition to the SDK, there are many tools that can greatly simplify the guidance of developers and the daily development process. Check for the existence of text editor (IDE) extensions, testing frameworks, and other automation, deployment, and debugging tools that make developing applications on a given blockchain easier, faster, and ultimately more accessible.

Key issues of technical analysis:

  • Is the programming concept of the project easy to learn? Can they achieve fast, safe and efficient development?
  • Are there enough learning materials and reference codes? Does it also cover higher-level concepts such as best practices and patterns?
  • For the most common questions, are there developer tools? Are these tools and the source code of the main project open source?

In addition to the above factors, there are other considerations, including some less obvious signs of ease of use in terms of concepts, such as the general audience’s understanding of the general concept of a given blockchain project. If users can quickly enter the space without having to acquire considerable new knowledge first, the ease of use will be improved. In this regard, the existence of educational materials for end users and accessible language that avoids technical jargon and jargon is very beneficial, but it may be difficult to analyze in a broad ecosystem.

In any case, the ease of use of the blockchain is not a good thing that can be added later, but needs to be rooted in the DNA of the project. Especially for technical ease of use, it must be taken into consideration when sketching the inner workings of the agreement at the beginning.

What do you think?

0 points
Upvote Downvote

US hedge fund Coatue is betting on NFT and Metaverse

Gavin Wood: How to face critics of blockchain technology?