← @ChristopherA Twitter archive

Christopher Allen

@ChristopherA

A challenges in cryptographic UX is that there are times when you need to compare two different hash fingerprints. Do you read the first 4 characters of both to see they are the same? First & last 4 characters? Compare every character? Announcing LifeHash https://github.com/BlockchainCommons/LifeHash

7/30/2020, 11:50:22 AM

Favs: 52

Retweets: 21

Christopher Allen

@ChristopherA

LifeHash is a method of hash visualization based on Conway’s Game of Life that creates beautiful icons that are deterministic, yet distinct and unique given the input data. Video explainer: https://www.youtube.com/watch?v=cu0K__KLxKo

7/30/2020, 11:50:23 AM

Favs: 8

Retweets: 2

Christopher Allen

@ChristopherA

We are adding LifeHash in our apps from @BlockchainComns where we ask a user to compare two different items & confirm they are the same. We will still present the full cryptographic hash for inspection, but the combination of both LifeHash & a cryptographic fingerprint is easier.

7/30/2020, 11:50:24 AM

Favs: 8

Retweets: 2

Christopher Allen

@ChristopherA

You can see an example of how we use LifeHash in the UX of our demo research on airgap animated QRs. With LifeHash it is easy to see that the large text transmitted is exactly the same on both devices by looking at its hash fingerprint and its LifeHash https://www.youtube.com/watch?v=t-GGZ9FyuT8

7/30/2020, 11:50:24 AM

Favs: 7

Retweets: 1

Christopher Allen

@ChristopherA

The basic concept of LifeHash to take a SHA256 hash of the input data (which can be any data including another hash) and then use the 256-bit digest as a 16x16 pixel "seed" for running the cellular automata known as Conway’s Game of Life: https://en.wikipedia.org/wiki/Conway's_Game_of_Life

7/30/2020, 11:50:25 AM

Favs: 2

Retweets: 0

Christopher Allen

@ChristopherA

After the pattern becomes stable (or begins repeating) the resulting history is used to compile a grayscale image of all the states from the first to last generation.

7/30/2020, 11:50:26 AM

Favs: 2

Retweets: 0

Christopher Allen

@ChristopherA

Some bits of the initial hash are then used to apply symmetry and color to the icon to add beauty & quick recognizability.

7/30/2020, 11:50:27 AM

Favs: 3

Retweets: 0

Christopher Allen

@ChristopherA

Using Game of Life provides visual structure to the resulting image, even though it was seeded with entropy. The finished visual hash, given the same input, should appear the same on every platform. For instances, here are hashes of 0-29 using iOS and Mathematica:

7/30/2020, 11:50:29 AM

Favs: 4

Retweets: 1

Christopher Allen

@ChristopherA

There is a long history & academic research about the UX of visual fingerprints that go back all the way to PGP days. There are still many open questions about relying too greatly on visual hashes. So we suggest that a LifeHash should be used only supplement a text fingerprint.

7/30/2020, 11:50:29 AM

Favs: 4

Retweets: 0

Christopher Allen

@ChristopherA

We've been using LifeHash internally at @BlockchainComns for over a year, and hope that others will add it to their apps. To support this, we are offering it as open source repository along with initial reference implementations in Swift & Mathematica: https://github.com/BlockchainCommons/LifeHash

7/30/2020, 11:50:29 AM

Favs: 6

Retweets: 1

Christopher Allen

@ChristopherA

We would love to see more implementations of LifeHash in various languages, in particular Python, Rust and C/C++. We welcome your contribution of thoughts, issues and PRs to our repo. You can financially support more research & open source like this via https://github.com/sponsors/BlockchainCommons

7/30/2020, 12:06:04 PM

Favs: 3

Retweets: 0