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

Add name suspensions #297

Merged
merged 3 commits into from
Dec 19, 2021
Merged

Conversation

JeremyRand
Copy link
Member

@JeremyRand JeremyRand commented Dec 16, 2021

This PR introduces a new state for names: "suspended". Suspended names behave like unexpired names on the consensus layer (i.e. they can only be updated by their owner), but behave like expired names on the policy layer (i.e. they resolve as NXDOMAIN). The idea is that if a user forgets to renew their name on time, it will be suspended, which will make their domain inaccessible; this will hopefully get their attention before the name expires. This decreases the damage associated with forgetting to renew from a permanent hijacking to a temporary DoS.

The grace period between suspension and expiration is 4032 blocks (~4 weeks) for mainnet/testnet, and 4 blocks for regtest.

This PR also tweaks some related parts of the code in order to make them more conducive to name suspensions; most of these extra tweaks are related to how block heights are converted to dates for display.

@JeremyRand
Copy link
Member Author

@domob1812 Feel free to glance at this to see if anything is obviously wrong or might break things for you.

@hlandau This PR is relevant to nccald.

@domob1812
Copy link

Looks good to me (but I've not done an in-depth review)

@JeremyRand JeremyRand merged commit 4a8502d into namecoin:master Dec 19, 2021
@JeremyRand JeremyRand deleted the namecoin-suspension branch December 19, 2021 11:58
@mrpeertopeer
Copy link

mrpeertopeer commented Feb 8, 2022

There have been no discussions about any kind of suspension. I'm strongly opposed to this!

Daniel, you should oppose this kind of behavior. Jeremy is going way too far. If you ask me, I would revoke all his access to the namecoin.org website after seeing this. 

While here @JeremyRand merged "suspensions" into Electrum NMC. @yanmaani wants to merge "autoregister" into Namecoin Core. 

Both of them should be kicked out of the Namecoin project. I can maintain Electrum NMC while you, @domob1812 maintain Namecoin Core. We don't need people who are constantly harassing members of the Namecoin community and merging these kinds of disgraceful pull requests in just three days.

@yanmaani
Copy link

yanmaani commented Feb 8, 2022

There have been such discussions. You appear to have missed them, as evidenced by the fact that you show up two months late.

Would you care to state your problem with the pull request? Further, what is wrong with my pull request for name_autoregister?

Also, what members of the Namecoin community have I harassed, and when/where did I do so?

@mrpeertopeer
Copy link

mrpeertopeer commented Feb 8, 2022

if a user forgets to renew their name on time, it will be suspended, which will make their domain inaccessible; - @JeremyRand

Every user who registered a domain name or other data since 2011 on the Namecoin block chain has been well aware of the expiration time of 36000* blocks.

I'm astonished by the fact that, instead of warning the user about the upcoming expiration date, this pull request has been merged, simply suspends the domain. This is completely outrageous!

I believe that this pull request even contradicts yours about name_autoregister in Namecoin Core @yanmaani


Regarding the the attacks on Namecoin community by you and Jeremy Rand, we should ask @domob1812 to create channel on Bitmessage where we can openly and without the possibility of abuse or censorship discuss these matters.

edit:
Namecoin channel on Bitmessage:
[removed spam link. -Jeremy]

@yanmaani
Copy link

yanmaani commented Feb 8, 2022

You can solve it by simply renewing it, which takes all of five minutes. What's the problem?

In what way does this "contradict" name_autoregister?

I am not going to use BitMessage, which is a hilariously broken piece of software that never works.

@mrpeertopeer
Copy link

mrpeertopeer commented Feb 8, 2022

In this case, I'm reverting this pull request manually.

As stated above, all domains expire after 36000 blocks. Suspending domains is unacceptable. I should also note that such a suspension only takes place in Electrum NMC not in Namecoin Core.

No @yanmaani. Bitmessage is not broken in any way, even @domob1812 use it. You can download and use the AppImage if you can't run or install it from source: https://appimage.bitmessage.org/releases/20220125/PyBitmessage-0.6.3.2.glibc2.15-x86_64.AppImage

@yanmaani
Copy link

yanmaani commented Feb 8, 2022

You have failed to point out any actual issues.

@mrpeertopeer
Copy link

if a user forgets to renew their name on time, it will be suspended, which will make their domain inaccessible; - @JeremyRand

Every user who registered a domain name or other data since 2011 on the Namecoin block chain has been well aware of the expiration time of 36000* blocks.

I'm astonished by the fact that, instead of warning the user about the upcoming expiration date, this pull request has been merged, simply suspends the domain. This is completely outrageous!

@yanmaani
Copy link

yanmaani commented Feb 8, 2022

You appear to misunderstand the meaning of "suspend". The point of the suspension is to warn the user about the upcoming expiration.

@mrpeertopeer
Copy link

It is very clear:

if a user forgets to renew their name on time, it will be suspended, which will make their domain inaccessible;

How can I misunderstand this?

  • forgets to renew their name
  • suspended (inaccessible)

If that is the case as you say @yanmaani (and I know it is), this pull request has to be rewritten to make it clear this is a warning about the upcoming expiration date and not a suspension!

@yanmaani
Copy link

yanmaani commented Feb 8, 2022

It will just stop resolving, it doesn't prevent them from renewing it.

@mrpeertopeer
Copy link

mrpeertopeer commented Feb 8, 2022

This has significant downsides for domains I own and use with my fork of ZeroNet! 

stop resolving

A warning is more than enough! 

@yanmaani
Copy link

yanmaani commented Feb 8, 2022

Why? You have to renew them anyway.

@mrpeertopeer
Copy link

That's correct, I do renew them. But stopping resolving the domains before the 36000th block is absurd.

There should be no "suspension" or "stop resolving"!

@JeremyRand
Copy link
Member Author

JeremyRand commented Feb 10, 2022

@mrpeertopeer Hi Zoltan. Whatever allegations of harassment you would like to air do not belong in this PR. Nor do spam Bitmessage links, nor review of an unrelated PR in a different repo. AFAICT the only valid criticism you've raised is that Namecoin Core hasn't followed suit yet; a PR will be sent to Namecoin Core as soon as I have time, which will fix that issue. Normally I would implement such behavior to activate on a flag day in both clients simultaneously, but unfortunately, this feature was blocking sponsored work, so we had to deploy quicker than a flag day would permit. Also, this is simply wrong:

I'm astonished by the fact that, instead of warning the user about the upcoming expiration date, this pull request has been merged, simply suspends the domain.

If you had bothered to read the PR you're purporting to review, you would see that we do in fact warn the user about the suspension date, and show a further status indicator in #300 about the upcoming suspension 4 weeks before it takes effect. Since you haven't read the PR, and since you are lying about the existence of past discussions about this (I know you're lying because you participated in said discussion), I am instructing you to drop this subject and not post further in this PR or any related issues/PR's, so that developers who are trying to get useful work done don't have to sit through any more noise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants