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.
Web3 is centralized and inefficient
611–620 of 769 posts
Re: Web3 is centralized and inefficient
#612People 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…
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
#613Earlier 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.
Re: Web3 is centralized and inefficient
#614Earlier 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.
Facebook will bury us both.
Re: Web3 is centralized and inefficient
#615Earlier 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…
Re: Web3 is centralized and inefficient
#616Earlier 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…
All the interesting stuff for normal people is built on top.
Re: Web3 is centralized and inefficient
#617Earlier 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.
Re: Web3 is centralized and inefficient
#618Earlier 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.
Re: Web3 is centralized and inefficient
#619The 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.
Re: Web3 is centralized and inefficient
#620Earlier 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?