Live data from Hacker News

Web3 is centralized and inefficient

neelc.org

611–620 of 769 posts

Re: Web3 is centralized and inefficient

#611
post #103
post #97

People use centralized systems because they actually like the convenience that comes with it. And with that, comes the decentralized system changing in such a way that it changes to almost NEEDING centralization. The problem is that engineers and cybersecurity people all think that everyone else thinks like they do, when in actuality the complete opposite is true. The biggest example is the internet itself - the inte…

This. The sad thing is that people like the convenience of centralized systems. Humans are lazy. They'll go with the #1 option, even if it means building a centralized monopoly. I should've made this point clearer. Note: I am the article's author.

this statement is embarrassing. specialization and division of labor is not due to "laziness"

Re: Web3 is centralized and inefficient

#612
post #97

People use centralized systems because they actually like the convenience that comes with it. And with that, comes the decentralized system changing in such a way that it changes to almost NEEDING centralization. The problem is that engineers and cybersecurity people all think that everyone else thinks like they do, when in actuality the complete opposite is true. The biggest example is the internet itself - the inte…

> The problem is that engineers and cybersecurity people all think that everyone else thinks like they do, when in actuality the complete opposite is true.

In theory yes. In practice, nobody has made this supposedely good for the hacker / engineer system. Otherwise I'd be using it. Since your post is just parrotting the usual anti-decentralized stuff with extremely strange motives, and ignoring obvious facts such as that bittorrent works perfectly even with the legal threat to using it, lets move onto a new topic: What such a system would look like.

I don't want 2FA, phone auth, certs. I want to connect to a service providing my own public key as auth and authenticating it against a known public key which is saved on my computer. I can secure my computer however I want. I also don't want to use a badly designed roundabout way to do this like X.509 with cert pinning. I can just have a I don't want my software to have """human readable""" names that are stored in a centralized directory where they conflict with others with character sets (and restrictions on them) that change every month. Instead, I want content-addressable code (functions, types, etc) which I have a dedicated editor for that allows me to write code against them.

I don't want a weird character set full of unknown functionality like ASCII. I don't want to have untyped data where I or my code is forced to make insecure ad-hoc decisions on how to interpret it (is this ASCII, CP*? UTF?). I don't want a crappy ad-hoc fly by night serialization system (each with its own gimmick such as "speed", "readability") like protobuf, yaml, yet another yaml, toml, yet another toml that doesn't solve any semantic problems associated with serialization. I don't want that protobuf lib where there is no documentation on how it maps types to protobufs and in some cases it leaves pointers initialized to null and in some cases it initializes them to point to an empty struct, based on some stupid intuition I was supposed to pick up if I become a fanboy of this particular serialization lib over the 10,000 others.

Instead, I want to use the same editor mentioned before to view data, which is just data of the ONE programming language on this computer. Algebraic data types serve this purpose almost perfectly. This problem was solved in 1970. I want one serialization format which is just a set of steps on how convert data of one type to bits. Then when I receive this data, I will view it in this editor. The point being that we don't care how the data looks on wire, because it's universally decodeable with the most common tool of the OS.

I don't want multiple programming languages that are each overly designed around strawmen like "the user" and "speed" and "C-like", with tons of edge cases such that even if I learned one well enough to be able to write sound code (you can't: https://stackoverflow.com/questions/16159203/why-does-this-j...), it wouldn't matter because your program relies on components written in 15 other such languages.

I want the only language to also be at the very least, such that I can understand what it does on a syntactic level. Again, you can't:

https://stackoverflow.com/questions/8115522/a-unicode-newlin... https://stackoverflow.com/questions/17707290/set-a-variable-... https://stackoverflow.com/questions/17662815/how-does-java-d...

I don't want to have to check what ports my program uses and check if the web browser (of course, I don't want a web browser at all) on a malicious page can send a request to those ports that will be processed as some administrative function; I want things not to pointlessly listen for no reason by default in a non-composable way. Instead, I want a program to have a list of channels that only I as the computer owner can choose to link up with other programs I choose to have it communicate with (this is known as the capability security model).

I don't want to host data, I want to refer to them by links in a self organizing anonymous content addressable storage like Freenet. I want to use the same system to distribute code.

I don't want my programming console (essentially what *sh is, just an extremely poor version of it) to be implemented on top of some obsolete tech called a terminal, that you couldn't even explain to the typical software engineer 20 years ago, that goes bezerk when certain characters hit it and has ui interaction quality comparable to a 5 year old's javascript program.

Re: Web3 is centralized and inefficient

#613
post #103

Earlier quoted context omitted.

This. The sad thing is that people like the convenience of centralized systems. Humans are lazy. They'll go with the #1 option, even if it means building a centralized monopoly. I should've made this point clearer. Note: I am the article's author.

It's almost as if trust turns out to be some kind of dominant strategy.

thank you

Re: Web3 is centralized and inefficient

#614
post #547

Earlier quoted context omitted.

Something like 1/3 of the world uses FB. Do you really see it dying soon?

Soon in the relative sense, perhaps...I didn't mean to imply like next year. But 5-10 years from now? I can see it.

Yahoo had a revenue of $7.4bn in 2020 and Yahoo was many times smaller and less impactful than Facebook.

Facebook will bury us both.

Re: Web3 is centralized and inefficient

#615

Earlier quoted context omitted.

I think the answer to why one chain is better than many chains is because it’s way harder to 51% one chain with many applications rather than having to 51% one chain with one application. I don’t know enough about blockchain tech to KNOW this is correct, but it’s something interesting that kinda falls out of the theory.

I guess the natural response would be that the companies running these myriad chains simply wouldn't care about abstract cybersecurity concerns like 51% attacks, but instead selling services to users. Just consider all of the companies today which have horrible security. The main factor that they care about is whether their business will get attacked in practice, which is infrequent enough that it always makes the ne…

If a company didn't care about security or other "abstract cybersecurity concerns" and instead only cared about selling something to their users, why would they use something like blockchain which is entirely based on abstract technical and cybersecurity concepts instead of existing web technologies which are more efficient and easier to use?

Re: Web3 is centralized and inefficient

#616

Earlier quoted context omitted.

Just look at git adoption. Git's selling point is that it's decentralized and distributed... but just look at the shitshow that happens whenever GitHub goes down. Git may allow for developers to all pull from each other, but in practice your employer will always have a canonical repo that's blessed as the official source, and if that one becomes unavailable for any reason work grinds to a halt. And that goes double i…

It’s not really lack of repo access that makes GitHub outages bad. It’s all the “value-add” stuff on top of the repo that makes outages suck. You’ve got workflows bolted on top that block forward progress when it goes down. Hooks for when push requests happen, when commits happen, etc. You’ve got code reviews in your workflow that cannot happen when the service is down. Basically there is much more to a service like…

And it's going to be the same with cryptocurrencies.

All the interesting stuff for normal people is built on top.

Re: Web3 is centralized and inefficient

#617

Earlier quoted context omitted.

> But we're talking web3 here, not money What exactly, do you think web3 is?

This is a question that legitimately needs to be asked. web3 is not just about money, or it should not be called web3. I think that the lack of a consistent definition and understanding of what web3 is supposed to solve is why every thread about it turns into a bit of a mess. e.g IPFS is generally considered part of web3, and is not about money at all.

Not all about money, but they now have a couple questionable endeavors like Filecoin and NFT.storage. It seems they are more interested in making money than improving their project, and IPFS has many outstanding issues and limitations.

Re: Web3 is centralized and inefficient

#618
post #562

Earlier quoted context omitted.

I think the answer to why one chain is better than many chains is because it’s way harder to 51% one chain with many applications rather than having to 51% one chain with one application. I don’t know enough about blockchain tech to KNOW this is correct, but it’s something interesting that kinda falls out of the theory.

You hit the nail on the head, I'd say. If there is one chain, you need to amass 51% to attack it, which is nearly impossible. If there are 100 chains with 1% of the total hash rate each, you just need to control 0.51% of the total hash rate to take over one of those chains.

This is technically correct, but a lot of applications that use blockchain store the proofs on multiple chains, which in your example is equivalent in hashpower to one big chain. Also you are describing PoW and lots of chains are not PoW now.

Re: Web3 is centralized and inefficient

#619
post #359

The mortal sin is to consider artificial rarity a good thing . The internet is infinite, the appeal of the metaverse is exacty because you can be infinitely young, infinitely rich, have infinite partners, break ouf of the constraints of this world. Constrained virtual worlds are called games and have a different objective. If we are to build a zero sum world, we d better stick to the physical one.

Bitcoin is about sound money in the real world. Artificial rarity is a feature in that space. Proof of work is about grounding the system in the physical world.

And now we have 90000 Bitcoin clones with only slight differences. Every dollar invested into these shitcoins is a dollar not invested into Bitcoin. So much for rarity

Re: Web3 is centralized and inefficient

#620

Earlier quoted context omitted.

I guess the natural response would be that the companies running these myriad chains simply wouldn't care about abstract cybersecurity concerns like 51% attacks, but instead selling services to users. Just consider all of the companies today which have horrible security. The main factor that they care about is whether their business will get attacked in practice, which is infrequent enough that it always makes the ne…

If a company didn't care about security or other "abstract cybersecurity concerns" and instead only cared about selling something to their users, why would they use something like blockchain which is entirely based on abstract technical and cybersecurity concepts instead of existing web technologies which are more efficient and easier to use?

In this scenario, presumably so that it can market itself as a Web3 company, which is the Future of the Internet™ and will attract investors. After all, the vast majority of NFT buyers and other crypto holders are in it to make money for free, not because they want to buy and sell real-world goods and services; as long as their money doesn't get stolen, they don't really care about the cybersecurity aspects. Even when cryptocurrencies are used as a medium of exchange or transfer, the main cited advantage is ease of use. I suspect that this comes only from the lack of regulations, and that it will die once governments start cracking down on exchanges, but perhaps I'm just being too pessimistic.
Post reply on HN