[Dev Status]Developed JNI interface to access Yescript GPU&ASIC resistant hash

in #codablecash6 years ago

I've imported source code of Yescript from CPU-Miner. It is implemented by C. GPU&ASIC resistant hash is essential by following reasons.

  • Fair chance for all full nodes as possible as it can
  • Make difference of delay time to calculate nonce

Why JNI is Necessary

It is impossible to completely make delay time by nonce calculation same if difficulty is same, and it is not necessary. But by the effort, fair opportunity will be given to all of full nodes.

JNI is necessary, because C&C++ code is faster than Java. If I implement in Java, a full node which has modified source code written in C can calculate it faster, and it is not fair. This is the reason why I used JNI(Java Native Interface) here.

Github Status

Currently, the source code is here.

https://github.com/alinous-core/codablecash/

And CI with Travis works well.

https://github.com/alinous-core/codablecash/commits/master

Next Goal

My next goal is to implement below.

  1. Elliptic Curve Digital Signature Algorithm (ECDSA)
  2. Schnorr Signature with ECDSA

These will be implemented in Java, because it does not has nothing to do with fair coin distribution, and it can realize enough performance.

I'll implement ECDSA with Secp256k1 specificaion, next.

Sort:  

You got a 1.49% upvote from @buildawhale courtesy of @iizuka!
If you believe this post is spam or abuse, please report it to our Discord #abuse channel.

If you want to support our Curation Digest or our Spam & Abuse prevention efforts, please vote @themarkymark as witness.