2019-09-05 13:31:19 +00:00
[preface]
2019-09-21 22:46:40 +00:00
== List of topics
2019-09-05 13:31:19 +00:00
This is a list of grouped topics that might be covered in the book.
2019-09-25 21:52:13 +00:00
It will lead to the creation of an index.
2019-09-05 13:31:19 +00:00
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
2019-09-12 13:35:52 +00:00
* Locktime and CLTV
2019-09-05 13:31:19 +00:00
* multisignature
* output
* P2PKH
* P2SH
* P2SH address
* P2WPKH
* P2WSH
* Proof-of-Work
* RIPEMD-160
2019-09-12 13:35:52 +00:00
* Sequence and CSV
2019-09-05 13:31:19 +00:00
* 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
2019-09-16 16:38:23 +00:00
* clear definition what does scaling of a computer system mean? (I realize that discussions often fail because that term is not well defined among participants. A similar definition might be necessary for Decentralized and trustless)
2019-09-05 13:31:19 +00:00
* 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
2019-09-25 21:52:13 +00:00
This group of topics would be end user oriented and is rather non technical.
2019-09-05 13:31:19 +00:00
* 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
2019-09-06 14:05:18 +00:00
While also important for end users to be aware of some of the topics here it is primarily meant for professionals and developers.
2019-09-05 13:31:19 +00:00
* backup & restore a Lightning Network node
2019-09-16 19:59:02 +00:00
* configure a Lightning network Node
2019-09-05 13:31:19 +00:00
** max concurrent htlc in flight
2019-09-16 22:32:07 +00:00
** min channel size
2019-09-05 13:31:19 +00:00
** 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
2019-09-12 13:35:52 +00:00
* Penalty Transaction
2019-09-05 13:31:19 +00:00
* 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
2019-09-06 14:05:18 +00:00
Future trends and developments on the Lightning Network.
2019-09-05 13:31:19 +00:00
* discreet log contracts
* dual funded channels
* eltoo Channels
** multiparty channels
** Channel Factories
* multipath Payments
2019-09-12 13:35:52 +00:00
* scriptless scripts
2019-09-05 13:31:19 +00:00
* 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
2019-09-16 16:47:01 +00:00
** Real time strategy games https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-August/002095.html
2019-09-05 13:31:19 +00:00
=== Building on top of the Lightning Network
2019-09-25 21:52:13 +00:00
Creating Lightning Network Applications:
2019-09-05 13:31:19 +00:00
* Client libraries
* Common pitfalls
** concurrent payments in custodial settings
* example lapps
** paywall Example https://github.com/renepickhardt/HackALapp
2019-10-06 02:53:50 +00:00
** streaming example: currently working on a dollar cost averaging (DCA) streaming service to your own custody, that allows one to be able stack sats on lightning network. Will provide links to example soonish.
2019-09-05 13:31:19 +00:00
** more ideas: https://bitcoingames2019.devpost.com/submissions
* btc pay server
2019-09-20 19:57:20 +00:00
* Turbo Channels https://medium.com/@akumaigorodski/instant-channels-enable-safe-lightning-payments-with-unconfirmed-funding-8d640defa183
2019-09-11 19:07:44 +00:00
2019-09-21 22:46:40 +00:00
=== Comparisons and examples
2019-09-11 19:07:44 +00:00
The following is a loose list of potential infoboxes, tables and dropins which will most likely make it to some part of the book.
2019-09-16 16:38:23 +00:00
They have particular illustrative purpose and are therefore collected separately to keep better track of them.
2019-09-11 19:07:44 +00:00
2019-09-21 22:46:40 +00:00
==== Comparisons
2019-09-11 19:07:44 +00:00
* payment process on Bitcoin vs payment process on the lightning network
* transaction vs payment
* capacity vs balance
* routing fees vs mining fees
2019-09-16 16:38:23 +00:00
* private vs public channel (difficulty to have truly private channels that don't reveal over time on the blockchain?)
2019-09-11 19:07:44 +00:00
* source based routing vs best effort routing (onion routing vs IP forwarding)
* eltoo vs RSMC (?)
* private key vs fully signed transaction (it can be seen as almost the same in the sense of ownership)
* locked bitcoin vs freely movable bitcoin (onchain vs. offchain bitcoin)
2019-09-12 21:25:49 +00:00
* routing vs path finding
2019-09-11 19:07:44 +00:00
2019-09-21 22:46:40 +00:00
==== Examples
TBA.
2019-09-16 15:02:59 +00:00
2019-09-21 22:46:40 +00:00
==== Properties
2019-09-16 15:02:59 +00:00
* the seven ingredients for a payment channel c.f: https://youtu.be/AcP3czefanM
** 2-2 musig address
** funding transaction to open the channel (without possibility to malleate the transaction)
** commitment transaction to encode the balance of the channel
** a time lock to remove trust
** a communication protocol for partners exchange data outside of the bitcoin network
** asymmetrical information (unless we switch to eltoo but even there not all keys are shared but channel state is symmetric)
** game theoretic and economical incentives to follow the protocol