How have blockchains become more usable starting from the protocol layer and surrounding infrastructure.
To help censorship resistant, immutable, and permissionless blockchains gain wide spread market adoption, a lot of changes have to be made. Every individual layer of the ecosystem needs to become more usable from the base protocol to the end-user interface. These layers must leverage the unique properties of blockchain for meaningful adoption to occur. Because what’s the point of using a censorship resistant blockchain if the interface is censoring?
Today is the first piece in a series of posts detailing blockchain usability for the different blockchain layers (that we have made up completely, mildly modelled after the OSI model). Here we will focus on the base protocol, working our way up in subsequent posts.
The internet follows the OSI model:
a conceptual model that characterizes and standardizes the communication functions of a telecommunication or computing system without regard to its underlying internal structure and technology. Its goal is the interoperability of diverse communication systems with standard protocols. The model partitions a communication system into abstraction layers….A layer serves the layer above it and is served by the layer below it.
The layers exist as an isolation mechanism, one working on the top-most layer should have no concern for what goes on below it, and vice versa; this is complete abstraction. This is a foundational modern developmental practice. In the past the developer of a robotic arm would have to know how each hardware device communicated with the other. But now there are common APIs, so developers do not need to worry about the register format, I2C addresses, etc, allowing for code reuse, quicker development, etc. Albeit at the cost of lower performance, but the develop speed outweighs this by magnitudes. And the same applies to Blockchains.
Careful design decisions at the lower layers of the stack can greatly impact the usability of upper level layers. Without a secure foundation anything on top is shaky at the best. Users can’t trust a protocol if the cryptography is broken :).
Taxonomies can be built in many ways, these layers reflect the current mental model for UX, please reach out for suggestions. For some inspiration: Multicoin’s Web3 Stack, a Vitalik post from back in the day, Web3 Foundation, Evan Schwartz’s 5 Layed Interledger Architecture, Blockchain Application Stack and 7 layers of financial cryptography.
Figures: Blockchain layers of usability
Before we can even determine what makes a blockchain usable, we need to understand the objective of the protocol. If a protocol is intended to be used only for tracking and managing assets for the overnight market for banks then the protocol can be permissioned or federated. Whereas if the protocol is intended for permissionless infrastructure for non fungible assets the requirements for usability is much different (BFT consensus, etc)
People often say how transaction low finality time, high transaction throughput and low transaction costs are essential for any blockchain, but in reality they are independent of usability depending on what the protocol’s goals are. The same goes for consensus rules, a blockchain does not need to be byzantine fault tolerant if the network is permissioned or federated. With this in mind, we’ve been careful to only discuss common usability attributes that can transcend these different design goals.
Starting from the bottom, we can ensure that layers built on top have the ability to inherit the usability features that have been natively integrated into the base protocol. What is built here affects both the developers and end users on top.
What are the steps a protocol designer should take to have the most positive downstream effects on everyone else? And we will admit, these reflect our opinions, and there are arguments for and against each particular feature.
These are some features that also should be integrated into a blockchain protocol to increase its usability. However they can be implemented on several levels, should these be native to the protocol and potentially be part of consensus rules or should they exist on a smart contract layer or even off chain? Some protocols have taken a stance on this, but we will spare you from this debate and instead discuss why these particular features are empowering no matter what part of the stack they live in.
There are some features that protocols inherently need, such as multi-signature (in my opinion, feel free to disagree). However which layer it lives in: base layer or smart contract layer or layer 2, along with the particular implementation greatly changes the user experience and shifts the complexity to different layers and parties. Is there a desire to make the base protocol extremely light weight? Or should it integrate everything? Can we assume that users are okay with an interactive protocol or should we assume that behaviour is undesirable? Is this a feature or a must have? These are some of the basic questions any protocol designer has to ask themselves, they must be cognizant that complexity will always exist. And who should be the ones who interface with the complexity, who should have the responsibility?
For legal de-risking, protocols cannot own the entire ecosystem. If the company developing the protocol runs nearly all nodes, develops all the ancillary components, etc it is hard to not say that the protocol is centralized. And that the company could be held liable for legal action.
Therefore it is essential for there to be outside development, but how to balance their contributions against the vision of the project? It is necessary for a project to have a concrete narrative to ensure that all developments by the community have a guiding light to follow. Then what about the security or trust, is it easier to trust a wallet by the company or by outsiders, what if one is open sourced and other not? These are not easy lines to walk.
Be cognizant of what the design goals of the protocol are when deciding on which usability features to implement per layer.
Special thanks to Kevin Britz (Totient Capital), Martina Long (Primitive Ventures), Dan Elitzer (IDEO CoLab) for their review and / or conversations.