Blockchains and decentralization

Zaktualizowano: 9 lis

We've explained the basic structure of a blockchain. But when you hear people talking about blockchain technology, they’re likely not just talking about the database itself, but the ecosystems built around blockchains.

As standalone data structures, blockchains are only really useful in niche applications. Where things get interesting is when we use them as tools for strangers to coordinate amongst themselves. Combined with other technologies and some game theory, a blockchain can act as a distributed ledger that's controlled by no one.

What this means is that no one has the power to edit the entries outside of the rules of the system (more on the rules shortly). In that sense, you could argue that the ledger is simultaneously owned by everyone: participants reach an agreement on what it looks like at any given moment.

The Byzantine Generals Problem

The real challenge standing in the way of a system like that described above is something called the Byzantine Generals Problem. Conceived in the 1980s, it describes a dilemma in which isolated participants must communicate to coordinate their actions. The specific dilemma involves a handful of army generals that surround a city, deciding whether to attack it. The generals can only communicate via messenger.

Each must decide whether to attack or retreat. It doesn't matter whether they attack or retreat, as long as all generals agree on a common decision. If they decide to attack, they will only be successful if they move in at the same time. So how do we ensure that they can pull this off?

Sure, they could communicate via messenger. But what if the messenger is intercepted with a message that says "we’re attacking at dawn," and that message is replaced with “we're attacking tonight”? What if one of the generals is malicious and intentionally misleads the others to ensure they're defeated?



All generals are successful when attacking (left). When some retreat while others attack, they will be defeated (right).

We need a strategy wherein consensus can be reached, even if participants turn malicious or messages get intercepted. Not being able to maintain a database isn't a life-and-death situation like attacking a city without reinforcements, but the same principle holds. If there's no one to oversee the blockchain and to give users “correct” information, then the users must be able to communicate amongst themselves.

To overcome the potential failure of one (or several) users, the mechanisms of the blockchain must be carefully engineered to be resistant to such setbacks. A system that can achieve this is referred to as Byzantine fault-tolerant. As we'll see shortly, consensus algorithms are used to enforce robust rules.

Why do blockchains need to be decentralized?

You could, of course, operate a blockchain by yourself. But you'd end up with a database that's clunky in comparison to superior alternatives. Its real potential can be exploited in a decentralized environment – that is, one where all users are equal. That way, the blockchain can’t be deleted or maliciously taken over. It's a single source of truth that anyone can see.

What's the peer-to-peer network?

The peer-to-peer (P2P) network is our layer of users (or the generals in our previous example). There's no administrator, so instead of phoning into a central server anytime they want to exchange information with another user, the user sends it directly to their peers.

Consider the graphic below. On the left, A needs to route their message through the server to get it to F. On the right-hand side, however, they're connected without an intermediary.



A centralized network (left) vs. a decentralized one (right).

Normally, the server holds all the information that users need. When you access Binance Academy, you're asking its servers to feed you all the articles. If the website goes offline, you won't be able to see them. However, if you downloaded all of the content, you could load it on your computer without querying Binance Academy.

In essence, that's what every peer does with the blockchain: the entire database is stored on their computer. If anyone leaves the network, the remaining users will still be able to access the blockchain, and share information with each other. When a new block is added to the chain, the data is propagated across the network so that everyone can update their own copy of the ledger.

Be sure to check out Peer-to-Peer Networks Explained for a more in-depth discussion of this type of network.

What are blockchain nodes?

Nodes are simply what we call the machines connected to the network – they're the ones that store copies of the blockchain, and share information with other machines. Users don't need to manually handle these processes. Generally, all they need to do is download and run the blockchain’s software, and the rest will be taken care of automatically.

The above describes what a node is in the purest sense, but the definition can also encompass other users that interact with the network in any way. In cryptocurrency, for instance, a simple wallet application on your phone is what's known as a light node.

URL: https://www.designrush.com/agency/software-development/blockchain

Blockchain Development Companies




3 wyświetlenia0 komentarzy

Ostatnie posty

Zobacz wszystkie

Web 3.0 aims to deliver personalized and relevant information faster through the use of AI and advanced machine learning techniques. Smarter search algorithms and the development of Big Data analytics