Skip to main content

Headjack vs the competition

This chapter focuses on the disadvantages of some of the more high-profile competing solutions in the space. Most of the issues are solved in Headjack due to its guiding principles & design goals. This page doesn't list any of their positives as it would be too long (so not exhaustive by any means) but many of them have served as an inspiration for Headjack in one way or another.

Comparison table

Some of this is a subjective estimation - many of the claims lack official sources.

HeadjackFarcasterDSNP & FrequencyBluesky & AT ProtocolTBD web5
slides & tweet
Ceramic & CyberConnectLens
Protocol
blockchain-related properties
Scalability & potential scopecan handle billions of users (proof) & underpin the entire webperhaps up to ~10 million - could move to its own rollupperhaps up to a few million graph changes are on-chaincentralized consortium of serversperhaps up to
a few million - lots of reliance on IPFS, DHTs, hashes & keys
perhaps up to
a few million - lots of reliance on IPFS, DHTs, hashes & keys
actions are on-chain as NFTs (follow, post's hash) - even a dedicated EVM chain will be futile
Users paying for TX fees & linking identity to financial accounts by defaultall blockchain costs are paid for by services by defaultEthereum L1 costs initially planned for subsidy by servicesall blockchain costs are paid for by services by defaultcentralized consortium of servers - no TXsthe anchors (on-chain Merkle roots) get batched with othersonly the stream anchors to Ethereum L1 have to be paid for occasionallyyes
Blockchain TX fee stability & predictabilityas scalable as necessary => no congestionEthereum L1 - may need to migrate to its own rollup in the futuretheir notion of capacity is probably good enoughcentralized consortium of servers - no TXsBitcoin TX fees are low due to low economic activityEthereum L1 for stream anchorsPolygon PoS
Block time for anchoring key operationsEthereum ZK validium with multiple blocks in one L1 slotEthereumPolkadotcentralized consortium of serversBitcoinEthereum, but the anchors are occasionalPolygon PoS
Time to finality for key operationsEthereumEthereumPolkadotcentralized consortium of serversBitcoinEthereumPolygon PoS
Contains a name registry for easy discoverability & can replace DNSyes - & tightly integrated with addressability - URIs aren't broken even if names change ownershipyes, also works with ENSno, but might introduce itno - uses email-like usernames resolved with Webfinger to a DID & relies on DNS (centralized)nono, maybe works with ENSno, maybe works with ENS
Decentralization for the most important parts (keys & registries)Ethereum ZK validium with external data availability (validium) - EigenDA?EthereumPolkadot - not big enough set of validatorscentralized consortium of serversBitcoin, but DID operations are only anchoredEthereum, but only the stream anchors go therePolygon PoS
Incentive layer & data availability for the most important (keys & registries)Ethereum ZK ValidiumEthereumPolkadotcentralized consortium of serversDID operations are stored in a network on IPFS without incentivesthe actual streams are in a network w/o incentivesPolygon PoS
Data availability, storage, retrievability & addressing
Human-readable & persistent URIs for data without any hashesURIs full of hashes (probably)URIs full of hashesURIs full of hashes - CIDs for IPLD objectsURIs full of hashes (probably)URIs full of hashesURIs full of hashes
Multiple ways to ask for a URI's document
(in addition to caches/archives)
 multiple ways:
 1) user's IDM
 2) source app identifiable from the URI
 3) IPFS blob from the block
 4) p2p network
 1) user's Hub
 2) p2p network
URIs contain only user id & content hash without user Hubs (yet) & p2p network 1) user's PDR
 2) maybe p2p network with the content CID
 probably
 1) user's DWN
 2) p2p network
