Decentralized and privacy-first git infrastructure over IPFS for hosting, Semaphore for on-chain access control, and Bacalhau for continuous integration
degit is a decentralized and anonymous infrastructure for git, leveraging IPFS for hosting and Semaphore for on-chain access control. Its key purposes are:
Anonymous Software Development: It allows developers to contribute to projects anonymously, protecting their identities and fostering freedom of expression and collaboration without fear of personal repercussions.
Self-hosted and Censorship Resistant: Being decentralized and self-hosted, degit is resistant to censorship and deplatforming, ensuring that the codebase and contributions remain accessible even if central servers are compromised or taken down.
Collaborative Applications Beyond Code: degit extends the utility of Git to collaborative applications such as wiki moderation and archive curation. By leveraging its decentralized nature, it allows for a more democratic and resilient approach to managing and curating shared information and resources.
degit encapsulates a vision of a more secure, private, and collaborative future in software development and digital content management. It's a testament to the potential of decentralized technologies in creating tools that empower users and protect their rights in the digital domain.
In essence, degit is designed to be a comprehensive solution for decentralized development, combining the familiarity of Git with the power of blockchain, IPFS, ZK proofs, and distributed computation networks. Its goal is to offer developers a viable alternative to centralized hosting platforms, equipped with all necessary tools and interfaces for modern software development.
Git Integration with Git-Remote-IPLD Plugin: At its foundation, degit wraps the conventional Git system, enhancing it with the git-remote-ipld plugin. This integration allows Git to interact seamlessly with IPFS, enabling decentralized storage of repositories. The plugin maintains Git’s core functionality while extending its capabilities to support decentralized data storage, ensuring that users can leverage the benefits of IPFS without compromising on Git's familiar workflow.
IPFS for Decentralized Hosting: IPFS plays a critical role in degit by hosting the repositories. Its integration goes beyond mere storage; degit streamlines IPFS node management, simplifying interactions for developers. Additionally, it enhances discovery mechanisms, allowing users to locate and connect with nodes hosting specific repositories. This decentralized model ensures high data availability and resistance to censorship, key factors for resilient software development.
Ethereum for Repository Indexing: Ethereum blockchain technology is utilized for indexing repositories in degit. It effectively tracks and points to the latest commit hash of each repository branch, linking back to their respective IPLD on IPFS. This integration brings the benefits of blockchain's immutability and reliability to repository management, ensuring a secure and verifiable record of code changes and updates.
Semaphore for Anonymous Access Control: degit incorporates Semaphore for access control, maintaining user anonymity and security. It uses the Bandada platform as an interface, which allows users to manage access rights and permissions in a secure, anonymous manner. Notably, we also remove authorship information from Git commits. This feature is pivotal in protecting developer identities, especially in scenarios where privacy and confidentiality are paramount.
Bacalhau for CI Tasks: For continuous integration (CI) tasks, degit taps into Bacalhau, a distributed computing platform. This integration allows cegit to offload CI tasks to a distributed network, harnessing the power of decentralized computing. This setup not only provides scalability but also adds an extra layer of resilience and efficiency to the development pipeline.
This integration of technologies ensures that degit is not just a version control system but a complete ecosystem for secure, efficient, and collaborative software development in a decentralized world.