Hacker News new | past | comments | ask | show | jobs | submit login
Ethereum Development Documentation (ethereum.org)
65 points by michaelsbradley on Aug 23, 2022 | hide | past | favorite | 37 comments



I understand that there is a lot of negative sentiment with various pump and dump schemes that have been going around for a while or similar bad solutions that just rope in naïve retail investors.

However, I am genuinely curious what products besides stable-coins, alt-coins or NFT marketplaces are being created that rely upon base ETH tech. Is ETH meant for purely financial products or are there examples of other types?


The main use cases where a blockchain makes most sense are all financials. Unless there is store of value or transfer of value, you can usually get away with less headache with centralised solutions.

This being said, there are couple of notable efforts outside pure financial protocols.

ENS is alternative for DNS: https://ens.domains/ (___domain names may have a lot of value OFC)

Gitcoin is a “grant DAO”: https://gitcoin.co/

Lens tries to rebuild social media with a user in control: https://lens.xyz/ (the long term plan is to have uncollateralised lending if we have your social graph available)

Radicle aims to build censorship proof Github: https://radicle.xyz/


> Unless there is store of value or transfer of value, you can usually get away with less headache with centralised solutions.

Not even necessarily centralized. There's also the pre-blockchain world of decentralized systems. There's the Chaum stuff like his blind signature digital cash and mix networks (a precursor to onion routing), there's distributed hash tables that are used in (trackerless) BitTorrent, Freenet, and IPFS.


Shoutout to GNU Taler (https://taler.net/en/index.html) a project that aims to re-implement a DigiCash-like solution.


... and which has been trying to do so since (at least?) 2015 with no perceivable progress towards anything which can actually be used to make payments.


It's impossible to build a protocol with secure light nodes on top of ETH, so it doesn't really make sense for DNS.


> It's impossible to build a protocol with secure light nodes on top of ETH

Are you sure? "PoS light client friendliness" is on the "already behind us" part of Vitalik's roadmap for Ethereum.

https://twitter.com/VitalikButerin/status/146641137710755840...

It looks to me like Ethereum will be light client friendly at the moment of the PoS merge, three weeks from now.


It's not impossible it's just not currently available. The consensus is deterministic and therefore coukd be proven inside ZK proofs, enabling "ultra light clients".


Okay, but why use a generic, bloated system like etherium? why not just fork etherium or create a system specificially optimized from the ground up (e.g. namecoin or something) for namespacing.

this only serves to enrich pre-existing etherium owners above all else.


Few reasons

- The largest cost is distributed state and the cost writing key-value in global state will be the same for any blockchain

- Maintaining custom block producers is massive overhead

- Maintaining custom peer-to-peer network is massive overhead

- Maintaining custom node software is massive overhead

- Maintaining custom block explorer is massive overhead

- Maintaining community and events are massive overhead

- Maintaining learning material and educating developers is massive overhead

The total cost of ownership (TCO) is much lower for a decentralised application on a generic blockchain than creating your own blockchain.


> -The largest cost is distributed state and the cost writing key-value in global state will be the same for any blockchain

Okay but why do it all on the same ledger? All the different applications fighting for the same bandwidth and paying astronomical fees. At the very least, just fork off for each new application like cheapETH (https://cheapeth.org/) or something. Token not needed.

>- Maintaining custom block producers is massive overhead

>- Maintaining custom peer-to-peer network is massive overhead

>- Maintaining custom node software is massive overhead

>- Maintaining custom block explorer is massive overhead

>- Maintaining community and events are massive overhead

>- Maintaining learning material and educating developers is massive overhead

Maintaining DNS is massive overhead, so it wouldn't kill you to put some work in if you intend to make a solid solution to replace it.

Also, documentation and events? Half of what you've listed here is either useless or you also have to do it on etherium anyways so what gives? The only thing you get from etherium is additional bloat. Namecoin works fine and is probably more secure because you don't have to worry about it interacting with "smart" contracts and all sorts of crazy shit.

>The total cost of ownership (TCO) is much lower for a decentralised application on a generic blockchain than creating your own blockchain.

Hell no it isn't, but that's the narrative that "layer 2" cryptocurrency shills will push.


The idea of domains on a blockchain sounds good, but the implementation of many of them and their degrees of 'decentralization' is questionable.

ENS is quite frankly a Godaddy-like sub-___domain registrar which suffers from the unpredictable gas fee problems on Ethereum as it is implemented on a layer 1 and has centralized key holders for the system and I do not believe that proof-of-stake would be appropriate in being any better than the current system in regards to DNS or domains and have the claims of being censorship resistant.

For something that offers sub-domains and is 'decentralized' is the Impervious Registry [0], with it has TLDs anchored on a decentralized root zone, called Handshake [1] which in both cases of the TLD has no central key-holders of the chain.

As long as the TLDs are not in the hands of someone else other than yourself, or a bunch of key-holders there is an extremely less chance of the TLDs and domains being censored. Before you say '51% attack', it doesn't apply here in this case, and even if one tried, the domains / TLDs on the chain are unaffected and can't be overridden.

[0] https://impervious.domains

[1] https://handshake.org


If you travel down this road you end up with Celestia (with whom I have no affiliation or financial interest). The idea is to support many blockchains on the same data availability layer. There are good reasons for this, but the primary one (as I understand them) is that data availability layers scale well with the number of machines, unlike compute which doesn’t scale at all. Also, it makes it much simpler to have inter-chain trustless clients.

Much of the work of writing a blockchain (like writing block explorers, the network stack, etc) can be deduplicated, while still letting you spin up your own low-security chain for a low-security use case.


Dark Forest [1] is a game that runs completely on-chain (on the Gnosis chain [2], compatible with Ethereum) and uses ZKSnarks. Here's a fun post on it [3]. Found this to be a cool application of blockchains that aren't financial, no affiliation or otherwise. There are financial aspects of the game and you can pay money, but the devs have a faucet that just let you start playing the game. It's also really cheap to play on the official instance (which is closed for play now), but other games have really cheap buy-ins.

[1]: https://zkga.me/

[2]: https://www.gnosischain.com/

[3]: https://omarmezenner.mirror.xyz/gFCfCVwTfUU91SDXeROEaDQe4984...


Dark Forest is the only game I know of that has all-on-chain game play like the game I've been working on, Orbiter 8. The two games have a lot in common, actually. Both are space games, with planets as assets, 2D views of the game map, all on-chain, written in Solidity, client agnostic, etc. But the two games are still distinctly different in how they play. Also, we are still in alpha and haven't released any battle features. Our last demo only has trade, but it's multichain and we're planning on bridging the ships so they're cross chain. You'll get to take your ship into universes that exist on other networks, ti's gonna be kinda neat:

https://orbiter8.com/play


You might like 0xMonaco:

https://0xmonaco.ctf.paradigm.xyz/


I do like. TY


But...why isn't this game better served by just throwing all the data in $DATABASE? This is what I don't understand about blockchain games, the idea of having to buy a currency to play a game is not new, and the blockchain doesn't seem to add anything at all.


Unlike most blockchain games today, Dark Forest is decentralized and has some unique properties:

- the game is open source and free to fork

- because of zero knowledge proofs, no single entity decides on or knows of the secret data. Assuming the protocol is correctly coded, users cannot cheat or crack the game - not even the developers know the planet locations.

- because it’s built on a fairly permissionless network, any user can build smart contracts, new game clients, and plugins for the game to modify it. Most online games have to issue API keys for server access to achieve modding; in Dark Forest there is no concept of “centralized server.” So even if the game developers stop maintaining the game, the contracts and on-chain game state is unaffected and will continue to operate normally.


In addition to what zeroclip said, the cool thing is that blockchains are running all the time and needs no active input to pay, maintain, upgrade, etc by users of the chain. Operations are paid for through transaction costs on the chain, no need to pay a provider monthly to give you a hosted Postgres and make sure they maintain their SLA. Each transaction pays for the resources it uses on chain. That means that operations that use blockchains as DBs get per-access priced access to an ever-running DB with no maintenance necessary.

I'll be concrete. The game I linked, Dark Forest, has a "lobby" feature which lets you create a new game and invite others to join that game, like a game lobby. I play occasionally with friends in a lobby. $1 can give you enough to play many games at time of this writing. The authors of the game need to pay for nothing to host me while my friends and I play an independent game paying only what we need, mere cents. The only problem is the game uses xDAI a token which is a bit of a pain to get (you need to buy DAI and get it converted.) IMO that's pretty good.


Scalability limits have made it hard for non-financial applications to compete for block space. Hopefully that will change over the next few years; between rollups and danksharding it should get to 100,000 tx/sec.

Here are some recent thoughts from Vitalik on non-financial uses: https://vitalik.ca/general/2022/06/12/nonfin.html


  > it should get to 100,000 tx/sec.
I would love to see a citation for this. This is more than VISA handles by a factor of 600


The tx/sec are guesses. Its too soon to know what the upper limits of blockchain TPS could be.

The arguments for massive TPS scaling are not that the Ethereum base chain itself will process them at transaction time, but that that L2+ chains will process transactions and settle on the ETH base chain, similar to what the ACH does.

The two scaling concepts to watch for are rollups (transaction batches that are rolled up into a single state change), and sharding (similar to database sharding.)

Here is a nice viewer for current TPS https://ethtps.info/

When requesting a “citation” I would recommend you provide the what bounds and types of information is acceptable to you.


> similar to what the ACH does.

ACH transaction volume is about 840 transactions per second [1]. 100,000 anywhere-to-anywhere transactions per second while making sure no money goes missing and is not double-spent worldwide is NOT a simple problem, definitely not something you can just handwave away and then claim as a reasonable "guess".

[1] https://gocardless.com/en-us/guides/posts/ach-key-stats-fact...


High throughout doesn't mean a high latency; one could process a million transactions per second or block and still need half an hour to verify (ie. reach global consensus on) the transactions within each block. Ideally ofc we'd have both, but if TPS was all that counted, the trade-off could likely be made (idk what I'm talking about).

"High throughout, low latency, or affordable fees: pick two."


Also it could well be broken into multiple rollups that mostly transaction within themselves, with more occasional transactions to and from the main chain or directly between rollups.


I think you're off a zero, that would put VISA at only 167 tps. From iffy sources I found in a quick google, VISA averages 1700 tps and max capacity is significantly more.

Rollups today can do around 2000 tx/sec. Their limit is block space, which will be multiplied by sharding (which in the current design, is more like RAID than actual sharding).

A great overview of the roadmap is here: https://members.delphidigital.io/reports/the-hitchhikers-gui...


All data i find shows visa currently doing 1700QPS and able to scale to 4000QPS with current architecture. Do you have a better source?


No, I agree. 100,000/1700 gives a factor of 60, not 600.


Every app on a blockchain is either financial, or financialized. All of them require some kind of financial transaction. Even previously non-financial things like art (which is arguably not non-financial anyway) must at minimum pay gas costs to run, can be traded, and has a market value.

The technology only works due to built-in financial and economic incentives that self-fund its operation. Everything running on a blockchain must contribute to that self-funding in some way, and thus must have a financial component. Take that aspect away and at best you have Bittorrent, and at worst just a garbled mess of something that doesn't work in any way.

Love it or hate, blockchain's original use case was financial. That's its DNA. I don't think it can evolve beyond that.


Yeah unfortunately right now that is the case; you pay for Ethereum to onboard and participate, and most early adopters are people buying their way in.

It doesn't have to be this way though.

I don't think "blockchain's original use case was financial". Bitcoin's was. I'm not sure Ethereum and subsequent platforms have the same DNA.


Bitcoin was the original blockchain, thus blockchain's original use case was financial. And it does have to be this way, they don't work otherwise, unless you just want Bittorrent.

Regardless what Ethereum PR tries to claim, the reality is, public, permissionless, decentralized blockchains only work because they are designed to self-fund, and require everything running on them to pay into the system in some manner. They are all fundamentally financial.


This meaning of "fundamentally financial" sounds to me like designing incentive structures. If so, yes, blockchains are all "fundamentally financial". You need incentives for folks to keep the lights on.

But aren't our lives "fundamentally financial" - exchanging our time for money? That doesn't mean that the work we do can't evolve beyond this fundamental incentive structure.

I draw a line, for example, between the purposes of yield farming and ENS.


There are gasless blockchain networks, like Koinos, and alternatives like IOTA.


Payment mechanism for, for example:

Open p2p messaging protocols on the Internet

Open p2p storage protocols on the Internet

In other words, Ethereum at its core provides an open p2p consensus protocol on the Internet that provides a mechanism for transferring fractional/units of value between accounts. It can/does provide for much more than that given its Smart contracts facility (supporting critical contract-state changes that also require consensus), but that's the heart of it.

Open p2p Consensus + Storage + Messaging == Web3

The base-layer consensus protocol that is Ethereum can be used as a substrate for the economic incentives of other open p2p protocols (i.e. not a blockchain protocols), providing strong guarantees of transaction finality.


Financial services: lending, borrowing, fractionalization, using oracles to peg tokens to real-world assets like USD and EUR, equities, perhaps eventually physical goods like gold bullion, high-end liquor, physical property.

Payments: transfers, escrow, crowdfunds, auctions, charitable giving, royalty splitting.

Digital property: name aliases, user accounts, single sign on. See Lens Protocol and Farcaster which build on these ideas.

Art and collectibles, obviously. See Art Blocks, Foundation, SuperRare.

Experimental protocols and games like PoolTogether, 0xMonaco CTF, Dark Forest.

Privacy preserving payment rails like Aztec, Polygon Nightfall.

Game economies like Skyweaver.

Once Ethereum development is a little further along and L2 landscape more mature, there will be a lot more applications that can start to be built on top of the ledger. Think higher-level abstractions like ticketing, in-app and in-game assets, better payment processors. These would not use Ethereum mainnet directly for every transaction, but instead use a higher-level abstraction like a zkEVM rollup or validium.


Not just strictly pump-and-dumps, no. There are Ponzi schemes as well!




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: