DAppNode Repositories in xDAI

DAppNode repositories in xDAI

Premise: we need reduce friction to the creation and publishing of DAppNode Packages on-chain.

Solution: Create a new repository in a cheap sidechain like xDAI.


In an informal conversation, user @ligi brought up that the security of xDAI is not the same as in Ethereum. What that means in practise is that xDAI validators could agree to pass an invalid state transition where they introduce a malicious package in the DAppStore.

While this is certainly a concern, here are some mitigations:

  • Economically, xDAI validators can probably obtain higher economic viability from continuing to support a good, secure chain, than to lose all credibility to target DAppNodes. Arguably, the most damagin thing they could do would be to attack Eth2 validators (for now), and they could not obtain more than the validator keys, so they could not earn from it. Since the reputation of xDAI is at stake, we imagine that they wouldn’t want to risk what they have built in order to do a suicide attack against Eth2 validators using DAppNode.

  • One mitigation to this type of attack through invalid state transitions is to sign packages and allow for DAppNode to check signatures before downloading and installing the new packages. This would protect users as a package injected with this sort of attack would still not be able to be correctly signed. The list of valid signatures would still be in Ethereum, so the security of this method still depends on Ethereum.

The technical discussion around this topic should happen in this github issue: Migration to xDAI (APM + Directory) · Issue #327 · dappnode/DAppNode · GitHub

This proposal is still in collaborative design phase and preparing to have something that the DAO can vote on.

Please participate in the discussion with your thoughts in order to come up with a rough consensus that we can use to build a solid proposal with no reason to create controversy.

5 Likes

Thanks for listening and raising this here! I really hope instead of migrating to xDAI you will consider moving to a L2 solution. Not only will this be more secure and you do not need the mitigations - but IMHO it is also more future proof. IMHO solutions like xDAI, Matic/Polygon, … just bridged a gap between L1 and L2 - but now that this gap is starting to get closed (e.g. with Arbitrum launching this month and optimism also being really close) IMHO these solutions should not be chosen anymore. Also the question is how the future of xDAI will look once a lot of projects move to a L2, So I would use my small voting power in the DAO to push for choosing an L2 instead of xDAI and will try to convince others to also vote this way.
Another reason is that L2s are more decentralized than xDAI and for me philosophically closer to DappNode which I see as a cornerstone in the fight against centralisation creeping in everywhere.
Wondering what advantages you see in xDAI over a L2 solution?

6 Likes

Hi! :wave: New here to the forum, but stumbled upon this thread as we are having some similar discussions on the Devcon team. Just some quick thoughts below.

Economically, xDAI validators can probably obtain higher economic viability from continuing to support a good, secure chain, than to lose all credibility to target DAppNodes. Arguably, the most damagin thing they could do would be to attack Eth2 validators (for now), and they could not obtain more than the validator keys, so they could not earn from it. Since the reputation of xDAI is at stake, we imagine that they wouldn’t want to risk what they have built in order to do a suicide attack against Eth2 validators using DAppNode.

IMO this is not a great argument. I think Vitalik put it well in one of his Reddit posts where he said “Trust a single actor because they have economic incentives” is a security model fit for centralized systems, not for blockchains. While the referenced post was about PoS systems, I think the high-level reasoning applies here:

On a more general note, I feel it’s in the best interest of the Ethereum ecosystem for community projects and leaders to adopt (and encourage the adoption of) true L2 solutions, which I think most define as those that inherit the base-layer security of Ethereum. I’m talking optimistic rollups or ZK-rollups, not sidechains. Lest we end up in the dystopia described here: I’m Worried Nobody Will Care About Rollups

For some projects, the lower security offered by sidechains may be fine, but IMHO this does not fall under that category :smiley:

Another reason is that L2s are more decentralized than xDAI and for me philosophically closer to DappNode which I see as a cornerstone in the fight against centralisation creeping in everywhere.

Also second this ^

Just my 2gwei!

5 Likes

I agree with both @Skylar and @ligi, L2 security > side chain security. Happy for DAppNode to lead the path on the long term solution.

A key element to consider is developer adoption. Another possible approach would be to make the DAppNode package registries chain agnostic such that they can be deployed in any network a package developer sees suit. Then this developer would encourage its users to “subscribe” to that registry in a similar mechanic to Uniswap token lists.

The above is compatible with placing the main DAppNode registry in a specific chain to signal preference for a specific type of scaling solution. Happy to do a vote on where should that registry be, or if it should be duplicated across chains.

6 Likes