only p2p network as Ceramic streams are an abstraction over IPFSunsure - maybe the on-chain NFT post
Big reliance on a p2p network for delivering fine-grained messagesusing a p2p network for specific URIs is the last resortusing a gossip-based pubsub protocol between peers & Hubsnot sure: their URIs contain only user id & content hash but they don't have an IDM/Hub/ PDR/DWN as a concept (yet)no - talk directly to a user's PDRnot sure: perhaps could directly talk to a user's DWNyes - IPFS, Ceramic Network & global DHTs
Push (broadcast) vs pull (polling) for fetching new contentboth - event batches are broadcasted & new/individual documents can be requestedpull only - requires polling a user's Hub for anything newboth - event batches are broadcasted & new/individual documents can be requestedpull only - requires polling a user's PDR for anything newpull only - requires polling a user's DWN for anything newboth - events are broadcasted & new/individual documents can be requested
Self-authenticating documentsproofs are validated by the blockchainneed to talk to Ethereum AND the host-certified user directory which can disappear OR changemerkle roots not presentproofs are validated by the transparency log
Ease of use for developers & users
Can leverage existing Web2 authenticating infrastructureCan leverage all existing OAuth / SAML code
Easy to work with mental model vs high cognitive load & complexityA bit more complexity compared to Web2
Can use "custodial" hosted services while retaining ultimate control
Ease of indexing & building responsive UIcan be as performant as Web2 and not constrained by block time
[1][2]
1. X.
2. X.

What other projects get wrong

"Good design is simple. You hear this from math to painting. In math it means that a shorter proof tends to be a better one. Where axioms are concerned, especially, less is more. It means much the same thing in programming. For architects and designers it means that beauty should depend on a few carefully chosen structural elements rather than a profusion of superficial ornament." - Paul Graham

A list of problems with the contenders in the decentralized identity/media space:

  • No credible path to web-scale - some will hit a wall even at 1 million users. Most are vague around their scalability & data structures and don't put it front and center - obfuscating the most important bit. Instead of focusing on NFTs & developer APIs, start with the data and work up from that.
  • Complexity & lack of clarity - distributed systems engineers should easily figure out how they work & what the limitations are. Why build on something that others are probably having a hard time understanding as well and may not be around in the future?

    "Developers care about risk." - Haseeb

    "For the simplicity on this side of complexity, I wouldn't give you a fig. But for the simplicity on the other side of complexity, for that I would give you anything I have." - Oliver Wendell Holmes

    "...the only simplicity to be trusted is the simplicity to be found on the far side of complexity." - Alfred North Whitehead

  • Too financialized & trying to do too much - profiles & posts as NFTs, microtransactions, marketplaces, fan coins, tipping, content creator incentives.

    "However, a downside I’ve observed in social networks where content is monetized is that user behavior becomes transparently driven by monetary incentives in ways that feel less genuine. This applies to influencer culture on Instagram as well, but cryptocurrency social networks bake it in from the start." - Jay Gerber

    "The question remains: is the future of social media truly intrinsically linked to NFTs or is it a red herring?" - @mattigags

  • Users shouldn't need to use a token, use a wallet, or self-host to benefit from decentralized identity & an open social graph. Most people will always use custodial services.

    "People don’t want to run their own servers, and never will." - Moxie

  • Linking online identity to public financial accounts on Ethereum/Solana/etc will have unintended consequences - a bad default.

  • Federated ones lack logical centralization which leads to fragmentation and no discoverability.

  • Some are solving just identity & the graph - without easy & persistent content addressing.

  • Social media is about aggregated views at scale - not p2p and direct comms.

    "The emphasis of a social network is on "propagation" aka, propaganda." - didibus

  • Some use chains such as Ethereum for logical centralization & store vector commitments (Merkle roots) for events around key management (rotations, authorizations, sessions & revocations) but the data availability problem for whatever is committed is unsolved.

    • The complexity is not encapsulated - there are many open questions, edge cases & failure scenarios and it would inevitably lead to assumptions & trust.
    • Some anchor to Bitcoin but the time to finality matters a lot for UX - 10-minute block times with probabilistic finality is horrendous.
  • Some lack an economic incentive layer.

    "Show me the incentive and I will show you the outcome." - Charlie Munger

Farcaster

Their architecture: link. The account registry is on a blockchain and everything else is off-chain.

  • Registry on Ethereum L1 - for new accounts, name/host changes & key management.

    • No plans on moving to an L2 or their own chain. Also, state rent could eventually be introduced to Ethereum which would lead to further costs & complexity.
  • Keypairs & wallets required - harder mass adoption. Authorizations still require a signature from the root key.

  • Revocations invalidate all prior activity from a delegate:

    "Unfortunately, this means that all messages signed by that signer will be lost since we cannot tell which ones were signed by the attacker." - source

  • The p2p network's ability to scale by passing around granular casts is questionable - they are already discussing possible flooding and nodes having to shadow ban and flag accounts based on behavior.
  • Focus is on partial views of the network as opposed to mass scale aggregation & indexing - although that could easily be implemented.

  • Cast URIs will look something like farcaster://id:8789213729/cast:0xf00b4r which is less readable than what Headjack will be offering with its addressing.

