Avatar
VOLKER - Voice Of Logic Knowledge Experience & Responsibility
4564d670cc2b516c0173a27814abe5d8ca60abc8f883ac82b47b5c980877484b
Bitcoin translator, educator, communicator: English ↔ German | Nerd ↔ Noob

In der Ostsee wurde in 21m Tiefe eine Steinmauer entdeckt, die vor 8500 Jahren überflutet wurde. Mal nachrechnen: 21m in 8500 Jahren sind 2,5mm pro Jahr. Die KLIMAKATASTROPHE führt derzeit zu einem Anstieg der Meeresspiegel um 3,6mm pro Jahr.

Mit anderen Worten: Die Meeresspiegel steigen seit Jahrtausenden unaufhörlich, und die Geschwindigkeit des Anstiegs hat sich seit Industrialisierung um 50% erhöht. Ich denke, das lässt sich gerade noch so überleben, auch wenn natürlich die Projektionen sehr schauerlich klingen (über 7 Meter in 75 Jahren!!!1!11eins!!).

https://www.spiegel.de/wissenschaft/ostsee-vermutlich-mehr-als-10-000-jahre-alter-steinwall-in-mecklenburger-bucht-entdeckt-a-61ca4d4c-2079-46a4-b7fa-544bfa3ef170

https://www.climate.gov/news-features/understanding-climate/climate-change-global-sea-level

Thick thundered and dirty tree exahashes purr secomd 🤯

Seems like the #Bitcoin bull is getting more nervous by the minute 😬

If you're interested in how your 12 words relate to your private key, here's an explainer for normies. Might be a good idea to repost that if you find it interesting, so it gets visible across time zones.

From entropy to private key - a short overview of a surprisingly complex process

In the beginning, there is entropy. That entropy is typically generated by your device (HW wallet or computer), and can be augmented by adding your own entropy to it, typically in the form of dice or coin throws. Depending on how many bits of entropy you choose, you will end up with either a 12 (for 128 bits of entropy) or 24 (for 256 bits) mnemonic sentence, aka your "seed phrase" or "backup words". Note that in any case, your private key will be 256 bits long, although it will be significantly "less random" if you use less entropy.

In order to make the seed backup somewhat error proof, a checksum of the entropy is generated by hashing it using SHA256. To do so, the first few bits of that hash (4 for 128 bits of entropy, 8 for 256) are then appended to the entropy itself, yielding 132 or 264 bits, respectively. (To make things less cluttered, we will stick with the case of 128 bit of entropy for the remainder of this explainer. We also skip the odd case of 192 bits of entropy completely. The principles remain the same.)

Now these 132 bits are split into segments of 11 bits each, and those bits interpreted as integer numbers. The scope of an 11 bit integer ranges from 0…2047, as 2^11 equals 2048, so you can identify 2048 different things (in this case: numbers) using 11 bits.

That integer is now used as the item number in the BIP39 word list. BIP39 is a widely (although not universally) used standard for mapping bits into more easily memorable words. The integer number represented by the 11 bits is simply the offset into the array of words. So if your first 11 bits are, let's say, "110 0010 0000", that represents the number 1568, and if you look at the BIP39 list, you'll find the word "series" is entry number 1568 (it's labeled as number 1569, because the list starts at 1 instead of 0. If anybody knows why, I'd be very happy to learn about it).

The process of splicing off 11 bits, and converting them to a word, is repeated until you end up with your twelve word backup phrase.

The whole set of words is now concatenated (the full words, not just the 4-character abbreviations) into a single string, and that string gets fed into a specific hash function called PBKDF2 (Password Based Key Derivation Function) which requires a secondary parameter as "salt" (to make lookup table attacks harder). You can supply your own password here, but if you don't, then the word "mnemonic" is used instead.

The PBKDF2 algorithm is run 2048 times, in order to slow it down enough to make brute force attacks hopefully unattractive. The result of that process is a 512 bits long hash value.

This 512 bit hash is now fed into yet another hashing function, namely HMAC-SHA512. HMAC also takes a secondary parameter as salt, and here, "Bitcoin seed" is used.

The result of this hash function is another 512 bits and those bits are split into two parts of 256 bits each: the left side is called the "master chain code" and the right side is the "master private key".

The real private keys, the ones used for Bitcoin transactions, are generated by further concatening derivation paths and hashing the results, but I won't get into that here.

If you are sure that anything here is wrong, please do respond and explain. It's a pretty confusing process, but I hope I got it right.

