Community zkApps Ideas (formerly snapps)

Hello, I’m Ed, freelancer web developer, interested in web3 and snapps. This concept is quite new to me, I have basic knowledge about it but I would like to find a decent tutorial in how to become snapp worker, a step-by-step tutorial would be appreciated. I have completed the node tutorial in the testnet and I would like to know how to become an snapp worker, I think this would help the community interested in snapps who have not tried it or have found it difficult.

Hey, thanks for the message Ed. Are you on the Mina Protocol Discord Channel? Definitely the best place to start learning more… lots of helpful people on there.

Here is a link
https://discord.gg/minaprotocol

1 Like

Thanks for sharing @Pete

Forgive my ignorance on this matter , but say snapps is used for some sort of KYC for an example where it proves you are who you are, if you were to do something to the extent where the police requested the KYC information from the party your proved too how would they know where the original proof of identity was taken from if they wanted to get that information?

Thanks for the question. It isn’t something I thought about tbh.

If you were arrested and wanted to prove you were somewhere as an alibi (if that’s what you mean?) I guess it would be the same as now. They could still access the GPS location data from your phone etc.

I’m not sure how bar code readers work, eg could they store a record of the query or does it just accept the proof is valid. It’s certainly an interesting concept though, proving you are innocent by using a system that doesn’t disclose your actual identity. :grinning: Could make a great episode of Quincy!

1 Like

Great analogy, however its hard to explain my thoughts, more so as i have limited advanced knowledge of snapps and how it works. So I’ll leave it at that thanks for the reply anyway i appreciate it.

I think in the future that mina can create 2 snapps for NFT unfongible,

  • 1 NFT Snapps tamper-proof identity card
  • 1 NFT security wallet for transactions

If an exchange or list wants proof of identity in the wallet without revealing people
If an exchange wants to create a priority for transactions with a security network

In the future, mina could create some sort of priority between networks 3 transaction bridges

  • 1 bridge for KYC Wallet + Security Wallet
  • 1 bridge for safety
  • 1 bridge for unknown wallet

That’s an interesting question. One of the use cases I’ve heard talked about was that you would be able to create a proof using ZK Oracles (aka web snapps) by going to an exchange that you’ve already KYC’d at and creating a proof. Defi protocols could just require a zk proof of KYC rather than having the actual info. This might help to alleviate some regulatory concerns but I don’t think the proof alone would satisfy current KYC requirements. I believe KYC requirements (in the US) would frown on a financial institution relying on a zk proof. Maybe there is some grey area here, but I suspect you are required to have on file the actual ids and documents. The long-term solution is to move away from centralized exchanges and use protocols that are open and not owned by any one. There can’t be a KYC requirement on a piece of software that runs autonomously.

3 Likes

According to an article I read today, Polygon has completed a deal with Opera browser to bring DApps over to Opera.

I wonder whether Mina Protocol could go for a similar collaboration with Firefox, Safari, Chrome, etc.

Imho, any web browser, saving their users from having to share their personal info with every web site they login by means of Mina Protocol, would get the competitive edge against others. It would literally be a game changer.

6 Likes

It is tedious to prove that you are human when browsing web, if there is an option to make a ready to use antibot plugin for websites or browser extension to prove that you are not a bot. Don’t know is it possible without external service.

As you all might know, one of the biggest problems in stock / crypto currency markets is that when a trader opens a short/long position (no matter how wrong I find that way of trading), the exchange platform they use can see all the data and those platforms never lose an opportunity to liquidate the long/short position holders.

I wonder whether Mina Protocol could come up with a use case which could theoretically keep the size and the direction of open positions hidden even from the eyes of the platforms they are executed on.

This would create a more efficient market for all and also increase the trust in the market.

Not sure if it’s possible, but how about using Mina for 2FA - 2 Factor authentication for wallet related actions. Embedding Mina as an app on the mobile wallet, binding it and use it for other wallets for e.g. transacting my ETH, protected from Account Takeover since no one is able to authenticate the transaction/login/whatever else… and this without sharing any keys. Like an Authenticator, but better.

1 Like

This tweet gave me the idea of creating a snapp to replace this kind of centralised crowdfunding platforms with decentralised ones.

Wouldn’t it be a cool app?!

2 Likes

Here is another (maybe controversial) idea for Snapp use case. A fairly simple Snapp that connects to a KYC could give a user privacy with proof of age/identity could be use to bridge a login to adult website.

What does everyone think about this idea? The idea came from this story today on the BBC website

I realise these projects are very work intensive to get going, but discussing / partnering with someone like these https://saferinternet.org.uk/ and UK Safer Internet Centre | SWGfL (2 organisations here in the UK) could be beneficial and I am sure they would be really interested in learning more.

Love the idea, could be one of the first applications that build on zkOracles once an MVP is out. Just want to note that this will take a while – the current roadmap plans it for Q4.

2 Likes

Thanks for the feedback @gregor I wonder how this could be envisioned practically?

Can you see it as a kind of central ‘service’ that essentially website owners could plug into and use as a bridge to the verifed users KYC and then something in the users browser could verify their KYC in the background so the user could interact with the website seamlessy?

IE, a user verifies themselves with the KYC ‘service’ once and then that can be used on all websites that have it enabled

Or would it need a more direct path where users would need to verify themselves each time they go to a website directly?

Would be interested to hear your thoughts.

I think zkOracle will enable generation of an age proof using any gov ID website permissionlessly, but what requires work is to get the website to accept that the proof, which will probably require collaborations between those websites and Mina.

Thanks for the feedback @lamps do government websites have that kind of personal data available to be used in a Snapp?

I wonder whether a first step on the road to a direct link to gov ID would be to first work with established KYC providers (eg https://www.veriff.com/ / https://go.jumio.com/) and use a Mina snapp to create the proof of identity with the persons privacy guaranteed.

I think trying to negotiate collaborations with the huge number of websites could be very difficult. Maybe the ultimate solution would be a tool set that the website owners could use to plugin into their website under some kind of commons licence?

@Pete Someone has to check Mina state (if this is built with Mina) or verify the zkOracles proof directly. It seems realistic to me to develop a website plugin/library that checks some Mina state, or verifies a proof supplied by the user directly.
It also seems that there could be a convenient KYC (non-web) native app/browser extension that allows a user to create zkOracle proofs and either store them on his device, or let a proof update the state of a user-specific snapp, or let a proof update a snapp that commits to stored KYC state of many users.
Instead of a KYC-specific native app/browser extension, there could also be a general zkOracle-proof-creation native app/browser extension with something like “plugins” for specific data (e.g. age) read from specific websites (e.g. gov website).

1 Like