Portal Wallet and pw-sdk: Connecting blockchain users around the world

NervosNews, Releases & Updates

Portal Wallet and pw-sdk: Connecting blockchain users around the world

How will you increase user acquisition? What are the advantages your chain has over other chains? Can popular applications on other public chains be replicated on your chain? How will you encourage users from other chains to join your ecosystem?

These are questions public blockchains are asked over and over again, and while the questions may get tiresome, they’re understandable. After all, where there are limited resources, competition exists, and in order to have a successful blockchain, a chain has to have users who will contribute their time and efforts to improving the project.

But while attracting users from within the blockchain community is important, the bigger question is: How do we attract users that aren’t familiar with blockchain?

Compared to the broader internet, blockchain has a much smaller user base. However, if there was an easy and seamless way for users to enter the blockchain world through the internet, it would open up a variety of possibilities and benefit the development of the entire blockchain ecosystem — and even create a new encrypted network ecology.

The internet world’s portal to the blockchain world

In our last post on Portal Wallet, we talked about how it is a gateway to the blockchain world. Typically the biggest pain point for users new to blockchain is that the barrier to entry is too high. Creating a wallet, backing up mnemonic words, and importing a wallet are too difficult and not very user-friendly, most people simply avoid them. That’s why enabling users to enter the blockchain world in a familiar yet secure way is very important.

Portal Wallet: CKB’s gateway to the world

Enter Portal Wallet: a decentralized digital asset wallet that offers a user experience that internet users will recognize. Here’s why:

  • Through fingerprint ID, Face ID, etc., you can receive and transfer assets via the digital asset wallet that is readily available in your internet browser.
  • You can use the wallet to issue CKB transactions without the built-in support of an Ethereum wallet.
  • In the future, all public chains will be able to obtain CKB through Portal Wallet. If the consortium chain is open enough, you may even be able to transfer CKB using Libra’s account system one day.

Portal Wallet is able to support fingerprint ID, Face ID and other biometric verification methods to create wallets because of its WebAuthn technology. WebAuthn is a Web standard published by W3C in 2019. The purpose of this technology is to establish a standard that uses asymmetric cryptography to authenticate Web-based applications and services. If you’ve ever used your fingerprint to open an app without filling in your password, then you’ve experienced the benefits of WebAuthn technology. Facial recognition, iris recognition, voice recognition, and physical keys (e.g., USB connection, Bluetooth connection, NFC connection) have all become popular and convenient ways to use WebAuthn to access internet apps and other products.

Because of CKB’s strong cryptographic primitive support capabilities, this set of standards based on asymmetric cryptography can also be supported on CKB. That means users can access and use Portal Wallet through a series of biometric verification methods such as fingerprint ID and Face ID.

In fact, users can create wallets on the web browser side through fingerprint ID or Face ID without understanding the concepts of mnemonic words and public and private keys, making the entire process extremely simple for users. Moreover, when the wallet key is used this way, it’s not saved on the web side but managed by the Secure Enclave — the hardware-based key manager — that created the device. Its security level is higher than that of the operating system, so there is no way to export the private key.

So now you can see how Portal Wallet is helping users access blockchain products the same way they can when using web applications, minimizing the obstacles that prevent internet users from entering the blockchain world.

Pw-sdk enables all blockchain addresses to become CKB addresses

You may be wondering whether Nervos Common Knowledge Base, or CKB, will be more like Portal Wallet in the future. After all, if this kind of dApp can close the user gap, wouldn’t it be possible for other dApps on the CKB to offer a similar, user-friendly experience?

The answer is, of course, yes.

Portal Wallet was developed using the pw-sdk, an original project from the Lay2 team. Any dApp based on the pw-sdk can use this cryptographic infrastructure to provide a more easily accessible user experience.

Lay2 team’s vision for pw-sdk is that it will enable dApps on CKB to run in any cryptocurrency wallet. In other words, wallet operators won’t need to carry out targeted development at all and will even be able to run dApps developed on pw-sdk that don’t support CKB. For users, this means that any public chain address is a legal CKB address. Even if a CKB wallet has not been created, the PW-SDK-based dApp can still be used. The security is the same as that of the native dApp.

Pw-sdk has so many powerful functions, that they can be divided into three parts:

Pw-lib

Currently pw-lib includes:

  • Keccak 256 hash algorithm library required to identify the Ethereum signature format
  • SHA-256 hash algorithm library used to generate bitcoin addresses
  • ECDSA Secp256r1 signature algorithm library

As future application use cases grow, the requirements for cryptographic libraries will become greater and greater. Through the strong cryptographic primitive support capabilities of CKB, pw-lib can easily integrate these libraries to give developers the best experience possible.

Pw-lock

Pw-lock can verify the signatures of Bitcoin, Ethereum, EOS and other public chain wallets, and can map each address (calculated by the public key) of these public chains to a legal CKB address.

Pw-lock already supports WebAuthn, but Portal Wallet also has a WebAuth function in the CKB testnet.

Watch this video tutorial to learn how to use Yubikey to create a CKB address.

Pw-core

Pw-core is a front-end SDK written in Typescript, a js library that is user-friendly for CKB dApp developers. It has built-in interaction with pw-lock, and developers can easily integrate it into front-end applications. Pw-core provides developers with the ability to run CKB dApp directly in all public chain wallets supported by pw-lock.

Watch this video tutorial to learn how to use pw-core to create a simple CKB dApp video in 1 hour.

While the statement, “All blockchain addresses can be CKB addresses,” may seem unattainable right now, with pw-sdk, it can become a reality. Users on other blockchain projects can become Nervos CKB users as well, which will greatly accelerate the rapid development of the Nervos ecosystem.

Image that says “Every blockchain address is a CKB address”

Cell Model and CKB-VM

The signature algorithm and hash algorithm are mainly involved in the blockchain transaction signature process. For example, the signature algorithms used in Ethereum and CKB are both ECDSA Secp256k1, but the hash algorithm Ethereum uses is keccak256, and CKB defaults to blake2b.

So what do you do if you want to bridge the two ecosystems? That’s where CKB’s Cell model and CKB-VM virtual machine come into play.

CKB took inspiration from Bitcoin’s UXTO programming model and created the Cell Model, turning a space that can only store simple data and logic into one that can be stored space for any byte field.

The CKB-VM is a RISC-V instruction set based on VM for executing smart contracts on Nervos CKB. It’s able to load the stored code from the cell into the memory for execution and can run various logic codes. It also includes many cryptographic primitives.

This is a very convenient process for developers. They can compile cryptographic primitives into instructions that can be run on CKB-VM, put them in a cell, and then call the cryptographic library in the cell where the state is saved. Developers can continue to add new cryptographic primitives to the CKB system. On Ethereum, this can only be achieved through a hard fork, as adding new cryptographic primitives can be difficult.

With the support of such flexible cryptographic primitives, developers can deploy the keccak256 hash algorithm in the Cell and implement a cryptographic library that supports the keccak256 hash algorithm on the CKB chain. Therefore, the script on the CKB chain can verify the Ethereum signature format, and then support the sending and receiving of CKB through the Ethereum address.

Creating a user-friendly blockchain experience

So, back to the original question: How can public chains attract users that are outside of their ecosystem?

On the one hand, the gateway for users to access the chain needs to be low.

In addition to biometric verification methods such as fingerprint ID and Face ID to create wallets on the browser side to improve user convenience and security, many innovative but practical ideas are being explored by developers.

For example, users can use their passport as a hardware wallet to join the CKB account system. Because the passport has an electronic encryption chip, it can be actively signed via NFC. The user can hold the passport information in the signature and send it out, and the CKB chain can be verified. In this example, every passport holder could potentially become a CKB user.

CKB can also be used to realize the confirmation of the mailbox address and content chain by using the cryptographic facilities of their existing mailbox. The user can connect his own address with the mailbox and add the mailbox as the unlocking factor of the address, so even if the user loses the device, it doesn’t matter. He can remove the unlocking factor of the previous device through the email and add another unlocking factor to recover the account.

CKB can even send encrypted assets directly by mail, which means that all internet users can seamlessly switch to the “crypto world,” which could bring huge possibilities in the future.

Blockchains could be used to generate more value through taking advantage of the function of building trust. When emails and passports become part of the CKB account system, many exciting and valuable application scenarios will be born, which can’t be achieved through the traditional internet. For example, by using mail and passports as decentralized identifiers (DIDs) to match the blockchain identity with the actual user, and then using zero-knowledge proof to do some scoped authentication for the user, you can complete the user’s Know Your Customer (KYC) process. In addition, mail receipts and signature receipts on the chain could be used to confirm a transaction has been received and then make a deposit confirmation.

The examples mentioned are only a few of the many possibilities that will be available in the CKB ecosystem. As more users join Nervos, the future ecology of CKB will have unlimited possibilities. We are also really looking forward to truly opening a breakthrough from the internet, seamlessly moving internet users into the blockchain world and creating a richer, diversified encrypted network ecosystem.


To stay updated on all things Nervos:

Join our community: Discord — Github — Nervos Talk Forum — Twitter

For discussions or questions join the conversation on Discord or check out one of our community Telegram channels: EnglishKoreanRussianJapaneseSpanishVietnamese and Chinese