Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
285 lines (122 sloc) 17.2 KB
  NIP: 2
  Title: NULS Community Constitution
  Author: Reaper Ran <reaper@nuls.io>
  Discussions-To: https://nuls.community/d/251-nuls-community-constitution-discussion-draft-nuls-ncg20181207
  Status: Last call
  Type: Process
  Created: 2018-12-28

Preamble

Due to the development requirement of NULS and to better facilitate the favorable operation of the NULS community and to make blockchain technology easier with NULS, the NULS community will constantly seek and implement NULS community autonomy for the realization of self-governance and self-evolution. This Constitution is hereby formulated based on the NULS community culture and philosophy.

NULS community culture: openness, freedom, autonomy, evolution

NULS community philosophy: share, inherit, grow, innovate

The following rules will be based on the NULS development consensus governance module. The Council members and Ambassadors will be appointed by a vote within the NULS core team before consensus governance module is set in motion.

NULS Foundation

December 2018

Abstract

NULS community is an organization of a group of people who highly assent to NULS community culture and philosophy and have the same purpose and vision to work for the development of NULS community ecology. NULS community members include the NULS Foundation, Council members, contributors, the open-source technology community - CODE CRAFT COUNCIL (CCC) and other all NULS Holders.

Motivation

In order to build a good community operation mechanism, promote community autonomy, and promote the NULS project to enable the community to evolve and drive independently.

Specification

The following is a specification of the NULS Community Constitution.

NULS Community Constitution

I. NULS Community Profile

NULS is a blockchain infrastructure for customizable services and a global open-source community. The designed technical architecture of NULS consists of a micro-kernel and functional modules. With innovative ideas on reducing the main block chain and decoupling events and services, high modularization on underlying architecture is achieved. The NULS project, following the principles of hot plugging, modularization and parallel expansion, provides smart contracts, multi-chain mechanism and cross-chain consensus to reduce cost of development and use, and to promote the application of blockchain in the commercial field. With the proposal of basic framework containing modular thinking and multi-chain mechanism, NULS upholds the “chain” as its core development philosophy and is striving for building a core product - “Chain Factory” where users can select core function modules as they like to create their own blockchains on the NULS chain network and define their own business logic with little programming, to include smart contracts.

NULS community is an organization of a group of people who highly assent to NULS community culture and philosophy and have the same purpose and vision to work for the development of NULS community ecology. NULS community members include the NULS Foundation, Council members, contributors, the open-source technology community - CODE CRAFT COUNCIL (CCC) and other all NULS Holders.

II. NULS Foundation

NULS Foundation, short for the NULS FOUNDATION PTE. LTD. (201729333G), is a limited liability company incorporated in Singapore. It focuses on supporting the construction of NULS community ecology and technical research and development to promote the security, harmony and development of NULS community ecology, with the primary target of ensuring sustainable development of NULS Community ecology.

(I) Objectives of NULS Foundation

Give rewards to contributors, CCC members and members of other communities according to their contributions with the aim to promote development of community ecology and support the NULS community development, including but not limited to:

  1. Code writing
  2. Applications development
  3. Operation and promotion
  4. Other actions in favor of NULS community ecology development

(II) Source of NULS Foundation

20,000,000 NULS from the NULS and entrusted revenues from the contributors.

(III) Management of NULS Foundation

The NULS Foundation shall be managed and utilized based on the principles of fairness, justice and openness with respect to the development needs of the NULS Community ecology. NULS’ fund account is open to the community and subject to supervision of all community members. All proposals of incentives shall be managed under this Constitution and incentives may be given at the back end. The funds in the account shall be managed by the Foundation’s executives in its earlier stage, but then shall be handed over to the community for on-chain management once the governance mechanism is available on the chain.

III. Council members

(I) Introduction to Council members

As a member organization established under the Regulations on Foundation Management, NULS Community’s Council members shall be responsible for NULS Foundation’s objectives as well as the whole community and will add the roles into NULS self-governance model step by step.

(II) Appointment of Council members

