Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why including the History of the Lightning Network? #39

Closed
renepickhardt opened this issue Sep 11, 2019 · 10 comments
Closed

Why including the History of the Lightning Network? #39

renepickhardt opened this issue Sep 11, 2019 · 10 comments
Assignees
Labels
decision pending a decision needs to be made and then we can quickly adapt. help wanted Extra attention is needed question Further information is requested roadmap WIP Work in progress for stuff that in principle will get merged but might need a little more work/time

Comments

@renepickhardt
Copy link
Contributor

Seems like a trivial question but after starting to work on first drafts of it I am not so sure anymore. Depending on the reason why to include it the section could look very different. Here are two main reasons that come to my mind:

  1. For completeness of the topic and having an overview
  2. For educational / didactic purpose

While writing the section about unilateral payment channels I had the feeling I was already mixing the two purposes which I personally consider bad style. Thus my question.

Completeness reason

It was brought to my attention that Aaron van Wirdum has done a very nice piece about the history of the Lightning Network for bitcoin magazine. This seems from the main milestones similar to the resources that we have included so far. His style seems about completeness of events.

Educational / Didactic purpose

I was surprised to see how things have been invented over time. In particular the unidirectional payment channel seems extremely easy to understand and contains many of the concepts that we use for our current payment channels. namely:

  1. multisignature wallet
  2. funding transaction
  3. timelocked refund
  4. off-chain double spend of the funding tx to encode the balance
  5. asymmetric information (in this case only the recipient has both signatures and the sender only has their own signature)

My feeling is that this would be an amazing example to start with / introduce terms and move on to show the more technical details of the penalty mechanism that fixes the flaws that the unidirectional channel still had.

Meta:

I am leaning towards the second reason for writing about the history of payment channels. While in communication of knowledge usually laying down the entire thought process by telling a story how the solution was build is considered bad style (at least in academia) in this concrete case it seems like a nice step by step approach to introduce concepts and terms.

Maybe we could even have both reasons but separated. Meaning a text similar to what Aaron did for Bitcoinmagazin and then the more didactic versions in later chapters.

What are your thoughts?

@renepickhardt renepickhardt self-assigned this Sep 11, 2019
@renepickhardt renepickhardt added decision pending a decision needs to be made and then we can quickly adapt. help wanted Extra attention is needed question Further information is requested roadmap WIP Work in progress for stuff that in principle will get merged but might need a little more work/time labels Sep 11, 2019
@nopara73
Copy link
Contributor

nopara73 commented Sep 11, 2019

Giving credit where credit is due is important, but more importantly history is fun! Why would anyone read a boring book: )

@bitcoina
Copy link
Contributor

Good issue to raise! My concern is that by using it as educational / diadatic purpose, you have to describe why the things that were invented are important. ie learning about Satoshi proposing nSequence is pointless if you don't know why it is important to sequence transactions.

I'm very impressed with the content so far, and my recommendation is to proceed with it. If we see that it doesn't fit later, then at least we have something we can easily condense for the "completeness" view

@nopara73
Copy link
Contributor

That being said, and being read the history, it's quite a hard read I have to say. It's full of terminology that has not been explained for the reader to really understand it. Maybe it should be rephrased to be a bit more developer friendly.

@renepickhardt
Copy link
Contributor Author

It's quite a hard read I have to say. It's full of terminology that has not been explained for the reader to really understand it.

Fully agree. I am not in the phase of finalizing the text. Just writing first drafts to explore which path to go. So after writing that piece I realized I could have these two different perspectives. Let's assume I would decide for the first then Aaron's text is currently so much more accessible for a reader. For me writing is a highly iterative process which includes throwing away text and rewriting. But I can presteucture a text as much as I want to. Only when tasks formulating all the dependencies and topics really become visible. That being said I would be surprised if in its current firm the text would be easy to read

@bitcoina
Copy link
Contributor

This question made me reach for my copy of Mastering Bitcoin, to see how it was handled there. The "History of Bitcoin" piece is quite high-level, and doesn't go into the level of detail that is being constructed for Mastering Lightning. - not for example explaining Adam Back's discovery of "proof of work"..

Agree on the iterative writing process! When I'm reading proposed pull requests, my thought process is not "is this perfect" but just "does this move it forwards"... If so, I'm good with it...

@Enegnei
Copy link
Contributor

Enegnei commented Sep 13, 2019

A lot of people seem to (mistakenly) think that the development history of the Lightning Network started in 2016 / 2017 as part of that particular scaling debate period. For that reason alone I think it is important to at least highlight a few earlier milestones, to show that discussion about it has been going on much much longer.

@PatrickZGW
Copy link
Contributor

Starting with a history part is a great way to get interested in the book. Given that a lot of books are never finished, I guess it is not a bad idea to build up some motivation first before jumping right into the very complicated lightning topic. It also helps to set some context for people who might not be familiar at all with bitcoins history.

@billygarrison
Copy link
Contributor

I think it's great to provide a high-level overview of the important parts of LN's history.

As a reader, I would expect the book to read like Mastering Bitcoin - i.e. I want the book to teach me what makes the Lightning Network work.

Going into too much detail on the history may dilute the "how it works" factor.

@GandalfThePink
Copy link

Personally I think that history is not that important, especially trying to be chronological and complete. Instead, I would focus on the didactic aspects, as in the example of unilateral channels.

@aantonop
Copy link
Contributor

We should have a high-level history in order to provide context. It will need to be more detailed than what was in Mastering Bitcoin, but does not need to be chronological and complete. It needs to show the motives, ideas and direction of development, providing context on why certain choices were made and how we ended up here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
decision pending a decision needs to be made and then we can quickly adapt. help wanted Extra attention is needed question Further information is requested roadmap WIP Work in progress for stuff that in principle will get merged but might need a little more work/time
Development

No branches or pull requests

8 participants