Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

P2PDB: A Peer-to-Peer Structured Data Trading System

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

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


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