project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

Decenteralised PGP attestation

A decentralized system for storing and attesting PGP keys. Each key has a trust score reflecting its credibility. Users can add their own keys, endorse others, or challenge dubious attestations. Ensuring a more transparent and tamper-resistant way of managing digital trust.

Decenteralised PGP attestation

Created At

Superhack

Project Description

Decentralized PGP Key Server Overview: The PGPKeyServer project is a decentralized platform for managing and attesting PGP keys. It provides an immutable, transparent, and tamper-resistant infrastructure for PGP key management.

Key Features:

  1. PGP Key Management: Addition of PGP Keys: Users can add their PGP keys into the system. The system calculates a unique fingerprint for each key using the keccak256 hashing algorithm. Removal of PGP Keys: Key owners can seamlessly remove their PGP keys. This ensures that users have complete control over their digital presence.
  2. Trust Scoring System: Attestation: A powerful feature where users can vouch for the authenticity of another user's PGP key. This adds to the key's trustScore, enhancing its credibility within the network. Challenges: To ensure that no malicious or incorrect attestations go unchecked, users can challenge an attestation if they believe it's fraudulent. If the challenge is valid, the system decrements the trustScore of the key. Manual Trust Score Refinement: There's also a provision for manually refining a key's trust score.
  3. Ethereum Attestations: This system isn't limited to just PGP attestations. It also integrates Ethereum-based attestations where the attestor can sign a message or hash. This signature is then verified using Ethereum's ecrecover function to ensure its authenticity.

Backend Script: generate-pgp-keys.js The generate-pgp-keys.js script helps create secure PGP keys using the OpenPGP.js library, outputting a paired set of private and public keys for users.

How it's Made

How it's Made: Decentralized PGP Key Server Technologies Used: OpenPGP.js: A JavaScript library used in the backend script, generate-pgp-keys.js, to generate PGP key pairs. It's used for PGP operations and offers a secure way to create keys. Solidity

Integration and Workflow: Smart Contract Deployment: The PGPKeyServer contract is deployed onto the Optimism Goerli and Base Goerli.

Backend Script Execution: Users can run the generate-pgp-keys.js script to obtain PGP keys. This script communicates with the OpenPGP.js library to create secure PGP key pairs.

Key Operations: Once users have their PGP keys, they can interact with the PGPKeyServer contract to add, attest, or challenge PGP keys. Each of these operations involves sending transactions to the contract's address, which then modifies the blockchain's state accordingly.

Trust Mechanism: The trust score system, managed via attestations and challenges, ensures that the PGP keys in the system gain credibility based on community validations.

background image mobile

Join the mailing list

Get the latest news and updates