datdotorg / datdot-node-rust

datdot blockchain node in rust
https://playproject.io/datdot-node-rust
GNU General Public License v3.0
48 stars 9 forks source link

What is this? #12

Open bedeho opened 4 years ago

bedeho commented 4 years ago

I saw this project was part of wave 4, it seems really interesting - similar to things we have thought of building at http://github.com/joystream , but documentation is quite lacking.

What is the most complete explanation of the goal here?

jam10o-new commented 4 years ago

tl;dr the goal of datdot is to create a decentralized pinning service for dat, akin to hashbase (which is hosted centrally by a single person), but with backend logic and reliability checking handled by substrate.

This repo will (eventually) just hold a pallet or set of pallets that will let runtime devs integrate dat and dat pinning in their runtime (think "run your own filecoin") and a runtime and node implementation using the pallets.

bedeho commented 4 years ago

Yes that is what I thought, and it sounds like a great idea.

Where can we learn more about

  1. Timeline: when is an early version of this meant to be ready?
  2. Incentives:
    • What is paid for? only storage? only bandwidth? both?
    • Who pays for what? down
    • What scheme is used for ensuring honest service?
    • How is quality of service regulated, such as up/down speed, latency, etc.
  3. How is this model compared to existing decentralised storage network services? such as
    • Storj
    • Airweave
    • Sia
    • Filecoin
jam10o-new commented 4 years ago

will ping here when we have this stuff written down in a more coherent format, but currently the details are spread across a series of hackmds and recorded videocalls which aren't publicly available atm.

I'm going to dump an outline here though:

1) We plan to have an early prototype early-to-mid January. 2) You get paid for successful challenge-responses, where challenges are of random duration (to prevent seeders going online exclusively to respond to challenges), of a random chunk of a dat archive (to prevent only storing data of chunks that you know will be challenged).

Challenges are made for the content of a "parallel" archive (merkle tree where the chunks of the archive are signed versions of the chunks of the actual dat archive), and augmented by attestations of service quality made by randomly selected offchain peers (to ensure that seeders are actually participating in the Dat network, not just the challenge-response game) - these attestations contain optional latency and location data (up to the attester) and we plan to display this information in our UI so that users have a better idea of QoS they are receiving.

We also intend to allow users to designate "non-voting" attestors so they can fine-tune what information the chain collects for them - these attestors will be directly rewarded by the user requesting their attestation and not by minting new tokens.

Incentives are provided by minting tokens on successful challenge-response, and optionally users burning tokens per challenge in order to prioritize their archives being assigned to seeders. It is more akin to a ratio (think bittorrent seed/leech ratios) than a mined/staked cryptocurrency.

3) The largest difference with most existing solutions in the space is that we don't intend to build a monolithic chain, but rather provide this as a tool for individual communities and substrate chains to build their own "storage communities". We also inherit the properties of the Dat protocol (high performance dynamic datasets, in contrast to static content on ipfs if you don't use ipns, which is unreliable due to it relying on changes to propagate over a DHT). Same goes for Sia, Arweave, and Storj.

[While hypercores are append-only logs, dat archives (built on top of hypercores) are intentionally not immutable, they are public-key addressed, not content-addressed. Which is a key difference with all of the solutions you've mentioned.]

Datdot is essentially a community building and management tool for existing users of the Dat network first and foremost, and we hope by making the network more useful by making it easier to persist data, more people become involved in the community and build things on Dat.

bedeho commented 4 years ago

Thank you for this, looking forward to an update when you have more public progress, we will def. use this in our chain.

JoshOrndorff commented 4 years ago

@bedeho Tomorrow at 14:00 UTC I'll host @joshua-mir (and hopefully @serapath and @ninabreznik) on Substrate Seminar to discuss the current state and future goals of datdot this project.

ninabreznik commented 4 years ago

Oh, gosh, I wish. But we're in Vancouver so this would be 5am here. Please record it and in 2 months when we are hopefully in a better time zone, we're happy to join again 😊

On Mon, 10 Feb 2020, 06:02 Joshy Orndorff, notifications@github.com wrote:

@bedeho https://github.com/bedeho Tomorrow at 14:00 UTC I'll host @joshua-mir https://github.com/joshua-mir (and hopefully @serapath https://github.com/serapath and @ninabreznik https://github.com/ninabreznik) on Substrate Seminar https://substrate.dev/seminar to discuss the current state and future goals of datdot this project.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/playproject-io/datdot-substrate/issues/12?email_source=notifications&email_token=AAIGZSZ6UUVVFMGOUOP4RTTRCFM57A5CNFSM4J7J46EKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELITO5I#issuecomment-584136565, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIGZS72NPDFGVETKFTTXV3RCFM57ANCNFSM4J7J46EA .

ltfschoen commented 4 years ago

Thanks @JoshOrndorff I found the recording https://www.youtube.com/watch?v=EuMbE6kce-I&list=PLp0_ueXY_enXRfoaW7sTudeQH10yDvFOS&index=2&t=0s

serapath commented 4 years ago

@bedeho yeah, the video might help a bit, but we are still working in documenting and specifying everything, which is why the issue is still open and not closed.

I'm sorry it all takes a bit longer then expected, but some things turned out to be a lot less straight forward then we were initially hoping for

btw. at minute 24 in the youtube recording, @joshua-mir summarizes our approach towards making it work for everyone economically :-)

bedeho commented 4 years ago

I have already started watching, no worries, everything takes time, we are still the first eager users of this if it does what it says on the label ;)