A better app store

What would a new and improved app store look like? The Aragon App Center is in development so I’m excited to think about how we can improve on existing app store designs.

There are three new features I’d love to see:

Decentralized publishing

Today only one person is required to push the “publish” button, and this creates a central point of failure. What if multiple devs and community members had to sign off before a new app update was pushed? This could prevent problems like devs going on power trips or burning out and giving their publishing rights away to hackers. With a decentralized package manager it would be possible to require multiple sign-offs before a new app update is published. This update could then be cryptographically verified to be published by the correct author (see the next section).

Trusted publisher profiles

When I look at an app download page in an app store, how do I really know it’s being published by who I think it is? I might look at how many people downloaded it, or go to the download page straight from the publisher’s website (the address of which I got from another trusted source, etc). What if there was a way to trust the download page no matter how I arrived at it?

With trusted publisher profiles, that becomes possible. Publishers could publish proofs to their profile showing that they control certain website domains, social media accounts, and crypto keys. They can sign app install files using these keys so that I can trust that the file came from the right publisher. Various solutions like this exist but they aren’t adopted consistently and no app store that I’ve seen has been able to blend the freedom of decentralization with the security of trusted publisher profiles.

Cryptocurrency payments

I want to pay for good software. But I don’t want the app store to know who I am and I don’t want to worry about whether it can actually secure my credit card data. Besides, credit cards are an ill-suited medium for the <$0.99 payments I imagine for software installs and updates. It might not seem like much, but multiplied by thousands or millions of users and a developer (or team) that puts out consistent and consistently good app updates could make a good living off these small payments alone, not to mention any in-app monetization mechanisms.

I want to pay for good software and I want it to be fast, cheap, and private. Cryptocurrency is a great fit for this.

Hundreds of media accounts were just deplatformed. The need for a decentralized web is greater than ever.

Over the past few days Facebook and Twitter have deplatformed hundreds of accounts with millions of followers in total under the guise of fighting “clickbait” and “spam”. The Washington Post reports:

Facebook said on Thursday it purged more than 800 U.S. publishers and accounts for flooding users with politically-oriented spam, reigniting accusations of political censorship and arbitrary decision-making.

In doing so, Facebook demonstrated its increased willingness to wade into the thorny territory of policing domestic political activity. Some of the accounts had been in existence for years, had amassed millions of followers, and professed support for conservative or liberal ideas…

Just one day after the Facebook purge, Twitter followed suit, deplatforming the accounts of alternative media outlets Anti-Media and The Free Thought Project. Sputnik International reports:

Anti-Media and TFTP aren’t automated bot accounts or spammers. They are run by US citizens who used the internet applications Twitter and Facebook to exercise their First Amendment rights. For that they have been punished — first by Facebook, now by Twitter.

I have friends who were caught up in these purges. Their audiences have been significantly reduced because of this deplatforming. I am generally opposed to “censorship” by media platforms, preferring that readers use their power to mute or block content they do not like rather than have their web browsing experience curated by paternalistic algorithms and “content moderation” teams.

That said, we have to recognize the reality of the situation we find ourselves in: Facebook and Twitter are platforms owned by private companies who have the freedom and the right to deplatform any content they do not like.


The alternative is website owners being forced by the State to host content they disagree with, which seems even worse than the status quo. Hypothetical Lockean squatters rights aside, today’s legal regime supports a company’s right to moderate content off of their platform. So what can we do to protect ourselves from sudden deplatforming by social media administrators?

We get rid of social media administrators.

The future of social media, and the web itself, is decentralized. The same way bitcoin is a decentralized, open protocol that enables anyone to send and receive money without intermediaries, social media platforms will become decentralized protocols that enable anyone to publish and read without intermediaries. The web gets us most of the way there, but there are still vulnerable choke points, such as centralized servers that host content and the ICANN-owned domain name system that routes web requests.

The decentralized web is removing these choke points and replacing them with open protocols that advance the vision of the web’s inventors and early pioneers. Platforms like Blockstack and Ethereum are taking the vision of the web and building in censorship resistance that is stronger than anything possible with the technology of prior generations.

