<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Instead of using vanity addresses, the transactions could just
      use an OP_RETURN output and express the signalling there.</p>
    <p><br>
    </p>
    <p>However, such a system could be easily gamed by people who simply
      spam the network with transactions and by miners who choose what
      transactions to include in their blocks.<br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 2/2/2017 7:13 PM, John Hardy via
      bitcoin-dev wrote:<br>
    </div>
    <blockquote
cite="mid:BL2PR03MB4358286BE7F0D51F99B8EC6EE4C0@BL2PR03MB435.namprd03.prod.outlook.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
      <div id="divtagdefaultwrapper"
style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;"
        dir="ltr">
        <p>Currently in order to signal support for changes to Bitcoin,
          only miners are able to do so on the blockchain through BIP9.</p>
        <p><br>
        </p>
        <p>One criticism is that the rest of the community is not able
          to participate in consensus, and other methods of assessing
          community support are fuzzy and easily manipulated through
          Sybil.</p>
        <p><br>
        </p>
        <p>I was trying to think if there was a way community support
          could be signaled through transactions without requiring a
          hard fork, and without increasing the size of transactions at
          all.</p>
        <p><br>
        </p>
        <p>My solution is basically inspired by hashcash and vanity
          addresses.</p>
        <p><br>
        </p>
        <p>The output address of a transaction could basically have the
          last 4 characters used<span style="font-size: 12pt;"> to
            signal support for a particular proposal.<br>
            <br>
            To generate an address with 4 consecutive case-insensitive
            characters should be roughly 34^4 which is just over a
            million attempts. On typical hardware this should take less
            than a second.<br>
            <br>
            An example bitcoin address that wanted to support the core
            roadmap might be:</span></p>
        <p><span style="font-size: 12pt;"><span><span
                style="font-family: monospace; font-size: 14.625px;">1CLNgjuu8s51umTA76Zi8v6EdvDp8q<b>CorE</b></span></span><br>
          </span></p>
        <p><br>
        </p>
        <p>or to signal support for a big block proposal might be:</p>
        <p><span style="font-family: monospace; font-size: 14.625px;">1N62SRhBioRFrigS5eJ8kR1WYcfcYr<b>16mB</b></span></p>
        <p><br>
        </p>
        <div><span style="font-family: Calibri, Arial, Helvetica,
            sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI
            Emoji&quot;, NotoColorEmoji, &quot;Segoe UI Symbol&quot;,
            &quot;Android Emoji&quot;, EmojiSymbols; font-size: 16px;">Popularity
            could be measured weighted by </span>fee<span
            style="font-family: Calibri, Arial, Helvetica, sans-serif,
            &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;,
            NotoColorEmoji, &quot;Segoe UI Symbol&quot;, &quot;Android
            Emoji&quot;, EmojiSymbols; font-size: 16px;"> paid per
            voting kb.</span></div>
        <p><br>
        </p>
        <p>Issues are that this could lead to transactions been censored
          by particular miners for political reasons. Also miners might
          attempt to manipulate the results by stuffing their block with
          'fake' transactions. Such attempts could be identified if a
          large number of voting transactions were not in the mempool.</p>
        <p><br>
        </p>
        <p>Despite the limitations, I believe this offers a very
          accessible way to immediately allow the entire economic
          community to signal their support within transactions. The
          only cost is that of a tiny hashing PoW that should tie up a
          CPU for a barely noticeable amount of time, and could be
          implemented relatively easily into wallet software.</p>
        <p><br>
        </p>
        <p>For its weaknesses, surely it is better than the existing
          methods we use to assess support from the wider economic
          community?</p>
        <p><br>
        </p>
        <p>While it could just be used for signaling support and giving
          users a 'voice' on chain, if considered effective it could
          also be used to activate changes in the future.</p>
        <p><br>
        </p>
        <p>Any thoughts welcome.</p>
        <p><br>
        </p>
        <p>Thanks,</p>
        <p><br>
        </p>
        <p>John Hardy</p>
        <p><a class="moz-txt-link-abbreviated" href="mailto:john@seebitcoin.com">john@seebitcoin.com</a></p>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
bitcoin-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.linuxfoundation.org</a>
<a class="moz-txt-link-freetext" href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev">https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>