HACKER Q&A
📣 sprafa

How aware are you about building decentralised software on blockchain?


The HN attitude about blockchain is overwhelmingly negative.

Yet what I see with smart contracts on blockchain, such as the Ethereum Virtual Machine, is a huge potential for change and opportunity.

If you don't know what that is:

You can run code on the Ethereum blockchain. The user pays to run your code, instead of you paying to run the server that serves them the code. This is because everyone who's running an Ethereum node actually has a copy of your code in the blockchain.

This is called a "smart contract" but enough people have experimented with it that they've actually built decentralised applications - dApps for short.

There are now real world examples of decentralised applications in Finance - DeFi - which includes a Decentralised exchange - uniswap - and decentralised finance like Compound, Balancer and Yield Finance. So there are apps. You can get a loan from a DeFi app today.

This seems like it has huge disruptive potential. Mark Cuban has talked about how he could sell tickets as NFTs on the blockchain, and get a percentage of resell, forever.

You could in theory build something similar for Airbnb or Uber on the blockchain - just NFT a house/day and then sell it on the blockchain. Same thing with Uber - drivers could auction off their time in a blockchain dApp.

Because devs don't pay to keep their code in the ETH blockchain, you can just build software and it will "run" forever, at no cost to the developer. You can also set up the smart contract to give you a percentage every time it runs - see uniswap. Thus user - pays the dev + network on usage.

This is a radical change and imo a huge avenue for new innovation.

But this is hardly talked about here in HN.

Let's ignore, if possible, the whole "proof of work is bad for the environment" question (all I'll say about that is proof of stake is real and in production with DOT/ALGO and that's a 99% reduction in energy consumption). I know it's tempting to go in this direction but again - let's assume all crypto is proof of stake for the sake of argument.


  👤 tombh Accepted Answer ✓
Generally I would say that for the average HN'er software is our life, it's not just a field in which exciting things happen (the internet, ML and blockchains etc) but also, indeed perhaps more so, a "boring", day-in day-out livelihood. Personally, I feel the trouble with the blockchain is that it has attracted a lot of "fair weather" supporters, people that have only become geeky due to the allure of money, not because of an inherent love of software.

Yes blockchains are indeed an exciting development and present a lot of potential, but "true" hackers are probably as excited by blockchains as they are by say Rust. The thing is that generally speaking we can have informed conversations about Rust, because those that understand the novelty of Rust have come to that understanding through a genuine interest in the technology, not because of how Rust can make them rich.

So yes, blockchains are indeed very interesting, but unfortunately the conversations around them are overwhelmingly distorted by the superficialities of what I would cynically describe as dilettantes. Of course there are indeed serious hackers doing game-changing work in the blockchain space and I believe blockchain does have a future, but right now it's almost impossible to hear the signal from the noise :/


👤 wepple
Until someone unambiguously shows real-world (not a proof-of-concept) value of blockchain beyond crypto currencies, I’d be happy to never hear the word blockchain ever again.

I don’t care what Mark Cuban thinks, I hardly know who he is beyond being wealthy and liking limelight.


👤 BugsJustFindMe
> you can just build software and it will "run" forever, at no cost to the developer.

We already have software that runs at no cost to the developer. It's called software.


👤 smt88
HN is a highly concentrated community of future-focused computing experts. You're right that it is also bearish about blockchain.

Which is more likely?

A) That thousands of progress-minded professional technologists are all wrong and ignorant, as you've suggested above...

Or...

B) That you are wrong, and there are people with huge financial incentives to pump up crypto platforms by misleading people about their capabilities

I'll ask you the same question I've been asking for 5 years without getting a good response:

What is a real pain that a dApp can solve better today than non-blockchain software?

Uber drivers auctioning their time is not one of them, because Uber drivers do want a benefit that's only possible with centralization: vetting/banning of passengers.


👤 tracedddd
I believe in cryptocurrency/blockchain, but your examples illuminate why speculation is far ahead of application. Why would an Uber driver want to auction their time on a blockchain? How would making Airbnb houses NFTs have any advantage to a consumer versus a centralized approach? Needlessly complicated, less quality control, less safety. Centralized is truly better for these in every way.

The fact is that 99% of the perceived uses are simply riding the hype train for investment. The 1% is really changing things, despite all the haters, but it’s typically finance, currency, settlement, etc.


