A framework of access control in a dApp that utilizes signatures created by Lit Protocol. This allows for real-time access control to dApps, meaning that if a user has a designated role on a Discord channel, lit protocol will check the role in real-time, and grant them permission to execute the dApp.
Today we will be presenting the results of our hackathon. This time we came up with a use case for Lit's "Proof". Specifically, we can use Lit as a Verifier for ZK and as an Access Control Manager for dApp. Recently, ZK has been used in Identity-related fields, but there are still many issues to be solved in on-chain verification.
Therefore, I have developed "ZK Airdropper" as a sample program. This program proposes a mechanism to perform an Airdrop for Japanese ETHTokyo participants.
The procedure is as follows
Register your credentials in a smart contract. Match the qualification identifier to the CID of the IPFS in the Lit Actions. Make the contract executable when multiple qualifications are met. In this case, only the minimum necessary information will be disclosed to ensure privacy. Qualification can be obtained based on data on VC or web services. For example, assume that the government issues a W3C compliant VC as proof of Japanese nationality and that Holder has a YouTube video promoting ETHTokyo with over 10,000 views.
To verify these within Lit Actions, we use a ZKP-compliant BBS BLS signature for the VC and execute the Node.js code from within Lit using a library provided by MATTR. In this case, we ran Node.js within Lambda and called it from Lit Actions, but we believe that Lit's ability to import external packages will make it possible to run Lit Actions alone.
Next, we will verify the YouTube video, using the YouTube Data API to get the number of views, and the contributor can be verified by posting the wallet's signature in the description field. and implemented IP restrictions on the nodes in the Lit Actions. In this way, real-time information from non-VC web services can also be used to qualify for airdrops.
Future work could involve users generating one-time access tokens via OAuth and passing them to the Lit Node. Such a mechanism would improve security and privacy.
In summary, we proposed a use case for Lit's "Proof" feature in this hackathon and developed a sample program called ZK Airdropper.