No description or website provided.
Clone or download
Latest commit ebc2982 Apr 17, 2018
Permalink
Failed to load latest commit information.
addrmgr first commit for hcashd Sep 29, 2017
blockchain update Jan 26, 2018
chaincfg add lms test file Jan 25, 2018
cmd modify ports fot test Oct 27, 2017
connmgr first commit for hcashd Sep 29, 2017
crypto fix "signmessage" for bliss address, add "verifyblissmessage" Feb 2, 2018
database fix test functions Jan 19, 2018
docs add post quantum api document Jan 18, 2018
hcashec add Post-Quantaum feature support Dec 18, 2017
hcashjson fix "signmessage" for bliss address, add "verifyblissmessage" Feb 2, 2018
limits first commit for hcashd Sep 29, 2017
mempool fix some bugs and test functions Jan 23, 2018
mining first commit for hcashd Sep 29, 2017
peer fix test functions Jan 19, 2018
release first commit for hcashd Sep 29, 2017
rpctest first commit for hcashd Sep 29, 2017
sampleconfig modify ports fot test Oct 27, 2017
txscript 1.fix some bugs and test functions Jan 23, 2018
wire fix many test functions Jan 22, 2018
.gitignore update gitignore file Sep 30, 2017
CHANGELOG.md done all test cases under hcashec/edwards Nov 13, 2017
LICENSE first commit for hcashd Sep 29, 2017
README.md update README Jan 12, 2018
autotx.py Create autotx.py Apr 17, 2018
blocklogger.go first commit for hcashd Sep 29, 2017
blockmanager.go Fix checkpoint synchronization Dec 24, 2017
config.go modify ports fot test Oct 27, 2017
cpuminer.go 1.fix the calculation of networkhashps Oct 6, 2017
doc.go modify ports fot test Oct 27, 2017
glide.lock update glide.lock Jan 24, 2018
glide.yaml compatible with new lms code Jan 12, 2018
hcashd.go first commit for hcashd Sep 29, 2017
ipc.go first commit for hcashd Sep 29, 2017
log.go first commit for hcashd Sep 29, 2017
mining.go 1.change the para of checkTransactioninputs Nov 24, 2017
mining_test.go refactor 1st test on priority queue on txes Oct 30, 2017
miningerror.go first commit for hcashd Sep 29, 2017
params.go modify params for test Oct 27, 2017
rpcserver.go remove debug message Feb 2, 2018
rpcserver_test.go first commit for hcashd Sep 29, 2017
rpcserverhelp.go fix "signmessage" for bliss address, add "verifyblissmessage" Feb 2, 2018
rpcserverhelp_test.go fix test functions Jan 19, 2018
rpcwebsocket.go add blockkeyheight into struct RawTxResult to make Oct 24, 2017
run_tests.sh first commit for hcashd Sep 29, 2017
server.go 1.use realKeyHeight instead of height to judge finalization and expir… Oct 26, 2017
service_windows.go first commit for hcashd Sep 29, 2017
signal.go first commit for hcashd Sep 29, 2017
signalsigterm.go first commit for hcashd Sep 29, 2017
upnp.go first commit for hcashd Sep 29, 2017
version.go Change the version Oct 25, 2017

README.md

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 hypercashcn@gmail.com. Thank you very much!

License

hcashd is licensed under the copyfree ISC License.