1/ I published a public comment for BIP340 a few months ago on the official Bitcoin GitHub

After publishing said comment, it was later removed (censored) by Gregory Maxwell (@Blockstream CTO "formerly"; listed as a co-founder of @Blockstream as well).

github.com/bitcoin/bips/b… ImageImage
2/ To start off, what Gregory Maxwell wrote is a demonstrable lie - full stop.

You can view my original comment here - github.com/bitcoin/bips/w…

As screenshots, what I wrote was comprehensive, to the point + included numerous references to published (peer-reviewed) ImageImageImage
3/ Before getting into all of that, let me address Gregory Maxwell's claim that my comment was "linked elsewhere while the comments below are ignored"; this is actually false. Image
4/ On May 22nd, 2021 (more than a week before Maxwell's false update), I updated my public Telegram channel to inform everyone of my comment and *included* Peter Wiulle's response to my comment as well. ImageImage
5/ Additionally, Peter Wiulle conceded *numerous* points I made above in his response (read it closely).

Additionally though - Wiulle is *100% wrong in many of his responses here*; I'll go through those briefly. Image
6/ Peter claimed that nearly all Bitcoin wallets adhere to RFC6979 nonce generation specs ; this is not true.

Example here - github.com/bitpay/bitcore…

Issue still open here - github.com/bitpay/bitcore…
7/ Elliptic curve coord. pairings (x, y) are co-factors plotted over a finite field; 'x' (private key) has a direct relationship to 'y' (pubkey)

The 'order' (n) = lowest prime order cyclic subgroup ; this is the order of the curve base point ('G') ImageImage
8/ Given the above, for signatures we can create a proof via taking a random value (k), multiplying it by the curve base point (G) to arrive at a diff 'y' (R) on the elliptic curve [R=kG]; thus the corresponding priv. key is R*x, where x = private key Image
8a/ There's a nuance in RFC6979 for those attempting to generate *deterministic* ecdsa (secp256k1) keys that goes further than simply deriving the value 'k' from HMAC'ing (h+x)

We'll get to that in a second.
9/ From this point you can create a proof that says

's' = k^(-1) * (h + r*x)(modulo 'n')
‘s’ is determined by the [inverse of ‘k’] multiplied by [hash of the message output when XOR’d with ‘r*x’] which is modulo'd with 'n' ; 'n' = lowest prime order of cyclic subgroup Image
10/ Perhaps Gregory Maxwell decided to censor my comment on BIP340 because I called @Blockstream and @adam3us out about a recent whitepaper, in which researchers outlined how they were able to *successfully recover funds from Bitcoin wallets*

11/ In that thread, I cite the name of the study, "Biased Nonce Sense: Lattice Attacks Against Weak ECDSA Signatures in Cryptocurrencies"

Curiously, the researchers documented conversations they had *directly* with Gregory Maxwell about this issue. ImageImageImageImage
12/ Skipping to the point here - I think Wiulle's confusion stemmed from my use of the word "random". For the *generator*, these values should not be random (in a deterministic setting), yes.

But to the *outside world*, it absolutely should (obviously).
13/ The researchers make it clear *in the Abstract*, "If this nonce is not generated uniformly at random, an attacker can potentially exploit this bias to compute the long-term signing key."

eprint.iacr.org/2019/023.pdf ImageImageImage
14/Continuing - "We also calculated 1,296 private keys from repeated signature nonces. These keys had generated 4,295,141 signatures."

Also, "Some of the transactions using k = (n-1)/2 are with withdrawing from addresses derived from easily guessable brainwallet passwords."
14a/ The researchers explicitly state they reached out to Greg Maxwell about these nuances in secp256k1 nonce generation on the blockchain (and they record his response noting an out-of-bound, 'SHA1' hash is used to "sweep 'dust' transactions" <-- is this even documented? Image
15/ The researchers note the fact Bitcoin switched to "deterministic nonces" back in 2015/2016; however as we can see in the study's excerpt attached to this tweet - that did not mitigate this problem entirely (by any means) Image
16/ Revisiting RFC 6979 is critical here, bc the nonce is *supposed* to be deterministic now for Bitcoin (this change was made in '15), last pic is most relevant - "performing a simple modular reduction would induce biases that would be detrimental to signature security." ImageImage
16a/ Knowing that's true, I wonder if that's what is causing the leakage of nonce values - bc the full signature proof is: k^-1 * (h + r * privKey)(mod 'n') ; 'n' = prime curve order ImageImage
16b/ Looking to verify signature; you'll notice that the random point used during signing is supposed to be recoverable to check the proof ; however doing so requires deriving the modulo inverse of 's'... Image
16c/ IF one were to use the regular formula (k^-1 rep. the modulo by 'n' ; n = lowest prime order of the curve), then you end up with 'k' outright. 'k' in rfc6979 = h+privKey

The attached screenshot is from libsecp256k1 ; I wonder if this spec. (mandating mod.) is the culprit Image
17/ In either case, it should be abundantly clear that my comment on BIP340 was far from "misinformation" and that Gregory Maxwell and @Blockstream are completely full of shit. Full stop.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with James Edwards

James Edwards Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @librehash

28 Aug
1/ Saw a promo for "Kobe NFTs" in an ESPN article and felt compelled to expose these NFTs for the fraud they really are.

espn.com/nba/story/_/id…

This thread will prove that there is *nothing* unique about NFTs (at all).
2/ To start with, the claim that "100% of the proceeds" are going to charity is patently false.

Only the "royalties" from secondary sales (i.e., when the auction winner later sells the NFT), will be donated to charity (Mamba & Mambacita Foundation)
2a/ Also, in case you missed it in the previous tweet, "Alastra said Cryptograph has been in touch with Bryant's camp, but the effort is not an official partnership with Bryant's trust."
Read 16 tweets
26 Aug
1/ Finance Magnates reported yesterday that "UK Regulator Said Crypto Exchange Binance is Now Compliant"

Here's the link to that - financemagnates.com/cryptocurrency…

Won't lie, I was skeptical at first - but appears there's some credence to this headline.
2/ Cutting to the chase here - let's revisit the original notice the FCA published against @Binance on June 25th, 2021.

If you look closely, you'll notice the press release was last updated August 25th, 2021 (yesterday).
3/ Let's check out the 'FCA Register' for 'Binance Markets Ltd.' first (via the FCA's registry) - register.fca.org.uk/s/firm?id=001b…

Curiously, on the FCA's site...it does state that, "This firm is authorised for specific activities and product types" (doesn't specify what those are)
Read 14 tweets
25 Aug
1/ Going to quickly outline for everyone why this is extremely concerning if you care (at all) about Bitcoin's ecosystem.

This thread is a must-read.
2/ @Blockstream, founded by @adam3us is the primary firm responsible for Bitcoin and LN's development (picture here proves the LN statement; next tweet proves the BTC dev. statement)

veriphi.io/en/blog/a-brie… Image
3/ Attached to this tweet are screens from Mosaic Ventures' (investor) website

"Out of 200ish committers in total, just a small number...working quasi-independently, are responsibnle for the *vast majority of code commits*."

mosaicventures.com/patterns/our-i… [published 2014] ImageImage
Read 23 tweets
22 Jun
1/ So the other day, a thread was started on here that proposed that @binance and their derivatives are potentially a major catalyst for the printing of $USDT.

Many laughed & dismissed this, so this thread will prove those people wrong (empirically) with verifiable fact.
1a/ To be clear, this entire thread is operating from the understood premise that Tether is a fraud, full-stop. Whatever is in their "reserves" is irrelevant to this conversation because its clear none of it is legally derived.

If you disagree, stop reading. Thanks.
2/ Many have stated that the core purpose of Tether is to simply pump the Bitcoin markets.

In other words, someone wakes up, scratches their ass - yawns, and says..."Hmm. Let's rocket Bitcoin up another $5k".

This is not the case (nor is it responsible for price pumps).
Read 14 tweets
31 May
1/ Tether isn't burning any of the USDT that its sending to the "burn address" on Tron.

TRC20 USDT smart contract = TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t

"Burn" address = T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb

Treasury = THPvaUhoh2Qn2y9THCZML3H815hhFhn5YC
2/ We first became aware of the true identities of these addresses in a public way when Paolo "accidentally" minted 5B USDT to the Treasury address.

3/ From that point, @paoloardoino provided the transactions for the alleged burn -
Read 8 tweets
3 Apr
2/ The reason for this is rooted in archival nodes.

For those that don't know, a full node in blockchain is *required* for *trustless* validation of the blockchain.

Without one, you will inevitably be forced to trust the word of some 3rd-party intermediary
3/ The problem the $ETH ecosystem is facing (beyond gas fees) is the growing burden of running an $ETH archival node (full node).

Right now, a full archival node requires approx. 7 TB of space.

That's 1 TB of growth in just 4.5 months. +3 TB < 1 year

etherscan.io/chartsync/chai…
4a/ The burden of running an archival node was made painfully clear in a bombshell post by @BlockCypher back in May 2019 following the Constantinople hard fork

blog.blockcypher.com/ethereum-woes-…
Read 18 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(