Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[chain] Add unconditional_peer_ids to gnoland configuration #1923

Open
r3v4s opened this issue Apr 12, 2024 · 3 comments · May be fixed by #2852
Open

[chain] Add unconditional_peer_ids to gnoland configuration #1923

r3v4s opened this issue Apr 12, 2024 · 3 comments · May be fixed by #2852
Assignees
Labels
in focus Core team is prioritizing this work 📦 🌐 tendermint v2 Issues or PRs tm2 related 📦 ⛰️ gno.land Issues or PRs gno.land package related

Comments

@r3v4s
Copy link
Contributor

r3v4s commented Apr 12, 2024

The less we expose validator node to public, The more safe and sound we can achieve.

Description

Regardless of how many validators we want, its better we hide it from unknown publics and make it does only what validator must do.

One of common ways to do this is using what we called Sentry Node Architecture
image

Idea is vey simple, validator only talks to sentry nodes and sentry nodes talks to other public nodes. In this circumstance doesn't matter how we configured system, validator must be able to talk to sentry 24/7. For this we need certain option like "ignore any limits, always establish a connection to given peers"

IMHO, it will be perfect if above configuration happens during chain initialization #1886

@Kouteki Kouteki moved this from Triage to Backlog in 🧙‍♂️gno.land core team Apr 19, 2024
@Kouteki Kouteki moved this from Backlog to Todo in 🧙‍♂️gno.land core team Apr 19, 2024
@Kouteki Kouteki added this to the 🏗4️⃣ test4.gno.land milestone Apr 19, 2024
@dongwon8247 dongwon8247 moved this to Blocked by / Wishlist / Issues in 🤝🏻 Partner: Onbloc Apr 19, 2024
@dongwon8247 dongwon8247 moved this from Backlog to In Progress in 🤝🏻 Partner: Onbloc May 15, 2024
@r3v4s r3v4s moved this from In Progress to Backlog in 🤝🏻 Partner: Onbloc Jun 5, 2024
@r3v4s r3v4s moved this from Backlog to In Progress in 🤝🏻 Partner: Onbloc Jun 5, 2024
@r3v4s r3v4s moved this from In Progress to Backlog in 🤝🏻 Partner: Onbloc Jun 5, 2024
@zivkovicmilos zivkovicmilos self-assigned this Oct 16, 2024
@moul
Copy link
Member

moul commented Oct 16, 2024

What are the specific tasks to complete?

@zivkovicmilos
Copy link
Member

@moul

We sort of have a variation of this functionality through persistent_peers, where we redial (into oblivion, recursivelly) some peers if we lose connections to them (but only if we were connected to them initially, and the connection broke for whatever reason).

gno/tm2/pkg/p2p/switch.go

Lines 311 to 319 in 641d2fd

if peer.IsPersistent() {
var addr *NetAddress
if peer.IsOutbound() { // socket address for outbound peers
addr = peer.SocketAddr()
} else { // self-reported address for inbound peers
addr = peer.NodeInfo().NetAddress
}
go sw.reconnectToPeer(addr)
}

persistent_peers don't actually account for any kind of "slots" on the p2p switch, they live outside of all limitations (max outbound / inbound peers).

What @r3v4s is suggesting is to have a mechanism where we keep the connections to some peers alive at all costs, if they are not existing, given the limitation of persistent_peers I've mentioned above

It should be easy peasy to do when I wrap up #2852, so I'll keep this issue updated 🙏

@zivkovicmilos zivkovicmilos moved this from TODO to In Progress in 🚀 main.gno.land launch 🚀 Oct 18, 2024
@zivkovicmilos zivkovicmilos moved this from In Progress to TODO in 🚀 main.gno.land launch 🚀 Oct 18, 2024
@zivkovicmilos
Copy link
Member

@r3v4s

I've actually fixed / implemented this in #2852, where persistent peers function as you'd imagine.

@zivkovicmilos zivkovicmilos linked a pull request Oct 27, 2024 that will close this issue
7 tasks
@Kouteki Kouteki added 📦 🌐 tendermint v2 Issues or PRs tm2 related 📦 ⛰️ gno.land Issues or PRs gno.land package related labels Nov 17, 2024
@Kouteki Kouteki moved this from In Progress to Todo in 🧙‍♂️gno.land core team Nov 17, 2024
@zivkovicmilos zivkovicmilos added the in focus Core team is prioritizing this work label Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in focus Core team is prioritizing this work 📦 🌐 tendermint v2 Issues or PRs tm2 related 📦 ⛰️ gno.land Issues or PRs gno.land package related
Projects
Status: Backlog
Status: In Progress
Development

Successfully merging a pull request may close this issue.

4 participants