I've developed crypt and hash calculation part in both Java and C++. They are one of main part of the cryptocurrency. And on developing these part, I could found a lot of knowledge about actual cryptocurrency.
Crypt & Hash Part
Crypt and hash part is following.
- Yescrypt Hash
- Secp256k1 CDSA Calculation
- Schnorr Digital Signature Using Secp256k1
These are used to make transactions in the blockchain secure, to make consensus among P2P nodes.
Performance
Performance of the calculation is very important part. I've developed 3 implementation of those logic, and took benchmark. The implementation types are below.
- Pure Java
- C++ with JNI Interface
- Pure C++
According to my benchmark, Pure Java is slowest. And it can't achieve enough performance to run fast blockchain application.
Performance between C++ with JNI Interface and Pure C++ was almost same.
Why performance is necessary for Digital Signature
A block of the blockchain contains thousands of transaction, and they has Digital Signature. If it takes 3.5 seconds to handle 1000 transactions, a block which contains 4000 blocks needs 14 seconds to validate all digital signature.
Fast blockchain have to propagate blocks as fast as it can. But validation process takes long duration, entire blockchain's speed becomes slow.
Next Tasks
After making this part, I'm going to implement database component which is used in following part.
- Blockchain
- P2P Network Routing
I'm going to implement the component in C++ programming language with JNI interface.
I think database is the last component to implement main logic of CodableCash. Therefore after that, main development process of a new cryptocurrency will starts.
You got a 1.56% 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.
Congratulations @iizuka! You received a personal award!
Click here to view your Board
Congratulations @iizuka! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!