Centralize vs Blockchain vs Holochain

Let’s start this blog with the Agenda of content:

  • Centralize Architecture & Issues (client/server) ​
  • Data-centric
  • Fear of AI (Artificial Intelligence)
  • Blockchain Architecture & Issues​
  • Agent-centric
  • Holochain Architecture ​
  • Benefit of Holochain
  • Agent-centric vs Data-centric​

Centralize Architecture

We live in the era of centralize version of internet and applications. As you can see in the below image, applications like Facebook, Instagram, WhatsApp, Gmail, Uber, Airbnb and etc. are collecting all the data in their data centers and providing some services that are available via internet. So we can easily use them by Browser, Mobile or Tablet.

Centralize Architecture

Many of us are happy about the stable services we are using daily basis without considering some deep and serious issues and problems. First of all let’s see what are common issues in this architecture:

  • Central
    • If service provider is down, your access is cut.​ Also you need to have stable internet connection!
    • If servers are hacked. Your data is lost.
  • Ownership
    • There is zero level of privacy. We have no Private data at all. The whole meaning of our privacy is summarized to a single password we have.​
    • Service providers (Google, Facebook and etc.) are the real owner of data.​
    • Consequently your accounts and profiles could be blocked easily.​
    • They can analyze, process, sell or abuse our data in any fashion they would like.
  • Accuracy
    • Service provider can easily manipulate the data. ​

If all of us want to go to the same conclusion that they are the serious problems then we need to answer this question: what is the solution?
I would like to answer this question in this way that, any solution for any problems would be just a temporary remedy, if we do not find the root of problems. Therefore mentioned items are just the consequences of Data-centric ideology.

Data-centric

In data-centric ideology we put the Data in the center of systems then we are running business rules, making decision and trying to improve any ecosystems and applications by shaping data in different fashions.

Data-centric Architecture

In data-centric architecture all users are being identified by the data that he/she produced via applications or services. If you would like to have different profiles in Instagram or Facebook, you have to create different email addresses in gmail and identify yourself into service provider via validation link in your mailbox.

Then we are just happy for using the free cost applications(from social networks to taxi services) while we are paying it with the most valuable part of our life, Data.

In general terms, Data-centric is a title for well-known architecture of data process in Data, Information, Knowledge.

Fear of AI (artificial intelligent)

According to wikipedia:

Any device that perceives its environment and takes actions that maximize its chance of successfully achieving its goals

Generally AI is one of the fantastic part of human being inventions while the ongoing topics and fears we are considering daily basis that how we are going to use AI in the future?
AI needs more data for more improvement in the exact way of human kinds are doing. We are studying, practicing then executing and receiving some result. By analyzing the output we define some bugs or problems and repeat the cycle.

In data-centric architecture the real owner of data – who are not us but the big companies – will use AI to analyze our data(from our social networks, our cameras, microphone, device location, our communication and friends and etc) to know more about our conscious and subconscious. So, who are supposed to receive the benefit of the result? The answer is clear, we will be at the end of queue.
We will buy the specific product, vote to specific candidate, travel to specif location, and generally will live in a way that somebody else wants. They don’t even need to force us to for doing all of them. They will navigate us to do all of them by our choices automatically, since they will manipulate our consciousnesses with the help of full data that we produced easily.

Blockchain

So we are not the first people who are considering those topics and are not a lone for finding a right solution. A person or group – nobody knows – named Satoshi Nakamoto by the inventions of Bitcoin, introduced blockchain idea for implementing distributed trustable ledger for payment in the untrustable environment of internet.

Blockchain Architecture

I don’t want to go into detail about Blochain just an overview of architecture would be enough to tell us that this ideology also can not fix the root of problem which is data-centric. (please just ask google, what is blockchain)

Blockchain Architecture

Let’s see what are well-know issues of the Blockchain:

  • Consensus  Algorithm
    • it causes  TPS (Transaction Per Second) issue
    • More transactions, more users, more dApp leads to performance issues
  • Full Node
    • All the history of Blockchain should be maintained by all Full Nodes. Big Blockchain size​. Since blockchain is getting bigger the normal people are not able to host it any more and again we need to rely on the big data-center to host a full version of blockchain
  • Privacy
    • All data are in a public place but distributed. However we can encrypt them but we still don’t have any private data.
  • Data-centric
    • Blockchain is not the solution for data-centric because it is data-centric. One bitcoin is just a token of data. When Alice send 1 bitcoin to Bob, actually she is shifting 1 token of data for her address to Bob’s address. It means it is still Data in the center of echosystem.

In the time of ICOs there were bunch of new ideas(or claims) for implementing AI applications of service with the power of blockchain which emerged more fear than before. Blockchain are distributed and open for everybody to have a copy of it, so in that case anybody can use of benefit of AI with our data than just big companies.

This is the schematic of Data-centric architecture in Blockchain. Alice and Bob just pushing data(transaction or smart contract) to blockchain and then asking consensus algorithms for the accuracy of information or transaction. And another big issue that for all applications(Payment, Real State, Identity Manager and etc.) we need to go to one single place.
Just imagine in our normal life we are supposed to have one organization to handle and manage all rules and issues for all sports. It means instead of having Fifa, Fiba, Fila and etc, we would create a single organization to consider all of them.

Agent-centric

Agent-centric is a philosophy against data-centric and trying to put a user of applications in the center of architecture which means user as an agent supposed to identify himself, participate in rules and conditions and help for having a safe and healthy ecosystem.

Agent-centric concept

