Category: Crypto

Bitcoin's Secret Sauce

or: How I Learned to Stop Worrying and Love Nation State Attacks.

Bitcoin’s secret sauce, and how it works, was on full display these last few weeks. Bitcoin was designed to work against the most powerful of adversaries, and boy – did the adversary show up!

batman-v-superman-dawn-of-justice_bb788b6f

The China Syndrome

A few months ago, 45% to 75% of Bitcoin mining happened inside China. Then the Chinese government banned it.

There are anecdotal accounts from people on the ground are seeing Bitcoin mining operations being shut down by law enforcement agents. And there are similar accounts from people on the ground elsewhere in the world where containers full of mining hardware are being shipped to, lock, stock and barrel.

And then there is the Bitcoin blockchain – the source of absolute truth.

I have a copy of the Bitcoin blockchain on my computer, and could actually run the numbers myself and see that the production of Bitcoin blocks slowed down dramatically. Here’s a plot of how long it took, on average, to find 2016 blocks from 12-May-2014 to 18-July-2021.

Bitcoin blocks, on an average, are supposed to be generated once every 600 seconds. But you can see the spike in this number on the graph towards the end, going all the way up to 832 seconds. This means that during that period, the total number of active miners went down dramatically, and that led to the inter-block average-gap increasing equally dramatically from 600 seconds to 832 seconds.

Putting the anecdotal and canonical sources of data together, we can be reasonably certain that the Chinese mining ban lead to a global drop in Bitcoin mining.

Does it matter?

Not really. Miners come, miners go – Bitcoin chugs along. That is what it is designed to do. Bitcoin targets a block production rate of 600 seconds per block. If Bitcoin’s design had been naïve, whenever its dollar value went up, more miners would enter the system to make more money, and blocks would arrive faster than 600 seconds. Similarly, if its value went down (or if governments kicked them out), miners would leave the system, and blocks would arrive much slower than 600 seconds. The block production rate on either side of 600 would persist, and reflect the total number of miners in the system.

But no, that’s not what happens. No matter how many miners are in the system, it always takes around 600 seconds to mine a block. This is done through the difficulty adjustment algorithm, also known as Satoshi’s stroke of genius.

Difficulty Adjustment a.k.a Bitcoin’s Secret Sauce

Before we get to the difficulty adjustment algorithm, we have to first understand why keeping the inter-block interval of 600 seconds is important. Bitcoin works because everyone can check whether their perceived ownership of their own Bitcoin is fact or fiction. To check this, you need access to Bitcoin’s data? Where is this data? How big is it? How do I access it? Bitcoin’s data is not held by some central custodian, or a bank. It’s held by everyone who is interested. It includes all transaction from the genesis block onwards – from January 2009. But storing everything with everyone sounds crazy – and to be honest, it is crazy. But the more you think about it, the more you realize that there are no other easier ways of doing self-validation, other than offloading the “do I control my money or not?” question to someone else – and trusting them. Bitcoin prefers the opposite: self-validation.

So, if we accept the crazy idea that everyone stores a copy of the blockchain, we have a fundamental tradeoff – the blockchain cannot get very big (by growing very fast). It also cannot stay static: new transactions need to be added every so often to facilitate economic activity. Currently, the blockchain is around 377 GB, and growing at around 50 GB per year. If it grows too fast, not everyone will be able to hold their own copy. If it doesn’t grow fast enough, there is not enough transaction space to accommodate the demand for transactions. Under these constraints, Satoshi decided that a 1MB block every 10 minutes is a good tradeoff. To keep this tradeoff constant, blocks cannot be generated slower or faster.

What happens if Bitcoin’s value skyrockets and everyone wants to be a miner? Remember that a miner who generates a new block gets to keep the newly minted Bitcoin that comes out of each block. So, if the value of Bitcoin goes up, expect more miners to materialize. To accommodate this, Satoshi designed a simple algorithm that makes mining harder or easier depending on how long it takes to generate the previous 2016 blocks.

The Bitcoin protocol contains a positive number called “difficulty”, whose value is currently 13,672,594,272,814. This number controls how hard or easy it is to mine a block. Let’s say the total time taken to mine the previous 2016 blocks was greater than 2016 times 600 seconds, by a factor of X. This difficulty number is then adjusted lower by the same factor X. If the time taken to mine the previous 2016 blocks was lower, the difficulty number is adjusted upwards – again by the factor X. That’s it.

As far as “algorithms” go, this is as simple as it gets. It’s middle school level arithmetic. Other than combining existing ideas from cryptography and distributed systems, Satoshi’s only novel contribution was this middle school level formula. The genius, as they say, is in the simplicity of it.

When these erstwhile Chinese miners turned down their mining hardware around end of June/beginning of July 2021, Bitcoin’s mining difficulty dropped from 19 trillion to 14 trillion, by around 5 trillion – which is around 28%. The reduced difficulty made it easier for the remaining online Bitcoin miners to start generating blocks every 10 minutes again. The next 2016 block average was 630 seconds. Voila!

As Bitcoin’s value increased from 0 to wherever it is today, miners have only entered the system – and have rarely left. Difficulty has always gone up – to accommodate this increase in value. So, how does this difficulty number actually make it easier or harder to mine a Bitcoin block?

The Proof of Work Function

Bitcoin, famously, relies the “partial hash-preimage puzzle” to build its Proof of Work function:

You double hash data from the block you want to generate, and check if that hash value is less than the target on the right hand side of the equation. If it’s not, you change the block data, and try again, and again, and again, and again.

For example, if I double hash make-believe block-data, say the string “Bitcoin forever!”, I get the number:

99399038078883646938846821706752581723151100264172406332358249387420489004987.

The current value of the target is:

1971823790658122626473078926498088015421759366553927680.

So, it doesn’t work. I need to keep trying the function again and again with different block-data to hit gold. The actual previous Bitcoin block’s hash was 888160945014446794317532755205888398236464272495427689, which is under the required target, and that miner struck gold – so to speak.

If the difficulty number goes up, the mining target goes down, and finding block-data that double-hashes to a number lower than that target gets harder. It’s like tossing a 6 sided dice and wanting to hit a number less than or equal to 1. It happens only once every 6 times. If difficulty were to reduce, the target would move to a number less than or equal to 2. That happens every 3 times – mining just got easier.

Why go into the nitty gritty details of this function, with all the associated arithmetic and probability? I want to get into the properties that this unique function has, that makes it ideal for Bitcoin mining – and resisting nation state attacks.

Parameterizability: The function provides very fine degree of control over how much harder or easier we want the function evaluation to be. If you increase or decrease the difficulty number, the function becomes easier or harder to evaluate, respectively.

Memorylessness or Progress-free ness: Even if you have already run the function a million times, it still doesn’t give you any advantage over the next run. Each run of the function is what is called a Bernoulli trial – with the odds of hitting gold the same no matter how many times you have tried in the past. This makes sure that larger miners have no other advantage than just the larger chance of producing a block. If this property weren’t there, the largest miner would *always* win, even if they had just 0.0001% more power than the next largest miner.

The other incredible advantage of Memorylessness is that a miner can be turned off, put in a container, shipped elsewhere and plugged back in. The only loss the miner incurs is the Bitcoin that could have been mined in that interim time when the machine was turned off. Most physical objects being built, or even computations that are being performed on computers rely on previous data or “progress” that has been done, stored and retrieved, so that we can continue the process further. Shutting down something abruptly, without needing to store any state of progress, and starting elsewhere without any extraneous loss is not that common. This allows Bitcoin miners to be incredibly mobile and seek out the cheapest electricity wherever it exists. They are, in the true sense, plug-and-play.

Hard to compute, but easy to verify: To get the double-hash value which is under the target needs millions of trials of the function. But once someone finds it, the rest of us can verify it immediately with just a single iteration of the function. This, again, makes decentralization possible – where all of us can run the Bitcoin software on our computers and check that the miners are doing the right thing.

Replacing this function is not that easy. Most attempts have kept the general idea, and have tinkered with the specifics.

Conclusion

A nation state the size of China attacked Bitcoin where it’s supposed to hurt: Bitcoin Mining and all they managed to get in return was a giant shrug of indifference by the protocol. Yet another instance of Bitcoin living up to its promise of being designed to last forever. This self-adjusting nature of Bitcoin – that makes it change itself based on market conditions, with no one central entity being in charge – separates it from all other forms of money. Fiat money always has a central planner. Bitcoin has a protocol.


Our crypto series in reverse-chronological order:


Governance, Decentralized

Code is law.

Define Governance: the act or process of governing or overseeing the control and direction of something (such as a country or an organization).

In this article, I will focus on whether any organization can have decentralized governance, and what does that even mean? And how is this related to cryptocurrencies. Let’s start with a very basic organization, and see whether it can be governed in a decentralized way.

What is an organization anyway?

Say some people want to pool their money and use it for charity. We have ourselves a rudimentary organization. During the organization’s inception, the founders make some bylaws – for example: for any charitable donation to happen, say 2/3rd of the remaining capital in the pool has to approve it. These bylaws are written down formally in a “human language” (the language being a “human language” is important). The organization will register itself with the government of that geographical area (let’s say, a country). In case disputes arise in the future, the courts of that country will interpret the bylaws of the organization, apply the relevant common laws of that country, and with the threat of force, ask the members of the organization to abide by the court’s judgment. We kind of get how this works.

I will call this “centralized governance”, because the dispute resolution is adjudicated by a centralized authority. In an ideal world, this centralized authority is fairly appointed by representatives of the people who were fairly elected by the people to carry out such appointments.

Enter Smart Contracts

