Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions doc/bitcoin.bib
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
@InProceedings{Decker2015Making,
author = {Christian Decker and James Guthrie and Jochen Seidel and Roger Wattenhofer},
author = {Christian Decker, James Guthrie, Jochen Seidel and Roger Wattenhofer},
note = {\tt decker@ethz.ch and wattenhofer@ethz.ch},
title = {{Making Bitcoin Exchanges Transparent}},
booktitle = {{20th European Symposium on Research in Computer Security (ESORICS), Vienna, Austria}},
Expand All@@ -24,8 +24,7 @@ @misc{BitcoinChannels
note = {\url{https://bitcointalk.org/index.php?topic=25786.0}}
}
@article{DBLP:journals/corr/DeckerW14,
author = {Christian Decker and
Roger Wattenhofer},
author = {Christian Decker and Roger Wattenhofer},
title = {Bitcoin Transaction Malleability and MtGox},
journal = {CoRR},
volume = {abs/1403.6676},
Expand All@@ -47,6 +46,12 @@ @misc{BIP65
urldate = {2015-07-13},
note = {\url{https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki}}
}
@misc{BIP112,
author = { BtcDrak, Mark Freidenbach, and Eric Lombrozo },
title = {{CHECKSEQUENCEVERIFY}},
urldate = {2015-08-10},
note = {\url{https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki}}
}
@misc{friedenbach_bitcoin-development_2015,
title = {[Bitcoin-development] [{BIP} draft] Consensus-enforced transaction replacement signalled via sequence numbers},
note = {\url{http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/008452.html}},
Expand Down
31 changes: 21 additions & 10 deletions doc/deployable-lightning.lyx
Original file line numberDiff line numberDiff line change
Expand Up@@ -479,7 +479,7 @@ on, and B sends A a signature for A's new commitment transaction.
As before, each commitment transaction contains two outputs, one for A and
one for B; but A's commitment transaction output to itself is encumbered
by an additional restriction (as is B's output to itself).
Instead of paying A directly, needs both A and B's signature.
Instead of paying A directly, A's output needs both A and B's signature.
B provides such a signature, but on a
\begin_inset Quotes eld
\end_inset
Expand DownExpand Up@@ -633,27 +633,33 @@ A and B's signature, OR
A's signature and OP_CHECKLOCKTIMEVERIFY <40 days>
\end_layout

\begin_layout Standard
As of Nov.
13, 2015, BIP65 has been deployed and is in the process of being activated.
\end_layout

\begin_layout Subsubsection
Using Relative Locktime
\end_layout

\begin_layout Standard
The Poon-Dryja channel uses a 40 day locktime, because transaction locktime
is absolute.
Before 40 days the channel must be closed otherwise spending a revoked
Before 40 days the channel must be closed, otherwise spending a revoked
transaction and immediately following it with the commit refund transaction
is possible.
\end_layout

\begin_layout Standard
A proposal to extend output scripts to specify a minimum
BIP112[#BIP112] proposes OP_CHECKSEQUENCEVERIFY, an opcode which allows
an output to specify a minimum
\emph on
relative
\emph default
time before they can be spent
time before the output can be spent
\begin_inset CommandInset citation
LatexCommand cite
key "friedenbach_bitcoin-development_2015"
key "friedenbach_bitcoin-development_2015,BIP112"

\end_inset

Expand All@@ -669,6 +675,11 @@ A and B's signature, OR
A's signature and OP_CHECKSEQUENCEVERIFY <1 day>
\end_layout

\begin_layout Standard
As of Nov.
13, 2015, BIP112 has not been deployed.
\end_layout

\begin_layout Subsubsection
Using Revocation Preimages Instead of Private Keys
\end_layout
Expand DownExpand Up@@ -872,7 +883,7 @@ status open
\begin_inset Caption Standard

\begin_layout Plain Layout
HTLC Using Revocation Preimages, OP_CLV and OP_CSV (simplified)
HTLC Using Revocation Preimages, OP_CLTV and OP_CSV (simplified)
\begin_inset CommandInset label
LatexCommand label
name "fig:HTLC-Using-Revocation"
Expand DownExpand Up@@ -1800,7 +1811,7 @@ reference "fig:Final-Dual-Anchor"
\end_inset

.
Thus, if the B broadcasts its escape transaction after it has been revoked,
Thus, if B broadcasts its escape transaction after it has been revoked,
A can (after ensuring escape B is sufficiently deep in the block chain)
broadcast its fast escape transaction and use B's secret to immediately
spend the output.
Expand DownExpand Up@@ -1939,7 +1950,7 @@ OP_HASH160
\begin_inset space ~
\end_inset

OP_EQUAL Check if the top of stack is the revocation image.
OP_EQUAL Check if the top of the stack contains the revocation image.
\end_layout

\begin_layout Description
Expand DownExpand Up@@ -2058,7 +2069,7 @@ Fast-Escape Output Redeemscript
This allows two paths: one for this side to use the other side's secret
(revealed by them using an escape transaction), and one for the other side
to claim this side's anchor funds after a delay.
This show's A's script, but B's is the same with A and B exchanged.
This shows A's script, but B's is the same with A and B exchanged.
\end_layout

\begin_layout Description
Expand DownExpand Up@@ -2118,7 +2129,7 @@ Spending The Fast-Escape Output
\end_layout

\begin_layout Standard
Either A using a B's secret revealed by B using its own escape transaction:
Either A using B's secret revealed by B using its own escape transaction:
\end_layout

\begin_layout Description
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions doc/bitcoin.bib
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
@InProceedings{Decker2015Making,
author = {Christian Decker and James Guthrie and Jochen Seidel and Roger Wattenhofer},
author = {Christian Decker, James Guthrie, Jochen Seidel and Roger Wattenhofer},
note = {\tt decker@ethz.ch and wattenhofer@ethz.ch},
title = {{Making Bitcoin Exchanges Transparent}},
booktitle = {{20th European Symposium on Research in Computer Security (ESORICS), Vienna, Austria}},
Expand All@@ -24,8 +24,7 @@ @misc{BitcoinChannels
note = {\url{https://bitcointalk.org/index.php?topic=25786.0}}
}
@article{DBLP:journals/corr/DeckerW14,
author = {Christian Decker and
Roger Wattenhofer},
author = {Christian Decker and Roger Wattenhofer},
title = {Bitcoin Transaction Malleability and MtGox},
journal = {CoRR},
volume = {abs/1403.6676},
Expand All@@ -47,6 +46,12 @@ @misc{BIP65
urldate = {2015-07-13},
note = {\url{https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki}}
}
@misc{BIP112,
author = { BtcDrak, Mark Freidenbach, and Eric Lombrozo },
title = {{CHECKSEQUENCEVERIFY}},
urldate = {2015-08-10},
note = {\url{https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki}}
}
@misc{friedenbach_bitcoin-development_2015,
title = {[Bitcoin-development] [{BIP} draft] Consensus-enforced transaction replacement signalled via sequence numbers},
note = {\url{http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/008452.html}},
Expand Down
31 changes: 21 additions & 10 deletions doc/deployable-lightning.lyx
Original file line numberDiff line numberDiff line change
Expand Up@@ -479,7 +479,7 @@ on, and B sends A a signature for A's new commitment transaction.
As before, each commitment transaction contains two outputs, one for A and
one for B; but A's commitment transaction output to itself is encumbered
by an additional restriction (as is B's output to itself).
Instead of paying A directly, needs both A and B's signature.
Instead of paying A directly, A's output needs both A and B's signature.
B provides such a signature, but on a
\begin_inset Quotes eld
\end_inset
Expand DownExpand Up@@ -633,27 +633,33 @@ A and B's signature, OR
A's signature and OP_CHECKLOCKTIMEVERIFY <40 days>
\end_layout

\begin_layout Standard
As of Nov.
13, 2015, BIP65 has been deployed and is in the process of being activated.
\end_layout

\begin_layout Subsubsection
Using Relative Locktime
\end_layout

\begin_layout Standard
The Poon-Dryja channel uses a 40 day locktime, because transaction locktime
is absolute.
Before 40 days the channel must be closed otherwise spending a revoked
Before 40 days the channel must be closed, otherwise spending a revoked
transaction and immediately following it with the commit refund transaction
is possible.
\end_layout

\begin_layout Standard
A proposal to extend output scripts to specify a minimum
BIP112[#BIP112] proposes OP_CHECKSEQUENCEVERIFY, an opcode which allows
an output to specify a minimum
\emph on
relative
\emph default
time before they can be spent
time before the output can be spent
\begin_inset CommandInset citation
LatexCommand cite
key "friedenbach_bitcoin-development_2015"
key "friedenbach_bitcoin-development_2015,BIP112"

\end_inset

Expand All@@ -669,6 +675,11 @@ A and B's signature, OR
A's signature and OP_CHECKSEQUENCEVERIFY <1 day>
\end_layout

\begin_layout Standard
As of Nov.
13, 2015, BIP112 has not been deployed.
\end_layout

\begin_layout Subsubsection
Using Revocation Preimages Instead of Private Keys
\end_layout
Expand DownExpand Up@@ -872,7 +883,7 @@ status open
\begin_inset Caption Standard

\begin_layout Plain Layout
HTLC Using Revocation Preimages, OP_CLV and OP_CSV (simplified)
HTLC Using Revocation Preimages, OP_CLTV and OP_CSV (simplified)
\begin_inset CommandInset label
LatexCommand label
name "fig:HTLC-Using-Revocation"
Expand DownExpand Up@@ -1800,7 +1811,7 @@ reference "fig:Final-Dual-Anchor"
\end_inset

.
Thus, if the B broadcasts its escape transaction after it has been revoked,
Thus, if B broadcasts its escape transaction after it has been revoked,
A can (after ensuring escape B is sufficiently deep in the block chain)
broadcast its fast escape transaction and use B's secret to immediately
spend the output.
Expand DownExpand Up@@ -1939,7 +1950,7 @@ OP_HASH160
\begin_inset space ~
\end_inset

OP_EQUAL Check if the top of stack is the revocation image.
OP_EQUAL Check if the top of the stack contains the revocation image.
\end_layout

\begin_layout Description
Expand DownExpand Up@@ -2058,7 +2069,7 @@ Fast-Escape Output Redeemscript
This allows two paths: one for this side to use the other side's secret
(revealed by them using an escape transaction), and one for the other side
to claim this side's anchor funds after a delay.
This show's A's script, but B's is the same with A and B exchanged.
This shows A's script, but B's is the same with A and B exchanged.
\end_layout

\begin_layout Description
Expand DownExpand Up@@ -2118,7 +2129,7 @@ Spending The Fast-Escape Output
\end_layout

\begin_layout Standard
Either A using a B's secret revealed by B using its own escape transaction:
Either A using B's secret revealed by B using its own escape transaction:
\end_layout

\begin_layout Description
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions doc/bitcoin.bib
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
@InProceedings{Decker2015Making,
author = {Christian Decker and James Guthrie and Jochen Seidel and Roger Wattenhofer},
author = {Christian Decker, James Guthrie, Jochen Seidel and Roger Wattenhofer},
note = {\tt decker@ethz.ch and wattenhofer@ethz.ch},
title = {{Making Bitcoin Exchanges Transparent}},
booktitle = {{20th European Symposium on Research in Computer Security (ESORICS), Vienna, Austria}},
Expand All@@ -24,8 +24,7 @@ @misc{BitcoinChannels
note = {\url{https://bitcointalk.org/index.php?topic=25786.0}}
}
@article{DBLP:journals/corr/DeckerW14,
author = {Christian Decker and
Roger Wattenhofer},
author = {Christian Decker and Roger Wattenhofer},
title = {Bitcoin Transaction Malleability and MtGox},
journal = {CoRR},
volume = {abs/1403.6676},
Expand All@@ -47,6 +46,12 @@ @misc{BIP65
urldate = {2015-07-13},
note = {\url{https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki}}
}
@misc{BIP112,
author = { BtcDrak, Mark Freidenbach, and Eric Lombrozo },
title = {{CHECKSEQUENCEVERIFY}},
urldate = {2015-08-10},
note = {\url{https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki}}
}
@misc{friedenbach_bitcoin-development_2015,
title = {[Bitcoin-development] [{BIP} draft] Consensus-enforced transaction replacement signalled via sequence numbers},
note = {\url{http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/008452.html}},
Expand Down
31 changes: 21 additions & 10 deletions doc/deployable-lightning.lyx
Original file line numberDiff line numberDiff line change
Expand Up@@ -479,7 +479,7 @@ on, and B sends A a signature for A's new commitment transaction.
As before, each commitment transaction contains two outputs, one for A and
one for B; but A's commitment transaction output to itself is encumbered
by an additional restriction (as is B's output to itself).
Instead of paying A directly, needs both A and B's signature.
Instead of paying A directly, A's output needs both A and B's signature.
B provides such a signature, but on a
\begin_inset Quotes eld
\end_inset
Expand DownExpand Up@@ -633,27 +633,33 @@ A and B's signature, OR
A's signature and OP_CHECKLOCKTIMEVERIFY <40 days>
\end_layout

\begin_layout Standard
As of Nov.
13, 2015, BIP65 has been deployed and is in the process of being activated.
\end_layout

\begin_layout Subsubsection
Using Relative Locktime
\end_layout

\begin_layout Standard
The Poon-Dryja channel uses a 40 day locktime, because transaction locktime
is absolute.
Before 40 days the channel must be closed otherwise spending a revoked
Before 40 days the channel must be closed, otherwise spending a revoked
transaction and immediately following it with the commit refund transaction
is possible.
\end_layout

\begin_layout Standard
A proposal to extend output scripts to specify a minimum
BIP112[#BIP112] proposes OP_CHECKSEQUENCEVERIFY, an opcode which allows
an output to specify a minimum
\emph on
relative
\emph default
time before they can be spent
time before the output can be spent
\begin_inset CommandInset citation
LatexCommand cite
key "friedenbach_bitcoin-development_2015"
key "friedenbach_bitcoin-development_2015,BIP112"

\end_inset

Expand All@@ -669,6 +675,11 @@ A and B's signature, OR
A's signature and OP_CHECKSEQUENCEVERIFY <1 day>
\end_layout

\begin_layout Standard
As of Nov.
13, 2015, BIP112 has not been deployed.
\end_layout

\begin_layout Subsubsection
Using Revocation Preimages Instead of Private Keys
\end_layout
Expand DownExpand Up@@ -872,7 +883,7 @@ status open
\begin_inset Caption Standard

\begin_layout Plain Layout
HTLC Using Revocation Preimages, OP_CLV and OP_CSV (simplified)
HTLC Using Revocation Preimages, OP_CLTV and OP_CSV (simplified)
\begin_inset CommandInset label
LatexCommand label
name "fig:HTLC-Using-Revocation"
Expand DownExpand Up@@ -1800,7 +1811,7 @@ reference "fig:Final-Dual-Anchor"
\end_inset

.
Thus, if the B broadcasts its escape transaction after it has been revoked,
Thus, if B broadcasts its escape transaction after it has been revoked,
A can (after ensuring escape B is sufficiently deep in the block chain)
broadcast its fast escape transaction and use B's secret to immediately
spend the output.
Expand DownExpand Up@@ -1939,7 +1950,7 @@ OP_HASH160
\begin_inset space ~
\end_inset

OP_EQUAL Check if the top of stack is the revocation image.
OP_EQUAL Check if the top of the stack contains the revocation image.
\end_layout

\begin_layout Description
Expand DownExpand Up@@ -2058,7 +2069,7 @@ Fast-Escape Output Redeemscript
This allows two paths: one for this side to use the other side's secret
(revealed by them using an escape transaction), and one for the other side
to claim this side's anchor funds after a delay.
This show's A's script, but B's is the same with A and B exchanged.
This shows A's script, but B's is the same with A and B exchanged.
\end_layout

\begin_layout Description
Expand DownExpand Up@@ -2118,7 +2129,7 @@ Spending The Fast-Escape Output
\end_layout

\begin_layout Standard
Either A using a B's secret revealed by B using its own escape transaction:
Either A using B's secret revealed by B using its own escape transaction:
\end_layout

\begin_layout Description
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions doc/bitcoin.bib
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
@InProceedings{Decker2015Making,
author = {Christian Decker and James Guthrie and Jochen Seidel and Roger Wattenhofer},
author = {Christian Decker, James Guthrie, Jochen Seidel and Roger Wattenhofer},
note = {\tt decker@ethz.ch and wattenhofer@ethz.ch},
title = {{Making Bitcoin Exchanges Transparent}},
booktitle = {{20th European Symposium on Research in Computer Security (ESORICS), Vienna, Austria}},
Expand All@@ -24,8 +24,7 @@ @misc{BitcoinChannels
note = {\url{https://bitcointalk.org/index.php?topic=25786.0}}
}
@article{DBLP:journals/corr/DeckerW14,
author = {Christian Decker and
Roger Wattenhofer},
author = {Christian Decker and Roger Wattenhofer},
title = {Bitcoin Transaction Malleability and MtGox},
journal = {CoRR},
volume = {abs/1403.6676},
Expand All@@ -47,6 +46,12 @@ @misc{BIP65
urldate = {2015-07-13},
note = {\url{https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki}}
}
@misc{BIP112,
author = { BtcDrak, Mark Freidenbach, and Eric Lombrozo },
title = {{CHECKSEQUENCEVERIFY}},
urldate = {2015-08-10},
note = {\url{https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki}}
}
@misc{friedenbach_bitcoin-development_2015,
title = {[Bitcoin-development] [{BIP} draft] Consensus-enforced transaction replacement signalled via sequence numbers},
note = {\url{http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/008452.html}},
Expand Down
31 changes: 21 additions & 10 deletions doc/deployable-lightning.lyx
Original file line numberDiff line numberDiff line change
Expand Up@@ -479,7 +479,7 @@ on, and B sends A a signature for A's new commitment transaction.
As before, each commitment transaction contains two outputs, one for A and
one for B; but A's commitment transaction output to itself is encumbered
by an additional restriction (as is B's output to itself).
Instead of paying A directly, needs both A and B's signature.
Instead of paying A directly, A's output needs both A and B's signature.
B provides such a signature, but on a
\begin_inset Quotes eld
\end_inset
Expand DownExpand Up@@ -633,27 +633,33 @@ A and B's signature, OR
A's signature and OP_CHECKLOCKTIMEVERIFY <40 days>
\end_layout

\begin_layout Standard
As of Nov.
13, 2015, BIP65 has been deployed and is in the process of being activated.
\end_layout

\begin_layout Subsubsection
Using Relative Locktime
\end_layout

\begin_layout Standard
The Poon-Dryja channel uses a 40 day locktime, because transaction locktime
is absolute.
Before 40 days the channel must be closed otherwise spending a revoked
Before 40 days the channel must be closed, otherwise spending a revoked
transaction and immediately following it with the commit refund transaction
is possible.
\end_layout

\begin_layout Standard
A proposal to extend output scripts to specify a minimum
BIP112[#BIP112] proposes OP_CHECKSEQUENCEVERIFY, an opcode which allows
an output to specify a minimum
\emph on
relative
\emph default
time before they can be spent
time before the output can be spent
\begin_inset CommandInset citation
LatexCommand cite
key "friedenbach_bitcoin-development_2015"
key "friedenbach_bitcoin-development_2015,BIP112"

\end_inset

Expand All@@ -669,6 +675,11 @@ A and B's signature, OR
A's signature and OP_CHECKSEQUENCEVERIFY <1 day>
\end_layout

\begin_layout Standard
As of Nov.
13, 2015, BIP112 has not been deployed.
\end_layout

\begin_layout Subsubsection
Using Revocation Preimages Instead of Private Keys
\end_layout
Expand DownExpand Up@@ -872,7 +883,7 @@ status open
\begin_inset Caption Standard

\begin_layout Plain Layout
HTLC Using Revocation Preimages, OP_CLV and OP_CSV (simplified)
HTLC Using Revocation Preimages, OP_CLTV and OP_CSV (simplified)
\begin_inset CommandInset label
LatexCommand label
name "fig:HTLC-Using-Revocation"
Expand DownExpand Up@@ -1800,7 +1811,7 @@ reference "fig:Final-Dual-Anchor"
\end_inset

.
Thus, if the B broadcasts its escape transaction after it has been revoked,
Thus, if B broadcasts its escape transaction after it has been revoked,
A can (after ensuring escape B is sufficiently deep in the block chain)
broadcast its fast escape transaction and use B's secret to immediately
spend the output.
Expand DownExpand Up@@ -1939,7 +1950,7 @@ OP_HASH160
\begin_inset space ~
\end_inset

OP_EQUAL Check if the top of stack is the revocation image.
OP_EQUAL Check if the top of the stack contains the revocation image.
\end_layout

\begin_layout Description
Expand DownExpand Up@@ -2058,7 +2069,7 @@ Fast-Escape Output Redeemscript
This allows two paths: one for this side to use the other side's secret
(revealed by them using an escape transaction), and one for the other side
to claim this side's anchor funds after a delay.
This show's A's script, but B's is the same with A and B exchanged.
This shows A's script, but B's is the same with A and B exchanged.
\end_layout

\begin_layout Description
Expand DownExpand Up@@ -2118,7 +2129,7 @@ Spending The Fast-Escape Output
\end_layout

\begin_layout Standard
Either A using a B's secret revealed by B using its own escape transaction:
Either A using B's secret revealed by B using its own escape transaction:
\end_layout

\begin_layout Description
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions doc/bitcoin.bib
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
@InProceedings{Decker2015Making,
author = {Christian Decker and James Guthrie and Jochen Seidel and Roger Wattenhofer},
author = {Christian Decker, James Guthrie, Jochen Seidel and Roger Wattenhofer},
note = {\tt decker@ethz.ch and wattenhofer@ethz.ch},
title = {{Making Bitcoin Exchanges Transparent}},
booktitle = {{20th European Symposium on Research in Computer Security (ESORICS), Vienna, Austria}},
Expand All@@ -24,8 +24,7 @@ @misc{BitcoinChannels
note = {\url{https://bitcointalk.org/index.php?topic=25786.0}}
}
@article{DBLP:journals/corr/DeckerW14,
author = {Christian Decker and
Roger Wattenhofer},
author = {Christian Decker and Roger Wattenhofer},
title = {Bitcoin Transaction Malleability and MtGox},
journal = {CoRR},
volume = {abs/1403.6676},
Expand All@@ -47,6 +46,12 @@ @misc{BIP65
urldate = {2015-07-13},
note = {\url{https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki}}
}
@misc{BIP112,
author = { BtcDrak, Mark Freidenbach, and Eric Lombrozo },
title = {{CHECKSEQUENCEVERIFY}},
urldate = {2015-08-10},
note = {\url{https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki}}
}
@misc{friedenbach_bitcoin-development_2015,
title = {[Bitcoin-development] [{BIP} draft] Consensus-enforced transaction replacement signalled via sequence numbers},
note = {\url{http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/008452.html}},
Expand Down
31 changes: 21 additions & 10 deletions doc/deployable-lightning.lyx
Original file line numberDiff line numberDiff line change
Expand Up@@ -479,7 +479,7 @@ on, and B sends A a signature for A's new commitment transaction.
As before, each commitment transaction contains two outputs, one for A and
one for B; but A's commitment transaction output to itself is encumbered
by an additional restriction (as is B's output to itself).
Instead of paying A directly, needs both A and B's signature.
Instead of paying A directly, A's output needs both A and B's signature.
B provides such a signature, but on a
\begin_inset Quotes eld
\end_inset
Expand DownExpand Up@@ -633,27 +633,33 @@ A and B's signature, OR
A's signature and OP_CHECKLOCKTIMEVERIFY <40 days>
\end_layout

\begin_layout Standard
As of Nov.
13, 2015, BIP65 has been deployed and is in the process of being activated.
\end_layout

\begin_layout Subsubsection
Using Relative Locktime
\end_layout

\begin_layout Standard
The Poon-Dryja channel uses a 40 day locktime, because transaction locktime
is absolute.
Before 40 days the channel must be closed otherwise spending a revoked
Before 40 days the channel must be closed, otherwise spending a revoked
transaction and immediately following it with the commit refund transaction
is possible.
\end_layout

\begin_layout Standard
A proposal to extend output scripts to specify a minimum
BIP112[#BIP112] proposes OP_CHECKSEQUENCEVERIFY, an opcode which allows
an output to specify a minimum
\emph on
relative
\emph default
time before they can be spent
time before the output can be spent
\begin_inset CommandInset citation
LatexCommand cite
key "friedenbach_bitcoin-development_2015"
key "friedenbach_bitcoin-development_2015,BIP112"

\end_inset

Expand All@@ -669,6 +675,11 @@ A and B's signature, OR
A's signature and OP_CHECKSEQUENCEVERIFY <1 day>
\end_layout

\begin_layout Standard
As of Nov.
13, 2015, BIP112 has not been deployed.
\end_layout

\begin_layout Subsubsection
Using Revocation Preimages Instead of Private Keys
\end_layout
Expand DownExpand Up@@ -872,7 +883,7 @@ status open
\begin_inset Caption Standard

\begin_layout Plain Layout
HTLC Using Revocation Preimages, OP_CLV and OP_CSV (simplified)
HTLC Using Revocation Preimages, OP_CLTV and OP_CSV (simplified)
\begin_inset CommandInset label
LatexCommand label
name "fig:HTLC-Using-Revocation"
Expand DownExpand Up@@ -1800,7 +1811,7 @@ reference "fig:Final-Dual-Anchor"
\end_inset

.
Thus, if the B broadcasts its escape transaction after it has been revoked,
Thus, if B broadcasts its escape transaction after it has been revoked,
A can (after ensuring escape B is sufficiently deep in the block chain)
broadcast its fast escape transaction and use B's secret to immediately
spend the output.
Expand DownExpand Up@@ -1939,7 +1950,7 @@ OP_HASH160
\begin_inset space ~
\end_inset

OP_EQUAL Check if the top of stack is the revocation image.
OP_EQUAL Check if the top of the stack contains the revocation image.
\end_layout

\begin_layout Description
Expand DownExpand Up@@ -2058,7 +2069,7 @@ Fast-Escape Output Redeemscript
This allows two paths: one for this side to use the other side's secret
(revealed by them using an escape transaction), and one for the other side
to claim this side's anchor funds after a delay.
This show's A's script, but B's is the same with A and B exchanged.
This shows A's script, but B's is the same with A and B exchanged.
\end_layout

\begin_layout Description
Expand DownExpand Up@@ -2118,7 +2129,7 @@ Spending The Fast-Escape Output
\end_layout

\begin_layout Standard
Either A using a B's secret revealed by B using its own escape transaction:
Either A using B's secret revealed by B using its own escape transaction:
\end_layout

\begin_layout Description
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions doc/bitcoin.bib
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
@InProceedings{Decker2015Making,
author = {Christian Decker and James Guthrie and Jochen Seidel and Roger Wattenhofer},
author = {Christian Decker, James Guthrie, Jochen Seidel and Roger Wattenhofer},
note = {\tt decker@ethz.ch and wattenhofer@ethz.ch},
title = {{Making Bitcoin Exchanges Transparent}},
booktitle = {{20th European Symposium on Research in Computer Security (ESORICS), Vienna, Austria}},
Expand All@@ -24,8 +24,7 @@ @misc{BitcoinChannels
note = {\url{https://bitcointalk.org/index.php?topic=25786.0}}
}
@article{DBLP:journals/corr/DeckerW14,
author = {Christian Decker and
Roger Wattenhofer},
author = {Christian Decker and Roger Wattenhofer},
title = {Bitcoin Transaction Malleability and MtGox},
journal = {CoRR},
volume = {abs/1403.6676},
Expand All@@ -47,6 +46,12 @@ @misc{BIP65
urldate = {2015-07-13},
note = {\url{https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki}}
}
@misc{BIP112,
author = { BtcDrak, Mark Freidenbach, and Eric Lombrozo },
title = {{CHECKSEQUENCEVERIFY}},
urldate = {2015-08-10},
note = {\url{https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki}}
}
@misc{friedenbach_bitcoin-development_2015,
title = {[Bitcoin-development] [{BIP} draft] Consensus-enforced transaction replacement signalled via sequence numbers},
note = {\url{http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/008452.html}},
Expand Down
31 changes: 21 additions & 10 deletions doc/deployable-lightning.lyx
Original file line numberDiff line numberDiff line change
Expand Up@@ -479,7 +479,7 @@ on, and B sends A a signature for A's new commitment transaction.
As before, each commitment transaction contains two outputs, one for A and
one for B; but A's commitment transaction output to itself is encumbered
by an additional restriction (as is B's output to itself).
Instead of paying A directly, needs both A and B's signature.
Instead of paying A directly, A's output needs both A and B's signature.
B provides such a signature, but on a
\begin_inset Quotes eld
\end_inset
Expand DownExpand Up@@ -633,27 +633,33 @@ A and B's signature, OR
A's signature and OP_CHECKLOCKTIMEVERIFY <40 days>
\end_layout

\begin_layout Standard
As of Nov.
13, 2015, BIP65 has been deployed and is in the process of being activated.
\end_layout

\begin_layout Subsubsection
Using Relative Locktime
\end_layout

\begin_layout Standard
The Poon-Dryja channel uses a 40 day locktime, because transaction locktime
is absolute.
Before 40 days the channel must be closed otherwise spending a revoked
Before 40 days the channel must be closed, otherwise spending a revoked
transaction and immediately following it with the commit refund transaction
is possible.
\end_layout

\begin_layout Standard
A proposal to extend output scripts to specify a minimum
BIP112[#BIP112] proposes OP_CHECKSEQUENCEVERIFY, an opcode which allows
an output to specify a minimum
\emph on
relative
\emph default
time before they can be spent
time before the output can be spent
\begin_inset CommandInset citation
LatexCommand cite
key "friedenbach_bitcoin-development_2015"
key "friedenbach_bitcoin-development_2015,BIP112"

\end_inset

Expand All@@ -669,6 +675,11 @@ A and B's signature, OR
A's signature and OP_CHECKSEQUENCEVERIFY <1 day>
\end_layout

\begin_layout Standard
As of Nov.
13, 2015, BIP112 has not been deployed.
\end_layout

\begin_layout Subsubsection
Using Revocation Preimages Instead of Private Keys
\end_layout
Expand DownExpand Up@@ -872,7 +883,7 @@ status open
\begin_inset Caption Standard

\begin_layout Plain Layout
HTLC Using Revocation Preimages, OP_CLV and OP_CSV (simplified)
HTLC Using Revocation Preimages, OP_CLTV and OP_CSV (simplified)
\begin_inset CommandInset label
LatexCommand label
name "fig:HTLC-Using-Revocation"
Expand DownExpand Up@@ -1800,7 +1811,7 @@ reference "fig:Final-Dual-Anchor"
\end_inset

.
Thus, if the B broadcasts its escape transaction after it has been revoked,
Thus, if B broadcasts its escape transaction after it has been revoked,
A can (after ensuring escape B is sufficiently deep in the block chain)
broadcast its fast escape transaction and use B's secret to immediately
spend the output.
Expand DownExpand Up@@ -1939,7 +1950,7 @@ OP_HASH160
\begin_inset space ~
\end_inset

OP_EQUAL Check if the top of stack is the revocation image.
OP_EQUAL Check if the top of the stack contains the revocation image.
\end_layout

\begin_layout Description
Expand DownExpand Up@@ -2058,7 +2069,7 @@ Fast-Escape Output Redeemscript
This allows two paths: one for this side to use the other side's secret
(revealed by them using an escape transaction), and one for the other side
to claim this side's anchor funds after a delay.
This show's A's script, but B's is the same with A and B exchanged.
This shows A's script, but B's is the same with A and B exchanged.
\end_layout

\begin_layout Description
Expand DownExpand Up@@ -2118,7 +2129,7 @@ Spending The Fast-Escape Output
\end_layout

\begin_layout Standard
Either A using a B's secret revealed by B using its own escape transaction:
Either A using B's secret revealed by B using its own escape transaction:
\end_layout

\begin_layout Description
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions doc/bitcoin.bib
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
@InProceedings{Decker2015Making,
author = {Christian Decker and James Guthrie and Jochen Seidel and Roger Wattenhofer},
author = {Christian Decker, James Guthrie, Jochen Seidel and Roger Wattenhofer},
note = {\tt decker@ethz.ch and wattenhofer@ethz.ch},
title = {{Making Bitcoin Exchanges Transparent}},
booktitle = {{20th European Symposium on Research in Computer Security (ESORICS), Vienna, Austria}},
Expand All@@ -24,8 +24,7 @@ @misc{BitcoinChannels
note = {\url{https://bitcointalk.org/index.php?topic=25786.0}}
}
@article{DBLP:journals/corr/DeckerW14,
author = {Christian Decker and
Roger Wattenhofer},
author = {Christian Decker and Roger Wattenhofer},
title = {Bitcoin Transaction Malleability and MtGox},
journal = {CoRR},
volume = {abs/1403.6676},
Expand All@@ -47,6 +46,12 @@ @misc{BIP65
urldate = {2015-07-13},
note = {\url{https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki}}
}
@misc{BIP112,
author = { BtcDrak, Mark Freidenbach, and Eric Lombrozo },
title = {{CHECKSEQUENCEVERIFY}},
urldate = {2015-08-10},
note = {\url{https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki}}
}
@misc{friedenbach_bitcoin-development_2015,
title = {[Bitcoin-development] [{BIP} draft] Consensus-enforced transaction replacement signalled via sequence numbers},
note = {\url{http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/008452.html}},
Expand Down
31 changes: 21 additions & 10 deletions doc/deployable-lightning.lyx
Original file line numberDiff line numberDiff line change
Expand Up@@ -479,7 +479,7 @@ on, and B sends A a signature for A's new commitment transaction.
As before, each commitment transaction contains two outputs, one for A and
one for B; but A's commitment transaction output to itself is encumbered
by an additional restriction (as is B's output to itself).
Instead of paying A directly, needs both A and B's signature.
Instead of paying A directly, A's output needs both A and B's signature.
B provides such a signature, but on a
\begin_inset Quotes eld
\end_inset
Expand DownExpand Up@@ -633,27 +633,33 @@ A and B's signature, OR
A's signature and OP_CHECKLOCKTIMEVERIFY <40 days>
\end_layout

\begin_layout Standard
As of Nov.
13, 2015, BIP65 has been deployed and is in the process of being activated.
\end_layout

\begin_layout Subsubsection
Using Relative Locktime
\end_layout

\begin_layout Standard
The Poon-Dryja channel uses a 40 day locktime, because transaction locktime
is absolute.
Before 40 days the channel must be closed otherwise spending a revoked
Before 40 days the channel must be closed, otherwise spending a revoked
transaction and immediately following it with the commit refund transaction
is possible.
\end_layout

\begin_layout Standard
A proposal to extend output scripts to specify a minimum
BIP112[#BIP112] proposes OP_CHECKSEQUENCEVERIFY, an opcode which allows
an output to specify a minimum
\emph on
relative
\emph default
time before they can be spent
time before the output can be spent
\begin_inset CommandInset citation
LatexCommand cite
key "friedenbach_bitcoin-development_2015"
key "friedenbach_bitcoin-development_2015,BIP112"

\end_inset

Expand All@@ -669,6 +675,11 @@ A and B's signature, OR
A's signature and OP_CHECKSEQUENCEVERIFY <1 day>
\end_layout

\begin_layout Standard
As of Nov.
13, 2015, BIP112 has not been deployed.
\end_layout

\begin_layout Subsubsection
Using Revocation Preimages Instead of Private Keys
\end_layout
Expand DownExpand Up@@ -872,7 +883,7 @@ status open
\begin_inset Caption Standard

\begin_layout Plain Layout
HTLC Using Revocation Preimages, OP_CLV and OP_CSV (simplified)
HTLC Using Revocation Preimages, OP_CLTV and OP_CSV (simplified)
\begin_inset CommandInset label
LatexCommand label
name "fig:HTLC-Using-Revocation"
Expand DownExpand Up@@ -1800,7 +1811,7 @@ reference "fig:Final-Dual-Anchor"
\end_inset

.
Thus, if the B broadcasts its escape transaction after it has been revoked,
Thus, if B broadcasts its escape transaction after it has been revoked,
A can (after ensuring escape B is sufficiently deep in the block chain)
broadcast its fast escape transaction and use B's secret to immediately
spend the output.
Expand DownExpand Up@@ -1939,7 +1950,7 @@ OP_HASH160
\begin_inset space ~
\end_inset

OP_EQUAL Check if the top of stack is the revocation image.
OP_EQUAL Check if the top of the stack contains the revocation image.
\end_layout

\begin_layout Description
Expand DownExpand Up@@ -2058,7 +2069,7 @@ Fast-Escape Output Redeemscript
This allows two paths: one for this side to use the other side's secret
(revealed by them using an escape transaction), and one for the other side
to claim this side's anchor funds after a delay.
This show's A's script, but B's is the same with A and B exchanged.
This shows A's script, but B's is the same with A and B exchanged.
\end_layout

\begin_layout Description
Expand DownExpand Up@@ -2118,7 +2129,7 @@ Spending The Fast-Escape Output
\end_layout

\begin_layout Standard
Either A using a B's secret revealed by B using its own escape transaction:
Either A using B's secret revealed by B using its own escape transaction:
\end_layout

\begin_layout Description
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions doc/bitcoin.bib
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
@InProceedings{Decker2015Making,
author = {Christian Decker and James Guthrie and Jochen Seidel and Roger Wattenhofer},
author = {Christian Decker, James Guthrie, Jochen Seidel and Roger Wattenhofer},
note = {\tt decker@ethz.ch and wattenhofer@ethz.ch},
title = {{Making Bitcoin Exchanges Transparent}},
booktitle = {{20th European Symposium on Research in Computer Security (ESORICS), Vienna, Austria}},
Expand All@@ -24,8 +24,7 @@ @misc{BitcoinChannels
note = {\url{https://bitcointalk.org/index.php?topic=25786.0}}
}
@article{DBLP:journals/corr/DeckerW14,
author = {Christian Decker and
Roger Wattenhofer},
author = {Christian Decker and Roger Wattenhofer},
title = {Bitcoin Transaction Malleability and MtGox},
journal = {CoRR},
volume = {abs/1403.6676},
Expand All@@ -47,6 +46,12 @@ @misc{BIP65
urldate = {2015-07-13},
note = {\url{https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki}}
}
@misc{BIP112,
author = { BtcDrak, Mark Freidenbach, and Eric Lombrozo },
title = {{CHECKSEQUENCEVERIFY}},
urldate = {2015-08-10},
note = {\url{https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki}}
}
@misc{friedenbach_bitcoin-development_2015,
title = {[Bitcoin-development] [{BIP} draft] Consensus-enforced transaction replacement signalled via sequence numbers},
note = {\url{http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/008452.html}},
Expand Down
31 changes: 21 additions & 10 deletions doc/deployable-lightning.lyx
Original file line numberDiff line numberDiff line change
Expand Up@@ -479,7 +479,7 @@ on, and B sends A a signature for A's new commitment transaction.
As before, each commitment transaction contains two outputs, one for A and
one for B; but A's commitment transaction output to itself is encumbered
by an additional restriction (as is B's output to itself).
Instead of paying A directly, needs both A and B's signature.
Instead of paying A directly, A's output needs both A and B's signature.
B provides such a signature, but on a
\begin_inset Quotes eld
\end_inset
Expand DownExpand Up@@ -633,27 +633,33 @@ A and B's signature, OR
A's signature and OP_CHECKLOCKTIMEVERIFY <40 days>
\end_layout

\begin_layout Standard
As of Nov.
13, 2015, BIP65 has been deployed and is in the process of being activated.
\end_layout

\begin_layout Subsubsection
Using Relative Locktime
\end_layout

\begin_layout Standard
The Poon-Dryja channel uses a 40 day locktime, because transaction locktime
is absolute.
Before 40 days the channel must be closed otherwise spending a revoked
Before 40 days the channel must be closed, otherwise spending a revoked
transaction and immediately following it with the commit refund transaction
is possible.
\end_layout

\begin_layout Standard
A proposal to extend output scripts to specify a minimum
BIP112[#BIP112] proposes OP_CHECKSEQUENCEVERIFY, an opcode which allows
an output to specify a minimum
\emph on
relative
\emph default
time before they can be spent
time before the output can be spent
\begin_inset CommandInset citation
LatexCommand cite
key "friedenbach_bitcoin-development_2015"
key "friedenbach_bitcoin-development_2015,BIP112"

\end_inset

Expand All@@ -669,6 +675,11 @@ A and B's signature, OR
A's signature and OP_CHECKSEQUENCEVERIFY <1 day>
\end_layout

\begin_layout Standard
As of Nov.
13, 2015, BIP112 has not been deployed.
\end_layout

\begin_layout Subsubsection
Using Revocation Preimages Instead of Private Keys
\end_layout
Expand DownExpand Up@@ -872,7 +883,7 @@ status open
\begin_inset Caption Standard

\begin_layout Plain Layout
HTLC Using Revocation Preimages, OP_CLV and OP_CSV (simplified)
HTLC Using Revocation Preimages, OP_CLTV and OP_CSV (simplified)
\begin_inset CommandInset label
LatexCommand label
name "fig:HTLC-Using-Revocation"
Expand DownExpand Up@@ -1800,7 +1811,7 @@ reference "fig:Final-Dual-Anchor"
\end_inset

.
Thus, if the B broadcasts its escape transaction after it has been revoked,
Thus, if B broadcasts its escape transaction after it has been revoked,
A can (after ensuring escape B is sufficiently deep in the block chain)
broadcast its fast escape transaction and use B's secret to immediately
spend the output.
Expand DownExpand Up@@ -1939,7 +1950,7 @@ OP_HASH160
\begin_inset space ~
\end_inset

OP_EQUAL Check if the top of stack is the revocation image.
OP_EQUAL Check if the top of the stack contains the revocation image.
\end_layout

\begin_layout Description
Expand DownExpand Up@@ -2058,7 +2069,7 @@ Fast-Escape Output Redeemscript
This allows two paths: one for this side to use the other side's secret
(revealed by them using an escape transaction), and one for the other side
to claim this side's anchor funds after a delay.
This show's A's script, but B's is the same with A and B exchanged.
This shows A's script, but B's is the same with A and B exchanged.
\end_layout

\begin_layout Description
Expand DownExpand Up@@ -2118,7 +2129,7 @@ Spending The Fast-Escape Output
\end_layout

\begin_layout Standard
Either A using a B's secret revealed by B using its own escape transaction:
Either A using B's secret revealed by B using its own escape transaction:
\end_layout

\begin_layout Description
Expand Down