Avatar
Nostraterrestrial
546a3f8d791a84a4879dc30d4ae9d4ed0aef3d0e1492be649aeda2337be80648

nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s what do you think about a feature request section where purpies can propose features and up/down vote them?

What are your top four ways to discover new people to follow? Mine:

1. Reposts by friends

2. Replies to friends

3. Iris "Followed by friends" feed

4. #asknostr feed

I’m using the Damus Purple translator.

Anyone care to create a little WoT tool?

#asknostr

Let’s imagine I follow n=5 people:

A, B, C, D and E

Out of the people I follow:

A is followed by (A, B, C, D, E)

B is followed by (A, B, C)

C is followed by (C, D, E)

D is followed by (D)

E is followed by (E)

Stage 1:

Score each person I follow (n) by how many of the people I follow (my friends) also follow them (m).

score1 = m/n

A: 1.0

B: 0.6

C: 0.6

D: 0.2

E: 0.2

Stage 2:

Score each of my friends by the score1s of my friends that also follow them.

score2 = (sum of score1s of m)/n

A: (1.0 + 0.6 + 0.6 + 0.2 + 0.2)/5 = 0.52

B: (1.0 + 0.6 + 0.6)/5 = 0.44

C: (0.6 + 0.2 + 0.2)/5 = 0.2

D: 0.2/5 = 0.04

E: 0.2/5 = 0.04

Stage 3:

There are three more people (X, Y, Z) in the network. I don’t follow any of them yet.

X is followed by (A, B, E)

Y is followed by (B, C, D, E)

Z is followed by none of them

Score each person that I don’t follow, but is followed by one of my friends by the score2s of my friends that follow them.

X: (0.52 + 0.44 + 0.04)/5 = 0.2

Y: (0.44 + 0.2 + 0.04 + 0.04)/5 = 0.144

Z: 0/5 = 0

Then show me a list of these friends of friends, ranked by their score and a feed of their posts that I can filter by one of these criteria:

- minimum rank (e.g. 0.03 or more)

- top percentage by rank (e.g. top 5%)

- top number by rank (e.g. top 50 people)

I can tell you with certainty that there are more satless people; there are less than 162M UTXOs.

A feature request section where we can submit ideas and up/down vote them.

Expert? Overly-complex? Basically all you need to know is the minimum number of dice rolls for strong security.

One Trillion Dollars

At a rate of about 3569 transactions per block, the billionth on-chain transaction will be made in the halving block. That number is actually impressively close to the recent average. It’s possible.

Looking forward to BTCUSD-blockheight parity.

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.

I wouldn’t say I’m sure, as it is indeed confusing, but here’s what I think is more accurate:

1. You can use 128, 160, 192, 224 or 256 bits of entropy to start with. We then add 1 bit of checksum for every 32 bits, so 4, 5, 6, 7 and 8 bits, respectively.

2. The salt input for PBKDF2 will always contain “mnemonic”, but you could additionally append a password to it (which we usually call a passphrase). So if your passphrase is “SATOSHI”, the salt will be “mnemonicSATOSHI”.

3. PBKDF2 will run the HMAC-SHA512 algorithm 2048 times and then return the 512 bit seed.

4. The seed is then fed into the HMAC-SHA512, along with the “Bitcoin seed” salt. This gives us the 512 bit master extended private key.

5.The LEFT/FIRST half of the master extended private key is the master private key and the right/second half is the chain code which we will use to derive more keys.

At the first halvening only 50% of all bitcoin had been mined.

At the upcoming halvening 93.75% of all bitcoin will have been mined.

At subsidy halving from X BTC to Y BTC, 100-X percent (will) have been mined, not 100-Y percent.

Once the halving occurs, it will take 1.035 years for the Bitcoin network to issue the same 170,082 Bitcoin that the newly minted ETFs have gathered in less than a month. — This is a comment on: https://yakihonne.com/article/naddr1qq2hg6r9945xzmrkd9hxwttfwvkkxmmdd9hxwq3qer0k46yxcugmp6r6mujd5qvp75yp72m98fs6ywcs2k3kqg3f8grqxpqqqp65wzfwm8l

One of us has their coins secured by the lowest/highest private key of anyone, without even knowing. You can only go so low/high without having your coins instantly sweeped, would be interesting to see where those limits are at this point.

It should be possible to have a more targeted approach though. Some of my follows are probably not connected to any of the relays I’m connected to. I just need a list of which relays those accounts are connected to so I can have a “complete” set of relays for my follows list.

I would if I knew which ones they were…

I just noticed that I hadn’t seen any post from a certain account for a long time, so I tried to find which relays they are connected to. The list of relays didn’t show on Damus and Primal, but Iris did show them, so I connected to one of them and that fixed it, but now I’m wondering how many more posts I’m not seeing because I’m not connected to the right relays.