Skip to content
nervosnetworkPublic

About

This repository contains proposals, standards and documentations related to Nervos Network.

Topics

Resources

Stars

271 stars

Watchers

35 watching

Forks

Latest commit

 

History

1,025 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nervos Network RFCs

This repository contains proposals, standards and documentations related to Nervos Network.

The RFC (Request for Comments) process is intended to provide an open and community driven path for new protocols, improvements and best practices, so that all stakeholders can be confident about the direction of Nervos network is evolving in.

RFCs publication here does not make it formally accepted standard until its status becomes Standard.

Categories

Not all RFCs are standards, there are 2 categories:

  • Standards Track - RFC that is intended to be standard followed by protocols, clients and applications in Nervos network.
  • Informational - Anything related to Nervos network.

Process

The RFC process attempts to be as simple as possible at beginning and evolves with the network.

1. Discuss Your Idea with Community

Before submitting a RFC pull request, you should send the draft to community to solicit initial feedbacks. The #rfc-chat discord channel or Nervos Talk are both good places to go.

2. Create A Pull Request

After discussion, please create a pull request to propose your RFC:

Copy 0000-template as rfcs/0000-feature-name, where feature-name is the descriptive name of the RFC. Don't assign a number yet. Reserve a RFC number in this issue.

Nervos RFCs should be written in English, but translated versions can be provided to help understanding. English version is the canonical version, check english version when there's ambiguity.

Nervos RFCs should follow the keyword conventions defined in RFC 2119, RFC 6919.

A RFC should be put in either Informational Track or Standards Track. A RFC on Standards Track is a technical specification for software developers to facilitate an interoperable ecosystem. A RFC on Informational Track is a descriptive document providing necessary and/or helpful information to users and builders.

A RFC on Informational Track has 3 statuses:

  1. Draft (initial status)
  2. Withdrawn
  3. Final

A RFC on Standards Track has 5 statuses:

  1. Proposal (initial status)
  2. Active
  3. Withdrawn
  4. Rejected
  5. Obsolete

3. Review / Accept

The maintainers of RFCs and the community will review the PR, and you should update the RFC according to feedbacks. When a RFC is ready and get enough supports, it will be accepted and merged into this repository. The acceptance of a RFC is based on rough consensus at this early stage, we'll keep improving it as the network and ecosystem develops, until we reached the decentralized governance stage.

RFCs

Number Title Author Category Status
1 The Nervos Network Positioning Paper The Nervos Team Informational Final
2 Nervos CKB: A Common Knowledge Base for Crypto-Economy Jan Xie Informational Final
3 CKB-VM Xuejie Xiao Informational Final
4 CKB Block Synchronization Protocol Ian Yang Informational Final
5 Privileged architecture support for CKB VM Xuejie Xiao Informational Withdrawn
6 Merkle Tree for Static Data Ke Wang Standards Track Active
7 P2P Scoring System And Network Security Jinyang Jiang Standards Track Withdrawn
8 Serialization Boyu Yang Standards Track Active
9 VM Syscalls Xuejie Xiao Standards Track Active
10 Eaglesong (Proof-of-Work Function for Nervos CKB) Alan Szepieniec Standards Track Active
11 Transaction Filter Protocol Quake Wang Standards Track Withdrawn
12 CKB Node Discovery Protocol Linfeng Qian, JinYang Jiang Standards Track Active
13 get_block_template Dingwei Zhang Standards Track Active
14 VM Cycle Limits Xuejie Xiao Standards Track Active
15 Crypto-Economics of the Nervos Common Knowledge Base Kevin Wang, Jan Xie, Jiasun Li, David Zou Informational Final
17 Transaction Since Precondition Jinyang Jiang, Ian Yang, Jordan Mack Standards Track Active
19 Data Structures of Nervos CKB Xuejie Xiao Informational Withdrawn
20 CKB Consensus Protocol Ren Zhang Informational Draft
21 CKB Address Format Cipher Wang, Axel Wan Standards Track Active
22 CKB Transaction Structure Ian Yang Informational Draft
23 Deposit and Withdraw in Nervos DAO Jan Xie, Xuejie Xiao, Ian Yang Standards Track Active
24 CKB Genesis Script List Dylan Duan Informational Final
25 Simple UDT Xuejie Xiao Standards Track Proposal
26 Anyone-Can-Pay Lock Xuejie Xiao Standards Track Proposal
27 CKB Block Structure Ian Yang Informational Final
28 Use input cell committing block timestamp as the start time for the relative timestamp in since Ian Yang Standards Track Active
29 Allow Multiple Cell Dep Matches When There Is No Ambiguity Ian Yang Standards Track Active
30 Ensure That Index Is Less Than Length In the Input Since Field Using Epoch With Fraction Ian Yang Standards Track Active
31 Add a variable length field in the block Ian Yang Standards Track Active
32 CKB VM Version Selection Ian Yang Standards Track Active
33 VM version1 Wanbiao Ye Standards Track Active
34 VM Syscalls 2 Wanbiao Ye Standards Track Active
35 P2P protocol upgrade Chao Luo, Ian Yang Standards Track Active
36 Remove Header Deps Immature Rule Ian Yang Standards Track Active
37 CKB Consensus Change (CKB Edition Mirana) Ian Yang Standards Track Active
39 Cheque Lock Dylan Duan Standards Track Proposal
42 Omnilock Xu Jiandong Standards Track Proposal
43 CKB softfork activation Dingwei Zhang Standards Track Proposal
44 CKB Light Client Protocol Boyu Yang Standards Track Proposal
45 CKB Client Side Block Filter Protocol Quake Wang Standards Track Proposal
46 CKB VM Syscalls Summary Shan Informational Draft
48 Remove Block Header Version Reservation Rule Dingwei Zhang Standards Track Proposal
49 VM version2 Wanbiao Ye Standards Track Proposal
50 VM Syscalls 3 Xuejie Xiao, Jiandong Xu, Wanbiao Ye, Dingwei Zhang Standards Track Proposal
51 CKB Consensus Change (CKB Edition Meepo) Dingwei Zhang Standards Track Proposal
52 Extensible UDT Xuejie Xiao, Xu Jiandong Standards Track Proposal
53 Nervos CKB Hardfork Dingwei Zhang Standards Track Draft
54 VM version3 Wanbiao Ye Standards Track Draft
55 CKB_TX_MESSAGE_ALL Xuejie Xiao Standards Track Proposal
56 Arbitrary multisig Xuejie Xiao Standards Track Proposal

License

This repository is being licensed under terms of MIT license.

About

This repository contains proposals, standards and documentations related to Nervos Network.

Topics

Resources

Stars

271 stars

Watchers

35 watching

Forks

Releases

Packages

Used by

Contributors

Languages