[HN Gopher] Dat: A P2P hypermedia protocol with public-key-addre...
       ___________________________________________________________________
        
       Dat: A P2P hypermedia protocol with public-key-addressed file
       archives
        
       Author : pcr910303
       Score  : 63 points
       Date   : 2020-04-18 18:36 UTC (4 hours ago)
        
 (HTM) web link (www.datprotocol.com)
 (TXT) w3m dump (www.datprotocol.com)
        
       | dangoor wrote:
       | Can Dat really be described as a "new" protocol 3 years in?
        
         | api wrote:
         | Yes, as it's still under heavy development and has not yet seen
         | heavy usage.
         | 
         | This mentality that things either flip instantly to mass
         | adoption or are "old" needs to die. All the easy stuff that can
         | be done in 6-12 months has already been done. Anything worth
         | doing today is going to take a minimum of 1-2 years of R&D
         | unless it's nothing more than a packaging and polish/branding
         | of something already in existence.
        
           | dangoor wrote:
           | > This mentality that things either flip instantly to mass
           | adoption or are "old" needs to die.
           | 
           | That's honestly not where I'm coming from, though. I think
           | Dat is a cool project and I've been aware of it from, likely,
           | close to the beginning. The scale between "new" and "old" is
           | not binary, nor is it necessarily related to "mass adoption".
           | There are people who still treat React as though it's "the
           | new hotness", despite the fact that it's been out for 6 years
           | and is widely adopted.
           | 
           | I'll grant that different people will have different
           | thresholds for what they see as "new". I just personally
           | think Dat has gone beyond "new" and is in a phase of
           | maturation. It's even got a browser with deep support!
        
         | dang wrote:
         | We can take 'new' out of the title above, though I'm reminded
         | of a second-hand clothing store in my home town which used to
         | be called "New 2 You".
        
           | dangoor wrote:
           | Yeah, thanks! I'm totally on board with this link being here
           | and would love for more people to learn about Dat.
        
       | Already__Taken wrote:
       | Wouldn't a protocol like this be a killer feature in the next
       | package manager to solve problems npm had? Then you've just got a
       | discoverability issue without the whole infrastructure headache
       | on top to maintain.
        
       | rzzzt wrote:
       | "How Dat Works" linked from the page is still a great
       | visualization of all the bits that make up the protocol:
       | 
       | - https://datprotocol.github.io/how-dat-works/
       | 
       | - https://news.ycombinator.com/item?id=20363813
        
         | dang wrote:
         | Also https://news.ycombinator.com/item?id=20811936, a related
         | project from 2019.
        
       | JakeAl wrote:
       | Kind of stagnant, but I liked the IDEA of what was being done
       | with the Beaker Browser using the DAT protocol to run a self-
       | hosted P2P web. I just wish someone would take the project to
       | completion/usability. It would really disrupt things.
       | https://beakerbrowser.com
        
         | Taek wrote:
         | Skynet is a new protocol that has been working on something
         | like this. You can see some of the webapps built on Skynet
         | here:
         | https://skynethub.io/_B19P18DEI4Y_37wg6yXtfulEq2U8AcIO_lWM7s...
         | 
         | Main project website: https://siasky.net
        
           | koeng wrote:
           | Is there anyway to pin skynet files using storage rather than
           | Sia, or a way to download skynet files using the command line
           | (independent of a curl request from a portal)?
        
           | karissa wrote:
           | I don't see a github repository or any link to the open
           | source code there. Is it open source?
        
             | soupbowl wrote:
             | I found this on their website:
             | https://github.com/NebulousLabs/skynet-webportal
        
         | __ka wrote:
         | The Cliqz browser implements the Dat protocol. Here's a writeup
         | on the implementation:
         | https://0x65.dev/blog/2020-03-02/implementing-the-dat-protoc...
         | 
         | Disclosure: I work at Cliqz.
        
         | karissa wrote:
         | They are working on a new version, it's almost done. It's going
         | to be a lot better!
         | https://github.com/beakerbrowser/beaker/pull/1435
        
         | pfraze wrote:
         | We decided to take a year to go heads down and rework a lot of
         | stuff, so we did get publicly stagnant but we're fulltime on
         | the next version and should release a public beta soon. I tweet
         | a lot about our progress if you can sort through my sillier
         | tweets (@pfrazee).
         | 
         | Past year has had a lot of improvements
         | 
         | - Protocol moved to a hole-punching DHT for peer discovery
         | (hyperswarm).
         | 
         | - Protocol now scales # of writes and # of files much better.
         | We were able to put a Wikipedia export, which is millions of
         | files in 2 flat dirs, into a single "drive" and get good read
         | performance. This performance bump came from an indexing
         | structure that's built into every log entry (hypertrie).
         | 
         | - Protocol now supports "mounting" which is a way to basically
         | symlink drives onto each other. Good composition tool, esp
         | useful for mounting deps in a /vendor directory.
         | 
         | - Browser now has a builtin editor that splits the screen for
         | live editing. Feels similar to hackmd.
         | 
         | - Browser added a bash-like terminal for working with the
         | protocol's filespace. It's glued to the current page so you can
         | drive around the web using `cd`.
         | 
         | - Browser added a basic identity system. Every user has a
         | profile site that's created automatically and maintains an
         | address book of other users.
         | 
         | - We built out application tooling a fair amount. It's fairly
         | easy to build multi-user apps now, where previously it was a
         | bit of rocket surgery.
         | 
         | Some of the year was spent prototyping ideas and throwing them
         | away as well. A bit inefficient, but helped us learn.
        
           | koeng wrote:
           | I've been thinking of deploying dat for Nanopore DNA
           | sequencing, but recall something about dat not being great at
           | handling that kind of data.
           | 
           | Does the newest version of dat handle large files well
           | (10gb)? Does it handle tons of files nested in a few
           | directories well? Are there any issues I should know about
           | there?
           | 
           | What is the command line support like for multi-writer?
           | 
           | Do you have any metrics for how much Dat is currently being
           | used?
           | 
           | Thanks!
        
             | pfraze wrote:
             | > Does the newest version of dat handle large files well
             | (10gb)?
             | 
             | Large files work fine but currently any change to a file
             | rewrites it in its entirety. That will mean history will be
             | large until the GC kicks in, and any file that's modified
             | has to be redownloaded in its entirety.
             | 
             | The team spent a fair amount of time looking at a solution
             | to partial file-updates which works like inodes. They
             | ultimately decided it was too difficult to pull off for
             | now.
             | 
             | > Does it handle tons of files nested in a few directories
             | well?
             | 
             | Yep, no issues there
             | 
             | > What is the command line support like for multi-writer?
             | 
             | We're still deciding on how to handle multi-writer. It's a
             | priority for us after the upcoming stable release.
             | 
             | > Do you have any metrics for how much Dat is currently
             | being used?
             | 
             | Nothing concrete atm. If I had to guess, it'd be no more
             | than 1k.
        
               | karissa wrote:
               | > Does the newest version of dat handle large files well
               | (10gb)?
               | 
               | I'd be curious if anyone wanted to try it ;) https://gith
               | ub.com/mafintosh/hyperdrive/blob/master/index.js...
               | 
               | > What is the command line support like for multi-writer?
               | 
               | There is an experimental multiwriter CLI using hyperdrive
               | and kappa-db (github.com/kappa-db)
               | 
               | https://cobox.cloud
        
           | grng3r wrote:
           | I've been reading about dat and doing some basic projects for
           | about a year in my spare time, stagnating a bit lately as am
           | finishing my degree. As I remember there was some talk about
           | Python and Rust implementations at the time, is that still
           | under development as well? I am not as enthusiastic with Js
           | but really like the protocol and the idea behind it....
           | Thanks
        
             | pfraze wrote:
             | Yeah I do know there's a Rust impl that people are working
             | on
        
         | anchpop wrote:
         | You say you like the idea, do you have a problem with the
         | implementation?
        
       | rasengan0 wrote:
       | i swung and missed :-(
       | https://github.com/datproject/dat/issues/1008
        
       | karissa wrote:
       | Here are all the projects that are using components from the dat
       | team over the years: https://dat.foundation/explore/projects/
       | 
       | and https://cobox.cloud/
        
       | rapnie wrote:
       | Nice. Aral Balkan of small-tech.org is having plans with Dat for
       | Tincan and Site.js:
       | 
       | https://small-tech.org/research-and-development/
        
       ___________________________________________________________________
       (page generated 2020-04-18 23:00 UTC)