Bennett Hoffman is one of the smartest people I’ve ever met. I’ve been lucky to work with him over the past few years across several projects. He doesn’t blog, but he does give insightful answers to questions posted by our friends. Here’s his answer to our friend Garry Tan (Initialized Capital) who asked, “Anyone tracking Ethereum-for-China crypto @antshares?”
Bennett’s response, “I’m skeptical of the consensus mechanism antshares uses (delegated BFT). It’s more appropriate for a private blockchain with trusted validators. It’s part of the reason I don’t like Ripple as a technology. Obviously, it could still be a good investment (esp as a momentum trade), but if your thesis in the space is that there’s value in radically distributed control, then antshares doesn’t qualify in my assessment.
The antshares model replaces miners or stakers with “bookkeeping nodes”. These give some benefits of decentralization, with respect to availability, etc. However, the set of bookkeeping nodes in these systems tends to be fairly small, well known, and closed. Not anyone can just launch a bookkeeping node and start participating. It’s not clear from the latest whitepaper how bookkeeping nodes are managed, but it seems to indicate that running one anonymously would be out of the question . The hearsay on reddit is that you can run a bookkeeping node, but it requires staking 10k ANS (~$100k now). I can’t seem to find any confirmation of that though. In any case, the number of bookkeeping nodes is likely limited due to technological constraints. Coordinated distributed consensus among many nodes is hard, hence mining.
The ultimate downside of this model is that it makes regulatory control by a single government much easier. In the case of antshares, the obvious regulator would be China, which has an incentive to drive it’s citizens into crypto-assets upon which it can enforce capital controls.
They also claim that the bookkeeper model is more resistant to forks. That’s simply not true though, as some dissenting subset of bookkeeper nodes could elect not to communicate with the majority, thereby creating a fork regardless of size.
I could be wrong on any of this, there’s not a ton of English-language documentation that I could find, so please correct me if I’m missing something!
Hope you found this as helpful as I did! If you did, give Bennett some love. I’ll keep sharing his thoughts as long as people find them useful.