Few general (noob) questions about the internet computer

Hi guys,
I think this is the best place for my questions because on the other community channels on telegram I did not receive any answers. I‘m truly excited by the idea behind the project and by its new approach of how to integrate blockchain in peoples daily life while at the same time having the vision of a better internet. I can‘t wait to participate as a user in the ICP protocol and test its new functions. However, there are some question which interest me and for which I have not found an answer elsewhere.

  1. So the internet computer does not store data on servers, instead, he distributes the uploaded data to a number of the underlying datacenters. Won’t this get to resourcefully with time and when the network grows in terms of storage place? Because today, data is only stored in one server network and not in all networks together.

  2. If I as an entrepreneur am the CEO of a social network, let’s say Facebook for example, my business model is dependent on data of its users. How do I access the data of my own network and is it possible to use the data for different services, for example also instagram?

  3. In a text was mentioned, that the own software can be accessed through secure hardware devices for example a yubikey, if I lose this yubikey, will then my software and as a result, my whole business be gone?

  4. In a presentation of dfinity it was mentioned that on the internet computer you do not need any passwords any more and you carry something like an E-ID with you all the time, well this makes sense because you do not need to access servers anymore but how does the internet computer know that it is me while im using the protocol and if it is trough the IP address, what happens when im in holidays for example but still want to use and visit for example linked up, how does it recognize me then?

  5. Services like the google search engine will still be reliable on cookies and data tracking of their users in order to maintain their business model. Will this still be possible with the internet computer as well as personalized advertisements?

I would be very happy if someone could help me out here.
Anyway, thanks for reading and a happy weekend.

1 Like

Take everything I say with a grain of salt, I’m just a developer using IC, not on the team!

So, in each of those datacenters are actually servers, which run the canisters. The IC just happens to give you orthogonal persistence out of the box, and makes a massive effort to make it so developers don’t have to think in terms of servers. Most (hopefully all) big web services actually do this same thing with the idea of database replicas. If you’re using a managed service like Firebase, they also do this for you. Moreover, lots businesses will even pay to have their data archived on tape storage.

Since you’re writing your applications code you get to choose what data your application stores. You could in theory, develop more or less Facebook on the internet computer as it is today. On the IC all of your backend functions are open, but remember you write the code. So, you could create an function that lets your Facebook canister access some function in an Instagram canister that has “secret” business information.

Yes and no. You could write in methods to transfer ownership of a canister. But in anycase you probably shouldn’t be relying on a yubikey to access your entire business.

I have no idea how the E-ID stuff will work in the future, or if that will even be something the IC provides. However, identities on the IC are just keypairs. Nothing is stopping a developer letting their service link multiple keypairs to a single user.

Yes and no. The IC doesn’t exactly implement the web like it is done today. You could track users based on their keypair identities. But, should you be doing this?

4 Likes

Hey Steve

First of all thank you for your time. Most of the answers help me further but some things are still unclear.

I understand. However, I still do not understand how the „storage problem“ is solved. As far I understand, my contribution to the IC is not only stored on one datacenter, it is stored on all datacenters in order to guarantee the unstoppable and decentralized nature. When the network grows and all data on the IC must be stored on all Datacenters won‘t this cause storage problems in the long-term?

Alright, sounds good. Because I think it is crucial for the IC‘s success that current popular networks can also be run on it in order to become mainstream. If it is possible for a company to run the same business model on IC like it is doing it today on TCP/IP (eg. Facebook) there is no competitive disadvantage for the IC in comparison to TCP/IP.

So on what one rather rely on? I think the risk of losing the connection to its software and data is much higher when using the IC in comparison to when using TCP/IP. This is one of the usual disadvantages of high decentralization. Although the pros of decentralizations overweigh the cons, this particular problem is probably something which should be kept an eye on.

So what does it mean for the user, how does he access his „account“, how is he linked to his corresponding keypair? What does it mean in the end for the user experience? Must the User store his keys with similar problems when he loses it like in point 3?

Like in point two, I think something like this is crucial. I mean, I use google because I like their service and I‘m willing to make the trade-off to give them my data in return. Reality shows many people think like me. A business model like googles is only possible with personalized advertisement and data tracking. So I don’t know if people will switch to the IC if google (or a very similar company) is not offering its service there. Also I think companies on the IC need to be able to make similar profits because only then they are able to compete with companies on TCP/IP and therefore are able to offer a product which is just as good as the one of their competitors.

I want again thank you, for your help and your answers. As you may notice I‘m still in a learning phase thats why I have so many questions but this implicates my gratefulness for fast and qualitative good answers.

2 Likes

I’m not entirely sure about that. If I recall correctly data is stored across a few just to give redundancy. Remember, more storage can be added as well.

Thats a good question. I don’t have a “real” answer per-say. In my own applications I’d code in a way to recover the data. Enterprises do have this same exact problem today - shh keys to servers, master decryption keys, etc.

KeyPairs can be generated and stashed in browser local storage if they dont exist. Next, the application can put the user through a login flow using a traditional password. Maybe they have a card with a keypair embedded in a QR code and the application just asks you to scan the code. Lots of solutions here.

