stacksgov / grants-program

Archive of past Stacks Foundation grant applications. Historical record of ecosystem development.
https://stacks.org/grants
141 stars 36 forks source link

Private Message #714

Closed dvlasits closed 1 year ago

dvlasits commented 2 years ago

APPLICANT

Type:                                                                        Direct Application

Email:                                                                    dvlasits@gmail.com

Discord:                                                    Redd#9525

Twitter:                                                        @DanielVlasits

Stacks Forum:           

GRANT BASICS

Grant Name:                                        Private Message

Total Budget:                              25,000

Total Duration:                 1,560

Grant Type:                                               Open Source Dev 1st time Grantees

Grant Track:                                          Cross-Chain & Off-Chain

Grant Goal:                                               Create New Technology

Grant Audience:             End Users (Consumer)

Specific Audience:         Anyone who wants to message in a fully decentralised and anonymised manner.

Grant Team:                                       dvlasits

Previous Grants:                      

Ecosystem Programs:      

GRANT MISSION, IMPACT, RISKS & REFERENCE

Grant Mission:         Project Description Our app allows for people to send messages to each other without revealing who they're talking with. We managed to provide full privacy, which is an ideal solution for users who want a general purpose messaging with full anonymity on the chain.

We facilitate it by setting up this protocol: If you want to send the message to someone, you have to know their public key. Then, you encrypt a message “I want to talk to you, talk to me at this IPNS address XXX”. Then, you wait for the receiver to decrypt your message, and once that’s done, you both move to the IPNS to continue your communication. One might wonder how that could possibly scale?- The network potentially has ~1 trillion edges. We resolved this by making everyone's public keys hash to a number between 1-1000. This way, the receiver of the messages has to attempt to decrypt only one of the 1000 arrays of messages that were sent, which cuts the time to identify a sender to a few seconds (and subsequent communication is fast, as it happens through IPFS).

Our users can use tornado.cash to also hide the topology of the graph from everyone else (without it, the only information compromised in the whole exchange is how many connections did they request).

How it's Made You start by logging in through Metamask. We then generate RSA keys and upload them onto our smart contract which function as our more general purpose public keys. We used solidity to create the smart contract and it is deployed using brownie. We have a javascript front-end that communicates with our python back-end using flask. The interaction with smart contracts is supported by brownie. When I want to communicate with an address I get their RSA public key and encrypt the message "CORRECT" alongside a link to an IPNS store with my initial message. To make sure it scales I must hash the address from 0-999 and I place the encrypted message onto that row in the smart contract. To allow for easy extension my message is stored in the form a serialised python object using pickle and stored as bytes. Whenever you want to receive you check your corresponding array in the smart contract and check to see anything decrypts with your RSA private key. In which case we store the IPNS link corresponding to that wallet. And can access that to see messages which the sender can update. IPNS allows us to have a mutable store. From then on you can communicate over IPFS and IPNS for free.

Grant Impact:               They will be able to track uptake of the messaging protocol by looking at the smart contract.

Grant Risks:                          We believe all problems have been addressed by the technical solution.

Support Link:                                     This is the link to ethglobal where we started this project and won 2 first place prizes. It also contains the GitHub Repo with the code.

GRANT ROADMAP & DELIVERABLES

MILESTONE 1:

Deliverable:                   A fully functioning MVP.

MILESTONE 2:

Deliverable:                   People capable of sending messages to anyone on an app/website.

FINAL DELIVERABLE

Deliverable:                   A fully working app/website where people can send messages

stacks-foundation commented 2 years ago

👋 @dvlasits
Thanks for your application! We will do a pre-review and let you know if we have any immediate questions. In the mean time please refer to our review schedule here for a detailed timeline and response dates.
Best, Will

Albert-Present commented 1 year ago

Hi There!

Can you DM me? My twitter is @btc_albert

I'd like to have a quick chat with you about the potential of your product as well as how it will leverage and integrate with the Stacks blockchain.

Thanks,

Albert CEO of Stacks Web3 Startup Lab No-nonsense bootcamp for entrepreneurs: Go from ideation to investment ready startup.

Website: www.web3startuplab.io Apply to our program: https://www.f6s.com/web3-startup-lab/apply

dvlasits commented 1 year ago

Hi Albert,

It doesn't look like I can dm you on twitter. Could you try messaging me @DanielVlasits.

Regards, Daniel

MarvinJanssen commented 1 year ago

Does it make sense to work together with #729?

will-corcoran commented 1 year ago

Hello @dvlasits

Thank you for the application and for your patience with the grant review process. We did a thorough review of all of the applications (each application received an average of 6 reviews from members of the Grants Review Committee).  However, after much consideration, we decided not to fund any of the Cohort 19 grant applications as we did not feel they aligned with critical priorities core to the development of the Stacks blockchain.  

We invite you to please read this blog post we authored to help elaborate on the reasoning behind this decision and clarify the current mission of the Grants Program.

Thanks in advance, Will Stacks Foundation Grants Program Manager