Will data from dapps on Blockstack work on other platforms such as Dfinity?

I’m recently reading a bit more about decentralized applications, and I’m still not sure whether our personal data on Blockstack will, for example, be backward compatible with other dapp platforms. Is there a written standard for dapps and how their data is structured and exported? Are dapps data compatible only for specific decentralized platforms? Will other platforms using the same blockchain technology be able to run Blockstack apps?

I’m still confused whether we will still be tied to a specific platform or not. I saw a couple of videos where @muneeb was talking about how at the moment, the Internet and our data is owned by centralized apps and corporate companies such as Google and Facebook. But in the end, if I’m using dapps on Blockstack, does this mean I will always be locked in the Blockstack ecosystem, or not?

It would be really helpful if someone can roughly explain some of these questions and doubts. I’m very interested to start developing a dapp.

Thanks in advance,
Owen

As far as I know, all “Blockstack” dapps use the blockstack.js to authenticate with the “Blockstack browser” and use that to do things with it’s app-generated private key and the users’ names that they own. They have the option to use the Gaia Hub technology but technically nothing is stopping them from using their own API, or IPFS, or any other storage backend.

It may be possible to use the Gaia backend without Blockstack authentication, but I’m not sure it is easy nor remotely possible at this point.

So with that said, if it is a Blockstack dapp, it is generally not cross-compatible with other dapp platforms (such as eth, dfinity), and vice versa, just as MacOS applications cannot run on Windows when they use OS-specific languages/libraries/compilers.

Blockstack is decentralized in such a way that, as an end-user, you can run your own core node, your own Gaia hub, and your own “browser.” You don’t need to rely on Blockstack PBC in any way, and thus you own your data. It does not ensure perfect cross-compatibility though, and I am not sure if any dapp platform can ensure that – but dapps themselves can be made in such a way to allow it (such as what postly is trying to do).

1 Like

Thanks @MichaelFedora for the thorough explaination. I’ll definitely need to do more research about this all and the aspects of dapps and the platforms that already exist.

1 Like

There are different aspects in a dapp

  • identity: how the user signs in. There is a standard that tries to bring all the different identity providers together, read more on https://identity.foundation Blockstack is part of this group, so you could use the “universal resolver” to be cross-platform
  • storage: you have to distinguish between distributed storage like IPFS and decentralized storage like gaia. There are different platforms that also talk about storage. In the end this is only an API call. The interesting part is how the dapp stores its data. That really depends on the area of the app whether a standard is available or not. BTW, there is a branch in the gaia repository that provides gaia as a standalong library, so you could try using that.
  • distributed state or smart contracts: Blockstack has proposed a language for smart contracts on their virtual blockchain. Getting this cross-platform needs extra efforts from each blockchain. There is for example the https://arkane.network/ that tries to provide a cross-platform solution for distributed state.

Which part are you interested to be cross-platform?

2 Likes

Hey Owen,

There is no standardization in Blockstack’s ecosystem yet, let alone the wider decentralized application ecosystem. However, it is absolutely possible for data from Blockstack apps to be carried over to other centralized or decentralized apps.

My app, Graphite, has written a specific API to make this simple. As noted in the API, there are security concerns the user will need to take into account, but it gives the user choice instead of locking them into a single platform. Check it out here:

1 Like

Great! Thanks everyone for sharing your thoughts. I do have a clearer understanding now :slight_smile:

2 Likes