CloakCoin Developer Report — July 2019
Developer Update July 2019 – rise of the phoenix
The monthly dev update series will inform users about the progress of the development from CloakCoin
It’s been silent in terms of development, but we are back with the development updates and we have a lot to share. June was the first introduction of the partnership with Chainsulting and since then, a lot of progress regards preparation for the next milestones was made.
First of all, the team now comprises around six developers, who are working actively on CloakCoin. Team Chainsulting will focus on the work for the wallet, codebase and the BYOB Exchange. The Cloak developer r3rcloak will also focus on the codebase and anorakthagreat on ENIGMA.
Next Development Milestones:
For everyone who is interested in looking into this cool fancy framework, have a look at https://electronjs.org
Small sneak peek of the new frontend (made by Christian Dittmann)
As you know, most of CloakCoin’s current Codebase is based on Bitcoin and right now similar to Bitcoin Core 0.11, with parts of NovaCoin and Peercoin. Since 2018 the core developers r3rcloak and anorakthagreat have been working actively on the merge to a new codebase and committed a lot of code changes. Based on the amazing work from the past development and research, during the merging to bitcoin codebase 0.17, they discovered issues and problems which we will address in our further work. Right now, we focus on the wallet upgrade to build the frontend in order to support new features, which comes with the new codebase. In the last month we done the research for possible implementation of Bitcoin-Core 0.17, BCH Codebase, PoS3 and governance functions. More about the codebase update in the next article.
I think most of us read the CIP-001 (Cloak Improvement Proposal) about CloakX, from the mysterious person lazaruski, which is reminiscent of the first proposal by Satoshi Nakamoto. Anyway, even if the person wants to stay anonymous, he/she had a reason for it and lazaruski definitely choose the right coin for it, because CloakCoin cares about privacy and untraceable decentralized transactions since 2014. The idea of BYOB Exchange, short for Be Your Own Bank, was born based on the proposal. According to the plan, it will use our staking wallet structure and on it build a real decentralized exchange. We’ve arrived at a possible solution, to fix problems with current DEX and build a true one.
The following summaries are a part of our research, which we want to share with you.
There will be different roles of nodes in the new Cloak ecosystem. Escrow Nodes, Validator Nodes and Trading Nodes, which are balanced, assigned and rewarded with the same amount of Cloak. This means every node has the same functions but gets different roles balanced to the need of the network. The node owner can’t see which role he has and also the data are full encrypted between the nodes. These Nodes will be able to participate in voting and can enforce changes and improvements through direct participation in CIPs (Cloak Improvement Proposals). The code is managed by a team of core developers, of course, but in reality, they are indirectly owned by the network. They are continuously maintaining a bond of trust by acting in the community’s duty. If developers wish to propose code changes, each node has to vote on whether to accept or reject the proposed change. You don’t need to stake a specific amount but instead separate a fraction of your storage and computing power. Staking profit will be the same as before and you are able to participate on trading fees as well. Normal Wallets to trade and store cloak will be not able to participate in voting or processing fees but will be able to use the ecosystem itself.
Escrow / Deposit guarantee
Escrow-Nodes ensure the integrity of a trade between parties (buyer and seller) and give a deposit guarantee. The trade will be done via atomic-swap technology, while the escrow nodes perform a distributed key generation (DKG). DKG is an encryption process in which multiple escrow nodes compute a common public key and a distributed private key. Every node that contributes to the computation of the private key knows only a part of the key, a secret share, which guarantees that the private key can only be reconstructed with the help of more than one escrow node. The process ensures the possibility of real time trades and prevent access to the funds by any 3rd party.
Trading nodes, validator nodes
Trading nodes store the order books, facilitate match making, secure the process of trades and process the trading fees (transaction fee for escrow release to the buyer).
A validation node maps a public blockchain address to its value and confirmed in the last step, the trade and escrow process, to ensure several details such as prevention of double spending.
If you do not hold your private keys, then you do not own your coins!
Decentralization of Backend/Frontend
A real decentralized exchange needs a backend and frontend stored in the same way, ensuring that only via governance can changes be made. Therefore we have to implement client-side fractions reserved from the storage and computing power. Nothing of it is totally new. There are projects which have successfully done parts of it, like storj or freenet (Storage) and golem (CPU). Different coins will be possible to implement using modules (modules include: block explorer, coin id, DKG algorithm, json rpc wallet calls etc.) and need to get listed via voting.
To access the exchange you hold your own keys, with implementation of hardware wallets and as well as locally stored encrypted keystore files, with a risk assessment for beginner.
A lot of work is in front of us but these problems are possible to solve. We will be the first project to build a real decentralized exchange, with real time trading and a focus on privacy. In the future you will see a monthly development update and we’ll try to keep it as simple as possible, because most of the audience are not experts in programming and need to understand what we build. If you are a C++ Ninja, Java native speaker or you need some deeper insights into our work, follow us on Github or feel free to reach out via [email protected]