Cover photo

The General, The Banker, and The Fool

A Map of Crypto - Part 3

First came the conquerors, unstoppable in war. Then came the administrators, who bound it all together into one apparently unshakable, immortal edifice. Then came the wasters, who knew no responsibility and squandered the capital of their inheritance upon whims and vices. And fell to other conquerors.

- Glenn Cook, The Books of The South

The movie "300" captures some of that military might and glory of Sparta when it describes a small force of 300 Spartans who make a legendary last stand at the Battle of Thermopylae against a massive Persian army of more than 300,000. The military prowess of Sparta rested on a number of cultural and technological pillars: a militant society focused on producing adept warriors, superior weaponry, bronze armor, phalanx fighting strategy, as well as other techniques.

Of the many technologies Sparta leveraged for military might, one technology of particular interest upon which they relied was the scytale. A scytale is a simple rod (more accurately a pair of rods with identical diameters). When a general wished to send a secret message to a commander or envoy, he would wrap a long and narrow bit of parchment around the rod and then write the letters of his message across the winds. Unwinding the parchment would leave an indecipherable list of letters which he could send with a messenger without fear of the message being read or modified. When the parchment reached it's destination, the commander or envoy who had the matched rod of the pair could rewind the parchment to decipher the message.

A scytale is an early form of cryptography (literally: to write secrets) which are techniques to secure communications. As you can probably imagine, cryptography has a long history of use in war. Being able to send messages that your enemies cannot intercept or modify to the far reaches of your army can be the difference between victory and defeat. During times of war, the focus of cryptography and encryption is often about secrets. Spy vs Spy. Keeping the world in the dark about what you plan.

Let your plans be dark and impenetrable as night, and when you move, fall like a thunderbolt.”

―Sun Tzu, The Art of War

However, cryptography is not ONLY about secrets. And generals, commanders, spies, and political envoys are not the only people who benefit from cryptography. Cryptography is also about identification and authentication. The benefit of the scytale was not only that it kept the message secret, it was also that it prevented modification of the message and confirmed that the message was from the general and not from an imposter. This function of cryptography, authentication, is less flashy but still incredibly useful, not just in war, but also in peacetime.

One example of a peacetime usage of cryptography is the Automated Teller Machine (ATM). When you go to the ATM to withdraw cash, how does the banker at the other end know that you are who you say you are? After all, you could be an imposter trying to steal funds from the bank. In order to overcome this dilemma, you and the banker simply need an agreed upon mechanism to authenticate that the cash withdrawal request is actually coming from you, the owner of the account.

Enter cryptography and the scytale. The only thing the banker needs to do is send you the digital equivalent of the matching rod of the scytale. If you can encrypt the message of your transfer request, the banker can decrypt the message to authenticate that it is indeed you who made the request. Without forms of encryption ATMs would not function and we would all need to go in person to the bank to withdraw funds. It is this second usage of cryptography, authentication, that "crypto"-currencies rely on and get their name from.

Major blockchains like Ethereum rely on a form of cryptography called public-key cryptography. When you set up an Ethereum wallet to interact with the blockchain, you generate a cryptographic "key" and an "address". Both the key and the address are part of a cryptographic set and can be used to encrypt, decrypt, and verify the authenticity of messages.

For example, Bob can send Alice a secret message by encrypting the message using Alice's public address. Alice can then use her private key to decrypt the secret message from Bob. Alternatively, Alice can "sign" a public message using her private key, and Bob can verify that the public message was indeed from Alice using her public address. One way to think about blockchains is that they are platforms for the transfer of verified messages where every participant has a unique cryptographic address and private key.

Contrary to popular myth, most blockchains are not particularly anonymous or secretive. Quite the opposite, most major blockchains are fully public and the activity on them can be easily viewed with what is called a "blockchain explorer". What you see inside a "Block" of a blockchain is a list of messages initiating certain actions to be performed. Transfer, Approve, Withdraw, Execute, Deposit, Swap, Mint, Claim are just a few examples of the functions you might see locked into a block.

In a very basic blockchain like the Bitcoin network, all of the messages deal only with the transfer of bitcoins between addresses. The bitcoin network has very limited functionality and is basically only designed to handle its own internal accounting ledger. I.e., who owns which bitcoins. In more complex smart contract platform blockchains like Ethereum, the signed messages can be used to trigger or execute any arbitrary action dealing with the accounts on the blockchain.

Another way to think about blockchains then, is that they are a list of accounts (addresses) with an associated list of assets. The owners of those accounts sign messages using their private keys to initiate actions and send these messages to the miners or validators to alter the account balances according to the instructions in the message. When the miners or validators confirm a block, they in essence "lock" the current state of accounts on the blockchain based on the list of requested actions in the block.

As an example, say a foolish gambler would like to purchase the latest dog token fad on his favorite blockchain. Using his private key, he would sign a message saying that he approves a trading contract to spend $1000 of USDC (a digital token representing USD on a blockchain) from his account (address), he might then sign a message saying he would like the trading contract to swap his approved $1000 of USDC for 1000 FancyDog Tokens. These messages would be sent to a validator who would incorporate them into the next block of the blockchain, immortalizing the gamblers purchase forever.

Unfortunately for the foolish gambler, he is quite late to the FancyDog trend and the price immediately drops from $1 per FancyDog token to 1 cent per FancyDog token. The foolish gambler can sign another message approving a trading contract to spend his 1000 FancyDog tokens, and a final message to initiate a swap converting these 1000 FancyDog tokens to $10, realizing a loss of 99% of his funds. Luckily, the remaining $10 is still enough to sign a message to Mint a collectable image of a frog sitting on a golden toilet. The foolish gambler is sure this digital collectable will moon 1000x.

And this is how a spartan general trying to send a secret message thousands of years ago is responsible for the trading of dog tokens on the internet in 2024.

Loading...
highlight
Collect this post to permanently own it.
Non-Fungible Thoughts logo
Subscribe to Non-Fungible Thoughts and never miss a post.