CloakCoin Developer Report — May 2019
Dear Cloak Community
The CloakCoin project has faced many challenges over these past five years and we are very thankful to the community for their ongoing support. Admittedly there have been some very difficult times and unforeseen circumstances that presented themselves during this period. But we are proud to say we are forging ahead in new ways to demonstrate our commitment to the project and strive to reach the next milestones on our roadmap.
Along with the coordinators and core team, Cloak developers are driven by passion and a keen interest in providing a true cash equivalent as we careen towards the digital dystopia of a cashless society. This project has evolved dramatically over the five years since its inception, and despite issues with development progress, one thing remains unchanged. Dedication.
Unfortunately in recent times, the challenges of day to day life have interfered and brought into question if the development team are even still onboard. Financial and family commitments are the obvious hurdles we’ve all faced most commonly, and as with any open source project, there’s always a need to find a sustainable balance.
Open Source Software is a gift
Crypto is unlike any other open source endeavour in history. Many people are unaware of the role that open source software (OSS) plays in society. For example the vast majority of the internet functions thanks to hundreds of software projects that were created by volunteers, and with luck, continue to be maintained free of charge. The injustice with the ‘Working For Free’ problem is that the world’s tech giants leverage OSS to their gain and quite often contribute very little in terms of maintenance and further development.
Essentially many of the capitalist opportunities presented by software depend heavily on maintainers who receive no funding whatsoever. With the advent of crypto, a new wave of investors essentially find themselves purchasing fractions of open source protocols, speculating on the future value created by said protocols in the event they fulfill promised utility. Despite raising millions in ICOs, many of the resulting ‘open source initiatives’ are yet to deliver promised utility, let alone show any business case or proven demand for the solutions pursued.
We’ve stated this many times, but CloakCoin is an open source project providing a means of protecting a basic human right that is threatened by the advent of surveillance capitalism. Having never raised money through an ICO we’ve created immense value at essentially no cost to those who choose to own a fraction of our community driven protocol. Fluctuations in price are the effects of a speculative market basing value on baseless promises of a Utopian future.
The Age of Surveillance Capitalism
The use-case for crypto with demonstrated demand is providing a digital equivalent for the imminent banning of physical cash. When we arrive at the universally cashless society, CloakCoin is ready, with a secure working product, stable network, and provable money supply for five years. Although progress has slowed of late, we’ve continued to maintain the OSS that is CloakCoin successfully and our passion for privacy remains.
This vision for what we can achieve as a team is what inspires our continued involvement and has also driven our recent discussions regarding strategy. We are currently in negotiations with external developers to assist us with specific projects that will help us reach milestones more quickly. This would be impossible without the dedication of Cloak team members willing to personally invest in these extra resources.
On that note, let’s take a look at what has been going on behind the scenes, other than brainstorming ways to get Cloak back on track and making good progress.
Work is still underway on upgrading the existing Cloak codebase by rebasing to Bitcoin 17.x. As mentioned previously, a lot of the initial groundwork has been completed in terms of basic communication with the network to allow syncing of blocks between existing [legacy] clients and the new ‘Phoenix’ client (based on btc 17.x).
As Bitcoin (and its default core C++ implementation) does not support Proof-of-Stake (PoS), it is necessary to migrate the existing PoS algorithm from the current Cloak codebase into the new rebased codebase. This work has been a little more laborious than initially hoped due to there being no other Bitcoin based coins with a similar PoS algorithm that have updated to the recent Bitcoin codebase.
Although Cloak plans to move to a new PoS algorithm in future (likely based on NavCoin’s) new PoS system, it is important that the existing legacy PoS systems remains supported in the new codebase in order to validate existing PoS blocks (and mine new ones) until the time comes for a hard-fork and a switch to the new PoS algorithm. The new PoS algorithm will increase the potential scope of Cloak in terms of functionality, opening up things such as the community development fund and on-chain governance for the future.
It is likely that the plan to concentrate on implementing core functionality as a priority will continue. What does this mean? In essence, the work is being carried out in a logical order, first implementing functionality related to sync, consensus, mining (PoW and PoS) and general wallet operations. Bespoke functionality such as Enigma sending (and related underlying Stealth Address support) and the Cloak Shield secure network communications layer will be implemented after the core functionality is in place and functional within the new codebase.
We feel this makes logical sense in terms of development and helps avoid headaches while keeping the client relatively stable during the continued development process. This approach also aids testing and functionality can be tested in relative isolation as features and functionality are added in sequential order. Newer codebases also have a more fully featured testing setup, incorporating regression testing in addition to the [more fleshed-out than previously] unit tests for testing and verifying specific functionality.
To continue on the subject of rebasing and codebase upgrades: prior to the work starting, there were some preliminary investigations related to rebasing to a completely different codebase for the future. Stratis’ C# implementation (NBitcoin/NStatris) was considered and deemed to be a potentially viable candidate due to its clean design and layout and fully featured functionality. The recent advances with the cross-platform .Net Core framework (especially in terms of cross platform GUI support) may make this an interesting prospect for the future that certainly warrants some community consideration.
It should be noted that the existing C++ work done so far during the rebasing would not be transferable [at least not directly] if the codebase upgrade switches to a C# based framework. However, since the upgrade work is a somewhat slow and convoluted process, rebasing to C# may eventually provide more efficiency as development progresses, especially with developers who are more familiar and comfortable working with C# as opposed to C++. This would also introduce some ‘novelty’ back into the Cloak project, making it something rather more new and distinct than ‘just another Bitcoin clone with some new bells and whistles’.
In terms of current upgrade development, Proof-of-Stake and wallet functionality work is currently still ongoing. Due to the significant changes to the underlying Bitcoin codebase since Cloak was first created (and the lack of other similar coins [PeerCoin, NovaCoin etc] having yet upgraded), large portions of the code need to be refactored and rewritten to enable them to ‘slot into’ the new Bitcoin codebase, which has seen significant changes in terms of structure, layout and functionality. Without a similar coin to crib code from during the upgrade, it is likely that the need to restructure and massage ported code and functionality will continue during the rebasing.
This realisation also gives further credence to the validity of reconsidering the choice of codebase for upgrading/rebasing with a view to increasing development progress going forward and incorporating new functionality. The current plan is still to produce a functionally equivalent Cloak client that is interoperable with the existing legacy client, prior to forking the network to introduce a new PoS algorithm with community funding support (and other potential possibilities such as on-chain governance/voting and network generation of Enigma rewards).
As an aside, there has been some community talk in relation to the choice of codebase for the rebasing upgrade, which is worth exploring. There have been suggestions that Bitcoin Cash (BCH) may have been a better candidate codebase for rebasing than Bitcoin (BTC) due to it’s differing feature set and on-chain scalability approach. Bitcoin Cash development continues to be interesting and the recent edition of Schnorr Signatures (for reduced signature size and lower computational overhead) and CashShuffle (for increased privacy) make it worthy of extra consideration.
As Bitcoin Cash’s codebase is still very similar to Bitcoin’s, the existing rebasing/upgrade work already carried out on Cloak [against Bitcoin’s codebase] could potentially be migrated to the BCH codebase (effectively switching the rebasing from Bitcoin to Bitcoin Cash without having to redo the work already carried out). It should also be noted that BCH’s ethos is probably considerably more in line with Cloak’s, which may factor in to community preference in terms of codebase rebasing choice.
In terms of development resourcing, Deepend now has more time available to dedicate to ongoing Cloak development and will be taking the reins from r3r in order to lead the development and codebase upgrade work going forward. As always, community/external development assistance is always most welcomed and with the project now being publicly accessible on GitHub it’s easier than ever for people to contribute directly to the project’s development.
You may have noticed recent additions to the Phoenix repository, many Issues being published and tagged accordingly in order to provide clear documentation. This work is part of our preparation for welcoming new developers to the project. Through a partnership opportunity we are recruiting the expertise of additional developers with deep knowledge and vast experience in blockchain.
We have revised our strategy and are laying the foundations to adopt a new project based methodology. Our aim is to provide clarity around well defined deliverables and through the dedication of a few key team members, personally fund development of selected projects through the certainty of a commercial agreement with a reputable company.
We are really looking forward to this exciting new chapter for CloakCoin.
Love & respect,