Migrating Web 2.0 users to Web 3.0

I bought my starbucks using CKByte

Hello, welcome to issue #14 of the CKB Weekly, a newsletter about the Nervos Common Knowledge Base blockchain and related technology. 

During 2017-2019, Layer 1 was an overheated investment theme and raised billions. The typical “better than Ethereum” pitch usually includes three measurements in the framework:

  1. More scalable [higher TPS] 

  2. A developer community as robust as Ethereum

  3. The quantity and quality of dApps in the ecosystem 

Two years later, unfortunately a lot of these Layer 1’s are not yet launched, and of those that have launched, none of them became a real Ethereum killer. Let’s look at what has happened:

Scalability -  many of those new Layer 1’s reached higher TPS by using novel consensus mechanisms [more centralized, less secure]

Build a developer community - technically any new Layer 1 that is compatible with the EVM would allow Ethereum developers to seamlessly migrate to its chain. There were quite a number of Ethereum dApps ported to other chains like TRON and EOS under big incentive plans, but when the users did not follow them to these other chains, those dApps also left.

dApps - according to the DApp Market Report by DAppReview, in Q1 this year, Ethereum-based DeFi is the main volume growth driver, increasing 778% compared to Q1 2019, while TRON and EOS both suffered decreases in users and transaction volume. 

Total transaction volume of $7.9B across all chains increased 82.2% compared to 2019 Q1. Ethereum, TRON and EOS contributed over 99% of the total volume, while the total active addresses that interacted with dApps dropped by 22.1%.

The dApp User On-boarding Process

What does a new user need to do to use a new dApp? The first step is to install a browser plug-in wallet or download a mobile wallet. 

For any new Layer 1, such infrastructure is necessary but also has proven very hard to bring in new users. Below is some data showing total browser wallet plug-in downloads: 

According to data from the Chrome Web Store as of 2/26/2020 for browser plug-in wallets, the number of MetaMask users has exceeded 1 million. Scatter has less than 30,000 users, TronLink has 70,000 users, IOST's iWallet has nearly 20,000 downloads, and the other browser wallet plugin downloads are less than 10,000.

What about mobile wallets?

There are two ways chains can reach mobile users:

  1. Partner with all the mainstream wallets, ask them to support your chain - first the token transfer function, later the dApp browser. You will also need to ask the wallet to place the dApp in some prominent places in order to attract users. Due to the amount of effort, the number of public chains that can receive industry-wide support is really very low.

  2. Develop a new mobile wallet and dApp browser specifically for your new chain, do your own user growth. Many public chains follow this path.

Is there a third way?

On CKB, there is a shortcut to onboard users by leveraging the infrastructure of all existing public chains.

The Portal Wallet, formally proposed under the name of pw sdk allows users to create transactions and send/receive CKBytes using Ethereum (or any other blockchain) addresses and Metamask (or any dApp browser).

A user can use any multi-chain wallet (MetaMask,Coinbase, imToken, Trust Wallet, Cobo, TokenPocket, Bitpie, Alpha Wallet, Math Wallet, etc..) to send and receive CKBytes directly through Portal Wallet. In the future, all the dApps on CKB will be able to be accessed through these wallets using portal wallet. 

This shows the technical capability of CKB - there is no need for “forming a partnership” with the wallets to:

  • Maximize existing blockchain users

  • Maximize access to existing blockchain infrastructure

  • Minimize the distance between developers, existing blockchain users and existing blockchain infrastructure

  • Maximum adaptation to future blockchain development trends

It means dApp developers only need to worry about making an attractive dApp - they do not need to worry about the deployment of infrastructure and the number of potential users - if they deploy something on CKB, as long as it’s attractive, it is accessible to all wallet users. 

Users do not need to spend time learning to use a new product, nor create an address or download a new wallet.

Existing infrastructure and future infrastructure can also be integrated into the CKB ecosystem.

In the future, what if custom infrastructure such as Bitcoin and Ethereum is not accepted by the mainstream world? Are we ready to integrate into the larger world?

Migrating Web 2.0 users to Web 3.0. This is the potential of Nervos CKB. 

For instance, using CKByte to buy a cup of Starbucks in the Lay2 shop :)


  • CK Labs (CKB incubator for dApps) announced it funded the Portal Wallet and Tocial (ACG picture sharing), check how to apply for the program here.


Technical Updates


Nervos applies the RFC (Request for Comments) process for implementing every building block of the protocol. There were 24 Previous RFCs that can be found here

If you are curious about why a design in CKB is what it is now, please post your questions in this repository.


  • CKB

    • (#2159) Load db options from a file; support configuring column families

    • (#2206) Tweak cargo dependencies version, remove some duplicate crates

    • (#2208) Rpc get_peers deadlock caused by conflicting lock order

    • (#2169) Small tx-pool refactoring

    • (#2196) Add more fields to rpc `get_peers`

  • Dev Tools

    • Lumos [JavaScript/TypeScript based dapp framework] 

      • Released v0.7.1

      • (#69) Support anyone-can-pay script

      • (#70) Support notification mechanism

      • (#76) Fix getLiveCellOutPoints method

      • (#74) Refactor common script

    • Polyjuice [an Ethereum on CKB solution] 

    • Capsule [development framework for creating smart contract scripts in Rust for CKB] 

      • Released v0.2.0

      • Supports capsule clean command

      • Supports capsule build --release --debug-output option to enable debug output under release building

      • Terminate the deployment if pre-deployed cells are unlockable

      • Update ckb-std to 0.6.0 which supports dynamic loading

  • Neuron

  • CKB Explorer

    • Released v0.11.0

    • (#703) Fix address nil when update udt accounts

    • (#705) Fix zero division

    • (#697) Perf transactions list

Layer 2

  • Muta [layer2 framework on CKB] 

    • Released v0.2.0-beta.1

    • (#364) Network: tag consensus peer

    • (#376) Add global panic hook

    • (#365) Executor: use inner call instead of service dispatcher

  • SECBIT Labs [Zero knowledge proof toolkit for CKB] 


  • Lay2 [pw-sdk, build dApp on CKB and run them everywhere] 

  • Obsidian Labs[developer IDE] 

  • Synapse [browser wallet and keyper agency] 

    • Released v0.0.14

    • Feature: Fully support Lina mainnet

    • Improvement: Show capacity on transaction detail page

    • Improvement: Add validation for address field of UDT management

  • BlockABC [onchain CKB and web auth] 

  • GrowFi [token swap functionality]

  • Obsidian Systems [CKB integration with ledger wallets] - github

  • Summa One [BTC/CKB interoperability] - github

  • LeapDAO[EVM-compatible sidechain framework for Nervos] - link

  • New Grants Proposal

The Nervos Foundation currently runs a grants program for builders. check out the scope and how to apply.

CKB Weekly is curated by a group of people who witnessed Lina’s birth and started this to record her growth. Any views expressed are personal and do not represent an official position of the Nervos project. Got updates or articles you would like to include? Any feedback or other suggestions? Let us know by replying to the email. 

If you are interested in contributing, welcome to join the review group on TG.