Zcash's zk-SNARKS May Help Ethereum Scale Faster Than Plasma

  • zk-SNARKS technology may allow the Ethereum network to scale more effectively than the Plasma upgrade (alone).
  • Ethereum's developers are now focusing more on zk-SNARKS as a viable scalability solution for the cryptocurrency platform.

Ethereum’s (ETH) developers have explored many different ways in the past few years that could potentially help to effectively scale the cryptocurrency platform’s blockchain. At present, the Ethereum development team appears to be focusing more on zk-SNARKS technology - as it could be used to develop a viable scalability solution.

As CryptoGlobe reported in late September, Ethereum co-founder Vitalik Buterin had said that Zcash’s zk-SNARKS technology could be integrated into Ethereum’s codebase, and that it would allow the crypto’s network to process 500 transactions per second (TPS).

Should this happen, then it would be a significant improvement as the Ethereum blockchain is (currently) only able to handle 15 TPS. In late October, Buterin had said that Ethereum 2.0 (“Serenity”) was “really not so far away.”

The Ethereum 2.0 ("Serenity") Upgrade

According to Ethereum’s developers, the Serenity upgrade will include:

  • Successful transition from current proof-of-work (PoW) to proof-of-stake ("Casper"),
  • Scalability ("sharding"),
  • Virtual Machine Improvements (EWASM)
  • Improvements to cross-contract logic
  • Improvements to protocol economics

In addition to the planned upgrades mentioned above, there were many discussions related to using zk-SNARKS technology during the 4th annual “builders” conference (DevCon4).

Commenting on how zk-SNARKS could be used to help the Ethereum network scale, Stefan George, the chief technical officer at Gnosis, a decentralized prediction market platform, told Coindesk

More and more people understand what the possibilities are. Even beyond zero-knowledge, it's also a great scalability tool that ethereum is missing, and we can use it without waiting.

Stefan George

zk-SNARKS Is "More Decentralized" Than Plasma

George added that a zk-SNARKS based scalability solution could be deployed much faster compared to Plasma (“a technique for [quickly] conducting off-chain transactions” in order to reduce network congestion), and it is also more decentralized than the latter.

Proposed by Buterin and Joseph Poon, the co-author of Bitcoin’s (BTC) Lightning Network whitepaper, the Plasma upgrade involves moving computations for smart contracts off of the main Ethereum blockchain.

Although a lot of research has been done and developers have tried many different implementations of Plasma, the efforts so far have not been successful.

At Devcon4, David Knott, a plasma researcher at OmiseGo, had described a “minimal viable plasma” implementation as having restrictive “time constraints, [was] horrible for UI, and is vulnerable to network congestion."

Kelvin Fichter, another plasma researcher at OmiseGo, told Coindesk that one of the most common problems with Plasma may be addressed by using zk-SNARKS technology.

DApps Running On Plasma May Use zk-SNARKS

Fichter explained that decentralized applications (DApps) running on a Plasma-based network could utilize zk-SNARKS to verify transactions on the main Ethereum blockchain - without requiring sidechains or any other second-layer solution.

He said:

[zk-SNARKS] solve what we were solving with crypto-economic assumptions with just straight up with cryptographic assumptions. It means we have to worry about a lot less.

Kelvin Fichter

Moreover, zk-SNARKS could enhance the privacy of transactions on a Plasma-enabled Ethereum network.

However, Fichter noted: “purely zero-knowledge systems and making use of zero-knowledge systems in plasma is still a little bit far away. There's work that remains on 'Do we make hash functions cheaper?' and once we get to that point, we are going to see an explosion of zero-knowledge applications."

Weekly Newsletter

Difference Between Cosmos and Polkadot, Explained By Senior Developer

Cosmos (ATOM), a leading cryptocurrency platform focused on enhancing blockchain interoperability, has been developed so that software engineers can create scalable and customizable, high-performance applications.

Like Cosmos, the proof-of-stake (PoS)-based Polkadot (DOT) platform also allows independent blockchain networks to communicate with each other. Developed by Parity Technologies, the creator of the leading Ethereum client, Polkadot uses a “relay chain” as its base chain on which several different parachains (short for parallel chains) are hosted (bonded).

Chains on Polkadot May Use Their Own Consensus Algorithms

Parachains on the Polkadot network use GRANDPA as their default consensus protocol, however other chains like Ethereum can use their own consensus algorithm - after connecting with Polkadot through the “Bridge.”

As explained by Gaurav Agrawal, the Founder of CryptoFi (a platform for creating invoices and getting paid in cryptocurrencies), all parachains on Polkadot have their own “local” state, rule, consensus mechanism, and block producers (referred to as collators).

Meanwhile, Polkadot’s Relay Chain allows the network to maintain a “global state” that is secured by the platform’s transaction validators.

Interoperability: The Main Value Proposition

Agrawal, a computer science graduate from Banaras Hindu University, notes that interoperability is the main value proposition for both the Cosmos and Polkadot platform. He explains that both networks provide a “communication mechanism” between independent permissioned (private) and public blockchains that may have different state machines and consensus protocols.