So, let’s take a step back for a second. Dfinity has exciting potential, and is a platform I personally enjoy and believe in, but like all things in tech it is still tool. Some tools are better for jobs then others. I think it’s best to think of the IC like a high abstraction of something like Heroku. The IC handles persistence, hosting, scaling, authentication, and gives you tools to develop with - this takes a ton of load of the developer, its a lot easier to build on in my opinion. The IC has some neat “open” properties developers can leverage to compose services. It’s a unique platform, with its own trade offs. It might not be suitable for something like google, which is ok! Google doesn’t need to be on the IC, the IC doesn’t need a google on it. The platforms unique properties will enable a ton of services the come into existence which wouldn’t be possible on other traditional platforms.

2 Likes

Yes makes sense. I‘ll devenitely continue my research probably over the next years as also new features get introduced, sooner or later it will get clear.

Alright, however this solution requires „centralized“-servers again with the known security flaws. So there will be a chance for hackers to get the data they search for and if they get it, one has a problem. But I think there will definitely be solutions from innovativ entrepreneurs over time finding ways to bypass this problem.

Cool. If this really works out as stated from dfinity‘s site, this could really be a game changer in terms of user experience. Looking forward to explore this new possibilities.

Alright, I just recall the „20 years roadmap“ which Dominic Williams published on medium. His vision there is, that dfinity and its IC will completely replace TCP/IP as far as I understood. So, I think in order to achieve that, the IC still needs to enable market economy to drive innovation and progress and as a result creat products users really need. Maybe I‘m just not visionary enough, but I think that this is only possible if companies like google still can offer their product with the corresponding business model on the IC. I also think big Tech companies must exist in order to be competitive with other systems. It is important however, that no monopolies/cartels can rule the market or even the world. And the IC really solves this particular problem with a unique but complex infrastructure. I don’t know however, what consequences this infrastructure has for the popular business models of Tech companies. There probably lies the decisive factor of dfinitys success. Or IC and TCP/IP will co-exist in a symbiosis, both satisfying the market with products only one of them can provide. We will see. I rather stop this text now in order to not digress to far from the topic.

Really appreciate your support and effort.

1 Like

I think Dominic previously spoke about the IC making user tracking/profiling impossible by design. That might be good, might be bad, might break a lot of advertising supported sites that exist today.

However: IC can serve arbitrary HTML and JS, on it’s own domain, and can embed resources from other domains? It seems you have all the pieces to serve tracking cookies if you want to?

Alright. Well in my opinion it will not break anything as well I think this is more of a contra than a benefit.

  1. If there is no data tracking and no personalized advertising, services will get a price. I think most users, like me, rather allow cookies than pay money for the services of websites.
  2. As a dev, I also rather develop businesses on structures where I can monetize them better and where I can scale the business better. Also, businesses build on structures where they can be monetized, will be more competitive since they have more funds for development, growth and innovation.

So if it is really the case, that personalized advertisement is no longer possible I don’t know if the project will be successful in the long term. If ICP really wants to relieve TCP/IP, it needs a solution for that problem. I think Big Tech are important, not only for adoption but also for innovation and progress. However, I think it is good to take power from them in order to maximize competition. Thats where I really like Dfinitys approach, but if they want to succeed, they really need to be competitive in anyway, including advertising.

I have to disagree with you there. Personalized advertisement in my opinion / experience is mostly smoke and mirrors. Consider how many people you know who are using some adblocker, moreover look at the next generation. Sure, it’s fueled the growth of a few big consumer products, but there are many more that consumers happily pay for.

Don’t quote me on it, but I expect we’ll be seeing a large correction in that space very soon. Look at the growth curb of companies like HubSpot - a company focused on “inbound” lead generation - small companies are sick of burning money in ads (Myself included). However I digress! We’ve entered the territory of pure speculation!

So, if that type of tracking isn’t possible, what business / models are?
Well:

  • All B2B models (Paid, Freemium)
  • Amazon would be possible on the IC, as well as Amazon Marketplace Ads.
  • Uber, Lyft, DoorDash - all those gig companies.
  • Salesforce, and the above mentioned HubSpot
  • All the random Logistic Tracking SaaS
  • Untappd - that random beer app thats getting bigger

So the majority of businesses delivering real SaaS products.

What type of businesses can only exist on the IC (that I can imagine in 5 mins)?

  • Kit-bashed services composed of other services. Ie - My Food Stand extension for some big service
  • “Pass the payment” style services - canisters that provide very specific common functions, that anyone can plug into, but require integrators to pay cycles + small a upcharge for usage. Maybe this is a Database service, or a pub-sub type service, a spam detection service, a headless crm service. Something a developer sends to the IC, and people just use it.
  • Native SaaS that pay users cycles. Maybe FB could exist? Just instead it incentives uses to share personal information by paying them cycles, or some other token.
  • You’ve heard of “open-source-software”, now enter collaboratively-sourced-services, a name I just made up lol. Imagine your business is using a software, and you really need an extension made. You, and N other users could lock up money in a feature bounty. Then, developers could come and build that extension. Each developer tosses their software into the contract, and whichever one gets selected gets sent the bounty.

Alright. I really like to discuss this since I’m fascinated by emerging possibilities coming from new technologies making the world better. I just don’t want to drift too much into the utopia that’s why I’m also always critical. However, I like your ideas, at least most of them and they show that the IC will probably establish itself in the mainstream at least with new services not possible before or services which are improved for devs as well as for users through it. However, I’m still not sure, whether it will be possible to completely replace TCP/IP because I still see personalized ads, and some other features of TCP/IP, as a big plus in today’s world and am not sure if there exist competitive alternatives also from the IC protocol. As a young CS student, I’m definitely fascinated by the project and am happy to have the possibility to participate from the very beginning and am looking forward to observe how the IC will develop over the next years.