Live data from Hacker News

A from-scratch tour of Bitcoin in Python

karpathy.github.io

161–170 of 293 posts

Re: A from-scratch tour of Bitcoin in Python

#161

"NIST publishes recommendations on which ones to use, but people prefer to use other curves (like secp256k1) that are less likely to have backdoors built into them" Does this make any sense? How is a curve going to have backdoors on it? Or he means a specific implementation? Or is this a joke? I'm confused

https://services.math.duke.edu/~bray/Courses/89s-MOU/2016/Pa...

Quoting from the paper:

The standard given by the NIST gives a list of explicit parameters ... describing the elliptic curve behind the algorithm.

Examining the points P and Q here, it is obvious why cryptographers were suspicious of the Dual EC ... once the scalar k is known, it is a “simple matter to determine the secret internal state s of the pseudo-random bit generator” [6], by observing as few as 32 bytes of output.

It goes on to quote one of the NSA contractors who admitted that instead of being randomly chosen, "Q is (in essence) the public key for some random private key."

"It could also be generated like a(nother) canonical G, but NSA kyboshed this idea, and I was not allowed to publicly discuss it, just in case you may think of going there."

Straying from the prescribed points was discouraged, and NIST only provided FIPS validation to clients using the original P and Q.

More recently, GPRS was also shown to have been intentionally weakened - presumably to pass export controls - although in this case I think it was the algorithm and not a "cherry picked" curve: https://eprint.iacr.org/2021/819.pdf

Re: A from-scratch tour of Bitcoin in Python

#162
post #90

Earlier quoted context omitted.

Lightning network more or less failed to live up to the hype. Problems like routing complexity, liquidity, and a lack of on-chain space to open and close channels have delayed/limited its impact.

To expand on this, to receive money over Lightning, you need someone else to lock up their bitcoins for you. This is called inbound liquidity, and the problem of users getting inbound liquidity is no joke. Lightning Labs recently launched Lightning Pool to help with this, but fees range from 5% to 25%. Uncompetitive. If you think about it too, it makes sense, because anyone locking up their bitcoins for others should…

The looking up of liquidity is the whole reason LN can not scale or be cheap ever.

Today people in crypto may be willing to look up bitcoins they hold long term anyway. But in the real world this would be dead and trapped capital it doesn't work for you and you cant even use it to quickly buy something an take advantage of a market situation.

The only reason why someone would look up capital like that if is it makes money. So people who use someone else locked up bitcoins have to pay. This makes LN impossible to be cheap. You literally lend money to send money to someone. Its complete absurd. And as you said to make this more efficient large centralized pools are created so there will be a monopoly or oligopoly for lending, hows that gonna be good for the fees.

LN was dead before they started coding it.

Re: A from-scratch tour of Bitcoin in Python

#163
post #122

Earlier quoted context omitted.

Its centralized and run by the people around this fraud. It doesn't matter if the tech is good since no one will use it for anything beside speculation or abuse it as storage which just wont be sustainable in the long run with no limits in place.

The protocol remains the original and it scales significantly. I'd focus on protocol not people. If people changed the protocol then it's no longer bitcoin. Twetch.app has more than 50k users. It's also a genuine use case. So is etched.page or the other above-mentioned services. How can you abuse storage if there is a 0.5 satoshis/byte fee to write data on chain currently? Miners are for-profit entities and will alwa…

You completely ignore my points so I will yours

Have a nice day

Re: A from-scratch tour of Bitcoin in Python

#164
post #114
post #70

Earlier quoted context omitted.

Fees are dictated by the user and the time they have for the transaction to take place. The fee could have been much lower. I think we are well past the point of debating if bitcoin layer one will be used for day to day transactions however. A custodial service or lighting will have to be used for that. Additionally most people treat bitcoin closer to gold than a dollar currently.

I disagree but wont bother explain why because I know you dont care.

Then why bother writing that useless comment?

Re: A from-scratch tour of Bitcoin in Python

#165
post #109

Earlier quoted context omitted.

