2
0
mirror of https://github.com/lnbook/lnbook synced 2024-11-18 21:28:03 +00:00
lnbook/topics.asciidoc
Ugam Kamat 370c77ff38 Added few extra topics (#48)
* Added few extra topics

@renepickhardt  Nice work on the outline. Here are the changes that I have done. Would appreciate your feedback. I have added a couple of topics like `nLocktime`, `CLTV`, `CSV`, and `nSequence` to the "Review of Bitcoin" section as I feel they form the foundation of the transactions in Lightning Network. Also, I have added the topic "Need for a payment receipt" in the "Motivation of Lightning Network" section as invoice payments gives us a cryptographic proof of payment that is generally lacking in a normal on-chain transaction. 

I changed the name of `Breach Remedy Transaction` to `Penalty transaction` as the BRT term does not appear anywhere outside Joseph Poon's whitepaper. I think you should also rethink the RSMC term as that term also does not appear in the BOLTs and outside the whitepaper.

I think it would be worthwhile to add scriptless scripts and benefits Taproot can provide to Lightning Network in BOLT 1.1 /2.0 section. With Taproot, we would be able to do wonderful things with Lightning onion and as the book gets published in 2H20, we would be might be much closer to Taproot implementation on mainchain.

* Update topics.asciidoc

* Update topics.asciidoc

* Update topics.asciidoc
2019-09-12 07:35:52 -06:00

206 lines
5.4 KiB
Plaintext

[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
* Locktime and CLTV
* multisignature
* output
* P2PKH
* P2SH
* P2SH address
* P2WPKH
* P2WSH
* Proof-of-Work
* RIPEMD-160
* Sequence and CSV
* 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
* 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)
* 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
While 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
* Penalty 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
* scriptless scripts
* 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
=== comparisons and examples
The following is a loose list of potential infoboxes, tables and dropins which will most likely make it to some part of the book.
They have particular illustrative purpose and are therefore collected seperately to keep better track of them.
==== comparisons
* payment process on Bitcoin vs payment process on the lightning network
* transaction vs payment
* capacity vs balance
* routing fees vs mining fees
* private vs public channel (difficulty to have truely private channels that don't reveal over time on the blockchain?)
* 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)
==== examples
tba