Skip to content

umd-dslam/P2PDB

Repository files navigation

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

Build Status Join the chat at https://gitter.im/DSLAM-UMD/P2PDB 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.

Publication

[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

Contributing

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 gangliao@cs.umd.edu.

License

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