docs/paper: update paper version

This commit is contained in:
Olaoluwa Osuntokun 2020-10-27 22:20:49 -07:00
parent f3a7ac48c0
commit 92eca8ffc3
7 changed files with 391 additions and 285 deletions

View file

@ -18,59 +18,59 @@
\providecommand\HyField@AuxAddToCoFields[2]{}
\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{4}{section.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Our Contributions}{6}{subsection.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2}Preliminaries}{7}{section.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3}Background}{7}{section.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2}Preliminaries}{6}{section.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3}Background}{6}{section.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Payment Channels \& the Lightning Network}{7}{subsection.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Boostrapping Problems in the Lightning Network}{10}{subsection.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}New Routing Node Boostrapping}{10}{subsection.3.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}New Service Boostrapping}{11}{subsection.3.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}End User Boostrapping}{12}{subsection.3.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Market Design \& Auction Theory}{13}{subsection.3.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Money Markets \& Capital Leases}{14}{subsection.3.7}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4}Bootstrapping Problems as Solved by CLM}{15}{section.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Bootstrapping New Users via Sidecar Channels}{15}{subsection.4.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Boostrapping Problems in the Lightning Network}{8}{subsection.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}New Routing Node Boostrapping}{9}{subsection.3.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}New Service Boostrapping}{9}{subsection.3.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}End User Boostrapping}{11}{subsection.3.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Market Design \& Auction Theory}{11}{subsection.3.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Money Markets \& Capital Leases}{12}{subsection.3.7}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4}Bootstrapping Problems as Solved by CLM}{13}{section.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Bootstrapping New Users via Sidecar Channels}{13}{subsection.4.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Demand Fueled Routing Node Channel Selection}{13}{subsection.4.2}\protected@file@percent }
\citation{autopilot}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Demand Fueled Routing Node Channel Selection}{16}{subsection.4.2}\protected@file@percent }
\citation{amp}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Bootstrapping New Services to Lightning}{17}{subsection.4.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Cross-Chain Market Maker Liquidity Sourcing}{17}{subsection.4.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.5}Instant Lightning Wallet User On Boarding}{18}{subsection.4.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6}Variance Reduction in Routing Node Revenue}{18}{subsection.4.6}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5}The Channel Lease Marketplace}{18}{section.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}High-Level Description}{18}{subsection.5.1}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Auction State Machine}}{20}{figure.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Lightning Channel Leases}{22}{subsection.5.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Non-Custodial Auction Accounts}{24}{subsection.5.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Order Structure \& Verification}{25}{subsection.5.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.5}Auction Design}{27}{subsection.5.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.1}Auction Specification}{27}{subsubsection.5.5.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6}The Shadowchain: A Bitcoin Overlay Application Framework}{30}{section.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}High-Level Description}{31}{subsection.6.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Comparison To Related Frameworks}{32}{subsection.6.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3}The Shadowchain Framework}{32}{subsection.6.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.1}Shadowchain Orchestrator}{33}{subsubsection.6.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.2}Lifted UTXOs}{33}{subsubsection.6.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.3}The Shadowchain}{34}{subsubsection.6.3.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.4}Shadowchain Operation}{38}{subsubsection.6.3.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7}Lightning Pool: A Channel Liquidity Marketplace as a Shadow Chain}{40}{section.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}Instantiating a CLM}{40}{subsection.7.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.1}System Initialization}{40}{subsubsection.7.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2}Lightning Pool Accounts}{42}{subsubsection.7.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.3}Channel Leases in the Lightning Network}{45}{subsubsection.7.1.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.4}Order Structure}{47}{subsubsection.7.1.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.5}Node Rating Agencies}{49}{subsubsection.7.1.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.6}Uniform Price Market Clearing \& Matching}{50}{subsubsection.7.1.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.7}The Batch Execution Transaction}{51}{subsubsection.7.1.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2}the Lightning Pool Shadowchain}{52}{subsection.7.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.2.1}Lightning Pool Accounts as Lifted UTXOs}{52}{subsubsection.7.2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.2.2}Auction Batch Proposal}{52}{subsubsection.7.2.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.2.3}Shadowchain Batch Execution}{52}{subsubsection.7.2.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.2.4}Unconfirmed Batch Cut-Through}{53}{subsubsection.7.2.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.2.5}Auction Upgrades}{53}{subsubsection.7.2.5}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {8}Security Analysis}{53}{section.8}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {9}Future Directions}{54}{section.9}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {10}Related Work}{54}{section.10}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {11}Conclusion}{54}{section.11}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Bootstrapping New Services to Lightning}{14}{subsection.4.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Cross-Chain Market Maker Liquidity Sourcing}{14}{subsection.4.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.5}Instant Lightning Wallet User On Boarding}{15}{subsection.4.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6}Variance Reduction in Routing Node Revenue}{15}{subsection.4.6}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5}The Channel Lease Marketplace}{15}{section.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}High-Level Description}{15}{subsection.5.1}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Auction State Machine}}{16}{figure.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Lightning Channel Leases}{18}{subsection.5.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Non-Custodial Auction Accounts}{19}{subsection.5.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Order Structure \& Verification}{20}{subsection.5.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.5}Auction Design}{22}{subsection.5.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.1}Auction Specification}{22}{subsubsection.5.5.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6}The Shadowchain: A Bitcoin Overlay Application Framework}{24}{section.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}High-Level Description}{25}{subsection.6.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Comparison To Related Frameworks}{26}{subsection.6.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3}The Shadowchain Framework}{26}{subsection.6.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.1}Shadowchain Orchestrator}{26}{subsubsection.6.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.2}Lifted UTXOs}{26}{subsubsection.6.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.3}The Shadowchain}{27}{subsubsection.6.3.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.4}Shadowchain Operation}{30}{subsubsection.6.3.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7}Lightning Pool: A Channel Liquidity Marketplace as a Shadow Chain}{31}{section.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}Instantiating a CLM}{32}{subsection.7.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.1}System Initialization}{32}{subsubsection.7.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2}Lightning Pool Accounts}{33}{subsubsection.7.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.3}Channel Leases in the Lightning Network}{36}{subsubsection.7.1.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.4}Order Structure}{38}{subsubsection.7.1.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.5}Node Rating Agencies}{39}{subsubsection.7.1.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.6}Uniform Price Market Clearing \& Matching}{40}{subsubsection.7.1.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.7}The Batch Execution Transaction}{41}{subsubsection.7.1.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2}The Lightning Pool Shadowchain}{43}{subsection.7.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.2.1}Lightning Pool Accounts as Lifted UTXOs}{43}{subsubsection.7.2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.2.2}Auction Batch Proposal}{43}{subsubsection.7.2.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.2.3}Shadowchain Batch Execution}{44}{subsubsection.7.2.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.2.4}Unconfirmed Batch Cut-Through}{44}{subsubsection.7.2.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.2.5}Auction Upgrades}{44}{subsubsection.7.2.5}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {8}Security Analysis}{45}{section.8}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {9}Future Directions}{45}{section.9}\protected@file@percent }
\bibstyle{abbrv}
\bibdata{main}
\@writefile{toc}{\contentsline {section}{\numberline {12}Acknowledgments}{55}{section.12}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {10}Related Work}{46}{section.10}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {11}Conclusion}{46}{section.11}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {12}Acknowledgments}{46}{section.12}\protected@file@percent }

View file

@ -1,4 +1,4 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format=pdflatex 2020.10.16) 27 OCT 2020 15:01
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format=pdflatex 2020.10.16) 27 OCT 2020 22:19
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
@ -13,8 +13,8 @@ Package: etex 2016/08/01 v2.7 eTeX basic definition package (PEB,DPC)
)
(/usr/local/texlive/2020basic/texmf-dist/tex/latex/base/article.cls
Document Class: article 2019/12/20 v1.4l Standard LaTeX document class
(/usr/local/texlive/2020basic/texmf-dist/tex/latex/base/size12.clo
File: size12.clo 2019/12/20 v1.4l Standard LaTeX file (size option)
(/usr/local/texlive/2020basic/texmf-dist/tex/latex/base/size10.clo
File: size10.clo 2019/12/20 v1.4l Standard LaTeX file (size option)
)
\c@part=\count168
\c@section=\count169
@ -913,22 +913,22 @@ File: umsb.fd 2013/01/14 v3.01 AMS symbols B
) [1
{/usr/local/texlive/2020basic/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
(./liquidity.toc
Overfull \hbox (7.84819pt too wide) in paragraph at lines 34--34
[] [][]\OT1/cmr/bx/n/12 Lightning Pool: A Chan-nel Liq-uid-ity Mar-ket-place a
s a Shadow
[]
[2])
(./liquidity.toc [2])
\tf@toc=\write5
\openout5 = `liquidity.toc'.
[3] [4] [5] [6]
Overfull \hbox (102.91747pt too wide) in paragraph at lines 107--128
\OT1/cmr/m/n/10 (cite) is the largest de-ployed Layer 2 pay-ment chan-nel net-w
ork (cite https://lightning.network/lightning-
[]
[3] [4] [5] [6]
Underfull \hbox (badness 10000) in paragraph at lines 278--291
[]
[7]
Underfull \hbox (badness 10000) in paragraph at lines 296--312
[]
@ -938,28 +938,33 @@ Underfull \hbox (badness 10000) in paragraph at lines 318--340
[]
[8] [9] [10] [11] [12]
Overfull \hbox (8.50488pt too wide) in paragraph at lines 547--563
\OT1/cmr/m/n/12 http://www.cramton.umd.edu/papers2010-2014/cramton-market-desig
n.pdf).
[7] [8] [9] [10]
Overfull \hbox (5.72276pt too wide) in paragraph at lines 523--535
[]\OT1/cmr/m/n/10 From the per-spec-tive of at-tempt-ing to achieve a sim-i-lar
level of user-experience
[]
[13] [14]
Overfull \hbox (5.75082pt too wide) in paragraph at lines 547--563
\OT1/cmr/m/n/10 http://www.cramton.umd.edu/papers2010-2014/cramton-market-desig
n.pdf) for
[]
[11]
Underfull \hbox (badness 10000) in paragraph at lines 617--620
[]
[15]
[12] [13]
LaTeX Warning: Citation `autopilot' on page 16 undefined on input line 686.
LaTeX Warning: Citation `autopilot' on page 14 undefined on input line 686.
[16]
LaTeX Warning: Citation `amp' on page 17 undefined on input line 715.
LaTeX Warning: Citation `amp' on page 14 undefined on input line 715.
[17] [18] [19] [20
[14] [15] [16
] [21] [22] [23] [24] [25] [26]
] [17] [18] [19] [20] [21]
Underfull \hbox (badness 10000) in paragraph at lines 1181--1182
[]
@ -969,7 +974,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 1187--1190
[]
[27]
Underfull \hbox (badness 10000) in paragraph at lines 1206--1209
[]
@ -980,11 +985,19 @@ Underfull \hbox (badness 10000) in paragraph at lines 1210--1215
[]
Overfull \hbox (4.5301pt too wide) in paragraph at lines 1216--1222
[]\OT1/cmtt/m/n/10 ModifyAccount($\OT1/cmr/m/n/10 \OML/cmm/m/it/10 ; P[]$\OT1/
cmtt/m/n/10 ) $\OMS/cmsy/m/n/10 !$ \OT1/cmr/m/n/10 ($\OML/cmm/m/it/10 b; \OT1/c
mr/m/n/10 []$). The \OT1/cmtt/m/n/10 ModifyAccount \OT1/cmr/m/n/10 al-go-rithm
takes
[]
[22]
Underfull \hbox (badness 10000) in paragraph at lines 1236--1241
[]
[28]
Underfull \hbox (badness 10000) in paragraph at lines 1242--1247
[]
@ -995,6 +1008,16 @@ Underfull \hbox (badness 10000) in paragraph at lines 1258--1261
[]
Overfull \hbox (22.78574pt too wide) in paragraph at lines 1262--1272
[]\OT1/cmtt/m/n/10 MatchMake($\OMS/cmsy/m/n/10 f\OT1/cmr/m/n/10 ^^B[]\OML/cmm/m
/it/10 ; [] ; \OT1/cmr/m/n/10 ^^B[]\OMS/cmsy/m/n/10 g$\OT1/cmtt/m/n/10 ) $\OMS/
cmsy/m/n/10 !$ $\OT1/cmr/m/n/10 ^^H[] = \OMS/cmsy/m/n/10 f\OT1/cmr/m/n/10 (^^B[
]\OML/cmm/m/it/10 ; \OT1/cmr/m/n/10 ^^B[])\OML/cmm/m/it/10 ; [] ; \OT1/cmr/m/n
/10 (^^B[]\OML/cmm/m/it/10 ; \OT1/cmr/m/n/10 ^^B[])\OMS/cmsy/m/n/10 g$\OT1/cmr/
m/n/10 . The \OT1/cmtt/m/n/10 MatchMake
[]
Underfull \hbox (badness 10000) in paragraph at lines 1262--1272
[]
@ -1004,18 +1027,18 @@ Underfull \hbox (badness 10000) in paragraph at lines 1276--1284
[]
Overfull \hbox (30.3216pt too wide) in paragraph at lines 1289--1299
[]\OT1/cmtt/m/n/12 ClearMarket($\OT1/cmr/m/n/12 []\OML/cmm/m/it/12 ; \OT1/cmr/
m/n/12 ^^H[]\OML/cmm/m/it/12 ; \OMS/cmsy/m/n/12 f\OT1/cmr/m/n/12 []\OML/cmm/m/
it/12 ; [] ; \OT1/cmr/m/n/12 []\OMS/cmsy/m/n/12 g\OML/cmm/m/it/12 ; c[]$\OT1/c
mtt/m/n/12 ) $\OMS/cmsy/m/n/12 !$ $\OT1/cmr/m/n/12 ( []\OML/cmm/m/it/12 ; \OMS/
cmsy/m/n/12 f\OT1/cmr/m/n/12 ^^@[]\OML/cmm/m/it/12 ; [] ; \OT1/cmr/m/n/12 ^^@[]
\OMS/cmsy/m/n/12 g\OML/cmm/m/it/12 ; \OMS/cmsy/m/n/12 f\OT1/cmr/m/n/12 []\OML/
cmm/m/it/12 ; [] ; \OT1/cmr/m/n/12 []\OMS/cmsy/m/n/12 g\OT1/cmr/m/n/12 )$.
[23]
Overfull \hbox (18.43501pt too wide) in paragraph at lines 1289--1299
[]\OT1/cmtt/m/n/10 ClearMarket($\OT1/cmr/m/n/10 []\OML/cmm/m/it/10 ; \OT1/cmr/
m/n/10 ^^H[]\OML/cmm/m/it/10 ; \OMS/cmsy/m/n/10 f\OT1/cmr/m/n/10 []\OML/cmm/m/
it/10 ; [] ; \OT1/cmr/m/n/10 []\OMS/cmsy/m/n/10 g\OML/cmm/m/it/10 ; c[]$\OT1/c
mtt/m/n/10 ) $\OMS/cmsy/m/n/10 !$ $\OT1/cmr/m/n/10 ( []\OML/cmm/m/it/10 ; \OMS/
cmsy/m/n/10 f\OT1/cmr/m/n/10 ^^@[]\OML/cmm/m/it/10 ; [] ; \OT1/cmr/m/n/10 ^^@[]
\OMS/cmsy/m/n/10 g\OML/cmm/m/it/10 ; \OMS/cmsy/m/n/10 f\OT1/cmr/m/n/10 []\OML/
cmm/m/it/10 ; [] ; \OT1/cmr/m/n/10 []\OMS/cmsy/m/n/10 g\OT1/cmr/m/n/10 )$.
[]
[29]
Underfull \hbox (badness 10000) in paragraph at lines 1315--1319
[]
@ -1025,35 +1048,37 @@ Underfull \hbox (badness 10000) in paragraph at lines 1320--1324
[]
[30] [31] [32]
Overfull \hbox (48.66086pt too wide) in paragraph at lines 1486--1488
[][]\OT1/cmr/bx/n/12 Definition 6.2. []\OT1/cmr/m/n/12 (Lifted UTXO). A \OT1/cm
tt/m/n/12 Lifted UTXO \OT1/cmr/m/n/12 is a tu-ple, $\OML/cmm/m/it/12 ^^^[] \OT1
/cmr/m/n/12 = (\OML/cmm/m/it/12 A[]; T[]; P[]; P[]\OT1/cmr/m/n/12 )$,
[24] [25]
Overfull \hbox (34.69582pt too wide) in paragraph at lines 1486--1488
[][]\OT1/cmr/bx/n/10 Definition 6.2. []\OT1/cmr/m/n/10 (Lifted UTXO). A \OT1/cm
tt/m/n/10 Lifted UTXO \OT1/cmr/m/n/10 is a tu-ple, $\OML/cmm/m/it/10 ^^^[] \OT1
/cmr/m/n/10 = (\OML/cmm/m/it/10 A[]; T[]; P[]; P[]\OT1/cmr/m/n/10 )$,
[]
Overfull \hbox (6.85005pt too wide) in paragraph at lines 1494--1497
\OT1/cmr/m/n/12 able to uni-lat-er-ally move the funds back to the "base" Bit-c
oin blockchain.
[]
[33]
[26]
Underfull \hbox (badness 10000) in paragraph at lines 1574--1575
[]
[27]
Underfull \hbox (badness 10000) in paragraph at lines 1580--1583
[]
[34]
Underfull \hbox (badness 10000) in paragraph at lines 1597--1601
[]
Overfull \hbox (4.87465pt too wide) in paragraph at lines 1602--1609
[]\OT1/cmtt/m/n/10 LiftUTXO($\OML/cmm/m/it/10 T[]; \OMS/cmsy/m/n/10 f\OML/cmm/m
/it/10 U[]; [] ; U[]\OMS/cmsy/m/n/10 g\OML/cmm/m/it/10 ; P[]$\OT1/cmtt/m/n/10 )
$\OMS/cmsy/m/n/10 !$ $\OML/cmm/m/it/10 ^^^[]$\OT1/cmr/m/n/10 . The \OT1/cmtt/m
/n/10 LiftUTXO \OT1/cmr/m/n/10 al-go-rithm takes
[]
Underfull \hbox (badness 10000) in paragraph at lines 1602--1609
[]
@ -1068,16 +1093,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 1629--1633
[]
[35]
Overfull \hbox (3.89569pt too wide) in paragraph at lines 1649--1656
[]$\OML/cmm/m/it/12 B[] \OT1/cmr/m/n/12 = (\OML/cmm/m/it/12 T[]; \OMS/cmsy/m/n/
12 f\OML/cmm/m/it/12 ^^^[]; [] ; ^^^[]\OMS/cmsy/m/n/12 g\OML/cmm/m/it/12 ; \OT
1/cmr/m/n/12 ^^A[]\OML/cmm/m/it/12 ; \OMS/cmsy/m/n/12 f\OML/cmm/m/it/12 ^^^[];
[] ; ^^^[]\OMS/cmsy/m/n/12 g\OML/cmm/m/it/12 ; U[]\OT1/cmr/m/n/12 )$, is the s
had-owchain
[]
[28]
Underfull \hbox (badness 10000) in paragraph at lines 1658--1664
[]
@ -1087,7 +1103,14 @@ Underfull \hbox (badness 10000) in paragraph at lines 1677--1679
[]
[36]
Overfull \hbox (1.4192pt too wide) in paragraph at lines 1680--1688
[]\OT1/cmtt/m/n/10 CommitBlock($\OML/cmm/m/it/10 B[]$\OT1/cmtt/m/n/10 ) $\OMS/c
msy/m/n/10 !$ $\OT1/cmr/m/n/10 (\OML/cmm/m/it/10 b; TX[]\OT1/cmr/m/n/10 )$. The
\OT1/cmtt/m/n/10 CommitBlock \OT1/cmr/m/n/10 takes a valid shad-owchain
[]
Underfull \hbox (badness 10000) in paragraph at lines 1693--1697
[]
@ -1097,18 +1120,12 @@ Underfull \hbox (badness 10000) in paragraph at lines 1698--1704
[]
[29]
Underfull \hbox (badness 10000) in paragraph at lines 1723--1728
[]
[37] [38] [39]
Overfull \hbox (3.36722pt too wide) in paragraph at lines 1838--1846
\OT1/cmr/m/n/12 In this sec-tion, we build upon the prior sec-tions out-lin-ing
the ab-stract \OT1/cmtt/m/n/12 Channel
[]
[30] [31]
Underfull \hbox (badness 10000) in paragraph at lines 1855--1861
[]
@ -1118,7 +1135,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 1862--1868
[]
[40]
Underfull \hbox (badness 10000) in paragraph at lines 1870--1871
[]
@ -1128,97 +1145,109 @@ Underfull \hbox (badness 10000) in paragraph at lines 1901--1908
[]
[41]
[32]
Underfull \hbox (badness 10000) in paragraph at lines 1924--1931
[]
[42]
[33]
Underfull \hbox (badness 10000) in paragraph at lines 2001--2007
[]
[43] [44]
[34]
Underfull \hbox (badness 10000) in paragraph at lines 2060--2063
[]
[35]
Underfull \hbox (badness 10000) in paragraph at lines 2086--2092
[]
[45] [46] [47]
[36] [37]
Underfull \hbox (badness 10000) in paragraph at lines 2213--2224
[]
Overfull \hbox (25.82823pt too wide) in paragraph at lines 2253--2253
[]
[]
[48]
[38]
Underfull \hbox (badness 10000) in paragraph at lines 2264--2271
[]
[49]
Underfull \hbox (badness 10000) in paragraph at lines 2317--2324
Underfull \hbox (badness 10000) in paragraph at lines 2273--2281
[]
[50] [51] [52] [53] [54]
[39]
Underfull \hbox (badness 10000) in paragraph at lines 2316--2323
[]
[40] [41]
Underfull \hbox (badness 10000) in paragraph at lines 2458--2464
[]
[42] [43] [44] [45]
No file liquidity.bbl.
[55]
Package atveryend Info: Empty hook `BeforeClearDocument' on input line 2601.
Package atveryend Info: Empty hook `AfterLastShipout' on input line 2601.
[46]
Package atveryend Info: Empty hook `BeforeClearDocument' on input line 2678.
Package atveryend Info: Empty hook `AfterLastShipout' on input line 2678.
(./liquidity.aux)
Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 2601.
Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 2601.
Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 2678.
Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 2678.
Package rerunfilecheck Info: File `liquidity.out' has not changed.
(rerunfilecheck) Checksum: B6991DE7A350295028D8E92AB9DD4ED9;4109.
(rerunfilecheck) Checksum: 91FC0561CE4BE9C64FB5D6FC33A6E30F;4109.
LaTeX Warning: There were undefined references.
Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 2601.
Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 2678.
)
Here is how much of TeX's memory you used:
22873 strings out of 482056
436728 string characters out of 5937674
1489931 words of memory out of 5000000
37771 multiletter control sequences out of 15000+600000
546404 words of font info for 79 fonts, out of 8000000 for 9000
22974 strings out of 482056
438359 string characters out of 5937674
1744530 words of memory out of 5000000
37766 multiletter control sequences out of 15000+600000
545019 words of font info for 74 fonts, out of 8000000 for 9000
319 hyphenation exceptions out of 8191
69i,22n,68p,915b,1779s stack positions out of 5000i,500n,10000p,200000b,80000s
69i,21n,68p,915b,1764s stack positions out of 5000i,500n,10000p,200000b,80000s
</Users/roasbeef/Library/texlive/2020basic/texmf-var/fonts/pk/ljfour/jknappe
n/ec/tcrm1200.600pk></usr/local/texlive/2020basic/texmf-dist/fonts/type1/public
n/ec/tcrm1000.600pk></usr/local/texlive/2020basic/texmf-dist/fonts/type1/public
/amsfonts/cm/cmbx10.pfb></usr/local/texlive/2020basic/texmf-dist/fonts/type1/pu
blic/amsfonts/cm/cmbx12.pfb></usr/local/texlive/2020basic/texmf-dist/fonts/type
1/public/amsfonts/cm/cmbx8.pfb></usr/local/texlive/2020basic/texmf-dist/fonts/t
ype1/public/amsfonts/cm/cmmi10.pfb></usr/local/texlive/2020basic/texmf-dist/fon
ts/type1/public/amsfonts/cm/cmmi12.pfb></usr/local/texlive/2020basic/texmf-dist
/fonts/type1/public/amsfonts/cm/cmmi6.pfb></usr/local/texlive/2020basic/texmf-d
ist/fonts/type1/public/amsfonts/cm/cmmi8.pfb></usr/local/texlive/2020basic/texm
f-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/local/texlive/2020basic/t
exmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/local/texlive/2020basi
c/texmf-dist/fonts/type1/public/amsfonts/cm/cmr17.pfb></usr/local/texlive/2020b
asic/texmf-dist/fonts/type1/public/amsfonts/cm/cmr6.pfb></usr/local/texlive/202
0basic/texmf-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb></usr/local/texlive/2
020basic/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/local/texli
ve/2020basic/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy8.pfb></usr/local/te
xlive/2020basic/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb></usr/loca
l/texlive/2020basic/texmf-dist/fonts/type1/public/amsfonts/cm/cmti12.pfb></usr/
local/texlive/2020basic/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb></
usr/local/texlive/2020basic/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt12.pf
b></usr/local/texlive/2020basic/texmf-dist/fonts/type1/public/amsfonts/symbols/
msbm10.pfb>
Output written on liquidity.pdf (55 pages, 385594 bytes).
1/public/amsfonts/cm/cmbx6.pfb></usr/local/texlive/2020basic/texmf-dist/fonts/t
ype1/public/amsfonts/cm/cmbx9.pfb></usr/local/texlive/2020basic/texmf-dist/font
s/type1/public/amsfonts/cm/cmmi10.pfb></usr/local/texlive/2020basic/texmf-dist/
fonts/type1/public/amsfonts/cm/cmmi5.pfb></usr/local/texlive/2020basic/texmf-di
st/fonts/type1/public/amsfonts/cm/cmmi6.pfb></usr/local/texlive/2020basic/texmf
-dist/fonts/type1/public/amsfonts/cm/cmmi7.pfb></usr/local/texlive/2020basic/te
xmf-dist/fonts/type1/public/amsfonts/cm/cmmi9.pfb></usr/local/texlive/2020basic
/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/local/texlive/2020ba
sic/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/local/texlive/202
0basic/texmf-dist/fonts/type1/public/amsfonts/cm/cmr17.pfb></usr/local/texlive/
2020basic/texmf-dist/fonts/type1/public/amsfonts/cm/cmr5.pfb></usr/local/texliv
e/2020basic/texmf-dist/fonts/type1/public/amsfonts/cm/cmr6.pfb></usr/local/texl
ive/2020basic/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb></usr/local/te
xlive/2020basic/texmf-dist/fonts/type1/public/amsfonts/cm/cmr9.pfb></usr/local/
texlive/2020basic/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/lo
cal/texlive/2020basic/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy6.pfb></usr
/local/texlive/2020basic/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb></
usr/local/texlive/2020basic/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy9.pfb
></usr/local/texlive/2020basic/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10
.pfb></usr/local/texlive/2020basic/texmf-dist/fonts/type1/public/amsfonts/cm/cm
ti9.pfb></usr/local/texlive/2020basic/texmf-dist/fonts/type1/public/amsfonts/cm
/cmtt10.pfb></usr/local/texlive/2020basic/texmf-dist/fonts/type1/public/amsfont
s/cm/cmtt12.pfb></usr/local/texlive/2020basic/texmf-dist/fonts/type1/public/ams
fonts/cm/cmtt9.pfb></usr/local/texlive/2020basic/texmf-dist/fonts/type1/public/
amsfonts/symbols/msbm10.pfb>
Output written on liquidity.pdf (46 pages, 469035 bytes).
PDF statistics:
896 PDF objects out of 1000 (max. 8388607)
810 compressed objects within 9 object streams
336 named destinations out of 1000 (max. 500000)
1016 PDF objects out of 1200 (max. 8388607)
931 compressed objects within 10 object streams
436 named destinations out of 1000 (max. 500000)
437 words of extra memory for PDF output out of 10000 (max. 10000000)

View file

@ -40,7 +40,7 @@
\BOOKMARK [3][-]{subsubsection.7.1.5}{Node Rating Agencies}{subsection.7.1}% 40
\BOOKMARK [3][-]{subsubsection.7.1.6}{Uniform Price Market Clearing \046 Matching}{subsection.7.1}% 41
\BOOKMARK [3][-]{subsubsection.7.1.7}{The Batch Execution Transaction}{subsection.7.1}% 42
\BOOKMARK [2][-]{subsection.7.2}{the Lightning Pool Shadowchain}{section.7}% 43
\BOOKMARK [2][-]{subsection.7.2}{The Lightning Pool Shadowchain}{section.7}% 43
\BOOKMARK [3][-]{subsubsection.7.2.1}{Lightning Pool Accounts as Lifted UTXOs}{subsection.7.2}% 44
\BOOKMARK [3][-]{subsubsection.7.2.2}{Auction Batch Proposal}{subsection.7.2}% 45
\BOOKMARK [3][-]{subsubsection.7.2.3}{Shadowchain Batch Execution}{subsection.7.2}% 46

Binary file not shown.

Binary file not shown.

View file

@ -1,6 +1,6 @@
\RequirePackage{etex}
\documentclass[12pt,a4paper]{article}
\documentclass[10pt,a4paper]{article}
\usepackage{hyperref}
\usepackage{amsthm}
\usepackage{amsfonts}
@ -2238,7 +2238,7 @@ algorithms used in our order tagging scheme:
Given these algorithms, we now define our order tag generation and validation
implementations:
\begin{pchstack}[boxed,center, space=1em]
\begin{pcvstack}[boxed,center, space=1em]
\procedure[syntaxhighlight=auto]{GenOrderTag($P_{acct}$, $\Theta$)}{
m \gets K_{nonce} \| V_{ver} \| P_{acct} \| \Delta_{base} \concat \Delta_{aux} \\
tag \gets \texttt{Sign$(\{\Theta.L_{pub}, \Theta.M_{pub}\dots \}, m$)} \\
@ -2250,7 +2250,7 @@ implementations:
b \gets \texttt{Verify($\{P_{acct}, P_{M_pub_0}, \dots, P_{M_pub_i} \}, m$)} \\
return b
}
\end{pchstack}
\end{pcvstack}
We omit the implementations of \texttt{SubmitOrder} and \texttt{CancelOrder} as
the depend on the specific environment in which the auctioneer is implemented
@ -2277,7 +2277,7 @@ ratings that can be given to a Lightning Node with $\hat{t_0}$ containing
words, we create a series of node sets, with the higher node tiers having less
nodes than lower tiers. This creates a natural system of concentric circles
where as the tier index increases, the set of nodes shrinks, and eventually
only higher quality nodes remain.
only higher quality nodes remain. \\
Building off this notion of tiered node sets, we define the following algorithm
for our node rating agency:
@ -2290,8 +2290,7 @@ for our node rating agency:
\end{pchstack}
Given this algorithm, we now specify our of the additional auxiliary order
attribute $\Delta_{aux}$ as:
\[
attribute $\Delta_{aux}$ as: \[
(N_{tier}, \dots) = \Delta_{aux}
\]
@ -2340,10 +2339,10 @@ order $\Theta_{bid}$:
Given this function we define our implementation of the \texttt{MatchMake}
algorithm:
\begin{pchstack}[boxed,center, space=1em]
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={map, filter}]{\texttt{MatchMake(O: $\{\Theta_0, \ldots, \Theta_n\}$)}}{
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={map, filter, sort}]{\texttt{MatchMake(O: $\{\Theta_0, \ldots, \Theta_n\}$)}}{
\texttt{matchSet} \gets \{\} \\
\texttt{asks} \gets filter(O, \Theta_{i}.O_{type} == Ask) \\
\texttt{bids} \gets filter(O, \Theta_{i}.O_{type} == Bid) \\
\texttt{asks} \gets sort(filter(O, \Theta_{i}.O_{type} == Ask)) \\
\texttt{bids} \gets sort(filter(O, \Theta_{i}.O_{type} == Bid)) \\
for bid in bids: \\
\t for ask in asks: \\
\t \t if \texttt{MatchPossible(bid, ask)}: \\
@ -2353,7 +2352,10 @@ algorithm:
\end{pchstack}
We note that several optimizations here are possible to reduce the worst-case
running time of the algorithm which we leave open for future work.
running time of the algorithm which we leave open for future work. We also
assume that the set of valid orders has been flittered out before being passed
into this algorithm based on the current target batch fee rate and the posted
max batch fee rate of each order.
\begin{center}
\textbf{Uniform Price Clearing}
@ -2373,7 +2375,34 @@ carried out:
These two actions comprise the \texttt{ClearMarket} and
\texttt{MarketClearingPrice} algorithms. For our market clearing price, we
select the Last Accepted Bid market clearing rule (cite).
select the Last Accepted Bid market clearing rule (cite), chosing to go with a
buery's mid marking price. Given this price clearing algorithm, we now define
our implementaion of the market clearing algorithms:
\begin{pcvstack}[boxed,center, space=1em]
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={len, filter, sort}]{\texttt{MarketClearingPrice($\Phi_b$)}}{
\texttt{lastPair} \gets \Phi_b[len(\Phi_b - 1)] \\
return \texttt{lastPair.bid.$\alpha_{rate}$}
}
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={newLease, filter, sort}]{\texttt{ClearMarket($\Psi_{A}, \Phi_b, \{\Psi_0, \dots, \Psi_n\}, c_{price}$)}}{
\texttt{leases} \gets \{\} \\
\texttt{accts} \gets \{\} \\
for \texttt{orderPair} in \Phi_b: \\
\t \texttt{lease} \gets \texttt{newLease(orderPair)} \\
\t \texttt{orderPair.taker.balance} \mathrel{{-}{=}} \texttt{lease.premium} \\
\t \texttt{orderPair.maker.balance} \mathrel{{+}{=}} \texttt{lease.premium} \\ \\
\t \texttt{orderPair.taker.balance} \mathrel{{-}{=}} \texttt{exeFee(lease.amt)} \\
\t \texttt{orderPair.maker.balance} \mathrel{{-}{=}} \texttt{exeFee(lease.amt)} \\
\t \texttt{$\Psi_{A}$.balance} \mathrel{{+}{=}} \texttt{exeFee(lease.amt)} \\ \\
\t \texttt{leases} \gets \texttt{leases} \cup \texttt{lease} \\
\t \texttt{accts[orderPair.taker]} \gets \texttt{orderPair.taker} \\
\t \texttt{accts[orderPair.maker]} \gets \texttt{orderPair.maker} \\ \\
return (\Psi_{A}, \texttt{leases, accts})
}
\end{pcvstack}
Notice that we omit the observance of chain fees, as that will be applied to
each input/output during the later batch construction phase.
% matching, multi-attribute
% series of matching predicates?
@ -2382,7 +2411,7 @@ select the Last Accepted Bid market clearing rule (cite).
\subsubsection{The Batch Execution Transaction}
Once we've laired the market, we'll now move onto the batch execution phase.
Once we've cleared the market, we'll now move onto the batch execution phase.
During this phase, we'll construct the batch transaction which executes a given
batch, and also gather all the necessary witnesses for each participant of the
batch so we can properly spend their on-chain account outputs. Remember
@ -2393,29 +2422,62 @@ batch before they sign off on it.
\textbf{Batch Transaction Construction}
\end{center}
A given batch transaction contains the following inputs:
\begin{itemize}
\item The set of trader account inputs involved in the batch.
\item The input of the master auctioneer itself.
\end{itemize}
A given batch transaction contains the following inputs: the set of trader
account inputs involved in the batch, and the input of the master auctioneer
itself. In addition to these inputs which can only eb spent each each user
authorized the proposed batch, we also add the following outputs: a trader's
new incremented account output which reflects the market clearing, the set of
channels created as part of the channel lease, and the incremented auctioneer
account. Note that the format of the batch transaction itself may change
multiple times during this phase if participants reject the batch, or if fee
changes causing the auctioneer to consider a subset of the prior set of orders.
As well as the following outputs:
\begin{itemize}
\item A trader's new incremented account output which reflects the market
clearing.
\item The set of channels created as part of the channel lease.
\item The incremented auctioneer account.
\end{itemize}
We now define the complete \texttt{ConstructBatch} and \texttt{ExecuteBatch}
methods:
Taking this into consideration, we define our implementation of
\textbf{ConstructBatch} as follows:
\begin{pcvstack}[boxed,center, space=1em]
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={len, newTx, sort}]{\texttt{ConstructBatch($\Delta_i$)}}{
\texttt{tx} \gets newTx() \\
\texttt{tx.addIn($\Delta_i.\Psi_{A}$)} \\ \\
for acct in \Delta_i.\Psi: \\
\t \texttt{tx.addIn(acct.prevOut)} \\
for acct in \Delta_i.\Psi^\prime: \\
\t \texttt{acct.Value} \mathrel{{-}{=}} \texttt{feeShare($\Delta_i$, acct)} \\
\t \texttt{tx.addOut(acct.txOut)} \\ \\
for lease in \Delta_i.\Gamma:
\t \texttt{tx.addOut(lease.txOut)} \\ \\
\Psi_{A}.value \mathrel{{-}{=}} \texttt{feeShare($\Delta_i, \Psi_{A}$)} \\
\texttt{tx.addOut($\Delta_i.\Psi_{A}^\prime$)} \\
return tx
}
\end{pcvstack}
\begin{center}
\textbf{Batch Transaction Execution}
\end{center}
Once the batch has been constructed, the auctioneer then needs to propose the
batch to each trader, and collect the necessary set of signatures required to
spend each trader's account input. During this execution phase, we assume that
this is the final set of traders that wish to be a part of this batch. Once the
auctioneer has all the necessary signatures to broadcast a batch, the batch
execution transaction can be broadcast, ending this auction epoch. \\
We define batch execution in the context of Lightning Pool as follows:
\begin{pcvstack}[boxed,center, space=1em]
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={await, newTx, sort}]{\texttt{ExecuteBatch($B_{t_i}$)}}{
b \gets 0 \\
for i, input in B_{t_i}.inputs: \\
\t witness \gets await reqSig(input) \\
\t B_{t_i}.witness \gets witness \\ \\
if \texttt{scriptVerify($B_{t_i}$)}: \\
\t return 1 \\
else \\
\t return 0
}
\end{pcvstack}
% make this a more involved diagram?
% need to also describe side-car channel as well?
% batch execution
@ -2431,7 +2493,7 @@ methods:
% filll in the rest as well
\subsection{the Lightning Pool Shadowchain}
\subsection{The Lightning Pool Shadowchain}
In this section, we complete the Lightning Pool system by demonstrating out its
implemetnation of a Channel LEase Marketplace can be impleneted using our
@ -2444,21 +2506,26 @@ shadowchain application overlay framework.
\subsubsection{Lightning Pool Accounts as Lifted UTXOs}
First, we link the concept of our non-custodial accounts in the CLM realm to a
lifted UTXO. The process of lifting and unlifting a UTXO is simply a serie sof
lifted UTXO. The process of lifting and unlifting a UTXO is simply a series of
operations required to create, modify or close an account:
\begin{pcvstack}[boxed,center, space=1em]
\begin{pchstack}[boxed,center, space=1em]
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={map, filter}]{\texttt{LiftUTXO(O: $\{\Theta_0, \ldots, \Theta_n\}$)}}{
}
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={map, filter}]{\texttt{LiftUTXO($T_{expiry}, \{U_{N_0}, \ldots, U_{N_n}\}, P_{0}$)}}{
\texttt{inputs} \gets \{U_{N_0}, \ldots, U_{N_n}\} \\
return \texttt{NewAccount($T_{expiry}, P_{0}$, inputs)}
}
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={map, filter}]{\texttt{UnliftUTXO(O: $\{\Theta_0, \ldots, \Theta_n\}$)}}{
}
\end{pchstack}
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={map, filter}]{\texttt{UnliftUTXO($\Psi_{U}$)}}{
(b, _) \gets \texttt{ModifyAccount($\Psi_{U}, P_{auction_p}$)} \\
return b
}
\begin{center}
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={map, filter}]{\texttt{ExitChain(O: $\{\Theta_0, \ldots, \Theta_n\}$)}}{
}
\end{center}
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={map, filter}]{\texttt{ExitChain($\phi_{U}, B_{height}$)}}{
if \phi_{U}.T_{blocks} < B_{height}: \\
\t return 0 \\
(b, _) \gets \texttt{ModifyAccount($\Psi_{U}, P_{auction_p}$)} \\
return b
}
\end{pcvstack}
% compare them, state how same idea, define exit chain method, and lift+unlift
@ -2470,15 +2537,21 @@ maps 1:1 to the concept of blocks in the shadowchain domain. Given this
insight, we now dfine the \texttt{ConstructBlock} and \texttt{ProposeBlock}
algorithms:
\begin{pchstack}[boxed,center, space=1em]
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={map, filter}]{\texttt{ConstructBlock(O: $\{\Theta_0, \ldots, \Theta_n\}$)}}{
\procedure[syntaxhighlight=auto, addkeywords={map, filter}]{\texttt{ConstructBlock($\phi_{live}, T_{xn}, E_{exe}, \Delta_F$)} $\rightarrow$}{
\Phi_b \gets \texttt{MatchMake($T_{xn}$)} \\
c_{price} \gets \texttt{MarketClearingPrice($\Phi_{b}$)} \\
\texttt{ClearMarket} \gets \Delta_F \\
\Delta_i \gets \texttt{ClearMarket($\Psi_{A}, \Phi_{b}, \Psi, c_{price}$)} \\
return \Delta_i
}
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={map, filter}]{\texttt{ProposeBlock(O: $\{\Theta_0, \ldots, \Theta_n\}$)}}{
\procedure[syntaxhighlight=auto, addkeywords={map, filter}]{\texttt{ProposeBlock($B_S, \phi_{live}$)}}{
b \gets \texttt{ValidateBatch($B_S, \phi_{live}$)} \\
return b
}
\end{pchstack}
% define server construction
% client verification of function
% need to define validate batch as well, also cast above?
\subsubsection{Shadowchain Batch Execution}
@ -2487,7 +2560,9 @@ shadowchain, we now define the series of methods that will be utilized to allow
clients to execute the their local version of the state transition function to
accept new proposed batches:
\begin{pchstack}[boxed,center, space=1em]
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={map, filter}]{\texttt{CommitBlock(O: $\{\Theta_0, \ldots, \Theta_n\}$)}}{
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={map, filter}]{\texttt{CommitBlock($B_S$)}}{
(b, TX_{id}) \gets \texttt{ExecuteBatch($B_S$)} \\
return b
}
\end{pchstack}
@ -2501,7 +2576,13 @@ requires ensuring that all produced channel leases will still exist in the
final combined blocks, and the end state of each accoutn refelcts any
conseqeutive market clearing opportunities:
\begin{pchstack}[boxed,center, space=1em]
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={map, filter}]{\texttt{CoalesceBlocks(O: $\{\Theta_0, \ldots, \Theta_n\}$)}}{
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={set, filter}]{\texttt{CoalesceBlocks(F: $\{B_{S_0}, \cdots, B_{S_N}\}$)}}{
\texttt{inputs} \gets set(F) \\
\texttt{leases} \gets \texttt{extractLeases(F)} \\
\texttt{accts} \gets \texttt{endAcctState(F)} \\ \\
\texttt{tx} \gets \texttt{ConstructBatch($\Delta_i$(inputs, leases, accts))} \\
b \gets ExecuteBatch(t) \\
return b
}
\end{pchstack}
@ -2511,7 +2592,8 @@ Finally, we define the process by which we upgrade the CLM shadowchain itself.
As this is an off-chain process, each participant of the shadowchain is able to
call the followin algorithm to update in a de-synchronized manner:
\begin{pchstack}[boxed,center, space=1em]
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={map, filter}]{\texttt{UpgradeChain(O: $\{\Theta_0, \ldots, \Theta_n\}$)}}{
\procedure[linenumbering,syntaxhighlight=auto, addkeywords={map, filter}]{\texttt{UpgradeChain($\Delta_{new}, E_{exe}^\prime, T_{xn}^\prime$)}}{
return 0
}
\end{pchstack}
@ -2554,14 +2636,6 @@ off-chain order execution, Pool has a number of attractive security properties:
\section{Future Directions}
off chain order transperncy
zkp of valid block
linear progamming constraints for order matching
coupon channels
As is clients verify each Shadowchain blocks within the CLM system, but they
have no assurance that their order was actually included in the mach making
function. In this manner, the auctioneer can silently ignore a set of orders.
@ -2582,14 +2656,17 @@ the future cash flows of the "coupon channels".
\section{Conclusion}
In this work, we've put forth a new sbatraction over capital aobligations on
teh Lightning Netowkr, that we call channel leases. Channel lease can be bought
and sold on a Channle Liqudiity Marketplace diretyl solving a series of
bootrapping challenges the networkj faces. To implmenet a Channle LEase
marketpalce in a secure manner, we put forth the concetp of a shadowchain
application framework. In conjunction with the concept of a node rageting's
agency, the Channel Lease Marketplace is a new way for routing node operators
to earn yield within the Lightning Netowrk.
In this work, we've put forth a new abstraction over capital obligations in the
Lightning Network, which we call channel leases. Channel leases can be bought
and sold on a Channle Liqudiity Marketplace directly solving a series of
bootrapping challenges the network faces, commonly referred to as: the inbound
liquidity problem. To implement a Channel Lease Marketplace in a secure manner,
we put forth the concept of a shadowchain application framework which is of
independent use. We then concretely construct Lightning Pool, the first
\texttt{CLM} implemented on top of the base Bitcoin blockchain. Lightning Pool
allows those with idle capital to earn yieild on their Bitcoin, and also allows
those that need inbound to receive over the network to obtain a reliable soure
of incoming payment bandwidth.
\section{Acknowledgments}

View file

@ -1,53 +1,53 @@
\contentsline {section}{\numberline {1}Introduction}{4}{section.1}%
\contentsline {subsection}{\numberline {1.1}Our Contributions}{6}{subsection.1.1}%
\contentsline {section}{\numberline {2}Preliminaries}{7}{section.2}%
\contentsline {section}{\numberline {3}Background}{7}{section.3}%
\contentsline {section}{\numberline {2}Preliminaries}{6}{section.2}%
\contentsline {section}{\numberline {3}Background}{6}{section.3}%
\contentsline {subsection}{\numberline {3.1}Payment Channels \& the Lightning Network}{7}{subsection.3.1}%
\contentsline {subsection}{\numberline {3.2}Boostrapping Problems in the Lightning Network}{10}{subsection.3.2}%
\contentsline {subsection}{\numberline {3.3}New Routing Node Boostrapping}{10}{subsection.3.3}%
\contentsline {subsection}{\numberline {3.4}New Service Boostrapping}{11}{subsection.3.4}%
\contentsline {subsection}{\numberline {3.5}End User Boostrapping}{12}{subsection.3.5}%
\contentsline {subsection}{\numberline {3.6}Market Design \& Auction Theory}{13}{subsection.3.6}%
\contentsline {subsection}{\numberline {3.7}Money Markets \& Capital Leases}{14}{subsection.3.7}%
\contentsline {section}{\numberline {4}Bootstrapping Problems as Solved by CLM}{15}{section.4}%
\contentsline {subsection}{\numberline {4.1}Bootstrapping New Users via Sidecar Channels}{15}{subsection.4.1}%
\contentsline {subsection}{\numberline {4.2}Demand Fueled Routing Node Channel Selection}{16}{subsection.4.2}%
\contentsline {subsection}{\numberline {4.3}Bootstrapping New Services to Lightning}{17}{subsection.4.3}%
\contentsline {subsection}{\numberline {4.4}Cross-Chain Market Maker Liquidity Sourcing}{17}{subsection.4.4}%
\contentsline {subsection}{\numberline {4.5}Instant Lightning Wallet User On Boarding}{18}{subsection.4.5}%
\contentsline {subsection}{\numberline {4.6}Variance Reduction in Routing Node Revenue}{18}{subsection.4.6}%
\contentsline {section}{\numberline {5}The Channel Lease Marketplace}{18}{section.5}%
\contentsline {subsection}{\numberline {5.1}High-Level Description}{18}{subsection.5.1}%
\contentsline {subsection}{\numberline {5.2}Lightning Channel Leases}{22}{subsection.5.2}%
\contentsline {subsection}{\numberline {5.3}Non-Custodial Auction Accounts}{24}{subsection.5.3}%
\contentsline {subsection}{\numberline {5.4}Order Structure \& Verification}{25}{subsection.5.4}%
\contentsline {subsection}{\numberline {5.5}Auction Design}{27}{subsection.5.5}%
\contentsline {subsubsection}{\numberline {5.5.1}Auction Specification}{27}{subsubsection.5.5.1}%
\contentsline {section}{\numberline {6}The Shadowchain: A Bitcoin Overlay Application Framework}{30}{section.6}%
\contentsline {subsection}{\numberline {6.1}High-Level Description}{31}{subsection.6.1}%
\contentsline {subsection}{\numberline {6.2}Comparison To Related Frameworks}{32}{subsection.6.2}%
\contentsline {subsection}{\numberline {6.3}The Shadowchain Framework}{32}{subsection.6.3}%
\contentsline {subsubsection}{\numberline {6.3.1}Shadowchain Orchestrator}{33}{subsubsection.6.3.1}%
\contentsline {subsubsection}{\numberline {6.3.2}Lifted UTXOs}{33}{subsubsection.6.3.2}%
\contentsline {subsubsection}{\numberline {6.3.3}The Shadowchain}{34}{subsubsection.6.3.3}%
\contentsline {subsubsection}{\numberline {6.3.4}Shadowchain Operation}{38}{subsubsection.6.3.4}%
\contentsline {section}{\numberline {7}Lightning Pool: A Channel Liquidity Marketplace as a Shadow Chain}{40}{section.7}%
\contentsline {subsection}{\numberline {7.1}Instantiating a CLM}{40}{subsection.7.1}%
\contentsline {subsubsection}{\numberline {7.1.1}System Initialization}{40}{subsubsection.7.1.1}%
\contentsline {subsubsection}{\numberline {7.1.2}Lightning Pool Accounts}{42}{subsubsection.7.1.2}%
\contentsline {subsubsection}{\numberline {7.1.3}Channel Leases in the Lightning Network}{45}{subsubsection.7.1.3}%
\contentsline {subsubsection}{\numberline {7.1.4}Order Structure}{47}{subsubsection.7.1.4}%
\contentsline {subsubsection}{\numberline {7.1.5}Node Rating Agencies}{49}{subsubsection.7.1.5}%
\contentsline {subsubsection}{\numberline {7.1.6}Uniform Price Market Clearing \& Matching}{50}{subsubsection.7.1.6}%
\contentsline {subsubsection}{\numberline {7.1.7}The Batch Execution Transaction}{51}{subsubsection.7.1.7}%
\contentsline {subsection}{\numberline {7.2}the Lightning Pool Shadowchain}{52}{subsection.7.2}%
\contentsline {subsubsection}{\numberline {7.2.1}Lightning Pool Accounts as Lifted UTXOs}{52}{subsubsection.7.2.1}%
\contentsline {subsubsection}{\numberline {7.2.2}Auction Batch Proposal}{52}{subsubsection.7.2.2}%
\contentsline {subsubsection}{\numberline {7.2.3}Shadowchain Batch Execution}{52}{subsubsection.7.2.3}%
\contentsline {subsubsection}{\numberline {7.2.4}Unconfirmed Batch Cut-Through}{53}{subsubsection.7.2.4}%
\contentsline {subsubsection}{\numberline {7.2.5}Auction Upgrades}{53}{subsubsection.7.2.5}%
\contentsline {section}{\numberline {8}Security Analysis}{53}{section.8}%
\contentsline {section}{\numberline {9}Future Directions}{54}{section.9}%
\contentsline {section}{\numberline {10}Related Work}{54}{section.10}%
\contentsline {section}{\numberline {11}Conclusion}{54}{section.11}%
\contentsline {section}{\numberline {12}Acknowledgments}{55}{section.12}%
\contentsline {subsection}{\numberline {3.2}Boostrapping Problems in the Lightning Network}{8}{subsection.3.2}%
\contentsline {subsection}{\numberline {3.3}New Routing Node Boostrapping}{9}{subsection.3.3}%
\contentsline {subsection}{\numberline {3.4}New Service Boostrapping}{9}{subsection.3.4}%
\contentsline {subsection}{\numberline {3.5}End User Boostrapping}{11}{subsection.3.5}%
\contentsline {subsection}{\numberline {3.6}Market Design \& Auction Theory}{11}{subsection.3.6}%
\contentsline {subsection}{\numberline {3.7}Money Markets \& Capital Leases}{12}{subsection.3.7}%
\contentsline {section}{\numberline {4}Bootstrapping Problems as Solved by CLM}{13}{section.4}%
\contentsline {subsection}{\numberline {4.1}Bootstrapping New Users via Sidecar Channels}{13}{subsection.4.1}%
\contentsline {subsection}{\numberline {4.2}Demand Fueled Routing Node Channel Selection}{13}{subsection.4.2}%
\contentsline {subsection}{\numberline {4.3}Bootstrapping New Services to Lightning}{14}{subsection.4.3}%
\contentsline {subsection}{\numberline {4.4}Cross-Chain Market Maker Liquidity Sourcing}{14}{subsection.4.4}%
\contentsline {subsection}{\numberline {4.5}Instant Lightning Wallet User On Boarding}{15}{subsection.4.5}%
\contentsline {subsection}{\numberline {4.6}Variance Reduction in Routing Node Revenue}{15}{subsection.4.6}%
\contentsline {section}{\numberline {5}The Channel Lease Marketplace}{15}{section.5}%
\contentsline {subsection}{\numberline {5.1}High-Level Description}{15}{subsection.5.1}%
\contentsline {subsection}{\numberline {5.2}Lightning Channel Leases}{18}{subsection.5.2}%
\contentsline {subsection}{\numberline {5.3}Non-Custodial Auction Accounts}{19}{subsection.5.3}%
\contentsline {subsection}{\numberline {5.4}Order Structure \& Verification}{20}{subsection.5.4}%
\contentsline {subsection}{\numberline {5.5}Auction Design}{22}{subsection.5.5}%
\contentsline {subsubsection}{\numberline {5.5.1}Auction Specification}{22}{subsubsection.5.5.1}%
\contentsline {section}{\numberline {6}The Shadowchain: A Bitcoin Overlay Application Framework}{24}{section.6}%
\contentsline {subsection}{\numberline {6.1}High-Level Description}{25}{subsection.6.1}%
\contentsline {subsection}{\numberline {6.2}Comparison To Related Frameworks}{26}{subsection.6.2}%
\contentsline {subsection}{\numberline {6.3}The Shadowchain Framework}{26}{subsection.6.3}%
\contentsline {subsubsection}{\numberline {6.3.1}Shadowchain Orchestrator}{26}{subsubsection.6.3.1}%
\contentsline {subsubsection}{\numberline {6.3.2}Lifted UTXOs}{26}{subsubsection.6.3.2}%
\contentsline {subsubsection}{\numberline {6.3.3}The Shadowchain}{27}{subsubsection.6.3.3}%
\contentsline {subsubsection}{\numberline {6.3.4}Shadowchain Operation}{30}{subsubsection.6.3.4}%
\contentsline {section}{\numberline {7}Lightning Pool: A Channel Liquidity Marketplace as a Shadow Chain}{31}{section.7}%
\contentsline {subsection}{\numberline {7.1}Instantiating a CLM}{32}{subsection.7.1}%
\contentsline {subsubsection}{\numberline {7.1.1}System Initialization}{32}{subsubsection.7.1.1}%
\contentsline {subsubsection}{\numberline {7.1.2}Lightning Pool Accounts}{33}{subsubsection.7.1.2}%
\contentsline {subsubsection}{\numberline {7.1.3}Channel Leases in the Lightning Network}{36}{subsubsection.7.1.3}%
\contentsline {subsubsection}{\numberline {7.1.4}Order Structure}{38}{subsubsection.7.1.4}%
\contentsline {subsubsection}{\numberline {7.1.5}Node Rating Agencies}{39}{subsubsection.7.1.5}%
\contentsline {subsubsection}{\numberline {7.1.6}Uniform Price Market Clearing \& Matching}{40}{subsubsection.7.1.6}%
\contentsline {subsubsection}{\numberline {7.1.7}The Batch Execution Transaction}{41}{subsubsection.7.1.7}%
\contentsline {subsection}{\numberline {7.2}The Lightning Pool Shadowchain}{43}{subsection.7.2}%
\contentsline {subsubsection}{\numberline {7.2.1}Lightning Pool Accounts as Lifted UTXOs}{43}{subsubsection.7.2.1}%
\contentsline {subsubsection}{\numberline {7.2.2}Auction Batch Proposal}{43}{subsubsection.7.2.2}%
\contentsline {subsubsection}{\numberline {7.2.3}Shadowchain Batch Execution}{44}{subsubsection.7.2.3}%
\contentsline {subsubsection}{\numberline {7.2.4}Unconfirmed Batch Cut-Through}{44}{subsubsection.7.2.4}%
\contentsline {subsubsection}{\numberline {7.2.5}Auction Upgrades}{44}{subsubsection.7.2.5}%
\contentsline {section}{\numberline {8}Security Analysis}{45}{section.8}%
\contentsline {section}{\numberline {9}Future Directions}{45}{section.9}%
\contentsline {section}{\numberline {10}Related Work}{46}{section.10}%
\contentsline {section}{\numberline {11}Conclusion}{46}{section.11}%
\contentsline {section}{\numberline {12}Acknowledgments}{46}{section.12}%