Using BNS and ENS, you can own a domain name that no corporation or government can take away from you. Using Gaia and Swarm you can self-host and back up your content on multiple geographically diverse hosts, preventing take-down by would-be censors. And rather than rely on the good graces of payment processors like PayPal to earn your keep on the web, you can get paid for your content directly by your fans using Lightning and Connext.

Putting this all together, what does the decentralized social media platform of the future look like? It could look like Afari, a Twitter-like application built on Blockstack:


Or it could look like Akasha, a Medium-like application built on Ethereum:


To be sure, it’s early days for these platforms, so they’re not quite ready for prime time yet. And in all likelihood, they could go the way of previous decentralized platforms that attempted to take on the centralized social media giants: at best a niche curiosity, at worst abandon-ware that gets buried in the graveyard of failed projects.

But what this new breed of open protocol-based platforms represents is a turning technological tide, where users don’t have to be sysadmins to take control of their data, where interfaces are familiar and functional, where censorship and deplatforming are nearly impossible. In this world, publishers can post without fear and have a direct relationship with their audience, secure in the fact that no third party can unilaterally take away their online voice and reach.

If you have any motivation to help – whether with design, development, documentation, or testing skills, or even just providing moral or financial support to these projects – I urge you to get involved. The decentralized web wasn’t mature enough yet to save the hundreds of accounts that were just purged by Facebook and Twitter and the many that have been purged before. But maybe, with your help, we can prevent something like this from ever happening again.

Reach out any time through my contact page or the comment section below, let me know how you’d like to help, and I’ll try to point you in the right direction. You can also click through any of the links to projects mentioned above to get in touch with them directly.

Thanks to all involved with organizing and supporting the Decentralized Web Summit.

Email is probably the most popular decentralized messaging protocol. Add yourself to my email contacts if you would like to stay in touch!

Join the herd on Mastodon

May 2017 update: I haven’t yet found a good workflow for cross-posting from birdsite to Mastodon, and I still don’t have a large network on Mastodon, so I have mostly stopped using it. I’ll keep checking in and posting now and then, but I do not see it becoming my new mainstay any time soon. Regardless, I will continue giving feedback in hopes that it will evolve into something that is “sticky” for me because birdsite is birdshit.

A few months ago I saw Aral Balkan tweet about a new social media app called Mastodon. With a Tweetdeck-like interface and compatibility with the GNU Social federation, I found the app easy enough to use, with a large network of interesting people to follow. I followed some people, sent my first “toot” (I am not sure if messages were called a “toot” yet) and… did not ever use the app again. This is not unusual: I’ve signed up and played around with many decentralized social apps before and most often I won’t use them more than once.


Today, something unusual did happen: I logged back in. I am officially a repeat user of Mastodon. Today, a bunch of people joined the network and it even got some press. So I dusted off my login credentials and went to check in on how things are going. Mastodon hasn’t changed much in the intervening time period but there are some subtle yet important improvements (such as 2FA support – gg).

I haven’t had a chance to look through every issue on GitHub or review every companion app so these might have been suggested or done already but here are the features that would make the app stickier for me:

  • A mobile client
  • Post scheduling
  • Post to/from other networks (including the big centralized ones)
  • Add search columns (and other types of columns that Tweet deck offers)
  • Mute whitelist (so you will see toots from people on your whitelist who would otherwise be muted)
  • Easy self-host options for muggles (e.g. Sandstorm is great)
  • Blockstack support (decentralized DNS, PKI, storage)
  • Search-by-word (this was intentionally not done for mastodon.social)
  • Data analytics and visualization tools (I ❤ dataviz)
  • And of course, a bigger network.

I’m probably missing a bunch of other things that I won’t notice until I use Mastodon more. There is a tool you can use to find the people you follow and who follow you on Twitter that helps with bootstrapping your network. I will see if I can add Mastodon to my Blockstack ID so people who use that can find me on Mastodon. And I might even continue using the app to find and share content. Toot me.