👤 rawtxapp
Like every engineering project, it boils down to pros and cons, it doesn't make sense to shoehorn blockchain into everything.

Do you need a decentralized, trustless, transparent and uncensorable system with adversarial participants and you can boil down your logic to a bunch of if/else conditions and some for-loops? Then blockchain probably makes sense and finance is the best use case so far.

But decentralization comes at a great cost, both in efficiency and actual costs. So do I want to train a ML model in a decentralized way? Probably not. Do I want to put my game on the blockchain where I relinquish any control? Probably not.

The hype means that people are trying to put blockchain into everything which in turn turns off a bunch of people because it doesn't make sense.


👤 billytetrud
It's honestly so strange to hear person after person replying in comments here "why would i want to cut out costly middleman x or y?" Presumably all smart developers. Do people just not realize that credit cards extract like 5% from purchases? That all these middlemen extract that much or more from every interaction you do with them? That some middle men (ahem, robinhood) are straight up fraudulent and will cheat you when they can get away with it? Have they not gotten BS charges from their bank they had to call in to complain about or just eat and bite their tongue? So many reasons to cut out these middlemen where possible. It's now possible where it wasn't before because of cryptocurrencies

👤 lamontcg
> just NFT a house/day and then sell it on the blockchain.

And there's nobody there to enforce any rules or regulations.

So you fly down to Mexico and your Airbnb simply doesn't exist, meanwhile your money is irreversibly transferred.

If you try to prevent that by holding the funds in escrow until after the stay then the reverse scam and nonpayment of funds can happen by staying in the house and then claiming fraud.

Shifting the window around just shifts the window from favoring the renter or the client.

There's flaws with having a company acting as the dispute resolver, but the centralized reputational authority means that people have an incentive to not trash the place or fail to pay and cannot list houses that don't exist, and don't rape or rob the clients, etc. It also helps to have dispute resolution via credit cards, and to have court systems. Those centralized third parties also should have taken some time to validate the information of the parties on both sides (Airbnb made me scan my passport to validate my identity, which raises the bar somewhat over creating a thousand different random identities on the blockchain).

Making it all decentralized with no trusted third parties has very significant downsides.

(And that is before we start to consider the fact that contracts as code is limited by our ability to write bug free code, which as it currently stands is incredibly poor)


👤 danpalmer
I'm aware enough to know that it's not the computing platform that I want. Some reasons that come to mind include:

- UX of interacting with/running code. This isn't users going to a website or downloading an app from an app store. Until it is, it's a non-starter.

- Unsolved side-effects/data input. While "blockchains" are good at reducing the amount of trust needed in a system, for smart contracts to interact with the real world, they still need trust for data input/output. This all seems like it's in very early development.

- Inflexibility of contracts. "Paper" contracts, T&Cs, etc, have an advantage that they work 99% of the time, but that when you hit an edge case that no one has figured out before you can email someone and come to a resolution, or at worst, go to court to have a (hopefully unbiased) third party decide. This is often better for both parties, but is not an option with smart contracts.

- Development risks. Last time I checked smart contracts were written in a language that seemed to be inspired by a combination of C and Javascript. I'm not sure there's a worse way to write code that is so critical. Software engineering is decades ahead of this, safety-critical software engineering is many more decades ahead of that, and contract law is centuries ahead.


👤 hluska
I have two issues with blockchain.

First, whenever I work with blockchain, I reach a point where I realize all my technical issues are because I chose that data structure.

The second is that outside of hype, your examples are remarkably poor uses for blockchain. Each can be solved more efficiently and effectively through better technology choices.


👤 astoor
Part of the problem is that they're slow and expensive to use. Although Cryptokitties had (in web terms) a miniscule number of users performing tiny transactions, that was enough to essentially break Ethereum in 2017[0]. There are other blockchains now that try to resolve these issues though.

