Open Grant Program Categories and Scope of Work for Applications

Nervos is building the infrastructure for the decentralized economy and we can’t do it alone. The Grants Program was created to empower innovation and development, and to support the growth of a diverse and thriving ecosystem.

Our long term vision for Nervos is to be fully decentralized in all aspects and community led. Part of our journey to achieving this is bootstrapping and empowering individuals, projects and teams who share a common vision for the network.

If you share our vision, and have the experience and skills to deliver on any project within the scope of a grant category currently open below - we invite you to apply for funding and join us as we build out the Nervos Ecosystem.

Visit the website or Nervos Talk thread for details on how to submit a grant request.

The categories and scope of the grants program will be broad and across all aspects of ecosystem development to allow anyone around the world the potential to join the community and help grow the Nervos Ecosystem.

Initial grants open for application focus on infrastructure building and developing the foundation from which the network and ecosystem can grow. Each grant category has a scope of work for that specific category to give guidance and recommendations for potential applicants. If you have suggestions for categories, scope of work, feedback or anything else, feel free to discuss in this thread.

Information on open grant categories and scope of work within each category is detailed below. This thread will be updated as more grants categories and scope open up through 2020 and beyond including:

  • Infrastructure grants
  • Marketing & community grants
  • App and use case grants
  • Sponsorship and promotion grants
  • Scholarship, bursary, research and personal grants

Currently Open Grant Categories & Scope of Work

Dev Infrastructure scope of work

  • Light client protocol

    • Sub-linear proof-of-work verification protocol that allows light client to sync block headers in sub-linear time
    • State query protocol that allows light client to query any state from full node efficiently, securely and with privacy
  • Interoperability between Nervos CKB and Bitcoin and Ethereum

    • Atomic Swaps
    • Trustless cross-chain asset transfers
  • Crypto primitives transplanted to the CKB

    • Hash functions that bridge different blockchains to verify their block headers and transactions, like keccak256 for etheruem
    • Signature algorithms for various authorization scenarios, like BLS, Schnorr, RSA, and so on
  • Smart contract language and tooling

    • Compilers which compile existing languages to ckb-vm executable
    • Interpreters for existing languages which can run in ckb-vm
    • DSL or framework designed specifically for CKB’s programming model to make generator/validator programming more convenient and secure
    • Productivity tools such IDE, debugger, etc.
    • Dynamic Linking for code reuse
  • Mining pool

    • Open source mining pool project that allows miners to choose which transactions to include, e.g. a mining pool that supports Stratum V2 and/or BetterHash
  • CKB SDKs and Middleware

    • SDKs for different languages
    • Configurable and extensible transaction and cell parsers to facilitate dApp developers
  • UDT related ecosystem support

    • UDT dev tools
    • UDT examples & UDT-based dApp development
      • Token Swap
      • Payment Channel
  • Wallet Development

    • Hardware Wallet Integration
    • High performance wallet (with auto swap stable coin, one click Nervos DAO)
  • NervosDAO related dApps

11 Likes

Could this include fully-decentralized and open source projects as well?

Hi Kaitie,

Yes, projects should be open source, and built on CKB so decentralized too.

Removed. I meant to reply to the general query and not Ben’s response.

Good Morning -
In terms of the Nervos protocol, what is its status? Is it complete or is it still in development? Would the verification of specific properties be of interest (ex. Safety and/or liveness)?
With respect to smart contract tooling, what language will developers be expected to use to write contracts?
Thanks!

Hi @pmackay Sorry for replying late.
Nervos mainnet have already launched since last Nov 2019,so the layer1 protocol have been successfully implemented. NervosCKB is the layer1 for layered architecture blockchain, so it must be guaranteed that is safe and permissionless.
That’s why we choose POW and invent consensus based on Nakamoto Consensus.
And right now our tps of layer1 is 100~200,which is faster 10 times than Eth.
In the future,more and more layer2 would be implemented on NervosCKB.

When we talk about smart contract, you can use any kinds of language to write smart contract on CKB as long as our VM can read. Because we develop CKB-VM by ourselves and use RISC-V technology.

When you dive into it,you can find that you are able to use any cryptography primitive you want in the Cell Model(a generalized UTXO we developed ).Right now numerous language SDK is developed by Nervos team and community.like JS,Ruby and C.And our IDE have prepare to release new version that can allow devs use both C and JS to program smart contract (script) on it.

I will paste some linking about what I introduce later.
welcome to apply for grants if you have any idea for infrastructure !

