not approved
Open Multisig Synchronization Service
Current Project Status
Unfunded
Amount
Received
₳0
Amount
Requested
₳30,000
Percentage
Received
0.00%
Solution

At BroClan we have implemented a synchronization service to propagate this information, I propose separating this module and deploying it as an open API for all Multisig wallets to use freely.

Problem

Creating multisig transactions requires some way of sharing the transactions and signatures among the participants

Feasibility
Value for money
Impact / Alignment

Team

1 member

Open Multisig Synchronization Service

Please describe your proposed solution.

By deploying an open API for multisig wallets and transactions we, as an ecosystem, gain 2 things.

1) Developers can integrate the API when they are creating a new multisig wallet

2) Users can cooperate and participate by using their own multisig software solution. This will allow users to pick the software that best fits them and seamlessly cooperate with everyone else.

The sinc accepts wallet descriptors, and it accepts transaction + signature bundles as inputs freely, this way transactions created by anyone that is not a member of the multisig are rejected instantly safeguarding users from fishing spam attacks.

For fetching transactions the API will request the connecting member sign a message proving they own the corresponding key, after verification is completed, an access token is given for future logins and all new transactions relevant to this key are promoted to him.

How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?

By having robust multisig infrastructure ,we will open the doors to larger and more serious investors.

By making the underline rails of the multisig wallet space open for all, we allow easier international cooperation since members can use software tailored to their own needs, including but not limited to language , accessibility, Hardware wallet support, cold storage, local data provider etc.

How do you intend to measure the success of your project?

By the amount of multisig wallets adopting and integrating the service.

By how easy it is to integrate into a new product.

Please describe your plans to share the outputs and results of your project?

To make auditing the project state easier, and the outputs of the project more specific, it is separate into 4 distinct milestones, each with its own deliverables and workload.

1) Separate out the Sync service from the BroClan software and deploy it

2)Implement long polling for developers that do not want to use web sockets

3)Implement transaction sign-in for HD-Wallets

4)Create a JavaScript library for the client side integration

What is your capability to deliver your project with high levels of trust and accountability?

I have developed a Multisig Wallet for Cardano that is already operational.

This functionality has been implemented and tested.

I have over 10 years experience in Linux operation and experience operating a high performance pool since the first days fd Cardano, deploying and maintain a high reliability service is trivial to me.

Additionally I have 2 years of JavaScript/Nodejs/MongoDB experience and given that the MVP of the product is already completed.

What are the main goals for the project and how will you validate if your approach is feasible?

The approach is feasible, it is proven by being already operational on BroClan.

The main goals of the project are:

1) To make developing a multisig wallet for Cardano easier

2) To allow cross play between users of different multisig Wallet software.

Please provide a detailed breakdown of your project’s milestones and each of the main tasks or activities to reach the milestone plus the expected timeline for the delivery.

Milestone 1) Separate out the Sync service from the BroClan software and deploy it

Key Activities: setup new gitHub project, split the sync logic code of BroClan to the new project, deploy on a test environment, test using BroClan and direct calls

Timeline: 2 weeks

2)Implement long polling for developers that do not want to use web sockets

Key Activities: Implement alternative fetch and authentication stream using RestAPI endpoints instead of websockets, test and verify, deploy to production

Timeline: 1 weeks

3)Implement transaction sign-in for HD-Wallets

Key Activities: Setup alternative proses flow where a transaction is signed to authenticate a client, setup an indexer for the backend to find utxos and to submit the signed transactions.

Timeline: 1 week

4)Create a JavaScript library for the client side integration

Key Activities: Create new github repo, implement all the functionality required to use the API (Submit, authentication, polling, web sockets), create npm package, test with BroClan and manual usage, create Documentation page with full functionality overview.

Timeline: 2 weeks

Please describe the deliverables, outputs and intended outcomes of each milestone.

Each milestone has its own specific deliverable.

1)Separate out the Sync service from the BroClan software and deploy it

<u>Deliverable</u> : A running API service accessible to all and a corresponding GitHub project with its code.

2)Implement long polling for developers that do not want to use web sockets

<u>Deliverable </u>: The existing API service with the added capability of being able to login and fetch using only https requests (no websockets)

3)Implement transaction sign-in for HD-Wallets

<u>Deliverable</u>: the ability's to login to the service using a hardware wallet, or a software wallet that does not support message sighing, add multitenancy support to avoid having users pay repeatedly every time they switch devices.

4)Create a JavaScript library for the client side integration

<u>Deliverable</u>: an npm package that you are able to easily install into your JavaScript project and the corresponding GitHub repository.

Please provide a detailed budget breakdown of the proposed work and resources.

Infrastructure costs :

Given that we are working with very light data packages, and the multisig space is in its very early stage on Cardano, the following computational resources should be enough for the first 2 years of operation. Hopefully transaction sighed login should bring enough revenue to expand and maintain the service after the 2 years are completed.

MongoDB Atlas instance:

€9/month * 24 Months = €216

API Host node €20/month * 24 = €480

1)Separate out the Sync service from the BroClan software and deploy it

EE: 40 hours

2)Implement long polling for developers that do not want to use web sockets

EE: 40hours

3)Implement transaction sign-in for HD-Wallets

EE: 40 hours

4)Create a JavaScript library for the client side integration

EE: 40 hours

160Hours * €50/Hour = €8000

Total : €8,696 ~ 33300 ADA

The 1700 ADA is put aside for incentivizing Developers to use this product and unexpected expenses.

Who is in the project team and what are their roles?

Leandros Holleman- Project manager, Developer and SysAdmin

I am a 1 man team and given the limited scope of the project I can handle it on my own.

How does the cost of the project represent value for money for the Cardano ecosystem?

Given that a lot of the grunt work is already done the Cardano solution can get this up an running for a bit cheaper that it would be if it was to be build on demand.

By implementing this we allow cross play around multisig wallets.

And by having this available it means teams that are building multisig wallets from this point foreword will not need to build it by them self.

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00