Proposal: 🧧 Basic Income for Nation3 Citizens

More and more like nation3, I like this big family. Really good.

@johnmark13 Yes, and I intentionally left out the implementation details so that other people can feel more comfortable sharing their own ideas/thoughts. Do you have a BI definition in mind that you would like to share? :smile:

@anastasiya Yes, good point. The incomeToken can be any ERC-20 token, and changing it in the future will be possible. :+1:

@luis To remove this risk, the idea is to not promise basic income for a citizen until after the smart contract has received enough funds for doing so.

And I imagine that in the future there will be more Nation3 products/services (besides the Nation3 Court) that will also be producing revenue.

Do you mean once there are revenues that would make it sustainable? In general the DAO shouldn’t promise infinite basic income because it’s not an immutable protocol (market conditions can vary, a governance proposal can pass stopping BI), but it can say that it will do its best to keep it running.

@luis Yes, exactly, that’s the idea. We will not promise infinite basic income for all Nation3 citizens. Instead, the smart contract will calculate how much funding it has received for covering basic income for 1 year for X number of Nation3 citizens, and only allow for that number of citizens to be enrolled, no more.

Gotcha. So is it first-come, first-serve? Or whoever has the highest NationCred score, for example?

@luis Yes, I would recommend using first-come, first-served just to keep things simple.

Something like this:

contract N3BI {

  function enroll() public {
    if (account has no passport)
      revert Error
    
    if (passport is expired)
      revert Error

    if (passport is about to expire within the next year)
      revert Error

    if (nationcred for account is not active)
      revert Error
    
    ...
  }
  
  function claimIncome() public {
    if (is not enrolled)
      revert Error
    
    ...
  }
  
  ...
}

The NationCred smart contract can return a boolean for an account, indicating whether or not the citizen is active:

interface INationCred {
  function isActive(address account) external view returns (bool);
  function rankOf(address account) external view returns (uint256);
}

This will give us some wiggle room when implementing the calculation of a citizen’s NationCred score/rank.

1 Like

Hey!
Sorry for catching up with this proposal so late, but I’m focused on building these days.

I love the initiative and would love more workforce to advance in the research of N3BI. However, I miss a few details and found some issues I can’t ignore. I will try to expose these issues below.

All 420 GENESIS passport holders will be eligible to receive Basic Income for Nation3 Citizens, even if their citizen activity is zero (a perk for being an early supporter).

Two things worry me about this paragraph.

This is more a personal perspective, but I don’t think the genesis passport holders should have economic privileges over the standard passport citizens long term. I see the Genesis passport more as a status signal of being an early member of the Nation3 movement.

And while we don’t issue standard passports, I don’t see this N3BI implementation as an incentive for the current holders to be more active in the short term.

I also miss mentioning Sybil resistance strategies to avoid incentivizing the same people to hold more than one genesis passport only to abuse this distribution.

The income token used in the smart contract will be $WETH, and will initially be funded by fee revenue from the Nation3 Court system.

I don’t think we are prepared to commit any possible revenue from the Nation3 Court to finance public goods like this. Any potential revenue generated from the Nation3 Court should be reinvested to improve the service and cover its operational costs.

Hopefully, once we achieve PMF and grow enough the Nation3 jurisdiction, we can start generating revenue for the DAO and, so, funding public goods with that revenue. But there is a long way before that.

Anyways, I don’t feel this should be included in the basic functionality as it feels like approving the proposal means implicitly agreeing to use the revenue from Court to fund the N3BI. I think that should be discussed in its own proposal when that revenue exists.

Code smart contract for getting a citizen’s activity (NationCred rank).

I miss a deeper explanation of how we would achieve this. As @johnmark13 exposed previously, relying on oracles for this doesn’t scale very well and could be unsustainable.


That being said, I find a couple of very promising topics in the line of this proposal that I would love to fund a workforce to research.

  • Sybil resistance strategies based on cred and how they compare against other solutions.
  • A more detailed spec on how N3BI should work, specifically in the distribution method and its governance.

I think focusing the effort on this line would be more valuable for the DAO.

1 Like

Have an idea can be abolished passport please creation, us to design again, so long as has the contribution to participate in ubi, creation passport now feel chicken ribs.

@0xGallego We can theoretically change the code so that the requirement of being an active citizen will apply to any type of passport holder. But I was under the impression that there would be economic differences between the GENESIS and STANDARD passports based on previous Nation3 communications. Maybe I misunderstood?

How many passports are currently available?
Only 420 Genesis Passports will ever be available. There is still an opportunity to claim yours.
Ordinary passports will likely be issued at a later stage, requiring a lower $veNATION balance.

