On 11/26 to 11/28, 4 blockchain projects — Bluzelle, Noia Network, NKN and Portal Network — gathered together to host a workshop at San Francisco. The workshop focused on building a Web 3 application over the decentralized infrastructure provided by each project. It was also a great opportunity to utilize KAIZEN to build applications. KAIZEN provides an easier environment for developers to build, develop and manage Web 3 applications, and it was the core developer toolkit that was used during these 3 days.

In this article, we will be presenting the features of the Decentralized Chat System (D-Chat) that we have built over the 3 days period, as well as the updates on KAIZEN CLI.

A Decentralized Chat System

In San Francisco, developers from 4 projects created a chat system as a POC (Proof of Concept) for KAIZEN. The system is completely decentralized, hosted on IPFS, and will be made available in KAIZEN for its users to implement into their projects.

There are several advantages to decentralizing a chat system. For instance, it introduces no central point of failure, hence, a stable and secure server that is distributed among peers. Compared to centralized solutions like Facebook Messenger, where over millions of users are being hacked cumulatively, a decentralized chat system is significantly better in protecting its user. And without a central authority who can enforce strong censorship and control, users of the application can have full control over their states, enabling them to send and receive messages without getting monitored by anyone else.

Nonetheless, centralized solutions do have their advantage over the decentralized ones, and the point of creating a decentralized application is not to compete with the centralized one, but to provide an alternative, or a tradeoff, for users to select between the one that fits their needs best. Moreover, the two of them could be implemented together as a hybrid solution to encourage more mainstream adoption to the blockchain field, as decentralization certainly deserves its place in various respective areas, but are overly underdeveloped at the current stage.

The core of Web 3 applications is not about efficiency. Instead, Web 3 is about POWER, a tradeoff between convenience and CONTROL.

With this in mind, we went ahead to develop the system, utilizing each project’s technology to optimize different functions of the system. This includes:

Bluzelle for decentralized data storage

The chatting system’s message history is stored using Bluzelle. These data are sharded into pieces among the nodes within the network, and only the users involved would be able to piece it back and view the complete history. It is secure, private and completely controlled by users.

NKN for decentralized communication

The communication between users is transmitted through the NKN network. Instead of relying on a centralized websocket server to send the digital data, we rely on the nodes within the NKN ecosystem to efficiently, and cheaply process the real-time p2p communication.

Noia Network for decentralized CDN

Noia Network will work as the CDN (Content Delivery Network) for the chatting system to speed up the content download between users. For instance, when a user sends a file in a chat, it will first be uploaded to IPFS, then cached into nodes within the Noia Network that are available across the world. When a user requests to download the designated content, the system will fetch the file from the closest available node.

Portal Network for BNS

Last but not least, Portal Network’s BNS (Blockchain Name Service) standard makes the chat system more accessible for regular users. The core of this technology is to make usernames easier within the decentralized application. So instead of the default alphanumeric addresses ‘0xC6A7…8BdD9’ used in every blockchain environment, user-friendly names like ‘user123.eth’ are applied in the system. This eliminates any human error that is prone to occur when signing up, logging in, or interacting with another user. It makes user identities much easier while maintaining all the decentralized characteristics.

D-Chat demo — login interface

D-Chat demo — chat interface

Developers from four different projects — Bluzelle, NKN, Noia Network and Portal Network

KAIZEN CLI Update

Live demo of KAIZEN CLI

The second focus of the SF workshop is the KAIZEN CLI update. KAIZEN CLI is a developer interface for developing a decentralized application on the KAIZEN platform. It can generate initial templates and it contains different options for tools and libraries such as React.js, Vue.js and more. For instance, developers can use `kaizen add --package package_name` to easily add packages to their projects. Furthermore, users can now generate a chat system that combines all the decentralized services we have just mentioned!

Try now at KAIZEN CLI!

The Future of KAIZEN

The San Francisco Workshop ended with a great success. The synergy among the four projects showed a great potential towards making more blockchain solutions available for developers around the world; the POC that the participants demoed to the public provided a solid guideline on how KAIZEN can facilitate each protocol to drive a mass developer adoption. We believe, by implementing great technologies and tools into a single platform, we can foster the growth of this nascent, yet promising, blockchain industry.

Last but not least, all of our current projects are open source, so feel free to contribute and get involved. You may give us your opinion on the decentralized infrastructures we are building, or recommend us any other projects that we can collaborate with.

Your opinion is highly appreciated. Thank you for reading.