2 Likes

There is a great document you could check, for more details about Nervos

Hi @Ben,

I wanted to check in what ideas from the above list are currently relevant in time for Nervos ecosystem and what might be stale given the post was written 6 months back.

A fresh list - would help me and other new contributors to space identify what areas/scope that are relevant in time to start their research deep dive - would be much appreciated :pray:

2 Likes

Hello there!
makosch from EverdreamSoft here, I’m new… interested in Nervos Grants…
Where can I find an information about which scope of work are currently open for the app and use case category?
Thanks!

Hi @makosch and @prastut , this is by no means an authoritative list of potential grant scope, but I have done my best to outline the current status of the previously proposed infrastructure grant categories and outstanding opportunities. Looking forward to your questions and potential grant submissions.

  • Light client protocol

    • Sub-linear proof-of-work verification protocol that allows light client to sync block headers in sub-linear time
    • State query protocol that allows light client to query any state from full node efficiently, securely and with privacy

    There is some work within the core development team on light clients, however expertise implementing FlyClient and in proof-of-work system security could be useful, 2 grant projects, here and here have been proposed on this subject, however they did not address the challenge of adapting FlyClient to work with NC-MAX as described in this post.

  • Interoperability between Nervos CKB and Bitcoin and Ethereum

    • Atomic Swaps
    • Trustless cross-chain asset transfers

    The toCKB framework is under development now, it addresses interoperability in creating bridges between chains (SPV validation on both sides for Ethereum<->CKB for instance), however atomic swap solutions and possibly other development frameworks building on toCKB could be possibilities.

  • Crypto primitives transplanted to the CKB

    • Hash functions that bridge different blockchains to verify their block headers and transactions, like keccak256 for etheruem
    • Signature algorithms for various authorization scenarios, like BLS, Schnorr, RSA, and so on

The SECBIT zk toolkit implements a wide range of zero knowledge primitives, the Lay2 team has deployed Keccak, and there has been a project to bring RSA verification to CKB, however I am not aware of any projects related to BLS or Schnorr. In general, if you have expertise in optimizing cryptographic algorithms, there is an opportunity for a grant proposal.

  • Smart contract language and tooling
    • Compilers which compile existing languages to ckb-vm executable
    • Interpreters for existing languages which can run in ckb-vm
    • DSL or framework designed specifically for CKB’s programming model to make generator/validator programming more convenient and secure
    • Productivity tools such IDE, debugger, etc.
    • Dynamic Linking for code reuse

Obsidian Labs built the CKB Studio IDE and is currently working on adding web IDE functionality and support for Rust contracts, if you see any missing pieces of a developer experience after reviewing CKB Studio there may be an opportunity for a grant proposal. Compilers and interpreters for existing languages is still a very open category. There is a DSL in progress from the core dev side however if you have experience in creating programming languages I am sure the community would be happy to hear about your ideas.

  • Mining pool

    • Open source mining pool project that allows miners to choose which transactions to include, e.g. a mining pool that supports Stratum V2 and/or BetterHash

    Grant proposal submitted for this scope of work by Insight.

  • CKB SDKs and Middleware

    • SDKs for different languages
    • Configurable and extensible transaction and cell parsers to facilitate dApp developers

The Lay2 team created pw-sdk, to connect the web3 development ecosystem to CKB and Lumos does a great job at cell parsing, however SDKs is a wide area and this seems to still be a very open category for useful ideas.

  • UDT related ecosystem support
    • UDT dev tools
    • UDT examples & UDT-based dApp development
      • Token Swap
      • Payment Channel

Tools for minting UDT’s are under developed by the foundation. As far as payment channels go, there has been a design proposed that is currently being implemented by a research team. If you have experience in building payment channels a grant proposal could be valuable.

  • Wallet Development
    • Hardware Wallet Integration
    • High performance wallet (with auto swap stable coin, one click Nervos DAO)

Ledger hardware wallet integration has been built by the Obsidian Systems team and is also being implemented in the Neuron wallet by the core development team. Synapse has developed a browser extension wallet, Lay2 has developed ckb.pw to support a number of different wallets, if after reviewing these you see additional room for wallet functionality, please submit a grant proposal for consideration.

  • NervosDAO related dApps

The Nervos DAO offers inflation compensation based on locked tokens, this compensation could be directed to a service provider or public benefit project. Adding governance using DAO deposits is also an option. If you see any useful designs that could be used across different applications for governance/funding, looking forward to any grant proposals.

2 Likes