@0xGallego I can see now that I should have formulated myself better, because I only meant to include the Nation3 Court as one example, out of many. So let’s re-phrase that part to the following:

“The income token used in the smart contract will be any ERC-20 compatible token, and could initially be funded by revenue coming from other Nation3 services (e.g. the Nation3 Court), or even from sources outside of Nation3.”

@0xGallego This depends on the value of the basic income. As an example, let’s say we set the basic income to be $150 per year. In this case, people would probably not pay $1,500 for a passport just to get that basic income.

On the other hand, let’s say we raise more funding and can offer a basic income of $1,500 (or more) per year. Then we need to think more carefully about sybil resistance, and in this case I would say that NationCred is the sybil resistance. Why? Because there are only 24 hours per day, and if NationCred is based on value creation that requires time, someone looking to game the system will eventually run out of hours. As @luis suggested earlier, we could define an active citizen as

a citizen devoting 1h/week to Nation3

We just need to figure out how to convert SourceCred cred scores to hours. Maybe it’s 5 cred per hour or something like that. So if someone has an average of 5 cred per week (21.5 per month) or more, that could be considered an active citizen.

@0xGallego Added a README here: GitHub - nation3/n3bi: Basic Income (BI) for Nation3 citizens

@0xGallego This depends on the value of the basic income. As an example, let’s say we set the basic income to be $150 per year. In this case, people would probably not pay $1,500 for a passport just to get that basic income.

Distributing $150 per individual per year would lose the point of N3BI and would be more like paying dividends for holding a passport.

But, to clarify, giving basic income per genesis passport builds an economic incentive to distribute your NATION between multiple locks and claim a passport with each one. It’s not that you can’t do that right now, but we would be building an economic incentive to do so that I don’t like. This has an easy fix, applying the same rules for all passport holders and requiring proof of participation as you describe below.

On the other hand, let’s say we raise more funding and can offer a basic income of $1,500 (or more) per year. Then we need to think more carefully about sybil resistance, and in this case I would say that NationCred is the sybil resistance.

Continuing the previous answer, I think this is an excellent mechanic to try out, and in this line is where I would like to fund more R&D. We need to specify what an “active citizen” is and why, extend the nationcred system to fit our needs, and also would be valuable to do deeper research in how NationCred works for Sybil resistance purposes on how it compares to other strategies.

With the text included in the current submitted proposal I don’t feel comfortable giving my support. Still, I would support a proposal to fund the research and refinement of the N3BI system on its own before implementing any distribution mechanism.

@0xGallego Which amount would you suggest?

This is more personal, but I don’t think genesis passport holders should have long-term economic privileges than standard passport holders. I regard the Genesis passport as more of an identity symbol as an early member of the national movement.

Do you really have no dignity in the eyes of Genesis resident passport? After all, nation3 has been locked for 4 years. Finally, you think it is an identification of the early movement. I suggest you change the promotion page of the Chuangshi Resident Passport.

Yeah, sorry for that, the amount is not the important thing. To me, distributing an arbitrary amount of tokens to passport holders right now doesn’t feel right. I don’t think it would create the correct incentives for increasing citizen participation. I don’t think it would provide the desired value if we want to unleash creativity and boost economic activity either. I would love someone to prove me wrong on this with data.

I think to achieve a valuable and sustainable UBI program, we have to start by solving the problems @anastasiya already described in UBI as a public good - or unleashing human creativity:

  1. Sybil resistance, or in other words how to make sure an attacker cannot create thousands of accounts to drain UBI funds.
  2. How to create a sustainable pot from which UBI can be distributed.

Assessing the first one using Nation Cred is a cool idea. I was there the first time we proposed it. But we still lack data on how it would compare effectively to other strategies.

I don’t oppose testing this in the field instead of doing extensive research first. Still, at least we should acknowledge that the current implementation of Nation Cred doesn’t fit all our needs. Working on that should be a step before N3BI distribution.

The second one is even more tricky. We are very early with Nation3, so finding sustainable sources of capital to fund anything is not easy.

Relying on the potential revenue of other projects feels risky and unhealthy. Suppose we commit only to fund N3BI with revenue. Until we don’t find said revenue, we risk having a zombie N3BI project that can never be used. On the other hand, funding N3BI with treasury reserves right now feels like diverting funds from the projects that could end sustainably funding N3BI in the first place.

I can be totally biased with this, I need a more convincing proposal before fiding N3BI implementation by December-January reasonable enough. I encourage anyone interested to provide their own insights / ideas in the matter and you @aahna to keep improving the proposal as I think it could end being a very interesting one.