All posts in "Fundamentals"

1% Shard Attack Explained – Ethereum Sharding (Contd..)

By Shawn Dexter / March 11, 2018

In a previous post I discuss why Ethereum prefers PoS over PoW to combat the 1% Shard Attack.  In this post I will go into a little bit more detail.

Fair warning:  This post may get a little technical. I am going to be intentionally redundant to drive my point through.

Recall that in PoW computational puzzles are solved in order to come to “agreement” on the ledger. This “agreement” is what forms the “consensus” of the blockchain. These computational puzzles require a lot of processing power. Hence, network participants have to consume electricity to come to agreement on the ledger.

This is key to note:
In PoW, participants have to put up an extrinsic cost (electricity & hardware ) to propose an agreement on a new state of the ledger

PoW: Is A 51% Attack A Feasible?

The extrinsic cost of a participant – electricity – is referred to as “Hash Power

A “51% Attack” can be executed when an attacker has a majority of the total hash power of the network. This attack will allow a participant to double spend, claim all rewards, censor transactions etc.

Note: I will break down 51% Attack in another post. It’s not what people usually think it is.

However, having 51% (or more) of the hash power of the ENTIRE network would require a lot of electricity & hardware. Currently the cost of a 51% on the Bitcoin network is:

  • $8 Billion US in hardware costs & $12.8 Million US  Per Day in electricity costs (source)

As you can see, it’s far too expensive/infeasible for an attacker to achieve this. (Furthermore, even if a participant achieves this, he’d be far more profitable if he performs the role of a “good actor”. More on this in my 51% Attack post)

PoW Sharded: Is a 1% Attack Feasible?

Alright, so now we understand how a 51% attack is infeasible in Proof Of Work (if not, don’t hesitate to email me. I understand that this can get confusing). But what if the network is split into groups/pieces (as is done in Sharding)?  

Let’s consider a blockchain network that is split into a hundred pieces (Hundred shards)

If the entire network has 100% of the hash power
then each of the 100 shards will have 1% of the hash power  

Q. But what if an attacker has even 1% control of the total network hash power? 

He can essentially concentrate his hash power on a single shard. Since each shard is responsible for 1% of the network, the attacker attains 100% control of the shard (Shard = 1% of network. Attacker = 1% of network)

1%-attack

PoW vs PoW Sharded

  • In an unsharded PoW system, a bad-actor  would need 51% of the hash-power to win majority vote and attack the network.
  • In a sharded PoW system of 100 shards, he only needs 1% of the hash-power to attack the network.

If an attacker achieves 1% of the entire networks hash power, he can effectively achieve 100% of the hash power of a single shard.  With that he can completely control a single shard.

Proof Of Stake allows Ethereum to easily & effectively (by using random-sampling) take away the attacker’s ability to concentrate his hash power on the shard of his choosing. Thus eliminating the 1% Attack vulnerability.

Get my upcoming eBook for Free!

"The Mango Guide TO Understanding Blockchain"

Offer Valid For FIRST 500 registrations only

Continue reading >
Share

Blockchain Explained Simply – An Easy Analogy

In my previous post, I discussed the difference between blockchain technology and distributed ledger technology. If you haven’t read it yet, I recommend you do so before reading this post. It’s a quick read with a simple analogy to help you understand it.

The post seemed to help a lot of people, and I was immediately bombarded with more questions. This was a great sign. I often say that the first step to understanding something deeply is knowing what follow up questions to ask. One of the prevailing questions I received was:

“What makes blockchain technology so special? Why is it different from traditional databases?”

This is an important question. Many people will answer that question with words like “decentralization”  and “trustless". But there are many who still struggle to fully understand the magnitude of this development.

In this post, I’ll use an analogy/story to help us understand and appreciate the technology and revolution that is unfolding before our eyesHere's Blockchain Explained Simply!

Blockchain - A Trustless System?

The first blockchain system was introduced to us in 2008 – right after the financial crisis in the United States of America. The Financial Crisis comprised of devastating losses.

Homes were lost. Jobs were lost. Money was lost – a lot of money. A total household wealth of 19.2 trillion dollars was estimated to be lost. These were innocent people who had put their trust in the government and financial institutions.Innocent people who had no say in the matter paid heavy prices for the mistakes of others.

The crisis highlighted a need for a system where people did not have to trust a “middle man” with their wealth.

That’s where the idea of “decentralization” steps in. Let’s break down the word: Decentralization

  • “DE”: latin for “Away from”
  • “CENTRAL” is simply a fancier way of saying “Middle

Essentially, we want to move to a system away from middle men. A system where we don’t have to put our “trust” in a middle man - A TRUSTLESS system. And that’s exactly what a blockchain can give us – a trustless, decentralized system.

  • “Woah, so you’re saying I can’t trust the blockchain?”

No, I am saying that you don’t have to trust it. And your wealth (or information) will still be protected. To fully wrap our minds around this, let’s go into story mode:

The Village Story – An Analogy for Blockchain

Let’s say we go back in time – way before technology existed. No phones, electronic devices etc.

There exists a village that comprises of around 10 families. They farm, hunt, gather etc – and they trade their goods with each other.

The hunter would give the farmer some meat. And in return the farmer would give the hunter some rice. This worked fine. But every now and then, they’d have to make a promise:

Farmer
“Hey man, I don’t have any rice yet, but if you give me some meat, I promise to give you the rice when I harvest it”

The Hunter was fine with this since he trusted the Farmer. But overtime, there were more and more promises being made. It became really hard to track all of these “promises”. Soon people were disputing over promises forgotten or never made. This halted trades and brought the village economy to a slow.  So the village got together to figure out a solution to this problem.

They decided to appoint someone to track these promises in a ledger.  Let’s call him LedgerMan.

LedgerMan got to work, and began tracking promises. This worked really well, and the trades were moving smoothly again. Farmers & Hunters would meet with the LedgerMan, and consolidate their payments according to the ledger.

As the ledger filled up with “promises”, LedgerMan was becoming increasingly more pivotal in the Village economy. The entire village was placing their trust in him. One day...

LedgerMan
“Hey, since I’m spending all my time tracking these promises – I think it’s fair I receive a small fee for every promise I track.”


This would mean that the villagers would be losing some of their profits on each trade. They weren’t too happy about this, but figured it was fair. But as time passed, LedgerMan accumulated a lot of wealth & power. 

  • He took bribes to append the ledger
  • He bribed villagers to keep appointed as the ledger-keeper
  • Increased fees unfairly


Soon, disgruntled villagers started voicing their anger. This resulted in in-fighting and chaos within the village. Finally, Mr. LedgerMan was ousted. But the village realized that appointing a new ledger-keeper would do no good. So much power & trust in one person is bound to corrupt.

They liked the ledger idea to keep track of “promises”, but they needed a new way of doing things. So they got together and brainstormed for a solution. One of the smart villagers came up with an idea.

Smart Village Citizen
“Instead of only one of us holding on to a ledger, why don’t ALL of us keep a ledger”


Villagers from each family would meet at the village-square at certain times of the day.  Trades would be conducted, and every promise made was tracked in everyones ledger.

Every week, they’d meet at the village square for a “Validation Meeting”.  Each villager would read out their version of the ledger from start to end.

If there were no discrepancies, then it meant that everyone had the same agreement on the ledger. They had come to consensus. All new entries were validated and added to the ledger successfully. However, there would be occasions were entries between ledgers did not match. For example,

Villager John could have a promised tracked as:  
Farmer Pete owes John 10 bags of rice

But Villager Pete could have the entry tracked as:  
Farmer Pete owes John 5 bags of rice

So which promise is the correct promise? Who should we trust? Pete or John?

This is where the the trustless aspect of the method comes into play. The villagers didn't need to trust either of them.

They would resolve the issue by simply cross-checking with all the other ledgers.  The promise with the majority entries across all ledgers would be selected as the correct promise.

Once the majority promise is decided, the villagers all update their ledger accordingly.

"The Village-Square System" -Key Takeaways

This was brilliant. The system – let’s call it  the “Village-Square System” – was able to remove the need for a middle-man. They were able to:

  • “DE-CENTRALIZE” THE LEDGER FROM A SINGLE PERSON
  • CREATE A TRUSTLESS SYSTEM
  • ELIMINATE FEES & KEEP PROFITS

Note: After a series of break-ins & tampering, they realized they had to add security measures to keep their ledger safely protected as well

As you can see, this system is effective – but quite tedious. But since the village was small – consisting of only 10 families, this was doable.

But as time passed and the village grew into a city. And they faced a new problem: The Villager's Trilemma. The system was not feasible anymore. It was just too much work. Eventually they would gravitate back to middle-men in order to keep track of their ledger - There was just no way to implement the Village-Square method in a scalable way.  

Until 2008, when Satoshi Nakamoto released the Bitcoin Whitepaper. Satoshi used an innovative combination of

  1. Traditional Ledger System
  2. Computers Distributed Around The World
  3. Cryptography to enforce security

He was able to implement a more sophisticated implementation of the VIllage-Square to achieve a trustless, decentralized & secure system that would keep track of transactions with minimal effort from human beings.

Get my upcoming eBook for Free!

"The Mango Guide TO Understanding Blockchain"

Offer Valid For FIRST 500 registrations only

Continue reading >
Share

Why PoS was Necessary for Ethereum’s Sharding

By Shawn Dexter / February 28, 2018

In a previous post, I provided a simple explanation on Ethereum’s Sharding. I also mentioned how Sharding was one of the driving factors for Ethereum’s switch to Proof of Stake consensus model.

In this post, I will provide a brief & simple explanation on why Proof Of Work was not the ideal choice for Sharding, and how Proof Of Stake tackles the problems posed by Sharding a blockchain.

Why Shard To Begin With?

Sharding is an initiative to tackle the scalability issues that Ethereum faces. All blockchains are limited by their architecture & design. How? Because every node in the blockchain processes every single transaction. While this enforces a high degree of security/reliability (explained in this post), it also limits the scalability.

Sharding improves the scalability of the Ethereum blockchain by splitting the network into smaller “groups/pieces”.

What’s wrong with PoW?

The Ethereum blockchain currently runs on a Proof Of Work consensus algorithm.

Remember from our post on Consensus Methods, that consensus or “agreement” is achieved by a majority agreeing on the state of the ledger.

Proof of Work essentially relies on hash-power to validate the chain. Blockchain is a trustless system, so we need to dis-incentivise people from being a bad actor. As explained, a bad actor would have to have a majority of the hash-power to manipulate the network. That’s a lot of hash-power. The electricity bill & hardware costs will be monumentally expensive.

Hence, in Proof of Work, the hash-power expense makes it cost-prohibitive to be an attacker.

Remember that if we SHARD in PoW, we are breaking up the network into "pieces". Hence, to achieve a “majority” hashpower in a particular shard would suddenly become feasible (since each shard will have only a “piece” of the total hash power”)

Compared to attacking the network, each shard will require only a fraction of the hash-power. An attack is no longer cost-prohibitive.

In fact, if you split the network into 100 pieces, you only need 1% of the total hash-power to takeover a shard. To keep this post simple, I explain how in another post

Validators can collude their hashpower on a single shard, and takeover control of that shard. One way to prevent this attack is to prevent attackers from focussing their hash-power onto a single shard.

However, this is difficult/not-possible to do so in a Proof Of Work protocol. In PoW you cannot stop miners from applying their work on a given shard - This is where Proof Of Stake steps in!

Proof Of Stake

PoS removes the extrinsic cost of validating the chain: hash power/electricity costs. Here's how:

In, Proof Of Stake  super-nodes are required to “deposit” (stake) their Ether in order to perform validation functions. Again, remember that:

  • COLLATORS (TEACHERS-ASSISTANTS): Gather mini-descriptions of transactions & the current state of the shard – and send it up to the node validators.
  • SUPER NODES (PROFESSORS):  Collect the data from the Collators. Process the transactions & Validate the blocks.

Proof Of Stake – along with this structure – allows Ethereum to do something that it cannot do (easily) in PoW. And that is the ability conduct “random-sampling”.

Since Super-Nodes are depositing their Ether, we can use that to randomly assign them to a shard. The assignments are reshuffled regularly as well.

