<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Ah, OK, that's of course a good thing to document this
      undocumented (and strange) stuff, as a matter of fact I
      implemented it after reading your post (because this was on my
      todo list since some time) and got annoyed quickly, mainly by what
      is doing formatMessageForSigning (which is quite trivial when you
      know it but would be good to document precisely)</p>
    <p>So, yes, it's a good idea to write this, regarding the header I
      still don't see the use, testing the different possibilities is
      not a big deal, why the signature format is not the same as
      transactions one is mysterious too<br>
    </p>
    <div class="moz-cite-prefix">Le 19/02/2019 à 00:24, Christopher
      Gilliard a écrit :<br>
    </div>
    <blockquote type="cite"
cite="mid:CAK=nyAztSeEbDL=98PTdx-sdqGOug26-3vyADA-tc5oxECyZPw@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">The proposal includes actual code that does
        verification, but I didn't include code for signing. I thought
        it could be inferred, but I could at least include a description
        of how to sign. I am not sure exactly what part you are
        referring to by "keys speech", but the signatures are done by
        ECDSA keys so it's hard to not include anything about keys even
        though that's not the main topic. The "Background on ECDSA keys"
        section was mainly meant to give background about what kind of
        keys Bitcoin uses, for people who already know that they can
        easily skip this section so I would probably think it's best
        just to leave in.  Maybe it should be at the end as an addendum
        though. Yes, I did not invent any of this, I'm just documenting
        what people actually seem to do because I had to verify
        signatures as part of a project I'm working on. I would have
        liked to have had this document when I started the project so I
        thought it might be useful to others since as far as I can tell
        this was not specified anywhere. The reason for including this
        data in the header is the same that compressed/uncompressed is
        included in the header so that you know which type of key the
        signature is from and you don't have to try all options to see
        if any matches. This is why Trezor did that way and why I
        documented it. I'm sure there are other ways to do this, but
        since this is out there in the field being used and is a
        reasonable solution, I thought I'd write it up.</div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Mon, Feb 18, 2019 at 2:59
          PM Aymeric Vitte &lt;<a href="mailto:vitteaymeric@gmail.com"
            moz-do-not-send="true">vitteaymeric@gmail.com</a>&gt; wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px
          0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div bgcolor="#FFFFFF">
            <p>Then, since you wrote this proposal, maybe you should add
              the very precise description of the signing/verification
              process since it is documented nowhere</p>
            <p>I don't get the use of the speech regarding keys while it
              should focus on signatures which are summarized in a vague
              sentence inspired by your ref [2] with a not very logical
              link to the next paragraph stating that r,s should be 32B
              and the whole thing 65B with a header of 1B, you did not
              invent it, that's probably the rule, not sure where it is
              specified again and for what purpose, the header seems
              completely of no use especially when you extend to
              segwit/bech32 since you just have to check that related
              compressed key matches<br>
            </p>
            <div class="gmail-m_416822245153225270moz-cite-prefix">Le
              17/02/2019 à 15:14, Christopher Gilliard via bitcoin-dev a
              écrit :<br>
            </div>
            <blockquote type="cite">
              <div dir="ltr">
                <div dir="ltr">
                  <div dir="ltr">I have written up a proposed BIP. It
                    has to do with Signature formats when using Bitcoin
                    Private keys. It is here: <a
                      href="https://github.com/cgilliard/BIP/blob/master/README.md"
                      target="_blank" moz-do-not-send="true">https://github.com/cgilliard/BIP/blob/master/README.md</a></div>
                  <div dir="ltr"><br>
                  </div>
                  <div>This BIP was written up as suggested in this
                    github issue: <a
                      href="https://github.com/bitcoin/bitcoin/issues/10542"
                      target="_blank" moz-do-not-send="true">https://github.com/bitcoin/bitcoin/issues/10542</a></div>
                  <div><br>
                  </div>
                  <div>Note that the proposal is inline with the
                    implementation that Trezor implemented in the above
                    issue.</div>
                  <div dir="ltr"><br>
                  </div>
                  <div>Any feedback would be appreciated. Please let me
                    know what the steps are with regards to getting a
                    BIP number assigned or any other process steps
                    required.</div>
                  <div><br>
                  </div>
                  <div>Regards,</div>
                  <div>Chris</div>
                </div>
              </div>
              <br>
              <fieldset
                class="gmail-m_416822245153225270mimeAttachmentHeader"></fieldset>
              <pre class="gmail-m_416822245153225270moz-quote-pre">_______________________________________________
