Skip to content

🗳 Delegated-Proof-of-Private-Stake: First DPoS implementation on a Monero-based coin

License

Notifications You must be signed in to change notification settings

TuAF094/xcash-dpops

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

X-Cash Delegated Proof of Private Stake

chat License: MIT

X-Cash Delegated Proof of Private Stake

🗳️ 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.

Table of Content

Features

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.

Staking

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.

DBFT

The unique implementation of DBFT into the consensus process enables the X-Cash blockchain to become immune to forks, henceforth instantly validating new transactions.

Randomized Block Producer Selection

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.

Stake Delegation with Reserve Proofs

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.

License

X-Cash is an open-source project managed by the X-Cash Foundation.
We are operating under the MIT License.

Contributing

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.

Documentation

We are hosting our documentation on GitBook 👉 docs.xcash.foundation

You can contribute directly on our gitbook-docs repository.

Security

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.

Installation

Every steps of the installation and build instructions are described in our detailed guide.

System Requirements

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

Dependencies

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

Installation

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.

Maintenance

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

About

🗳 Delegated-Proof-of-Private-Stake: First DPoS implementation on a Monero-based coin

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 90.1%
  • Shell 9.0%
  • Other 0.9%