4 ms·
So, I might be an idiot. I investigated “Dapps” the other day, and I’m struggling to see the point of these. Yes, they use a blockchain to store their data, an
by sargun 9y ago
So, I might be an idiot.
I investigated “Dapps” the other day, and I’m struggling to see the point of these. Yes, they use a blockchain to store their data, and their data manipulation logic (“contract”, or schema, and stored procedures as we’d call it in the RDBMS / Monolith days). The UI, and such is all run by some centralized entity. If the App needs cryptocurrency in order to work, you have to run your own wallet.
If (1) I need to run my own “geth” daemon, and (2) some central authority’s ownership is reigns over the apps availability, I don’t see how this is better than the current world. Until there is a Coinbase-like experience to solve (1), I think it’ll be very difficult to get real market adoption. (2) to me strikes a whole set of problems — What’s the point of Dapps? I would think it’d be better if the UI and API was hosted on a blockchain, and there was some kind of UI (browser?) with an embedded wallet, and agent to be able to interact with contracts. I know some of this is in development, but is anyone close to the ability to run a Reddit-like site without the existence of some central authority, along with being economical to run?
- coralreef 9y agoWe have embedded wallets in the browser with things like MetaMask, which lets you execute Ethereum transactions by clicking buttons, fetching data from the blockchain to display on the webpage, etc. Dapps are still evolving. Some offer utility from fulfilling niches that are vulnerable to centralized power; ie. a decentralized Youtube that won't take down your video. Some are safer/cheaper implementations: ie. Hexel (YC) a platform that lets people create/manage tokens, like if you wanted your community to be able to send/use tokens. A mistake is assuming you need to put everything on the blockchain, and a new product should be fully decentralized. But in most cases, you can still deliver utility by having only the important pieces on the blockchain.
- ghthor 9y agoMetamask is quickly becoming one of the most interesting projects to me. It's so easy to spin up a site now and use metamask for identity and authorization. If you have API's that need to be protected from denial of service attacks, you just channel them through a smart contract and make the user's pay the gas, no more need to protect your backends. The blockchain just becomes a source of truth and a protection against DDoS attacks. Past that, all other "transactions" can be done off chain. Future is exciting!
- colordrops 9y agoI would think that, depending on the dapp, it would be inaccurate to call the UI centralized, if you were able to run it yourself. In a way a wallet is a UI for a currency dapp, and you could either use a centralized UI or your own instance.
- atomical 9y ago> The UI, and such is all run by some centralized entity. The UI has to be white listed, but dapps can be cached locally. There's a lot of argument about what is centralized and decentralized. It's quite a polarizing debate. > If the App needs cryptocurrency in order to work, you have to run your own wallet. To read from the app it generally won't require cryptocurrency. > (1) I need to run my own “geth” daemon There are public nodes (i.e. Infura) for Ethereum dapps. > I would think it’d be better if the UI and API was hosted on a blockchain, and there was some kind of UI (browser?) with an embedded wallet, and agent to be able to interact with contracts. I know some of this is in development, but is anyone close to the ability to run a Reddit-like site without the existence of some central authority, along with being economical to run? Toshi is developed by Coinbase. There are a few other projects as well like Status. It's very early days though. Blockchain typically has low TPS and the alternatives are very complex. I'm hoping technology like Hashgraph or Hashgraph-like will deprecate state channels and payment channels.
- terrortrain 9y agoYou can use metamask, or a light wallet if you don't want to run and operate your own blockchain. https://metamask.io/ https://metamask.io/ Meta mask keeps your keys locally, but uses an api for publishing transactions / making queries.
- runewell 9y agoI understand the frustration, as someone working on apps in the space it is clear that there is much to be done. Dapps right now are still a work in progress and very early. Most of the issues you brought up are known in the space and are actively being worked on. For example, UI file storage is being tackled via the work of ETH Swarm + ENS (also Mist browser), EOS Storage, IPFS Filecoin, etc. Running a full node is not necessarily required, you could immediately access a decentralized network via a light client on many platforms. Ultimately the end goal for Dapps are to merge the benefits of decentralization (always-available, secure, permissionless, distributed, censorship-resistant, etc) into traditional application models, and in some instances create entirely new types of applications. As I've said before, when consumers speak of "the cloud" they are usually describing something that sounds much more like decentralized platforms than current centralized solutions. Long-term I think decentralized platforms are going to change every industry in some way. Even from just an accounting perspective it's hard to see how this tech won't change the way we manage and transfer funds.
- shazow 9y agoYou can host the UI wherever you want. You can put it on IPFS, you can broadcast it as a bittorrent, you can put it on Github, you can put it in a pastebin, you can even put it on the blockchain. A lot of developers choose to have a replica hosted on traditional HTTP for easy onboarding, but the point is that the application itself can be completely decoupled from the developer. Even if the developer hosts their app on their own domain, there is nothing stopping you from forking it and replicating/hosting it elsewhere. It's like the ultimate extreme of open source, but also applied to APIs that can't be taken away. For example, you can launch a smart contract which hard-codes an IPFS hash to a GUI that can never be changed, even if the original owner wanted to. It's more about what can be done, rather than what is being done today. The possibilities are inspiring and attractive.
- sargun 9y agoBut, if you put it on IPFS, what hosts the wallet, and wallet API? Also, last I checked, IPFS is not censorship resistant: https://github.com/ipfs/faq/issues/36#issuecomment-140567411 https://github.com/ipfs/faq/issues/36#issuecomment-140567411
- shazow 9y ago> But, if you put it on IPFS, what hosts the wallet, and wallet API? Which wallet? You can use whatever wallet you want which supports the functionality the DApp requires. There are dozens of wallets, some are in-browser. > Also, last I checked, IPFS is not censorship resistant: https://github.com/ipfs/faq/issues/36#issuecomment-140567411 https://github.com/ipfs/faq/issues/36#issuecomment-140567411 While I didn't mention anything about censorship, I suggest reading that entire thread and its continuation. All it discusses is the ability to have curated blocklists. It's up to you whether you want to use them or not. What I did mention is that you don't have to use any specific replication protocol. Don't like IPFS? Use something else. If you did want to use IPFS and you're concerned about censorship, then consider that IPFS is a distributed hash table protocol with some default client rules. If you don't use their default bootstrapping nodes, you can create your own IPFS network. In fact, IPFS is totally usable in an isolated local network, or even over a sneaker net.