Achieving Decentralization — (1/2)

PlutusX
8 min readFeb 6, 2018

--

We ended our last article with Angelcoin, which has almost all we want from. ledger-based cryptocurrency except for 1 big glaring problem: it is centralized by Angel (Banks). What I really want to dive into for this article is explain why we want to achieve decentralization and break down how decentralization works.

One caveat is that it is nearly impossible to have a fully centralized or decentralized network, as in it is not binary. The best analogy I can think of would be to view Email Systems as decentralized networks. Email fundamentally asks like a decentralized system, however, over the years has become dominated by centralized web-servers. This is the same problem we are facing coin certain crypto assets such as blockchain. There is a growing dominance in providers (miners: we will talk about this later).

2.1 Decentralization vs Centralization

We will dive deep into the differences between the competing paradigms of the two systems

I) Aspects of Decentralization (in BTC)

Peer-to-peer network:
Open to anyone, low barrier to entry. It’s easy to download a client (app) on your phone or computer to become a node and start generating/verifying the transaction.

Mining:
Open to anyone, but the inevitable concentration of power often seen as undesirable. It required a high capital cost as a consequence of how the system has evolved. As a result, this aspect of BTC and other coins using similar consensus models are less decentralized. When a high majority of transaction verifications are congregated by a central group or location it defeats the purpose of a decentralized consensus ledger. We will talk about more viable and efficient solutions in later articles.

Updates to software:
This is from the core developers that are trusted by the community. They have great power (basically, centralized-passive authority).

* 5 Major Question we want to answer:
1. Who maintains the ledger?
2. Who authorizes valid transactions?
3. Who creates new BTC?
4. Who determines the rules?
5. How does BTC acquire exchange value?

* Beyond the protocol
1. Exchanges,
2. Wallet,
3. Service providers.
4. …

2.2 Decentralized Consensus

Let’s get a more technical with Bitcoin and decentralization

Bitcoin’s key Challenge
Key Challenge of decentralized e-cash: decentralized consensus
Or: how to decentralize Angelcoin
A class of protocols that’s been studied for decades in comp. science literature. A traditional motivation application for this protocol is both reliability and distributed systems.

Why Do We Use Consensus Protocols?
Traditional motivation: Reliability in distributed systems

Distributed key-value store enables various applications; DNS, Public Key Directory, Stock trades, …

Example:
Imagine that you are in the backend for a company like Google or Facebook. These companies of thousands or even millions of servers which form. A massive distributed database that records all of the actions that happen in the system like users comments, likes, posts, and so-on. When a new comment comes in, the way it will be recorded is that there might be 10–15 different nodes in that massive back-end that might contain copies of this actions. Now what the server needs to make sure is that the comment gets recorded in all copies of that database or none them. If for some reason because some of these nodes might be faulty the action gets recorded in none of the databases It’s okay you can go back to the user, and you can say, “There was a problem saving your post. Would you please try again”.

On the other hand, if some of the copies of the database saved it others didn’t then you’d be in a lot of trouble because you’d have an inconsistent database.

This is the catalyst that motivated traditional research on distributed consensus and you can sort-of see the similarities to BTC here, but we’re going to dive a bit deeper into the similarities and differences soon.

So, if we can achieve a successfully distributed consensus and we were able to build a massive full-scale distributed key-value store that maps arbitrary names with arbitrary values. Then that would enable a lot of applications.

Real Life Applications:
1. Distributed domain name system (DNS) is a mapping between human understanding of domain names to IP addresses.
2. Public Key Directory: Mapping between user email addresses to their public keys.
3. Stock trades: A distributed database instead of keeping track of who’s paid whom how much money would keep track of who’s transferred what units of which stock to whom.

Bitcoin has solved the distributed consensus problem (in a certain sense) but now we can focus on other major problems that many altcoins are solving. We will talk about alt coins later.

decentralized consensus: Imagine that there is a fixed number ’n’ of nodes or processes. Each of these nodes has some input value and then a consensus protocol happens. Two requirements of this consensus protocol are that: 1. The protocol should terminate and all correct should decide on some value. Some nodes might be faulty or outright malicious; and 2. That value they agree upon cannot be an arbitrary value but it should be a value that proposed as input by at least one of these correct nodes.

