It can be significantly more challenging for developers to build decentralized apps, especially since a per-user general-purpose storage service is less flexible than a dedicated database. This decentralized architecture comes with its limitations for both users and developers. This is how many downloaded applications on your computer work, in that they interact with your local file system without needing to talk to a server. The key thing here is that the application running on your computer contains all the logic it needs to interact directly with a general-purpose storage service, with no servers involved. The Facebook application reading from your friends' data stores to display their information on your feed.The Facebook app reading from and writing to your data store.Running the Facebook app, which will have no associated servers, on your computer.With this architecture, using an application like Facebook will involve: Improved ability for users to switch between similar applications, since data storage is independent of the applications.Better security and data privacy, assuming app owners implement end-to-end encryption.Better ownership and control over their data and how it's used.This architecture will provide the following benefits to users: Supports sharing between users for apps where one user might read another user's information.It must support mechanisms for securing the data and controlling who can access it. Cloud-based, so users can access their data from anywhere.Similar to the file system on your computer, it must have an API that allows multiple applications to interact with it. In designing this architecture, the storage service must meet the following requirements: This service will store data on a per-user basis instead of a per-app basis, and each user on the network can own and control their data. In this architecture, we can have a storage service that is independent of the applications that interact with it. But in a decentralized app, we can separate the app code from user data. For example, the Twitter app knows how to interact with Twitter's databases. In centralized applications, there is a tight coupling between the application code and the way they store data. Most users have to go through the application's UI to access their data, and they can only do what the UI supports with their data.įor these reasons and more, there has been a trend towards building decentralized applications which move ownership and agency of data back into users' hands.Employees of these companies can snoop on private user data.Companies can use their users' data for nefarious reasons.While this model has been very successful for both the companies and users, it has come with its downsides: These apps are centralized in that the companies that run them store and manage all the user data. Some of the most popular applications today like Gmail, Facebook, and Twitter are run by companies which own and manage their users' data and expose an interface for users to access their data. I'll start this post with an overview of how a decentralized application might work, before describing Blockstack's approach. ![]() I find the idea of decentralized applications appealing because of its promise to give users more ownership and control of their data.īlockstack is also interesting as it's a non-cryptocurrency use of blockchain, which I covered in the previous post. Blockstack is a network for building decentralized applications based on blockchain. The final post in this lecture series is about Blockstack. MIT 6.824: Lecture 20 - Blockstack Timilearning
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |