A Decentralized Blockchain-based Public Key Infrastructure built on top of Hyperledger Fabric.
This repository is organized into these main components:
/chaincodeContains the Go-based Fabric smart contracts. It handles decentralized CA logic, member join requests, voting mechanics (approval limits), and key management on the ledger./peer-appThe off-chain Go application running the TSS nodes. This application interfaces with the Fabric and coordinates distributed key generation (DKG) and signing with other peer nodes. It also holds thebenchmarks/directory containing scripts for measurement and the captured runs contained in the thesis./deploymentContains generator scripts,docker-composeand artifacts to automatically provide crypto-materials, deploy the Fabric network, install the chaincode, and bootstrap the TSS peers. (See the README here for detailed setup and execution steps)./explorerConfiguration and deployment files for Hyperledger Explorer to provide a dashboard for monitoring blocks, transactions, and chaincode executions on the deployed blockchain./documentationDocumentation related to the masters thesis including an excel file for proposal comparison, bibtex files that were generated during the research process and the final presentation.
To start the network, install the components, and run the system, refer to the guide in the deployment folder: Deployment Instructions & Network Setup
To get information about the testing process and the measurement scripts and results themselves, refer to the guide in the benchmarking folder: Benchmarks
The system structure is described in the thesis, the individual functions have docstrings with an additional autogenerated callmap through go. These are written before each function and in a callmap Chaincode; Runtime