Bitcoins/Litecoins/Virtual Currencies

Haus

I am Big Balls!
<Gold Donor>
21,196
87,544


So one of the main guys behind the CLARITY act just quit the admin while it's still awaiting congress to vote on it.

I don't think this is a good sign guys.....
 
  • 1Worf
Reactions: 1 user

Kithani

Vyemm Raider
2,529
3,606


So one of the main guys behind the CLARITY act just quit the admin while it's still awaiting congress to vote on it.

I don't think this is a good sign guys.....

1785799584490.png

Look at the dude… he clearly retired to go poopsock EQ Legends
 
  • 1Truth!
Reactions: 1 user

TJT

Mr. Poopybutthole
<Gold Donor>
47,367
130,529
Probably need someone smarter than me to explain the relationship between entropy, random number generation, and a hardware wallet seed phrase in an easy to understand way haha. Cryptography is complicated.

I've enlisted the assistance of big number guesser himself though and he did a pretty good job

To explain how a seed phrase gets compromised in a situation like the one described, it helps to understand how **entropy**, **randomness**, and **seed generation** form the foundation of crypto security—and what happens when one link in that chain breaks.

---

## 1. Entropy: The Pool of Possibilities

**Entropy** is a measure of unpredictability or "true randomness." In cryptography, high entropy means there are so many possible outcomes that it is mathematically impossible for anyone—or any supercomputer—to guess your secret.

* **High Entropy:** Imagine choosing a specific grain of sand from every beach on Earth. It is impossible for someone to guess which grain you picked because the pool of possibilities is staggering ($2^{256}$ potential seed combinations).
* **Low Entropy:** Imagine picking a number between 1 and 100. A computer can guess that in milliseconds because the pool of possibilities is tiny.

---

## 2. Randomness (RNG): The Machine Drawing the Number

**Randomness** is the process used to pick a secret from that pool. To get high entropy, you need a **Cryptographically Secure Random Number Generator (CSPRNG)**. Hardware wallets usually use dedicated hardware chips (like thermal noise or radio noise sensors) to capture true physical chaos.

* **Cryptographic RNG:** Draws numbers in a way that is completely unpredictable, non-repeating, and impossible to reconstruct.
* **Standard/Default RNG (e.g., Python's standard `random` library):** Designed for things like video games, statistical simulations, or shuffling a digital deck of cards. It is a "pseudo-random" number generator. While it *looks* random to a human, it follows predictable mathematical algorithms. If an attacker knows the algorithm and a few clues, they can predict every number it will ever output.

---

## 3. Seed Generation: Baking the Entropy into 12 or 24 Words

When you set up a hardware wallet, it goes through a specific sequence:

1. **Collects Entropy:** The wallet gathers raw bits of entropy (unpredictable 0s and 1s) using its hardware RNG.
2. **Generates a Seed:** It converts those random bits into a master private key.
3. **Translates to Words:** That long mathematical key is converted into your human-readable 12- or 24-word recovery phrase.

If the raw entropy collected in step 1 is truly random, your seed phrase is locked behind a door that no computer in the universe can break open.

---

## 4. Bringing It All Together: What Happened in the Context

The scenario described highlights a critical point where this pipeline broke down:

```
[Hardware RNG Fails] ──> [Silent Fallback] ──> [Standard Python RNG Used] ──> [Low Entropy Seed Created]

```

1. **The Intended Design:** The wallet was supposed to use a custom, high-entropy random number function.
2. **The Software Glitch:** A naming conflict caused the code to silently fall back to Python’s default `random` module when the primary RNG failed.
3. **The Loss of Entropy:** Instead of drawing your seed from a pool of endless possibilities, the hardware wallet generated seeds from a small, mathematically predictable list produced by Python's standard RNG.
4. **The "Big Computer Guessers":** Because Python's default RNG isn't cryptographically secure, attackers running brute-force scripts don't have to search $2^{256}$ combinations. They only have to cycle through the predictable outputs of the weak algorithm to recreate the exact seed phrases generated by those affected wallets and drain the funds.

> **Key Takeaway:** Hardware wallet security relies entirely on high entropy. If the process for picking numbers drops from true cryptographic randomness to a simple software algorithm, even a 24-word seed phrase becomes easy for an attacker's automated script to guess.

OK but what allowed them to try generated numbers until they hit the right one? Most systems prevent brute force like this.
 

Flobee

Ahn'Qiraj Raider
3,426
4,056
OK but what allowed them to try generated numbers until they hit the right one? Most systems prevent brute force like this.
I would go take a look at the below of you're interested. IIRC you're in IT and should be able to follow.


This part being post relevant

SysTick​


SysTick is a counter driven by the processor clock and reloaded every millisecond:


  • Mk2/Mk3: 80,000 possible counter values, approximately 2^16.29.
  • Mk4/Q/Mk5: 120,000 values, approximately 2^16.87.

This is a maximum enumeration count, not guaranteed entropy. Knowledge of when the first RNG call occurs can reduce it significantly.

The devices are generating predictable outputs. Its still a large number, but significantly lower than what would be considered secure. Someone with access to enough compute can easily brute-force the entire output set which is what has been done. I've seen other people doing the math on this saying that after around ~50k address generations there would be a very high statistical chance that duplicate addresses would be generated. The expected output for a 12 word seed phrase is ~ 2^128 and for a 24 word 2^256.

 
  • 1Like
Reactions: 1 user

Flobee

Ahn'Qiraj Raider
3,426
4,056
Coldcard story getting pretty crazy. Looks like CoinKite CTO had a pseudonym (verified by shared GPG keys they sloppily used) that was doing to updates to the specific piece of logic that caused this issue, also openly trans for what its worth. CEO is now deleting all historical tweets around the vulnerability from as much as 7 years ago, but also curiously deleting tweets about the fact he is Jewish. Fair amount of evidence mounting that this was possibly intentional and an inside job, or at least a lot of very strange behavior. Obviously all conjecture at this point but a lot of people digging hard and showing a lot of evidence that there is at least smoke here.

Timing surrounding BIP-110 activation (should be this weekend), possible chain fork as a result, Clarity act passing, and this pushing a lot of people to put their coins into exchanges is interesting at a minimum. Worth noting that if the chain DOES fork, all ETFs and exchanges that I'm aware of have policies that say THEY decide which fork you get to withdrawal your funds to. Tinfoil hat would be do something to get as many people as possible to put their coins in custody before a contentious hard fork to force as many as possible to only be allowed to withdrawal the dead fork.

I don't take that very seriously right now, but figured I'd share in case some version of this comes to pass.

EDIT:
1785860305823.png


Crazy CTO investigation


 
Last edited:

Flobee

Ahn'Qiraj Raider
3,426
4,056
All my attempts to explain the entropy issue and the scale of this "bug" pale in comparison to this 3 minute explainer. Helps visualize what happened here, definitely worth the couple minutes

 
  • 1Like
Reactions: 1 user

Jackie Treehorn

<Gold Donor>
3,459
9,601
As AI increases in power and ability year by year and eventually quantum computing comes on board I have a feeling a lot of stuff that was said to have been invulnerable to attack is sure gonna get attacked. 😜 To the tune of billions / trillions of dollars in damages world wide.