The other fundamental problem is connecting the blockchains to the outside world. There are various libraries to help with this, e.g. web3.js for Ethereum, but this typically means most DApps are inward-looking (exchanges, DeFi, token-based games etc.) rather than providing any non-crypto-related functionality. That of course makes it look to many people (rightly or wrongly) that DApps, DeFi, etc. all just serve two functions: (i) "plausible deniability" (look, my cryptocurrency does all this, so it can't just be a pyramid scheme), and (ii) sustain the pyramid schemes (i.e. keep them going for longer, draw more people in etc.).

Relating this to your example of selling a house as an NFT, there was an attempt to do so earlier in the year[1], but the key point is "Whoever purchases the NFT will be able to contact the seller and organize the sale of the house through standard legal means." So if you buy the NFT, you are not buying the house, but buying a brochure with the particulars you'd need to try to actually buy the house. That is the fundamental issue: to do anything useful you still need to interact with the real world. And personally, when it comes to something like buying a house, I'd much rather deal with real people, than hope I don't irreversably lose all my money due to an unfixable bug in the immutable smart contract or someone typing in the wrong address or something.

Anyway, take a look at https://dappradar.com/ for DApp listings.

[0] https://www.bbc.co.uk/news/technology-42237162

[1] https://decrypt.co/66173/a-house-in-germany-is-being-sold-as...


👤 Glench
For those interested, Chia has a really awesome functional on-chain language called Chialisp. It's secure, auditable (meaning large organizations would be more interested), and the recursive nature allows colored coins released on the chain to have the same functionality as Chia.

They have a $500k hackathon coming up this month:

https://cointelegraph.com/press-releases/sirius-labs-launche...


👤 987234
It's not talked about because it's a dumb idea?

👤 base698
TBF, I'm bullish on Defi and crypto in general. A good argument against eth and dapps comes from "The Bitcoin Standard".

> As will become apparent from this exposition, the notion that a “blockchain technology” exists and can be deployed to solve any specific problems is highly dubious.

> It is unworkable for third‐party intermediaries to imagine they could improve their performance by employing a technology that sacrifices efficiency and speed precisely to remove third‐party intermediaries.

> Ethereum can be rolled back means that all blockchains smaller than Bitcoin's are effectively centralized databases under the control of their operators. It turns out code is not really law, because the operators of these contracts can override what the contract executes. Smart contracts have not replaced courts with code, but they have replaced courts with software developers with little experience, knowledge, or accountability in arbitrating.


👤 smlss_sftwr
Going with your proposal for a decentralized Airbnb/Uber -- how would you handle dispute resolution and trust mediation without a centralized authority in an IRL setting, off-chain? If you have a bad actor in the system, how would you screen/remove them and conversely, how would you prevent abuse of the screening mechanism you propose? Relying on the blockchain as a decentralized database/audit record is one thing, but I think IRL enforcement and mediation of off-chain matters are critical prerequisite matters that need to be addressed before these types of marketplace businesses can even be considered feasible as dApps

👤 Grimm1
Most of those situations you listed can be solved, and solved better, in a normal centralized way with often the same experience to the end user. And they don’t really care if you’re using block chain or AI or magic as long as it’s solving their problem so why would you choose Blockchain for the heck of it?

I see blockchain being useful in two areas, finance and transport/delivery logistics. Environments where no one trusts each other outside of financial contracts and you need to share information publicly to address faults and concerns without other parties being able to change anything.


👤 sprafa
For anyone who’s saying - where’s real world - real world exists in Decentralised Finance applications. You can now get a loan through DeFi - look into Compound, Balancer and Yield Finance.

👤 dehrmann
> ...sell tickets as NFTs on the blockchain

You need to host an app or a website that facilitates that. Same for the Airbnb scenario. You'll quickly find that how that transaction works is a relatively small part of operating the platform. You need search, customer support, reviews, recommendations, marketing, analytics. Paying Visa and friends 3% to process payments isn't where your costs or complexity are.


👤 bananapub
sure, smart contracts are interesting but the entire field of blockchains has been poisoned by grifters, criminals and the social and environmental disaster that is proof of work cryptocurrencies.

fundamentally in such an environment there's just very little practical use for "decentralised finance" - we have spent millenia creating regulation and trusted (of varying degrees) parties to manage all this stuff and it works well enough compared to any of the "defi" stuff, where almost the entire ecosystem is fraud and pump and dump. and normal people fundamentally seem to like the system where they can't just be frauded without recourse.

if you can provide a way to do the smart contract bit without the toxic hangers-on then I'm sure there's niche uses for it all, but no one ever proposes any compelling argument other than, fundamentally, the proposer will make more money out of it that way.


👤 chrisco255
For the life of me I can't understand the full negativity on HN. Crypto is the wild west. It may even be the last frontier of the internet. It's a corner of the web that hasn't been fully co-opted and dominated by centralized trillion-dollar monopolies hell bent on quantifying your ad preferences while beating all divergent thinking out of you. You will be assimilated. Resistance is futile.

Unlike the Web2 revolution, retail users get to participate and benefit from the value creation. Between social tokens, NFTs, decentralized finance protocols, and DAOs (decentralized organizations), there is now a burgeoning ecosystem of tooling for organizing human capital around a cause or a goal. This goes beyond centralized tooling. It's all open source, it's all forkable, it's creative, it is fresh and reminds me of the early promising days of the internet. It's a chance to get a redo on the promise of the web.

I'm spending my time learning several things in the Ethereum ecosystem. One is using Ethereum for authentication, by using the wallet as a public key login and ENS domains as a user-friendly user name service (effectively acting as a decentralized auth/identity solution).

I'm also learning about IPFS and decentralized data storage through solutions like Filecoin and Arweave. I'm exploring a peer to peer database called ThreadDB.

And I'm studying Solidity and all the tooling for creating and interacting with EVM based smart contracts.

It's a very fascinating space and HN is doing a disservice to itself and its users by not featuring the positive side of it more.


👤 amelius
> The user pays to run your code, instead of you paying to run the server that serves them the code. This is because everyone who's running an Ethereum node actually has a copy of your code in the blockchain.

So if the user runs an Ethereum node, they have your code too, and then they can run it for free.

What am I missing?


👤 throwaway4good
Good software starts and ends with the people who are using it.

Concrete technologies, software architecture and design, algorithms, cryptography etc. are all means to an end. Start with what you want to achieve, what real world problem you want to solve and the people you want to solve it for.

And then work backwards from there.


👤 asadlionpk
I would think HN is smart enough to see through the BS. Mark Cuban has vested interest in feeding that BS.

All the use-cases you listed can be done without a Blockchain and in much much more efficient way, even if decentralized.


👤 devoutsalsa
Can I use other people's computation to mine Bitcoins?!

👤 rfd4sgmk8u
context: bitcoiner. it is the hardest money and every other attempt to build a digital store of value pales in comparison to it.

Smart contracts! Its all absolutely revolutionary -- but also kinda sketchy. I have been playing with various defi protocols on various EVM based chains, and while it makes money (ideally, you are gaining more value by locking up funds in farms, vaults and pools.)

The reality is you are probably either holding a decreasing in value position in a liquidity pool (impermanent loss -- your apples and oranges are worth less in a month, but you end up with more apples and oranges with you withdraw), being issued inflation reward points from a vault (they are printed out of nothing as a reward for locking up funds) or being screwed on deposit, withdraw or 'performance' fees in a pool/farm. Dont get me wrong, there is actual value being created, the trade fees on the Automated Market Making contracts is actually good (eg: ~0.2% per trade * many trades!) It can be much higher than centralized finance can provide at a much highest risk.

While the savvy can use this system to buy more bitcoin (which is happily tokenized on EVM chains and convertible back to good ol' [bitcoin] UTXOs), most will probably just lose fiat value equivalency while increasing their holdings in shittokens, all the while thinking they are growing value.

The most promising value extract routine at the moment looks to be:

* Borrow fiat at low interest rates from cefi (banks)

* Convert fiat into stablecoins

* Deposit stablecoins into lending platforms

* Use stablecoin collateral to borrow at a slightly higher rate (but lower than the bank in step 1)

* Deposit borrowed funds as collateral in more lending platforms

* Repeat borrow until all collateral is consumed (to your own leverage/risk level).

* Deposit in pool/vault and collect 'interest', ideally higher than you are borrowing at.

* Last step probably earns the most of all, and will pay for the rest of the steps

* Profit!

My take on this is that this is just more Wall street fiat money shenanigans, reinvented on public blockchains. Or we could just have hard money -- 21 million coins. No yield, No interest, No inflation of the monetary base, No bs.


👤 throw149102
My biggest concern is security - that smart contract lives forever on the blockchain, secure or not. It's a pretty huge downside for very minimal gain.

👤 BrissyCoder
This is clearly satire guys. Stop responding earnestly.