dystopian man vs robot concept

You’ll own everything, and you will be happy

This post was first published on Medium and we republished with permission from the author, TonicPow co-founder and CEO Luke Rohenaz.

Over the last few years, I’ve worked on lots of Bitcoin stuff. Everything from wallet infrastructure, to micropayment-driven APIs, to consumer-facing apps for marketing, music, social media, and more.

One of the most exciting things Bitcoin can do is still relatively unknown. The blind spot comes from the glaringly bad assumption that Bitcoin cannot and should not scale by increasing the block size as needed. Small blockers say transactions should not include more data than necessary to make payments or *maybe* the hash of some content hosted on Amazon Web Services, or some other centralized host. We can do so much better.

Network nodes

When we stop treating Bitcoin like a fragile settlement layer and take advantage of its impressive scripting and data storage capabilities, a new kind of experience becomes possible. It forms a backend where the data is owned by each individual participant rather than the company providing the user interface. It is accessible to everyone, synchronizes across many competing services while reducing development complexity, improving user experience, and completely upending the dynamics we have come to reluctantly accept about these systems. Sounds pretty good, right?

Dapps done right

Decentralized applications, or dApps, have been all the rage in recent years. Sadly, they largely miss the mark because of the shortsighted vision for blockchain infrastructure that has plagued the industry since the scaling wars leading up to the first Bitcoin fork.

Open data protocols are an innovative approach to building decentralized, interoperable applications. Contrary to popular belief, this approach is not dangerous, does not sacrifice decentralization in any meaningful way, and brings with it powerful capabilities not found elsewhere.

When developers store data on the blockchain in a common format, different apps can interact with one another effortlessly. They become anti-fragile, flexible, specialized, and highly accessible. They open up a wide range of possibilities for any service that would benefit from a shared public dataset, including social media platforms, supply chain applications, logistics, public records, and much more.

Users can interact with each other across different platforms without the need for a central server or trusted intermediary. Advanced users can even build their own clients or participate from a Linux shell.

These applications can be designed, queried, and indexed in a familiar way that resembles traditional development. This provides a bridge between the decentralized and centralized worlds, lowers the barrier to entry, and leads to more competition and better user experience in many ways.

In this article, I will focus on social media, but keep in mind these principles can be applied universally. There are many, many use cases that would benefit from this architecture.

Censorship resistance & private ownership

Censorship resistance has become a buzzword that has practically lost its meaning. Many of the “decentralized” applications and networks we hear about are controlled by a small number of individuals. We have seen DeFi networks shut down, entire blockchains altered on the whims of their dev teams, and massive outages that illustrate an inconsistency between the claims of their marketing materials and reality.

Bitcoin can give us a truly censorship-resistant foundation for the storage and sharing of information. The data is public, transparent, and can be accessed by anyone making it difficult for any centralized authority or intermediary to control, censor, or remove the data without near unanimous consent from many operators internationally. The overlay networks formed by open protocols inherit many of the characteristics of the underlying Bitcoin network itself.

At the same time, the authority of a project owner is retained, allowing them to curate as they see fit, comply with legal requirements, or even choose not to (at their own risk of course).

Defeating the machine

Defeating the machine

In the current environment, how would you compete with the likes of Facebook (NASDAQ: META), Twitter (NASDAQ: TWTR), or LinkedIn? In short, you can’t. The probability of doing it successfully without massive funding and institutional support is damn near zero.

Recently, Elon Musk spent tens of billions of dollars to purchase Twitter. He didn’t do it because Twitter was a great investment. On the contrary, we now know Twitter was hemorrhaging money and headed for disaster without continued outside funding, or a miracle.

“This company is like you’re in a plane that’s headed towards the ground at high speed, with the engines on fire, and the controls don’t work,” Musk said in a Twitter Space recently.

So why did he do it?

To acquire its network effect.

Elon has hinted at a desire to build “X,” the everything app. Twitter has hundreds of millions of users. Even if you build the greatest user interface known to man, you would be starting from scratch as a new competitor. Such a massive disadvantage is nearly impossible to overcome. The incumbent position enjoyed by companies with such a massive user base cannot be understated. Even Donald Trump’s Truth Social has not made a dent compared to the numbers we see from the few major players despite his massive following. Elon knows this.

People complain about these big networks all the time. There are privacy issues, problems with internal culture, political biases, and algorithms designed to monopolize your attention, causing harmful societal impacts.

That said, where else can you share family photos, connect with old high school friends, and meet new people from across the globe with similar interests, all on a single domain? Very, very few places offer such an experience, which sits squarely at the core of what we value about these services.

In the new paradigm of truly decentralized social media, an opportunity to compete with these massive, centrally controlled data silos can exist for the very first time. Interoperability creates a social media fabric that stretches far beyond the reach of any individual platform. One that can’t be controlled by a single or even handful of entities providing users with more robust, feature-rich, and specialized alternatives.

Instead of competing for an exclusive network effect, this approach creates an environment where different clients, built by different developers, compete to provide the best user experience. While individual platforms still compete to attract users, they also cooperate by sharing the same data stored on the blockchain. This cooperation allows for a network effect where the value of each individual client increases as more applications are built. As more apps become interoperable, the value of each individual application increases, creating a positive feedback loop where the value of the network as a whole increases as well.

Portability & user experience

There have been many recent attempts at more sovereign alternatives to social media. New “alt tech” platforms like Gab, Truth Social, Rumble, and others might seem like big improvements at first glance, but their design is no different. They are one benevolent leader away from devolving into what users are seeking refuge from.

If you want to know if a social media network is truly decentralized, ask yourself this question:

Can you log out of one interface into another and retain your relationships, activity, and content?

If the answer is no, just stop. Someone is in control, and it isn’t you. Right now, you can log into BlockPostBitChat Nitro, or RetroFeed and see the same underlying content derived from the Bitcoin SV network. It’s up to you which UI you prefer, whose policies you agree with, and if one decides to give you the boot, there are several others who would love to have you.

This is only the beginning, and RelayX is slated to be the next participant, expanding the network and continuing the snowball effect.

Miners are the ISP of the future

This approach is only possible on Bitcoin SV because it allows for the storage of the content itself on-chain. Not just a hash referencing data stored on some host that can be lost over time.

Miners are the ISP of the future

Posts are not limited to text only, not limited to only a few characters, and not limited to just dumb media, either. BSV offers a full scripting language allowing for native integration of fungible and non-fungible tokens (NFTs) of many flavors. It is by far the most capable, scalable, and efficient blockchain in existence.

The cost to make many small transactions is prohibitively expensive on other blockchains. The few that do sport low fees cannot sustain them at scale, do not support data at all, or lack advanced scripting functionality. BSV’s embrace of enterprise-level infrastructure allows for the mining of transactions immediately, as the block sizes can expand to meet demand on the fly.

But data can be pruned!

Some argue that data stored in this way is prunable, making this approach unrealistic. While it is true that miners can prune OP_RETURN data, Bitcoin is a Mandala network.

The inner ring is comprised of miners who validate each transaction. The second ring will be specialists who recognize the value of these overlay networks. They will retain and serve archives for as long as any demand for the data exists.

We currently use The Wayback Machine to access archived data from the internet. It survives on donations, and even without much direct monetization, we recognize its value and keep it alive.

In Bitcoin, the incentive is in much better alignment with this need. The incentives are better because fees can be earned if data is ever pruned by miners. The ability for micropayments means small sums can be charged for individual access, while platforms will sync with a subscription or bulk data discount.

From there, we can use Simplified Payment Verification (SPV) to verify the data exists on the blockchain without the need to download all of the transactions, which would carry huge overhead at scale.

Developer resources

“So how exactly do we do this? What does it look like, and how can I build a spoke in this wheel?”

Source: bitcoinschema.org

Check out BitcoinSchema.org for some initial data definitions with more under development. There you can also find information and links to the underlying protocols and tools used here.

Check out bmapjs.com for a JavaScript-based parsing library for this kind of transaction data.

There are many other resources available on the BitcoinSchema github page, including additional libraries for processing with Golang.

Any wallet can be used to craft transactions matching these specs. There’s even a command line interface which really illustrates the flexibility and open nature.

The BMAP API is a great way to explore this on-chain data and get a feel for what is possible. Here’s an example of querying data specifically from the BitChat client.

For developers interested in building your own open social API, Gorilla Pool offers a fantastic product called JungleBus, which allows you to filter blockchain data and synchronize your indexer with minimum overhead. This is what the BMAP API is using under the hood.

Need some help getting started?

For questions, comments, or just to experience what this kind of app is like, reach out in the chat here: https://bitchatnitro.com

Until the snowball gets some more momentum, you can also reach me on legacy social media on Twitter @wildsatchmo.

Watch: CoinGeek Roundtable Episode 4 – Open Social Protocols

New to Bitcoin? Check out CoinGeek’s Bitcoin for Beginners section, the ultimate resource guide to learn more about Bitcoin—as originally envisioned by Satoshi Nakamoto—and blockchain.

[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[elem.name]
[elem.name]
[+_a-z0-9-'&=]
[+_a-z0-9-'&=]
[+_a-z0-9-']
[+_a-z0-9-']
[a-z0-9-]
[a-z0-9-]
[a-z]
[a-z]
[el.name]
[el.name]
[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[elem.name]
[elem.name]
[+_a-z0-9-'&=]
[+_a-z0-9-'&=]
[+_a-z0-9-']
[+_a-z0-9-']
[a-z0-9-]
[a-z0-9-]
[a-z]
[a-z]
[el.name]
[el.name]