If the bylaws were precisely written down in an unambiguous computer language, and deployed on a distributed computer that could not be stopped, or taken over by any single authority – we have a decentralized organization. It’s governance is encoded in the program that was deployed on the distributed computer. Ideally, once deployed, the program cannot be changed, and can be arbitrarily run by anyone forever. Who are the members of this organization? Let’s say the program has a function that accepts money as input, and gives out an equivalent valued token – anyone who makes such a function call is a member of this organization, as they have a stake in the program. Do disputes arise in such an organization? No. To see why the answer is “no”, we have to understand that this system adheres to the maxim: “Code is Law”. The program does exactly what it was programmed to do – there is no randomness or discretion or uncertainty in the execution. This faithful execution of the program obsoletes the idea of dispute resolution.

Ethereum smart contracts are such programs. They are deployed and run on Ethereum, which is a distributed network of computers that ideally cannot be censored or stopped. Ethereum has a richer programming language, along with the notion of a smart contract having monetary deposits, and other arbitrary data. Using this setup, one can write a smart contract that represents the charitable organization that we saw earlier. In fact, back in 2016, when Ethereum was still in its infancy, exactly such an organization was deployed as a smart contract on it. It was called The DAO, or the decentralized autonomous organization. It could accept funds from anyone, and with token holders voting for projects, would fund these projects from the collective pool of funds. Venture capitalists thought that the DAO would disrupt the VC industry itself, and added their own funds into the pool. At its peak, the DAO had 14% of all of ETH pooled inside it (ETH is the native currency of the Ethereum system). I didn’t read the code of the DAO, and am not sure how a project got actual funding – was some ETH moved to the recipient’s address? How would the DAO verify that the recipient actually produced something of value, if that artifact was not native to the blockchain itself? In the cryptocurrency space, it’s important to ask these questions – as the answers are not obvious, and often times hide red flags that indicate possible scams.

But as it turned out, this DAO program itself had a software bug, and that allowed a clever hacker to drain the uninvested funds into their own control. To “fix” this “hack”, people who had enough social clout in the Ethereum ecosystem managed to undo history, and start an alternate timeline where this hack never happened.

What?!?!

How does one undo history and make alternate timelines?

It’s the settlement assurances, stupid1

Let’s start with an example. Let’s say your credit card is stolen, and is used to buy strange things in strange lands. You call your credit card issuer and ask them to undo history, and start an alternate timeline where the theft never happened, and you have a clean slate of your own previous transactions and new transactions. Where did the thief’s transactions go? Turns out that they were never “settled”. In the traditional finance world, very very few transactions are actually “fully settled”. Transactions between countries, or between large banks, or those that are brokered by central banks are considered settled for good, and are truly irreversible. The rest of the world’s transactions can be reversed, if the right people are convinced.

In Ethereum, where code is supposed to be law – alternate timelines should not have been possible. The hacker took out the pooled funds from the DAO because the smart contract allowed that to happen. That’s the bylaws of the contract, and the hacker is playing by the rules. There shouldn’t be a discretionary voice that says “But that’s not the spirit of the law”. Smart contracts are only supposed to respect the word of the law, and not the spirit of the law. Ethereum, in its early days at least, believed that the spirit of the law mattered more than the word of the law, and allowed the DAO hack to be “bailed out”.

Ethereum is just one such “network computer” (blockchain, to keep up with the times) that runs such code-is-law smart contracts. There are other blockchains that claim to do the same, and have varying degrees of centralization that allows the powers-that-be to “bail out” certain contracts if shit his the fan. On the other hand, Bitcoin doesn’t even allow such powerful smart contracts, and the rudimentary smart contracts that it does allow, have never been reversed because some people lost their money. I think it’s an important distinction that makes Bitcoin the most (if not the only) credible blockchain in existence, but that’s just me.

Governance, through code

Coming back to Ethereum smart contracts which act as decentralized autonomous organizations, how can governance rules be changed if all token holders agree to it? We now get into some of the more sophisticated governance models for smart contracts, which can all be coded into the initial smart contract itself. Here’s one popular model:

In our original charity smart contract, we had the initial bylaw that 2/3rds of the total pool had to apply every new donation. Let’s say we want to change this rule to have 3/4 instead of 2/3. While writing the initial smart contract, this particular constant (2/3) is delegated to a different smart contract that is deployed first, and the main smart contract calls this other smart contract to perform it’s actions. In software programming, this is either called “delegation” or “forwarding” or “a pimpl – pointer to an implementation”. The difference between a classic software program that does this, vs a smart contract that does the same thing – is that in a smart contract with decentralized governance, the change in implementation of a functionality has to be voted by token holders. This is how it looks:

  1. The initial smart contract is written in such a way that the following steps are supported.

  2. Someone (doesn’t matter who) codes a new piece of functionality and deploys it on the blockchain. For now, this is dead code, as no one is executing it. But everyone can see what it does.

  3. Someone (again, doesn’t matter who) makes a proposal in the original contract that they would want to call a vote for this new functionality from step (2) to replace the equivalent step in the original code.

  4. There is a timeline for token holders of the smart contract to vote for this proposal. Votes are tallied. The result is known.

  5. If the governance change is approved, there is an additional time window before it comes into effect. Token holders who are unhappy that this change was made can withdraw their capital from the pool by returning or burning the tokens.

  6. The governance change is affected by changing the smart contract implementation of this functionality from the original to the new.

Many smart contracts on Ethereum have the so called “governance token” that allows token holders to change the rules of the smart contract if enough such token holders vote for it.

  1. Uniswap, the popular decentralized exchange on Ethereum, has its own governance token UNI, which allows UNI holders to vote for governance changes like increasing or decreasing the fee taken by the protocol per exchange trade.

  2. Compound, a smart contract for credit issuance on Ethereum, has its own governance token COMP, which allows COMP holders to affect governance changes – like how they recently voted to change their price oracle.

  3. MakerDAO, the smart contract behind the stable coin DAI, has its own governance token MKR, which allows MKR holders to change the parameters of the DAI stablecoin, and how it maintains its 1:1 peg against the USD.

In my naïve unqualified opinion, these governance tokens can sometimes pass the Howey test, and could qualify as securities under some regulatory regime.

What’s in it for me?

Many tokens/coins are available to buy on many cryptocurrency exchanges.

  1. Some are native coins of their own blockchains – like BTC/ETH. Many of these native coins are centralized, issued to investors first, and dumped on the general public later.

  2. Some are ERC-20 tokens on the Ethereum blockchain. They represent governance rights on protocols, and thereby generate cash flow.

  3. Some are tokens on other blockchains. Most blockchains’ native currencies themselves are worth nothing. Tokens that are launched on these blockchains are even trickier.

  4. Some are even more complex tokens issued by smart contracts that govern other smart contracts.

  5. Some tokens are blatantly pointless, and are valuable just as collectibles: remember NFTs?

Some tokens have a point, but are still worth nothing.

Some tokens have a point, and might be worth something.

To keep life simple, one can just buy Bitcoin. If that’s too conservative (it’s not), maybe add ETH to the mix (don’t).

Enjoy the conversation


Previously, on our crypto channel:

define: bitcoin

define: ethereum

Bitcoin is Forever

On NFT’s

So Doge

DeFi for the rest of us

1

Read more here: https://medium.com/@nic__carter/its-the-settlement-assurances-stupid-5dcd1c3f4e41

DeFi for the rest of us

How zoomers trade baseball cards for Furbies

DeFi stands for Decentralized Finance.

Decentralized: Ideally, any single entity should not be able to stop the process or program or system in question. It’s running on some unstoppable system where anyone can execute operations.

Finance: Savings, Loans, Exchanges, Margin Trading, Synthetic Assets (Equities, for example), Lotteries, Insurance, Collateralized Debt Obligations (why not?), and such.

Before the advent of Bitcoin/Ethereum, financial products were run on a computer that some entity controlled. This entity had a physical address, and could be visited by law enforcement or regulators or more generally, whom I call “men with guns”. Bitcoin/Ethereum run on so many computers that it’s not possible for men with guns to stop it. Smart contracts running on Ethereum are hard to take physical control of – and stop, or modify unilaterally by men with guns. This is the decentralization that we are interested in. Because of this, we have “unstoppable programs”, at least in theory.

First, a simple example of where these “unstoppable programs” come in. Let’s say you want to buy some Ether. You could submit your KYC details to a centralized exchange like Coinbase or Kraken and get an account. You then wire-transfer some dollars to their bank account, with some routing instructions so that the money goes to your account. You wait for the dollars to show up in your dashboard, and then buy some Ether with it. You could let the Ether stay there (like how you let your money stay in a real world bank) or you could self-custody by transferring the Ether out to your own hardware wallet. Like you withdraw cash from a bank and self-custody under a mattress, for example.

Decentralized Exchange

BUT! Coinbase and its ilk are still “centralized” and men with guns can make them block your account. What then?

Enter DEX’es, or decentralized exchanges. Uniswap is one such DEX. It’s a set of smart contracts that run on the Ethereum network. The specific Uniswap smart contract that accepts USD and gives back Ether is located at the address 0xb4e1…c9dc on the Ethereum blockchain’s “main-net”. Think of it as the unchanging IP address of the smart contract on the Internet. If you make a request to this smart contract with some USD, and it returns some Ether to your address. Think of it as making a web-search request to Google.com with a query and getting back 10 blue links as the result. But to start this process, you need to have USD in a form that the smart contract can accept. Enter Stablecoins.

Stablecoins

Stablecoins are tokens that 1:1-track external fiat currencies like the US Dollar or Euro, external (to the system in question) cryptocurrencies like Bitcoin. This token system is implemented as an ERC-20 token (which I explained in my post on NFT’s).

Take USDC for example, which is a stablecoin that tracks the US Dollar. Every token minted by the USDC smart contract can be redeemed for $1. How do you mint a USDC token? You create an account on Coinbase, you transfer USD to it, and you buy 1 USDC for 1 USD. This 1 USDC is an ERC-20 token that can be transferred from your Coinbase account to your computer, or some other contract, or exchanged on Uniswap for something else. The 1 USD you owned earlier is now on the Ethereum blockchain in the form of 1 USDC. To redeem this 1 USDC back to 1 USD, you transfer this USDC back to your Coinbase account, and sell if for 1 USD. Note again, that there is no USD, ever, on the Ethereum blockchain. Ethereum does not know about USD at all. All it knows is USDC. Coinbase is your bridge from the real world to the ethereal world.

Coinbase is able to redeem USDC to USD because they have a traditional bank account somewhere that stores the USD that backs the USDC.

Coming back to our earlier use case: now that you have USDC on Ethereum, you can use the Uniswap contract to buy Ether with it, without going through Coinbase for the swap. But hey, we had to go to Coinbase to buy USDC in the first place. So, didn’t we just move the trusted third party from the exchange to the stablecoin issuer? We did. But it’s not that bad. You can get USDC without going to Coinbase as well – it’s just an ERC-20 token that anyone can transfer to you on the Ethereum blockchain without permission from anyone else. And you can use this to exchange to any other token on Uniswap without anyone’s permission as well. If more and more of the economy “moves on chain”, the on and off ramps to fiat currencies like USD will become less important. But for now, someone, somewhere has to store 1 USD in a bank account to be able to generate the equivalent stablecoin “on chain”.

Automated Market Makers

So, how does Uniswap know the exchange rates for every token pair that it allows us to trade with? Each token-pair is run as a smart contract, where you can make function calls to swap one token for another. The smart contract also has a liquidity pool under its control which stores both the tokens in some ratio, and this ratio is used to infer the market price. The assumption is that if this ratio goes out of sync with the external market price, arbitrageurs will trade in the other direction to take tiny profits and revert the pool ratio back to reflect external market price. Users with excess liquidity in any token can fund these liquidity pools and take a small cut of each trade that hits their liquidity pool. We now have a liquidity provider who can get some yield on their capital. Notice that this system of smart contracts is not relying on any external data to be ingested into the system. The exchange rate between token is entirely set by market dynamics.

Let’s say you wanted to provide liquidity to the token pair ABC-XYZ on Uniswap, but you have neither token with you. On the other hand, you have more than enough Bitcoin that you want to HODL and not want to sell. Can we use this Bitcoin as collateral to get a loan of some ABC tokens that you can then use to fund the ABC-XYZ Uniswap pool? Enter DeFi loans.

Loans

In the traditional world of finance, loans are given out to parties with good credit rating, and defaults are prevented/mitigated by a combination of social pressure of reputational damage, law enforcement, liquidation of other assets, or such. In the world of cryptocurrencies, the users have just one identity – a public key, which looks like this: 0x12cb…Tu3S. How do you cause reputational damage to this public key? Traditional default protection ideas fail here. So most crypto-loans are, for that reason, over-collateralized.

You want to borrow 100 tokens of ABC? You put up 150 ABC worth of Bitcoin as collateral, and then you take 100 ABC. As long as the smart contract can convince itself that the loan remains over-collateralized, you are good. If the value of Bitcoin goes down, you are expected to put up more collateral – or risk being liquidated.

Why would someone borrow an amount of X by pledging a collateral of 1.5X? Well, one obvious reason is that the borrowed token is more useful than the collateral token. It could be that the borrowed token is undervalued by the market vis-à-vis the collateral token. It could be that the borrower knows that the collateral token will tank in value the next day, and wants to willfully default on the loan. It’s all possible.

What next?

“TradFi” could get disrupted by “DeFi” because of how automated these smart contracts are, and how they can easily build on top of each other. Everything is an API, and API’s are open.

On the other hand, men with guns could mess with the trusted third parties that, say, back stablecoins – and take down the whole system.

Or, they could just run in this little corner of the general financial ecosystem, and everyone wins.


Looking for a sensible way to invest? Here’s how to get started.


So Doge

Much wow

I will admit something first. Dogecoin is fun. Dogecoin makes you laugh out of sheer joy, despite yourself. Dogecoin sucks you down into a rabbit hole of memes, parodies, and all things not serious.

But is everything a joke? Obviously not. So, in that spirit – let’s get serious.

Bitcoin is an idea. A meme, if you will. Like how the original Doge meme is backed by a cute Shiba Inu dog, the Bitcoin meme is based on the idea of what money is. As we know, money is just a made up thing – a meme – which people ascribe value to. Money doesn’t have to be “backed by” anything. All you need is the collective belief of people in the meme of money. To take this comparison further, on the Doge side, the meme goes a bit deeper than just the dog. We have words like: “much”, “wow”, “so”, “amaze”, “many”, etc. that can enhance the context in which the Doge meme is being used. On the Bitcoin side, you have the mythical founder, dead simple cryptography, and a few other powerful ideas that go on to implement a glorified ledger of IOU’s. That ledger is considered legit because of the meme that Bitcoin is set in stone.

If Bitcoin itself is a meme, why not make a coin out of a literal meme? Enter Dogecoin.

Dogecoin Worth $40 Billion as Cryptocurrency Joke Keeps Going Up - Bloomberg

Started off in 2013 as a joke, Dogecoin needed to work just like Bitcoin, but with a few tweaks. Why tweaks? Why not? It’s just a joke anyway. But sadly though, these weren’t “fun tweaks”. Like there is no Doge ASCII art in the transactions, or a “much wow” after every block of transactions. The tweaks were almost arbitrary technical departures from Bitcoin. Notably:

  • Changing the inter-block arrival rate (Bitcoin: 10 minutes, Dogecoin: 1 minute).

  • Proof of Work with the SCRYPT hashing algorithm in Dogecoin vs. SHA256 in Bitcoin.

  • Arbitrary rewards for block producers, but now changed to a fixed reward of 10000 Dogecoins per block (which are generated every minute).

Dogecoin works, in the sense that the jokes are funny, and if you choose to – you could use Dogecoin as money. If enough people choose to use it, it might very well thrive, not just survive. In 2021, enough people are buying it, holding it, talking about it, “meme-ing it”, and watching its value skyrocket in terms of USD. Because it’s funny, it’s an F.U to the traditional financial establishment, and perhaps even to the Bitcoin establishment (whatever that is).

But if everything about Dogecoin is warm and fuzzy, what gives?

Two things, specifically.

1. What makes a meme?

A meme implodes if what literally backs the meme fails to work. When I say “literal”, I mean the literal thing that backs the meme. Like in the case of Doge the meme, we want that Shiba Inu dog to have been real dog (and not secretly a stuffed toy), and the meanings of English words like “much” and “wow” to not change. In the case of Dogecoin, the literal technology that underpins the meme has to work. Let’s say Dogecoin can be double-spent because of the quirky way it is mined, or let’s say users cannot audit the global supply and the ownership of their Dogecoin because they cannot run a full node, or let’s say Dogecoin’s governing rules change tomorrow….for the lulz. In fact, those tweaks that Dogecoin did over Bitcoin can be argued to be quite unsound. These, and other technical artifacts can undermine the Dogecoin meme fundamentally.

Without being controversial, I can say that Dogecoin is orders of magnitude weaker than Bitcoin in these terms.

Why is that? That’s my second point

2. Stronger meme

Bitcoin’s meme is serious, to the point of almost being noble. This has inspired serious people. Some of these people have worked hard to make small technical improvements over the surprisingly good initial design, make the code robust against bugs, have a small footprint, and keep running forever. Some others have looked hard at the theoretical aspects of Bitcoin to see why it works, and have almost convinced themselves that it works because it has to work. Some others have meme-ed the idea that Bitcoin’s rules cannot change at all, and have fought long and hard wars of attrition to keep it as it is. There are entire industries built around Bitcoin’s mission, and words like “mission” get used quite often.

Image

On the other side, we have Elon Musk and Joe Weisenthal of Bloomberg who have meme-ed about Dogecoin. And they have meme-ed well. Like Elon putting a Dogecoin on the literal moon (whatta great meme). Joe has even joked that Dogecoin is a purer incarnation of what a cryptocurrency should be, without all the added serious baggage of Bitcoin. I argue the opposite. The serious nature of the Bitcoin meme is what makes it work, by getting the virtuous cycle of seriousness begetting robustness begetting soundness.

To meme Dogecoin into a phenomenon stronger than Bitcoin, it has to come from many fronts. Textbooks have to written about it. Academic conferences dedicated to it should emerge. Universities should start teaching courses about it. CME has to create a futures market for it. Central Banks all over the world have to start aping it. Folks should be drilling holes into the Alps to create vaults that can store a piece of paper with a private key written on it. These and many more have to happen for a meme to emerge stronger. Also, critically, despite the memes, the thing has to not change, and keep its singular purpose.

Bitcoin, luckily, had many things go its way, which kick-started the virtuous cycle of meme-ing, and those memes attracting people who were good enough to improve the thing that underlies the memes. Dogecoin might get there as well, or might not.

Image

Looking for a sensible way to invest? Here’s how to get started.


On NFT's

A serious joke

In 1996, a federal mint employee was eating bananas near where US dollar bills were being printed, and a Del Monte sticker on one of the bananas fell into the printing press and got under a transparent layer of a $20 bill. The Del Monte note was created. This particular $20 note is a collectible in some circles and has been auctioned many times before, and most recently for around $400,000. That the serial number of the note is printed over the Del Monte sticker makes this even cooler, and kind of unforgeable, and a fungible token became a non-fungible token.

What?

What does it mean for something to be “fungible” anyway? As an example, dollars (or any money for that matter) are fungible. That is, a dollar is a dollar is a dollar. It doesn’t matter if it’s a note with serial number XYZ or ABC or a ledger entry in some bank’s database. If I give you a $10 bill to transfer an equivalent value, the actual printed bill is irrelevant. This was made much easier when we went from cash (physical transfer of value) to digital transfer of value, and we now transfer an abstract notion of $10 without having to bother with a physical vehicle to carry that value. Now that we have digital money like your bank deposits or Bitcoin – what is the equivalent of the Del Monte note? We will get to that question in a bit.