Overall good intuition about the concept of sufficient decentralization (putting only what is absolutely necessary on a blockchain) but the p2p node implementation takes on too much responsibility, complexity & assumptions (consensus, CRDTs, trees, ordering, flooding & replay attacks, etc.) and is lacking in other areas.

DSNP, Frequency & Project Liberty

Frequency (a Polkadot parachain) is the first implementation of DSNP (Decentralized Social Networking Protocol - whitepaper) as a standalone blockchain and has had the most influence over Headjack's design but the two have diverged in some key respects - the biggest of which are scalability, content addressability, UX & choosing Polkadot. Some of the problems with them:

  • No names within the project - just integer IDs for accounts. Content addressing URIs are based on hashes without connection to the batch # / service that published it - example: dsnp://78187493520/0x1234567890abcdef0123456789abcdef0123456789abcdef (source). Addressing content is much worse compared to Headjack's human-readable & persistent URIs.

  • Delegating applications to be able to post on behalf of users (analogous to authorization in Headjack) happens on-chain but requires a signature from the user (bulky - limiting throughput). New applications (& revocation) require the user to have access to their keys. Hierarchical delegation would allow for UX comparable to Web2 and would even allow for users without keypairs at all but DSNP doesn't have that - Headjack does.

  • 100m$ of funding (so far) from just 1 person - Frank McCourt - no other capital & connections to reputable investors & influencers from either the crypto or tech space - generating hype & booting up the network effect might be very hard. They've been around since 2019.

TBD

Jack Dorsey's new "web5" project - slides, announcement.

  • Only anchors DID events to Bitcoin with vector commitments (Merkle roots) using ION & the Sidetree protocol.
    • 10-minute block times with probabilistic finality. Factor in the loading times for the anchored content around key management that's on IPFS - not great at all if you want to log in/authorize a service or revoke access quickly.
  • Doesn't have a human-readable global name registry - lacks discoverability.

  • Doesn't have human-readable content addressing.

  • Focus is on users self-hosting their own data, running software locally & handling keypairs.

  • Developing their own Decentralized Web Nodes (DWN) software that would be relaying messages p2p - can't handle web-scale on such a granular level and aggregation is not even in the picture.

CyberConnect

Built on the Ceramic protocol & network.

TODO: working on incentives for pinning https://twitter.com/joelthorst/status/1588863780301156352

  • Requires the use of keypairs & wallets.

  • Every user has their own Ceramic data stream on top of IPFS - it is yet to be proven that the DHT & p2p layers can scale to hundreds of millions or billions of people.

  • The persistence of the social graph is handled by pinning IPFS data on nodes operated by them without any cryptoeconomic incentive for the data availability - it will grow into the tens/hundreds of terabytes for web-scale (Twitter scale: 400M users with 700 connections on average) - especially because they don't have a compact integer-based representation and everything is based on big individually signed actions. The upcoming Ceramic blockchain does not seem to be geared towards storage incentivization and will not be the solution to that.

    "Long-term data retention on CyberConnect is guaranteed through Ceramic’s blockchain anchoring and a custom data pinning service." - source

DeSo

  • It requires wallets & users to pay for every interaction.

  • It puts everything on-chain and their plans to scale are with bigger blocks & sharding (see "Phase 4: Sharding") which is simply not practical for the true scale of the public web.

  • It financializes as much as possible (creator coins, etc.).

  • Their initial growth was fueled by huge sums of VC money but by now it has flatlined. It did reach 1.66$ billion market cap on the 2nd of October 2021 shortly after being listed.

Others

For details about ActivityPub, Matrix, Diaspora, Mastodon, Secure Scuttlebutt, Solid & others please refer to the excellent ecosystem review by the Bluesky project. Other good resources include: