I disagree with a bunch of your points, but I&#39;ll wait on others to comment, except I will say that I don&#39;t understand what the 20 byte keyhash is. Can you elucidate?<div><br></div><div>I am assuming major mining folks have written their own coinbasing facilities, but perhaps this is not the case -- if so, I agree that some work is necessary for such miners.</div>


<div><br></div><div>Finally I will just comment that I am guided by the general perspective that many things about bitcoins are opt-in; therefore it makes sense to me put difficult work onto those who are motivated to do it, and keep things as easy as possible for the &#39;maybes&#39; to participate -- hence small courtesies like allowing text/plain or text/html.</div>

<div><br></div><div>Peter</div><div><br><div class="gmail_quote">On Tue, May 29, 2012 at 11:18 AM, Luke-Jr <span dir="ltr">&lt;<a href="mailto:luke@dashjr.org" target="_blank">luke@dashjr.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div>On Tuesday, May 29, 2012 3:05:18 PM Peter Vessenes wrote:<br>
&gt; 1) Germane to the original conversation, anything hard to implement will<br>
&gt; not get implemented by miners.<br>
<br>
</div>Without my got-tired-of-waiting-for-someone-to-merge-it coinbaser branch,<br>
anything modifying the coinbase is hard to implement.<br>
<div><br>
&gt; 2) Coinbase is hard-limited to 100 bytes; this has to include space for<br>
&gt; voting as well as extra nonce, etc. So, I&#39;m not sure that a full URL is a<br>
&gt; good plan.<br>
<br>
</div>Rather, I would suggest a 20 byte keyhash, which allows the owner to broadcast<br>
a full URI out-of-band.<br>
<div><br>
&gt; 1) They shall prepend \mi: to the url to designate it as a url for miner<br>
&gt; info, and append a trailing \ to the url<br>
<br>
</div>How about a simple prefix to the fixed-size keyhash?<br>
Perhaps &quot;MFR=&quot; (Mining Fee Rules)<br>
<div><br>
&gt; 2) The url given in the coinbase shall have http:// prepended to it before<br>
&gt; processing.<br>
<br>
</div>I would recommend miners use https, with a specified SSL keyhash in the URI<br>
(so we don&#39;t need to pay for a &quot;proper&quot; SSL cert).<br>
<div><br>
&gt; 3) The destination may be a redirect (to allow short URLs), or may deliver<br>
&gt; content<br>
<br>
</div>Clients should simply be required to follow the relevant HTTP specification.<br>
<div><br>
&gt; 4) The content-type returned by the final site post-redirect shall be<br>
&gt; either (preferred text/json) or text/plain or text/html<br>
<br>
</div>text/plain and text/html are just wrong and don&#39;t make any sense here.<br>
<div><br>
&gt; Inre: Luke&#39;s complaint about JSON, it is the language of the web. There is<br>
&gt; no easier format for both computers and humans to read, and in this case,<br>
&gt; it includes extensibility, which is nice, since we have no idea how miners<br>
&gt; will wish to divvy up their services; I think one would need to make a<br>
&gt; strong case against JSON for a specific reason to not choose it by default.<br>
<br>
</div>Bitcoin isn&#39;t &quot;the web&quot;, it&#39;s a complicated script-based cryptocurrency.<br>
Everything in the Bitcoin protocol requires a computer&#39;s interpretation for<br>
humans, and there&#39;s no reason to stray from this default. Also, JSON is not<br>
extensible in any of the ways needed for this specific purpose.<br>
<div><br>
&gt; 4) The text of the document delivered shall be a JSON format dictionary,<br>
&gt; and shall include at minimum the following fields: &#39;min_fee&#39;, &#39;pool_name&#39;,<br>
&gt; and &#39;last_modified&#39; Optional fields can be determined over time as<br>
&gt; necessary by the mining community<br>
<br>
</div>Last Modified and other caching rules are dealt with in the relevant HTTP<br>
specification...<br>
<div><br>
&gt; 5) The Service Level Agreement isn&#39;t binding, but miners who implement it<br>
&gt; are expected to make a best efforts attempt to follow it.<br>
<br>
</div>While it doesn&#39;t make sense to give it the full legal force of a contract, I<br>
think it should be expressed as a &quot;MUST&quot; in the BIP.<br>
<div><br>
&gt; Generally a miner would occasionally publish the \mi:\ when they had<br>
&gt; updated their SLA, or just every so often, but the canonical location would<br>
&gt; be the final destination URL from the redirects.<br>
<br>
</div>The coinbase advertisement MUST be part of every coinbase mined by the miner,<br>
or there&#39;s no reliable way to prove which blocks are theirs.<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><table style="font-family:Times"><tbody><tr><td><img src="http://coinlab.com/images/coinlab-logo.png"></td><td valign="bottom"><div style="font-family:RobotoLight,&#39;Lucida Grande&#39;,Helmet,Freesans,sans-serif;font-size:16px;line-height:20px">


Peter J. Vessenes<br>CEO, CoinLab<br>M: <a href="tel:206.595.9839" value="+12065959839" target="_blank">206.595.9839</a><br>Skype: vessenes<br><a href="https://plus.google.com/112885659993091300749" target="_blank">Google+</a></div>

</td></tr></tbody></table><br>
</div>