safe-global / safe-pm

Production coordination for the Safe team primarily focused on Problems that need to be solved
2 stars 5 forks source link

Investigate decentralized standard to exchange signatures and transactions #58

Open rmeissner opened 2 years ago

rmeissner commented 2 years ago

Part 1: Define the problem

What problem are you trying to solve?

Currently the best way to exchange signatures and transactions is to rely on our centralized infrastructure. It would be good to support a more decentralized approach.

To what strategic goals does it contribute

Decentralization

What is your hypothesis?

If we provide a more decentralized solution it will allow more ecosystem contributors to build integrations on top of the Safe and provide additional services and fallbacks.

What value does this bring to our customer and/or our mission? What is the goal?

More custom solutions for specialized user flows and more stability due to more decentralized alternatives.

This also is important for one of our primary goals: Decentralization

How do we measure it?

Data exchanged via p2p logic.

Links:

Part 2: Shaping the problem

Problem Owner

// To define

Non Goal(s)

Envisioned or preferred Solution

Solution 1

Define Waku messaging protocol

Overview Waku defines a decentralized (p2p) communication layer that can be used to exchange information. Based on this a protocol should be defined that allow exchanging and verifying information related to Safe indexing.

To verify the solution some testing script should be developed. In a next step these could be converted into a micro-service that can propose information to our centralized service architecture.

Check existing prototype: https://github.com/Soptq/gnosis-safe-waku

Rough Scoping & Timeline

1 month should be enough for developing a MVP.

Risk(s), Key Trade Offs & Decisions

Related topics

Open Questions

DmitryBespalov commented 2 years ago

If possible and looks like in scope, I'd vote for researching if this can be used as a general means for a data sync between applications/interfaces. Not just signatures and transactions, but an alternative to a centralized cloud database

fryorcraken commented 1 year ago

If possible and looks like in scope, I'd vote for researching if this can be used as a general means for a data sync between applications/interfaces. Not just signatures and transactions, but an alternative to a centralized cloud database

Hi, Waku dev here.

Yes, this should be possible. Do note that we are targeting 30 days message retention capability in the fleet.