I would like to request funding to allow me to continue working full time on Grin.
This request is for a standardized monthly “yeast unit” for a period of 3 months (April to June 2020) at €10k/month.
I have been involved in Grin since mid 2017, initially unfunded and on a purely voluntary basis.
My first PR on Grin was back in Aug 7, 2017 - https://github.com/mimblewimble/grin/pull/87
Approximately 12 months ago an opportunity for external funding arose, allowing me to focus on contributing to Grin.
This opportunity has now ended and I am making this request to allow me to continue.
I would like to see payment channels (think Lightning or similar) built on Grin and one thing preventing this today is a robust “relative locktime” implementation.
My aim over the next few months is to continue focusing on this problem and to get the “No Recent Duplicate” (NRD) kernel proposal finalized, implemented and released as part of the scheduled hardfork in
4.0.0. This involves consensus breaking changes and we want to take advantage of the next scheduled hardfork to deploy this.
We have spent a significant amount of time over the past 12 months thinking through and considering various approaches to relative locktimes.
There are many ways this could be implemented, most of them a poor fit for Grin, specifically around data requirements and our ability to prune historical data.
We do not want to affect the prunability of Grin when adding new features.
We believe NRD kernels provide significant benefits while preserving this core tenet of Grin and Mimblewimble in general.
With NRD kernels we can enforce relative locks between kernels with minimal network, local storage and validation overhead.
- Final “relative timelock” RFC based on NRD kernels
- NRD kernel implementation
- Rollout/Release planning, specifically related to consensus breaking changes for 4.0.0 HF
Note that this is not intended as an exhaustive list. My involvement in general Grin development, discussions and PR reviews etc. will continue as before.