Skip to content
This repository has been archived by the owner on Nov 7, 2024. It is now read-only.
/ zero-mvp Public archive

this is a proof of concept for testing out verifiable credentials through notarisation. built for the aligned layer hackathon

License

Notifications You must be signed in to change notification settings

0xZeroLabs/zero-mvp

Repository files navigation

0xzero.org

ZERO MVP

Rust CI

Welcome to the base of all of our code. Feel free to look around.

What are we building?

ZERO Protocol, a privacy preserving decentralised identity protocol that aims to enable complete data self-sovereignty. The OMID (omni-identity) Wallet, an application that enables users interact with the ZERO Protocol.

The aim of this prototype is to test out our concept of verifiable credentials through trusted notaries (notarized credentials).

With regular verifiable credentials, the issuer is required to set up a system to enable them sign the data authencity in order to enable provenance. This ensures that when a user selectively discloses their identity data (e.g., through zkps), we can be rest assured that the data is untampered.

0xzero.org

This however, creates a noticeable issue with current identity solutions. Lack of industry adoption. Issuers don't care about providing

After months of research, we decided to take a different approach. One we think is more optimal—trusted notaries. Our choice for a notary platform was TLSN—due to time constraints, we couldn't make any necessary changes for our system. TLSN uses the same technology behind what is commonly known as zkTLS (web proofs).

0xzero.org

With VCs rely on the issuer to sign the data's authenticity, NCs however, only requires a secure third party (notary). This reduces the barrier to entry for issuers as they are no longer required to adopt any new system. We also hope to create an open identity ecosystem, where almost any credential data that is privately accessible to users can be put in their possession using a schema based system that anyone can participate in writing.

With our protocol, there'll be no data silos for verifiers, no barrier to entry for issuers!

What's inside?

A Turborepo which includes the following packages/apps:

Apps and Packages

  • @0xzerolabs/wallet: For this prototype, we built a simple iteration of the wallet with Plasmo, designed to be self-custodial. It requires seed phrase/private keys importation.
  • @0xzerolabs/sbt: A Nitro server that currently makes commitments on-chain. It includes a Solidity and Foundry soulbound token smart contract. Minting, deleting, and fetching are all currently permissionless. However updating/creating credentials is permissioned by an operator to verify credentials before writing commitments on-chain. Eventually, we hope to make onchain commitments permissioned by a commitee of trusted notaries.
  • @0xzerolabs/session:
  • @0xzerolabs/ui: a stub component library shared by all the applications
  • @0xzerolabs/eslint-config: eslint configurations (includes eslint-config-next and eslint-config-prettier)

Not all of the package/app is 100% TypeScript.

Utilities

This Turborepo has some additional tools already setup:

Build

To build all apps and packages, run the following command:

cd zero-mvp
pnpm build

Develop

To develop all apps and packages, run the following command:

cd zero-mvp
pnpm dev

Remote Caching

Turborepo can use a technique known as Remote Caching to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.

By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can create one, then enter the following commands:

cd zero-mvp
npx turbo login

This will authenticate the Turborepo CLI with your Vercel account.

Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo:

npx turbo link

Useful Links

Learn more about the power of Turborepo:

About

this is a proof of concept for testing out verifiable credentials through notarisation. built for the aligned layer hackathon

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published