Author: Rusty Russell 2015-09-23 04:40:53
Published on: 2015-09-23T04:40:53+00:00
After attending the Scaling Bitcoin workshop, CJP expressed that he met some people in real life who shared his desire to achieve the same things. However, there are some differences in how they think certain problems should be addressed. Design decisions in Lightning do not need a consensus like the block validity rules in Bitcoin, but still, some decisions carry a strong network effect and might be hard to reverse once made. To address this, CJP proposed a well-organized process of collecting and documenting design ideas and trade-off argumentation to increase interoperability between several pieces of software being developed. He suggested using a Git repository containing all concepts and standards, exchanging new ideas, amendments, etc., like pull requests. For concept choices, he created a template. CJP also proposed to distinguish between concepts and standards; concepts are non-trivial design decisions, whereas standards fill in all the trivial design decisions to make different pieces of software inter-operable. Rusty suggested something like an RFC-like process for Lightning, which is good for nailing down proposal details. RFCs are best used when you have at least two independent implementations to make sure they're sane. However, they're not so good with brainstorming future stuff or concepts. CJP loves separating concepts and standards. There are plenty of interesting concepts which may eventually percolate into standards once they get some kind of consensus, and he doesn't want to lose track of them all because they're not an immediate priority.
Updated on: 2023-05-23T20:28:28.920039+00:00