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

Extend IP subnet check to take into account host's domain #1359

Closed
ChrisSchinnerl opened this issue Jul 2, 2024 · 6 comments
Closed

Extend IP subnet check to take into account host's domain #1359

ChrisSchinnerl opened this issue Jul 2, 2024 · 6 comments

Comments

@ChrisSchinnerl
Copy link
Member

Even with the IP range check we sometimes lose a lot of contracts at once due to hosts which are clearly on the same domain.
e.g. foo.example.com, bar.example.com, baz.example.com.
We should only form a contract with one of those hosts to avoid losing too much redundancy at once when a provider goes offline.

e.g. Arequipa just lost 10 contracts at once due to such a provider no longer accepting contracts on all hosts.

@NickJH
Copy link

NickJH commented Jul 2, 2024

How are you going to cater for people using DDNS? There a many hosts using noip.com's free domains (such as ddns.net), FreeDNS, DynuDNS and so on. These hosts can safely share the some domain and are likely nothing to do with each other.

@ChrisSchinnerl
Copy link
Member Author

Unfortunately we can't without making renters vulnerable. If a host doesn't have a custom domain or static IP, it will be a first come, first served situation. Similar to how hosts in the same datacenter compete already.

@NickJH
Copy link

NickJH commented Jul 2, 2024

So there are 89 ddns.net (noip.com) active hosts, 5 freedns/dnsfree, 10 hopto.org/zapto.org (noip.com), 2 sytes.net (noip.com), 36 duckdns.org and many other DDNS names. You are really going to can them? There is even a DDNS updater in hostd for noip.com and duckdns.org names.

@ChrisSchinnerl
Copy link
Member Author

We don't need to outright can them. The details are still not worked out but there might be less invasive ways.
e.g. if we need n contracts for the set we could pick as many as possible from unique domains and add more if we can't get a full set.

@NickJH
Copy link

NickJH commented Jul 2, 2024

Please can I suggest you discuss this with Nate and come up with a concrete proposal. I think it is crazy to try to pick just one domain from ddns.net when they make up over 25% of the hosts and they are randomly scattered over the internet. The original idea was to ensure geographical separation of the hosts. You may be able to build a small database of "approved" DDNS domains. But then how do you deal with your own *.sia.host domain, and who is going to be the gatekeeper? CtrlAltDefeat has 3 servers. 2 are in different towns in Holland and one is in Germanay, but you want to effectively reduce him to 1 server?

Even the /24 concept it is broken. I have a /29 block, 62.30.63.88/29 and 62.30.63.87 and 62.30.63.96, outside my subnet, are geographically nothing to do with me or my location yet they get caught by the /24 rule. Perhaps even the /24 rule should be revisited and try to do a whois to see how big the block is but I think you have to be cute as RIPE return the data differently from IANA etc.

@n8maninger
Copy link
Member

n8maninger commented Jul 2, 2024

We're already discussing internally. I'm going to close this while we discuss alternatives.

CtrlAltDefeat has 3 servers. 2 are in different towns in Holland and one is in Germanay, but you want to effectively reduce him to 1 server?

Entity centralization is as big of a concern for renters as geolocation. If a single entity controls a significant number of an object's shards, that entity can cause significant repair churn and jeopardize data durability. Ideally, you want to use as many different entities as possible to ensure maximum durability on the network. In your example -- yes, a renter would ideally use only one of CtrlAltDefeat's servers, unless there are no alternatives.

@n8maninger n8maninger closed this as not planned Won't fix, can't repro, duplicate, stale Jul 2, 2024
@SiaFoundation SiaFoundation locked and limited conversation to collaborators Jul 2, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

3 participants