In early 2019 I proposed that we should build an independent set of documentation for the Bitcoin Cash network. While it would take several months until the right talent would be found to initiate this work, in late 2019 at the Bitcoin Cash City conference, that talent was discovered.
After some months of work and some initial hurdles the website reference.cash has been put online and the content is available under a Creative Commons license.
Sponsors of JonathanSilverblood
I had high hopes for the benefits that this documentation would bring but I was somewhat misguided on the amount of effort this task actually represents, and as such I did not set a budget of appropiate size.
I've since learned that this documentation is more important than I initially imagined since it represents in action, one of the underlying fundamental ideas of I see in Bitcoin Cash - that the network is open to anyone and that competition is welcome.
It is trivial to merely express that you are for an open competitive network and multiple node implmentations. It is much more difficult to act in a way that fosters and builds an ecosystem where that becomes a reality. Having an open, public, accurate and up-to-date specification for the network, the documentation if you will, is critical if you want developers to feel productive and confident. If you ask any programmer how they feel about using external libraries or systems that either have no documentation, or have mixed and incorrect documentation, you will get the same response:
it's not fun. it's not good. it's not worth their time.
I want the really good developers, that rare talent in the world, to look at our documentation and practices and feel empowered and eager to experiment. When you're building for a network based on consensus, your world is more black and white than most people would appreciate. If you don't have good documentation, chances are you will feel doubtful about your ability to participate in a way that matches consensus - after all, with poor documentation you'd have to go the trial-and-error path, which is long and ardous.
Sadly, the truth is that I am not the talent to build this documentation. If I could, I would've been on this from the get go with all my heart. For now, I will do the next best thing though: I will contribute where I can, and I will keep telling people that we should absolutely do our best to keep those who can write this documentation well supported in that endeavor.
The budget for BUIP121 - writing the formal specification - was misguided. There's work done, and there's talent ready to do more, so I have written two new proposals to Bitcoin Unlimited to extend this funding, and to extend the work to also include testing data, which can be used to form something of a validation suite that allows new actors to gain confidence in their ability to stay in consensus.
This article however, is not to encourage people to go vote on those BUIPs, instead the purpose here to help spread a bit of awareness of community aspect of the documentation and encourage people to take a look at https://reference.cash/ and hopefully contribute, even if it's minor changes.
I wish the best of all to all participants in this ecosystem, past, present and future, and hope that for 2020, more people will step up to contribute.