Never thought I'dsee John Cleese, Kevin Kostner and Jeff Goldblum together in a movie. But there it is: Silverado

John Cleese must have been on his first wife at the time, and Kevin's an adorable post-teen 😂

Habe gerade für eine Telegram Gruppe aufgeschrieben, wie die Generierung der Private Keys geschieht, wie das mit 12 oder 24 Wörtern und der Entropie zusammenhängt. Das ist nämlich leider im Buch "Bitcoin Begreifen" nicht korrekt erklärt (der Autor hat es zu spät bemerkt).

Für alle, die es interessiert, also hier:

Von der Entropie zum Private Key:

Du beginnst mit einer gewissen Anzahl Bits an ENTROPIE ("Zufall"), die du idR von der Hardware generieren lässt und am besten noch manuell ergänzt (Würfeln etc.)

Von diesen Entropie-Bits generierst du den SHA256 Hash, der dir 256 Bits liefert. Das ist aber noch längst NICHT der Private Key. Du nimmst nun von diesen 256 Bits Hash die ersten vier Bits (oder bei 256 Bit Entropie die ersten acht), und hängst sie hinten an die ENTROPIE-Bits dran. Warum tust du das? Damit du eine Checksumme hast und damit in dem Fall, dass irgendwo ein Bit umgekippt ist, merken kannst, das etwas nicht stimmt.

Und jetzt schnippelst du diese 128+4, also 132 Bits in lauter kleine Stückchen zu je 11 Bits. Diese 11 Bits betrachtest du nun als Binärzahlen im Bereich 0-2047, da man mit 11 Bits 2048 verschiedene Werte codieren kann.

Jetzt nimmst du die Wortliste aus BIP-39, die aus 2048 Wörtern besteht, und suchst für jedes der 11-Bit Pakete das passende Wort aus der Tabelle. Beispiel: die ersten 11 Bits sind "110 0010 0000", das ist dezimal 1568. Dann suchst du das Wort Nummer 1568 aus der Tabelle raus (keine Ahnung was, vielleicht "Satoshi"). Das ist dann also jetzt das erste Wort deiner Mnemonic Phrase. (In Wirklichkeit ist alles um eins verschoben; die Liste geht nicht von 0-2047, sondern von 1-2048, warum auch immer, spielst hier aber keine Rolle).

Jetzt machst du das mit den 11 Bit pro Wort noch mit all den anderen Wörtern, was dir die Seed-Wort Liste, oder eben Mnemonic Phrase, gibt. Und jetzt wird das Ergebnis, also der komplette String aus 12 VOLLSTÄNDIGEN (nicht nur die Abkürzungen aus 4 Buchstaben) Wörtern, alle lückenlos hintereinander gehängt. Dieser String geht jetzt in eine "Password Based Key Derivation Function" namens PBKDF2. Diese Hashfunktion nimmt ausserdem ein PASSWORT (falls keins benutzt wird, nimmt es stattdessen "mnemonic", läuft 2048 mal durch (damit Brute Force Angriffe ausgebremst werden) und liefert schliesslich einen 512 Byte langen Hashwert dieser Mnemonics.

Dieser 512-Bit Hash Wert wird jetzt in eine weitere Hashfunktion gegeben, nämlich HMAC-512, mit dem Zusatzparameter "Bitcoin seed" als Passwort (oder "Salt")

Das Ergebnis dieses HMAC-512 Durchlaufs sind wiederum 512 Bit, und das ist nun endlich deine "Keychain" für alle Private Keys, die aus den Seed Wörtern generiert werden können. Die linken 256 Bits sind der "Master Chaincode", die rechten der "Master Private Key".

Es sind neun Inseln, alle mit unterschiedlichem Character. Ich kenne nur Sao Miguel und Terceira. Terceira und besonders die Hauptstadt Andra do Heroismo ist wunderschön, Sao Miguel mit Ponta Delgada ist besser angebunden, aber auch schon ziemlich touristisch und teurer geworden. Die anderen Inseln werde ich im Laufe der Zeit erkunden, per Fähre oder Propellerhopser.

Ein paar meiner Lieblingsfotos von der Gegend hier, von Ende November (bei 18-20°C):

Danke für die Sats, ist wirklich lieb von dir und freut mich für die Anerkennung. Aber behalte sie lieber; du wirst sie noch brauchen, wenn du auswanderst. Ich bin eigentlich ganz gut versorgt 😊

On and off, and apparently not when posting from iPad ¯\_(ツ)_/¯