Try it now: The Village Protocol
Village is a fully decentralized peer-to-peer app store and network living inside a mesh of web browsers. Developers, distributors and protocol maintainers make Bitcoin for scaling the protocol. After joining the network and connect to peers, all the content in the web page is served by peers. Servers are not used except to facilitate the network discovery and enable revenue distribution. This codebase can be downloaded and run on any computer - it's really just an HTML file.
There are three ways to make money with Village. Payouts are made exclusively in Bitcoin over the Lightning protocol.
- Become a distributor. Anyone can be an distributor. Distributors help quality apps gain exposure. Simply keeping a browser tab open makes all applications that the distributor has purchased available for purchase to others. Each time a purchase is made through a distributor, they get a percentage of fees according to the fee structure.
- Develop an application. Application developers make money by making applications available for purchase. Each time the application is purchased, even if the developer is offline, the developer will get paid according to the fee structure.
- Improve the Village Protocol. The protocol has unlimited room for improvement. Protocol developers will be rewarded for every sale on the network. The percentage of maintenance fees received will be proposed as part of the change request. The merge will be approved or denied by maintainers. Maintainers are those who have had code merged into the protocol. Only maintainers can vote on merge approvals as they will be diluting their share of the total maintenance fee by allowing the merge.
Village is an open source project. The project is built and maintained by proposing code changes. When an improvement is proposed, maintainers decide whether it should be included or rejected. This allows Village to continue improving. Have an idea to improve Village? Code it up and submit a change request!
You can start coding Village apps today with just simple Javascript. The tpps are bundled as single page HTML apps that include all assets.
A React.JS single page bundler is provided here. Simply npm run build
then publish an
app with the contents of build/index.html
as the source.
Village data is stored in the web browser's data stores. When new data enters the network, it is shared and replicated amongst peers as backup.
- Decentralization
- Merit over status
- Censorship resistance
- Freedom of choice
Income will be distributed amongst contributors to incentivize scalable growth of the network. Earnings from app sales are distributed as follows:
- 70% Developer: The publisher of the application.
- 10% Distributor: The node the app was purchased from.
- 20% Village Protocol maintainers: Those that build and maintain this code base.
Each pull request will propose a percentage to take from future revenues.The percentage will be negotiated with past reviewers. PR voting rights will be awarded to past contributors.
The Village Protocol is just an HTML file. Being frontend-only allows for decentralization: the folder can be dropped on any server or localhost and connect to the network.
The Village Protocol works by creating a mesh of WebRTC peers. Initial connection is facilitated by public MQTT services. For further decentralization the connection strings can be exchanged via any messaging network or even manually via copy and paste. After the initial connection, new peers are discovered in P2P fashion over WebRTC.
Apps run in iFrame sandboxes. Apps interface with the Village Protocol via an API.
App paywalls and payout distributions are facilitated by LNBits. Once Bolt12 is ready The Village Protocol payouts can be further decentralized.
To run Village locally simply install an http server and serve the local index.html
:
$ npm install --global http-server
$ http-server -c-1 -p 8000 .
The Village Protocol is released under the terms of the MIT license. See https://opensource.org/licenses/MIT.