In the physical world, there are two primary requirements for an object to become a collectible.

  1. It should be one-off, or a limited edition.

  2. It should have some intrinsic appeal because of aesthetic reasons (a Picasso, a Ferrari 250 GTO) or quirky reasons (the Del Monte note).

The appeal of a collectible is driven by popular culture. That’s beyond the scope of this article. The limited edition nature is what I am interested in.

Limited Editions and Artificial Supply Caps

Most paintings appreciate in value after the painter has died. This makes that artist’s work provably limited edition. In rarer cases, the technology used to create the collectible in question is provably obsolete, or some raw materials have become extinct. Many times, if the creator is still active, they could implicitly make a promise that the collectible is limited edition. For example, the car company McLaren has implicitly promised us that they won’t make more of their iconic F1 supercar from the 1990’s. Or Ferrari with their 250 GTO from the 1960’s. Note that there is no technical reason that prevents them from making more of these cars. It’s just that if they break their word, the collectible nature of these cars will vanish.

On the other hand, Seiko and Casio G-Shock, the Japanese watchmakers, make many limited edition collections of watches every year. In the watch collectors’ community, it’s almost a joke when a new “limited edition” Seiko comes out. Sure, there will only be 50 of these specific watches with some specific quirk, but tomorrow, there will be another limited edition collection with some other quirk. Eventually, even among watch collectors it’s hard to know which of these is a true collectible, and which is not. But they are all limited edition, according to Seiko.

What about collectibles in the digital world, where anything can be copy-pasted? Making a limited edition of anything is quite hard. For the most part, digital money is the only thing that cannot be copy-pasted. Government controlled digital money does this by having a centralized database with a trusted party (commercial or central banks) and this trusted party is – er – trusted to not copy-paste. Bitcoin and related cryptocurrencies prevent copy-paste using cryptography, distributed computing, and game theory.

If you can make a unit of a digital money unique, by affixing a banana sticker on a it digitally, you get yourself a digital collectible, or a Non Fungible Token (or NFT).

The Art Basel Banana, Explained | Vogue

Can we “affix a banana sticker” on a unit of digital money in your savings bank account?1 Bank account balances are not represented as cash-like notes with serial numbers. Every account has just a numerical balance, and that makes it quite hard to take a part of that balance, and affix a banana sticker on it. So, that’s out. What about the other money that we know about: Bitcoin? Bitcoin is cash-like, in the sense that each digital unit of Bitcoin (technically called a UTXO, or Unspent Transaction Output) has a unique serial number associated with it. But how do we affix a banana sticker on it? For better or worse, Bitcoin is a bit too focused on being a secure implementation of money, and makes affixing this banana sticker much harder, like that Del Monte note was a one-off with the US dollar, but most US dollar bills are unmarked and fungible. Bitcoin is out.

What if we had Bitcoin-like platforms where affixing banana stickers on non-copy-paste-able digital tokens is easy. These are NFT platforms built on Ethereum.

A bit of history here: Ethereum, being a more ambitious platform than Bitcoin, wanted to allow general purpose computation on a decentralized system with no central operator (the opposite of say, Google Cloud or Amazon Web Services). General purpose computation is all fine and dandy, but most users wanted coins equivalent to Bitcoin, but with more fine-grained control on how the actual units were minted and transferred. Note that Bitcoin itself has these minting and transfer rules, but they are all set in stone. Ethereum’s underlying currency: Ether, also has such rules, and for the most part, they are also hard to change. But if a single user wanted to create their own such coin platform, with their own minting and transfer rules, they could create such a platform on Ethereum. This platform standard was called ERC-20, and all the ICO’s you heard about from 2017-2018 were ERC-20 coin platforms with specific mint and transfer rules created by specific teams. To give another analogy, every ERC-20 token-platform is like a bank. Users of a specific ERC-20 token-platform have their own account in this bank with fungible ERC-20 tokens in these accounts, and can transfer these tokens from their account to someone else’s account. This entire ERC-20 bank, along with other such banks, are all built on Ethereum. There are 1000’s of popular ERC-20 token-platforms on Ethereum, with each of them having many users.


Read: a quick primer on bitcoin and ethereum


One such platform is Cryptopunks, which is an ERC-20 token platform created by a company with 2 engineers. Cryptopunks added one new feature to each of its erstwhile fungible tokens. Each token is associated with a unique 24×24 pixel art image representing various human like faces, which added – er – personality, to each token. It turned out that these tokens were now not fungible at all – some of these tokens have cooler personalities and are valued higher. Thus was born the ERC-721 standard, which allowed token-platforms to add a unique personality to each token that the platform mints. The ERC-721 standard is also popularly known as the NFT standard. Any token-platform that conforms to this standard allows creation/transfer/showcase of tokens with personalities – and sometimes, the personality is as random as a random string of 32 characters. The digital fingerprint of an image file can be 32 characters, and if you add such a fingerprint to a token – this token now has art associated with it. You could add digital fingerprints of music files to a token. Cryptokitties is another famous NFT platform on Ethereum – where each token represents a kitten, with kitten like features – all digital, of course. Note here that the token is associated with the token platform, which is in turn associated with the meta-platform on which the token-platform is built. Could the same 32 character fingerprint of some art be associated with a token from another NFT-platform? Yes, it can be.


