15 ms·
Many criticisms of blockchain apps, comparing their use cases to conventional technologies (databases, conventional separation of services such as that describe
by v64 5y ago
Many criticisms of blockchain apps, comparing their use cases to conventional technologies (databases, conventional separation of services such as that described in the article, etc) all seem to miss a major point: Dapps running on the blockchain are immutable and highly resistant to being shutdown.
Immutability is important because it's guaranteed that no matter how many times you interact with a contract address, you can be assured that at no point has the code in that contract ever changed. This is not an assurance you can typically get, as backend code for traditional endpoints can change at any time.
Even more important IMO is the difficulty in shutting down a contract that's deployed to the blockchain. In the case of this article, the reliance on external services such as AWS opens up possibilities for your app to be shut down, whether it's through non-payment to your AWS account, AWS decides you've violated their terms of service, or legal action compels AWS to shut down your app.
In the case of dapps deployed to the blockchain (combined optionally with frontends deployed to a service like IPFS, but this isn't a requirement, as one can always interact directly with contracts), the ability to shutdown these apps would rely on somehow breaking the blockchain itself.
Whether or not you see these aspects as bugs or features is a matter of opinion. Yes, blockchains are slower and more expensive. This is the current cost of enabling the two facets above. If we're not comparing blockchain dapps to other systems that offer the same assurances, then we're comparing apples and oranges.
- jjnoakes 5y agoI get mostly the same features with self-hosted and local traditional apps for a fraction of the price and much lower general financial risk as well.
- selestify 5y agoThe person you're replying to has already addressed your points: > Yes, blockchains are slower and more expensive. This is the current cost of enabling the two facets above. If we're not comparing blockchain dapps to other systems that offer the same assurances, then we're comparing apples and oranges. Could you please respond more meaningfully to the conversation?
- jjnoakes 5y agoI thought I did... That quoted paragraph doesn't negate my point which is that I do get the same (or very similar) assurances elsewhere, so I think the comparison is valid.
- DannyBee 5y agoThey didn't address the points - they tried to say nobody gets to compare other things unless they do <the two facets that dapps offer>. Which is wrong.
- selestify 5y agoThey said it's an apples to oranges comparison unless both things do <the two facets that dapps offer>. Which is absolutely correct. You could compare apples to oranges if you wanted to... but usually there's no point in doing so.
- DannyBee 5y agoAs I said to OP, no, it's not apples to oranges, you are absolutely wrong. It's comparisons of different points in the app architecture space, and that's normal, and not pointless as you claim. You can't wave away the serious issues by saying "there's no point in comparing them" Lots of things offer different functionality and tradeoffs. If you want to play in the space of "web app", you can and should be compared to things that are solutions for producing "web apps". We compare codeless web apps to code ones, etc. The same way people compare gas and electric vehicles. Or minivans and suvs and trucks. Or, well, everything in a solution space. Any solution for a given use case can and should get compared with other solutions for that use case. I'm really sorry that it doesn't seem (judging by this thread) to compare particularly well for most developers, but that doesn't invalidate the comparison.
- v64 5y ago"mostly" being the key word :) If you're self-hosting, then your server is a weak point. It goes down, your app goes down. The additional cost and risk that comes with using blockchains provides a platform for your app to run on that you don't have to manage and is highly resistant to being shut down. Likewise, there always exists the possibility that your server can be compromised and the code can be altered. The immutability of the blockchain guarantees that your code cannot be changed, with or without your knowledge.
- jjnoakes 5y agoThere are easy mitigations for those things though. My self hosted apps run on immutable infrastructure and are replicated and load balanced. Still stupid cheap and easy.
- deleted 5y ago[deleted]
- selestify 5y ago> My self hosted apps run on immutable infrastructure and are replicated and load balanced What? Assuming you live in the US, the government can swoop in at any time (provided they have a legal reason to do so) and demand that AWS or whoever's hosting your servers shuts them down. If you're hosting them yourself, they can raid the physical locations where you host them. If you're not in the US, I'm sure your country has equivalent security forces that would be more than capable of doing the same should the government find a reason to. Good luck raiding every single Ethereum node in the world to take down a smart contract. Also, you didn't address code immutability guarantees. You can change your server code at any time and your users would be none the wiser. The darknet markets, once compromised by federal agents, did exactly this, and stopped actually encrypting user messages with PGP while continuing to pretend to do so. A smart contract, unless it has upgradeability built in, offers just this sort of guarantee to its users. Oh, and if your app deals with finance, and the US government (or your own) wants you to stop letting John Doe use your app because they just placed new sanctions on Mr. Doe? You'd better code that compliance feature up real quick or see yourself getting heavily fined or even imprisoned. Tough luck doing that sort of censorship on the blockchain -- as long as a single miner is willing to include that user's transaction, they're basically in.
- miracle2k 5y agoBut no one else can use your app with the same guarantees you give to yourself, while also being able to share state with you.
- jjnoakes 5y agoIs that true though? If two people run self hosted apps that can communicate, all you have to verify is the data passing between. What assurances are you missing?
- miracle2k 5y agoThey can communicate, but if they want to agree on shared state between them, they have to solve the same problem that blockchains seek to solve, and the options available to you there are essentially on a spectrum of how many people are going to participate and to what extend you can vet them.
- withinboredom 5y agoI don’t think multiplayer games are running a blockchain and they agree on shared state. Humans being humans tend to reject cheaters who manipulate the state in their favor. But you don’t need a blockchain for any of this, and in fact, it’s too slow to have shared state /in real time/.
- spijdar 5y agoWhile I'm not really big on "Blockchain all the things!" this might be a poor analogy, considering just how many big multiplayer games use very intrusive, almost rootkit level anticheat software to, effectively, try and force all clients to behave and share state fairly...
- withinboredom 5y agoHmm. Might be a poor analogy then. I’ve never had any issues with anti-cheat software or ever noticed it’s existence — other than an icon on a splash page.
- vmception 5y agoIf blockchain is more expensive than cloud for you, the person that launched the product, then you architected your project wrong Blockchain products are write once, read free, persist forever for free. Your users pay to interact. Every SaaS funnel person knows that of you get users to pay at all then you have filtered the funnel to larger payments already. Blockchakn projects are that funnel in warp speed.
- jjnoakes 5y agoI disagree. The cost of just deploying my contract might pay for years of self hosting at current transaction rates. It might eventually amortize out to cheaper over many, many years, but that assumes no changes are ever needed. How likely is that?
- landemva 5y agoHow does your local hosted setup move value/money in a way that others trust it?
- H8crilA 5y agoThis is great, but I don't need it at 10^9 times the cost. Imagine if a single red apple costed about $100M, yet it had rather unique qualities such as indisputable, provable lack of contamination. That's the kind of cost difference we're talking about here.
- selestify 5y agoGood for you. Not everyone needs to use Tor -- slow and inefficient, can't even do a proper 1080p livestream. Good for them. But some people are willing to pay 10^9 the cost for certain guarantees. Good for them too, that such options now exist. Why the irrational hate?
- brandonmenc 5y agoThis repeated comparison with Tor is apt - barely anyone (relatively) uses it, even though it has useful features. This is imo the best case scenario with web3. Which would mean that most of the current "value" is a bubble.
- seoaeu 5y agoThe thing with tor is that it is only 1-2 orders of magnitude worse than the “normal” approach in terms of performance and so forth. Enough to be annoying, but still totally workable for a lot of applications
- SilasX 5y agoYou’re making good points, but from this comment[1] and stuff like >Why the irrational hate? you’re coming off as too mean and I think you’d do well to avoid that tone. [1] https://news.ycombinator.com/item?id=29587901 https://news.ycombinator.com/item?id=29587901
- selestify 5y agoFair enough, will do. Thanks!
- 5y ago
- mwattsun 5y ago> opens up possibilities for your app to be shut down Is this a big worry for a lot of people or is just one of the possible things that can go wrong incidental to doing business, like a traffic ticket is to driving?
- selestify 5y agoIt's definitely a worry for people doing illegal businesses, for example all the drug markets. Depending on your political allegiances, that's either a good thing or a bad thing, but either way, real value is being created for some people here. It's also a worry for people who are traditionally blocked from doing business -- for example, anyone who's got some sanctions placed on them. Again, could be a good thing or a bad thing, depending on your political opinions. But some people find it valuable, that's for sure.
- mwattsun 5y agoHopefully, the number of people you are talking about is fairly small, or maybe I'm just out of touch with the rise of crime and corruption on the dark web - but I wouldn't lose any sleep if they got shut down. I'm fairly libertarian about drug use, but there's a lot of other terrible stuff that is enabled along with drugs in this system.
- gfodor 5y agoWell, you don't have to like the criminals of today, but lets also not forget that good people are deemed criminals under repressive regimes, for crimes such as "watching K-Pop." https://www.nytimes.com/2021/12/15/world/asia/north-korea-kpop-executions.html https://www.nytimes.com/2021/12/15/world/asia/north-korea-kp...
- selestify 5y agoEven today, many in more liberal US states will find it unconscionable that someone could still have their life ruined over a little bit of weed in the more conservative states. Again, not saying this way is the right way. Just saying, there's a lot of value in such tech -- for better or for worse.
- DannyBee 5y agoThe problem you cite doesn't seem so common, or so large, that it is worth changing literally the entire architecture of everything over. Maybe it will be someday, but it definitely isn't today, nor does it seem to be happening particularly soon! Until developers feel like that day is coming, this neither makes sense, nor will it go anywhere. (as an aside, the non-payment one seems kind of silly, since the blockchain apps don't work without payment either - network fees, etc. Sometimes they are covered, sometimes not) You can't define away comparisons with how things are done now by saying it can only be compared with things that offer the same assurances. That makes no sense - all software architectures are tradeoffs of these sorts. Privacy vs Security vs Ease of Use vs Cost vs Performance vs ... People are quite literally going to ask themselves whether it is worth getting those features for the current cost. They aren't going to say "well, we can't compare the cost because the current system doesn't do that". They are going to say "is it worth <cost> to get these things".
- v64 5y ago> (as an aside, the non-payment one seems kind of silly, since the blockchain apps don't work without payment either - network fees, etc. Sometimes they are covered, sometimes not) There's a subtle difference here though: So long as I use AWS, I'm responsible for funding the account, and my non-payment means the app goes down. I have to continue to pay for the app to run, even if no one uses it. On a blockchain, once I've deployed my app, I can walk away and never think about the app again. I only have to pay for the initial deployment of the contract without any further ongoing cost. The app will always be there ready to be used by an end user who's willing to pay to interact with it.
- mattwilsonn888 5y agoYou are implying the false pretense that the person you are replying to is arguing that Web3 technology is being properly valued and therefore should be used right now! What an easy strawman to knock over - what they are actually saying is that the vision and promise of this emerging technology layer has obvious value compared to today's standard. Man that latter statement is a real thinker in comparison.
- 5y ago
- Misdicorl 5y agoUnless there is a killer feature it enables, it's an implementation detail and I don't care. And I will gladly compare other solutions against blockchain despite not having the same implementation detail you claim puts it above comparison. And so will everyone else that isn't blinded by fanaticism.
- selestify 5y agoDo you feel the same about Tor? That the anonymity is an implementation detail and you don't care?
- Misdicorl 5y agoYes. Though Tor has demonstrated a far more killer (heh) capability set it enables than the blockchain has.
- selestify 5y agoWell then, at least you are consistent about your beliefs/feelings. I respect that.
- smoldesu 5y agoTor has actual websites and functionality. Web3 has venture capital and some randomized apes.
- throw_m239339 5y ago> Dapps running on the blockchain are immutable and highly resistant to being shutdown. why the blockchain? There are other peer to peer tech that do not involve the blockchain, if your goal is avoiding being shutdown or censored.
- selestify 5y agoName any that execute Turing complete programs that have also shown resiliency to being taken down. Lot of darknet markets running on Tor have been shutdown over the years. Can't shut down a smart contract with no self-destruct function unless you shut down the entire Ethereum network.
- esjeon 5y ago> Dapps running on the blockchain are immutable and highly resistant to being shutdown. Yeah, and that's why we have Ethereum Classic, a remnant of its own shameful history. Dapps are still man-made, so can be faulty, but Ethereum doesn't have any recovery scenario for faulty dapps other than forking out. No one can save you from your own deadly mistakes. This simply can't scale.
- selestify 5y ago> No one can save you from your own deadly mistakes. Well yes, that's kind of the point. Freedom to choose what you want to do with your money -- including the freedom to make your own mistakes and shoot yourself in the foot.
- zer01 5y agoThe eth classic fork was because of the first high profile hack of a smart contract leading to massive loss of funds (way way back in 2016 - https://en.wikipedia.org/wiki/The_DAO_(organization) https://en.wikipedia.org/wiki/The_DAO_(organization)). The Ethereum community back then was a fraction of a fraction of a percent of what it is compared to the size today, and that early on in the network I don't think it was a detrimental thing to do like it would be today. > No one can save you from your own deadly mistakes. Alternatively, "You really really have to give a shit about your own security". Imagine if banks had some skin in the game in terms of their security story. Why was I able to have 2 factor on my world of warcraft account many years before my bank account? You're right in that crypto is a cold world of immutability, but in the same way that exposing servers and data to the internet (along with all the hacks, identity theft, etc that came with it) ultimately led to better security protections like ASLR, DEP, Yubikeys, etc, I posit we'll see rise of new technologies to help combat these issues as well to help offset the risks as much as possible. Hardware wallets, multi-sig contracts, and now multi-party computation are promising new tools to help make the blockchain space more operationally safe, which enables the whole thing to scale.
- acdha 5y ago> Alternatively, "You really really have to give a shit about your own security". Imagine if banks had some skin in the game in terms of their security story. Why was I able to have 2 factor on my world of warcraft account many years before my bank account? It’s telling that you don’t know how wrong this is, but feel qualified to redesign a mature industry anyway. Banks are highly regulated and spend billions on security — that’s why the major breaches which are routine in the cryptocurrency world don’t have an analog in the real financial system. They know that there would be significant penalties if they lose customer resources or grant access to your account improperly, but they don’t spend it on the same things. For example, MFA doesn’t solve every problem — if I phish you or compromise your device, your cryptocurrency life savings are gone but trying to send a wire transfer from your bank for an amount that large will require out of band confirmation, especially if it’s to a random third party or out of the country. That irrecoverable failure mode is one of the core design flaws of cryptocurrency which makes it unappealing to most people. Most people do not want the risk or constant maintenance work of being their own bank, and mitigating that by reinventing the banking sector except more expensive is a tough sell.
- brandonmenc 5y ago> Dapps running on the blockchain are immutable I can think of very few systems I'd want to use where nothing can be deleted. I don't understand why this is seemingly considered a feature for all use cases.
- selestify 5y ago> I don't understand why this is seemingly considered a feature for all use cases. Who says it's a feature for all use cases? It's a feature for some use cases. For those use cases, it's a major feature.
- brazzy 5y agoBecause it's the only truly unique selling point of blockchain apps. So it has to be important to justify cryptocurrencies being valuable.
- paxys 5y ago> Dapps running on the blockchain are immutable and highly resistant to being shutdown I have tried my best to read up on how all this is supposed to work but have come up blank. Is there a simple explanation - using zero buzzwords - of how I can run a site in the way you describe in the Web3 world?
- v64 5y agoA typical web3 site consists of two parts: The first is the smart contract code that lives on the blockchain, which handles the tasks that a typical server backend would handle (keeping and changing state, producing outputs given certain inputs, etc). The second is a web frontend typically deployed to a decentralized service like IPFS to provide interactions with the backend contract, however this isn't the only way a web3 site can be made. You can also have the front end as something the user runs locally, or you can eschew the front end entirely, as it's also possible to programmatically interact with smart contracts directly (analogous to the command line in a way). An example of such a site would be the decentralized trading exchange Uniswap located at https://app.uniswap.org/ https://app.uniswap.org/. Rather than calling a centralized API endpoint to populate the front end, all the data is being pulled through interactions with contracts on the blockchain. Smart contracts can provide read-only data fee free, and you only have to pay to interact with the site when you're doing something that would change state.
- paxys 5y agoFor the site you mentioned: - The hostname is resolved from Cloudflare's authoritative DNS nameservers - It has a TLS cert issued by Cloudflare - The backend IP resolves to Cloudflare's server range - It is a pretty standard React front end served entirely from https://app.uniswap.org https://app.uniswap.org - I can't say about the compute, but it's pretty obvious that the site isn't running on 1/5,000 the power of a Raspberry Pi for $250 a second (aka Smart Contract). So, what part of it is distributed and resilient to takedowns?
- selestify 5y agoThe smart contract is. It's like https://xkcd.com/932/ https://xkcd.com/932/ . The static JS being served by the site is just a poster that could be hung up anywhere else. Even if that URL is taken down, your money is still safe and sound on the blockchain. You can still sign transactions and interact with the smart contracts, get your liquidity out, etc., so long as you have access to any part of the Ethereum network.
- namlem 5y agoThat's all well and good for the handful of niche services that rely heavily on immutability but not performance, but the vast majority of applications need performance as well.
- jjtheblunt 5y ago> Dapps running on the blockchain are immutable and highly resistant to being shutdown. is that good? seems flaws then are perpetual?
- bigmattystyles 5y agoOne thing I don't get, maybe someone can shed some light; what happens if some trademarked content is added to the blockchain metadata or on something like arweave. If a DMCA comes in - from my reading, blockchains or ipfs stores won't take the item down, but will make it so the address the item is stored at returns nothing. So, it's the equivalent of some entity controlling the DNS? Sure, the item at the address is immutable, but you might not be able to get it. If that's accurate it's 'mostly' immutable, which is not immutable. Am I way off?
- Tenobrus 5y agoNo actual blockchain will be able to (even in theory) take down DMCA'd data. There is no mechanism whatsoever for complying with such requests, anymore than there's a mechanism for reversing transactions associated with activity a government deems illegal. Individuals running IPFS gateways or nodes may be directly targeted and asked to take down data, but there's no mechanism for "the network as a whole" to remove data. It's exactly the same as bittorrent. So long as one individual in some hard-to-reach jurisdiction continues hosting the data, nothing can be done.
- CuriousCosmic 5y agoSo the way IPFS works is that the URLs are hashes of the content. If providers are pressed by DMCA they can stop resolving the content but as long as one person resolves the content it should be theoretically accessible. Potentially IPFS relays could choose not to relay this but that's ultimately a weakness of the client not polling multiple relays more than it is the network failing to be resilient. So IPFS does allow DMCA and the like to exist and function but as long as a certain margin refuse to comply, the network continues to function as expected ignoring the actions of centralised organisations.
- selestify 5y agoI think you're pretty off, yes. Censorship-resistance is one of the core selling points of Ethereum. :) > but will make it so the address the item is stored at returns nothing There's no way for the blockchain to do that. The only way this is possible on ethereum is if the smart contract includes a self-destruct function, and the owner of the smart contract decides to call it (either because their private keys were compromised, or because they were coerced into doing so IRL). Otherwise, it's technically impossible to do without taking down the entire network or breaking encryption. I'm less familiar with IPFS so can't really speak much to that -- but from what little I understand, censorship-resistance is also a major selling point there. > So, it's the equivalent of some entity controlling the DNS? There is the ENS, but even then, nobody can take an ENS domain down except for the owner of that domain. Not even the creator of the ENS smart contract, unless they specifically included upgrade functionality into the contract, because smart contracts are immutable. > Sure, the item at the address is immutable, but you might not be able to get it. As long as you have access to a single Ethereum node, or access to a service that has access to an Ethereum node, you will be able to get at it. It's hard to imagine you not getting at any Ethereum nodes unless a Great Firewall of China situation exists, and even China doesn't care to ban most proxies.
- outside1234 5y agoNo, we get it. There are transactions we want to shutdown - child porn, bribes to public officials, money laundering, black market arms trades. There are transactions we want to reverse: mistakes, ransomware. The gatekeepers are important and play a role. There are real arguments to be made about how we can make the gatekeepers more efficient, but not that they aren’t necessary.
- deleted 5y ago[deleted]
- crucialfelix 5y agoWhen I die, will my Dapps still run forever as long as people access them? User pays? This is the only great use case I can think of.
- v64 5y agoYes, this is the case. Quoting myself from another comment: > On a blockchain, once I've deployed my app, I can walk away and never think about the app again. I only have to pay for the initial deployment of the contract without any further ongoing cost. The app will always be there ready to be used by an end user who's willing to pay to interact with it.
- lottin 5y agoAs long as someone continues to pay for the storage of your app, which is not guaranteed.
- crucialfelix 5y agoPresumably the app also has other assets like js and frontend that need to be hosted. These aren't just compiled and stuffed in The Blockchain until the end of time. Only the compiled contract itself. Right?
- lottin 5y agoI don't know, but even if everything is stored on a blockchain, the blockchain itself needs to be stored somewhere, and storing data has a cost. So someone has to pay for that (which typically is the users of the blockchain with their fees).
- QuadrupleA 5y agoIf, as with Ethereum, your users pay me $100 per transaction to execute a few trivial lines of code, I and my future children will happily keep a server running immutably for you forever.
- v64 5y agoI appreciate the offer, but I have a stronger belief that the Ethereum blockchain will persist into the future compared to your proposed family server trust :)
- DeepYogurt 5y ago> Dapps running on the blockchain are immutable and highly resistant to being shutdown. Or patched for that matter
- thesz 5y agoUnless there is an entity or coalition of goal-aligned entities with 68% of stakes or 51% of hashing/PoW power. Then one suddenly finds oneself with a pretty much mutable world. It appears it has been shown many times [1] that such attack is quite possible. [1] https://economictimes.indiatimes.com/markets/cryptocurrency/what-are-51-attacks-in-cryptocurrencies/articleshow/85802504.cms https://economictimes.indiatimes.com/markets/cryptocurrency/...