NULS- Open Source Customizable Modular Blockchain

in #utopian-io5 years ago

wp2.png
Image Source


https://github.com/nuls-io/nuls


There is a steady development of innovation directly from human progress to as on date and the new technologies are advancing at a quicker rate than the human may ever have thought of. Out of such a large number of technologies, just a couple have gone on for quite a long time which really gave an answer for the different issues. One such innovation is a Blockchain innovation. Over the most recent two decades, the physical world is endeavouring to advance into a digitized world and that, in fact, is a need to oblige the different needs of new ages. Blockchain innovation is fundamental to understand an advanced world, to manage the administration of digitized resources, to value transfer in a trustless environment and through a distributed system.

Blockchain is a technology which is fundamentally based on encryption and peer to peer distributed ledger. This technology is such a powerful technology, that offset the traditional third party based centralized technology. It works in a way similar to that of worldwide internet connection and the value transfer can happen in a trustless environment. We are sending so many things over the internet through a centralized server, where the data is routed through a centralized server before being delivered to the desired beneficiary. Blockchain technology removes this centralized server and makes the transaction happens in a peer to peer distributed ledger.

In this context, we can say, the future is trustless with Blockchain technology but the application of Blockchain technology has not yet converged to a point where the users or enterprises will find it as easy as operating a smartphone or a laptop. So the Blockchain technology is still perceived as a high-level tech savvy technology on its application part and unless the composition of blockchain technology is modularized, the entry level will not be that easy and it will continue to be perceived as a technological barrier for its application in real-world domain.

wp3.png
The goal to ease off the complex application interface of Blockchain technology introduces NULS architecture which makes the application/implementation of Blockchain technology easy by decomposing the blockchain into different modules. The user/enterprises can choose the modules of their choice and customize it as per the need of their business principle. With the available developer tools of NULS, a sub chain can be tailor-made for a user/enterprise.

With NULS Blockchain, one can save a lot of time. The modular Blockchain of NULS and the principle of parallel expansion can really expedite the application of Blockchain technology in the commercial sector in a better way. Now the Blockchain technology can be affordable for everyone without having to know the technical aspect of Blockchain. Enterprises willing to adopt Blockchain technology to their business principle can do it now by easily with NULS modular Blockchain.

wp4.png
The break down of typical Blockchain results in various components- ledger, smart contract, account, storage, consensus etc. These components in NULS are known as modular components of the Blockchain, which are quite flexible and customizable as per the requirement of the user. That is why the blockchain of NULS is known as modular Blockchain. The modular Blockchain of NULS consists of:-

  • Micro-kernel
  • Functional Module

In NULS, the Blockchain is decomposed into various modules. The various built-in modules of NULS are:-

Database Module

The database is maintained through the service interface.

Cache Module

It provides caching functionality for the entire NULS system, including creating and manipulating cached data.

Network Module

The primary function of the Network module is communication services for NULS Blockchain, p2p nodes management, sending of network data to the event bus.

Account Module

The basic function of the Account module includes operating, creating, importing, exporting, password setting of an account. NULS account can be shared by both main-chain and sub-chain.

Event Bus Module

The basic function of the Event Bus Module includes sending, receiving, filtering, distributing, publishing/subscribing events.

Consensus Module

This module is responsible for maintaining consensus operation, block verification, consensus reward calculation, reward distribution, transaction fee calculation, punishment to nodes in case of violation.

Ledger Module

It is the accounting book for the transaction of all the blocks. It also defines basic operation related to NULS token transaction.

wp52.png
Image Source

Module Manger, Service Bus & Event Bus-- These three components constitute NULS Micro-Kernel. The micro-kernel manages all the modules.

Module Manager is responsible for loading and unloading of all modules from the chain.

Service Bus is responsible for service handling of each module.

Event Bus is responsible for publication/subscription of module events. The events in NULS network are of two types:-

  • Local Event- Event within a node
  • Network Event- Events between the different nodes within the network

wp55.png
Image Source

The data structure of events in NULS network happens through different layers like Logic Layer, Module Layer, Cross-chain Layer. This layered data structure of events further improves the scalability of NULS Blockchain.

Internal Implementation within each module is visible only within its modules so that the upgradation of each module can be done without interfering any other module.

wp54.png
Image Source

The modular design of NULS consists of:-

  • Definition
  • Implementation

Definition is public where as implementation is private.

Each module has the provision to upgrade to the advancement of technology and the interaction between different modules happen through Event Bus and Service Bus.

The function of NULS micro-kernel is accomplished in four ways:-

  • Module Management
  • Task Management
  • Service Management
  • Configuration Management

wp53.png
Image Source

Module Management

The function is to manage the life cycle of all modules in NULS nodes.

Task Management

The function is to process all the tasks such as : NULS Process & NULS Thread

When a module is created, its main process is also created which is known as NULS process. A module performs various tasks and those tasks are mapped into NULS thread which has an identification number and a thread name.

Service Management

The function is to manage all the services. This interface is somewhat developer oriented. Service manager provides service registration information for module developers.

NULS structure has the flexibility to the developers as well. A developer is free to develop its own application module. Different developers can develop different modules and the different module in NULS network will be able to communicate through event-driven communication.

wp5.png
NULS structure consists of main-chain and sub-chains. While main-chain is based on a consensus protocol PoC-Proof of Credit, the sub-chain consensus is as per the choice of the user and the user is free to choose any of the available consensus mechanism of any blockchain project.

The user or enterprise can have all readily available resources from Module Library and get their chain customized with their own set of parameter suitable to their business principle. This structure of NULS saves a lot of time for users/enterprises and also makes it cost effective. This where NULS can change the game. This is key for mass adoption.

The enterprises can build their dApps in sub-chain, can create their own token(by staking in NULS token), can code their own consensus, can make a business transaction with the use of smart contract of NULS, NULSVM, which supports all programming languages.

PoC

Proof of Stake along with a credit rating is known as Proof of Credit. Credit Rating is a coefficient to measure the integrity and trustworthiness of a user running the node. There are two types of alert- Yellow Card and Red Card.

Yellow card Alert is issued as a consequence of violation in the context of computer crash or internet disconnection which is primarily not intended to attack the network. As a consequence, the fund is locked for 3 days and credit rating also downgraded.

Red card Alert is issued as a consequence of hostile attack to the network and in such a case, the user's credit rating is heavily downgraded in such a way that the user can not participate in future again. Fund is also locked for a period of 30 days.

Sub-chain

The sub-chains of NULS is the main attraction of the whole ecosystem, as the users/enterprises can customize their own sub-chain, they can set their own consensus protocol, they can make their own choice of anonymity, whether to remain public or private is absolutely at their discretion, they can have their own wallet, they can have their own dApps, whether to make it permission-less or permissioned is up to them. The customizable sub-chains is something to reckon with as far as Blockchain application is concerned and this feature of NULS acts to bridge the gap between blockchain technology and commercial application. This interface makes the entry level of Blockchain application easy.

wp59.png
Image Source

NULS token is the token of main-chain and the sub-chain token can be customized as per the user's requirement. NULS tokens and other customized tokens of different sub-chains can be able to circulate between main-chain and sub-chain.

wp6.png
Verification of blocks in the main chain & sub-chain happens through cross-chain consensus.

C3D-Cross-chain consensus domain

Part of the main chain domain and part of the sub-chain domain constitute the cross-chain domain. The trans-chain transaction becomes possible through the nodes of cross-chain consensus domain.
wp56.png
Image Source

C3N-Cross-chain consensus nodes

The nodes which are common to both main-chain domain and cross-chain consensus domain, as well as the nodes common to both sub-chain domain and cross-chain consensus domain, are known as cross-chain consensus nodes.
wp57.png
Image Source

Example

A, B- Main-chain nodes
C, D- Sub-chain nodes

The main-chain and the sub-chain are interlinked through cross-chain consensus domain, so here A,B,C,D forms the cross-chain consensus domain.

wp58.png
Image Source

When a new block is generated, C & D nodes will collect the cross-chain transactions in the new block to make the cross-chain block broadcast to cross-chain consensus nodes, node C, node D to authenticate the integrity of data in the block. When node A & node B receive a cross-linked block, the node is validated to the nodes other than the broadcaster.

wp7.png
The data isolation and trans-chain audit features of NULS will ensure data confidentiality and security of sub-chain. So those organizations who are willing to adopt Blockchain technology yet concerned about data confidentiality can now adopt Blockchain technology through NULS structure where they can make their sub-chain private. The sub-chain of NULS can be made private or public and that depends upon the user's choice.

NULS structure audits the integrity of private sub-chain data with the main chain, so as to ensure confidentiality and integrity both. The private sub-chain or the public sub-chain will be able to interact with main-chain of NULS through cross-chain consensus.

wp8.png
With the multi-chain system of NULS, the main chain is always less burdened and the sub-chains act as an individual blockchain. However the sub-chain do interact with the main-chain of NULS with the technology and mechanism available in NULS so that economic principle of NULS remains homogeneous.

The flexibility in NULS structure is achieved by modularization of sub-chains, so that the users and enterprises are free to customize their own sub-chains and make it synchronized with their business principle.

The scalability is also enhanced by side-chains as the side-chains will be able to act independently with other sub-chains, it is definitely a big advantage for a multi-chain system to scale higher number of transactions per second.

The scalability and flexibility of NULS are further improved by filter chain. Filter chain allows partial processing of information of an event.

