Despite the cryptocurrency prices not looking all that great at this stage, there are still plenty of key developments to look forward to. Especially where Ethereum is concerned, there are a lot of potential upgrades and breakthroughs occurring in the coming few months and years. Both from a short-term and long-term perspective, there is a lot to look forward to.
ETH 1.X SCALING
While most of the Ethereum developers and community are working on long-term scaling solutions, it is rather evident the near-term needs to be addressed as well. Thankfully, it seems a team of developers is working on offering viable solutions over the coming weeks and months. By actively pursuing solutions to address scaling and sustainability, as well as paving the way for ETH, this initiative can make a massive impact on Ethereum. Over the past few years, there have been numerous concerns as to how Ethereum is incapable of handling its own success in many different ways.
Some of the concepts being explored include state fees and stateless clients, as well as potential sync protocol improvements. Combined with the ongoing work on Geth and Solidity, there is a lot of work going on behind the scenes. There is still a somewhat big gap between the current iteration of Ethereum and the next version. Ensuring this transition occurs as smoothly as possible will be a tough challenge, but far from an impossible task.
NIMBUS THE SHARDING CLIENT
For those who are not too familiar with how the Ethereum ecosystem works, there is a strong focus on sharding to scale Ethereum to new levels. The Status.im team is currently building a client which will provide convenient access to sharding. That solution is known as Nimbus, which currently has its own testnet to collect valuable feedback and iron out any bugs which might still be present.
What makes Nimbus so exciting is how it acts as a sharding client for resource-restricted devices. The true impact of this solution has yet to be determined, however. For now, the Nimbus-to-Nimbus testnet is up and running and can be explored by anyone who has an interest in checking out this client. For Ethereum, this is a pretty big breakthrough, assuming the project will work as expected
PRYSM – THE GO IMPLEMENTATION OF ETH 2.0 SERENITY
Numerous aspects of Ethereum will need to be modified and upgraded to accommodate these upcoming changes. That in itself may prove somewhat challenging, although the Prysmatic Labs team is making significant progress. They are currently focused on offering a new Ethereum Serenity implementation known as Prysm. Making it compatible with the ETH 2.0 code base is direly needed, although the work is not over yet at this time.
For the time being, users can participate in the Prysm testnet phase. They can opt to set up a beacon node and validator client. To activate one’s validator, a deposit of 3.2 Goerli ETH needs to be completed. This deposit will take some time to be processed, yet it should become accessible fairly soon. These validators will also be actively staking ETH, thus a user’s balance should go up over time if one’s node is configured correctly.
SIGMA PRIME’S LIGHTHOUSE
Another Ethereum-oriented project worth keeping an eye on comes in the form of Lighthouse, a solution developed by Signa Prime. Similar to all of the other main ETH 2.0 projects, there is a working testnet accessible to users already. For the project as a whole, this is a major breakthrough. A lot of work has been poured into Lighthouse over the past few months, primarily because the team wanted to launch its testnet by late March of 2019 at the latest.
As is usually the case with any testnet, there is room for further improvements. The team is looking to offer three hash caching implementations, as well as other improvements and bug fixes. Ultimately, the team hopes to achieve true interoperability with other Serenity clients, such as the ones named above. Building a multi-client testnet is no easy feat, yet achieving it will be the main objective prior to ushering in the era of ETH 2.0.
Ethereum (ETH) Is On The Verge Of A Game Changing Crash
Ethereum (ETH) broke past $200 in an impressive run up yesterday as the price shot straight past the 50 EMA on the 4H time frame breaching the 38.2% fib retracement level from the local top. RSI on the 4H chart for ETH/USD shows that the price is now trading under overbought conditions but if circumstances were different, this may not have stopped it from rallying higher. However, the reality on ground is that Ethereum (ETH) remains in bear trend despite the recent bullish move. The descending triangle that ETH/USD is trading in could end in a lot of blood especially because the next crash is going to be a game changer. The decline below $180 will convince a lot of traders that they have been wrong about the bear market being over or altcoin season being around the corner.
The ICO space is full of scams that are just ready to unfold. When the proverbial hits the fan, we are going to see a lot of these ‘projects’ declare bankruptcy and all of that is going to terribly hurt the altcoin market and coins like Ethereum (ETH) that have been used for such scams are going to be under fire from regulators and investors alike. It is true that there are some very hardworking teams in this space that really want to see this space succeed and they are more interested in the tech than the money but the fact remains that unregulated markets like these attracts all kinds of people and in the absence of meaningful regulation, investors are not protected which means founders of these scam ‘projects’ can just get away with anything. Of course, the end result of all that is that it brings a bad name to the entire space.
I’m a strong believer in the idea that news events or similar developments follow what is happening on the charts. So, if the price is poised for a decline, we will find a reason that supports the crash. Most of the times, it is either an exchange hack, regulatory crackdown or a ban. If we take a look at the daily chart for ETH/BTC, there is no way this looks bullish in any way. The price remains within a descending channel and it has yet to break past the trend line resistance.
Conditions are now ripe for Ethereum (ETH) to begin its next decline which I believe will have game changing consequences. Confidence in altcoins is going to decrease further and when that happens more of the scams in this space will get exposed which is going to induce more fear in the market that will in turn hasten the inevitable which is Ethereum (ETH) falling to a price of $60 or lower toward the end of this bear market. There are a lot of people that are even more bearish calling for Ethereum (ETH) to go to zero but I don’t think that could happen. I wouldn’t discount a move to a single digit price but I don’t see ETH/USD going to zero despite all its flaws, shortcoming and unreasonable valuation.
Ethereum market update: ETH/USD briefly surges to stay above $200
- Ethereum momentum has stalled $202.43 following a 3.15% rise on the day.
- Bulls must defend $200 support in order to stage a break above $205 resistance.
Ethereum hovers above $200 following a new week’s price action. The weekend session was particularly bullish for ETH. The bulls managed to escape the bear range between $180 and $190. This price action set the ground for the breakout above $200 on Monday.
At the time of writing, Ethereum bulls have control over the price. However, the momentum has stalled $202.43 following a 3.15% rise on the day. The 50 Simple Moving Average one-hour is expanding the gap above the 100 SMA one-hour as a key indicator that the buyers will win the confrontation with a break above $205 (seller congestion zone).
Technical analysis suggests the buyers have the upper hand. The Moving Average Convergence Divergence (MACD) is moving higher within the positive territory. The positive divergence signals rising buying power.
Moreover, the Relative Strength Index in the same one-hour has entered the overbought region. On one hand, this shows bullish pressure being at the peak. On the other, it could mean an impending reversal due to the overbought conditions. In spite of all these, if buyers manage to keep the price above $200, they will get time to stage another breakout.
BTC/USD 1-hour chart
What is Sharding? Guide to this Ethereum Scaling Concept Explained
As the scaling debate in cryptocurrencies continues, some potential solutions have actually been in development for quite some time now.
Specifically, in the case of Ethereum, where a large focus is placed on decentralization and security at the expense of scalability, the application of sharding in conjunction with implementing Proof of Stake consensus is seen as the much needed mechanism through which the network can scale to practical levels for applications while still retaining its decentralization and security.
Sharding is a complex topic, especially when applied to a decentralized, peer to peer network such as Ethereum where the global state of the network constantly is updated. So what exactly is sharding and how can it help blockchain networks to scale?
Sharding and Distributed Computing Background
Sharding is actually much older than blockchain technology and has been implemented in a variety of systems from business database optimizations to Google’s global Spanner database. Essentially, sharding is a particular method for horizontally partitioning data within a database. More generally, the database is broken into little pieces called “shards”, that when aggregated together form the original database.
In distributed blockchain networks, the network consists of a series of nodes connected in a peer to peer format, with no central authority. As is the case with current blockchain systems, each node stores all states of the network and processes all of the transactions. While this provides the high level security through decentralization, especially in Proof of Work systems such as Bitcoin and Ethereum, it leads to legitimate scaling problems.
Using Ethereum as an example, a full node in the Ethereum network stores the entire state of the blockchain, including account balances, storage, and contract code. Unfortunately, as the network increases in size at an exponential pace, the consensus only increases linearly. This limitation is due to the communication needed between the nodes needed to reach consensus.
Nodes in the network do not have special privileges and every node in the network stores and processes every transaction. As a result, in a network the size of Ethereum’s, issues such as high gas costs and longer transaction confirmation times become noticeable problems when the network is strained. The network is only as fast as the individual nodes rather than the sum of its parts.
Sharding helps to alleviate these issues by providing an interesting, yet complex solution. The concept involves grouping subsets of nodes into shards which in turn process transactions specific to that shard. It allows the system to process many transactions in parallel, thus significantly increasing throughput.
A simpler way to put it would to be imagining the division of the United States into states. While each state (a shard in this case) is part of the larger United States (Ethereum network), they have their own specific rules, boundaries, and subsets of populations. However, they do share a universal language and culture as part of their larger network that makes up the country.
Or even better, in Vitalik Buterin’s own words:
“Imagine that Ethereum has been split into thousands of islands. Each island can do its own thing. Each of the islands has its own unique features and everyone belonging on that island i.e., the accounts, can interact with each other AND they can freely indulge in all its features. If they want to contact other islands, they will have to use some sort of protocol.”
As you can see, the concept of fragmenting the network into more efficient pieces allows the network to function as the sum of its parts, rather than being limited by the speed of each individual node.
How Does Sharding Work in Blockchains?
We will continue to use Ethereum as an example in this as it is the most well-known and arduous sharding attempts in the blockchain arena, as the Ethereum developers are implementing what is known as “state sharding”.
The current state of the Ethereum blockchain is known as the “global state” and is what everyone can see when they look at the blockchain at a specific instance. The tricky part in implementing sharding in Ethereum is that by sharding the nodes into smaller subsets, these subsets need to be able to process specific sets of transactions while simultaneously updating the state of the network, all while ensuring it is valid.
Sharding in Ethereum is supposed to be implemented in a two phase rollout, more than likely after Proof of Stake is implemented in the network. Phase one will be the data layer consisting of the consensus of what data is in the shards. Phase two is the state layer. All of this is very fluid, so a general breakdown of how it may work is below.
Ethereum breaks down the network into specific shards. Each shard is assigned a specific group of transactions that is determined by grouping specific accounts (including smart contracts) into a shard. Each transaction group has a header and a body that consist of the following.
- The shard ID of the transaction group
- Assignment of validators through random sampling (verify the transactions in the shard)
- State Root (state of the merkle root of the shard before and after transactions added)
- All of the transactions that belong to the transaction group that are part of the specific shard.
Transactions are specific to each shard and occur between accounts native to that shard. When transactions are verified, the state of the network changes and account balances, storage, etc are updated. In order for the transaction group to verify as valid, the pre-state root of the transaction group must match the shard root in the global state. If they match, the transaction group is validated and the global state is updated through the particular shard ID state root.
Instead of only containing a state root, each block of the Ethereum blockchain now contains both a state root and the transaction group root. The transaction group root is the merkle root of all of the transaction groups from the specific shards for that block of transactions. Basically, there is a merkle root of all of the different shards that contain the updated and verified transaction groups. This root is stored in the blockchain along with the updated state root.
The employment of merkle tree concepts in this structure is vital to ensuring validity of the blockchain. Understanding how a merkle tree and specifically a merkle root work, can help you to grasp these concepts much more easily.
Read: What is a Merkle Tree ?
Consensus within a shard is reached through a Proof of Stake consensus of randomly selected nodes that are applied to a shard for specific consensus round. This not only provides finality to the consensus, which is necessary within the shards, but also provides a particular defense to an attack that a Proof of Work blockchain would be susceptible to in this instance.
The hash power required to overrun a specific shard in a PoW sharded network is drastically reduced and the ability for a malicious actor to take over a shard through computational power is feasible. Through this, the bad actor could attack other shards through the communication protocol which is one of the more complicated and important features of sharding architecture. Random sampling selection of the validators within a shard manages to stifle this type of attack since a bad actor will not know which shard they are being placed in before they are actually placed in it. Further, random sampling will be used to select the validators that are actually validating from that random validating set.
The communication protocol is vital to the sharding architecture functioning correctly in the system. You can think of the communication protocol as the universal language that is consistent among the states as part of the larger United States. However, designing this protocol is highly challenging and needs to be performed so that it is only used when necessary. It becomes necessary when a specific node requires information that is not stored within its own shard and needs to find the shard with the requisite information. This communication is known as cross-shard communication.
The cross-shard communication is achieved through applying the concept of transaction receipts. The receipt for a transaction is stored in a merkle root that can be easily verified but that is not part of the state root. The shard receiving a transaction from another shard checks the merkle root to ensure that the receipt has not been spent. Essentially, the receipts are stored in a shared memory that can be verified by other shards, but not altered. Therefore, through a distributed storage of receipts, shards are able to communicate with each other.
Sharding Moving Forward
Sharding in Ethereum is expected to be implemented after the Casper PoS upgrade. Recently, there have been some developments regarding Ethereum 2.0which involve implementing both Casper and sharding. Casper seems to be slated for 2019 while sharding will follow in 2020 or 2021.
Sharding has also been implemented in a few other platforms, most notably Zilliqa. However, Zilliqa does not implement state sharding at this time and instead focuses on providing a high throughput blockchain by utilizing transaction and computational sharding.
Read our Guide to Zilliqa
Sharding serves to offer some promising solutions to the elephant in the room of blockchain platforms right now, scalability. While Bitcoin’s lightning network is in the testing phase and has been showing some very promising progress so far, Ethereum’s solution brings with it some unique challenges as it is pegged as a world computer that is Turing complete.
Sharding will directly work only at the protocol level, so to the end user or dapp developer it may not be necessarily relevant to learn about. Regardless, Ethereum’s attempt at state sharding for a vast, decentralized network is an impressive endeavor and will be an enormous feat of accomplishment if successfully implemented.