DXdao xDAI deployment discussion

Hi Everyone,

We’ve had sporadic discussions in Keybase and on community calls regarding xDAI DAO deployment, want to try and recap it all here so we can get the ball rolling as soon as possible.

The first milestone is an xDAI deployment with reputation representation of all DXdao members.

A few topics to be discussed under the xDAI deployment:

1. Goal(s) of the xDAI DAO (If one is successful more will open)

  • Govern DXdao xDAI product (e.g. Omen xDAI deployment)
  • Faster, cheaper, less secure DAO that holds a small amount of funds ($10-20k) for the immediate activities - Paying for bounties, competitions, signaling proposals)
  • Signaling on proposals and decisions, with monthly / quarterly aggregation and submission to the Main-net DAO. (e.g. StrategyDAO)
  • HR-dao - This DAO is funded Monthly / Quarterly with the salary budget of the DXdao. (This means that reputation will be reflected on main-net in a different way)
  • Other?

2. Issues with ‘duplicating’ the DAO on xdai

  • New reputation system that will diverge from mainnet DXdao

    • Intentional: this will be the start of a GuildDAO with its own reputation system
    • Can keep track and periodically update mainnet DAO with xDAI reputation distribution
      (This can be done in 1 proposal / tx with Reputation Admin @ingalandia re yesterday this dangerous scheme can mint rep up to 100 addresses in 1 tx.
  • Contract wallets (Gnosis safe) in use by members of the DAO

As Gnosis safes are smart contracts under the hood, they won’t exist on other networks by default – and even if they exist they will have other addresses which means we cannot replicate REP Holder states 1:1 between Mainnet and any other network. Just had a quick convo with @koeppelmann about it (Gnosis tries to push all their products to xDAI too
by @nicoelzer

Possible solutions:
Create an address delegation map from mainnet to other networks, the delegated addresses will have to be a non-contract wallet.

Maintain an address delegation list on Mainnet, which allow members with Smart Contracts wallets to map the mainnet address with other networks addresses. This mapping could basically be used when replicating between networks.

How to map an address delegation list:

  1. Onchain transactions – Expensive
  2. Sign message – Currently not available in Gnosis safe, but could possibly be solved soon https://github.com/gnosis/safe/issues/134
  3. Another way?

3. xDAI <> Mainnet bridges

  • Security of the contract will be downgraded to security of xDAI: Governing a layer 1 contract from layer 2 assumes the security of the layer 2
  • There seems to be a deployment of this but it will need testing: AMB bridge

This can kick off the discussion and perhaps we could kick off the discussion, I actually think we should rush deploying an MVP of this to see what we can and cannot do

5 Likes

Nice summary. The good thing is that as an “xDai Migration” momentum builds, there are lots of teams already working on many of the key pieces needed (in addition to Gnosis and DAOstack!).

For example, there are already some teams (POA x RaidGuild I believe) building a production-ready multi-token bridge, which will be helpful.

I believe there are also people thinking about and working on solving the lower-security issues currently associated with Bridges. Currently, the xDai bridge is controlled by multisig 3 of 4 validators. One idea is to have the Bridge controlled by a DAO. As value grows on xDai, security can grow too.

1 Like

It’s not about the token bridge as much as it’s on the fact there are like 20 something validators for xDAI? (I’m not sure, this is what i recalled from a while ago) The cost of attacking xDAI chain are far lower than Ethereum (not even sure what are the attack verticals) and so our security assumptions should be adjusted to that. I would limit the funds we put on xDAI to no more than ~$50k, not based on any particular analysis.

2 Likes

Have a mapping of which function call to get the ETH account owner of the wallet form the concract hash bytecode, eg: if a wallet is a gnosis wallet bytecode get the ETH account owner by calling the owner() function.

Personally i think the a best solution would be to update the voting machine and schemes used in the mainnet dao to have more gas efficient actions and add more features like cheap vote signaling, signing and refunds, this would definitely lower the governance costs. But it wont save us from gas prices higher than 500 gwei.

About REP maybe a REP bridge can be built to get REP from mainnnet to xDAI, that would be super cool.

4 Likes

Not sure you can move REP across a Bridge as it’s non-transferrable, right? The mechanics of these existing Token Bridges require transfers. Lock and unlock on home chain < > mint and burn on away chain.

Yep, we dont need to move REP from mainnet, we just want to know the balanceOf an address in mainnet, and use that on chain in xDAI. ERC20 methdos would be the first ones supported by the bridge I assume, and we can know the rep of an address on mainnet by calling the balanceOf ERC20 method in the dxReputation contract :).

2 Likes

Gotcha. I guess terminology matters a lot as we may be discussing two different things. I think there is an important difference between “mapping” REP from one chain to another and “mirroring” them as a one-time snapshot or ongoing basis VERSUS “bridging” tokens from one chain to another where you give up ownership of that token on one chain and get ownership on another chain.

With ERC20s, we can actually “Bridge”. With REP, we can not do that same “Bridge”.

2 Likes

The security of the Bridge matters if the security of the Bridge is lower than the security of the chain, right? With POSDAO staking, the security of the chain many will be comfortable with for larger amounts.
I am specifically mentioning improvements to the security of the Bridge.

But, yes, agree, starting with smaller amounts very good idea.

@AugustoL I want to chat and get some conclusions / specs regarding the Guilds / SubDAOs and the difference between them. Maybe before / After the governance call? (I’ll post this on Keybase as well)

I’m still not 100% certain about the definition of, and what guilds can do, by the looks of it these needs to co-exist.

I’ll define SubDAOs as a whole DAO with it’s own rep system, likely forked off of DXdao, which governs or responsible for a specific product, protocol, or task. Like departments in legacy organizations.

  • e.g. OmenDAO - approving markets / arbitration. The more active one is, the more rep they accumulate specifically for OmenDAO. (Omen ENS registry is still owned by the DXdao)

  • Marketing DAO - A DAO which receives a set budget each month, has specific goals and tasks regarding marketing, branding, and attracting talent to the DXdao with bounties, competitions, and paying ad hoc marketers for measurable contribution

SubDAOs can live on xDAI. The “marketingDAO” is a simple and cheap experiment we can run, set goals, give it a bit of funds, and see how it works.

1 Like

Following up on the xDAI discussion from the Bizdev call.

This is a pre-proposal to deploy a DXmarketing Guild / SubDAO on xDAI as the MVP for xDAI experimentation (marketing is relatively simple governance – only fund deployment)

DAO goal: To support the DXdao marketing (DXswap for now), in a decentralized way + expermintation

Problems we are solving: Decentralized marketing, scaling and guild experimentation

How:

  • The DXmarketing will receive $5,000 (DXdao Proposal for ETH --> DAI --> xDAI --> xDAI Avatar)

  • The DAO will run 3 competitions which will go on for 1 month (3 Weeks for submissions, 1week for voting), at the end each DxDAO member will be able to vote twice for their top submissions,

        (title: budget, number of winners, winner distribution)
      1. Meme competition:  $2,000 USD, 3 winners (50,30,20)
      2. Best Blog / Article about DXswap $1,500, 2 winners, (70,30)
      3. Best DXdao related Tweet / tweetstorm $1,500, 5 winners (30,25,20,15,10)
      - Other ideas: Best onboarding, best video explanation of DXswap advantages, .....
    

To understand more about how the competition works in terms of the DAO check out this post I made a while back.

3 Likes

Can we just call it SubDao? To differentiate it from the ERC20Guilds approach and avoid confusions, it is another DAO that holds REP in teh ends, right?

1 Like

Graphically, SubDAO looks a ton like SquADS !!! @geronimo

1 Like

Big thanks to @nicoelzer who has done all of the work with gnosis getting this Data.
This sheet has the DXdao wallet distribution, if it’s a Gnosis safe we can see the owner wallet (I also added the reputation at the end but the vlookup fails sometimes)

Owner contract means that if you pull up the seed phrase from the safe and add it to a regular wallet (e.g. MetaMask) this will be the first key pair. I tested this and it’s correct but we will need to test with other Gnosis Safe versions / people / etc.

One thing I’m not taking into account is if someone is actually using this as a multisig, e.g. several people who together have voting power in the DAO.

We have two options (maybe more?) to map reputation from mainnet to xDAI:
Important to say that either way I don’t think this will be 100% smooth, it’s an experiment and likely we will have to deploy more than once, xDAI cheap so all is good

  • Option 1: Import the seed to a regular wallet (Using the mapping above)

    • This means that Gnosis safe holders will need to import their Seed phrase into a different wallet (Like metamask) in order to participate in governance on xDAI. We can map out 99% of contract wallets (there are a few exceptions) and, we will need to test this
      • Pros:
        • This means we can deploy the xDAI DAO soon-ish, and anyone will able to participate when they import their seed into a different wallet
      • Cons:
        • Adding your seed to another wallet essentially creates a wider vector of attack to your “key-chain” as they are in another wallet.
          • (in theory you can add the seed, extract the first priv pub key pair to use for xDAI, and then remove the seed, which will only expose one of your key pairs and not the entire “key-chain”)
  • Option 2: Mainnet transaction

    • Each DAO member sends a transaction to the DAO / simple contract with the public key (Text?) which they intend to use on xDAI, we will maintain a list of corresponding mainnet and xDAI address
      • Pros:
        • This is more ‘secure’ with less room for mistakes as we are assuring that each Gsafe DAO member makes a transaction to point a destination address.
      • cons:
        • This means we will have to wait for a certain threshold of people to tell us their destination address before we deploy.
        • Unlikely will get all GSafe users to do this.
        • Allows a “reputation transfer” on xDAI
        • Mainnet TX Costs money (not a lot because it can be a transaction)

I hope people will add more pros and cons here, maybe a different solution, and then we can progress to vote on it.

2 Likes

Very interesting!
I am support option 2

1 Like

Option 2 can be done with a few people (say 30% of the current mainnet reputation) and then others can be added with specific proposals on xDAI.

We can deploy a simple “signaling” contract in mainnet where any address (including multisigs) can send a tx with the xDAI address they want to use. Maybe this is better than having addresses sending txs with “Text?” to the DAO.

If the xDAI DAO is deployed, they just create a proposal there requesting xDAI reputation and pointing to the signaling transaction.

@Eylon if you need help with this I’m available. I would like to see if we can have this DAO govern a draft version of the wiki and then push changes to mainnet when really needed.

2 Likes

Oh yes Pepo, I’ll message you on Keybase.
The signaling contract would be a much simpler way!
Thanks