NULS can scale 2000 transactions per second and with the sub-chain mechanism it can scale up to 1 million transactions per second. The long-standing debate over the scalability of Blockchain now seems to get resolved with NULS structure.

The flexible application interface of modularized sub-chain will definitely help a lot in mass adoption and commercial application.

NULS Economy

wp9.png
NULS is the native token of NULS ecosystem. So the main-chain token is NULS whereas the sub-chain token will be created by the user/enterprises, but NULS ecosystem has been designed in such a way that the token of sub-chain will act as a contract token.

So all the business transaction can happen with the sub-chain token by the enterprises, but when the enterprises need to cash out they will have to rout through NULS token.

Therefore the functionality and execution in NULS happens through multi-chain system where the users with customizable sub-chains are free to build their own dApps and function independently to each other, but when it comes to economy of NULS structure, it behaves as a composite economic model so that the demand of NULS will always remain in the ecosystem and that is better for the NULS economy as well for further development and applications
.

wp60.png
Image Source

Total supply of NULS token is 100 million and 40 million is the circulating supply. The issuance of 100 million NULS token has been divided into four parts:-

  • Airdrop-40 million
  • Development Funding-20 million
  • Community Funding-20 million(Not more than 4 million to be used per year)
  • Business Cooperation-20 million(Not more than 4 million to be used per year)

To reward miners, 5 million NULS tokens will be created every year.

wp01.png

There is a construction company called GDC Ltd which basically undertakes construction projects in major industries like Steel plant, Cement plant, Power plant, Roads & Bridges. They are currently working in 21 different projects and they have a total employee of 5200 numbers. The construction industry is a very challenging industry and a booming industry also and GDC Ltd core principle always lies with adopting advanced technologies be it their own construction practice or be it their human resource management. The salary structure of the employees of GDC Ltd is somewhat performance-driven, and every month the employee get special bonus on the basis of their performance on that particular month.


GDC Ltd is already 21 years old in this business and they are now looking forward to the implementation of Blockchain technology. In the last board meeting, the CEO of GDC Ltd has asked the core team of Human Resource along with technical experts to submit a report on the feasibility study of adopting of a Blockchain technology especially for the managing the special bonus payment to the employees every month and the CEO has told that they will take this as a pilot project and if everything goes fine they will adopt it on a broad scale. They also want to have their own token called GDC which will be used for paying special bonus based upon the performance of their employees.


The CEO has specially given certain parameters to the team to evaluate a particular blockchain to suit their requirement. The parameters are "GDC Ltd should be able to use its own chain independently, they want to have their own token so that they can pay bonus to their employee, they want to keep the things decentralized, they want to prevent any kind of double spending, they want their own consensus protocol, they want to keep their own chain private, they want better scalability, they do not have much time to spend to design their own chain, so they are looking for ready-made resources".

The core team made a lot of research and finally shortlisted three chains namely ETH, NEO and NULS. Describe how the requirement of GDC Ltd can be fulfilled with the different variables/parameters set by GDC Ltd? Make a comparative chart based upon various parameter set by the CEO of GDC Ltd. Which chain is looking more promising for this use-case?


As indicated in this use case, the team after their research have shortlisted three chains namely ETH, NEO and NULS.

So let's first list out the basic parameters based upon which they will evaluate and choose a particular chain:-

  • They want a decentralized network.
  • They want to have their own token called GDC, which will be used to pay the performance bonus to their employee.
  • They want their chain to function independently.
  • They want to avoid any kind of double spending.
  • They want their own consensus protocol.
  • They want to keep their chain private.
  • They want better scalability.
  • They want readily available resources to build their chain.

We will go one by one and see how the three chains can suit the parameters of GDC Ltd.

(1) All the three networks namely ETH, NEO and NULS can fulfill the requirement of a decentralized network for GDC Ltd. However with the consensus protocol of NEO, it tends to be centralized.

(2) GDC Ltd want to create their own token called GDC which will be used to pay the monthly performance bonus to their employee, with ETH they can have their ERC 20 based token, with NULS also they can create their own token. ETH Smart contract VM works only with difficult programming language where as NULS VM will support any programming language. So in this parameter, NULS is relatively a better option.

(3) GDC Ltd wants its chain to function independently. With ETH they can create ERC-20 token and its functionality may not be the same with other available option and it all depends upon how customizable and flexible the side chain is. NULS can solve this dilemma for GDC Ltd as it has multi-chain system comprising of main-chain and sub-chain and the sub-chain absolutely functions independently to other chain in NULS structure.

(4) It wants to avoid double spending. This is possible with all the three networks, as any typical Blockchain can be able to avoid double-spending.

(5) They want to have their own consensus protocol. ETH consensus protocol is PoW, NEO cosensus protocol is dBFT and NULS consensus protocol is PoC in its main chain and the sub-chain can be customized to any consensus protocol as per the requirement of the user. So ETH and NEO cannot fulfil this criterion whereas NULS can fulfil this criterion perfectly. With NULS, they can even change or modify their protocol in future.

(6) They want to keep their chain private. It is not possible with ETH and NEO network, however, NULS network can fulfil this requirement of GDC Ltd. Although NULS is open source, its sub-chain can be customized in such a way that it can be kept private and can be kept public also. So it is up to the choice of the user.

(7) They want better scalability. ETH can scale 20 transactions per second, where as NEO can scale 10000 transactions per second and NULS with sub-chain mechanism can scale 1 million transactions per second. So in this parameter, NULS has got the upper hand as compared to the other two.

(8) They want readily available resources to build their chain. With ETH and NEO, it is not possible and with NULS it can be done by an ease. NULS is known for its modular Blockchain and one does not have to build his chain from scratch as the readily available modules can be obtained from the module library of NULS and GDC Ltd has to set their business parameter only so that the customized chain will function according to their parameters. NULS will save a lot of time and the developer's cost of building own chain for GDC Ltd and particularly in this parameter, NULS is unparalleled and it can solve the dilemma of GDC Ltd.

All these eight points were put in a graphical/chart representation and were presented upon, in the meeting with the CEO of GDC Ltd to take a final call on the selection of a particular chain to adopt for their human resource management.

wp71.png

From the above chart, the CEO got convinced that based on the different parameters set by the company, it is the NULS network which can fulfill the requirement of GDC Ltd, so the CEO finally took a call and decided to go with NULS network and the chain factory wizard of NULS made it possible for GDC Ltd to realize their own blockchain with their own terms.

wp10.png

wp61.png

The current status of Blockchain is facing problems like complex interface, synchronization issue, performance issue, data confidentiality issue which is hindering the performance from an application point of view in businesses. That is why even after 10 years of journey, we are unable to see a notable implementation in businesses. It is not like that the businesses or enterprises are not interested to adopt Blockchain technology, but the issues related to it are making them hesitant.

The challenges always bring innovation and NULS has re-architectured the Blockchain technology in to an open source modular blockchain where the all the readily available resources in the form of modules will be provided to the enterprises or businesses and they can customize their own blockchain with NULS multi-chain structure, they can build their dApps, they are free to make their own business principle to sync with their chain and they can be able to communicate with the main chain of NULS. NULS can also make it highly scalable which is key in business level propagation. NULS will also provide data security and safety. With NULS, the digital transaction across enterprises and businesses will be speedy and cost-effective too and it can happen in a decentralized way.

NULS modular Blockchain is going to set the road for the evolution of Blockchain technology into a widely adaptable Blockchain solution for the enterprises.

wp70.png

Sort:  

Hello, @crypto-wisdom!

Thank you for your contribution to Utopian. This is a very interesting project, and you managed to compose a well-illustrated blog post that contains tons of valuable information about it. Keep up the good work.

On the content side, you did a really good job. The post is detailed and extensive, and the content is unique and editorial. I was impressed by the vast amounts of information presented in your review, and I certainly learned a lot reading your work.

That said, the post did have issues of style and proofreading, and I'd be happy to cite a few examples in a follow-up comment, if you wish. Regardless, this is an amazing review, and I appreciate your commitment to quality.

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Chat with us on Discord.

[utopian-moderator]

Yes sir, if you can cite few examples of the issues related to proof-reading, then I will be able to correct that in my next contribution. So please.

Thanks

Hello!

I apologize for the slow reply. I will cite a few examples for you:

Blockchain technology removes this centralized server and makes the transaction happens in a peer to peer distributed ledger.

This sentence should read: "Blockchain technology removes this centralized server and makes the transaction happen in a peer to peer distributed ledger."

Enterprises willing to adopt Blockchain technology to their business principle can do it now by easily with NULS modular Blockchain.

I think you missed a verb before the word ''with''. Or maybe forgot to omit the word ''by''. This sentence should read: "Enterprises willing to adopt blockchain technology to their business principle can do it easily with the modular blockchain of NULS."

It also defines basic operation related to NULS token transaction.

This one should read: "It also defines the basic operations related to NULS token transactions."

I hope you will find this comment useful.

Have a good day!

Thank you for your review, @lordneroo! Keep up the good work!

Hi @crypto-wisdom!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server

Congratulations @crypto-wisdom! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You received more than 5000 upvotes. Your next target is to reach 6000 upvotes.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Hey, @crypto-wisdom!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Coin Marketplace

STEEM 0.19
TRX 0.12
JST 0.027
BTC 64886.88
ETH 3516.64
USDT 1.00
SBD 2.37