EdDSA added

I had a nice surprise this morning as Realsolid had pushed some code that contained a complete C++ implementation of EdDSA . This is similar to the ECDSA that Bitcoin uses but is more modern and something that many believe is more secure and faster.
Continue reading

Advertisements

Node BenchMarking

Something I think that is important to demonstrate that MicroCash can scale to the levels needed to handle the entire global trade is a benchmark. What the MicroCash Benchmark will allow is to get an idea where any potential bottlenecks could occur in the code and allow me to improve them.

benchmark
Continue reading

A P2P cryptocurrency library

Part of my reorganization of the MicroCash sources is allowing the code to be used as a library. Bitcoin core is finally heading this way also which I think is great. The main reason you want to do this is to allow new developers to use your code in new and interesting ways.

Continue reading

MicroCash – The distributed bank

MicroCash differs from Bitcoin (and nearly every other cryptocurrency) in that it has a distributed ledger of accounts. It is much like a normal bank account in that there is a balance but instead of a name “John Smith” there is a random address which looks something like “SXTNFWJWXTPBLI4GM” . To prove you own a MicroCash account you must prove so by signing a transaction with your private key that only you should ever know.

Continue reading

Progress and node funding

I have finished the majority of basic networking and node messaging in MicroCash. Currently a node can connect to other nodes completely encrypted and send a “JOIN” message. Then they stay in contact using regular PINGs.

Continue reading

Scaling worker threads

In the original MicroCash sources there was a multithreaded signing engine which allowed incoming transactions to be processed over many threads (ie CPU cores). This allowed the MicroCash transaction engine to process many times more transactions per second than it otherwise could.

Continue reading

Web Client

Not a lot of people know but Bitcoin for most nodes is not the graphical Qt version showing your wallet balances and transactions. Instead most nodes run the daemon or server version. This version runs in the background and is communicated by using RPC commands on the commandline or through an application.

Continue reading

Endpoint to endpoint encryption

MicroCash sources as I received them had no encryption in the node to node communication. In any peer to peer application peers will send many messages to each other to update each other on what is happening on the network. I decided that much like bit-torrent applications it will be wise to encrypt all communications on the MicroCash network.

Continue reading

Endianness

One thing I think is important that Bitcoin lacks is proper awareness of Endianness in its code. One thing we are taught as network programmers is that endianness matters and Bitcoin shows very little acknowledgement of it. Endianness to those unaware is the ordering of bytes in memory. Wikipedia has an article you can read if you are more interested. http://en.wikipedia.org/wiki/Endianness .
Continue reading

My preliminary opinion of MicroCash sources

The MicroCash sources as existed on January 15, 2015 comprised 2 main projects. A client which is written in C# and was already released and a server written in C++ which is unreleased. I will mainly be talking about the server in this post as anyone can read the existing client source.
Continue reading