business triangle technical hexagon

The end of the centralized era: Distribute or decentralize!

Technical talk | English

Theatre 16: Track 4

Wednesday - 11.45 to 12.25 - Technical


Since the beginning of internet era, platforms and services used a centralized architecture, which joins all the processes, data and users in a single place. Nowadays, most of the services we use online are centralized in a server somewhere in the world. This potentially leads to problems like security issues, data loss, and complications related to a particular country’s laws. To solve these problems, different technologies arose to break this centralization. Furthermore, the mentioned technologies can be divided in two main groups: decentralized ones, in which a platform is divided in small parts working together; and distributed (or P2P) ones, in which each part can work individually by its own. Decentralized technologies (often also called distributed) breaks the monolithic paradigm of a platform and divides it into nodes with different roles, like the widely known roles of masters and agents.

This approach aims to mitigate problems related to data and security, increasing data replication and making the platform resistant to losing nodes. It also offers some advantages related to data analysis and it is used in the majority of big data services. Perhaps one of the most known of these technologies is Apache Hadoop, an open source software platform for distributed storage and processing. These form the so-called “landscape of big data” which contains almost every platform or service used in this field. In the other hand, distributed technologies (or P2P technologies) tries to replicate the service into each node, creating a network of peers which runs the platform. The main difference with Decentralized technologies (discussed before) is the lack of hierarchy between nodes, creating a network of peers with the same privileges. This approach is used in technologies like blockchain, which solves many the problems mentioned above while generating different ones. Blockchain is a technology used by Bitcoin, a distributed cryptocurrency. Thanks to Bitcoin, other blockchain applications and platform appeared, like Ethereum, a novel technology that allows the creation of distributed applications that run in an arbitrary large and trust-less network of nodes. Ethereum uses its own blockchain to deploy and execute fragments of code in a distributed network. These fragments are called “smart contracts” and behave autonomously like an individual entity capable of store currency, take decisions and communicate with other smart contracts nad users. Other emerging distributed system is IPFS, a peer-to-peer file-sharing protocol that uses a cryptographic hashes to store files in a distributed network. IPFS works very similar to the HTTP protocol but in a BitTorrent way. Overall, it is a peer-to-peer file-sharing protocol that uses a cryptographic hashes to store files in a distributed network, giving each one an “IPFS address” to access it. This feature implies that two identical data files have the same hash, so they have the same IPFS address, eliminating duplicates in an easy, secure and fast way.

With Ethereum and IPFS, users can create a 100% distributed platform, trustful, open source and free to use.

In this talk I will address these two approaches to decentralize or distribute any system, I will explain the difference between both, and I will show advantages and disadvantages of each one in some example cases, focusing in creating fully autonomous distributed platforms using blockchain and IPFS.