<oembed><type>rich</type><version>1.0</version><author_name>npub17cwk7hm623dm5npjzu8cvv994h43k2keanegs8w78xyvlez8hqqsqqmtzy</author_name><author_url>https://nostr.ae/npub17cwk7hm623dm5npjzu8cvv994h43k2keanegs8w78xyvlez8hqqsqqmtzy</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2020-03-04&#xA;📝 Original message:I forgot one:&#xA;&#xA;=============&#xA;5. The current BIP itself is poorly written and/or unnecessarily&#xA;complex: e.g. remove the multi-proof support, and/or remove the&#xA;extensibility stuff for a future proof-of-funds extension, and/or&#xA;focus solely on the generic sign message stuff.&#xA;&#xA;=============&#xA;6. Some other solution&#xA;&#xA;On Wed, Mar 4, 2020 at 3:23 PM Karl-Johan Alm&#xA;&lt;karljohan-alm at garage.co.jp&gt; wrote:&#xA;&gt;&#xA;&gt; Hello,&#xA;&gt;&#xA;&gt; I noticed recently that a PR to Bitcoin Core that pretty much touched&#xA;&gt; everything my BIP-322 pull request touches (around the same&#xA;&gt; complexity) was merged without a thought given to BIP-322&#xA;&gt; compatibility, despite the BIP-322 PR being open for 2x the time. I&#xA;&gt; can only conclude from this that people dislike BIP-322 in its current&#xA;&gt; form, which the 9 month old pull request stagnating can probably&#xA;&gt; attest to.&#xA;&gt;&#xA;&gt; There are several things that I can do to make this a bit more&#xA;&gt; appealing to people, which would hopefully kick the progress on this&#xA;&gt; forward. I have already put in a non-trivial amount of energy and&#xA;&gt; effort into maintaining the pull request as is, so I&#39;d prefer if&#xA;&gt; people were harsh and unfiltered in their criticism rather than polite&#xA;&gt; and buffered, so I can beat this thing into shape (or abandon it, in&#xA;&gt; the worst case).&#xA;&gt;&#xA;&gt; =============&#xA;&gt; 1. People use signmessage as a way to prove funds. This is misleading&#xA;&gt; and should be discouraged; throw the sign message stuff out and&#xA;&gt; replace it entirely with a prove funds system.&#xA;&gt;&#xA;&gt; I know in particular luke-jr is of this opinion, and Greg Maxwell in&#xA;&gt; https://github.com/bitcoin/bitcoin/pull/16440#issuecomment-568194168&#xA;&gt; leans towards this opinion as well, it seems.&#xA;&gt;&#xA;&gt; =============&#xA;&gt; 2. Use a transaction rather than a new format; make the first input&#39;s&#xA;&gt; txid the message hash to ensure the tx cannot be broadcasted. This has&#xA;&gt; the benefit of being able to provide to an existing hardware wallet&#xA;&gt; without making any modifications to its firmware.&#xA;&gt;&#xA;&gt; I think Mark Friedenbach and Johnson Lau are of this opinion, except&#xA;&gt; Johnson Lau also suggests that the signature hash is modified, see&#xA;&gt; https://github.com/bitcoin/bips/pull/725#issuecomment-420040430 --&#xA;&gt; which defeats the benefit above since now hw wallets can no longer&#xA;&gt; sign.&#xA;&gt;&#xA;&gt; Prusnak (I think he works at Trezor; apologies if I am mistaken) is&#xA;&gt; against this idea, and proposes (3) below:&#xA;&gt; https://github.com/bitcoin/bips/pull/725#issuecomment-420210488&#xA;&gt;&#xA;&gt; =============&#xA;&gt; 3. Use Trezor style&#xA;&gt;&#xA;&gt; See https://github.com/trezor/trezor-mcu/issues/169&#xA;&gt;&#xA;&gt; This has the benefit of already being adopted (which clearly BIP-322&#xA;&gt; is failing hard at right now), but has the drawback that we can no&#xA;&gt; longer do *generic* signing; we are stuck with the exact same&#xA;&gt; limitations as in the legacy system, which we kinda wanted to fix in&#xA;&gt; the updated version.&#xA;&gt;&#xA;&gt; =============&#xA;&gt; 4. Introduce OP_MESSAGEONLY&#xA;&gt;&#xA;&gt; Quoting Johnson Lau at&#xA;&gt; https://github.com/bitcoin/bips/pull/725#issuecomment-420421058 :&#xA;&gt; &#34;&#34;&#34;&#xA;&gt; OP_MESSAGEONLY means the script following the code would never be&#xA;&gt; valid. For example, a scriptPubKey:&#xA;&gt;&#xA;&gt; OP_IF OP_MESSAGEONLY &lt;key_m&gt; OP_ELSE &lt;key_s&gt; OP_ENDIF OP_CHECKSIG&#xA;&gt;&#xA;&gt; For messaging purpose, OP_MESSAGEONLY is considered as OP_NOP and is&#xA;&gt; ignored. A message could be signed with either key_m or key_s.&#xA;&gt;&#xA;&gt; For spending, only key_s is valid.&#xA;&gt;&#xA;&gt; I don&#39;t think it is a big problem to consume a op_code. If this is a&#xA;&gt; real concern, I could modify it as follow: in message system,&#xA;&gt; OP_RETURN will pop the top stack. If top stack is msg in hex, it is&#xA;&gt; ignored. Otherwise, the script fails.&#xA;&gt; &#34;&#34;&#34;&#xA;&gt;&#xA;&gt; =============&#xA;&gt; 5. Some other solution</html></oembed>