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

🔷 [Epic] Multichain #326

Closed
26 of 49 tasks
itegulov opened this issue Oct 19, 2023 · 1 comment
Closed
26 of 49 tasks

🔷 [Epic] Multichain #326

itegulov opened this issue Oct 19, 2023 · 1 comment
Labels
Emerging Tech Emerging Tech flying formation at Pagoda Epic Milestone or collection of like issues Near BOS NEAR BOS team at Pagoda

Comments

@itegulov
Copy link
Contributor

itegulov commented Oct 19, 2023

Description

Multichain is a total overhaul of mpc-recovery service that will move us away from aggregated signatures towards TSS. Multichain network will store users' private keys in a non-custodial way by splitting keys into key shares and distributing the pieces among multiple independent parties.

Let P be the number of trusted parties holding the key shares.

Reasons for transition are:

  • Fault tolerance. Current implementation requires all nodes to be online and ready to accept requests. If any party loses their keys then the whole network cannot operate anymore. Multichain, on the other hand, has a configurable (and dynamic) threshold of participants to be available in order to continue the network (currently presumed to be ~2/3 of P).
  • Decentralization. We are getting rid of the leader node and introducing a proper consensus mechanism.
  • Generalization. Multichain is all about being able to sign arbitrary payload on-chain, which enables other potential applications of multichain outside of FastAuth. This means we are decoupling from OIDC and FastAuth will become an application built on top of multichain.

Roughly, the new flow is going to look like this:

  1. Developer D writes and deploys a smart contract C @ my_cool_app.near
  2. User U calls function foo on C
  3. foo makes a cross-contract call to multichain.near (a contract deployed by us) where they request to sign(payload), where payload is payload provided by C's internal logic
  4. P participants index ingoing call to multichain.near/sign and see the transaction above
  5. They follow the MPC cryptographic protocol and generate a signature S for the submitted payload
  6. One of the participants submits S to multichain.near/response
  7. D has an indexer that watches for multichain.near/response and once it sees the transaction above it registers S as the response to U's interaction with C

Resources

Overview of cryptography behind multichain: https://docs.google.com/document/d/1FKC9LvVyrEq6CiFYCnUFtQfvaDWddxzdtaEQb-_fq_s/edit#heading=h.we4ish11290u

This epic presumes that future work is happening on top of #313

Cryptography

Preview Give feedback
  1. Emerging Tech Near BOS
    itegulov
  2. Emerging Tech Near BOS
    itegulov
  3. Emerging Tech Near BOS
    itegulov
  4. Emerging Tech Near BOS
    DavidM-D
  5. ChaoticTempest
  6. Emerging Tech Near BOS
  7. Emerging Tech Near BOS
    volovyks
  8. Emerging Tech Near BOS
    ChaoticTempest

Network

Preview Give feedback
  1. Emerging Tech Near BOS
    ChaoticTempest
  2. Emerging Tech Near BOS
    ChaoticTempest
  3. Emerging Tech Near BOS
    ChaoticTempest
  4. ChaoticTempest

Consensus

Preview Give feedback
  1. Emerging Tech Near BOS
    volovyks
  2. Emerging Tech Near BOS
  3. Emerging Tech Near BOS
    ppca
  4. ChaoticTempest

API (no yield/resume option)

Preview Give feedback
  1. Emerging Tech Near BOS

API (yield/resume option)

Preview Give feedback

Infra

Preview Give feedback
  1. Emerging Tech Near BOS
    itegulov
  2. ppca
  3. ppca
  4. ppca
  5. kmaus-near ppca
  6. ppca
  7. DavidM-D
  8. Emerging Tech Near BOS
  9. Emerging Tech Near BOS
  10. Emerging Tech Near BOS
    kmaus-near ppca
  11. Emerging Tech Near BOS
    ChaoticTempest

Low priority bugs/performance improvements

Preview Give feedback
  1. Emerging Tech Near BOS
@itegulov itegulov added Epic Milestone or collection of like issues Near BOS NEAR BOS team at Pagoda Emerging Tech Emerging Tech flying formation at Pagoda labels Oct 19, 2023
@volovyks volovyks moved this to In Progress in Emerging Technologies Oct 26, 2023
@volovyks volovyks moved this from In Progress to Backlog in Emerging Technologies Mar 18, 2024
@volovyks
Copy link
Collaborator

stale

@github-project-automation github-project-automation bot moved this from Backlog to Done in Emerging Technologies Sep 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Emerging Tech Emerging Tech flying formation at Pagoda Epic Milestone or collection of like issues Near BOS NEAR BOS team at Pagoda
Projects
Status: Done
Development

No branches or pull requests

2 participants