This will ensure that attackers:

  • Cannot choose the Shard they want to work on.
    We don’t want them to pick their shard because a small group of attackers can target a single shard to dominate it. Even attackers with a small total-stake can focus their efforts and attack.
  • Cannot know what shard they will work on ahead of time. 
    If we don’t reshuffle, an attacker may have enough time to find the other people who have been assigned to his shard. This will allow him to collude with them and attack the shard. We reshuffle regularly to avoid this.Super Nodes are randomly assigned a shard. Not knowing which shard they are assigned to before hand, will prevent them from attacking the system.

Wrapping Up

As you can see, Proof Of Stake makes random-sampling pretty trivial. Sampled validators are reshuffled regularly.

A quote from Vitalik on my previous post:


 It's really important to mention that validators are super-frequently reshuffled between shards (possibly even once per block), so it's actually quite hard to "target" one specific shard for an attack. This is a large part of where sharding's at least theoretical success in breaking the trilemma comes from.
Vitalik Buterin

When Vitalik mentions “breaking the trilemma”, he is talking about how typically only 2 out of 3 of the following can be achieved in blockchain:
  • Security
  • Scalability
  • Decentralization

PoS allows for easy sampling & reshuffling which ensures the “Security” of the trilemma – while the sharding structure gives us a level of Scalability and Decentralization. Hence, theoretically breaking the blockchain trilemma. This is a huge feat!

Did you enjoy this post?

Help Us Keep Doing What We Do Best!

Tip Jar 🙂​​

BTC: 3LrzDr7ZYQ5xWAKnweM1XuUAvU5YEkF7Zb

ETH: 0x87ba0C08910Dbd3b93D74A2A3b61d78A3C2dbDab

Get my upcoming eBook for Free!

"The Mango Guide TO Understanding Blockchain"

Offer Valid For FIRST 500 registrations only

Continue reading >
Share

EOS Crypto – A Blockchain Operating System

By Keerthi Nelaturi / February 24, 2018

Until recently, most blockchain implementations targeting cryptocurrencies have been using Proof of Work (POW) as a method of consensus. However, PoW's issues surrounding scalability and extravagant usage of computational resources have people looking toward another method of consensus - Proof of Stake (POS)

Proof of Stake (POS) is taking precedence over POW, and the EOS blockchain is making use of a variation of POS - Delegated Proof of Stake (DPOS). In this post, we discuss features of EOS & DPOS and how it would lead to a better industry of blockchain applications.

To start with, EOS is not a blockchain. It is a blockchain operating system. That specification alone changes a lot of things. Ethereum, for example, is like a computing resource by itself with inclusion of EVM (Ethereum Virtual Machine) on every node that wants to participate in the network.

As a blockchain operating system, EOS would host, facilitate and govern any applications that are built on top of it like any other operating system we have ever had. EOS guarantees two main features that have been pain points for a lot of blockchain systems. They are:

  • ZERO TRANSACTION FEES
  • MILLIONS OF TRANSACTIONS PER SECOND

Delegated Proof of Stake (DPOS)

Before we jump into the features, let's understand POS & DPOS. In POS, we have validators instead of “miners” and all mining is done virtually. Validators lock up some of their coins as stake and start validating blocks. If the same block gets appended, then the validators get rewarded with value proportionate to their stake.

Delegated Proof of Stake (DPOS), takes a minor shift from POS.  Instead of “validators” we have “block producers”. To be specific, there are 21 block producers. These block producers are elected in a voting process by anyone who has tokens on a blockchain integrated with EOS.

Each block producer will be given the opportunity to produce blocks proportional to the votes received. For a transaction to be confirmed we just need to wait for 2/3rd majority, which is 15/21 votes. This would take 1.5 seconds approximately. Hence, a 3 second block time has been guaranteed with this mechanism. Internal attacks stirred up by any block producer will be impeded by down voting that block producer and choosing a new replacement for the same.

8 Major Features of EOS

Feature 1: Vertical & Horizontal Scaling

Blockchain is no more the "newbie". Its success and longevity will depend on its ability to support real world applications. Scalability is going to be the reason why many of the current blockchain implementations will fail. As time goes, POW systems would incur high transaction fees and low throughput. EOS is tackling this problem. They support both, horizontal and vertical scaling.

  • Horizontal scaling includes support for parallel processing of smart contracts.
  • Vertical scaling includes transactions processed for second

Feature 2: Easy Maintenance

In EOS, any issue with a node/faulty DAPPs (Decentralized Application) can be mitigated by freezing that specific block producer or account. Other non-faulty block producers have the ability to freeze such accounts. They can also reject transactions based on computational cost. Transactions that take too much time and resources to execute would not be accepted by most other block producers. This enables EOS to eliminate the use of additional parameters, like "gas" in Ethereum.

Feature 3: Jurisdiction Rules


All transactions need to append a hash of constitution along with their signatures.

  • A Constitution is general jurisdiction rules agreed upon by all token holders within the EOS blockchain. This would enforce that all users of the application are bound to a specific governance.

Feature 4: Community Benefited Applications

An innovative idea by EOS - Users can elect 3 applications or smart contracts which would receive a configured percent of token supply per annum. These 3 applications can always be de-elected or elected again by the users.

Feature 5: Partial State Storage

EOS software allows any full node to run a subset of applications. This enables storing of partial state. Nodes maintain logs of all messages exchanged between accounts and applications. These logs are used to build states back in case of downtime.

Feature 6: Nil transaction fees

In general, users of blockchain applications are charged transaction fees due to the expensive resource utilization incurred in maintaining these applications. In EOS, bandwidth and resources are allocated depending on the tokens held by an application owner. Hence, it does not depend on the token value. This would promote new monetization techniques for the use of blockchain applications instead taxing users.

Feature 7: Ability to Rent Blockchain Bandwidth

Token holders can rent unconsumed bandwidth. This unconsumed bandwidth can then be allocated by block producers to other applications accordingly.

Feature 8: Interoperability

EOS is built to support multiple virtual machines. Currently, Web Assembly (WASM) and Ethereum Virtual Machine (EVM). This would enable anyone to run their smart contracts on other platforms like Ethereum or to communicate with applications on EOS seamlessly. This leads to inter blockchain communication.

Above is a list of the notable features of EOS. There are many other details on implementation that could be derived from their Technical Documentation.

Block.one is the core company responsible for developing EOS blockchain. Part of the team is Dan Larimar - famous for his contributions in BitShares and Steem platforms. EOS takes ideas from both platforms and puts them together.

3 Reasons Why Some Say "No" to EOS

  • Negative Coordination: EOS is extremely reliant on voting mechanism, which might get dissolved by many issues like:
    • Low vote count - Unless there are good number of nodes, malicious block producers can take hold of the blockchain.

    • Separation of interests - Token holder's interests might not be perfectly aligned with that of user's interests.
  • Inflexible Billing: All transactions are billed a fixed computational bandwidth irrespective of the time to execute.
  • Nothing At Stake Problem: Not a good way of solving "Nothing at stake" problem. The punishment for malicious utilization is just a down vote from being a block producer. They can participate again in the election process later on. A better solution to this problem would help mitigate malicious activity/utilization

Closing Thoughts

Ethereum, Waves, Cosmos (Tendermint) and Lisk are all competing technologies that are tackling the scalability issues in blockchain tech. 2018-19 is going to be a period of experimentation of scalability in the blockchain realm. We can’t be certain of who will come out ahead. But staying informed and keeping our eye on the ball will prove to be very useful (and potentially profitable).

Did you enjoy this post?

Help Us Keep Doing What We Do Best!

Tip Jar 🙂

BTC
3LrzDr7ZYQ5xWAKnweM1XuUAvU5YEkF7Zb

ETH
0x87ba0C08910Dbd3b93D74A2A3b61d78A3C2dbDab

Get my upcoming eBook for Free!

"The Mango Guide TO Understanding Blockchain"

Offer Valid For FIRST 500 registrations only

Continue reading >
Share

Blockchain vs DLT (Distributed Ledger Technology)

By Shawn Dexter / February 20, 2018

DLT vs Blockchain:  In this post Shawn uses a simple analogy to explain the difference between a blockchain and distributed ledger technology (DLT) . He also discusses the difference between blockchain and other technologies – like blockchain vs tangle, and blockchain vs databases. 

Blockchain And DLT - Is there A Difference?

In a previous post, we discussed Radix DLT – a potential game-changer in the DLT world. While many of our readers were excited for what Radix promises, there were some who requested some clarity on DLTs (Distributed Ledger Technology) . One of the prevailing questions I received was:

 “What is the difference between a Blockchain and DLT?”

Blockchain vs DLT:   Apples vs Fruit

Comparing a Blockchain to a DLT  is like comparing an Apple to a Fruit. An Apple IS A Fruit.  Similarly, a Blockchain IS A DLT (Distributed Ledger Technology)

Difference between blockchain and DLT
DLT vs blockchain

The confusion, probably, arises because most of us were introduced to the term “Blockchain” before “Distributed Ledger Technology”. The sudden surge of popularity had the term “Blockchain” turn into a generic term.

But in fact, Blockchains are a TYPE of  DLT.  Much like an Apple is a TYPE of Fruit.

So, is DLT a blockchain ?

No. All DLTs are NOT Blockchains. But all Blockchains are DLTs

Most of the cryptocurrencies, that we know, are blockchain implementations. All of them are DLTs. Bitcoin, Ethereum, Litecoin etc are all DLTs. What kind of DLT? Blockchains.

However, not all the cryptocurrencies are blockchain implementations. Radix, IOTA and R3 Corda are examples of DLTs that are NOT blockchains.

distributed ledger technology and blockchain vs iota

Bitcoin Blockchain And DLT -  An Analogy

I've also received questions on whether or not the Bitcoin blockchain and distributed ledger technology have anything in common. Let's use another analogy to answer this question.

The Bitcoin Blockchain and Distributed Ledger Technology synonymous to "Google" and "Search Engine". Google is a specific type of Search Engine.  Similarly,  the Bitcoin blockchain is a specific type of distributed ledger technology.  

 Bitcoin IS a Distributed Ledger Technology (DLT). 

Remember, in the previous section we discussed how a blockchain is a sub-category of a DLT. There are many types of DLTs; and blockchains are only one of them. Similarly, there are many types of blockchains; and the bitcoin blockchain is just one of them. 

What is a DLT?

So what exactly is a DLT ?  Again, I will attempt to make this as easy to understand as possible.  A DLT – Distributed Ledger Technology – simply distributes information to multiple computers. These computers could be spread across the world. The primary aim is to reduce the risk of central storage.

Distributed Ledger Technology is the umbrella term to describe any system that distributes data across multiple sites. There are several types of DLTs.

What is A DLT?
A DLT (distributed ledger technology) is simply a fancy way of saying,
 “A database that is spread  across several sites“

  • “How” that data is distributed, structured and agreed upon (consensus) will dictate the TYPE of DLT. Kind of like how the shape, taste, colour etc dictates the TYPE of Fruit (to us non-fruit experts, at least)

Al blockchains are DLTs.
 But not all DLTs are Blockchains

A Blockchain is a type of DLT that organises its data in a “chain of blocks”. Each block encompasses a bunch of data that is verified & validated and then chained to the next block. Hence the term “blockchain”.  This data  – in the form of chained “blocks” – is distributed to everyone in the network.

That’s how a Blockchain type of DLT is typically implemented. Other DLT types may choose to implement differently. Radix, Corda and IOTA are all different types of implementations of DLTs. None of which are Blockchains.

Blockchain vs Databases

This is another frequently asked question: Blockchain vs Databases – what's the difference? Technically, Databases are used within a Blockchain system. So a comparison between a Blockchain VS Databases is akin to  a comparison between Heart and a Body. The heart lies within the body; and is a core part of the system. Similarly, databases are used within the Blockchain system.

Remember, DLTs are simply databases that are distributed across multiple sites. And Blockchains are simply a type of Distributed Ledger Technology.  So essentially, a blockchain comprises of structured databases – that are distributed.

Blockchain vs Distributed Databases

This is where things get tricky.  If a Blockchain is simply a system of distributed databases, then what's the difference between a Blockchain and a Distributed Database? This really boils down to the interpretation of a "Blockchain". 

The first Blockchain system was introduced in 2008, and its goal was to escape the shackles of centralisation. Usually, when people talk about  Blockchain technology, they are referring to a distributed system with no central control. However, when they talk about  Distributed Databases, they are referring to high powered distributed systems that have a central authority. 

