this post is a lot longer than others, and at times more technical! sorry if it’s boring for people who aren’t very familiar with applied cryptography (but it’s a space i am actively exploring). read at your own risk.
i was talking with a friend a couple of months ago and i found myself describing cryptography as a field of mathematics that was particularly interesting because it was political — a field that could “fundamentally change existing power structures and governance”. these began to feel like a lot of buzzwords (there are a lot of buzzwords thrown around in the space) and i wanted to understand my intuition a bit more explicitly…so here we are!
some of the key existing core values of the applied cryptography world that at align with mine are:
decentralization
interoperability
privacy
i’ll try to do a short dive into what each of these values means and examples of how they might be important in the real world, but i will not try to argue that these values are universally good (i don’t think they are!). i’ll show how i intuitively derive these values and therefore why they feel good to me, but i won’t address any potential and real setbacks of these values when applied universally. again, this post is just me trying to figure out where my intuitions come from, and how they can intersect with cryptography broadly.
i won’t go into the mathematical details about how cryptography provides these values in this post; i’ll just discuss what higher-level affordances cryptographic primitives provide and how they enable these values. where i can, i’ll also discuss whether cryptography is really required to uphold these values in practice. finally, there may be other values that haven’t been connected into the space yet, but this post does not attempt to imagine them.
decentralization
what is decentralization?
decentralization means creating systems where any one actor (among presumably many) does not have too much power. it limits the potential of any one bad actor to severely worsen the lives of others. for example, democracy as a form of governance (really, the decision-making aspect) is considered “decentralized” compared to something like totalitarianism, in which one party has all the decision-making power.
considering that there are still a lot of shared things that people need to do (e.g. create schools, banks, restaurants, businesses, public infrastructure like roads, etc.), one way to run a society without having one person have to coordinate that system across the entire population is to create multiple copies of that system across space. for example, consider the public school system — the world has multiple countries, each country has multiple cities, each city has multiple school districts, and each school district has at least one school. this requires many different schools to exist, where each school district has their own local policies not explicitly stated by the state education policies. this sort of “decentralization” is useful in the same way that decentralization is useful in government; if communities are governed at local levels, then they can respond more accurately to the needs of their own community. they have more clear information and deeply lived experiences that can inform policy, as opposed to having the federal government make their best guess as to what a local community needs. for example, at perhaps the most local level, teachers can assess the abilities of their students internally and adjust the pace/distribution of focus on their curriculum accordingly, but importantly in order to meet the state standards for education*
*note this local to global benefit, as well as existence of standards to regulate this physically decentralized world. maybe this could correspond to necessary regulation of decentralized communities in a way that fits the spirit of crypto — privacy-preserving?).
in this sense, decentralization means creating many self-sustained systems that do the same thing. creating many of them ensures that each system is small, and hopefully that i) each does not have too much power (”power” here being explicit control over a lot of people) while also ii) being able to govern more effectively.
in order to unlock the full potential of this sort of governance, implicitly one also has to have data interoperability (see next section) in case one system fails. when does a system “fail”? a system fails when it fails to effectively govern, e.g. the atomic system fails to be sufficiently decentralized AND the actors with more power become corrupt. if a single system fails, then it is important to be able to move to another one. i think i believe in this value because on a larger scale, i’m thinking about global immigration (e.g. Yunnan Chinese populations migrating to northern Thailand after the Chinese Civil war), as well as domestic migration. disclaimer — these are great examples of situations where it is actually incredibly difficult to leave the system, but people did anyways. and cryptography or technology obviously can’t solve any of these problems alone.
there is another* notion of decentralization in which, even within a single atomic system, the system functions in a decentralized way. consider a huge system in which theoretically everyone could participate (so we’re not creating multiple copies across space), but even within this system no actor has more power than others, and the way that the system self-governs is not through any one specific actor having more say, but rather some alternative consensus mechanism.
this second notion of decentralization is what some people claim blockchain provides. instead of having a central authority manage all transactions to ensure consistency, blockchain traditionally uses a decentralized, proof-of-work mechanism that uses a trick of cryptography (i.e. a hash function - 3blue1brown has a great video explaining how it works). in order for this to work, it relies on all decentralized parties to monitor the blocks of transactions on chain so they can check their validity. it is true that there is still somewhat a specialization in labor/management going on within blockchain. for example, certain actors in the network must have the computational resources in order to be miners, who batch broadcasted transactions and do a lot of computation (to find a pre-image of a hash function).
one thing that i’m not convinced by is that these miners are more powerful in that they initially propose which blocks get added to the chain. people may claim that anyone can check if a miner is cheating (by computing a hash), and that theoretically anyone could be a miner assuming they have the computational resources to compete with others. but this assumption of high computational resources is a big one, and one that disqualifies a claim that i’ve heard before, namely that “AI is a space where large actors with high compute win, while cryptography isn’t”. this assumption especially seems to break down when we see the popup of bitcoin mining companies and the like.
decentralization of what?
a couple systems that people most commonly consider decentralizing:
finance - no central bank means no authority can refuse to execute your transactions for reasons that aren’t just logistical, i.e. “you don’t have enough money”. in decentralized finance, we also have anonymity (you are identified by your public key. one can be sure you’re the actual public key you say you are by having you sign your transactions with your private key). at best, this can help more people participate in the system (e.g. people without valid government IDs, which are required to register with a bank).
note: i noticed i was going to write something about how people talk about how decentralized finance can help liberate people living under oppressive governments who control financial systems, but i honestly don’t know much about this. i haven’t been in the space long, but i haven’t yet heard direct stories that someone has this problem AND that blockchain would be a good solution. but maybe it’s a lack of widespread communication in both directions???
web - no central server can take all your data and “do bad things with it”. a classic example of “bad” is that some social media company collects a bunch of your personal data based off your internet activity, and sells it to companies so they can target their ads at you. this sort of mass marketing is manipulation and pretty scary in theory. a good amount of people in the cryptography space care about this.
people have built a lot of things that make up a decentralized web. a common example is decentralized social networks, like Bluesky.
interoperability
as previously mentioned, interoperability gives people the affordance of voting with their feet. if they don’t like a current system, they can simply move to another one, assuming that the system is sufficiently decentralized in the first sense (many copies of the system exist). in the real world, interoperability looks like this: i can physically move my furniture with me to another city, and the furniture will be just as valid in the new city as it is in the current city.
in a digital space, this affordance is achieved by the tool of digital signatures. in a digital signature
, the user has a private and public key-pair. they can sign things with their private key, and anyone can verify that it was signed with the private key just by looking at the corresponding public key. the reason this already gives us interoperability (in a limited sense) is demonstrated in the following example: say you’re using some web app, and you have some user data stored (maybe a certificate that you’re a real person with a valid email account, maybe some data about who your friends are, maybe some other personal settings, saved content, etc.). a trusted authority can sign each of these statements, and then the user can port over all this signed data to a new web app without having to go through the process to create all that data again. once it’s signed by a trusted authority, the furniture that a user has added to their home is valid in any other city.
in order to achieve practical interoperability then, we need it to be easy to move your furniture around. in more technical terms, we’d need some sort of compression of our data. if your method of transforming is very succinct, this gives it more reason to be the standard tool for achieving interoperability. this is what zkSNARKS
let us do. while zkSNARKS do also provide privacy (”zero knowledge”), the less talked about and perhaps more important affordance is precisely their succinctness. a an output of a zkSNARK is a few curve points, but can contain arbitrarily complicated statements (for those with some background on zkSNARK proving systems - “arbitrarily complicated statements” is assuming sufficient preprocessing of proof parameters. the larger the logic set of your statement, the e.g. higher degree polynomials you will need to commit to - so the larger your public trusted setup will be if required. on a technical level, there is (always) work to make each of these steps more practical, of course).
zkSNARKs let us store statements about data (e.g. “you are a valid person with a valid email account”), where the use case doesn’t actually need to know all of the data itself to be useful. in the previous example, the exact email account and the government ID of a person are not actually the important things here - the web app only needs to know they exist. therefore, we can compress this data into just a zkSNARK proof that “the valid emails/IDs exist”. this compressed form also becomes easier to pass around! so this statement format achieves both compression and privacy at once.
privacy
privacy is perhaps the most fundamental and longstanding affordance that cryptography (theoretical and applied) has promised. there are clear use cases of privacy even at the largest scales. perhaps the federal government wishes to keep its communication private from unfavorable governments who are a “threat to democracy”. perhaps during war, the government doesn’t want it’s military strategies to be exposed to the enemy...
but beyond large actors’ (e.g. the federal government) motivations for developing technology for privacy, there is reason for smaller actors to care about privacy in a deeply political sense — privacy readily gives smaller actors a form of power:
at the smaller scales, consider your personal relationships. you wouldn’t want anyone in the world to be able to see what you and your partner are talking about, whether you’re having a fight or just being silly/weird. partnership relies on the trust that you’ll both have privacy - that even in your worst moments, your partner can be a safe bouncing board and support system. if everything you said in those moments became public, they could be incriminating (e.g. you say harmful things about the friend you’re mad at, or you have poor mental health, etc.). you wouldn’t be able to be your authentic self anymore.
on a slightly larger scale, consider a club at school. maybe the executive board is going through some tough design decisions around the club. how many people do we want? what’s our bandwidth? who do we want? should we continue letting this problematic person into the club? it would be disastrous for all of these conversations to be public. for example, a good-intentioned club member without much information can just as easily misinterpret the intentions of the club from a few conversations. they spread misinformation about the club, and soon an organization with good intentions trying to figure out how to protect its own community has been socially fragmented or, at its worst, cancelled.
on an even larger scale, consider a political grassroots organization. if they are talking about how to develop their political strategy against dominant actors in the space (say longstanding political parties, corruption within local/state/federal governments, abusive employers or an unjust policing system), then necessarily they need a private space to meet, build community and trust, and mobilize.
in even just a utilitarian sense, privacy can be thought of as a useful equalizer — giving every group the chance and space, regardless of status, to create a community and incubate their ideas before showing it to the rest of the world. this ideally allows for the best ideas to win out.
you might ask, wouldn’t physical spaces provide enough privacy already? why do we need to ensure that privacy exists on a digital world? is cryptography really necessary for these manifestations of privacy that we want? there are at least two parts to this:
the privacy cryptography provides is more robust, and cases in the physical world where privacy was assumed and not achieved have historically been quite bad. cryptography gives you the mathematically proven assurance that even in the case of visibility (a case that one cannot reasonably ignore) an actor will learn nothing about the data. in the real world, the assumption that organizing in private spaces meant no external visibility led to terrible, unjust outcomes. for example, the US federal government, with organizations like COINTELPRO, have maliciously wiretapped MLK and other black political organizations during the civil rights movements.
the shorter but more immediate reason is that the world is just becoming increasingly digital, and there are no signs of this stopping soon. regardless of whether or not this digitization is truly good, societies with a lot of political power have grown to be dependent on digital technology. therefore, digitization is an important assumption to make and build around.
thanks to philip chen, derek yen, and althea allen for useful discussions and/or comments.
*janabel’s ADHD brain note: at first, maybe this feels like the same kind of decentralization as the “multiple copies of the same atomic structure”, because the financial system we look at is not homogenous and requires having many copies of individual actors and miners. however, each of these parts (actors/job specifications) are only relevant to making the more significant unit, the financial system. therefore, i still think of the financial system as atomic.