The Council members, consisting of 11 members, is formed based on a popular vote within the community. The 11 Council members, which may be changed by proposal, shall be composed of 4 technology community developers (developer council member) elected based on a ballot participated by all developers; and 7 members elected by ballot within the community (standing council member). The top 4 in ballot within the developer community shall be elected and the remaining members shall be the first 7 in dynamic poll. Equivalently, there will be at least 4 core developers in the Council members.

  1. Application. All community members are allowed to run for a position in NULS community’s Council members. The participants only need to meet the following conditions: have at least 50,000 NULS in the application address and accept real-time supervision by the system; provide personal information, as detailed as possible and reserve at least 50,000 NULS in the application address; participants applying for developer council member shall retain at least 20,000 NULS in the application address.
  2. Voting. If the application is approved, all applicants will be ranked by votes from high to low and all NULS Holders can cast a vote. The voting right shall be assigned according to the token ownership accurate to the fourth decimal place. Token and voting right shall be inseparable. Each vote is allowed to select at least 4 developers and 7 Council members.
  3. Appointment. According to votes, the first 7 in the candidate list of Council members and the top 4 in the developers list shall be appointed as the Council members and the addresses of these Council members will be given the permission to put forward a proposal with respect to the system.
  4. Dropping out. If the NULS holdings in candidate’s address are less than 100,000, the candidate is deemed to drop out of the campaign and all the votes will be cleared without his / her presence on the candidate list. If the candidate exits the race of his / her own accord, all his / her votes will be also cleared without his / her presence on the candidate list. After dropping out, a new application shall be made if the application address wants to run for Council member again.

(III) Rights and responsibilities of Council member

  1. Proposal. Council member will be given the permission to put forward a proposal and the proposal will be charged 0.1 NULS. In addition, the proposal may be modified later. Proposal includes the following types:

    (1) Put forward a proposal to create the role of contributor and delete the role of contributor. The voting period will last 15 days and if the approval rating reaches 70%, the proposal will be executed; otherwise it will be invalid.

  • Role for campaign. The Council member shall put forward a proposal to create a role for campaign and provide fixed incentives or delegation. This role works in a similar way with the Council membership. One or more persons may be elected by ballot within the community to take on the role.

  • Permanent role. Put forward a proposal to create a role to give incentives or delegate. The community may vote for or against the assumption of the role.

    (2) Put forward a proposal to modify system parameters. The voting period will last 30 days and if the approval rating reaches 90%, the proposal will be executed; otherwise it will be invalid.

  • Adjustment of lower node agency commission.

  • Adjustment of transfer commission.

  • Adjustment of contract call commission.

  • Adjustment of Council member proposal commission.

  • Adjustment of adjustable system parameter in other systems.

    (3) Put forward a proposal to perform Foundation account operations. The voting period will last 15 days and that of the contributor role proposal will last 5 days; if the approval rating reaches 70%, the proposal will be executed; otherwise it will be invalid.

  • Delegation. For example, a Council member puts forward a proposal to delegate the node of an important role, the node rewards will be used to support the work to be performed by the role.

  • Fund transfer. For example, a Council member puts forward a proposal to transfer funds to financially support a community activity. The initial upper limit of transfer shall be 10,000 NULS and this parameter can be modified.

  • Node creation. For example, a Council member puts forward a proposal to create nodes with respect to developers and carry out a certain amount of delegation; the node rewards will be used to support the work to be performed by the developer.

  • Smart contract call. It aims to perform NRC20 token operation by calling the smart contract. For example, the Council member shall call the smart contract with respect to the CCC.

  1. Start a vote. Council member doesn’t need to pay a deposit if starting a vote and may initiate a vote of another type.
  2. Responsibilities of Council member.
  • Council member shall communicate with the community in good time.

  • Act in strict accordance with the community’s Constitution.

  • Share the same vision and purpose with NULS.

  • Take it as its own mission to protect community members’ interests.

Note: All community members shall take an active part in all proposals and voting because every proposal is critical to the development of the NULS project. As a member of NULS Community, every holder should participate in voting. The absence from voting of any member shall be deemed a waiver of the proposal or the voting right.

IV. CODE CRAFT COUNCIL (CCC)

(I) Introduction to the CCC

The CCC consists of core developers from the global NULS Community and those who are interested in blockchain technology and highly agree with the NULS philosophy. They will take part in underlying architecture development of the NULS project and create the technical ecology together with the core development team.

(II) Philosophy of the CCC

We stick to the following philosophy in the technology community:

  1. Equal: the technology community and core team are equal and work together for joint development.

  2. Synergetic: the technology community and core team co-build the underlying architecture and create NULS ecology together.

  3. Sharing:

  • The whole community shares the achievements of NULS technology.

  • The whole community shares the development dividend of NULS.

  • The whole community shares NULS’s influence and reputation.

  • The industry shares the technical innovation brought by NULS.

  • The industry shares NULS’s standard establishment to promote industry development.

  1. Fair: the gains of every developer are based on his / her ability and contribution to seek for fairness and justice.

  2. Innovative: strong technology community is the basic guarantee of innovative thinking of blockchain.

(III) Appointment of the CCC member

The joining of every CCC member shall be put to vote. Before that they need to present output worthy and recognized to include a period of adaptation (1 or 2 months generally).

The process of joining CCC is:

  1. Have a preliminary communication with a CCC developer to briefly introduce his / her own experience and skilled programming language.
  2. Select tasks they are interested in and capable of. We will let developers join in each development taskforce to work with each other.
  3. Leader of the taskforce will provide necessary documentary information to help developers start in an efficient, expedient manner. We also hope developers can maintain effective communication with one another for smooth, ease of work. About 1 month later, the developer who remains consistent with the work and produces a high-quality product, can file a node application with the technology community.
  4. After intense review by the technology community and core team, the developer will be one of the CCC if the application is approved.

(IV) Rights and responsibilities of the CCC member

  1. NULS hopes to build a module repository covering 80% of underlying technologies in the blockchain field. We aim to lower the entry threshold of blockchain industry by increasing the modules in the repository. In doing so, the enterprises will undertake a much lower chain issuing cost and users will find it easier to use chains. We believe that only in this way can blockchain technology become a part of our daily life.

  2. The technology community will work with the core team to build a brand new architecture – NULS 2.0, which will enable NULS modules to work independently and the low-coupling module shall interact via the interface defined by standard. Then, developers (regardless of development language) can use adept programming languages as long as they comply with NULS module standard to develop the functional modules they need to enrich the module repository.

  3. After that, NULS will launch Chain Factory, a chain creation tool based on the module repository. If the developer is very clear about parameters of the blockchain developed by himself / herself, like the consensus mechanism, block size and block producing time, even if he / she doesn’t have much understanding of the underlying technology, he / she can own a public chain within several minutes in 4 simple steps (of course consortium blockchain and private blockchain are available). The public blockchain development time, which is usually six months to one year, is greatly reduced.

  4. Technology community will take part in all of the work mentioned above. You can bring forward any suggestions and comments to our plans regarding the technology community.

  5. The CCC members, the same as the core team members, shall have the right to know, participate in, assent or object to project progress.

V. Contributor

(I) Contributor for campaign

Contributor role for campaign will be deemed a post in the community available for post-based recruitment and community supervision and management. The Ambassador is a contributor role for campaign and the current Ambassador campaign rules can be seen at nuls.community.

(II) Permanent contributor

Permanent contributor will be deemed a post in the community available for people-based post setting and community supervision and management.

VI. Project Budget

(I) With respect to contributor

Where the Foundation account operation is performed based on the approved proposal of a contributor role in accordance with the established requirements, the Council members shall put forward a proposal to start a vote. The voting period will last 7 days and if the approval rating reaches 70%, the proposal will be executed.

(II) With respect to other transaction funds

The Council members shall put forward a proposal to apply for other budget items. According to the proposal, The voting period will last 15 days and if the approval rating reaches 70%, the proposal will be executed as planned.

VII. Other votes

(I) Start a vote

  1. The Council member shall start a vote and only the transaction fee is required.

  2. Ordinary members shall cast a vote. Deposit (100 NULS now) + transaction fee.

(II) Vote by proxy

  • Anyone can delegate his / her voting right to an agent who shall cast a vote on behalf of him / her.

  • Any NULS user can be an agent.

  • Only primary agency is allowed; secondary agency is prohibited. Every NULS user is only allowed to delegate his / her own voting right.

  • The agency can be cancelled at any time and the vote that has been given will be revoked (voting in progress).

VIII. Feedback

We welcome all of your suggestions and comments on this Constitution. Please contribute your suggestions to the following URLs:

NULS community website: https://nuls.community

Feedback post: https://nuls.community/d/132-we-need-your-suggestions

You can’t perform that action at this time.