55 comments

[ 3.1 ms ] story [ 236 ms ] thread
IMHO my definition here is both better and earlier, and also better nails the key promise of distributed ledger technology, in terms of it being a mechanism for better allowing large organizations and societies to reach consensus:

https://news.ycombinator.com/item?id=1550059

Do you really still think that is what's happening still in our horizon?

Web3 seems to promise smaller, balkanized services, compared to social media monoliths we have now, in the service of, presumably, creating self-governing groups communities/businesses.

At least I think that's the idea? Isn't twitter already society expressing ideas? If anything this idea is "better" by being more vague.

Web3 will be to Twitter et al. what Bitcoin is to the dollar. Expressing ides as plenty easy on Twitter, so these balkanized services will only be used for hate speech, organizing criminal activities, and CP. Legitimate use will be limited to ultra hardcore libertarians and true believers. Unlike Bitcoin, there isn't an appreciating asset headline to get the attention of regular people, so won't even have the legitimacy halo Bitcoin benefits from.
> “Less trust, more truth.”

What a neat platitude that means absolutely nothing. As a society, over, oh I don't know, like 15000 years, we figured out the the best way to enforce truth is via some sort of centralized institution: the court of law.

> They could, right. They sort of do—there’s the star thing that you can only do once per day. But guess what? They're a profit-motivated company. So if you pay Tinder enough, you can just send as many stars as you want.

Wait, crypto miners aren't profit-motivated? Maybe we should introduce Mr. Wood to flashbots[1] -- a "sub-network" of Ethereum miners (a fork of geth) who's entire purpose for existing is front-running (for a price, of course). Truth as long as you can pay for it -- got it. Web3 is end-stage capitalism and we've been down this road in the early 1900s. Yawn.

[1] https://github.com/flashbots/pm

The best way to enforce truth is via mathematics. A court can declare 1+1!=2, which does not make it so. Courts are fundamentally human constructs. I find the ancient universal truths of numbers to be better.
If someone manages to steal money from a crypto wallet (hacking, social engineering, whatever), does that make it theirs by the ancient universal truth of numbers?

Money is a fundamentally human construct.

Practically, yes. Whomever has the private key can make a transaction. Proof of knowledge (of a private key) is equivalent to ownership. This is how it works.

Money is a human construct. But it can live on a system backed by physical universal quantities like computation, to remove the need for human trust constructions.

It doesn't remove the need, it just handwaves it away.

You can't just ignore theft, and it's definitely not a positive aspect of a system like that.

Cryptocurrency is meant to be analogous to physical cash.

Cash is not designed to prevent theft, most theft of monetary instruments throughout history has been through confiscation of gold or cash. They exist as physical quantities in the physical universe -- anti-theft features (as opposed to anti-counterfeiting) measures do not exist, nor can they. It is just a rock or some hemp-cotton paper. Likewise, cryptocurrency exists in the computation universe as a state in a peer to peer consensus, and controlled by knowledge of large integers in the integer universe. Anti-theft features do not exist, nor can they. Its just an integer.

Its not about a positive or negative aspect, they do not apply, anti-theft as a concept is an out-of-band mechanism. Primarily a state violence backed model. It works for most. Cash, Gold and Bitcoin, its just a boring token of value. It is the ecosystem around it that provides the ability to enforce 'anti-theft'.

I mean, there’s a lot of mathematics that are social constructs to me. Like, I’ve never sat down and “proven” the calculus I learned in university.
I'm going to go ahead and coin the term Web4. I'm reserving the name with the right to fill in what it means at some undetermined point in the future.

I will take no further questions at this time.

Dibs on Web5
Only if I get web 6.283, or Webτ as the cool kids are calling it these days.
It's going to be called WebV (like RISC-V). Then we go back to Arabic numerals for web6.
Why didn't I think of that :-(
Dibs on Web3 if this Web3 has the same fate as the semantic web.
I still remember, when the semantic web was Web 3.0…

(Arguably, Web 3.0 rather was the mash-up web of early centralisation of services, with widgets and things like Yahoo! Pipes, etc. Time to to think of Web4.)

> The Father of Web3

I didn't know yet another pump and dump scam or pyramid scheme reinvention required a "father".

