The Future of Distributed Computing with BlockChain Technology

We truly live in very exciting times….

For those who are into tech and never heard of Ethereum and/or what it can be used for, info below will blow your mind.

With the invention of the blockchainBitcoin is born. 
The first one and the hottest cryptocurrency now in history. Truly revolutionizes the money/banking in a modern way. The blockchain is cool but can be much more useful with intelligence on top of it … ( to code on top of it )….therefore Ethereum is born….which is the blockchain based technology with one more extra important feature…which is smart contracts which are coded with Solidity language.

So what  Ethereum can do for you besides also creating the second hottest digital currency after bitcoin called ETH? 

To give you an idea …scroll trough the front page of   https://www.ethereum.org/.  
So the answer is  ….pretty much anything!

You can run a company, service, bank, organization, voting system, your application or even the government on top of truly decentralized distributed platform. I like to call it …."The Real Cloud”. Not centralized anywhere, but truly distributed. And the best feature is transparency of the contract in my opinion, public record keeping of all contracts and therefore no cheating as contracts are automated and cannot be changed once published.
To give you and idea of the use cases….look at existing catalog of applications built on top of it already: http://dapps.ethercasts.com/

Back to the point of Distributed Computing future:

But one the coolest project that emerged from Ethereum and that I am watching every single day, where the future of distributed computing lies: https://golem.network/

( watch the video)




With Golem, anyone can rent resources such as CPU, GPU and disk space …from computers which are the member of the global golem network distributed across the world. And anyone can lend their resources for a profit or cause. 

How does it exactly works:

What happens, when you send your job to the golem …depending on your requirements and the job type it will be dispersed into smaller pieces and sent to hundreds, or millions of computers across the world which are part of the golem network. That computer can be my home desktop, with $300 graphic card…collecting dust, while I am at work.

You can process your Hadoop Big data jobs, your AI/Machine learnings jobs, your extensive graphical rendering jobs, or even your long running job such your website or your application.  
And the best part is, the golem will run Docker as one of the essential core components to execute the jobs in their Brass Golem release.

Golem supports all major platform  Windows, Mac, Linux.

What could this mean for the existing public Cloud Providers?

Golem will definitely bite the Cloud Marketplace and take shares away from public clouds such as Amazon, Google, Azure, and others. It might take time.Assuming that running on top of Golem, will be cheaper than AWS and others… people will start using it massively.  And prices will start to fall everywhere.

And this is very important fact for Golem’s future and success… it has to be quite cheaper than the public cloud rates and it has to be profitable for compute lenders after deducting running costs, such as power and hardware depreciation! 

I can also see above-mentioned cloud providers, building new services on top of Ethereum, similar to Golem.  

Other interesting stuff might happen too as I assume that existing big cloud providers are NOT just going to sit and do nothing about it.

For example, we could be ending up running AWS version of the golem, on our computers which lends our own resources to Amazon and amazon rents it to someone else. Anything is possible. 

The point of blockchain is to eliminate man in the middle, however, I don’t think we will ever get rid of them as companies always find ways to squeeze out the profit from the public. There might be a reason to run Google’s version/answer to Golem and rent your computer to Google, as they might write a better algorithm for crunching certain jobs a lot faster than others providers.  Who knows? That part is unpredictable. 

Performance concerns and possible solutions in Golem's design: 

Say you are golem network customer…You probably ask yourself, well, but my job can land anywhere in the world…on some slow computer with slow internet connection… I don’t want that..that’s why I will stick to the regular Cloud Providers….they have SLA!

This is true, but with smart-contract, you could possibly define inside of the contract things like job constraints ( being your SLA requirement), such as latency, disk, speed, memory, GEO based concentration of nodes …etc. Therefore you can control where your job will land. Other technologies such as intelligent GEO based load balancing can be integrated so your customers, wherever they are, always hit the closest servers and hence provide good performance experience.

Just like the VM broken up the physical machine into many smaller virtual machines, and datacenters broke 1000’s of physical machines in a full blown cloud platforms with millions of VM’s and Docker broke a VM and Physical machines into even smaller parts …. And cost running on each becomes cheaper and cheaper the lower you go….Golem and Ethereum opened up a new type of marketplace… service which I guess would be called TaaS.  ( Task as a Service ).

Companies can now code ethereum functionality into their firmware’s for devices such as load balancers, routers.. and their existing public applications. And you can rent your services, per minute, hour …without even interacting with the customers.

Anything could be rented now without opening an account, and committing yourself to traditional services where you provide your personal info, and credit card information.  You will just have to own golem currency GNT, which you previously purchased with USD and you can now buy and run anything on Golem very quickly. 


Another concern is of course security of your data:

Again..true and very valid concern…however you can design your application in many ways, such as data warehouse will not rest on golem network, instead in your preferred location central public locations such as Amazon. And even if you do keep data on top of the golem, you can encrypt it and since it’s dispersed into millions and billions of pieces, you would have to have all the pieces in right order to even try to break the encryption.Your golem long running jobs can run in Docker containers which are also partially or fully encrypted…etc.

Why is golem/ethereum tech so important? 

It's a game changer….possibilities are endless. 

Especially for distributed computing as of today, running any business…or task …can be and it is most likely operated/processed by some kind of computer.In my mind, it is very important part of our world's technological development in many ways.

Imagine the fastest supercomputer in the world today, which runs some intensive computational physics simulations....some takes weeks to compute. With Golem we could help to get this done possibly in minutes. Golem has potential to be incomparably faster and larger than all the supercomputers in the world combined.


Why is Ethereum the choice for Golem?

I will leave this answer to this fine piece of article... here

Big boys taking action already:

These guys …which you heard of, think that is so important that they had a need to form an alliance  http://entethalliance.org

There is a 7-hour video on the page, which will give you a very good idea why they liked it and their use cases….by the companies from various industries. I assume more and more companies will join the alliance.

What can you do to help Ethereum/Golem? 

  • Learn Solidity language and start coding and experimenting!
  • Contribute to the code! https://github.com/golemfactory/golem
  • Install Golem Client and put your home computer to work while not using it! Lend it to the golem test-net for development!
  • Once development is done and once Golem switch to the main net, lend your computer for a profit and good cause!

If you liked this article, feel free to subscribe as I will be posting more interesting topics.

Follow me on twitter for more updates.


Zoran Vukmirica
Cisco System Engineering Architect

Comments

Post a Comment