[REJECTED] Microsoft .NET Core & Blockchain OS - Digital Documents Singing

New proposal

Microsoft .NET Core & Blockchain OS

We believe the Cartesi Blockchain OS has great potential for corporate and institutional use and the obvious bridge for it is Microsoft and the free cross-platform open source framework .NET. Therefore we would like to propose a couple of projects that will underlay the .NET framework in Blockchain OS.

Project Description

We propose to build the following as a tooling package:

  1. Echo-dotNET example dApp backend – A minimalistic Cartesi Rollups application identical to the existing “echo-python” dApp, that could be used for a jump starter for any .NET project on Rollups.

  2. Ethereum Blockchain Digital Documents Singing .NET dApp as a Service (back-end)

  3. Library for integration with Microsoft Entra Verified ID, a decentralized identity by Microsoft.

  4. Library for integration with Microsoft Azure Key Vault and Ethers.js for executing transactions with Ethereum Accounts stored in Azure Key Vaults.

  5. Blockchain Digital Documents Signing Client (front-end)

How you will use Cartesi, specifically?

The first milestone is the Echo-dotNET example dApp backend – A minimalistic Cartesi Rollups application identical to the existing “echo-python” dApp, that could be used for a jump starter for any .NET project on Rollups.

The inherent complexity of the calculations and the software architecture of the rest of the milestones make it impossible to build on any existing L1, and at the current time cannot be done with an L2. Thus, Cartesi is an enabler of this type of solution if it is to be done on-chain.

Value proposition

Ethereum Blockchain Digital Documents Signing

The document signing process is an important process in many business use cases that guarantees the creation of binding obligations between two or more parties.

The sales contract looks legalised, have all the parties signed it? Is it the reviewed and latest version? Can it be proved that the document has not been altered before you signed? Is it possible to prove the document you received is identical to the one you viewed earlier? Lots of concerns that might appear especially when the document immutability is a must.

With Blockchain Digital Documents Signing, there is no need to trust third-parties, neither for time-stamping nor for storing signatures or files.

Ethereum Blockchain Digital Documents Singing .NET dApp as a Service

A .NET dApp on top of Rollups that handles the document signing logic and communicates with a client via notices and REST API. The client itself could be a simple stand-alone React Application or a module part of a bigger application with more complicated business logic.

Base concept (Rollups Client/Service)

Hash is calculated for the document that has to be signed and the value gets stored in the blockchain as a pair with the Signer Identity. We will support both Centralised (Google Accounts, Microsoft Active Directory, Twitter etc.) and Decentralised (Microsoft Entra Verified ID) Signers Identities, for flexible level of proven authority. So the service could match the level of authority of any traditional digital signature

Authorised parties can verify that copies of the document are legitimate by matching their documents version’s hash with the hash stored in the blockchain.

On this level physical storing of the document is not required, the application will only work with the document hash representation. All parties will keep their own copy of the document and will be able to verify its immutability at any time. Isolating this application level only for signing and verification will allow more complicated applications to handle the file and user management process.

For the client application we envision to integrate MetaMask and Microsoft Azure Key Vault (applicable on a corporate/institutional level) for Ethereum Accounts handling. Also a shared ethereum account that could be used from application users who don’t have their own Ethereum account, such users will have to pay for the service with traditional payment methods, so the transaction and service costs to be covered.

On Rollups level we envision implementation of billing/taxes logic, that should become part of the signing contract and will allow for self-sustaining service.

The described service could be used to power-up other applications that need to utilise the Blockchain Digital Document Signing as part of their functionality.

Similar projects

Milestones

Milestone 1: Echo-dotNet Example Development

  • Duration: ~1 month

  • Deliverables: Echo-dotNET example dApp backend – A minimalistic Cartesi Rollups application identical to the existing “echo-python” dApp, that could be used for a jump starter for any .NET project on Rollups.

  • Funds request (USD) for milestone 1: $21,215

Milestone 2: Blockchain Document Signing dApp as a Service Detailed Specification & Architecture

  • Duration: ~1 month

  • Deliverables: Ethereum Blockchain Digital Documents Singing .NET dApp as a Service (back-end),

  • Funds request (USD) for milestone 1: $21,215

Milestone 3: Rollups Back-end Development

  • Duration: ~1 month

  • Deliverables: Library for integration with Microsoft Entra Verified ID, a decentralized identity by Microsoft. Library for integration with Microsoft Azure Key Vault and Ethers.js for executing transactions with Ethereum Accounts stored in Azure Key Vaults.

  • Funds request (USD) for milestone 1: $21,215

Milestone 4: Blockchain Digital Documents Signing Client (front-end)

  • Duration: ~1 month

  • Deliverables: Blockchain Digital Documents Signing Client (front-end). A user interface.

  • Funds request (USD) for milestone 1: $21,215

Total funds requested

$84,820 USD