The "father" terminology is consistent with other attempts at technical mis/reappropriation in the cryptocurrency community (cf. "crypto," "trustless," &c).
Blockchains are, by design, incredibly inefficient. I'm not talking about mining; take storage as an example. The consensus may be distributed, but the data is purely redundant. The majority of nodes in the network will have to hold a complete copy of the entire chain. If Web3 takes off, it will become more difficult (read: expensive) to operate a node in the network -- doesn't that seem backwards? I haven't seen a protocol address this in a meaningful way, it seems to be shrugged off as a bridge to be crossed at a later date. Storage is cheap! But I don't see how these systems could scale to be truly impactful while remaining so inefficient.
What do you mean? It has negligible performance overhead according to the "Performance" section here: https://github.com/zhuowei/nft_ptr

/s

I think the OP means less about perf and more about dollar cost since you have to either be able to trust the uptime of a storage node (and likely pay more) or make more copies (and therefore pay more) in order to be guaranteed your data isn't lost when a node goes down.

The performance of splitting up files and storing them on multiple nodes tends to be very good since you're not as bottlenecked to one node feeding out all of the bytes (think about bitorrent and how fast it is to download a well-seeded file). That said, network egress might become a problem if the node you're seeding content from lives within AWS or another cloud provider. I don't think this egress price penalty exists in any major ISPs that I know of.

The comment you’re replying to is poking fun at a gag project; but I agree with you as well.

The ETH chain was about 500 gigs over the summer when I synced a full node, but it was growing fast. The amount of data stored is monotonically increasing for every full node in the network. You also need fast storage, you can’t use dirt cheap spinning platters. Maybe it won’t grow faster than storage cheapens, but I’m not sure I’d make that bet.

Ahhhh missed the "/s" at the end of the comment I was reply to. :facepalm:

> The amount of data stored is monotonically increasing for every full node in the network

Right-O. Also the archived nodes seemed to be ~6TB in size a year ago. Today I learned!

https://ethereum.stackexchange.com/a/91156

Also the linked performance section says that going from 0.005s to 3 minutes is "negligible performance overhead".

I added the "/s" to spare people clicking through before realizing it was a joke.

This is what I'm thinking too. By default, you'll always want to store more copies of the file since you can't trust the uptime of the nodes in the same way you can trust the uptime of an EC2 instance or node backing S3. I think SLAs on trust of an individual node in the network are needed for storage to work.

Compute, on the other hand, seems to have a really bright future with web3 as long as the workload/task is parallelizable (for instance transcoding a video which has been broken up into many HLS segments). This is at least based on how I work it out in my head, but I'd love to have someone school me who might know more!

With proof of stake, a complete chain history is not strictly required by validating nodes. You don’t want everyone to delete it, but it’s not required for consensus.
The consensus among distributed systems people without a financial stake in it seems to be that practical proof of stake remains an open problem. Obviously no one that owns SOL or DOT or ADA or whatever is going to say that, but I’ve looked hard for a scalable, secure, reasonably cost effective PoS L1 and come up empty so far.
What's wrong with Cardanos consensus protocol as an L1?
There isn’t a Cardanos consensus protocol per se: there are a family of them under the umbrella term “Ourobouros”. In production it’s the BFT variant which is sort of a warmed over tendermint or algorand.

The more ambitious variants are very mathematically rigorous but axiomatize a wall-clock oracle, as well as in some cases mathematically-interesting but practically absurd assumptions about synchronicity.

Hoff has deployed his private fortune doing (among other, uh, things) serious research on distributed Byzantine consensus.

If they’ve got it nailed down I missed the paper.

Is there a link to another forum thread (or something similar) talking about the practical issues with operating proof of stake? Would love to learn!
Current Ethereum is a non-scaling proof of concept. They kicked that can down the road, but the blueprint solution is now in and many of the components are built.

The short of it is that with the modular approach to Blockchain scaling, more nodes will mean more scale. Separating out execution, settlement, and data availability, the blockchain "trillema" is inverted.

The writing is a bit technical but I recommend that of @polynya to understand more.

https://twitter.com/Swagtimus/status/1445905613486231555

https://polynya.medium.com/

Just can't rule out the technology just because it's slow and inefficient/ Rememeber the early days of internet
> Yes and no. I think trust in itself is actually just a bad thing all around. Trust implies that you are you're placing some sort of authority in somebody else, or in some organization, and they will be able to use this authority in some arbitrary way.

This is just such a fantasy land.

There's a guy who wrote The Knowledge, a book that (for fun, basically) describes the knowledge we would need to rebuild society if we suddenly forgot everything. Like when and how do we grow crops. What do effective tools for sowing look like?

Like if we instantly forget everything, this book is what we need to bootstrap quickly.

He was asked "what about government?". His answer was "there's no point. The guy with the biggest gun will be the government".

And that's true today. And it's why web3 is idiotic.