Agrawal adds that Polkadot’s Relay Chain handles inter-messaging between different networks via “arbitrary” message passing (such as calls made to smart contracts).

Polkadot Uses “Shared Security” Model

According to Agrawal, the main challenge is securing the communication process that occurs between separate chains - in the event of chain re-org and/or fork.

These issues are addressed through Polkadot’s “shared security model,” which allows the same group of validators to secure multiple blockchains connected to the interoperability platform.

Providing Security Through the Relay Chain

Large and established blockchain networks such as Bitcoin (BTC) and Ethereum (ETH) have the greatest level of security when compared to smaller caps coins. This, as a large group of network participants, including miners, are helping to secure the BTC and ETH networks.

Polkadot introduces a unique way to secure blockchain platforms through its shared or pooled security model, which provides security to all parachains “as soon as [they] attach” to Polkadot’s Relay Chain, Agrawal explains.

Validators and Collators Help Process Blocks on Polkadot

Validators on the Polkadot network verify and add blocks to the Relay Chain, while collators group together transactions made on parachains and generate blocks for validators.

As noted by Agrawal, having “uniform security” significantly improves the security of a blockchain network. This allows a high-security blockchain like Ethereum to “trust” lower-security chains such as the Bitcoin Cash (BCH) network.

Addressing the “Data-Availability” Problem

In order to prevent malicious behavior, Polkadot validators are randomly assigned to different parachains. As Agrawal notes, this creates the “data-availability” problem, in which validators require data from parachains, before they validate blocks. He points out that effectively addressing the data-availability problem is considered a “big challenge.”

In addition to collators and validators, the Polkadot network has bounty-hunters, called Fisherman, who are tasked with checking for malicious or dishonest conduct by Polkadot validators.

Polkadot Can Be Upgraded While It’s Still “Running”

Users must lease Polkadot’s native tokens, called DOTs, in order to “get a spot” on parachains, Agrawal explains. While this may be an entry barrier, bonding DOTs allows users to take advantage of security features by default.

Notably, the Polkadot network may be upgraded while it’s still running - without requiring a pause which is needed when forking most blockchains. Agrawal mentions that this is possible because Polkadot stores WebAssembly on-chain.

This approach encourages nodes to use the latest on-chain WebAssembly version, instead of using an old version that may not be fully supported. Because WebAssembly resides on-chain, there is no need for off-chain coordination. This leads to improved security, Agrawal argues.

Polakdot’s Council Members May Change Rules Applied to Relay Chain

He also mentions that DOTs play a key role in Polkadot network’s governance. The Relay Chain has about 10-1,000 parachain slots, which may be “auctioned to the highest bidder.” The bidders must lock up DOTs for a fixed lease period in Polkadot’s proof-of-stake (PoS)-based blockchain network. After the lease period ends, the DOTs are returned back to the bidders.

As Agrawal notes, Polkadot will have a 24 member council, which includes dApps, validators, and parachain team members that will passively hold DOT tokens. The members will be appointed through “approval voting” and may be allowed to change rules that apply to using the Relay Chain.

Parachains May Not Be Removed From Polkadot Until Their Lease Period Ends

Modifications to the Relay Chain may include altering the block time, block reward, or the amount of DOT tokens needed to host a Parachain, Agrawal explains. He adds that Parachain may not be removed from Polkadot until its lease period ends.

Because Polkadot may not be considered a “live” platform, as it’s a PoS system that hosts multiple parachains, it will require greater transaction “capabilities”, Agrawal notes.

Using Horizontal and Vertical Scaling

He explains that multichain systems must scale in two main ways: horizontal scaling (hosting additional blockchain networks), and vertical scaling (allowing blockchains with various scalability features such as reduced transaction settlement times).

According to Agrawal, Polkadot’s vision is to have multiple Relay Chains, with each hosting hundreds of different parachains. These may be attached to a “single root Relay Chain” that forms a “tree structure” and supports “1,000x-10,000x transaction speed” - when compared to current systems. However, the existing Polkadot network has not yet achieved this milestone.

Polkadot Developed Using Substrate

Developed using Substrate, a blockchain-building tool, the Polkadot platform may be used to launch new distributed ledger technology (DLT) networks that are not hosted on Polkadot itself.

As Agrawal mentions, Substrate supports any programming language that can compile to WASM (Web Assembly). These languages may include C, C++, Rust, among others - thus allowing greater flexibility and more options for developers.

Polkadot’s mainnet is scheduled to launch at some point during Q3 2019, and the platform’s testnet is currently available. As Agrawal notes, the developers of the Polkadot project have introduced a “pre-production” Kusama network, which lets developers beta-test the platform’s technology - in order to locate software bugs prior to mainnet release.

At present, there are several software teams that are creating multi-chain identity and data storage solutions for Polkadot. The Polkadot team has also launched PolkaDao, a decentralized autonomous organization (DAO) to help fund developers to create solutions on the Polkadot network.

Cosmos, the “Internet of Blockchains”

As Agrawal states, the Cosmos project aims to create an “Internet of blockchains” by taking a modular approach towards creating DLT networks. Cosmos offers the basic or foundational tools (modules) needed to develop new blockchains.

According to Agrawal, there are three main “building blocks” to creating a blockchain platform. These include the application layer, the consensus protocol, and peer-to-peer (P2P) networking capabilities.

Cosmos Based on “Hubs and Spokes” Model

As Agrawal mentions, the Cosmos project is separated into two different parts including Tendermint Core, which consists of the Consensus protocol (Tendermint PoS) and the Gossip protocol for P2P networking functionality. The second part of Cosmos includes the Cosmos software development kit (SDK) for developing building blocks for the application layer.

The Cosmos architecture is based on the “Hubs and Spokes” model. Spokes on the cryptocurrency platform, considered to be “sovereign” blockchains, are referred to as “Zones”. Meanwhile, a hub on Cosmos handles inter-blockchain communication. Cosmos’ architecture allows for multiple hubs, with each hub potentially having several zones.

Application Layer Implemented Differently on Hubs and Zones

As explained by Agrawal, Tendermint Core serves as a consensus engine that is used by all hubs and zones on the Cosmos network. Hubs are also independent blockchain networks, and the Cosmos Hub, a hub controlled by Cosmos’ developers, is the main Cosmos blockchain itself.

Only the application layer is implemented differently on hubs and zones. According to Agrawal, the app layer may be a UTXO dataset (in the case of Bitcoin) or a State Machine (like on the Ethereum network), or a permissioned blockchain.

Cosmos Uses a Modular Architecture

As Agrawal explains, Tendermint features an interface known as ABCI, which serves as an implementation of the Tendermint socket protocol. ABCI is supported by multiple programming languages, which gives developers the option to build applications in almost any language - while being able to connect to Tendermint’s consensus engine.

Cosmos’ modular architecture lets developers launch permissioned networks (not allowed on Polkadot) and still have the option of connecting the private chain with Hubs - in order to send and receive crypto tokens from other blockchains.

Peg Zones Used to Connect to Live Blockchains

To connect to live blockchains such as Bitcoin and Ethereum, Cosmos uses Peg Zones, which are somewhat similar to how Bridges work on the Polkadot network. Notably, Cosmos was used to develop Ethermint, an Ethereum State Machine that resides on Tendermint.

The Cosmos network uses the IBC protocol (Inter-Blockchain Communication protocol) to establish communication channels and enable token transfer between different chains. Developers of Cosmos are currently working on allowing “arbitrary message passing”, as the network is presently only optimized for exchanging tokens.

The IBC protocol works alongside Tendermint consensus and has been developed as a Basecoin plugin, Agrawal notes. He adds that the IBC protocol works by allowing a blockchain to function as a “light client” for other blockchains.

Cosmos Network Focuses on Sovereignty

The Cosmos network focuses on sovereignty, as each Hub and Zone on the network must manage its own security. Unlike Polkadot’s shared security model, all Hubs and Zones on Cosmos must have their own validators. Users may connect to the Cosmos hub without having to make deposits in ATOM tokens.

Currently, the IBC protocol is still in its developmental stages. However, Agrawal points out that users need not ask for permission before connecting with the Cosmos Hub. Because Cosmos doesn’t implement a shared security model, network participants have to trust other zones. When IBC has been fully developed, these issues will be addressed, Agrawal wrote.

Tendermint’s PoS Is Optimal Byzantine Fault Tolerance

Only two hubs, the Cosmos Hub and the Iris Hub, are currently live. Since Tendermint’s PoS is optimal Byzantine Fault Tolerance, “with accountability,” any network participants “controlling 1/3rd of the nodes” may halt the Cosmos network.

Also, control over 2/3rd nodes is needed to “fork or control” the Cosmos network, Agrawal wrote. Unlike the Polkadot network, Cosmos tends to place more importance on ensuring safety than the liveness of its network.

Users May Submit Proposals In Text Messages

Unlike Polkadot, all blockchains on the Cosmos network are sovereign as they have their own governance model. As Agrawal mentions, when discussing matters related to Cosmos’ governance, we are actually referring to the governance of the Cosmos Hub, the platform’s main chain.

The Cosmos network allows users to submit text proposals (requiring small amount of ATOMs), after which there’s a two-week voting period. During the voting phase, validators or delegators may cast the following types of votes: “Yes”, “No”, “No with Veto”, “Abstain.”.

Once the two-week voting period ends, the votes are all tallied, in order to determine whether the proposal will be implemented or discarded.

Focused on Creating Stable Tendermint Implementation

As Agrawal mentions, Tendermint PoS has “instant finality,” as its block times may be around 1 second. This allows Tendermint’s PoS to process thousands of transactions per second (TPS).

Agrawal notes that Cosmos’ developers are presently focused on building a stable Tendermint implementation, and that addressing scalability issues is not a high-level priority for the project at the moment.

Binance Chain Building Solutions on Top of Cosmos

Unlike Polkadot, Cosmos’ mainnet is live and many crypto projects including Binance Chain are building solutions on top of it. However, Cosmos’ SDK is only available for the Go language (at the time of writing).

Developers must use Go in order to launch new blockchains on Cosmo. If a blockchain has already been coded in another programming language, then a respective ABCI implementation may be used, which may be run using Tendermint.