Edit: Muneeb from Blockstack Inc clarified that the announcement about the token was in reference to an upcoming proposal for a new token, not that the token will definitely be added to Blockstack Core. I have removed references to the announcement from this post and will save the discussion about protocol governance for another post.
The remainder of the post will lay out my case against a new Blockstack token, as it has been described so far. It will be updated again when I have a chance to review the upcoming proposal.
I would like to preface this post by saying that I have a lot of respect for the work produced by the Blockstack Core developers. Blockstack is an incredibly powerful piece of software that has the potential to do a great amount of good in the world if widely adopted. It is because of this respect and passion for Blockstack that I have taken the time to start this discussion.
At Consensus 2017, Blockstack Inc announced that they have decided to add a new Blockstack token to the Blockstack protocol. Since this announcement, the only public commentary about the token that I can find from Blockstack Inc is here on Twitter: https://twitter.com/muneeb/status/867020832622694400 and here on the Blockstack forum: Blockstack Token, what is it?
In my prior discussions with Blockstack Inc about the idea of introducing a new token, I have made several as-yet undisputed arguments against the idea. I’ll repeat them here for public visibility. I want to make it clear now that my goals in publishing this post are to:
Show why a new token is not required for the operation of the Blockstack protocol, AND
Convince the Blockstack user community (most importantly, full node operators) and Blockstack Inc to reject the idea of creating a new token, ELSE
Fish out valid counterarguments that show why a new token IS needed and show that my arguments have so far gone undisputed only because a valid counterargument had not been discovered or voiced yet. If a valid counterargument is found for each of my arguments then I will concede and switch to arguing in favor of the new token. Note that the arguments presented here are likely not an exhaustive list, and so there may still be arguments against a new token out there that have yet to be introduced. I encourage anyone who has additional arguments to make for or against a new Blockstack token to introduce them into the discussion here.
Arguments against a new Blockstack token
There are several arguments that I have made to counter the idea that Blockstack needs a new token. For the argument in favor of creating a new token to stand, each of these arguments must be successfully countered with a valid counterargument. One argument being successfully countered will not invalidate the other arguments unless the validity of other arguments depends on the validity of that argument. I have tried my best to make these arguments independently stand on their own to reduce the complexity of countering each argument.
Argument 1. Empirically, Blockstack does not need a new token to work
Blockstack has been running on the bitcoin blockchain since September 2015 without the use of a new token. Since the operation of the Blockstack network has so far not been in any way impeded by this lack of a new token, the logical conclusion is that Blockstack does not in fact need a new token.
Argument 2. Bitcoin is a superior alternative
From what little information I have been able to gather from Blockstack Inc about what their new token will be used for, it seems clear to me that bitcoin, the native token of the blockchain that Blockstack currently uses for processing transactions, is a superior alternative.
Those functions are:
A. Spam protection/ pay for name operations
Bitcoin is superior for spam protection/ paying for name operations because:
i) Bitcoin already has a large software ecosystem of libraries, nodes, and wallets that cannot be easily recreated
ii) Bitcoin already has huge pools of liquidity worldwide providing easy access to the token, including exchanges, brokers, OTC traders, and bitcoin ATMs.
B. Vote on changes to Blockstack (proof of stake?)
This use of the Blockstack token requires further explanation to understand how the voting system works. Projects like Dash, Decred, and Tezos are all working on “on-chain governance” of blockchain protocols, and I would have to know the details of Blockstack’s implementation of this concept to be able to conclusively say whether this requires a new token or not. My gut instinct tells me “no” but I’ll await further information before coming to a final conclusion.
Argument 3. A new token will create friction for users
Instead of going bitcoin -> network, a new token means going bitcoin -> Blockstack token -> network. Or, if people somehow acquire Blockstack tokens directly without using bitcoin first, they are now faced with the consequences of holding a token that is much more illiquid and so much more volatile than a more liquid token such as bitcoin. These consequences amount to unnecessary friction for the Blockstack token user.
Argument 4. A new token will create unnecessary tension between Blockstack and Bitcoin
The new Blockstack token is replacing bitcoin as a currency in the Blockstack network, diminishing bitcoin’s utility and value as a digital currency. Instead of using bitcoin to pay for name operations, Blockstack Inc wants you to buy their token and use that instead, despite the fact that, as explained in Argument 2 above, bitcoin is a superior alternative. Blockstack users will still need bitcoin to pay miners, of course, but this is different than using bitcoin to pay the cost of the name operations as set by the Blockstack network. The tension I’m referring to is mostly a social tension, as evidenced by the existence of this forum post.
Argument 5. A new token will artificially centralize Blockstack development
I will copy what I wrote in my post “A critical look at appcoins” verbatim here:
Appcoins centralize development of an application. When one person or company issues the appcoin, this puts them in a privileged position over everyone else who could contribute to app development. This central issuer gets to decide who is granted shares of the initial stock of appcoins, and also who gets paid out from the proceeds of any sale of the appcoins to fund development and marketing efforts. This could lead to cronyism and inefficiencies typical of centralized resource allocation efforts.
As a long-time contributor to Blockstack, I have concerns about the introduction of a new Blockstack token. If each of the above arguments remains undisputed, then I will strongly encourage Blockstack full node operators to reject any hard fork code introduced by Blockstack Inc (or anyone else) that adds a new token to the protocol. If a new Blockstack token is still introduced despite the existence of undisputed arguments against that decision, then I would call for the remaining community to split off from the new network and continue working on a “tokenless” implementation of Blockstack.