{"type":"rich","version":"1.0","author_name":"npub1f2nvlx49er5c7sqa43src6ssyp6snd4qwvtkwm5avc2l84cs84esecrwet","author_url":"https://nostr.ae/npub1f2nvlx49er5c7sqa43src6ssyp6snd4qwvtkwm5avc2l84cs84esecrwet","provider_name":"njump","provider_url":"https://nostr.ae","html":"📅 Original date posted:2017-09-28\n📝 Original message:On Fri, Sep 29, 2017 at 1:50 AM, Peter Todd \u003cpete at petertodd.org\u003e wrote:\n\u003e What do you mean by \"an embedded amount\"?\n\nI ask you to pay 1 Bitcoin to bc1blahblah.\n\n...you make a typo, or a poorly placed cosmic ray switches it in your\nram to bc1blohblahbah.   No problem, it'll get rejected. (even if the\ncosmic ray happens just before signing... if the software is robust\nit'll reencode from the signed transaction and check against the\noriginal input.\n\nBut if instead the typo converts it to 2 Bitcoins or the cosmic ray\nconverts it to 2.34217728... the payment will happily go through,\nassuming your wallet had enough, and you're stuck asking me to refund\nyou the excess.\n\nSure, you can put amounts in URIs and whatnot, but they're not error\nprotected... so there will always be unprotected poritons where a\nglitch can radically change the amount.\n\nIn many cases you know exactly what amount you're asking for when you\ngenerate an address. There isn't any reason the amount couldn't be\ncovered by the addresses checksum in those cases.\n\nThere are a couple ways of doing that... e.g. adding it explicitly,\nwhere the checksum includes it but not the address itself; so it\nerrors out if you get it wrong. But this is unfortunate because it\ncan't tell you the expected amount when its wrong.   Another way would\nbe to embed the amount in the address, and then the software can tell\nyou the amount the address was expecting and not let you proceed until\nthey match."}
