From 0a055ad64037946f6692d725b3fc00e74d37ce40 Mon Sep 17 00:00:00 2001 From: Rene Pickhardt Date: Thu, 5 Sep 2019 15:31:19 +0200 Subject: [PATCH] added a tentative list of topics which are already grouped a little bit towards potential chapters. this list will most likely be extended in the future before it will be prioritized and filtered and structured. Now is the best time to propose topics and make inputs --- topics.asciidoc | 184 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 topics.asciidoc diff --git a/topics.asciidoc b/topics.asciidoc new file mode 100644 index 0000000..e2f937a --- /dev/null +++ b/topics.asciidoc @@ -0,0 +1,184 @@ +[preface] +== list of topics + +This is a list of grouped topics that might be covered in the book. +It will lead to the creation of an index +The grouping is obviously not unique and there is no notion of priority compiled to this proposal. +Some topics occur in several groups. + +=== Review of Bitcoin +Review of some mechanics and terms from Mastering Bitcoin. This would probably be rather technical. + +* address +* Asymmetric Cryptographic System +* bech32 +* bip +* bitcoin +* Bitcoin Mining +* block +* Blockchain +* coinbase +* coinbase transaction +* cold storage +* confirmations +* Digital Signature +* double-spending +* ECDSA +* fees +* hash +* Hash Function +* multisignature +* output +* P2PKH +* P2SH +* P2SH address +* P2WPKH +* P2WSH +* Proof-of-Work +* RIPEMD-160 +* Script +* ScriptPubKey (aka pubkey script) +* ScriptSig (aka signature script) +* secret key (aka private key) +* Segregated Witness +* SHA +* Simplified Payment Verification (SPV) +* soft fork +* Transaction +* unspent transaction output (UTXO) +* wallet + +=== Motivation: Why the Lightning Network + +* Scale Payments (amount of possible payments independent of block size / data base size) +* increase privacy (not all payments stored on chain) +* decrease settlement time (get rid of confirmations) + +=== Using / transacting Bitcoin with the Lightning Network +This group of topics would be end user oriented and is rather non technical + +* channels: +** Balance +** Capacity +** Closing +** Maximal channel size +** Opening +** Peer +* install a wallet / node +** cellphone +** desktop +** specialized hardware (RaspiBlitz) +** server / full node +* make a payment +** fees +** invoice +** maximal payment size +** payment hash +** Preimage +* pitfalls +** don't double pay! +** stay online / connected + +=== Operating and securing a Lightning Network node +Wihle also important for end users to be aware of some of the topics here it is primarily meant for professionals and developers. + +* backup & restore a Lightning Network node +* configure a Lightning network Nodes +** max concurrent htlc in flight +** min channel channel size +** max channel size +** cltv_expiry delta +** routing fees +** min / max htlc msat +** network (mainnet, testnet, regtest) +** address / port / tor +** funding confirm +** logging +* Denial of service attack vectors +* hardware wallet +* hot wallet hot wallet risk +* uptime +* watchtowers + + +=== BOLT 1.0 +A summary of how the Lightning Network protocol works. + +* BOLT +* Breach Remedy Transaction +* Closing Transaction +* Commitment Transaction +* Contract +* Diffie Hellman Key Exchange +* Ephemeral Key +* features +** local +** global +* Funding Transaction +* Gossip Protocol +* Hashlocks +* HTLC +* Invoice +* It's ok to be odd rule +* Locktime +* Millisatoshi +* Noise_XK +* Onion Routing +* Penalty Transaction +* Relative Timelock +* Revocable Sequence Maturity Contract +* Revocation Key +* Second stage HTLC +* Source-Based Routing +* SPHINX Mix Format +* Transaction Malleability +* Transport Layer + + +=== BOLT 1.1 / 2.0 +Future trends and developments on the Lightning Network . + +* discreet log contracts +* dual funded channels +* eltoo Channels +** multiparty channels +** Channel Factories +* multipath Payments +* splicing +* watchtowers +* wumbo +* Rendez vous Routing + +More ideas could be taken from https://github.com/lightningnetwork/lightning-rfc/wiki/Lightning-Specification-1.1-Proposal-States + +=== Lightning Network as a Data Set & Software System +Everything about the Lightning Network that is not covered by the BOLTs but important for developers. + +* Autopilot +* centrality +* c-lightning +* Eclair +* graph (theory) +* lnd +* privacy +* social network analysis +* Topology +* Traffic analysis +* pathfinding +** AMP https://lists.linuxfoundation.org/pipermail/lightning-dev/2018-February/000993.html +** JIT https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-March/001891.html +** Trampoline routing https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-April/001950.html +** permuteroute https://github.com/ElementsProject/lightning/pull/2890 +** Real time strategy games https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-August/002095.html + +=== Building on top of the Lightning Network +Creating Lightning Network Applications + +* Client libraries +* Common pitfalls +** concurrent payments in custodial settings +* example lapps +** paywall Example https://github.com/renepickhardt/HackALapp +** streaming example +** more ideas: https://bitcoingames2019.devpost.com/submissions +* btc pay server