Use of funds

  • 1x Microsoft .NET Back-end Developer & Architect

  • 1x Front-end Developer

  • 1x Product/Project Manager

  • 1x Quality Assurance

About your Team

Dimitar Angelkov
Product & Project Manager
Software engineer and UX researcher with more than 20 years of experience.
https://www.linkedin.com/in/angelkov/

Ivailo Ivanov
.NET Back-end Developer & Architect
Microsoft Certified Software Engineer. An innovator, technologist, computer software expert with a strong engineering background and more than 20 years of experience in the IT industry.
https://www.linkedin.com/in/jungleboy/

Milena Tomova
FullStack Front-end Developer
Zend Certified Engineer, Laravel Certified Developer, skilled in Cascading Style Sheets (CSS), HTML, JavaScript, TypeScript, React, GraphQL, OpenCart, WordPress. Graduated from Sofia University St. Kliment Ohridski.
https://www.linkedin.com/in/milena-tomova-543108106/

Relevant Experience

Our team does web & mobile development projects, and we do it well. We are experienced with projects involving all stages of Software Application Development – planning, specification and architecture, UX/UI design, back-end and front-end development, quality assurance, release and ongoing support. Our team of skilled Software Application Developers keeps track of latest trends in application development, which helps us build quality custom software apps that cater specific business requirements and help business generate value.

Links and resources

https://www.linkedin.com/company/productive-ltd./about/

Github: WeAreProductive · GitHub

Payee’s ERC-20 address

BUSD: 0x0665aa14637e76ab0f572fffe5162347b8839af0

1 Like

Welcome to the DAO, Productive!

Thanks for the well-written proposal. I can see you’ve put a lot of work into it and it will definitely be a great reference point for other applicants going forward. The visuals, especially, are a nice touch!

One question that I have, is:
For the user interface, will you be using React? And if so, will it be optimized for mobile or desktop?

Another remark:
The proposed amount is more than double than what we had in mind for grants at this stage. Please refactor the proposal to reflect either a stripped down version, or else a much smaller requested amount.

1 Like

Hello Productive, nice project! A couple of questions:

  1. If I understood correctly, the bulk of the project is to have a back-end that uses established .NET libraries to verify Microsoft signature identities commonly used by corporates. Now, can these signature verification procedures really be done without ever accessing web services or some other online resource? I’m asking just to make sure that this is the case, since online resources are inaccessible to a DApp back-end, which can only receive data via Rollup inputs.

  2. Can you give more details about the economical model you are proposing for the DApp? If I understood correctly, you intend to have code in the Rollups back-end that will charge fees for running the service. In web3 space, usually charging fees is a bit tricky - after all, code is generally open source and anyone could simply fork the project and remove the fee charging code. So it usually requires some tokenomics to ensure that the incentives of all parties are properly aligned, and that the DApp’s community can sustain itself (I am no expert on the matter, though). In any case, I don’t think this is a blocker per se, but something to keep in mind when thinking about production/mainnet.

  3. Regarding the funds requested, maybe it would be better if you could break down the funds allocation for each Milestone?

4 Likes

@joe-cartesi
We envision the front-end to be relatively basic in terms of UI, so it should work well both on desktop and mobile. That part of the project will be ReactJS, HTML5+TailwindCSS.
As for the proposal estimated budget, we can reduce the scope that will respectively reduce the budget. I’ll suggest a stripped down version, that can be easily upgraded later.

1 Like

@milton-cartesi
Re: 1
The Rollups .NET backend will only be responsible for the digital document signing logic. All user authentication methods will be part of the client application. We envision integration of common centralized identity (Google Accounts, Microsoft Active Directory) and decentralized identity by Microsoft Entra Verified ID. Both centralized and decentralized identities could be used by individuals and corporates, our vision is to not limiting it to a specific group of users. To reduce the scope and budget, for the initial version of the project will limit only to centralized identity with Google, later we can add the other options once we have the basics.

Re: 2
It is just an idea that could be explored. Sooner or later running such a dApp will cause infrastructure and maintenance costs, so a possibility to charge per usage would be vital.
Also as proposed, the client application can support shared Ethereum account to execute the transactions on the blockchain and charge the users with the equivalent fiat money. This could help for easier adoption of the application by individual users who are not that familiar with the crypto tokens, but still want to benefit from the decentralized service. To reduce the scope and the budget, for the initial version of the application these features will not be included.

Re: 3
We will come with stripped version that can be upgraded later with more functionalities.

As mentioned above, here is the stripped down version we propose

  • Echo-dotNET example dApp backend – A minimalistic Cartesi Rollups application identical to the existing “echo-python” dApp, that could be used for a jump starter for any .NET project on Rollups.

  • Ethereum Blockchain Digital Documents Singing .NET (back-end). Only signing logic. No billing/taxes for this first version.

  • Blockchain Digital Documents Signing Client ReactJS (front-end). Google centralized identity authentication and MetaMask only.

Funds request (USD) for this initial version: $42,430
Duration: ~2 months

1 Like