<p>Because nobody was interested in Bitcoin when it was proposed in 2008,<br />
but many were interested in Lightning when it was proposed in mid 2010s.</p>
<p>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.</p>
<p>Lightning doesn't have a reference implementation.</p>

CC BY-SA 4.0
2022-06-11T20:45:19.240Z
2022-06-11T21:05:51.890Z
2022-06-11T21:05:51.890Z
Mercedes
<p>Why are there two implementations of lightning?</p>
<p>Is it because majority agreed on using Go for a reference implementation but a minority dissented that choice and built the alternative C implementation?</p>

CC BY-SA 4.0
2021-10-24T19:55:08.543Z
LND and c-lightning are probably the most popular, but there are more implementations than that still.
chytrik
CC BY-SA 4.0
2021-10-24T21:46:02.177Z
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
CC BY-SA 4.0
2021-10-24T21:49:36.417Z
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
<ln-gossip>
Lightning implementations
Mercedes
# Lightning implementations

(Asked by: username_0 on 2021-10-24)

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?

**Tags:** ln-gossip

> **Comments:**
> **username_1**: LND and c-lightning are probably the most popular, but there are more implementations than that still.  
> **username_2**: 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.  
> **username_2**: 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.  

---

## 1 answers

### Answer by username_0 on 2022-06-11. Score: 0 | Accepted answer

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.


---

