Basics

Portrait allows anyone to create, host, and interact with micro-websites—called Portraits—easily and securely on any device, helping you share meaningful experiences and build deeper, authentic connections with the people you care about.


On this page

Why we built Portrait

Understanding how Portrait is different from traditional social media

Design choices

How we designed Portrait to be user-friendly and intuitive

Hosting

What is hosting and why it's important

Why we built Portrait

Identity is a fundamental aspect of human nature. It shapes how we interact with the world and the people around us. Expressing your identity online is no different. Having a space where you can share your thoughts, experiences, and interests is essential for building meaningful connections with others.

But identity is also fragile. It can be manipulated, stolen, or erased. Traditional social media platforms often exploit our identities for profit, leaving us vulnerable to privacy breaches, data leaks, and manipulation.

Portrait was created to provide a safe, secure, and private space for you to express your identity online.

We already have the tools to empower us to take control of our digital identities. However, these tools are often complex, intimidating, and inaccessible to the average user.

Portrait was created to simplify web3 (opens in a new tab) for everyone, cutting through the complexity and jargon that often push people away. Many web3 apps present themselves as decentralized; however, they often overlook the user experience, leading to confusion and frustration among users. (Here's why we believe that)

Portrait prioritizes intuitive, user-friendly design to ensure that everyone, not just web3 enthusiasts, can enjoy the benefits of this technology. With Portrait, what you see is what you get—an honest, straightforward approach to web3 that’s approachable and relatable.

Portrait wins when you confidently recommend it to your friends and family, not just your crypto-savvy friends.


Design choices

1. Filtering out the noise

You visit a Portrait with a specific intent, accessing only the links and information directly provided by the creator of that Portrait, without the noise of low-quality content or spam as a result of speculative financial incentives, content farming or algorithmic doomscrolling.

As a result, your Portrait, while inherently social and connected, functions as a silo. This means you have the choice to connect with others or not, effectively filtering out unwanted noise and enhancing content relevance. It makes it easier to focus on what matters most to you.

2. No network-effect required

As a side-effect of Portrait functioning as a silo, no network-effect is required to make your Portrait useful: it is your personal space to share what matters most to you. You decide where and how you share your Portrait.

You can piggyback on the network-effect of other social media platforms by sharing your Portrait there, as a link in your bio, a tweet, or a post: visiting a Portrait is a one-click experience with no sign-up required.

3. Authentication and user-centric design

Gas fees

On blockchains, users pay a small fee, called gas, for every action they take. For example, setting you username is an action that requires gas. Gas fees are a barrier to entry for many users. The concept of gas fees is unique to blockchain networks and can be confusing for users who are not familiar with the technology. Portrait abstracts away gas fees, allowing users to interact with Portraits without having to worry about the underlying blockchain technology.

Imagine having to pay a fee every time you send an email or post a tweet. This is the equivalent of gas fees on blockchain networks.

We abstract away gas fees by covering the cost of transactions for users. This is made possible by:

  1. Moving the heavy lifting off-chain onto scalable, lightweight nodes that can handle the load of hosting and distributing data associated with Portraits combined with caching nodes to allow data to be persisted and retrieved efficiently.
  2. Deploying the core contracts on a layer 2 solution to reduce the cost of transactions while maintaining the security and decentralization of Ethereum.

Portrait is compliant with the ERC-6492 (opens in a new tab) standard, which allows for modular and extensible user authentication and authorization mechanisms. This standard enables users to interact with Portraits without having to worry about the underlying blockchain technology, making it easier for non-technical users to use the platform.

As a fallback, the contracts include a delegation mechanism that abstracts away the complexities of blockchain technology by delegating the authority of paying gas fees to a different account, which in our current implementation is one controlled by the Portrait team.

Jargon

Jargon and complexity are barriers to entry for many users.

Ask yourself, do your parents or non-web3 friends associate the term "wallet" with an account, or do they think of an object that holds money and cards albeit in a digital form?

Imagine telling your friend, "I need to connect my wallet to open my Netflix app." They might assume you are late on your subscription payment and need to update your payment method instead of understanding that you need to sign in to your account.

The term "wallet" was adopted from the traditional financial world, when Bitcoin was first introduced. It doesn't make sense to use the same term for a completely different concept. Portrait uses the term "account" instead of "wallet" to make it more relatable and user-friendly.

4. Scaling trust off-chain

Blockchain technology is incredibly powerful for building decentralized applications (dApps). However, every update requires a transaction, for example: updating your Portrait. Each transaction requires gas fees. Gas is the unit used to measure the computational work required to execute operations on a blockhain network. As mentioned in the previous section, we cover these gas fees for our users to make the experience as seamless as possible, abstracting away the complexities of blockchain technology so that anyone can interact with Portraits without having to worry about the underlying technology.

Gas fees are volatile and depend on the network's congestion; they can rise or fall based on the network's activity. There have been cases where gas fees have reached up to 500 gwei, although they typically hover around 10 gwei.

To add to that, Ethereum denominates gas fees in ETH. The volatility of the crypto market means that as the market value of ETH increases, so does the network congestion, leading to higher gas fees (measured in gwei per gas).

Moreover, when the crypto market is booming, dApps see increased activity. Effectively, this means a compounding effect from three factors:

  1. Paying more gwei per gas.
  2. Dealing with the compounding effect of ETH's increasing value in USD.
  3. Handling more users and transactions as the crypto market surges.

Here's an example to illustrate the impact of these factors:

Day 1:

  • 100 transactions
  • 3,500 USD/ETH
  • 10 GWEI/GAS
  • 100,000 GAS per transaction

The cost calculation in USD would be:

100×100,000×0.000000001×3,500=35 USD100 \times 100,000 \times 0.000000001 \times 3,500 = 35 \text{ USD}

Day 10, during a crypto boom:

  • 1,000 transactions
  • 10,000 USD/ETH
  • 150 GWEI/GAS
  • 100,000 GAS per transaction

The new cost calculation in USD would be:

1,000×100,000×0.000000001×10,000=1,500 USD1,000 \times 100,000 \times 0.000000001 \times 10,000 = 1,500 \text{ USD}

This example illustrates how quickly costs can escalate, demonstrating the significant financial impact of increased gas fees and ETH prices on covering transaction fees. Although activity has only increased by a factor of 10, the cost of has increased by a factor of ≈42.85.

For most interactions on Portrait, even during a crypto boom, the cost of gas fees is covered by the Portrait team. In specific cases, we can safely limit the number of interactions to prevent costs from escalating. An example of this would be changing the username of a Portrait, which is a rare event and can be limited to a few times per month. However, we expect users updating their Portraits to be a more frequent, high-throughput event, which should never be limited by gas fees.

This is why we scale trust for updating your Portrait off-chain by allowing users to host and validate the validity of Portraits without having to pay gas fees. This is made possible by moving the heavy lifting off-chain onto scalable, lightweight nodes that can handle the load of hosting and distributing data associated with Portraits combined with caching nodes to allow data to be persisted and retrieved efficiently. By default, the mobile app has an embedded light node: meaning you validate the data associated with Portraits without any extra effort on your part. For desktop users, a dedicated light node is available for download, while we are in beta the desktop node is only available for Mac ARM users.

In the next section we will cover the most important feature of Portrait: hosting.


Hosting

On traditional social media you might follow, befriend, or subscribe to someone to see their content. With Portrait, you host each other's content as a way to support and connect with the people you care about. This is a fundamental shift in how we think about social media where the focus is on building deeper, authentic connections that promote reciprocity and trust.

What is hosting?

Imagine you find a friend's Portrait that you really like and care about. By choosing to "host" their Portrait, you’re storing a copy of it on your device so that others can see it even if your friend goes offline. You can host as many Portraits as you like, and others can host your Portrait too. It’s like keeping a copy of your favorite book at home and letting anyone borrow it whenever they need it. We see hosting as a way to support your friends and help build a strong and resilient network.

If no one hosts my Portrait, does that mean no one can see it?

No, by default your Portrait gets hosted at up to 100 locations around the world through various distributed file storage networks. This ensures that your Portrait is always available, even if no one else is hosting it. However, hosting your Portrait on your device makes the network more resilient and efficient. Additionally, you are always hosting your own Portrait.