Skip to content
P2PDB: A Secure, Scalable, Decentralized Data Sharing and Management Platform
Jupyter Notebook Python Shell Java Go Smarty
Branch: develop
Clone or download


Build Status Join the chat at CLA assistant Go Report Card Conventional Commits License

Peer-to-Peer Database (P2PDB) is a secure, scalable, decentralized data sharing and management platform for data publishing, sharing, and querying of data which enables an unlimited number of independent participants to publish and access the contents of datasets stored across the participants.

P2PDB consists of five core components: Client, Publisher, Coordinator, Contractor and Blockchain.

  • Client
    • Produce static or continuous SQL queries and consume the results.
  • Publisher
    • Produce and ship its structure data to contractors for storage and queryable access, and receive a reward every time the data that they contributed participates in a query result.
  • Coordinator
    • Receive SQL queries, parse, plan, optimize and coordinate their parallel execution across potentially many contractors.
  • Contractor
    • Provide an interface to locally stored data for queries sent from coordinators.
  • Blockchain
    • Maintain the configuration and bookkeeping info of the global state of system.


[1] It's time to rethink how we share data on the Web. Daniel Abadi. In DBMS Musings. December 18, 2019.

[2] AnyLog: a Grand Unification of the Internet of Things. Daniel Abadi, Owen Arden, Faisal Nawab and Moshe Shadmon. CIDR'2020


If you wish to make contributions to this project, please refer to Contributor Instructions for more information.

If you have some IoT data you can contribute our research prototype, please contact us by coming@soon. This email is only accessible by P2PDB's executive team and board members.


P2PDB resources in this repository are released under the Apache License 2.0

You can’t perform that action at this time.