Email is probably the most popular decentralized messaging protocol. Add yourself to my email contacts if you would like to stay in touch!

For @j12t

Transcription from the Decentralized Web chat (Matrix)(Slack).

A few replies to some comments from earlier:

@eric: +1 to the general concept of consensus system where your vote is not tied to directly a useless-number-crunch POW scheme.

POW is far from “useless” – it’s what allows Bitcoin to work. POW enables decentralized issuance of the bitcoin currency, and prevents the “nothing at stake” attacks, “long-range” attacks, and “grinding” attacks that POS is vulnerable to.

@eric: Silicon-melting POWs are both carbon/entropy-sad, but IMO more worryingly it seems we’ve now demonstrated that existing capital can be brought to bear to buy power in POW schemes, which is not the decentralizing utopia most of us were dreaming of.

A couple of points to consider here:

  1. Miners actually do not have that much power. Economic full nodes have at least as much if not more power than miners. Economic nodes accept bitcoin in exchange for “real world” value in goods and services. Without them, miners wouldn’t be able to pay the bills. Miners therefore follow the economic majority when deciding what full node software to run.
  2. The alternative to “one dollar = one vote” (POS) or “one hash = one vote” (POW) is “one person = one vote” (democracy). It turns out that democracies eventually devolve into oligarchies (at least that’s how things have turned out in the U.S. http://www.bbc.com/news/blogs-echochambers-27074746). It’s quite possible that as long as money exists, people/groups with lots of money will always find a way to rig the system in their favor – they’ll buy candidates, buy votes, lobby for preferential legislation that favors their interests, etc. One person = one vote also requires a robust identity system to be built into the consensus mechanism, which is antithetical to Bitcoin’s decentralized nature. Who would be in charge of verifying identities and letting people into the system or kicking them out? That would require a central authority of some type. So not only would a democratic cryptocurrency not work in practice, it would go against the whole idea of cryptocurrency in the first place.

@eric: I mean, they’re an answer, but it’s debatable whether they’re a good one that results in any better incentives than any other answer.

Bitcoin has the best incentives of any cryptocurrency thus far, by far. Miner incentives are aligned to support the long term health of the network to protect, at the very least, their investment in ASIC mining hardware, and, at most, the value of their hardware plus all of the bitcoins they’ve saved from mining. Since ASICs are specialized hardware and are useless for any application that isn’t SHA-256 hashing (unlike GPUs or CPUs which can be used for many applications), miners wouldn’t be able sell the ASICs if Bitcoin goes bust. So they have an incentive to protect the value of that hardware for as long as possible, which means protecting the value of Bitcoin. As described earlier, POW isn’t vulnerable to many of the attacks that POS is vulnerable to, so it is a very robust form of consensus that is likely to continue working for as long as the block reward is valuable enough to support all of the SHA-256 hashpower that’s out there. All other consensus algorithms either aren’t secure by design or aren’t decentralized by design.

@olivier: There are 700 crypto-currencies: http://coinmarketcap.com/all/views/all/ The real question is: why ?

Altcoin pumpers proponents that I’ve spoken to give two main reasons, you decide which is more valid:

  1. “Experimentation” (because apparently Testnets aren’t good enough?)
  2. Pump n Dump. https://twitter.com/hrdng/status/737018222411665409

There’s also a third reason that is less and less valid every day, but is probably actually the most legitimate reason for now:

3. Filling gaps in Bitcoin’s functionality i.e. the altcoin implements some feature that Bitcoin does not support that people want to use today. This reason is becoming less valid due to the ways that Bitcoin as a system can evolve using e.g. metalayers (http://counterparty.io/news/evmparty-progress-update/) and sidechains (https://www.blockstream.com/sidechains.pdf)

In the end, I believe there will be many blockchains but only one cryptocurrency of any significance (https://lightco.in/2016/02/15/many-blockchains/).

Email is probably the most popular decentralized messaging protocol. Add yourself to my email contacts if you would like to stay in touch!