CoZ Software Bounty Program

Ethan Fast
Proof of Working
Published in
3 min readMay 2, 2018

The City of Zion is excited to announce our first software bounty program. Through this program, we aim to encourage the targeted development of open source software that will benefit our community and ecosystem.

The first bounty we are announcing is a $50,000 reward for consensus improvements. Read below for more details.

How does the program work?

One or more developers who create software that best meets the specifications of a bounty will receive a large award, indexed in USD and paid in a combination of NEO and GAS.

Who is eligible to participate?

Absolutely anyone, provided they develop an open source project that meets our specifications and agree to transfer it to the CoZ github organization.

What if multiple projects are developed that meet the requirements?

After the first project is submitted that meets the requirements, we will wait two weeks to allow anyone else working on projects for that bounty to submit their implementations. We will then award the bounty to the project that best meets our requirements. (Contributors to the first project can continue to improve it over this two week period.)

Will I be rewarded for contributions made to a project while it is being developed?

Yes. If you work publicly on a project that meets the goals of the bounty, any github PRs can be submitted to CoZ’s weekly rewards cycle.

How will rewards be distributed across contributors to the winning project?

We will apply the Creddit allocation algorithm, a peer-to-peer voting process that has been shown to fairly distribute credit across large projects.

I have a question that was not answered here, where can I find help?

Please join the NEO discord and ask in the public coz_bounty channel.

Bounty #1: Alternative Consensus Implementations

We would like to explore improvements to the dBFT protocol used on the NEO network. To do this, we are asking the community to develop documented, performant, and well tested code that can be leveraged by NEO nodes in the future to make the network faster. Specifically, this bounty is interested in code implementing an alternative protocol such as HoneyBadgerBFT, BFTRaft , or FastBFT and exploring its performance characteristics.

We are not asking the community to develop a full consensus node under this proposal. We are seeking code that demonstrates the performance characteristics of many approaches to consensus. Ideally, this code can be ported and reused in future node implementations.

Reward: $50,000 USD

Specifications:

  • You can use any language, but we would prefer Python, Go, or C#
  • Submissions will be evaluated on documentation. The more well documented, the better. Ideally, each function in the codebase will have a clear explanation.
  • Submissions will be evaluated based on test cases. The more the better.
  • Submissions will be evaluated on how clearly they demonstrate the performance of the consensus implementation. Specifically: (1) How many transactions per second with different numbers of nodes? (2) How does performance change under different network conditions? (3) How does performance change given faulty nodes?
  • Submissions will be evaluated on performance (in tps).
  • Submissions will be evaluated on the quality of the abstractions created, and how easily they might be applied to a new consensus implementation. (See this Raft implementation for a good example of highly portable consensus code).

--

--