To sum it up, a Distributed Database has a central authority that requires trust; while a Blockchain is typically a trustless system that has no central authority 

Conclusion - DLT vs Blockchain

The key takeaway from this post is: “All blockchains are DLTs. But not all DLTs are Blockchains”. A blockchain is a specific type of DLT. Bitcoin paved the way for public DLTs. But as the market and technology matures, we will see more implementations of DLTs to satisfy the markets ever-changing demands.

Did you enjoy this post?

Help Us Keep Doing What We Do Best!

Tip Jar 🙂​​

BTC: 3LrzDr7ZYQ5xWAKnweM1XuUAvU5YEkF7Zb

ETH: 0x87ba0C08910Dbd3b93D74A2A3b61d78A3C2dbDab

Get my upcoming eBook for Free!

"The Mango Guide TO Understanding Blockchain"

Offer Valid For FIRST 500 registrations only

Continue reading >
Share

Ethereum Sharding Explained Simply

By Shawn Dexter / February 14, 2018

Ethereum Sharding: The demand for scalability is becoming increasingly urgent. The Cryptokitties incident demonstrated how quickly the Ethereum network can clog-up. While  many in the community  are excited for Ethereum’s Sharding, there are just as many who struggle to understand how sharding will help Ethereum scale.

In this post, I will attempt to explain Ethereum’s sharding using a simple analogy.

Understanding The Problem

One of the major problems of a blockchain is that an increase in the number of nodes reduces it’s scalability. This may seem counterintuitive to some people. “More nodes = more power. So more speed, right?” Not exactly.

One of the reasons a blockchain has its level of security is because every single node must process every single transaction. This is like having your homework assignment checked by every single professor in the university. While this may ensure that your assignment is marked correctly, it will also take a really long time before you get your assignment back.

Ethereum faces a similar problem. The nodes are your professors. Each transaction is your assignment.

Sure, we can reduce the number of professors (nodes) until we are satisfied with the speed. But as the assignment (transaction) backlog increases, we will need to further decrease the number of professors. This will eventually lead us to rely on a few “trusted” group of professors. A centralized group.

This defeats the ideology of blockchain decentralization.  It’s much easier to compromise/corrupt a smaller group of professors (nodes) than the entire university (the entire network). As a result, we sacrifice security in an effort to scale.

To sum it up, blockchains must choose between Two of the Three following attributes:

  • SECURITY
  • SCALABILITY​​​​
  • DECENTRALIZATION

What is "Sharding"?

With the problem and limitations understood, we now pose a question:

question

Can we have a system that has sufficient number of “professors” (nodes) to still maintain the security –  while being small enough to increase the speed at which your assignments are returned (throughput of the network)?

Essentially, we are conceding that we can’t “max-out” on all three of the attributes: Scalability, Security, Decentralization.  But, can we have just “enough” decentralization & security so as to achieve more scalability?  

Sharding is Ethereum’s answer to this question.

Ethereum Sharding: Think of Sharding as simply a fancy way of saying, “let’s break down the network into smaller groups/pieces”.
  • Each group is a shard. A group/shard consists of nodes and transactions.

So in our professor analogy, a shard would consist of a group of professors and assignments. Now, instead of a professor having to correct the assignments across the entire network, he would be only responsible for the assignments within his shard(group).

This greatly reduces the number of transactions (assignments) each node (professor) has to validate.

Ethereum Sharding - Structure

Okay, so I may have oversimplified a tiny bit. But now that you understand the gist, you’ll understand this part a lot easier.

In each shard/group, we have nodes that are assigned as “Collators”.  Collators are tasked with gathering mini-descriptions of transactions & the current state of the shard.

In our analogy, you can think of Collators as Teacher’s Assistants. All the TA’s in shard/group do the first run through of all the assignments within the shard.

Finally, we have super-nodes. Each super-node receives the collations created by the collators of each shard. They then processes the transactions within those collations. Furthermore, they maintain the full-description/state data of all the shards – which they get from the collators as well.

You can probably see the benefits of this structure. The number of nodes that process every single transaction would be greatly reduced, and thus increase overall throughput.

Conclusion

Sharding is a smart approach to tackling the blockchain scalability problem. However, it’s not without its drawbacks. Because of its structure, it’s easier to compromise a shard within the system.

This is one of the driving reasons behind Ethereum’s switch to Proof Of Stake. Proof Of Stake helps mitigate this security vulnerability that comes with Sharding. But for the sake of brevity,  we will discuss that in a future post.

Did you enjoy this post?

Help Us Keep Doing What We Do Best!

Tip Jar 🙂​​

BTC: 3LrzDr7ZYQ5xWAKnweM1XuUAvU5YEkF7Zb

ETH: 0x87ba0C08910Dbd3b93D74A2A3b61d78A3C2dbDab

Get my upcoming eBook for Free!

"The Mango Guide TO Understanding Blockchain"

Offer Valid For FIRST 500 registrations only

Continue reading >
Share

Radix DLT – The Future Of Crypto?

By Shawn Dexter / February 7, 2018

Mango Research has repeatedly stated that 2018 will be the year of scalability and mass adoption. And Radix DLT seems to be leading the charge in both of these aspects.

The world is beginning to take notice of the potential of blockchain technology. Enterprises and governments want to take advantage of what distributed ledger technology and its token economics can offer.  However, Bitcoin and Ethereum – the two mainstream giants – are currently both plagued with scalability issues. Other solutions that purport scalability, like dPoS, do so at the cost of security and increased centralization. Furthermore, with the instability of prices – vendors/merchants are extremely unlikely to fully adopt current solutions.

We fiercely need a technology that allows for transactional speed & scalability while still being secure and efficient. We need all of these criteria to be fulfilled. Enter Radix DLT.

radix dlt

Even though Radix is yet to be launched – Mango Research strongly believes that there is no other technology that tackles scalability and adoption in the way Radix will.  Radix DLT has been in development for 7 years. Unlike most upcoming projects, they have a working product that will be ready for launch soon. There is a wealth of knowledge available on their website: RadixDLT.com. However, in this post we will highlight some of the major reasons why we think Radix DLT will lead 2018/19 in the upcoming crypto revolution.

Here Are 5 Reasons Why Radix DLT Could Be A Game Changer

Reason 1: Radix DLT Scales... Linearly! 

One of the major limitations of current blockchain solutions is the fact that every node must process every transaction in the network. This severely prohibits scalability. As a result, most blockchain consensus models have to make the tradeoff between throughput and decentralisation. 

Radix, however, achieves high throughput, scalability and security using its patented consensus model – Tempo (a more detailed post on Tempo soon). Furthermore, Radix DLT has linear scalability. This means that the more nodes added to the network, the more it will scale. Contrary to current solutions, each node that is added increases the throughput of the Radix network.

In their most recent tests, Radix averaged  20162 transactions per second (t/s) with only ~10 nodes. This is a massive improvement compared to existing solutions. Ethereum currently peaks at 7 transactions per second and Bitcoin peaks at 5 transactions per second! You can view the live tests yourself. 

Reason 2: Debit Cards that work on EXISTING PoS

In order to achieve mass adoption, we will need more merchants to accept crypto currencies at their Point of Sale devices. Existing solutions do not provide a true decentralized & independent form of payment solutions for merchants. They are reliant on partnerships with existing payment providers (such as Visa) to conduct the transaction.

If Visa pulls out of the partnership, the solution breaks. We are already seeing  cases of partnerships failing with Visa. Radix, however, allows for debit cards that are completely independent of any payment provider. In fact, anyone can make a Radix debit card at home with ease and low cost! (check out the video below)

Furthermore, most of the current solutions in blockchain require merchants to adopt new hardware. Radix, however, can be enabled on the standard everyday Point Of Sale solutions that merchants currently use! These features reduce the friction to adoption drastically! Combine this with the Radix’s stable-value feature (see next point) and we have a win-win solution for merchants!

Radix uses a standard EMV Card to broadcast transactions to the Radix Public Network (or your bank).  The transaction is then verified & validated on the Radix Network just like any other transaction would be! It’s as simple as that – and already working! Here is a video demonstration of it in action:

Note
Notice how the video shows how easy it is for anyone to obtain these cards and load them with Radix! Also notice how this video was published almost a year ago!

Reason 3: ‘Relatively’ Stable Value - But Unlimited Growth

One of the major reasons that merchants/vendors hesitate to adopt cryptocurrencies is due to the extreme volatility. Radix, however, safeguards price stability of its token while still giving token holders massive upside as adoption grows.

Radix DLT will safeguard against violent price swings using an elastic-supply. Traditional tokens have violent swings in price. But the Radix cryptocurrency will remain stable. Instead, its supply will fluctuate. So, when demand of Radix increases – instead of your Radix token increasing in value, you will be supplied with more Radix tokens. When demand decreases, Radix will decrease supply of the overall tokens. (Don't worry, tokens will not be removed from holder wallets. A more detailed post on the economics will follow)

This will allow for mass adoption since Vendors won’t have to worry about their Radix tokens decreasing in value after an item has been paid for.

Note
A brief post on the economic model will follow this post soon. For further reading, look up the Quantity Theory Of Money which gives more insight into an elastic supply.

Reason 4: Low Barrier To Entry & Fairness

Unlike mining Bitcoin, the Radix network will allow even resource-restricted devices to participate as nodes in the network. A node on Radix can be run on a device with as little as 16MB ram and a 100Mhz processor. This will further ensure the ideology of decentralization.

Furthermore, the Radix network ensures inclusivity and trustless collaboration between/of nodes. It rewards nodes fairly by distributing rewards based on resource availability of each node. This means that everyone can run a node on the radix network and will receive rewards fairly.

Reason 5: Smart Contracts - Scrypto!

Radix is already Smart Contract enabled. Developers build dApps using Scrypto – a decentralized application development language by Radix.

Scrypto is based on JavaScript/TypeScript – so the learning curve is almost non-existent. Furthermore, it has its own debugging tools and can be used on existing IDEs for JavaScript.  Essentially – if you know JavaScript, you are ready to develop applications on Radix!

Conclusion

Radix DLT is an all-in-one platform solution. It has a decentralized exchange and the ability to create your own tokens/assets. Furthermore, developers have the ability to create turing complete decentralized applications on-top of the Radix platform. With its limitless scalability and adoption-value, Radix is poised to be a leader in the industry.

This post was a brief overview on what Radix DLT has to offer. In upcoming posts, I will dive deeper into their Consensus & Economic models! Stay tuned!

Did you enjoy this post?

Help Us Keep Doing What We Do Best!

Tip Jar 🙂​​

BTC: 3LrzDr7ZYQ5xWAKnweM1XuUAvU5YEkF7Zb

ETH: 0x87ba0C08910Dbd3b93D74A2A3b61d78A3C2dbDab

Get my upcoming eBook for Free!

"The Mango Guide TO Understanding Blockchain"

Offer Valid For FIRST 500 registrations only

Continue reading >
Share

Understanding Blockchain Tech – CAP Theorem

Blockchain technology has been around for a long time now.  It is a peer-peer, distributed and append-only database. In this discussion, we analyze the role CAP theorem plays in blockchain technology.

About CAP Theorem

CAP Theorem, also called as Brewer's Theorem proposed by Eric Brewer, identifies three specific system properties for any distributed/decentralized system. They are: Consistency, Availability and Partition Tolerance

  • CONSISTENCY -  Any read gives the latest write on the nodes.

  • AVAILABILITY -  At any point of time irrespective of whether the read is the latest write, client always gets a response without an error.

  • PARTITIONING -  In a distributed network of nodes, even though there is no possibility for the whole network to go down, there is possibility for partitions between nodes. This partition attributes to the delay or latency between nodes communicating in the network.
According to the CAP theorem, in any distributed network it is impossible to provide more than two of these three properties as a guaranteed feature
CAP theorem blockchain

Application of CAP Theorem in Blockchain Technology

Let's try and analyze blockchain in terms of its features and see if CAP Theorem applies to blockchain at all.

PartitionING is an inherent feature of any distributed system. That leaves us with only two choices to pick from: Consistency or availability

Scenario: Picking Availability over Consistency

If we pick Availability over Consistency in blockchain, any reads that happen are not guaranteed to be up-to-date. Although, there is a response from the network at all times, the purpose of the blockchain being a single source of truth is taken away.

On the other hand, lack of Consistency is something we simply can’t have in any monetary system. Consistency always takes priority in blockchain technology.

Say we consider Availability as an optional feature, This would force the network to be unavailable when there is a Partition – which would disrupt consensus. Hence, availability cannot be sacrificed in blockchain technology since consensus is key. 

Does That Mean Blockchain Violates CAP Theorem ?

Simply Put - NO, blockchain does not violate the CAP theorem

Those interested in blockchain, opt for AP (Availability + Partition) + Strong/Eventual Consistency.

Let’s consider Bitcoin – which uses Proof of Work as it’s consensus mechanism. Currently, bitcoin maintains a Read & Write protocol. The protocol is designed to consider the longest chain as the accepted main chain. A transaction is confirmed only if it is “X” number of blocks deep into the chain. Although a probabilistic model, it is left to the users to choose the value for X. Currently, for large transactions, a minimum of 6 blocks wait is considered a win. The same kind of protocol has been used in other blockchains as well Ex: Ethereum. There has been a lot of debate on whether to term this as strong or eventual consistency.

To summarize, configuring a client doesn't violate CAP theorem. It’s just a tradeoff between consistency and availability.

Get my upcoming eBook for Free!

"The Mango Guide TO Understanding Blockchain"

Offer Valid For FIRST 500 registrations only

Continue reading >
Share

5 Reasons To Consider High Performance Blockchain (HPB) For Your Portfolio

By Shawn Dexter / February 2, 2018

High Performance Blockchain (HPB) has been receiving a lot of buzz recently. People are hailing it as the “EOS of China”. Several have asked me whether they should pull the trigger on this potential “hidden” gem.

Here Are 5 Reasons Why You Should Consider HPB For Your Portfolio

We're here to sift through tech worth looking into. Trade at your own risk and analysis. This is not investment advice etc.

Reason 1: Speed & Scalability with TOE

Mango Research firmly believes that 2018/19 will be the battle of scalability & mass adoption. However, the current throughput and latency of blockchain tech are insufficient to meet current business needs.  There is an urgent need for a solution. HPB has chosen an innovative approach to meet the needs of large enterprises. 

High Performance Blockchain (HPB) achieves high throughput and low latency.  They do so by combining hardware with with software – the first blockchain to do this. They achieve this with a dedicated custom network card - their TCP/IP Offload Engine (TOE) - to work as a specialized accelerator. This network card will purportedly allow for the following:

  1. Millions of transactions per second
  2. Parallel processing tasks (as opposed  to serial processing)
  3. High concurrency & confirmation within seconds.
  4. Three Second Block Time

High Performance Blockchain can thus extend dApps to meet the high requirements of real-world business needs with ease.

Reason 2: Market Is Huge. Market Penetrability Is Easy

As mentioned in the previous section, 2018/2019 will be the year of mass adoption. Most of the current blockchain solutions scratch their head to solve their scalability issues. HPB, however, have a scalability solution already in the works. This allows them to approach enterprise clients immediately.

They have already positioned themselves to serve massive enterprises. Their whitepaper mentions the likes of Alibaba, Tencent & Baidu - all of who will benefit massively from blockchain technology & scalability that HPB seeks to provide them.

In fact, various other high throughput industries like the IoT Industry, Financial industry and Supply Chain industry will be able to leverage HPB to use blockchain technology to their advantage. HPB have already partnered with major companies like UnionPay to facilitate their foothold in these industries.

Furthermore, High Performance Blockchain will be interoperable with both the NEO Virtual Machine as well as the Ethereum Virtual Machine – allowing for even easier market penetration.

Reason 3: Partnerships & Core Team

It’s common knowledge that High Performance Blockchain is backed and partnered with NEO.  HPB will be using the NEO Virtual Machine – and will be the first blockchain to do so.

However, even more noteworthy is their partnership with UnionPay. UnionPay is the VISA of China  – but bigger.  UnionPay controls 80% of all of China’s banking transaction data. As mentioned in the previous section, HPB is perfectly suited to serve the financial industry.  This partnership will solidify their foothold in the industry.

CPChain and HPB have engaged in a strategic partnership – another worthwhile mention. CPChain  is a promising platform that is developing a distributed infrastructure for IoT devices.

The HBP team is stacked with expertise and excellence. The CEO  – Wang Xiao Ming – is an early blockchain enthusiast. He has a wealth of knowledge and experience – and has proved it by writing three books on blockchain technology and speaking at several events.

Wang has also formerly worked at UnionPay, while the rest of the team have been gathered from Intel and Huawei. Their background positions them perfectly to develop a  blockchain hardware accelerator such as TOE and penetrate the financial industry

Reason 4: Smart Contracts​​​​

While reading the whitepaper, I was pleasantly surprised with HPB’s plan for a sophisticated Smart Contract System.HBP will be developing a Smart Contract LifeCycle Management system. This SC LifeCycle Management system will allow for complete control and management of the submission, use and cancellation of the Smart Contracts.

Auditing & testing of the smart contracts will be done by combining audit automation tools, professional auditors, code review and integrated unit testing tools.

Note: HBP will be using Status Channels (off chain) to deploy smart contracts to further improve speed and reliability – while maintaining scalability.

Reason 5: This Idiot Is Shilling It...

I mean... Seriously?

As much as I’ve tried, there’s no denying it anymore – People like this guy, help build the initial momentum and awareness for gems like High Performance Blockchain.

But other than him, we have some respectable community influencers who rate HPB pretty well. It's evident that HPB has drawn the eyes of some influential community members. Strong tech coupled with a strong growing community usually result in rapid increase of price.  

Here are a couple of videos from worthy Crypto YouTuber's that I recommend you watch:

Conclusion

All in all, HPB is definitely worth some strong consideration.  The technology is still under the radar, and has a lot of upward potential. (Disclaimer) Mango Research Team has a put a small portion of their portfolio into this – but we expect this allocation to grow significantly in the months to come.

Special thanks to Ryan – from the Mango team for locating the gem =)

Did you enjoy this post?

Help Us Keep Doing What We Do Best!

Tip Jar 🙂

BTC
3LrzDr7ZYQ5xWAKnweM1XuUAvU5YEkF7Zb