As you can see in the image, in Agent-centric fashion, a user will be responsible to identify himself and produce data or do any action or event. So an agent can have private and public data. The private data never leave his/her devices(Mobile, Tablet, PC etc..) and also Public data will be just available with other agents who installed the same hApp.(hApp: holochain application)
Generally in Agent-centric you and I and other members, who installed the same application, will be inside a community, Like the old tribes, so we accepted the same business rules or condition, we have our Public data which will be available just inside our community, and we communicate to each other directly without any 3rd party in the middle.
In agent-centic philosophy there is no need to fear about AI since my private data never leave my devices, in this case we will openly use AI on our public data for each agent and his community benefit, not for the big companies and advertiser benefits.
It is the basic philosophy of Agent-centric now let see how we are going to implement it in reality using Holochain

What is Holochain?

  • Holochain, is a framework to implement distributed peer to peer applications.
  • It is free and open-source .​
  • It is Agent-centric not Data-centric.​
  • With Holochain, you have Private and Public data.​
  • Public data is not being shared to the world, just to your community inside hApp.​
  • It is not Blockchain.
  • So, there is no Consensus Algorithm.​

Holochain Architecture

Using one example scenario like message hApp we are going to take a look at the all steps and processes of holochain applications.

Before starting let me explain 2 important basic concepts that required for understanding holochain ecosystem.

  • Source Chain: For any application that you install on your device, there is a source chain related to it which is responsible to maintain all your public and private data. Nobody else can access to this source chain and it is application specific that means if you install another application, you would have another source chain. This source chain is begin created when you install the application.
  • DHT (distribute hash table). This is the place that all public data of this community is going to be there for high availability. It is not a centralize database, or centralize data center or server or any kind of global blockchain. it is just distributed hashed content of public data and each agent who installed the application supposed to maintain part of it. It is the job of holochain core framework to query and find any piece of data on different places.(it is generally like torrent if you already know that)
  • DNA: which is coming from our organic is just a title for the whole Business logic, Private and Public data and all agents(users) who installed the same application.
Holochain Application Architecture

Right now we are ready to see all steps in the example of messaging application in holochain. Bob, Tom and Alice are family members and Bob is going to send a message to Tom. First of all, every family member is supposed to install the same version of application.(hApp)

  1. Bob wants to send a message via application installed on his device. So he is sending message to hApp application.
  2. There are some logic inside application(which implemented by developers or companies) are going to validate the data.(for example length of message can not bigger than 2000 characters)
  3. If validations are passed then one entry will be added to your source chain.
  4. A direct messaging mechanism finds Tom and send your message to Tom. and Tom can Bob’s message. So what if Tom is not online in that time? that why we need other steps as well.
    Right after step 4, step 5 is occurring and the Header of Entry + Public portion of data(if there is any) is going to propagate to the network or DHT. Depends of hApp setting one or more than one other Agent in the network in the neighborhood are going to received these data.
  5. Since Alice also installed the same application and she is maintaining part of DHT, her application would receive the data coming from Bob, and try to rerun the save validation rules again. Since all of the agents are using the same application so all the validation rules will be the same.
  6. If validations rules are passed, the data would insert to the DHT. Since the DHT would be replicated for couple of copy to have a healthy application and network, Bob’s data would be replicated in a few places for more availability. If validations rules return error, Bob would be marked as a bad player and Alice would notify the network to ban him.
  7. Tom comes back to network again.( You can imagine network as Internet here, but generally network can be even intranet or home network)
  8. In this step, Tom’s application will query DHT for any new data for him if there is any, and holochain core functionality would discover the neighborhood nodes to find the new data when Tom was offline.

Benefits of Holochain

  • As you can guess, when more agents installed the hApp the availability of DHT will go high so the network will work more healthy.
  • This architecture doesn’t require a live internet since it is distributed and peer to peer which mean if people inside an Island will be in a natural catastrophe like tsunami or etc. all agent can safely continue to talk to each via local network and their DHT would be synced when they com back to internet and re-connect to whole world.

Agent-centric vs Data-centric

Right now let’s see how agent-centric looks like in holochain architecture.

Agent-centric concept in holochain

Agent-centric in holochain means if there is a game between some people, they just need to follow and respect the rules inside their communities. Alice can play football with Bob and other players, all the rules of football would applied to their game. And also in the event of having any trouble, they go to FIFA to fix their issues. FIFA here is not a centralize place or server, just all validation rules of application that are checking the validity of data. In better phrase we have a distribute FIFA. There is no centralize place like Client/Server or Consensus Algorithm in Blockchain architecture that we need to go there for the accuracy.

Alice can go to another place(hApp) and start playing Basketball with Tom in totally different rules and context with different community. This kind of ecosystem is exactly the things that we implemented in our real life and that is why we are calling it DNA. And in holochain we can implemente even a better version of FIFA and FIBA by having trustable distributed rules among all agents. Real Data Democracy.

Right now let see how the world would be by having peer to peer applications with holocahin in agent-centric fashion.

By using cryptography(public/private keys) you can manage your profile on your devices as many as you would like. You can have different personality in different chat room, family or friend, with different photos and title and characteristics. Your communities are different from application to application nothing is going to be leaked form on DNA to another one.

If there is DNA or hApp for Real State, you should be there by real identity and just proving that you are the owner of a house. Your community in Real State are not supposed to know more than from you.

In payment application the only things matter to you is Money and Credit. You just need to be assure the other party who is going to send a credit/money has enough of resource to that or not. The same scenario with all other kind of applications.

Comments

So empty here ... leave a comment!

Leave a Reply

Your email address will not be published. Required fields are marked *

Sidebar