Wasted imagination

Inside the convoluted world of bitcoin scams, a lot of super-smart nerds are working hard, probably for very little pay, to develop ever-denser convolutions.

Here’s one sample found on Medium. There are HUNDREDS of projects like this, each with its own purposeless purpose, always ENABLING USER to do something that no actual human could ever want or need to do.

Finally, because Noir doesn’t compile directly to circuits but to an intermediary representation (akin to LLVM), it is compatible with multiple back-end proving systems including PLONK, Groth16, and Marlin.

We call this intermediate representation an ACIR (Abstract Circuit Intermediate Representation).

Aztec Network has a proving system back-end called Barretenberg that runs on Plonk. But developing with Noir means you can plug in any SNARK-based proving system according to your needs.

Layers, layers, layers, names, names, names.

The names are the new part. Computing is inevitably somewhat complex. Previous developers, from the IBM mainframe era through C and Python, steadfastly refused to employ memorable or colorful names. Every concept was an acronym, with redundant piles of letters that could easily be confused, especially when the 3rd acronym in the pile started to acquire the meaning of the 2nd acronym in the pile.

When tools have names like Barretenberg, Plonk, Noir, and SNARK, the mind has a much easier time keeping them straight.

But unfortunately these colorful names are part of a plain old crime system.

Tornado Cash under the hood allows users to prove they possess a given note in a Merkle Tree. Below we show a sample implementation of a similar Merkle membership proof in only 10 lines.

Tornado Cash is just what it sounds like. A money blender aka money laundry. Now that the Correct Persons have absconded, the government is quite properly cracking down on Tornado Cash.

Crime definitely wasn’t advertised as a potential use case in the old manuals for Algol or Basic. BUT: those old manuals didn’t mention any use cases at all. They never said WHY you’d want to build an array or make an if/then/else decision. Every function was just sitting there, isolated and disconnected.

What would the old manuals look like with spicy new crime-based examples?

= = = = =

“Big Al” Scarlucci has a string of betting parlors, each on a popular corner in NYC. Imagine you’re Big Al’s sleazy accountant, Marvin “Four Eyes” Goldblatt. How would you lay out a Python dictionary to keep track of the daily profits and losses for each parlor, keyed by the address?

BettingParlors = {}
BettingParlors[(33,'third')] = (453.20, -1287.88)
BettingParlors[(42,'broadway')] = (3899.13, -65.12)
BettingParlors[(89,'west end')] = (98.12, -69335.54)
print BettingParlors

First define the dict with curly brackets. Then set up one entry for each parlor, keyed by a tuple with the numbered street and the avenue. The values for each parlor are tuples with the day’s gain and loss.  How would you advise Big Al if you wanted to keep your feet out of cement?  Which operator should he promote and which should he rub out?

= = = = =

There’s an opportunity in this mess. Nerds with a colorful imagination, who have a good sense of purpose and example, should be serving honest businesses, not slaving without pay on the 349th layer of utterly useless cult convolutions.

%d bloggers like this: