🗳️ The X-Cash Delegated Proof of Private Stake (xcash-dpops
) is a custom variation of a DPoS with DBFT consensus made with privacy coin from the CryptoNote legacy in mind.
The X-Cash Public Network is governed by delegates elected by XCASH holders to secure and forge new blocks.
Implementing a Delegated Proof of Stake and Delegated Byzantine Fault Tolerance consensus in a privacy-based cryptocurrency presents a challenge. Taking inspiration from successful blockchain governance systems, X-Cash Delegated Proof of Private Stake proposes a unique solution to bring DPOS and DBFT based consensus to the privacy coin space.
The X-Cash Public Network is secured by delegates, elected in their position by XCASH holders. By providing your vote through a stake in XCASH, you are electing a representative to secure the network and forge new blocks, which will in return split the block reward with you.
The unique implementation of DBFT into the consensus process enables the X-Cash blockchain to become immune to forks, henceforth instantly validating new transactions.
The selection of the next delegate in charge of forging a block is completely randomized through the use of Verifiable Random Functions (VRF), increasing the security of the delegates by preventing attacks to the next block producer.
Instead of sending your stake to another wallet to vote toward a delegate, you are providing a cryptographic reserve proof of your funds to your delegate, meaning that you keep complete control of your stake at all times.
Have a look at our 📜 Delegated Proof-of-Private-Stake yellow paper to learn more about the technical challenge of integrating this consensus on a Monero-based privacy coin.
X-Cash is an open-source project managed by the X-Cash Foundation.
We are operating under the MIT License.
Thank you for thinking of contributing! 😃
If you want to help out, fork the repository, check CONTRIBUTING for a set of guidelines, and check our opened issues.
We are hosting our documentation on GitBook 👉 docs.xcash.foundation
You can contribute directly on our
gitbook-docs
repository.
If you discover a security vulnerability, please send an e-mail to [email protected].
All security vulnerabilities concerning the X-Cash blockchain will be promply addressed.
Every steps of the installation and build instructions are described in our detailed guide.
In the first beta version,
xcash-dpops
will only run on a Linux/Unix OS. We recommend installing it on a Ubuntu VPS/dedicated server (18.04) for best compatibility.
The recommended system requirement is designed to be future-development proof, meaning that an hardware update should never be needed and still comfortably handle the xcash-dpops
program.
Minimum | Recommended | |
---|---|---|
OS | Ubuntu 18.04 | Ubuntu 18.04 |
CPU | 4 threads, 2.0 GHz or more per thread | 4 threads, 2.0 GHz or more per thread |
RAM | 6GB | 32GB |
Hard Drive | 50GB | 2TB |
Bandwidth Transfer | 100GB per month | 500GB per month |
Bandwidth Speed | 100 Mbps | 500 Mbps |
The following table summarizes the tools and libraries required to run X-Cash's DPoPS program.
Dependencies | Min. version | Ubuntu package |
---|---|---|
GCC | 4.7.3 | build-essential |
CMake | 3.0.0 | cmake |
pkg-config | any | pkg-config |
OpenSSL | any | libssl-dev |
Git | any | git |
MongoDB | 4.0.3 | Install from binaries |
MongoDB C Driver (includes BSON libary) | 1.13.1 | Build from source |
xcash-core |
Latest version | download the latest release or build from source |
To install the xcash-dpops
program and the related services to set up a delegate node, have a look first at our server setup guide.
Then, run the autoinstaller.sh
script and follow our guide.
source <(curl -sSL https://raw.githubusercontent.com/X-CASH-official/xcash-dpops/master/scripts/autoinstaller/autoinstaller.sh)
To build everything from source, follow our manual installation guide.
All delegates will be able to use the maintenance script to easily view there statistics and to check there system.
bash -c "$(curl -sSL https://raw.githubusercontent.com/X-CASH-official/xcash-dpops/master/scripts/management/xcash-maintenance)"
If you choose to setup the delegate as a shared delegate, you will be able to view additional statistics by using the IP of the delegate in any web browser, as the Delegates Pool Website is automatically installed.
If you choose to setup the delegate as a solo delegate, you have the option of installing the Delegates Supervisor