i have one around here somewhere but as i say, only support for nunchuk wallet and basically only on android
Discussion
Dude I have an iPhone I’m fooked
time to get a pixel
semisol just explained to me they use a protocol that means if you want to use them with a PC wallet you need to spend a shitton on the creader as well, 50+euro he said
or nunchuk on android
as i said, i have one, it was a total downer when i learned it only was useful there
i don't use mobile devices
when is the "market" going to recognise some people aren't running around all the time with their eyes glued to a stupid screen of a device that will break the moment you let go of it?
if they had a contact interface instead of just contactless the reader would be $20 and a lot of people already have one for work or a national ID card as signature (like Estonia)
$12-15* checked amazon
i appreciate good info from people who don't bullshit
yeah, last time I bought one it was $20
Coinkite sells contactless readers for $120 (“discounted” from $150), I got one with contact + contactless for $85 and on Amazon contactless readers are $50+ for the quality shit (also, beware of RFID readers)
the one Coinkite sells is $60 on amazon
FYI the chip in them is something like the popular NXP PN7150 which is like $3.
https://www.lcsc.com/mobile/product-detail/RFID-ICs_NXP-Semicon-PN7150B0HN-C11002E_C513804.html
I make my own NFC readers.
Plenty of examples on GitHub too, like https://github.com/sbc-fish/NFC-Hat
also the tapsigner does not use 12/24 words
but that makes sense because of the stupid process for deriving the xprvs for those things
seriously, it is also starting to get on my nerves that no nostr clients implement nip-06 (BIP-39 mnemonic keys) also, like, what the fuck guys, it's so simple to do
2048 words
11 bits per word
convert to 8 bits isn't that hard, ever heard of a "shift" operation?
it requires implementing BIP32 also
for smartcards, the problem with BIP39 is that it requires you hash the *mnemonic as text* and not converted to a binary format or anything, which means you now need space for a 12kb wordlist
my first computer hand 16kb, it could have done it
people are making devices with less than 16kb of rom/flash???? where do you even get such a small chip these days?
i guess it must be custom silicon, still... 64kb should be minimal in most cases for the software
these devices do secp256k1 signatures tho, right?
how do they do that without a big chunk of memory for precomps if they are so weeny?
surely they could dial back the precomps a bit to free space to store HD and mnemonic dictionary?
dedicated accelerators
expensive ASIC circuits then i guess
I can’t comment much on these, but for performance benchmarks for example, the Nitrokey HSM (which uses a javacard AFAIK), does 80ms/ECC signature operation
pretty fast for something without a dedicated power supply, i think my recent generation Zen processor does them in about 11us, i forget, hmmm imma check so i can speak confidently...
yes, about 11us for the bitcoin core library and 80us for the btcd library
I can get about 10k signature verifications per core per second on a 5950X, so about 100us per verification
this is using the unoptimized decred secp256k1 impl and fiatjaf’s go-nostr
oh yeah, sorry, i'm quoting hash/sign/verify here, i haven't actually benched it on here this is a test that signs and verifies using each library, on 9999 events, and probably forming the canonical message and hashing it is part of the operation
i'm really not bothered to test that stuff so much as verify that i've improved upon that shitty implementation, and i have, dramatically, 7x improvement, and since that improvement is likely more than just one thing i've improved, it's probably a net win of more than 20x in total
i am totally pissed at the C and C++ and Rust guys laughing at us Go programmers... on the basis of work done by DECRED devs
fuckin ridiculous
yeah, iirc my canonical marshal/hash operation costs about 4us on libsecp256k1 and 11us using go-nostr library, it's retardedly slower... hang on what are the figures i did bench this
https://github.com/mleku/nostrbench
yeah, 1 microsecond for the json op and half that for the binary encoder, and the easyjson is 1.7us idk what the hash function is and that's for the standard object format not the canonical array, which is more complex
my encoders are the fastest you can get in Go and yes i promise not to change them at this point
the downside: part of why it's faster is it isn't using strings, the runtime storage for id, pubkey and sig are raw binary, so it's kinda funny that's still faster than a runtime format that keeps them as hex strings to convert to hex... yes, i use the SIMD xxhex library from templexxx and minio/sha256 hash library for the hash functions, though that's nothing to do with the codec exactly
i'm pretty sure with my codec we have no excuse to not wipe the floor with the repeat myself a thousand time fanbois
the problem is they want to cut costs
everyone uses crappy javacards which have massive overhead per operation, and the applets take up huge space
there’s also the fact that PBKDF is slow and would take up to a minute with those crappy cards
that and most cards being 72k/144k EEPROM for everything including app code (and they want to cut costs by using less EEPROM) and there isn’t much space for the wordlist