Thinking in primitives — 1

Aravind Sriraman
Hypto
Published in
6 min readNov 1, 2021

--

We have been posting multiple stories about primitives in finance prior to this. In today’s story, we break down what it means to think in terms of primitives, why it matters and how that has the potential to rewire the world.

What is a primitive?
Let me start by defining what primitive means in the computing world —
1. In computer science, primitive data type is either of the following

  • a basic type is a data type provided by a programming language as a basic building block. Most languages allow more complicated composite types to be recursively constructed starting from basic types.
  • a built-in type is a data type for which the programming language provides built-in support.

2. Primitives may also refer to the smallest processing unit accessible by a programmer.

3. Primitives are used to create more complex pieces of code.

Sometimes, we hear the terms ‘Lego’ or building blocks being used to describe such components. This is not a right comparison since the blocks by itself does not account for all types of primitives. A Lego block does not talk to other types of building blocks for example and is not extensible or be used to create custom versions of a block itself. In the context of creating a building, the primitives are multiple types of foundational components that have the potential to create any different type of building that one might imagine. In essence, a builder is only bound by the limits of her imagination and not by the availability of the underlying components when one thinks in terms of primitives.

‘Primitives’ also does not mean that they cannot be broken down further. A primitive is not one when breaking it down further adds no significant value or additional use cases to the layers above it. Just to give a simplified example, in the field of human biology, ‘a cell’ would be considered primitive. In organic chemistry, ‘a molecule’ would be considered primitive. In physics, which is the most basic of sciences of these 3, the true primitives are yet to be found. However, we know that a cell or a molecule can be broken down further into multiple components but those won’t be considered primitives in their respective fields in the purest of terms because of the above reason — breaking them down further adds no value to layers above the primitive.

Summarizing the above — in Hypto’s vision, a primitive is a foundational component (not a derived one) that can be operated & orchestrated upon to solve a huge number of use cases without having to change the component itself.

Why does it matter to think in primitives?
We will start by quoting Angela Strange from A16Z —(original link below the image)

https://future.a16z.com/open-source-financial-services/

Excerpts from our internal vision doc written 2 weeks prior to the above blog on 1st Oct 2021:

Let me also talk about situations where thinking in primitives would probably not work out well —

When you know the exact nature of problem you are solving and are able to understand the customer persona completely with a concrete set of features that can solve the problem, thinking in primitives would only lead to a substantial amount of wasted effort without any returns. If you have a validated business problem with a defined solution, you should go ahead and build the MVP of that solution without worrying about breaking down the solution into foundational components.

A 2nd situation would be where you break down the problem into primitives following one trail of thought but it ended up being the incorrect path to the source primitive. Or you stopped at a level which could be broken down further. These would result in either badly designed primitives (thus defeating its purpose) or incorrect ones which are hard to identify and course correct.

Another situation would be when you over engineer what a primitive is supposed to do into abstractions that no one understands how to implement.

So, thinking in primitives is not always the rosy picture that say an ‘AWS’ could paint it out to be. It also requires a huge amount of evangelism and built in solutioning that helps the initial set of developers understand the potential of the primitives before they start getting creative using them.

We have 100% conviction that finance needs to be broken down into its primitives — when was the last time you saw a new financial product getting created? We can guarantee that you are not going to say anything less than a decade here. The bottleneck is purely in terms of the underlying technology infrastructure or rather the lack of it.

How do you solve this problem? By breaking down what finance means into primitives so that builders (developers) can iterate fast and build (create) new financial products with extreme agility without having to spend years creating a new financial product. We do think that the decentralized eco-system has gotten some parts of this right and would be building an infrastructure that leverages the best of the both worlds and helps you solve for any new financial use case.

How is Hypto rewiring the world?
We believe developers are going to revolutionize finance in this decade. While banking and finance have come a long way in terms of tech adoption, we still think they lag behind the mainstream adoption by a good many years. Fintech companies have helped address some of those gaps by creating a modern wrapper around legacy stacks to at least provide a much better presentation layer (primarily around UI).

https://www.forbes.com/sites/matthewharris/2021/10/22/a-complete-revolution/

When you look at the evolution of fintech, the 1st version was putting the physical bank branches online — a simple analog to digital movement. This is almost at the end of its path and we are currently well into the 2.0 version. High frictional costs led to standardized financial products that are being consumed on applications that customers already use rather than being standalone products themselves.

The next era is where the trustless movement is starting and all the operations that are being handled manually move eventually to code on a public ledger with a distributed consensus mechanism. However, for this version to start its exponential growth story, we need corresponding interfaces that help solve many other problems such as identity, disputes, frauds which operate in a completely centralized manner today.

These interfaces necessarily have to be a bridge between 2 worlds that can only be connected if they speak the same languages (protocols) or primitives as we see it.

In a fully liquid world, where capital comes from billions of individuals, businesses, and institutions, intermediated by hundreds of allocation protocols, people will no longer have liquidity problems. All assets and future cash flow streams can be evaluated and the value time-shifted to them instantly, 24/7.

What the above statement means is that liquidity becomes a stream and not a siloed data point. In essence, you need to be able to build the right infrastructure that powers this stream in a distributed manner to get to the atomization of liquidity. And, that is how we are building the primitives — as an atomic unit of liquidity (I know it might be a little complex jargon at this point but we will have a sandbox out in the next 6–8 weeks for you to start playing around with and understand what we mean by atomic unit of liquidity).

The transformation of the world from an analog, standardized, centralized one to a digital, embedded and decentralized one underpinned by the atomization of liquidity would move the world from one of friction and scarcity to that of automation and abundance. We, at Hypto, are at the forefront pushing the boundaries of what is possible through our ‘Thinking in Primitives’ and rewiring how the world works at its core.

If that does not excite you to write to bestdaysofyourlife@hypto.in , well 😉

--

--

Aravind Sriraman
Hypto
Editor for

Co-founder, Hypto | Dad | Utd+CSK fan | Tamil meme user