"Truth" won't help you, and "trust" doesn't matter, when the government (in the form of the police) knock on your door and say no, actually, your smart contract is an illegal scheme and we are going to put you in a locked room for a while now.

You neither have to believe in the government, nor trust it, for it to force society's will upon you.

The world is not black and white, and I think you are missing the point.

While what you are saying is true to an extent, we can still decrease trust and replace it with verifiable and auditable mechanisms at the margins.

For example, the Fed currently states that they target a 2% annual inflation. Well, the US could just adopt a virtual currency, and hard code a 2% inflation amount that was verifiable in public code. Note that I’m not saying this contrived example is necessarily good or bad, but let’s just assume everyone agrees 2% inflation is good and hard coding a 2% money increase rate is equivalent and it’s not better to give the government flexibility. This change has the effect of reducing our need to trust that the government will act consistent with its messaging; we can prove it. And while the men with guns can always change the rules (and maybe they should in some scenarios), it’s easy to see when the rules are being changed, and it’s likely harder to do so if it’s not a good idea since there are structural forces that make it more difficult.

The US government is filled with mechanisms to reduce trust (eg checks and balances).

And the reduction of trust is not just a government point. Twitter grew by having a great public API which it then knee capped and harmed the developers who trusted them. Would it not be better to have a protocol incentive that you could more readily trust would not be changed under you? What if the Twitter API had a governance token where the indie developers had owned a large stake of such tokens?

Your example is a great example of how absolutely catastrophic and disconnected from reality blockchain people are.

This idea that we can pre-commit to ideas, and not only that we should pre-commit to a course of action with no option to change as new data comes in, but that we are actually able to correctly codify this perfectly, is preposterous.

A bug in a smart contract can make murder legal, or loophole an interest rate to be a billion percent. It's delusional to think that anyone would want this.

A court or legislative body simply has to be able to undo bugs, to overrule.

Maybe we can't trust the government very well, but we KNOW that we can trust smart contracts to completely fuck us with no recourse.

Help me out with the web3 tech basics?

As a baseline, let's do web 1.0. To set up a basic web server today, I need:

1) A public connection to the internet so I get an IP address.

2) A server computer listening on port 80 or 443 for incoming HTTP connections over TCP, returning data from a file system or database in the form of HTML/JS/CSS text documents and/or media files as requested.

3) A computer with a web browser which finds the server usually via DNS, and then requests data from the web server by passing it URLs.

Now, you can replace the browser with an API client and the server with a cloud provider and HTML with JSON and you get Web 2.0 (more or less).

Which brings us to "Web3". I honestly have no idea what the hell it's supposed to be or how it works. I've read some things that say it uses IPFS, others which are just about communicating with the Ethereum network of servers, specifically for managing NFTs.

Is there some sort of key technical solution in Web3 that I'm missing? Let's say I'm supposed to start work tomorrow on a cool new web3 app... What is it that I'll be doing exactly?

This is essentially the project I'll be doing over the holidays. I run a 3d virtual world start-up (today you'd call it a metaverse for sports - https://ayvri.com).

Most sports tracking apps view owning the user data as lock-in. I think that GPS/IGC/TCX/FIT data are a good target for decentralized and "personal" storage.

For our app, we have tons of different user types, lots of pilots who want us to build a "flight log" for them, hikers and runners don't need any of this stuff, and there are already a bunch of flight logs that exist.

So, my thinking is that I'll build what essentially to most people will look like an API to a users data. With the exception that I won't be running the only service that can access and use this API. It's open source, and available to anybody that wants to run it. Anybody who is storing their tracks using any app that uses that open and common API can use easily try out any other app.

From the developer side, the technologies are still servers and databases. From the client side, I'll probably be hosting their "wallets" until they decide they want to take them somewhere else, or if I can figure out a nice UX a non-technical user can understand.

So no, I don't think you are missing any key technical solution. Unless you are building your own blockchain, which I liken to building your own database because your app needs a database.

That's my 2 cents at the moment, but I may change my mind in the coming weeks.

I can give an example of a proof of concept app I created for a hackathon -

Frontend hosting, I decided to go with a traditional hosting solution (vercel). Nothing changing here.

Backend APIs - Was able to replace the need for dedicated backend APIs by using RPCs and GraphQL queries using a project that allows for indexing smart contract event data in a GraphQL queryable format (https://thegraph.com/en/). I also created a smart contract which lives on the Ethereum chain and allows for users to achieve the interactivity that I desired for my app (which was essentially an escrow for a scheduling application). The events are indexed by the graph, so I could efficiently query this subgraph to retrieve relevant data to display on my frontend.

Authentication - Just use web3 packages to connect users wallets to the website. No need to use OAuth+OIDC or similar approaches for authentication, just connecting wallets on the frontend works.

If I wanted to take it a step further, I could have hosted my app on permaweb (https://www.arweave.org/) which will host the content in a distributed fashion with a one time charge.

For a different example, I'm creating an NFT project that uses the NFT ownership to grant access to specialized services (launching the user's NFT in a specialized application I created in an open source gaming engine). I use similar techniques as above, still hosting on vercel, but I use the innate ability to use NFTs as proof of ownership to act as an auth token into my service. This allows for me to distribute the interactive art I've created in a way that fully grants users ownership over the art, and also allows for them to access these specialized services only available to owners. Furthermore it's trivial to detect forgeries so even if someone does the horrible act of right click saving the art, they won't actually get any of the actual value from doing so. And if someone attempts to forge the token by minting an exact copy, it still will not grant access as it's easy to detect forgeries.

It's pretty exciting imo and has been a very fun project to work on. So by leveraging the similar approach for authentication (connect wallet), and NFT proof of ownership for authorization, I've been able to create a unique project with a lot less complicated of a stack tbh.

I personally think there's value in mixing centralized services (like traditional hosting of applications) with decentralized services (like using blockchains as a database of ownership, such as with NFTs).

one path: Solidity+web3js

steps:

1. create a MetaMask wallet and and add funds to it with your friendly neighborhood Bitcoin ATM (they do ETH too).

2. learn the Ethereum stack on eth.build and create a program in the language known as Solidity.

3. create a javascript app that talks to your Solidity contract, using the open-source javascript library web3js.

4. People with wallets installed as Chrome extensions can then navigate to your web3.js app (which can be hosted on a regular webserver), and send funds to/otherwise engage with your contract.

https://metamask.io

https://eth.build

https://github.com/ChainSafe/web3.js

Me, an old fart…

  8-D

                        }{
   …reading about “web3” ^
                         |
                (butterfly)

      Is this… NNTP?
> Gavin Wood, who coined the term Web3 in 2014, believes decentralized technologies are the only hope of preserving liberal democracy.

Pushing the idea that the fate of liberal democracy is tied to the fate of “web3” is so incredibly cynical, it makes me nauseous.

OMG, who coined "the term"?

"web3" is a name of a project, not a general technical term that people agreed upon. This is a marketing scheme, and mere delusion from a cult of people that never clearly and strongly defined.

Maybe this was the very beginning of the misery of blockchain - the cult only looked into their own dream, and never looked outside.

Can I just please "coin" the term web5?

I'd love to do web4 but I'm pretty sure someone's already done it.

web5 = the web is in your brain. Think of it, and <ADVERT> you <ADVERT> have the <NIS ENLARGEMENT ADVERT> answ <MAKE MY LOGO BIGGER CREAM> er!

You can skip this advert in 0:49.

I will see you at the inter <ADVERT> view!

You didn't like this advert? TELL US WHY.

Someone already did Web3 a long time before Gavin Wood supposedly coined it (he didn't).

People were writing about Web 3, aka Web 3.0, two decades back. It was supposed to be about the semantic Web and various related concepts that would revolutionize information and knowledge systems.

The tech industry hype machine is a self-humiliating con machine more often than not. Web3 should be aggressively mocked to the extent the clown parade attempts to use it to hype more shit.

It was not uncommon to write about it as of 2009-2011. Even CNN wrote an article about it circa 2009:

"Web 2.0 is so over. Welcome to Web 3.0"

https://money.cnn.com/2009/01/07/technology/hempel_threepoin...

(yeah but, uhhhh, if we call it Web3 then it's totally different from calling it Web 3.0 and not so embarrassing mkay)

LOL as if coining that term was a positive qualification.
(comment deleted)
I wonder who would be actually interested in the decentralization part if there was no Bitcoin/NFT bubble? My guess is "not many".

I mean, those people exist, but it's probably the same number of people who are into Mastodon, etc. They are not the mainstream. The majority of people seem happy with the current model.

So, while the concept of Web3 looks interesting, after this initial frenzy dies down, I bet there will be a long winter coming to Web3 town.

I don’t understand the cynics beyond surface-level. Still trying to.

Web3 is a backend change to the current internet so you hold your assets in your wallet and sign to allow/revoke their use on a service. Combined with the transparency into underlying chains you can do some really interesting stuff (e.g., opensea). Ultimately the new paradigm could fix the first sin of web2 which is some mix of getting off the ad model & eliminating the credentials everywhere issue.

What am I missing? Genuinely interested in a valuable counter.