Unlike most of my posts or writings, this is not a technical one. It borrows from the technical world a bit, but its purpose is more of a social endeavor.

I’ve always had this amorphous construction in my head that I’ve used to think about what makes a person who they are. Why do they make the decisions they make and what makes them tick? I’m sure you’ve heard the term “everyone is a unique snowflake” or some form of that mentality. I believe that to be true.

I’ve never been able to quite put it into an explainable framework, but I’ve always been happy with my ability to judge character, rationalize behavior, and generally accept and appreciate people for who they are. One of my favorite authors, Orson Scott Card, put my general mantra quite succinctly in his Enderverse series. I’ll bastardize it by paraphrasing:

You can never be mad at something you truly understand

It’s a beautiful idea that teaches someone to really try and understand something before casting judgement. The problem, of course, is the difficulty in understanding someone and all of the complexities.

This blog post is about fleshing out an idea, using the concept of a Merkle tree, to think about the complexities that make someone who they are. The analogy, as all analogies go, will be imperfect. I write this now in an attempt to flesh out how I view the world and the people I interact with. I can only hope that in the process of doing this, it helps the reader as well. Maybe you learn about Merkle trees, which would be win in my book.

This also provides a way of thinking about what a culture, race, background, time period, etc do to influence who a person is, and how all of these things come together to create something truly unique.

Here we go…

The Fundamentals

As always, we should start by defining the thing we’re using as an ideological construct, the all-mighty Merkle tree. This data structure is pretty much the basis of all variation in the current blockchain. People are now finding out novel ways of using Merkle trees and various data, as well as layers of Merkle trees to organize and summarize information efficiently.

If you already know how a Merkle tree works, skip this section.

In a nutshell, a Merkle tree allows someone to summarize an arbitrary amount of data in a specific order in a very efficient way, as well as efficiently prove that any datum (single piece of data) belongs in that data. This is done by iteratively summarizing pairs of datum together, then successively summarizing the summaries, until you get to a single piece left, which summarizes the entire set. This last piece, called the Merkle Root, is the summary of everything that went into it, but stored in a relatively small amount of information. Here is the obligatory schematic of such a process.

Quick note, you should know that the size of each section is the same, regardless of where it is. That is, the size of the Root is the exact same size as the base layer. The sizes of the above boxes in the image are only different for illustrative purposes.

A few important things to note about a Merkle tree:

  • A Merkle Root is a beautifully succinct and unique representation of all the things that made it.
  • If you change one thing in the tree, you completely change the root. This happens no matter how small the change, or where it happens.

These things get deep, but for the purposes of this post, that should be sufficient.

The Human Connection

In my head, a human is just an amalgamation of many things: their genetics, race/culture, life experiences, decisions made, (soul?), etc.

From a Merkle tree perspective, every single piece of data included has a substantial influence on the Root, the final result of that tree. Every single thing that happens to an individual has an influence on the root of who they are.

We humans love to group together, form cliques of us vs. them mentality, and attempt to guess what types of people will do based on various factors. While these endeavors are both constructive (social psychology) or destructive (racism), I think we lose site that an individual is incredibly complex, and no two people have gone through the same set of things in life, therefor they simply can’t be the same person.

I like thinking of all of the factors that work together make someone as a Merkle tree. Each section being a branch in that tree that comes together to form the Individual at the Merkle Root. It reenforces the idea everyone has a unique perspective on life, and understanding it is valuable.

Sure, people from a similar background can have very close branches of influence, but the surrounding things that came together from individual experience can’t be copied, which results in different people. Making judgements on a person based on section of that’s persons tree is by definition incomplete.

When you meet someone, you are introduced to the Root of their individuality, and are unaware of the countless number of things that created them. You can guess at what some of the branches are, but only through time and experience can you start to learn more about them, and get a better picture of what makes them unique.

Don’t assume you understand someone when you’re only exposed to a few of the many branches that makes up their being.

Bringing it back around

The idea of truly understanding someone is daunting, and from the Merkle tree perspective, impossible. Maybe that’s where this analogy breaks down. What I like about it is that is gives me a framework for appreciating that there is a lot that makes up a person. It makes me want to understand more about them so that maybe the more I learn, the more I can appreciate their uniqueness.

Hope you enjoyed my ramblings as I flesh out ideas that role around my head.