Live data from Hacker News

Representing SHA-256 Hashes as Avatars

francoisbest.com

51–60 of 75 posts

Re: Representing SHA-256 Hashes as Avatars

#51
What about training a GAN on a 256bit latent space? I wonder how large it would have to be to generate sufficiently differentiated avatars. May be impractical - but the spaces that they generate seem to be relatively continuous, so it could possibly work well enough.

Re: Representing SHA-256 Hashes as Avatars

#52
post #7
post #4

As a warning, this would not be good for colorblind people (such as myself). The "Hello, Hacker News!" Hash's middle ring has half it's ring that looks identical to me, and unless I looked carefully, that entire ring looked the same to me.

What would you suggest as a solution ? I considered swapping Hue for Lightness in order to increase contrast changes. Would you be interested in testing out some variants ?

You can use less hues/shades, and make the shape change instead. That's also easier to commit to memory. If a friend's avatar is a circle with shades of green/purple, and another friend is a gem with shades of green/purple, the hue doesn't matter as much.

Re: Representing SHA-256 Hashes as Avatars

#53
Makes me wonder if you could effectively apply Chernoff faces (https://en.wikipedia.org/wiki/Chernoff_face) to make different hashes easier for humans to recognize. TLDR map parts of the hash to modify aspects of a face (position, size, orientation of eyes, ears etc.) and you can take advantage of all the in-built circuitry in the human brain which can identify very small differences in facial appearance.

The idea is explored a bit in Peter Watts novel Blindsight - not for hashes, but visualizing high dimensional multivariate data via clouds of tormented faces :)

Re: Representing SHA-256 Hashes as Avatars

#54

Earlier quoted context omitted.

To be honest, I have no idea how many distinct objects humans can distinguish between, but I am 99% confident that it is fewer than 2^128, much less 2^256. I suppose it's a somewhat nuanced question, though. For example, if I were shown every avatar in sequence, I'm quite sure I would always notice the "diff" between two consecutive avatars. But the bar that I have in mind is much, much higher: given a sequence of av…

FOLLOW-UP: It occurs to me that, actually, plenty of humans could definitely clear my "higher bar." All you need to do is memorize a 64-character hex string, which is difficult but completely doable using a memory palace or similar technique. Practically speaking, though, this isn't something that the average person is capable of doing. Even memorizing one hex string, let alone multiple (for each of your friends), re…

People memorize digits of pi. An outlier for sure, but a 7 year old memorized over 1k digits a few years ago. Pretty crazy!

Re: Representing SHA-256 Hashes as Avatars

#55
post #34

Strange that neither the article nor the comments mention https://gravatar.com/ It hashes the user's email http://en.gravatar.com/site/implement/hash/ and creates an "identicon" from the hash http://scott.sherrillmix.com/blog/blogger/wp_identicon/ or loads a user-defined image.

I'd recommend the open and compatible Libravatar over Gravatar

https://www.libravatar.org/

Re: Representing SHA-256 Hashes as Avatars

#57

The problem with hash avatars in general is that people want to use them for identity verification -- and humans are wired to do so automatically -- but technologically, they cannot provide this. The space of possible avatars (2^256, in this case) is far, far larger than the number of distinct objects that humans can distinguish between. Which means that there will invariably be "collisions:" two avatars that are not…

There's no need to distinguish between every object at every comparison. In most applications, you'll only be comparing a few dozen avatars with each other.

In the adversarial case, yes, there is. I agree that avatars help you distinguish among ~a dozen users; what they don't do is provide strong guarantees that the person you're talking to actually is who they claim to be.

Re: Representing SHA-256 Hashes as Avatars

#58
post #32

The problem with hash avatars in general is that people want to use them for identity verification -- and humans are wired to do so automatically -- but technologically, they cannot provide this. The space of possible avatars (2^256, in this case) is far, far larger than the number of distinct objects that humans can distinguish between. Which means that there will invariably be "collisions:" two avatars that are not…

On a related note, I've been experimenting with using a simple word list (like the eff diceware list) to generate strings of words encoding data. Trickiest part is figuring out how to encode padding, and the eventual size of the word list, and how complicated the final solution should be (eg using word lists that are not even binary numbers and leftover bits and all that). The diceware word list is nice since the wor…

Many years ago i created

https://github.com/luke-clifton/memorable-bits

(Also on hackage [0] but readme is missing)

It let's you define a pattern for generating "sentences" from data.

It deals with padding, lets you join word lists, or use multiple word lists in a single pattern.

Word lists can be any power of 2 long, and the library comes with a few different word lists.

[0] https://hackage.haskell.org/package/memorable-bits

Re: Representing SHA-256 Hashes as Avatars

#59
post #7

Earlier quoted context omitted.

What would you suggest as a solution ? I considered swapping Hue for Lightness in order to increase contrast changes. Would you be interested in testing out some variants ?

I am also colorblind. The gold standard is to use a color palette that is engineered for color blindness, which uses a suite of color-blind-friendly colors and heavily utilizes lightness. Here's a good article on an example from Tableau: https://public.tableau.com/en-us/s/blog/2013/10/choosing-col...

I didn't know about this, thanks!

Re: Representing SHA-256 Hashes as Avatars

#60

The problem with hash avatars in general is that people want to use them for identity verification -- and humans are wired to do so automatically -- but technologically, they cannot provide this. The space of possible avatars (2^256, in this case) is far, far larger than the number of distinct objects that humans can distinguish between. Which means that there will invariably be "collisions:" two avatars that are not…

You might get more milage in if the avatars are unique to the user viewing them rather than identical between users. If the nonce/salt used in generation it itself secure then it'd be phrohibity difficult for adversaries to force a collision without obvious detection, doubly so in communities.
Post reply on HN