|
On-Chain Audit Provenance Layer. Making protocol evolution and audit integrity cryptographically verifiable on Ethereum.
Sepolia Contract:
0x8166...bdae0 ↗
|
- 🇺🇸 English Version → scroll to "# 🇺🇸 English Version"
- 🇧🇷 Versão Português → scroll to "# 🇧🇷 Versão Português"
Provenance Registry is a blockchain-based audit provenance system that makes protocol evolution and audit integrity cryptographically verifiable and publicly auditable on Ethereum.
Web3 audit systems are fragmented:
- Off-chain audit storage
- No immutable link between audit and protocol evolution
- No verifiable provenance history
- Centralized trust assumptions
Provenance Registry introduces a fully on-chain provenance layer:
- Immutable protocol registration
- Versioned audit tracking
- Cryptographic verification via hashing
- Public transparency via Ethereum
flowchart TD
A[User] --> B[MetaMask Wallet]
B --> C[React Frontend]
C --> D[Ethers.js v6]
D --> E[Smart Contract - Sepolia]
E --> F[(Blockchain State)]
C --> G[PDF Hashing Layer]
G --> E
E --> C
ProtocolProvenanceRegistry.sol
Core capabilities:
- Protocol registration
- Version tracking
- Auditor attribution
- Audit hash storage (keccak256)
- Commit hash tracking
- Timestamped records
- onlyOwner access control
- Event emission for indexing
Read functions:
- getProtocolHistory(address)
- getLatestRecord(address)
- getRecordCount(address)
- Network: Ethereum Sepolia
- Contract Address:
0x8166431404B7f8e5e9d351333e08548a23Bbdae0
- Fully verifiable on Etherscan / Blockscout
- Real gas-based execution enabled
Stack: React + TypeScript + Vite + TailwindCSS + Framer Motion + Ethers v6
Pages:
- Home
- Register
- Explorer
- Verify
Modules:
- contract.ts → Contract abstraction
- web3.ts → Provider + signer
- WalletProvider.tsx → Wallet state
- hashPdf.ts → Cryptographic hashing
- checkNetwork.ts → Network validation
Flow: MetaMask → Sign → Transaction → Smart Contract → Blockchain → UI Update
User → Wallet → Metadata → Blockchain Storage
PDF → Hash → On-chain Comparison → VALID / INVALID
User → Smart Contract → History → Timeline UI
- onlyOwner write restriction
- Hash-based integrity verification
- No file storage on-chain
- Fully transparent blockchain state
- Blockchain = Source of Truth
- Hashing = Integrity Layer
- Wallet = Identity Layer
- Smart Contract = Execution Layer
Smart Contract: Complete
Frontend: Complete
Web3 Integration: Complete
Testing: Complete
Sepolia Deployment: Complete
Verify System: Complete
- Connect MetaMask wallet
- Register protocol on-chain
- View transaction on Sepolia explorer
- Navigate Explorer page
- Upload audit PDF
- Verify hash integrity (VALID / INVALID)
- 🌐 Live App: https://protocol-provenance-registry.vercel.app
- 📄 Pitch Deck (Vercel): https://protocol-provenance-registry.vercel.app/pitch/slides.pdf
- 📄 Pitch Deck (GitHub Raw): https://raw.githubusercontent.com/psatomas/provenance-registry/main/frontend/public/pitch/slides.pdf
- 🎥 Video Pitch (YouTube): https://www.youtube.com/watch?v=YnaDlZ6Ywwg
- Removes trust dependency in audits
- Enables verifiable protocol evolution
- Provides public audit transparency layer
- Establishes blockchain-native audit history
Tomás Patrício da Silva Araújo
MIT
Provenance Registry é um sistema de proveniência de auditoria baseado em blockchain que torna a evolução de protocolos e auditorias verificável criptograficamente e publicamente auditável na Ethereum.
Sistemas de auditoria em Web3 são fragmentados:
- Armazenamento off-chain
- Sem ligação imutável entre auditoria e evolução do protocolo
- Histórico não verificável
- Confiança centralizada
O Provenance Registry introduz uma camada de proveniência totalmente on-chain:
- Registro imutável de protocolos
- Rastreamento versionado de auditorias
- Verificação criptográfica via hashing
- Transparência pública via Ethereum
flowchart TD
A[Usuário] --> B[MetaMask]
B --> C[Frontend React]
C --> D[Ethers.js v6]
D --> E[Smart Contract - Sepolia]
E --> F[(Blockchain)]
C --> G[Camada de Hash PDF]
G --> E
E --> C
ProtocolProvenanceRegistry.sol
Funcionalidades:
- Registro de protocolos
- Controle de versões
- Atribuição de auditor
- Hash de auditoria (keccak256)
- Hash de commit
- Timestamp
- Controle onlyOwner
- Eventos on-chain
Funções de leitura:
- getProtocolHistory(address)
- getLatestRecord(address)
- getRecordCount(address)
- Rede: Ethereum Sepolia
- Contrato:
0x8166431404B7f8e5e9d351333e08548a23Bbdae0
- Verificável em exploradores públicos
- Execução real com gas
Stack: React + TypeScript + Vite + TailwindCSS + Framer Motion + Ethers v6
Páginas:
- Home
- Register
- Explorer
- Verify
Módulos:
- contract.ts → abstração de contrato
- web3.ts → provider + signer
- WalletProvider → estado da carteira
- hashPdf.ts → hashing
- checkNetwork.ts → validação de rede
Fluxo: MetaMask → Assinatura → Transação → Smart Contract → Blockchain → UI
Registro: Usuário → Carteira → Dados → Blockchain
Verificação: PDF → Hash → Comparação → VALID / INVALID
Explorer: Usuário → Smart Contract → Histórico → Timeline
- onlyOwner para escrita
- Verificação por hash
- Sem armazenamento de arquivos sensíveis
- Estado público e auditável
- Blockchain = Verdade
- Hash = Integridade
- Carteira = Identidade
- Smart Contract = Execução
Completo em todas as camadas
- Conectar MetaMask
- Registrar protocolo
- Ver transação no explorer
- Abrir Explorer
- Enviar PDF
- Verificar integridade
- 🌐 Aplicação ao vivo: https://protocol-provenance-registry.vercel.app
- 📄 Pitch Deck (Vercel): https://protocol-provenance-registry.vercel.app/pitch/slides.pdf
- 📄 Pitch Deck (GitHub Raw): https://raw.githubusercontent.com/psatomas/provenance-registry/main/frontend/public/pitch/slides.pdf
- 🎥 Video Pitch (YouTube): https://www.youtube.com/watch?v=YnaDlZ6Ywwg
- Remove dependência de confiança centralizada
- Torna auditorias verificáveis
- Cria histórico público de protocolos
- Estabelece camada de auditoria on-chain
Tomás Patrício da Silva Araújo
MIT