This is interesting. Obviously, I heard about the whole "El Salvador something something Bitcoin" deal, but am completely unaware of the actual situation. Can somebody point me in the direction of some nice writeup explaining these details? I can only vaguely imagine how one can take Bitcoin and make it essentially an extension of SWIFT, and struggle to clearly visualize what the implications of this are.

From Strike CEO Jack Maller [1]: Let’s walk through a user story. I want to send $1,000 to a friend of mine in El Salvador: * When I initiate the $1,000 payment, Strike debits my existing USD balance. * Strike then automatically converts my $1,000 to bitcoins ready for use in its infrastructure using its real-time automated risk management and trading infrastructure. * Strike then moves the bitcoins across the Gulf o…

There is no bitcoin needed for this at all its does not even move on the chain for the transfer.

Both sides are Strike entities all this does is use bitcoin as a bridge for USD to USD which is completely pointless as both sides are USD.

You could just buy USDT (or another stabelcoin) and send it there.

Its a different story if there is actually a switch in currency needed. There is this famous and from bitcoin people often hated company called Ripple that specializes on cross-border settlement using crypto as a bridge currency. For that however the crypto must be actually moved and be sold locally for the local currency. And for that to work without risk due to volatility it must be fast. Hence they use XRP (4 sec) instead of bitcoin (10+ min). They call it ODL (On-Demand Liquidity).

See https://ripple.com/ripplenet/on-demand-liquidity/

Re: A from-scratch tour of Bitcoin in Python

#166
post #160

"NIST publishes recommendations on which ones to use, but people prefer to use other curves (like secp256k1) that are less likely to have backdoors built into them" Does this make any sense? How is a curve going to have backdoors on it? Or he means a specific implementation? Or is this a joke? I'm confused

Here's a computerphile video that explains it very simply: https://youtu.be/nybVFJVXbww

Thanks! Thanks to the other answers too. Amazing stuff!

Re: A from-scratch tour of Bitcoin in Python

#167
post #71
post #61

"...Bitcoin is a living, breathing, developing code base that is moving forward with new features to continue to scale..." There is exactly zero progress to make it scale in the last 10+ years.

What happened to the lightning network? (Serious question, I am out of the loop.)

In order to get money on and off lightning network, you still need to make on-chain BTC transactions. Meanwhile, the BTC devs have intentionally changed the network so that it's expensive to make on-chain transactions. From this you can probably figure out why lightning network failed.

Re: A from-scratch tour of Bitcoin in Python

#169
post #65

Earlier quoted context omitted.

> There is exactly zero progress to make it scale in the last 10+ years. Lol, literally this week: https://taproot.watch/

Bitcoin doesn't scale. https://digiconomist.net/bitcoin-energy-consumption Just watch this video: https://www.youtube.com/watch?v=UDKntG4F0hg So in about 5 years pretend everyone in the United States melts a wrench like that... Then a month later they do that twice, a month later they do it three times. Hey, at least it will be fun.

Instead of watching that video, perhaps watch it on photonic induction's channel, seeing as he's the creator.

https://www.youtube.com/watch?v=DJOX0c60wQE

Re: A from-scratch tour of Bitcoin in Python

#170
post #146
post #61

"...Bitcoin is a living, breathing, developing code base that is moving forward with new features to continue to scale..." There is exactly zero progress to make it scale in the last 10+ years.

There was a demo of node software that is capable of 50,000 transactions per second just a few weeks ago. https://www.youtube.com/watch?v=i3As9-9uSXs (Yes this is on the Bitcoin SV implementation of the Bitcoin protocol - where they're using the original protocol that Satoshi envisioned)

From what I understand, that's 50,000 pre-generated transactions pumped directly to the mining node. Not 50,000 transactions spread across hundreds of non-mining nodes and relayed to the mining node. There's a huge difference. Correct me if I'm wrong here.

Either way, bitcoin the protocol can handle waaaaaay more transactions than the BTC devs have constrained it to.

Post reply on HN