Let’s see how this works with BTC network.

BTC is a P2P system:
When Alice wants to pay Bob she broadcasts the transaction to all bitcoin nodes that comprise the BTC p2p network. It’ll have Alices signature so that all the nodes know that the transaction came from Alice (sk). It will have Bob’s Public Key (pk his address). It also contains the Hash. If you recall the hash is linking her coin or the receipt of her transaction from someone else previously. This too will be broadcasted to the whole network.

If you notice Bob’s computer isn’t even on the network. He might want to run the client to become a node in the network to be notified, however, the transaction is complete and Bob does, in fact, own the amount transferred by Alice whether or not he’s participating in the node network.

How consensus COULD work in Bitcoin:
At any given time:
* All nodes have a sequence of blocks of transactions they’ve reached consensus on.
* Each node has a set of outstanding transactions it’s heard about. Consensus has not yet happened so by definition each node might have a slightly different version of the outstanding transaction that its heard about.

The P2P network is NOT perfect so some nodes may have heard of a transaction but not other nodes.

So if you took the traditional theory of distributed consensus and applied that to bitcoin this is the sort- of system that you might end up with. Now, this has SOME similarities with how bitcoin works, but it’s not exactly how Bitcoin works. Why is that? The reason is simple: doing things this way is a REALLY hard technical problem for various reasons. Obvious ones: Nodes might crash and nodes might be outright malicious but also because the network is highly imperfect. It’s a P2P system and not all pairs of nodes are connected to each other. There could be faults in the network because of poor internet connectivity. Finally, there will be LOTS of latency in the system because all of these things happen over the internet. There not within a single data center and so on. One massive problem with high latency is that there is NO sense of Global Time.

What does a lack of sense in global time mean? Not all nodes can agree to a common ordering of events simply based on observing timestamps. That’s the equivalent to asking one node that did take a message in Step One and have that same node do something in Step Two. That protocol won’t work because not all nodes can agree one which message was sent first.

This places MAJOR constraints on what algorithms you can use in the consensus protocol. Two major impossibility results.

Many Impossibility Results:
* Byzantine General Problem
* Fischer-Lynch-Paterson (deterministic nodes): consensus impossible with a single faulty node.

Well-Known Possible Protocols:
* Paxos — never produced an inconsistent result but can (rarely) get stuck.

Understanding impossibility Results:
* These results say more about the model then the problem
* The models were developed to study systems like distributed databases

Bitcoin Consensus: Theory & Practice:
* Bitcoin consent works better in practice than in theory.
* Theory is still catching up.
* BUT theory is important, can help predict unforeseen attacks.

What are some of these assumptions? What does Bitcoin do differently?
— It introduces Incentives
1. Possibly only because its a currency
— Embraces Randomness
1. Does away with the notion of specific start-point or end-point
2. Consensus happens over long time scales — about 1 hour*
*Even after an hour, you still are uncertain of the block you are interested in has made it into the consensus blockchain. As time goes on the probability increases higher and higher that you are right. The probability that you ’re wrong about making an assumption for a tx goes down exponentially.

2.3 Consensus Without Identity:

A main reason Bitcoin distributed consensus is different.

Why is Identity Helpful?
* Pragmatic: Some protocols need node IDs
* Security: Assume less than 50% maliciously

As I was writing this article I realized that it is too text heavy to publish in a single article. I rather split the topic of Achieving Decentralization into two pieces, so that the readers can better grasp the concepts before unloading massive amounts of information. I’ll release it in a day or so.

Thanks for reading! :) If you enjoyed this article, hit that heart button below ❤ Would mean a lot to us and it helps other people see the story.

Say Hello On

Instagram | Twitter | YouTube

What’s New

Our Execs Newest Positions

Our executives Angel Mondragon (CEO) and Patrick Benske (CMO) were recently announced as Senior Advisors for a Public Company for Crypto Currency. Read Here

Whitepaper | Community

We are releasing a teaser for our whitepaper in addition to our first months results for our fund. We are releasing it on our telegram. Find the channel HERE.

Writer: Angel Mondragon. Edited: Patrick Benske.

--

--

PlutusX

We are on a mission to reinvent the way banking is perceived by leveraging new decentralized tools and technologies. #Crypto #Blockchain #PlutusX