How to Make a Mint: The Network of Anonymous Electronic Cash

Justin Percy
Coinmonks
4 min readNov 9, 2021

--

Almost everyone that knows anything about “Bitcoin or cryptocurrency” has a very fragmented understanding of some key aspects. I would like to discuss an often ignored and perhaps controversial topic, the network itself.

The Past:

[1]

The National Security Agency of United States was actively working on a project that resembles Bitcoin in many ways since the inception of modern computers; Released publicly in 1996 as a theoretical research topic.

[1]

Aside for the glaring obvious “Okamoto” keyword similarity to Satoshi Nakamoto the concept is very similar to “double-spend” found in Bitcoin!

Unfortunately, this project was never completed due to crucial technical pieces of the puzzle missing to create a functional computer program with the presented advanced concepts. Not to mention, computer hardware and Internet Service Provider limitations at the time were also a paralyzing factor.

One of the basic flaws with the NSA’s Mint Project was the laws surrounding privacy and enforcement of financial services, along with the issuer trust factor. If a cryptographic based money was minted who would be keeping the digital records and give access to those authorities who need it while protecting the user’s rights? Some very crucial questions remained unanswered.

[1]

“The system must have adequate network and physical security…”

This could be a challenge as with all centralized based systems; The experts noted in their report. Security professionals would have a difficult time with preventing intrusions while maintaining accessibility to the system at all times, zero down-time was required, and yes real physical guards required too!

The simple P2P experiment:

“On July 11, 2001, Napster shut down its entire network in order to comply with the injunction.”

I do not encourage copyright infringement at all, as a young programmer I was intrigued how a multi-million dollar network could be no longer functional just because of a few “bad Metallica uploaders”. It was obvious to me how crippled the network design was from the start; It relied on a central hub to connect everyone else using the software to provide search and download functionality. At the time the internet infrastructure was “server-client” based and peer to peer was still a new topic of discussion. Server and client functions traditionally — were two separate executable programs, the fringe concept of containing them within the same application was not only technically challenging but who could I go to for help, nobody does this yet… I thought, Why not? But then I started to realized the painful truth: How can you control an uncontrollable beast if you actually need to? You can’t.

I was experimenting with the idea in the late 1990s early 2000s era while teaching myself programming with Microsoft Visual Studio. I was able to write a basic functional peer to peer network based on Napster’s file sharing services, but due to legal issues I decided not to release it “as is”.

[2]

Instead, I gave the source code to a friend who shared it with another and then another whom was all working with encryption and other related technology. It was the unlikely secure network the improbable Mint Project required, but never had!

A network with nobody in control — Based upon encryption and mathematics. The network itself could be trusted more than any human or authority could be trusted with the private keys! It was a radical concept never attempted before, and with many challenges and pitfalls — It actually worked better than expected in a unlikely implementation… Making a Mint!

[2]

Ripostle protocol basics:

[2]

Bitcoin/net_processing.cpp source code:

[3]

If you compare some of the connection code found in Ripostle with even the most recent Bitcoin code the similarities are obvious. The software has a local saved list of IP addresses, connects to one of them, asks for a list of IPs, gives a list of IPs and merges into a local list to share with a different peer in the future. These simple steps of code automatically build a “self-discovery” network that did not require a routing server or hub to operate, peer to peer.

Pretty darn simple how to make the decentralized, trustless & secure mint network? Eh?

References:

[1] HOW TO MAKE A MINT: THE CRYPTOGRAPHY OF ANONYMOUS ELECTRONIC CASH
https://groups.csail.mit.edu/mac/classes/6.805/articles/money/nsamint/nsamint.htm

[2] Ripostle — True P2P Anonymous File Sharing Program
https://github.com/BiznatchEnterprises/Ripostle/blob/master/Form1.frm

[3] Bitcoin
https://github.com/bitcoin/bitcoin/blob/master/src/net_processing.cpp

--

--