teamforus / research

Shared learning of decentralized development.
https://forus.io
The Unlicense
27 stars 6 forks source link

Me backend: decide on stack #105

Open jamalv opened 5 years ago

jamalv commented 5 years ago

Note: this is an outline, please make suggestions for what you think needs to be here.

Context

There are different possibilities to fulfilling the me backend requirements. This epic is meant to gather an overview of the different possibilities so that we can do POCs and make a good decision.

Options

Protocol Issue
IRMA https://github.com/teamforus/research/issues/104
ERC725 / ERC735 to be opened
uPort to be opened
oAuth to be opened

..

Language:

Considerations

maxvisser commented 5 years ago

Also I think we need some desktop applications/website to go along with Me. As 4th role of our platform, validator needs some way to see its validations or prevalidations in a dashboard other than an app.

jamalv commented 5 years ago

Nice insight 👍 The scope can initially focus on the app imo. But it is good to take already consider this.

maxvisser commented 5 years ago

As product owner of Forus and Me I have ofcourse thought long and hard about the stack of Me. As I see it: with the current state of decentralized technology like Ethereum, slow, no privacy etc. its just really not a good option.

Therefore I would look for records to more proven technologies like IRMA #104 and for wallet I would go the exchange route. Records: As shown on common grounds its really possible to request a Forus fund using IRMA. In this example we created a new Kindpakket_eligible 'Ja' attribute that a municipality could give out. If you revealed this to Forus you got a Kindpakket-voucher. I also see alot of use cases for signing data with attributes: signing a json token with a unique identifier for a doctor could mean that the person could use that to get a wheelchair on Forus (for example.)

Wallet: Forus has multiple cold wallets and hot wallets. In Me you open a Forus account with a Unique identifier. You can send Euros to your forus account but also Ether. These ether are stored on a private key of Forus. This will let you put ethers into funds on Forus. We can also start paying out providers with Ether. (Suggestion from jamal: A slider in provider dashboard.)

Forus can also store on its private key: Assets and tokens like erc721 or erc20. You want to store your cryptokitty at Forus? You can! :) this would also allow putting erc20 tokens into a Forus fund.

Note: I see these options as currently the most realistic. I still want to do in depth research into making it more self sovereign and decentralized. But imo this could take years as we are also limited on the current state of the 'blockchain' ecosysystem

jamalv commented 5 years ago

Completely agree with the pragmatic approach taken here, it seems to strike the right balance. It offers the best solution to the end user and does move the pin in the right direction, for example in increasing adoption of ether. We will go from there. Research and POCs can be used to "prove you wrong". 😉

maxvisser commented 5 years ago

We could therefor also decide that Me needs to become a product that does research into self sovereign identity and the pragmatic approach I am taking is just called Forus profile/account. Its therefor just a decision if we want to even do #104 or just fork irma_mobile and add a tab for forus wallet.

I see pro's / con's for both.

Pro's for implementing irma in Me:

Cons:

Forking irma_mobile pros:

We could also decide to do both. Keep Me in its current form and fork irma and try both. This is just a effort vs result type of discussion and maybe needs its own issue.

jamalv commented 5 years ago

I think the comment above fits #104 better. I think here we should stay on topic about the me app stack with a wider view. The results of discussion in #104 can go in here when they are (semi) conclusive.