{"type":"rich","version":"1.0","author_name":"npub1xg2m84malu0cfm4444r0kysx4rgk27e75aj6sz6538kw8fcz627qeadsv7","author_url":"https://nostr.ae/npub1xg2m84malu0cfm4444r0kysx4rgk27e75aj6sz6538kw8fcz627qeadsv7","provider_name":"njump","provider_url":"https://nostr.ae","html":"📅 Original date posted:2014-09-12\n📝 Original message:On 09/12/2014 03:49 PM, Mike Hearn wrote:\n\n\u003e (1) Base64 of SHA256 seems overkill. 256 bits of hash is a lot. The risk\n\u003e here is that a MITM intercepts the payment request, which will be\n\u003e typically requested just seconds after the QR code is vended. 80 bits of\n\u003e entropy would still be a lot and take a long time to brute force, whilst\n\u003e keeping QR codes more compact, which impacts scannability.\n\nTo put that into perspective, here is how a bitcoin: URI would look like:\nbitcoin:?h=J-J-4mra0VorfffEZm5J7mBmHGKX86Dpt-TnnmC_fhE\u0026r=http://wallet.schildbach.de/bip70/r1409992884.bitcoinpaymentrequest\n(obviously for real-world usage you would optimize the \"r\" parameter)\n\nI looked at the list in this doc to evaluate what's easily available:\nhttps://code.google.com/p/guava-libraries/wiki/HashingExplained\n\nI thought SHA1 has a bad reputation these days, and we don't save much\nby using it. I don't know anything about Murmur. MD5 is clearly broken.\nWhat hash function would you recommend?\n\n\u003e (2) This should *not* be necessary in the common HTTPS context.\n\nIt is. People can't check names. People don't want to check names.\nPeople can't get certificates for lots of reasons. X.509 is centralized.\nX.509 has had serious security issues in the past. And shit continues to\nhappen.\n\nTo sum up, X.509 can't replace the trust anchor that is established by\nscanning a QR code or tapping two devices together.\n\n\u003e (3) This can be useful in the Bluetooth context, but then again, we\n\u003e could also do things a different way by signing with the key in the\n\u003e first part of the URI, thus avoiding the need for a hash.\n\nSure. But signing is harder than just calculating a hash."}