bitcoin-dev mailing list
<a class="gmail-m_416822245153225270moz-txt-link-abbreviated" href="mailto:bitcoin-dev@lists.linuxfoundation.org" target="_blank" moz-do-not-send="true">bitcoin-dev@lists.linuxfoundation.org</a>
<a class="gmail-m_416822245153225270moz-txt-link-freetext" href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" target="_blank" moz-do-not-send="true">https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev</a>
</pre>
            </blockquote>
            <pre class="gmail-m_416822245153225270moz-signature" cols="72">-- 
Move your coins by yourself (browser version): <a class="gmail-m_416822245153225270moz-txt-link-freetext" href="https://peersm.com/wallet" target="_blank" moz-do-not-send="true">https://peersm.com/wallet</a>
Bitcoin transactions made simple: <a class="gmail-m_416822245153225270moz-txt-link-freetext" href="https://github.com/Ayms/bitcoin-transactions" target="_blank" moz-do-not-send="true">https://github.com/Ayms/bitcoin-transactions</a>
Zcash wallets made simple: <a class="gmail-m_416822245153225270moz-txt-link-freetext" href="https://github.com/Ayms/zcash-wallets" target="_blank" moz-do-not-send="true">https://github.com/Ayms/zcash-wallets</a>
Bitcoin wallets made simple: <a class="gmail-m_416822245153225270moz-txt-link-freetext" href="https://github.com/Ayms/bitcoin-wallets" target="_blank" moz-do-not-send="true">https://github.com/Ayms/bitcoin-wallets</a>
Get the torrent dynamic blocklist: <a class="gmail-m_416822245153225270moz-txt-link-freetext" href="http://peersm.com/getblocklist" target="_blank" moz-do-not-send="true">http://peersm.com/getblocklist</a>
Check the 10 M passwords list: <a class="gmail-m_416822245153225270moz-txt-link-freetext" href="http://peersm.com/findmyass" target="_blank" moz-do-not-send="true">http://peersm.com/findmyass</a>
Anti-spies and private torrents, dynamic blocklist: <a class="gmail-m_416822245153225270moz-txt-link-freetext" href="http://torrent-live.org" target="_blank" moz-do-not-send="true">http://torrent-live.org</a>
Peersm : <a class="gmail-m_416822245153225270moz-txt-link-freetext" href="http://www.peersm.com" target="_blank" moz-do-not-send="true">http://www.peersm.com</a>
torrent-live: <a class="gmail-m_416822245153225270moz-txt-link-freetext" href="https://github.com/Ayms/torrent-live" target="_blank" moz-do-not-send="true">https://github.com/Ayms/torrent-live</a>
node-Tor : <a class="gmail-m_416822245153225270moz-txt-link-freetext" href="https://www.github.com/Ayms/node-Tor" target="_blank" moz-do-not-send="true">https://www.github.com/Ayms/node-Tor</a>
GitHub : <a class="gmail-m_416822245153225270moz-txt-link-freetext" href="https://www.github.com/Ayms" target="_blank" moz-do-not-send="true">https://www.github.com/Ayms</a></pre>
          </div>
        </blockquote>
      </div>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
Move your coins by yourself (browser version): <a class="moz-txt-link-freetext" href="https://peersm.com/wallet">https://peersm.com/wallet</a>
Bitcoin transactions made simple: <a class="moz-txt-link-freetext" href="https://github.com/Ayms/bitcoin-transactions">https://github.com/Ayms/bitcoin-transactions</a>
Zcash wallets made simple: <a class="moz-txt-link-freetext" href="https://github.com/Ayms/zcash-wallets">https://github.com/Ayms/zcash-wallets</a>
Bitcoin wallets made simple: <a class="moz-txt-link-freetext" href="https://github.com/Ayms/bitcoin-wallets">https://github.com/Ayms/bitcoin-wallets</a>
Get the torrent dynamic blocklist: <a class="moz-txt-link-freetext" href="http://peersm.com/getblocklist">http://peersm.com/getblocklist</a>
Check the 10 M passwords list: <a class="moz-txt-link-freetext" href="http://peersm.com/findmyass">http://peersm.com/findmyass</a>
Anti-spies and private torrents, dynamic blocklist: <a class="moz-txt-link-freetext" href="http://torrent-live.org">http://torrent-live.org</a>
Peersm : <a class="moz-txt-link-freetext" href="http://www.peersm.com">http://www.peersm.com</a>
torrent-live: <a class="moz-txt-link-freetext" href="https://github.com/Ayms/torrent-live">https://github.com/Ayms/torrent-live</a>
node-Tor : <a class="moz-txt-link-freetext" href="https://www.github.com/Ayms/node-Tor">https://www.github.com/Ayms/node-Tor</a>
GitHub : <a class="moz-txt-link-freetext" href="https://www.github.com/Ayms">https://www.github.com/Ayms</a></pre>
  </body>
</html>