Blockstack Product Scalability

Hi there, I read the whitepaper and had some non-technical questions first:

  1. How scalable is the Blockstack product? Is it being developed to eventually become the de facto Identity-as-a-Service for all of Blockchain based platforms & cryptocurrencies or only for the Blockchain that Blockstack currently uses?

  2. To leverage Blockstack’s Identity-as-a-Service, do end-users have to use applications built only on the Blockstack network or can they eventually use any app on any network (such as Ethereum or others) while using their Blockstack identity?

  3. Could multiple Virtual Chains be implemented (one for each unique Blockchain-based network or platform where users can use their Blockstack Identify), all of which interact with the scalable Atlas & Gaia networks? Where Atlas is the brains of the operation routing information to different underlying blockchains and storages?

  4. If so, how would the Blockstack token work with the other tokens & coins?
    Is there Token Interoperability or a Discreet Token Exchange taking place at each interaction? Perhaps using Sidechains such as Blockstream?

  5. How would block verification on the multiple underlying blockchains work from a time and consensus perspective? Different networks (on different Blockchains) would have different wait times and protocols to add a transaction to their respective Blockchain? Would have to wait for the slowest chain to complete verification of a transaction?

Thanks,
Haseeb

Thanks for the questions!

I’ll start taking a stab and I’m sure other community members will also jump in.

You can think of virtualchain as a blockchain that uses a virtualization technology (that’s an implementation detail). So the question becomes “Can multiple blockchains be implemented using this technology?” Yes, of course!

The current Atlas deployment is linked with the current virtualchain (on top of Bitcoin). The reason for this is spam protection and access control. You can only write to Atlas if you’ve already paid a cost by writing a valid transaction to the virtualchain. For other virtualchain implementations to interact with this specific Atlas network deployment we’d need to explicitly allow it. We’re currently leanings towards having separate Atlas network deployments for different virtualchains.

Thanks Muneeb! With each reply my understanding of the ecosystem gets better.

Use case: As an end-user I want to register haseeb.id once on Blockstack, and have it available for use on Ethereum, Bitcoin, and any other decentralized network (eventually) powered by Blockstack Virtual Chains. Since it has been registered by me once, no other user on a different network should be able to register it as this is my decentralized digital identity.

If the Blockchain (and Virtual Chain) is where the domain name/public key binding is taking place, and if multiple Blockchains (and Virtual Chains and their corresponding Atlas networks) can exist, then do I have to register haseeb.id at each Blockchain independently to use my Blockstack Identity within each network?

I guess I misunderstood the role of Atlas thinking that it (or the zone files), or potentially another Blockstack layer could reject the registration & propagation of a duplicate username across two Blockstack-enabled networks.

Or, with each additional Virtual Chain supported by Blockstack, all existing domain names are automatically registered on that new Blockchain so that there can’t be duplicates?

Thanks!
Haseeb