Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

community sidechains #144

Open
brenzi opened this issue Aug 24, 2022 · 1 comment
Open

community sidechains #144

brenzi opened this issue Aug 24, 2022 · 1 comment
Labels

Comments

@brenzi
Copy link
Member

brenzi commented Aug 24, 2022

Why sidechains

Encointer communities are currently operated natively on Encointer's parachain on Kusama. This comes with the following disadvantages:

➖ no privacy
➖ long confirmation latency

Further advantages of sidechains:
➕ sidechains can operate even if parachain or relaychain goes down. temporarily and without finality but with availability
➕ number of communities can scale horizontally. no congestion on the parachain

Sidechain Requirements

Low Confirmation Time

On our parachain, we can spot pending extrinsics within one second usually, but confirmation often takes ~30s which os too much for a point of sale payment

requirements for transfers of community currency:

  • sidechain block inclusion confirmation within
    • <1s in 95% of cases
    • <30s in 99.95% of cases

non-requirements

  • parachain finality latency not relevant for everyday payments

Confidentiality

Stakeholder expectations

  1. some ceremony participants do not want to leak where they will be at a specific time in the future (VIP security, sans-papiers)
  2. some ceremony participants do not want to leak where they have been a-posteriori (sans-papiers)
  3. some users of CC don't want to leak their consumption profiles (transaction details and times)
  4. some users of CC don't want to leak their balance
  5. democratic votes on community matters should be anonymous
  6. businesses may want to publicly disclose their balance if they chose to sell CC
  7. businesses may not want to leak their balance nor turnover
  8. 🤔 all users need a way to query their own transaction history (businesses need this for accounting purposes)
  9. all users must have a way to request deletion of their account and history (GDPR)

Concept

Very similar to testnet Cantillon, we would move the encointer_balances and encointer_ceremonies pallets to a sidechain to run in TEEs.

Testnet-Cantillon-Component-Interactions drawio

Questions

  • how to do garbage collection: purge inactive communities. Do we need it at all?
  • how to map democracy? votes should be private and community scope matters may remain completely separate on the sidechain. But the results on global matters must be published to parachain for balloting
  • is it worth to have bazaar on sidechains or is the traffic low enough to keep it on the parachain? guess we can move to sidechain at a later stage?
  • how to make transaction/Event history available? how to do access authorization?

roadmap

  1. develop validateer and parachain branch that can work locally together with the Encointer Wallet app inside an emulator
  2. develop migration logic for seamless community migration from parachain to sidechain
  3. deploy a public sidechain on encointer Lietaer (rococo) and migrate a bot community and test with app
  4. deploy a public sidechain on Encointer mainnet (kusama)
  5. migrate Leu community subject to a democratic vote
@brenzi
Copy link
Member Author

brenzi commented Dec 16, 2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant