hyperledger-iroha / iroha

Iroha - A simple, enterprise-grade decentralized ledger
https://wiki.hyperledger.org/display/iroha
Apache License 2.0
440 stars 279 forks source link

Implement bootstrap peers #1184

Open takemiyamakoto opened 3 years ago

takemiyamakoto commented 3 years ago

The peer should have an ability to get all network configs from a trusted bootstrap peer instead of specifying them all locally.

M◉⃤KO༒O Takemiya 武宮誠 (Sora.org - Soramitsu) NO XOR AIRDROPS!, [06.06.21 16:15] I really had wanted to make the startup simpler though

M◉⃤KO༒O Takemiya 武宮誠 (Sora.org - Soramitsu) NO XOR AIRDROPS!, [06.06.21 16:15] as you remember, we discussed just putting one trusted peer and then gossiping info to everyone

Ivan Rybin, [06.06.21 16:15] Should we create some basic shell script for deploying some cases like this? It will be very short anyway

M◉⃤KO༒O Takemiya 武宮誠 (Sora.org - Soramitsu) NO XOR AIRDROPS!, [06.06.21 16:16] [In reply to Ivan Rybin] no, we should copy what bitcoin and other networks do: just bootstrap around one trusted peer

Egor Ivkov, [06.06.21 16:16] [In reply to M◉⃤KO༒O Takemiya 武宮誠 (Sora.org - Soramitsu) NO XOR AIRDROPS!]

issue Yes, let's create an issue for this. I think we discussed the case with bootstrap node, but haven't created an issue or assigned priority.

takemiyamakoto commented 3 years ago

Roman:

Actually, it is better to run several bootstrap peers in case if some of them fail for some reason. Internet is not an eternally stable thing. (And the ability to start test network around one peer for tests, of course.)

What do you think about peer-exchange? Every now and then ask some peers for any new peers and getting their IP:port/keys.

Egor:

Yes, I think it is good to allow the user to specify several bootstrap peers. In general all new peers are added with AddPeer instruction that will be included in transaction and therefore known globally. This is important for the security purposes, we will later connect AddPeer instruction with some voting mechanism or staking.

In general at later stages when we introduce staking as a mechanism and a set of peers that do not participate in consensus (waiting peers list). We can let waiting peers discover others through gossip and AddPeer instruction will be used to add peer to active set that participates in consensus.

Makoto Takemiya what do you think about this?

Roman:

Added an RFC to improve network connections:

https://wiki.hyperledger.org/display/iroha/P2P+network

appetrosyan commented 2 years ago

Add issue to epic