ETH
0x87ba0C08910Dbd3b93D74A2A3b61d78A3C2dbDab

Get my upcoming eBook for Free!

"The Mango Guide TO Understanding Blockchain"

Offer Valid For FIRST 500 registrations only

Continue reading >
Share

Consensus Methods – POW vs POS vs Tangle vs Tempo

By Shawn Dexter / January 15, 2018

Bitcoin and related blockchain technology (Ethereum, Ripple etc) have garnered a sudden surge of interest. But what really are the core differences between these various technologies? Aren’t they all simply… blockchains? What makes them different other than their team and brand-name? One of the core aspects that make some technologies differ from others is their consensus methods.

There’s a lot to wrap your head around when trying to understand blockchain (& distributed ledger) technology. So in this post, I will attempt to keep things as simple as possible.  

While there are many factors that make these technologies different from each other, the most crucial factor lies in the consensus method that the technology adopts. 

What Do You Mean By “Consensus Method” ?

Remember, any entity or individual can add information to an open blockchain or ledger. Hence, a bad actor can add false information into the ledger to serve his selfish purpose. Consensus Methods are adopted by blockchain technology to invalidate (or ignore) such attempts of false information.

Consensus: "Come to general agreement"

Essentially, a consensus method is employed to allow all actors in the network to come to agreement on what the true information is. This is done by the majority of the network agreeing on the information presented.

(Note: This can be bypassed if a bad actor managed to achieve majority control of the network -  51% or more. More on this in another post)

(EDIT:  In fact with only 33% of control of the network, a bad actor can bring the network to a deadlock in the decision making process. I will explain this briefly in a future post.)

​​​Types Of Consensus Methods

​​​​In this section, I briefly summarise some of the popular consensus models adopted. Hopefully, I can keep it simple while still hitting the core concepts.

Proof Of Work: Used by Bitcoin -  Proof of Work (PoW) is one of the most popular consensus models.

In the PoW consensus model, a participant is required to solve hard computational puzzles in order to add information to the blockchain. (Don’t worry - humans aren’t solving these problems themselves, their computers are doing all the “work”) 

The puzzles are set up in a way that are “difficult to solve” but “easy to verify”. Think of it as you solving an extremely hard calculus problem, and your lazy teacher is only ticking the last step to “check” your answer.

In Bitcoin, it takes – on average – 10 minutes to solve a problem and can be verified by other participants almost instantly. Solving this computational problem can consume a lot of electricity. This can get expensive. Because of this, it  is very difficult/infeasible for a bad actor to achieve 51% control of the network. And without 51% control a bad actor cannot achieve consensus on false information.

Proof Of Stake: Used by Waves, and currently being implemented by Ethereum (Casper) – Proof of Stake (PoS) is a consensus algorithm that many of the newer blockchain’s are leaning toward. 

In PoS, participants “stake” their coins on the network in order to achieve consensus. Essentially, a participant is putting up his own coins as collateral against the event that he tries to add false information/cheat.

So while Proof Of Work disincentives bad actors because of the tremendous power/electricity that would be consumed (at their cost) – Proof of Stake disincentives bad actors by making them risk their own wealth.

Furthermore, to achieve a 51% attack, a bad actor will have to hold more than 50% of all the coins in the network. Supply & Demand will make this prohibitively expensive.


Note: There are two types of widely known POS - Delegated Proof Of Stake (dPoS) and Leasing Proof Of Stake (LPoS). dPoS allows for participants to vote for a delegate that will maintain the integrity of the system. LPoS is similar but allows for participants to lease out their coins in order to share in the rewards of verifying a block.

Tangle/DAG: Used by IOTA – Tangle is not so much a shift in consensus mechanism, but more so a shift in structure of the distributed system. ​

Tangle uses Directed Acyclic Graphs (DAG) instead of a blockchain. Unlike a blockchain, a DAG’s horizontal architecture allows for more scalability.

tangle vs blockchain

Tangle is IOTA’s implementation of a ‘Directed Acyclic Graph’. In tangle, the entire network are participants of the consensus model – unlike blockchains where only a certain portion of the network are participants of the verification process. It’s important to note that Proof Of Work is still used by Tangle. However, the burden is shared by the entire network.

Furthermore, PoW is only part of the consensus model in Tangle (to serve against sybil and spam attacks). Because of the structure of a DAG, a good actor in the Tangle’s consensus method will have to spend a trivial amount of computational power. But a bad actor will have to spend increasing amounts of computational power with diminishing returns.


Note: A Directed Acyclic Graph (DAG) is simply a non-circular graph of nodes connected to each other with a fixed direction. The non-circular aspect will ensure that following the direction of the nodes will not lead you back to the same node)

Tempo: Used by Radix Tempo is a radical approach to achieving consensus as well as scalability while still maintaining true decentralization.  

Radix is neither a blockchain or a DAG – but a unique approach to achieving consensus on a distributed ledger. Fair Warning this may be a bit technical, but I will do the best I can to simplify the method.

Tempo uses sharding (taking partitions of the ledger) and “logical clocks” to achieve proper ordering of events that take place in the entire network. The magic-sauce lies in the usage of the logical clocks to generate temporal proofs.  

A logical clock is essentially an ever-increasing integer value. This value increases each time it witnesses an event. In Tempo, participants (nodes) increment their logical clock only when they witness an event that they haven’t witnessed before. The node stores the event and it’s corresponding logical clock value.

Every transaction in Tempo is stamped with  with a “temporal proof”. Please note  that “Temporal Proofs” aren’t “temporary proofs” – but more so proofs that deal with “time” and “ordering”. Achieving proper ordering of events is essential to prevent bad actors from achieving malicious transactions (like double spend).  

The second half of Tempo's consensus system lies in the "commitments". Commitments essentially involve propagating the information (temporal proofs etc) through out all the nodes. Essentially, the nodes "gossip" to the other nodes, and thus prevent mischief from a bad node.

I will be writing a more detailed post explaining the fundamentals of Tempo on a high level. For now, I hope this post suffices in giving you basic & high level understand of the various consensus mechanisms available today.

Get my upcoming eBook for Free!

"The Mango Guide TO Understanding Blockchain"

Offer Valid For FIRST 500 registrations only

Continue reading >
Share
Page 3 of 4
Join us on Telegram!
>