Hacker News new | ask | show | jobs
by alistproducer2 3155 days ago
More so than just "blockchain" I'd say getting into distributed computing will pay dividends in the future. Understanding DC is plenty good for lots of current tech trends (big data, ML, etc), but also looks forward to the switch to trustless systems to be used in everyday life.
2 comments

Indeed I'm not a fan of "blockchain" as a buzzword at all (especially now that people are trying to apply it to things that shouldn't be distributed); but clearly there are many things that do benefit from distribution.

Things that come to mind are Namecoin, I2P, IPFS, and other tech on the pipeline that can bring the internet closer to it's original ideal of distributivity, each person responsible for their content, etc.

Those are also free software ideals: while great strides have been made in open sourcing user-side software, (mainstream android, Linux on servers, etc), the internet just hides a massive closed system: before you could at least inspect how things work through reverse engineering, but querying web servers is literally a black box model. The problem that not everyone wants to run their own server or even deal with renting out can largely vanish from certain applications. We've started with the easiest ones, which were file sharing (reputation-free), then Bitcoin, with more basic web tasks incoming.

It's important to keep in mind most of those are fit for low-efficiency. Unless we have a breakthrough with Fully Homomorphic encryption, the bulk of computing itself will be centralized (or you will have to accept a mix of high cost or unreliability).

I agree with most things in your comment, I'm just curious what things you see that "shouldn't be distributed"?
I would say anything that can be done by a centralized entity that doesn't benefit from adding censorship resistance. The main reason blockchains need complicated and, in many cases, wasteful consensus algos is because they were first designed to promote open membership to the network. This meant that you had to design a system that allowed strange machines to work together while no entity trusting any other to not cheat it. Open membership means that the ledger can not be effectively censored, and by extension, neither could one's wealth. Outside of that use case (censorship resistance), very few things benefit from transitioning from central authority to blockchains.

I didn't cover the case of smart contracts, but it's essentially the same thing.

> I would say anything that can be done by a centralized entity that doesn't benefit from adding censorship resistance

Ok, and what concrete, real examples does not benefit from that?

You have some private data. You want to compute a hard function of this data, and your computer isn't powerful enough.

For example, this could be a rendering problem: you provide the models, a distributed system computes it (for a cost). This system cannot be private, efficient and reliable. It can be private and reliable, but hugely inefficient, or efficient but non-private and non-reliable. With a non-distributed system (i.e. Google compute, Amazon cloud, etc) you get pretty much all 3 of them, with a slight caveat that privacy is guaranteed circumstantially/legally instead of mathematically. But it's extremely safe to assume you'll be fine.

You want to run and real time multi-user application.

For example, and MMORPG. This one is a fun challenge for sure, but it's a complete nightmare to develop, and again needs sacrifices. In this case you probably can't achieve speed, security, and large number of players simultaneously. Every decision (like "what did this monster drop?") needs to be done through some large scale consensus to guarantee security, which kills latency completely. If you're extremely lax with security and consistency, then you can probably make it work, but accepting users might cheat, possibly game-breakingly. Or you could achieve it all with a handful of players, and reasonable efficiency[1], but your scope will inevitably be limited. I believe Ubisoft's ForHonor[2] uses P2P gameplay, but I'm not sure how safe their system is. Also I'm sure stats and most persistent data is stored centrally.

[1] See Mental poker:

https://en.wikipedia.org/wiki/Mental_poker

[2] Some reddit discussion from quick googling:

https://www.reddit.com/r/forhonor/comments/5u8jlh/why_forhon...

Note that the players largely loathe this system.

Is blockchain actually being used for anything that people are actually using? I've never had such an experience of dissonance about a technology that I hear about incessantly yet can't see a single application of in the wild. Apparently it is consuming all the world's electricity, making graphics cards impossibly expensive, yet... where is it? What is it doing?
The blockchain is not what's responsible for all of the things you describe; rather, it's the dominant algorithm for psuedo-randomly distributing the ability to modify the block chain, called proof-of-work (namely Satoshi's version). There are other, just as computationally wasteful algos that try to be memory hard as opposed to cpu-hard (Cuckoo cycle PoW for example.

Lots of folks are working on different, less wasteful ways of making blockchains more resistant to attack - the most well-known of the alternatives being proof-of-stake which is essentially a betting scheme. It's a fascinating area of computing if you go beyond the hype over the BTC price.

Ok, but what are blockchains doing right now? Does my iPhone use them? Facebook? Small businesses? Tesla? My doctor? Who/what??
Lots of financial institutions and other businesses have been researching ways to replace systems with private blockchain technology [0]. This is just one of several business partnerships exploring ways to integrate the tech.

Unless you're buying/selling or paying for things with cryptocurrencies, then, no, you probably aren't encountering any blockchain tech right now.

[0]: https://entethalliance.org/members/