This commit is contained in:
Alex Grintsvayg 2018-11-09 11:24:08 -05:00
parent 09c47b9dfd
commit e4dc016b8a
2 changed files with 31 additions and 9 deletions

View file

@ -179,6 +179,17 @@
</noscript> </noscript>
<!--
fixme final polish checklist:
- go over the paper to make sure we use active voice in most places (though passive is better sometimes)
- standardize when we say "we do X" vs "LBRY does X"
- check that all anchors work
- check css across browsers/mobile
-
-->
<h2 id="introduction">Introduction</h2> <h2 id="introduction">Introduction</h2>
<!-- fixme --> <!-- fixme -->
@ -320,7 +331,7 @@
<p>A <em>support</em> is an additional transaction type that lends its <em>amount</em> to an existing claim.</p> <p>A <em>support</em> is an additional transaction type that lends its <em>amount</em> to an existing claim.</p>
<p>A support contains only a <code>claimID</code> and an <code>amount</code>, no other properties. Supports function analogously to claims in terms of <a href="#claim-operations">Claim Operations</a> and <a href="#claim-statuses">Claim Statuses</a>, with the exception that they cannot be updated.</p> <p>A support contains only a <code>claimID</code> and an <code>amount</code>, no other properties. Supports function analogously to claims in terms of <a href="#claim-operations">Claim Operations</a> and <a href="#claim-statuses">Claim Statuses</a>, with the exception that they cannot be updated or themselves supported.</p>
<h4 id="claimtrie">Claimtrie</h4> <h4 id="claimtrie">Claimtrie</h4>
@ -785,11 +796,11 @@ Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
<h3 id="transactions">Transactions</h3> <h3 id="transactions">Transactions</h3>
<p>To support claims, the LBRY blockchain makes the following changes on top of Bitcoin.</p> <p>The LBRY blockchain includes the following changes to Bitcoin&rsquo;s transaction scripting language.</p>
<h4 id="operations-and-opcodes">Operations and Opcodes</h4> <h4 id="operations-and-opcodes">Operations and Opcodes</h4>
<p>To enable <a href="#claim-operations">claim operations</a>, we added three new opcodes to the blockchain scripting language: <code>OP_CLAIM_NAME</code>, <code>OP_UPDATE_CLAIM</code>, and <code>OP_SUPPORT_CLAIM</code>. In Bitcoin they are respectively <code>OP_NOP6</code>, <code>OP_NOP7</code>, and <code>OP_NOP8</code>. The opcodes are used in output scripts to interact with the claimtrie. Each opcode is followed by one or more parameters. Here&rsquo;s how these opcodes are used:</p> <p>To enable <a href="#claim-operations">claim operations</a>, we added three new opcodes to the scripting language: <code>OP_CLAIM_NAME</code>, <code>OP_UPDATE_CLAIM</code>, and <code>OP_SUPPORT_CLAIM</code>. In Bitcoin they are respectively <code>OP_NOP6</code>, <code>OP_NOP7</code>, and <code>OP_NOP8</code>. The opcodes are used in output scripts to interact with the claimtrie. Each opcode is followed by one or more parameters. Here&rsquo;s how these opcodes are used:</p>
<pre><code>OP_CLAIM_NAME &lt;name&gt; &lt;value&gt; OP_2DROP OP_DROP &lt;outputScript&gt; <pre><code>OP_CLAIM_NAME &lt;name&gt; &lt;value&gt; OP_2DROP OP_DROP &lt;outputScript&gt;

View file

@ -114,6 +114,18 @@
</noscript> </noscript>
<!--
fixme final polish checklist:
- go over the paper to make sure we use active voice in most places (though passive is better sometimes)
- standardize when we say "we do X" vs "LBRY does X"
- check that all anchors work
- check css across browsers/mobile
-
-->
## Introduction ## Introduction
<!-- fixme --> <!-- fixme -->
@ -251,7 +263,7 @@ There are three claim operations: _create_, _update_, and _abandon_.
A _support_ is an additional transaction type that lends its _amount_ to an existing claim. A _support_ is an additional transaction type that lends its _amount_ to an existing claim.
A support contains only a `claimID` and an `amount`, no other properties. Supports function analogously to claims in terms of [Claim Operations](#claim-operations) and [Claim Statuses](#claim-statuses), with the exception that they cannot be updated. A support contains only a `claimID` and an `amount`, no other properties. Supports function analogously to claims in terms of [Claim Operations](#claim-operations) and [Claim Statuses](#claim-statuses), with the exception that they cannot be updated or themselves supported.
#### Claimtrie #### Claimtrie
@ -579,12 +591,11 @@ Finally, it's important to note that _only_ vanity URLs have this property. Extr
### Transactions ### Transactions
To support claims, the LBRY blockchain makes the following changes on top of Bitcoin. The LBRY blockchain includes the following changes to Bitcoin's transaction scripting language.
#### Operations and Opcodes #### Operations and Opcodes
To enable [claim operations](#claim-operations), we added three new opcodes to the blockchain scripting language: `OP_CLAIM_NAME`, `OP_UPDATE_CLAIM`, and `OP_SUPPORT_CLAIM`. In Bitcoin they are respectively `OP_NOP6`, `OP_NOP7`, and `OP_NOP8`. The opcodes are used in output scripts to interact with the claimtrie. Each opcode is followed by one or more parameters. Here's how these opcodes are used: To enable [claim operations](#claim-operations), we added three new opcodes to the scripting language: `OP_CLAIM_NAME`, `OP_UPDATE_CLAIM`, and `OP_SUPPORT_CLAIM`. In Bitcoin they are respectively `OP_NOP6`, `OP_NOP7`, and `OP_NOP8`. The opcodes are used in output scripts to interact with the claimtrie. Each opcode is followed by one or more parameters. Here's how these opcodes are used:
``` ```
OP_CLAIM_NAME <name> <value> OP_2DROP OP_DROP <outputScript> OP_CLAIM_NAME <name> <value> OP_2DROP OP_DROP <outputScript>