It didn't play for me, but this is fantastic and brings me back to the 90's / early 00's era of web design with midis and sound effects. I miss that web.
Music and sound effects add to the mood and aesthetic of presentation. It's not so strange, either. TikTok leans on it heavily and people are loving it.
It would be nice if it only considered alphanumerics. Downside: punctuation can mean a lot in poetry. Upside: people might make punctuation less meaningful just to have more strings to try.
(In short, allowing all unicode characters makes this trivially easy... HN gets rid of some of the unicode weirdness though so I had to put it on Pastebin. I assume this matches the 'load bearing' criteria as I only use variable width spaces rather than additional characters.)
Not putting it on the blockchain though because I don't hate the planet.
> I assume this matches the 'load bearing' criteria as I only use variable width spaces
I think you might be stretching the rules slightly with that stuff.
Using "medium mathematical space" (U205F) instead of an ascii space seems pretty clearly to be using a special character for the purpose of manipulating the hash.
I'd much rather amulets be created not by messing with invisible codepoint differences, but rather by making more typographically distinct entries and picking out ones that are correct.
When I saw "generated", I thought "have a thesaurus suggest word swaps", not "manipulate invisible unicode characters"
Adding data to a blockchain doesn't use extra energy... As in, probably in the order of posting it to HN. The next block will be mined whether or not your amulet is in it.
More likely however is that the code you used to generate this amulet was worse for the environment.
Competing for the oversubscribed resource of space in the next block does drive up the price, though, which in the end also drives up the mining reward and ultimately energy use.
1T is a huge overcompensation. If you take Ethereum's estimated daily carbon output and divide it by its daily gas units (the unit by which computation is measured) and assign responsiblity that way, minting an Amulet consumes about 20KG CO2 emissions. Transferring one, about half that.
This concept is philosophically interesting, because an infinitely-powerful deity could compose text with a hash value of all 8's, and anyone could verify that it was authored by someone with more computing power than the universe.
The fact that this is possible, but hasn't happened, may imply that we have never received a message from such an entity.
But how many of those strings consist entirely of sensical prose?
Even in a string of just 4 letters, out of c500,000 combinations only c5k are a valid word. The longer the string, the smaller % of random letter combinations will happen to be valid prose.
You have 2^256 possible hash values and 2^(8*64) = 2^512 different 64 character strings. So for each hash value (including the "only 8s" one) there are, on average, 2^256 64 char strings mapping to that value.
Therefore (but also trivially) a random 64 character string (or any string) has a 1/2^256 chance of having all 8s in its hash. Since English has about 1 bit of information per character, there are only about 2^64 different non-gibberish 64 char strings. The odds that there exists any English phrase with an all 8 hash are 1/2^192 (i.e. zero).
Standard English text is around 1 bit of entropy per character, but it doesn't mean you can only write 2^64 non-gibberish text in 64 characters. For example, there are around 40k eight letter words, way more than 256. The entropy is so low because we keep using the same words, but we don't have to. We can also use abbreviations, invent proper nouns, and we don't even have to limit ourselves to English or even a single language.
"犬 in French is chien, that one is Klign jr" is perfectly valid.
I don't know if all 8s is possible, UTF-8 is quite wasteful for that purpose. Maybe we could take advantage of kanji. I don't know enough about Japanese, and even less Chinese, but it looks like you could make a proper noun by mashing any kanji together, including the obscure ones, and it will be usable and pronounceable. Maybe not pretty, but valid.
Edit: And as a last resort, we could cheat with "password: }8pHgaQ^?7ic'6KIO!uDXQnhL3(6hcfZmRYnGUw1Pz`c?y@D"
> For example, there are around 40k eight letter words, way more than 256. The entropy is so low because we keep using the same words, but we don't have to.
Correct, but that low entropy is what distinguishes
from (sampled from random Wikipedia article titles)
Alabama Christopher List Park Girlfriend Manor crucifera
or
I saw your dad outside of Walmart yesterday.
from (5th word of 2nd section of random Wikipedia articles)
gospel Rich existed school and for Deputy he
> We can also use abbreviations, invent proper nouns,
Sure, make it 1.1 bits per character (the 1 bit is not a precise number anyway). That doesn't change anything about the orders of magnitude involved.
> we don't even have to limit ourselves to English or even a single language.
I tried to look for entropy of Chinese writing, and I've only found an upper bound of 3.8 bits per (UTF8) byte. That makes it still unlikely but at least conceivable that there is an all-8 amulet made of 64 bytes of Chinese text.
> UTF-8 is quite wasteful for that purpose.
Right, but as far as I understand that's the constraint.
> And as a last resort, we could cheat with "password: }8pHgaQ^?7ic'6KIO!uDXQnhL3(6hcfZmRYnGUw1Pz`c?y@D"
Yes, but that's not interesting from either an art nor from a computer science point of view.
Yeah, my idea makes more sense if you omit the 64-byte limit; then the input can be an entire book.
For an ideal hash function, every output maps to an infinite number of inputs. I don't know if SHA-256 has that property, but God could just define the simplest ideal hash function and let people cryptanalyze it.
...and with a preimage attack, something that even MD4 --- for which collisions can easily be generated with hand calculation --- resists to this day. I'm reasonably confident that if the three-letter-agencies know of such attacks, or general techniques for doing so, they would be very quiet about it.
Yes. Or even that someone reinvented computing. Or contact from an alien race. Are all more plausible than a deity. For a proof of God I would require something without in which it really is the most likely explanation, like a face appearing on a piece of toast
There was a religious apologetics claim, widely presented and debated in the 1990s, that there were statistical anomalies in the Torah to show that it was really written by God: https://en.wikipedia.org/wiki/Bible_code
However, the measurement technique was somewhat underdetermined, which is a problem akin to p-hacking (as you could look for many possible anomalies and only publish the ones that you successfully find).
> anyone could verify that it was authored by someone with more computing power than the universe
I never thought of this that way, but that's an excellent way to put it! (Although you also need to assume that the hash is extremely strongly preimage-resistant, which we don't have good mathematical techniques to prove today.)
One challenge for this: what is the canonical text encoding and canonicalization, and what is the canonical hash function?
Well, if I were God, I would just define a canonical encoding and hash function as part of the message. Mathematicians would study the algorithm over the years, but never find any flaws.
Isn't that cheating though? By controlling the hash function you can alter the function itself until your message will meet the requirements, even though someone later on would find it impossible to compute a new message that meets the same?
Presumably, God could foresee the cryptographic flaws of any algorithm, and could therefore design a simpler secure hash function than any human. In this case, "secure" means that there exists no algorithm to compute a preimage faster than brute force.
This would be a "nothing up my sleeve" function, in contrast to something like https://en.wikipedia.org/wiki/Dual_EC_DRBG that cryptographers would identify as sketchy.
Hypothetical question: What is the Kolmogorov complexity of a secure 256-bit hash function?
Hence God must have computational power greater than a Turing machine, at least if he wants to prove His hash function minimises Kolmogorov complexity.
For a rough upper bound, there are some examples at [0], which could be less than 100 characters of C (once golfed).
#!/bin/bash
COUNT=1
while true ; do
COUNT=$((COUNT+1))
SHA=`echo "I adopted $COUNT puppies." | sha256sum | egrep 8888`
if [ "$SHA" != "" ] ; then
echo "$SHA I adopted $COUNT puppies."
fi
done
Sample output:
4f3e14ded07eda16a7fb57c42aebf1f97ef67acba4980bf472a8e188887c7726 - I adopted 6484 puppies.
57c3e9fd05f06a705206d38888b317b5eb596d35c6f308b909a440e2c8e391c8 - I adopted 6627 puppies.
4624f6bb4c7d3d8328888495c1422a1891b609b81abda3ff4d70bedd1c4f6cdd - I adopted 12631 puppies.
9c0be05548139888804d3799ad5729ea424b0487487a6b18803f1aa5746c1904 - I adopted 15663 puppies.
c60fc3f97f62ee07665325e235faa05fefc445aee7d356a9d81f58888c475147 - I adopted 15861 puppies.
Bonus points if the number of puppies adopted is a palindromic prime. [1]
Having to write 40k submissions to find one with 6 8s more than qualifies as rare to my mind.
Automatically incrementing a string might satisfy the requirements, but for an artistic project it's not what I'd base the metrics on, and indeed I don't think the author did.
This script [0] takes any amulet and adds various combinations of unicode white space to the end to create a rarer version without visually changing the original. It definitely goes against the spirit of white space being "load bearing", but was fun to make anyway.
So 10 8's is mythic. That's only 2^40 (probably less since the 8's dont have to be in a specific position in the hash). Based on https://gist.github.com/epixoip/a83d38f412b4737e99bbef804a27... you should be able to bruteforce a mythic amulet in 48 seconds with a high end gpu from 2016.
Can you please share how you got the 2^40 number? I've been trying to think of how to figure out the odds of these.
Odds of 4 hex 8's in a row given a 4 digit string is (1/16)^4.
Odds of 4 hex 8's in a row given a 5 digit string is
number of ways to arrange 8s in the first 4 digits (1) times 16 possible 5th digits plus number of ways to arrange 8s in the last 4 digits (1) times 16 possible 1st digits, all divided by the number of possible arrangements (16^5)
I did 10 8's (mythic!) at the beggining of the hash (2^4)^10 = 2^40.
I didnt account they could start at any position, so the actual number is probably
(64-10)/2^40 ≈ 1 / 2^35
We should also subtract strings longer than 10 that were double counted. However i think the probability of such things is negligible relative to 2^35.
If instead we were doing 4 8's i think it would be:
(64-4)/((2^4)^4) = 60/2^16 ≈ 2^10
I've always been bad at calc probabilities so i may have messed this up.
> Odds of 4 hex 8's in a row given a 5 digit string is number of ways to arrange 8s in the first 4 digits (1) times 16 possible 5th digits plus number of ways to arrange 8s in the last 4 digits (1) times 16 possible 1st digits, all divided by the number of possible arrangements (16^5)
You're double counting "88888". But then again so am i.
I wrote a CUDA kernel to look for some. My 3080 managed 3 billion/second including population counting the 8s. After 48 seconds it had spat out three 10-eights and one 11-eights amulet:
Here are some excellent hex digits: 251d5b059cefc6f3
If you accept the questionable premise that the people that write short summaries used in IMDB are writing poetry, then the summary of "Road Trip" (tt7328966):
Two friends set out on a road trip but one of them has a few questions he needs answered.
121 comments
[ 3.6 ms ] story [ 212 ms ] thread[0] https://text.bargains/media/coin.mp3
Music and sound effects add to the mood and aesthetic of presentation. It's not so strange, either. TikTok leans on it heavily and people are loving it.
I want a return to sound on the web.
https://text.bargains/scratchpad/
> Hello Hackernews, This is one. Whats so tough?
47d751f8964d717320b888888b81db0a8a35e79f528549f0e9dba13e0e4d6c4c
(In short, allowing all unicode characters makes this trivially easy... HN gets rid of some of the unicode weirdness though so I had to put it on Pastebin. I assume this matches the 'load bearing' criteria as I only use variable width spaces rather than additional characters.)
Not putting it on the blockchain though because I don't hate the planet.
I think you might be stretching the rules slightly with that stuff.
Using "medium mathematical space" (U205F) instead of an ascii space seems pretty clearly to be using a special character for the purpose of manipulating the hash.
I'd much rather amulets be created not by messing with invisible codepoint differences, but rather by making more typographically distinct entries and picking out ones that are correct.
When I saw "generated", I thought "have a thesaurus suggest word swaps", not "manipulate invisible unicode characters"
Hehe maybe. To generate it I manipulated the width of the spaces between the words, changed the grammar and did word swaps :)
Looking at the examples provided, they also seem to use line breaks to add further entropy.
More likely however is that the code you used to generate this amulet was worse for the environment.
That's apparently 1/5-1/8 the CO2 of RUNNING AN ENTIRE HOUSEHOLD FOR A YEAR.
https://www.whatitcosts.com/carbon-offsets-cost-prices/
The only way I see this as not being terrible is if the offset is much less bad on a yearly basis.
This also seems to be hundreds of times more CO2 than the average US internet user uses in a year.
https://www.energuide.be/en/questions-answers/do-i-emit-co2-...
(I don't know about this system, is it using the Bitcoin blockchain?)
https://digiconomist.net/bitcoin-energy-consumption/
2c27e38aaba003380ea55c4c674aa2f3f17743481c107dc388888884a689353b
This is an epic amulet!
The fact that this is possible, but hasn't happened, may imply that we have never received a message from such an entity.
Even in a string of just 4 letters, out of c500,000 combinations only c5k are a valid word. The longer the string, the smaller % of random letter combinations will happen to be valid prose.
Therefore (but also trivially) a random 64 character string (or any string) has a 1/2^256 chance of having all 8s in its hash. Since English has about 1 bit of information per character, there are only about 2^64 different non-gibberish 64 char strings. The odds that there exists any English phrase with an all 8 hash are 1/2^192 (i.e. zero).
"犬 in French is chien, that one is Klign jr" is perfectly valid.
I don't know if all 8s is possible, UTF-8 is quite wasteful for that purpose. Maybe we could take advantage of kanji. I don't know enough about Japanese, and even less Chinese, but it looks like you could make a proper noun by mashing any kanji together, including the obscure ones, and it will be usable and pronounceable. Maybe not pretty, but valid.
Edit: And as a last resort, we could cheat with "password: }8pHgaQ^?7ic'6KIO!uDXQnhL3(6hcfZmRYnGUw1Pz`c?y@D"
Correct, but that low entropy is what distinguishes
from (sampled from random Wikipedia article titles) or from (5th word of 2nd section of random Wikipedia articles) > We can also use abbreviations, invent proper nouns,Sure, make it 1.1 bits per character (the 1 bit is not a precise number anyway). That doesn't change anything about the orders of magnitude involved.
> we don't even have to limit ourselves to English or even a single language.
I tried to look for entropy of Chinese writing, and I've only found an upper bound of 3.8 bits per (UTF8) byte. That makes it still unlikely but at least conceivable that there is an all-8 amulet made of 64 bytes of Chinese text.
> UTF-8 is quite wasteful for that purpose.
Right, but as far as I understand that's the constraint.
> And as a last resort, we could cheat with "password: }8pHgaQ^?7ic'6KIO!uDXQnhL3(6hcfZmRYnGUw1Pz`c?y@D"
Yes, but that's not interesting from either an art nor from a computer science point of view.
For an ideal hash function, every output maps to an infinite number of inputs. I don't know if SHA-256 has that property, but God could just define the simplest ideal hash function and let people cryptanalyze it.
However, the measurement technique was somewhat underdetermined, which is a problem akin to p-hacking (as you could look for many possible anomalies and only publish the ones that you successfully find).
> anyone could verify that it was authored by someone with more computing power than the universe
I never thought of this that way, but that's an excellent way to put it! (Although you also need to assume that the hash is extremely strongly preimage-resistant, which we don't have good mathematical techniques to prove today.)
One challenge for this: what is the canonical text encoding and canonicalization, and what is the canonical hash function?
This would be a "nothing up my sleeve" function, in contrast to something like https://en.wikipedia.org/wiki/Dual_EC_DRBG that cryptographers would identify as sketchy.
Hypothetical question: What is the Kolmogorov complexity of a secure 256-bit hash function?
For a rough upper bound, there are some examples at [0], which could be less than 100 characters of C (once golfed).
[0] https://stackoverflow.com/a/14409947/5327391
https://suricrasia.online/unfiction/basilisk/
so do we start with markov chain generators or jump straight to gpt-3?
shuf -rn 5 /usr/share/dict/words | tr '\n' ' '
http://mj.ucw.cz/geek/
For more information: https://en.wikipedia.org/wiki/Geek_Code
Checking the mythic:
echo -n "29560568 is the answer to life, the universe and everything." | shasum -a 256
[1] https://en.wikipedia.org/wiki/Palindromic_prime
88888eb74ed90df21487f33795e8af9f578b6b5e359db71e4ac0b2bd8b1115c8 - I adopted 34534 puppies. 7c31d274888888f28e37743d4c554e5fffdb7df35a1291bc83119e31743a233b - I adopted 43653 puppies. e88888508aeaea73f45925e9af3e95890ec15362ce0b0244f56d271f0ba8ce8e - I adopted 53527 puppies.
probably more coming soon ...
7c31d274888888f28e37743d4c554e5fffdb7df35a1291bc83119e31743a233b - I adopted 43653 puppies. 5888888c44ce19109d9021679ca8023314cb06a0b48fe9f57f34d2f83ee5a971 - I adopted 321255 puppies. b4b4f1bdf07da6049c7aa172504e8f7464d13333508888889743ebd9136f0345 - I adopted 521564 puppies.
It's hard to buy the classification of rarity outlined in TFA.
Automatically incrementing a string might satisfy the requirements, but for an artistic project it's not what I'd base the metrics on, and indeed I don't think the author did.
> 29560568 is the answer to life, the universe and everything.
> 6029497765 is the answer to life, the universe and everything.
895032f28cc98e6c10ff4218fa9890eac36a812837668888888888a30ae477da
[0] https://github.com/blopker/amulet_finder
Doesn't sound that mythic to me.
If you can brute force 9 8's from only English words (or whichever language), I'd still call that impressive.
Odds of 4 hex 8's in a row given a 4 digit string is (1/16)^4.
Odds of 4 hex 8's in a row given a 5 digit string is number of ways to arrange 8s in the first 4 digits (1) times 16 possible 5th digits plus number of ways to arrange 8s in the last 4 digits (1) times 16 possible 1st digits, all divided by the number of possible arrangements (16^5)
So 8888X or X8888 is (2 * 16) / (16^5)?
And then 8888XX or X8888X or XX8888 is...
(16^2 + 16^2 + 16^2) / (16^6) ???
I didnt account they could start at any position, so the actual number is probably
(64-10)/2^40 ≈ 1 / 2^35
We should also subtract strings longer than 10 that were double counted. However i think the probability of such things is negligible relative to 2^35.
If instead we were doing 4 8's i think it would be: (64-4)/((2^4)^4) = 60/2^16 ≈ 2^10
I've always been bad at calc probabilities so i may have messed this up.
> Odds of 4 hex 8's in a row given a 5 digit string is number of ways to arrange 8s in the first 4 digits (1) times 16 possible 5th digits plus number of ways to arrange 8s in the last 4 digits (1) times 16 possible 1st digits, all divided by the number of possible arrangements (16^5)
You're double counting "88888". But then again so am i.
https://twitter.com/Killeen__/status/1387194611068588034
didn't cheat with trailing spaces haha
> first and foremost
> I avocado toast
---------
> what the fuck is an NFT
> can someone please explain
> waste io
My rarest I've found is probably 🇸🇲 [1]
[0] https://sourcetarget.email/editions/29/ [1] https://opensea.io/assets/0x2a2127753653f6210d26f5b470738bf1...
Two friends set out on a road trip but one of them has a few questions he needs answered.
Is an "epic" Amulet (7 8s in a row)
I think I need to stop now.
8c29152333c388888888961e813457759ca87a8b54078779f8cbdefedf6401d2
You picture an infinite and essentially captivated dimension.
a8888ff4ddb3e7c0c38d30a8b4184f78d85888806f67ab73ca64c5ad51cae6b8