Mike Hearn [ARCHIVE] on Nostr: 📅 Original date posted:2012-12-07 📝 Original message:Yet more comments (I guess ...
📅 Original date posted:2012-12-07
📝 Original message:Yet more comments (I guess at some point we need to stick a fork in it
- or at least move on to implementing a prototype version).
Maybe don't require the payment URI to be HTTPS. If you want to pay a
Tor hidden service then HTTPS just adds unnecessary complexity. Just
recommend to merchants that they use an encrypted connection and leave
it at that.
Though it's not strictly necessary, it'd be nice to have defined
behavior for if you want to pay more than the requested amount, for a
tip. Perhaps rather than "zero value outputs will be ignored" say, "if
some outputs have value and others don't, the user will be given the
option of overpaying and the extra money will be split evenly between
the zero valued outputs". That way a waitress can have the phone add a
zero-valued output to her own wallet and that would prompt the wallet
software to display some convenient UI for adding on 10% or whatever.
receiptURI -> receipt_url ? technically it has to be resolvable so
"uri" isn't quite right.
"Display the proposed Outputs in as human-friendly a form as possible"
.... ??? Surely you'd just display the total amount requested? I don't
think it ever makes sense to try and display outputs to the user
directly.
Re: the UI TODO - agreed but let's take it out of the BIP and maybe
make it an alternative document. Or just replace it with a
recommendation that "the user interface should be designed to ensure
users understand the difference between an unsigned and signed payment
request, for best practices see <here>"
serialized_paymentrequest -> serialized_payment_request? Otherwise
languages that use CamelCase will look odd ....
setSerializedPaymentrequest()
The question of root CAs still needs resolution. I stick with my
recommendation to support all CAs that browsers support. Obviously,
it's better for a merchant to obtain an EV cert than a domain
verification cert - the UI can reflect the higher level of
verification.
I doubt there's a need to specify a max number of certs in a chain.
But if you want to, go for something high, like 256. There's no point
in trying to put DoS mitigations into something like this, for the
same reason HTML doesn't impose a maximum page size. It's in the
message builders interest to ensure it gets read by all users.
Crashing their clients doesn't achieve anything as long as the crash
isn't exploitable.
On Fri, Dec 7, 2012 at 11:45 AM, Mike Hearn <mike at plan99.net> wrote:
>> OK. I want to keep the signature field required, though, so how about:
>>
>> signature: digital signature over a protocol buffer serialized variation of
>> the SignedPaymentRequest message where signature is a zero-byte array and
>> fields are serialized in numerical order (all current protocol buffer
>> implementations serialize fields in numerical order), using the public key
>> in pki_data.
>
> Looks good to me.
Published at
2023-06-07 10:44:01Event JSON
{
"id": "e8761ff969988e24d6d9dcee9ef28dbb7845f32fd88af059c3e892b4e818e19d",
"pubkey": "f2c95df3766562e3b96b79a0254881c59e8639f23987846961cf55412a77f6f2",
"created_at": 1686134641,
"kind": 1,
"tags": [
[
"e",
"1bd78b419247dfb60fa2e8b1cf4983b406411160c7aa6e19780a4034c5da34de",
"",
"root"
],
[
"e",
"213601532bf48f04b5acd6e54beef547bf5adbb015ddf3fbb4d43b5be7ecc252",
"",
"reply"
],
[
"p",
"f2c95df3766562e3b96b79a0254881c59e8639f23987846961cf55412a77f6f2"
]
],
"content": "📅 Original date posted:2012-12-07\n📝 Original message:Yet more comments (I guess at some point we need to stick a fork in it\n- or at least move on to implementing a prototype version).\n\nMaybe don't require the payment URI to be HTTPS. If you want to pay a\nTor hidden service then HTTPS just adds unnecessary complexity. Just\nrecommend to merchants that they use an encrypted connection and leave\nit at that.\n\nThough it's not strictly necessary, it'd be nice to have defined\nbehavior for if you want to pay more than the requested amount, for a\ntip. Perhaps rather than \"zero value outputs will be ignored\" say, \"if\nsome outputs have value and others don't, the user will be given the\noption of overpaying and the extra money will be split evenly between\nthe zero valued outputs\". That way a waitress can have the phone add a\nzero-valued output to her own wallet and that would prompt the wallet\nsoftware to display some convenient UI for adding on 10% or whatever.\n\nreceiptURI -\u003e receipt_url ? technically it has to be resolvable so\n\"uri\" isn't quite right.\n\n\"Display the proposed Outputs in as human-friendly a form as possible\"\n.... ??? Surely you'd just display the total amount requested? I don't\nthink it ever makes sense to try and display outputs to the user\ndirectly.\n\nRe: the UI TODO - agreed but let's take it out of the BIP and maybe\nmake it an alternative document. Or just replace it with a\nrecommendation that \"the user interface should be designed to ensure\nusers understand the difference between an unsigned and signed payment\nrequest, for best practices see \u003chere\u003e\"\n\nserialized_paymentrequest -\u003e serialized_payment_request? Otherwise\nlanguages that use CamelCase will look odd ....\nsetSerializedPaymentrequest()\n\nThe question of root CAs still needs resolution. I stick with my\nrecommendation to support all CAs that browsers support. Obviously,\nit's better for a merchant to obtain an EV cert than a domain\nverification cert - the UI can reflect the higher level of\nverification.\n\nI doubt there's a need to specify a max number of certs in a chain.\nBut if you want to, go for something high, like 256. There's no point\nin trying to put DoS mitigations into something like this, for the\nsame reason HTML doesn't impose a maximum page size. It's in the\nmessage builders interest to ensure it gets read by all users.\nCrashing their clients doesn't achieve anything as long as the crash\nisn't exploitable.\n\n\n\n\nOn Fri, Dec 7, 2012 at 11:45 AM, Mike Hearn \u003cmike at plan99.net\u003e wrote:\n\u003e\u003e OK. I want to keep the signature field required, though, so how about:\n\u003e\u003e\n\u003e\u003e signature: digital signature over a protocol buffer serialized variation of\n\u003e\u003e the SignedPaymentRequest message where signature is a zero-byte array and\n\u003e\u003e fields are serialized in numerical order (all current protocol buffer\n\u003e\u003e implementations serialize fields in numerical order), using the public key\n\u003e\u003e in pki_data.\n\u003e\n\u003e Looks good to me.",
"sig": "b5b24a33318a66de2d6e8a66b1b593e7e3d68886b2a81876addd1ef83b7172334257c49d999d10619974830f0bb84325b51f9f052232645347cff578f49e0f8a"
}