As pointed out by many lightning developers in the past (e.g. Rusty's 1 million channel challenge) the gossip protocol is quite noisy and a part of the BOLTs causing many engineering challenges.

Today, I learned that Ethereum's Raiden network does not have a gossip protocol. Since all channels in Raiden are smart contracts that live in the Ethereum blockchain, Raiden nodes are supposed to learn about the network topology by looking at the Ethereum blockchain.

I believe funding transactions could have been designed to store information about Lightning nodes. Why was that not done?

Reasons I see:

  • With our design we can have private channels
  • blockspace is valuable, so we did not want to store more info on chain than necessary
  • we needed a transport and communication protocol between nodes anyway, so why not add the Gossip protocol?

My feeling is that there must have been other reasons for that design decision. So what am I missing?

  • 8
    You seem to have answered your own question! Lighting implementations could work a different way (and even be compatible with existing ones...) but the current way has advantages. Sticking the same gossip data into a global consensus protocol would make it massively less scalable, not more. – G. Maxwell Mar 12 '19 at 22:25
  • 2
    Oh that is a good point! Gossip data also has information about routing fees and cltv data so it would even be more data to be stored on chain. In particular this data can change while the channel is operational. Totally oversaw that when asking the question. I thought there might have been other reasons. If noone provides them I will edit the question and answer it myself including your hints. Thanks for opening my eyes. – Rene Pickhardt Mar 13 '19 at 0:14
  • 3
    On Etherium, it is almost impossible for a regular user to fully sync the Etherium blockchain to begin with, so I imagine their Raiden network is effectively unusable without relying on third parties for information. – Mark H Mar 13 '19 at 14:48
  • 2
    I think this is an interesting question, but it would be better if you separated your question from your partial answer. By giving a partial answer in the question, you discourage other answers and force potential answerers to address your theories. This question could be improved by posting the partial answer as an answer instead which would open up the scope for other answerers to respond more freely. – Murch Aug 11 '19 at 18:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.