Hacker News new | ask | show | jobs
by ChadNauseam 1492 days ago
Bitcoin and PoW not really, but the core idea of cryptocurrency stuff is distributed byzantine-fault-tolerant consensus where honest behavior is economically incentivized. That sounds kind of abstract and bitcoin itself is not very useful (throughput is too low), but if it can be made to scale it’s very powerful. First of all, it allows computation that no one can control, which is most obviously applicable to finance with things like automatic market makers.

But more compelling to me is that it allows you to do what bittorrent did but in general - with bittorrent anyone can host a file and a static link can help you find those people and download the file (with no need to trust that the person serving the file hasn’t replaced it with some other file). This is possible because of cryptographic primitives like hashes that let you use a few bytes to uniquely identify the contents of any file, distributed hash tables that let you come to agreement on which IP addresses are serving which files, etc. (If you don’t think bittorrent is useful, that’s fine, but me and many others think it is.)

There’s still a lot of work to be done, but we’re approaching a point where you can “bittorrent-ize” a much broader class of services. Bittorrent works only for serving files whose hashes you already know, but doing the same for a service like HN is much more difficult. You need to allow posts from many different people and know when they were submitted, and maintain vote counts, but a distributed ledger is perfect for this. It’s not practical to do this on any decentralized cryptocurrency right now, but we’re slowly getting there.

Like I said, scaling this is a very difficult problem, for example you need to have data sharding so that not every node has to store the full ledger, but over the last few years cryptocurrency people have come up with very good data sharding systems like danksharding (which will hopefully be implemented on Ethereum in the next decade).

You also don’t want every node to have to redo all the computation, but ZK-proofs (which were basically only used in academia before cryptocurrencies came along and poured billions of dollars of funding into making them practical) make that unnecessary at the cost of some significant overhead when performing the computation. Despite that cost, we already have really good layers on top of Ethereum called ZK-rollups that lower the transaction cost to almost zero and introduce no new trust assumptions.

You also want state expiry or state rent so the network state doesn’t grow monotonically, but that’s also being developed and in the past few years we’ve also developed some really good state expiry schemes.

You also want fast finality so that you don’t have to wait 10 minutes for the contents of the ledger to stabilize, but we finally have scalable permissionless byzantine fault tolerant consensus schemes that have very fast finality (<30s), one of which is being implemented on ethereum (called casper).

There’s other cool stuff too, but I think this direction is one of the most exciting ones.

Disclosure: I’m a protocol developer for a major cryptocurrency (although not ethereum or bitcoin)