provoost on Nostr: So it seems likely a Bitcoin ASIC can't grind nip-13 proof-of-work. Or can it, with ...
So it seems likely a Bitcoin ASIC can't grind nip-13 proof-of-work. Or can it, with AsicBoost like magic?
The event id is manipulated to get leading zeros (in binary). This is supposed to be done by adding a nonce tag and then rotating that, but a miner could of course hold the nonce fixed and grind something else.
Assuming you must feed it 80 bytes, the equivalent of a Bitcoin header, the last two characters have to be "] which means only 1 in 256 nonces (the last 4 bytes of the header) produce a valid nostr message. Or can the chips be told not to grind the last two bytes?
But most importantly you have to be able to feed the asic the first part of the message as a midstate. If you can do that, then I think the message can be of arbitrary length. But I don't understand well enough what these chips can and can't do.
if spammers want to PoW their spam, good for them!
because that's kind of the point:
now they needs to invest in real-world real sources to sustain their load, so they have to carefully calculate how far they're willing to go with their spam.
and relays can always set a PoW limit that is high enough.
but I don't think BitAxes will be useful here!
fun fact I learned from skot9000:
Bitcoin mining ASICs can only calculate sha256d hashes for 80 byte preimages.
maybe a skillful hacker could make something work with severe limitations on note size, but I'm actually quite curious to see a potential economy of nostr note mining around GPUs 🎮⚙️
Published at
2024-09-22 17:31:15Event JSON
{
"id": "46277aecab67c75ab3450bdf827676bdbfcba2833c3fca61f83abdf3d6743218",
"pubkey": "8685ebef665338dd6931e2ccdf3c19d9f0e5a1067c918f22e7081c2558f8faf8",
"created_at": 1727026275,
"kind": 1,
"tags": [
[
"p",
"180c517f64f595b1e54bd2ce778ccc2a56b113e5a4b1426d4b0a439083010db1"
],
[
"imeta",
"url https://image.nostr.build/64f59ae794c89961ba32e27307ab4adf297f0a660f5cbd3db61912bc7df5c26b.jpg",
"blurhash eAR:KPWB~pxu-;V?ofkCWBozV@WBkCWBbHM|Rj%Mofof-;j[M{WBWB",
"dim 1290x948"
],
[
"p",
"180c517f64f595b1e54bd2ce778ccc2a56b113e5a4b1426d4b0a439083010db1"
],
[
"r",
"https://image.nostr.build/64f59ae794c89961ba32e27307ab4adf297f0a660f5cbd3db61912bc7df5c26b.jpg"
]
],
"content": "So it seems likely a Bitcoin ASIC can't grind nip-13 proof-of-work. Or can it, with AsicBoost like magic?\n\nThe event id is manipulated to get leading zeros (in binary). This is supposed to be done by adding a nonce tag and then rotating that, but a miner could of course hold the nonce fixed and grind something else.\n\nAssuming you must feed it 80 bytes, the equivalent of a Bitcoin header, the last two characters have to be \"] which means only 1 in 256 nonces (the last 4 bytes of the header) produce a valid nostr message. Or can the chips be told not to grind the last two bytes?\n\nBut most importantly you have to be able to feed the asic the first part of the message as a midstate. If you can do that, then I think the message can be of arbitrary length. But I don't understand well enough what these chips can and can't do. https://image.nostr.build/64f59ae794c89961ba32e27307ab4adf297f0a660f5cbd3db61912bc7df5c26b.jpg nostr:note1557d4thw7flutjhs8gl9ql4m66m64xw6xpre4lt06ca57h53df0qf7735a",
"sig": "3441b14414e6353ac27694547e8783f4c4178c86835385b1ae4cb3a2a35e375ea6d7e07cbeb4b96772f3aeff45cba8be4d70c02dab12fb0de68c834f9e021a86"
}