<oembed><type>rich</type><version>1.0</version><author_name>npub10etkvm8l0jr0jsgdx02dxnhnu5g989dnca90guj5rklwkaplnh3sgjc727</author_name><author_url>https://nostr.ae/npub10etkvm8l0jr0jsgdx02dxnhnu5g989dnca90guj5rklwkaplnh3sgjc727</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2014-01-12&#xA;📝 Original message:&gt; You can always just extend the payment protocol with the new fields as  &#xA;&gt; well, vs making very long addresses.&#xA;&#xA;I should have mentioned that as Task #4. Agree it could be an optional  &#xA;extension and backward compatible. I think for displaying the payment in  &#xA;the UI after it&#39;s been made via PP, we have to fully support sending to a  &#xA;new standard address type anyway. Probably easiest to implement in PP  &#xA;after the address and transaction building code is done.&#xA;&#xA;So &#39;4a&#39; would be building a static PP file given the necessary inputs.  &#xA;When I get to that point, I&#39;ll send out a draft PP extension with  &#xA;fields/formats if someone else hasn&#39;t already. &#39;4b&#39; would be actually  &#xA;adding support for parsing those fields and generating the new transaction  &#xA;type into bitcoind.&#xA;&#xA;Any thoughts on the prefix, and one vs two pubkey approach? First of all,  &#xA;do we try to support both equally, or favor one over the other? I was  &#xA;thinking we could have two different 4 byte prefixes but that both render  &#xA;as xSTL/tSTL in Base58 but correspond to the one vs two pubkeys expected.  &#xA;I think the chance of finding a single prefix which looks like xSTL for  &#xA;both address lengths is 1 in (58^4)^2, so that&#39;s probably not going to  &#xA;happen.&#xA;&#xA; From the payer/user perspective, short stealth vs. long stealth is  &#xA;irrelevant; they both have the same usability properties from the payer  &#xA;perspective. So giving them the same Base58 prefix seems like a good plan.&#xA;&#xA;The full 4-byte prefix seems worth the usability trade-off versus 1-byte  &#xA;prefix, especially since it will impact the ability to lookup the  &#xA;transaction on an outside service, which I think a lot of people do to  &#xA;verify their payments. IMO a longer prefix isn&#39;t &#34;wasting bytes&#34; anywhere  &#xA;that it really counts.&#xA;&#xA;We could save two bytes in the address if we required both pubkeys to  &#xA;start with &#39;03&#39;, or save one byte if we required they both start with the  &#xA;same byte, but again doesn&#39;t seem worth it (to me) for the arbitrary  &#xA;restriction.&#xA;&#xA;The actual internal wallet code for *receiving* STL payments and updating  &#xA;balances is more tricky and probably not something I can personally tackle  &#xA;for bitcoind. Assuming we even want first-class support for generating STL  &#xA;addresses and receiving STL payments in a standard user wallet, someone  &#xA;has to decide if the STL &#39;d&#39; / &#39;d2&#39; keys should be...&#xA;&#xA;   1) Encrypted as usual, and then keep a list of blocks with interesting  &#xA;transactions, and go through them when the user enters their password?   &#xA;This would cause balances to update differently than how they do now, but  &#xA;perhaps be more secure.&#xA;&#xA;   2) Kept unencrypted to allow live scanning as usual? Or keep just &#39;d2&#39;  &#xA;unencrypted, with some new concept of &#39;unconfirmed&#39; until the user enters  &#xA;their password to prove they can spend that TX? That kind of extra step  &#xA;seems OK for a merchant but sounds very scary for an average user.&#xA;&#xA;   3) Kept encrypted under a separate password? Meh...&#xA;&#xA;And last thought for now... At some point, we might want to decide on a  &#xA;convention to highlight these STL addresses as &#39;reusable&#39; -- but similar  &#xA;questions around revocability remain. I hope we don&#39;t need anything like a  &#xA;UTC expiration time baked in to the address. A static PP file will have an  &#xA;expiration date either in the certificate or in &#39;expires&#39; field, so I  &#xA;think if you want it to expire then use PP?&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20140112/462cb3bc/attachment.html&gt;</html></oembed>