Point:

Counterpoint:


Price is what someone is willing to pay

After all that background, the main question is – are NFT’s valuable? From the earlier analogy, we could ask ourselves – are watches valuable? There are more watches coming out every year – and Seiko makes many limited edition collections every year – is a particular Seiko watch from a particular limited edition collection worth $69 million? You have surely heard of the Paul Newman Daytona Rolex. As we said earlier, it’s hard to understand the popular culture that makes something a collectible. But, what’s definitely understandable is – what makes a digital artifact a limited edition. The NFT standard says nothing about NFT’s being limited edition. It just says that there should be a way to create NFT’s, transfer ownership, and show their uniqueness. So, we have to trust the NFT platform that it will somehow enforce the limited edition nature of these tokens. In Ethereum, the computer code (also called a smart contract) that controls any deployed NFT-platform cannot be changed after it’s been deployed. This gives us some notion of trust: we can inspect the deployed code, and check for ourselves tokens minted by this smart contract are truly limited edition. Does that give us true limited edition now? Not quite – there are two major caveats.

  1. Deployed smart contracts can be modified in the future, if there are backdoors or hooks, in the code. Proving their non-existence is quite hard. Foundation App, a popular NFT-platform, is just one public backdoor. The contract can be changed unilaterally by that organization in the future.

  2. An organization which deploys the V1 version of the NFT-platform could deploy a V2 version tomorrow, and a V3 version next year. If the organization puts enough marketing around these new versions of the same platform, users move. Case in question – Uniswap, the popular DeFi exchange contract is now in its V3 version.

In contrast, Bitcoin was deployed just once, and cannot be changed. And the code is open and has been pored over by normal users, bounty hunters, cryptographers, butt-hurt software engineers, and other experts over the last 11 years and it’s almost certain that there is no backdoor. A backdoor could be built in the future, but it will be very hard, and very visible. An NFT, on the other hand is a single token created by one among many NFT-platforms, on top of one among many meta-platforms like Ethereum. To put that in context, there are around 10,000 NFT-platforms on just Ethereum right now. If we leave Ethereum, we get other blockchain platforms, which are ostensibly decentralized across the world – and NFT-platforms are being built on them. NBA TopShot NFT-platform is on the Flow blockchain meta-platform. I have no idea how Flow works.


Read: Bitcoin is Forever


To give a concrete example, let’s take the NFT that captured the popular media’s limited imagination. Beeple’s $69 million “EVERYDAYS: THE FIRST 5000 DAYS”. The painting itself is 300+ MB, and like most NFT’s is not actually stored on the blockchain, but somewhere else on the internet. It’s not that easy to find, but I will save you the trouble by pointing to a link the works (for now).

Here’s how it was done:

  1. A SHA256 hash of the actual image file – its digital fingerprint – was computed.

  2. The fingerprint was then affixed to a token minted by a smart contract that lives on the Ethereum blockchain. This smart contract is actually called “MakersTokenV2” (no, I am not making this up).

  3. The token was then transferred to the buyer’s Ethereum wallet. The buyer apparently paid the equivalent money in Ether to Beeple through Christie’s, the auction house.

Ironically, this transaction itself cannot be traced on the Ethereum blockchain. We really don’t know for sure if the money was truly transferred or not. Assuming the transaction happened, the buyer now owns the right to transfer the token on the MakersTokenV2 smart contract on Ethereum to someone else.

A grand total of 10 people might have inspected the MakersTokenV2 code. We know not what we know not.

Image

There is this other idea that poor artists, ripped-off musicians, multi-billion dollar sports-organizations like the NBA could associate their content with an NFT platform and get better remunerated for it. Each piece of content goes on a specific token from a specific NFT-platform, and committed fans will buy them. What I fail to see is how an NFT-platform is different than a private art-gallery or a record label, or a pay-per-view sports channel. They can all channel money to the artist, and they can enforce copy-paste protection through law. If a piece of art is fingerprinted and attached to another token on a competing NFT-platform, and this token is then sold – what happens? The artist or the NFT-platform representing the artist will sue the other platform or buyer. Or some such.

Image

So, are NFT’s a fad? Yes.

Is every Bitcoin an NFT? Technically, yes. But every Bitcoin is worth the same value as every other Bitcoin.

Is every USD bill with a unique serial number an NFT? Technically, also yes. But every dollar bill is worth the same value as every other dollar bill. The Del Monte note though, is the kind of NFT that is in vogue now for being an NFT. That’s the fad part.


Looking for a sensible way to invest? Here’s how to get started.


1

Not to be confused with the banana that was taped to a wall.