0

Why are there two implementations of lightning?

Is it because majority agreed on using Go for a reference implementation but a minority dissented that choice and built the alternative C implementation?

Mercedes
  • 731
  • 4
  • 24
  • LND and c-lightning are probably the most popular, but there are more implementations than that still. – chytrik Oct 24 '21 at 19:55
  • And neither is more or less of a reference implementation than the other. There were two teams who started early on with implementations of the protocol, because of different preferences and priorities, presumably, but they're far from the only implementations now. It has nothing to do with "majorities" (of what?) or anything - just two teams with their own focus. I don't know why that would be strange; there are dozens of Bitcoin wallets in a variety of programming languages. We should probably expect the same for Lightning-capable ones. – Pieter Wuille Oct 24 '21 at 21:46
  • What is perhaps strange is that both c-lightning and LND (together with ACINQ) were pretty much there from the start, and so they're all reference implementations. Usually you'd perhaps expect more a single pioneer prototype, and others that later join the party. – Pieter Wuille Oct 24 '21 at 21:49

1 Answers1

0

Because nobody was interested in Bitcoin when it was proposed in 2008,
but many were interested in Lightning when it was proposed in mid 2010s.

A Bitcoin prototype was built for demonstration and a community and process developed around it only after the prototype was available. Lightning was theorized long before it was a working device, so people discussed what to do before it was built. When it was built, what to build had been discussed already.

Lightning doesn't have a reference implementation.

Mercedes
  • 731
  • 4
  • 24