Project Background#
- With the development of DAO mechanisms, a long-standing community needs to generate and continuously change its rules, and the demand for community governance by community members is increasing. However, there are some problems with traditional blockchain governance communities: the addresses of public chains can be blocked by firewalls; blockchain needs to handle conflicts, resulting in slower speeds; configuring blockchain steps is cumbersome and unfriendly to "non-technical" personnel, and so on.
- gov4git originated from the Plurality Book project. The project was conceived in October 2022 with the aim of collaboratively writing a book on digital democracy technology using the expertise of contributors from multiple countries/regions. Contributors are expected to come from all over the world, with a large scale and diverse participation identities, including research, translation, proofreading, typesetting, etc. Therefore, a flexible and secure governance solution is required, which is practical, low-cost, fast iteration, and easy to deploy.
gov4git - Decentralized Application Built on Git#
- To enable users to have a communication method that is both minimal in infrastructure resources and secure, verifiable, efficient, and fast, there is no perfect solution, but rather different trade-offs.
- The team has proposed a new way in community management of distributed application architecture - gov4git, which enhances the diversity, availability, and persistence of services at the cost of latency perceived by users.
- gov4git is a Dapp built on Git, supported by an underlying framework called the gov framework, which solves the problem of decentralization and is faster and easier to deploy compared to blockchain.
- gov4git requires multiple roles, such as contributors, organizers, and even organizations themselves, to communicate. For example, contributors can vote on the management of the organization; the organization can send notifications to contributors regarding voting; or one contributor can communicate with another contributor through encrypted communication.
- Depending on Git as the backend of the application significantly reduces the threshold for individuals to deploy applications. Git hosting is ubiquitous worldwide and can even be privately deployed without relying on large cloud service platforms such as Amazon. In addition, Git's mature ecosystem helps developers with development, debugging, or reviewing tasks.
gov Framework - A Special Community Governance Blockchain Based on Git#
- Traditional blockchains, such as Ethereum, are designed to serve multiple applications. As user requests are consistent across different miners, they can lead to conflicting changes in state (i.e., transactions). To address this issue, blockchains need conflict resolution mechanisms that do not care about the content semantics of underlying applications or user requests, thus greatly increasing the cost of blockchains.
- However, in the case of community governance, the blockchain only serves a single application, and due to the determinism of gov4git's content, all miners will calculate the same changes. This key difference led the team to design a blockchain architecture for governance that can bypass expensive conflict resolution operations while retaining all the security enjoyed by traditional blockchains. Moreover, due to the small size of this framework, this community governance blockchain can be deployed on inexpensive hardware or pre-existing Git hosting systems, even without connecting to the global internet.
Technical Overview#
- The gov blockchain consists of a group of miners. Each miner maintains a replica of the blockchain, which stores the state of the application. The state of the application specifies the current set of participating miners. When a user request reaches a miner, the miner uses reliable Byzantine broadcast to share all unprocessed user requests. Once all miners reliably agree on the sum of all user requests within a time period, each miner independently calculates the state changes by calling the application and providing all user requests.
Current Development Status:#
gov4git currently includes the following features:
- Community member identity system
- Community user and group management
- Work prioritization based on second-round voting (e.g., issues or pull requests)
- Homogeneous and non-homogeneous currencies (such as voting points and badges) and services (such as transfers) within the community
Future Development Plans:#
- Application frontend interface for voting
- Protocol framework improvements: local disk caching; enhanced security
- Verifiable change arbitration and approval
- QV mechanism research