over budget

Native Script editor with Multisig & Script wallet

₳140,400.00 Requested
Ideascale logo View on ideascale
Solution

Extend the transaction editor with collaborative transactions to also cooperatively create native scripts, providing a simple and always available service for users.

Problem:

People are not taking advantage of Cardano's Cardano native scripts. Setting up a multi-sig wallet for security, or as a common treasury are simple use cases outside the reach of most users.

Yes Votes:
₳ 50,313,275
No Votes:
Votes Cast:
270

[SOLUTION] Please describe your proposed solution.

This is a product for users in the Cardano ecosystem, it is a wallet enhancement not a developer tool despite how technical the title sounds. This project is to enable anybody to use a bit more advanced features of the Cardano blockchain. Your web wallet is fine to store your funds, but you can't do much more than spending. I have already built the transaction editor as a web application and it allows for collaborative transactions.

That means you can get together with other participants on the network and make a transaction together, be it to spend into common things, or be there to swap assets, or whatever use you can have in mind. This new project aims to extend it to also collaborate in crafting a Native Script.

Cardano Native Scripts have 6 primitives which you compose together in a flat, nested or even finite recursive form. This allows you to create simple "smart contracts", like a simple multi-sig option, a treasury account, an escrow, time locked contracts. These contracts don't require advanced knowledge of smart contracts and programing. It is more up to your imagination what you want to build.

This project is a web application that extends your wallet, or rather your wallet connects to it. It will provide a user interface to create the native Script(the contract), either alone or collaboratively with other people. Then, it gives your the backup infrastructure to store all those Native Scripts, because if you loose your script, you won't be able to unlock the funds from those addresses. There is no security needed in storing the contracts, they are public information, or at least they must become public at the moment you spend from them, because the Blockchain must audit the contract and its signatures to allow the spending of funds.

As a firm believer in privacy, I must offer multiple options, and the most private by construction is the one I can't make money from. What perverse incentives of our society, we can't offer privacy as a service because you loose it when you engage with the service provider. In the same way that the transaction editor works, what can take place on your computer alone, is private and free, I can't know anything about it. The native script editor itself is free of charge, and saving your scripts in your computer too.

The moment you need me to backup your script, I'll keep you anonymous, no need of email or any form of ID, a simple payment will match your wallet and give you an account. Now you have two storage systems your PC and my server. Once in the server you can engage in collaborative work, and have other people partake in your script building and signing.

Associated to a native script is an address. Your wallet does not manage this address, because up until today we only have single-signature wallets. Thus the editor must help you manage your funds on the script addresses. For this, I'll rely on the KOIOS REST API to gather information and load balance your use, also because that is a distributed service you'll have better anonymity compared to using a single service.

Once Scripts are easily accessible, it becomes simpler to create simple DAOs or escrows, which essentially mean. Many individuals need to agree and sign a transaction for it to be valid and dispose the funds. This is crucial feature for the digital economy and digital organizations and something every collective in the Cardano ecosystem would appreciate.

To keep track of this project and its impact. The first success is the features are there, what I have promised is delivered. The second success is from people using it, that takes more time and effort. I can always measure traffic on my service, and track how much does it grow. There is the actual measurement on the blockchain itself on how many people move towards script addresses instead of single signatures. As we allow users to embrace new possibilities the richer the ecosystem.

[IMPACT] Please define the positive impact your project will have on the wider Cardano community.

Every tool available enhances the ecosystem. Native Scripts are under utilized in the ecosystem, and they can be incredibly helpful for single users and even more for creating simple DAOs. Plutus smart contracts are highly complex, but native scripts are only 6 primitives and the combining them, you don't need advanced degrees to read them and use them.

Alone as the script editor this is a wallet enhancement, which aligns to the use case areas of interest as a simpler "smart contract". Incorporating the collaboration option for these scripts it unlocks: DAOs treasury, escrows, shared custody, which would be DeFi and Governance Systems also part of the challenge. And why not Legal, we make our own contracts. Contracts should be easy, anyone needs to be able to set them up. After all, it is about human collaboration.

This project is a web service, certainly in SaaS mode. It does contain certain service tiers. The free and most private one is the local service page application. It is the editor for scripts and local backup. The paid part of the service is once connected to my servers how to collaboratively share and edit those scripts with other parties.

Because build and they'll come does not work, I will accompany the development with YouTube video tutorials. As a developer I finally come to embrace the amount of effort it takes to popularize a tool. That is why a big part of this project is educating people how to write their own native scripts to secure their assets, because that is the main output and advantage that this project offers.

[CAPABILITY & FEASIBILITY] What is your capability to deliver your project with high levels of trust and accountability? How do you intend to validate if your approach is feasible?

I have participated in the Cardano ecosystem over the last 2 years. The community has recognized and rewarded my efforts funding my projects in Funds 7, 8 and 9. I have successfully delivered and closed all my projects, and the community can audit them. I completed 2 open source projects with little more than a month delay to my plan, 1 documentation effort completely according to plan, and 1 DApp project which challenged me beyond my initial proposal, forced my to redesign it, during implementation, readapt my infrastructure considerations due to the Vasil Hard Fork, creating huge delays and going completely out of plan, time schedule and budget. However, I did not let that project fail, I persisted to deliver the project feature complete despite the 8 months delay instead of calling it a failed project. I worked after consuming all my budget and in the depths of last year's valuation collapse of ADA.

It is my experience and my persistence that show my capability. My ideas are valuable to be funded, and I have been honestly working to bring them to completion. I know my approach to this project is feasible, because this project is about extending, that last project which cost me so much effort. I know now where the problematic parts are, and I now have a better architecture and have selectively specified the project scope. This time rely on the wider ecosystem using the already available and trusted web wallets as the KOIOS API.

The main goal of the project is to allow any user of web wallets to embrace the use of native script addresses too. The native scripts are a feature of the Cardano Blockchain, people need simple tools to use them. To provide such a service, I need the editor for such scripts, a storage service locally to the user PC and one on my side as a service provider. Finally plenty of tutorials to educate users.

None of those goals are extraordinary, they just take time and effort and based on my experience as developer they are feasible.

[Project Milestones] What are the key milestones you need to achieve in order to complete your project successfully?

  1. Native Script editor : Single page app, with a programing interface like the Scratch programing language, where people can compose the primitives together to build their scripts
  • Web application is live
  • Web application exports native script for download
  1. Script address fund management : Each script creates a new address where funds can be deposited. Because the user wallet does not recognize those addresses as belonging to the user, the service must be able to query the blockchain and display to the user the balance of such addresses.
  • Transaction editor allows to query UTxOs on script addresses
  • Balance of script addresses can be compartmentalized from user's own wallet

>1. Local Storage : User stores his scripts on his own browser. In that case there is no need for account management

  • Application stores user scripts in browser
  • User has a repository of his scripts. He doesn't need to manage his exported scripts manually
  1. Cloud Storage service : User stores now connects to a service, that must authenticate him and assign storage space.
  • Sync the user's scripts to the main service.

>1. Advertising : Because build and they'll come does not work. The project needs a substantial amount of YouTube tutorials to inform users about these possibilities and opportunities that the tool opens.

  • Tutorial: How to build a multi-sig script
  • Tutorial: How to time-lock your funds to help you save
  • Tutorial: How to time-lock plus multisig for account recovery
  • Example: A multi-sig DAO address
  • Example: An Escrow
  1. Project closeout:
  • Report

  • Video Summary with milestones review

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

I'm the sole individual managing and doing the project.

Oscar Najera (Jack of all trades, master of Software development)

PhD in Theoretical Physics, Software developer, Contributor to Cardano ecosystem. I let my work speak for me, with my Catalyst funded and completed projects

  • Fund7 : Transaction editor & wallet # 700257

Ideascale: https://cardano.ideascale.com/c/idea/385056

Closeout Video: https://www.youtube.com/watch?v=fTDCxC8No6o

Closeout report: https://drive.google.com/file/d/1pcCL93-XYvDjS3EIUW7W57XecjBm880f/view

  • Fund7 : Web based transaction editor # 700265

Ideascale : https://cardano.ideascale.com/c/idea/61277

Closeout Video : https://youtu.be/knP3T391Wak

Closeout report : https://drive.google.com/file/d/1cOIxjuf12d0eGWZKuOU1-PiV7oukyVcB/view

  • Fund8 : Ouroboros-mini query specification # 800282

Ideascale : https://cardano.ideascale.com/c/idea/400914

Closeout Video : https://www.youtube.com/watch?v=eNaoS8zAfu4

Closeout report : https://drive.google.com/file/d/1XyktSqoLOT9BHLkjcmGc_bYTfRDyYq8u/view

  • Fund9 : Transaction Editor Hardware wallet # 900202

Ideascale : https://cardano.ideascale.com/c/idea/420147

Closeout Video : https://youtu.be/VV59yVv2VJc

Closeout report : https://drive.google.com/file/d/1O-7LN0LXLHw2WK0Tl75msyXzUHNQu1ah/view

[BUDGET & COSTS] Please provide a cost breakdown of the proposed work and resources.

In the previous section of Milestones I list every deliverable. This includes the simplified timeline for each milestone.

  1. Native Script editor - 6 weeks
  2. Script address fund management - 3 weeks
  3. Local Storage - 3 weeks
  4. Cloud Storage service - 5 weeks
  5. Advertising - 10 weeks

The timeline assumes me working part time on this project. Milestones propose 27 weeks of work. Out of experience, I'll budget 30% buffer (overhead of project management and unforeseen events) for completion amounting to 35 weeks. That budget buffer leaves me opportunity to work around unforeseen problems.

I account for ADA price of 0.3 USD, that seems to have been the bottom in December last year and now. I imagine even with the 12 Million USD in sell pressure originating from this Catalyst fund, and amortized over a year, that it won't drop that much.

Final budget 27[weeks] 1.3 [buffer factor] 20[hour/week] * 60 [USD/hour] / (0.3 [USD/ADA]) = 140400 ADA

[VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?

This project as all my previous ones remains small in scope and is an extra tool for the Cardano ecosystem. The main expense is compensation for my work time and effort, which I average out at a rate of 60USD/hour, making me for the German market where I live a cheap software developer, an expensive video editor, an OK accountant and an undervalued project manager since I have brought all my projects to completion. The Cardano ecosystem will profit from this treasury investment.

Money is meaningless by itself, we use money to trade with one another. Many times too, we need to store our money with other people, be it shared custody, recovery and backup solutions, audit-ability, shared responsibility and many more. Previously, with the transaction editor, I opened the possibility for users to craft joint transactions. This new feature will extend those capabilities even more. People will be able to sign transactions that access funds of multiple custody, like what is expected of any organization.

The beauty of software is that you only need to pay it once, then it works. I will run into maintenance costs for the interactive part of the service. While users will be able to craft transactions, craft native scripts, and save them locally for free. The online, multiple wallet signature of transactions does have higher infrastructure cost and I expect to cover those as the project grows in use by service fees.

Comments

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