Giter Site home page Giter Site logo

hcashd's Introduction

Hcash

ISC License GoDoc

Contents

Official Web

https://h.cash

Innovations

To date, existing decentralized cryptocurrencies adopt either PoW consensus scheme or hybrid consensus model of PoW and PoS. However, these systems still encounter the issue of very limited efficiency/throughput. Meanwhile, upcoming quantum computers threaten existing classical cryptography which is the foundation of blockchain security. In particular, the quantum algorithm by Shor for computing discrete logarithms breaks the ECDSA signature scheme used by almost all cryptocurrencies, such as Bitcoin, Ethereum, Decred and Monero. However, if post-quantum cryptographic schemes are equipped in these systems, the throughput of them will become worse and even unbearable.

Hcash project aims to build a secure, efficient, robust and reliable decentralized system. Highlighted features such as newly-proposed hybrid consensus scheme, post-quantum digital signature, linkability among various blockchain-based and DAG-based decentralized cryptocurrencies, smart contract mechanism and post-quantum privacy-preserving scheme will be proposed and implemented in Hcash eventually.

Novel Consensus Scheme

To deal with the performance issue, we implement a novel hybrid consensus scheme with strong robustness, high throughput as well as sufficient flexibility in Hcash. On the one hand, with a newly-proposed two-layer framework of block chain, significant improvement of the efficiency is offered without compromising the security. On the other hand, with a hybrid consensus model, both PoW and PoS miners are incentivized to take part in the consensus process, thereby enhancing the security and flexibility of the consensus scheme, and providing a mechanism that supports basic DAO for future protocol updating and project investments.

For more details, please refer to our specific report.

Post-Quantum Features

To address security issues stemming from quantum computers, we design and implement post-quantum solutions in Hcash. Our proposals achieve the following 4 features:

  • Compatibility: Compatible with existing ECDSA signature solution;
  • Flexibility: Support multiple post-quantum signature solutions that are thoroughly analyzed, assessed and proved by international cryptography research institutions, meanwhile their security and performance must be outstanding;
  • Security: the post-quantum solution must be proved secure in theory, and side-channel attack proof in practice;
  • High performance: Signing and signature verification must be fast. Most importantly, the public key and signature must be short.

Please refer to our design rationale and technical report for more information.

Starting Hcashd

Hcashd is a Hypercash full node implementation written in Go (golang).

This acts as a chain daemon for the Hypercash cryptocurrency. Hcashd maintains the entire past transactional ledger of Hypercash and allows relaying of transactions to other Hypercash nodes across the world. The installation of hcashd requires Go 1.7 or newer.

  • Glide

    Glide is used to manage project dependencies and provide reproducible builds. To install:

     go get -u github.com/Masterminds/glide
    
  • Build and Installation

    For a first time installation, the project and dependency sources can be obtained manually with git and glide (create directories as needed):

     git clone https://github.com/HcashOrg/hcashd $GOPATH/src/github.com/HcashOrg/hcashd
     cd $GOPATH/src/github.com/HcashOrg/hcashd
     glide install
     go install $(glide nv)
    

    To update an existing source tree, pull the latest changes and install the matching dependencies:

    cd $GOPATH/src/github.com/HcashOrg/hcashd
    git pull
    glide install
    go install $(glide nv)
    
  • Start running hcash full node service to synchrnoze blocks

     hcashd
    
  • Start hcash solo mining

     hcashctl setgenerate true x     # where x represents the number of CPU threads
    
  • Stop hcash solo mining

     hcashctl setgenerate false
    

Using HcashWallet GUI Version

HcashWallet GUI version is a graphical wallet for Hcash. You can send and receive Hcash, purchase tickets for PoS voting, get history of all your transactions and more by GUI HcashWallet.

HcashWallet GUI version is at: https://github.com/HcashOrg/hcashwallet/releases. It could be extracted and used directly.

HcashWallet GUI version user guide is at: https://github.com/HcashOrg/hcashd/wiki. If any suggestion, please post your suggestion at https://github.com/HcashOrg/hcashd/issues or send email to [email protected]. Thank you very much!

License

hcashd is licensed under the copyfree ISC License.

hcashd's People

Contributors

chaoguodeng avatar fanlq avatar rev-chaos avatar seienk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.