#dat

/

      • prettymuchbryce
        What prevents a node in the network from intercepting discovery keys, and then rebroadcasting them to look for the data? Is there some handshake that happens where the requesting peer has to prove they have/know the public key? Does this happen in hypercore?
      • dat-gitter
        (matrixbot) `icarito` y-js is pretty cool
      • (matrixbot) `icarito` Jappy IDE has a y-js websocket implementation for collaborative writing
      • (matrixbot) `icarito` *Jappy IDE is my web IDE project that I work on
      • (matrixbot) `icarito` *mostly transpiled python web ide for teaching children to program
      • (matrixbot) `icarito` I'm working on adding some support for saving projects as DAT files
      • (matrixbot) `icarito` i mean dat archives
      • (matrixbot) `icarito` I look forward to adding collaborative text editing features over dat
      • notrhodey
        prettymuchbryce: I'm pretty sure the discovery key is a hash of the dat archive public key, and you prbly need to prove knowledge of the public key after some crypto-handshake. the dat whitepaper is really great and concise.
      • dat-gitter
        (RangerMauve) prettymuchbryce: the dat url is used for encrypting the connection to peers. So if they're broadcasting but don't have the original url, they won't be able to talk to incoming connections.
      • prettymuchbryce
        @notrhodey The paper does not mention this detail unfortunately, unless I have somehow completely missed it.
      • @RangerMuave Ah ok. Interesting. Thanks for that information.
      • RangerMauve* (Sorry I got your name wrong. :P)
      • dat-gitter
        (RangerMauve) Its a pretty cool property of the network. Its one of the reasons it's got me so excited. The discovery mechanism is still vulnerable to what's called a Sybil attack where a person can block a resource by creating a huge number of fake advertisements which means real peers become hard to find and make the data unavailable
      • technil joined the channel
      • prettymuchbryce
        Yes I am aware of Sybil attacks. The possibility is present in many peer-to-peer networks.
      • I'm trying to learn more about how peers find and connect with each other in DAT at the implementation level so I have been digging through hypercore, bittorrent-dht, hypercore-protocol.
      • dat-gitter
        (RangerMauve) I think the difference here relative to Bittorrent is that a person can fork a day and suddenly whatever files are in it are available again. The separation of content from advertising prevent efficient reuse of data, but I think it will be useful to circumvent Sybil attacks.
      • prettymuchbryce
        I understand what you mean. It also enables better privacy in the network.
      • It's interesting because in IPFS people have created search engines by writing a server which sits in the DHT and listens for requests in order to build metadata about different pieces of content, but it seems this is not possible with dat.
      • dat-gitter
        (RangerMauve) Yeah, with Dat you pretty much have to rely on crawlers. Which I think is a good thing, honestly.
      • prettymuchbryce
        Yes it's definitely a good thing.
      • Are you building something on top of dat?
      • notrhodey
        prettymuchbryce: you can find some more details about peer discovery in the npm module 'hyper-discovery', this is used under-the-hood by dat. https://www.npmjs.com/package/hyperdiscovery
      • oops, drop the '-'
      • dat-gitter
        (RangerMauve) prettymuchbryce: At the moment I'm working on getting the APIs in the Beaker Browser to work in other browsers by building a "dat-polyfill" and working with the Bunsen Browser folks to get stuff working on Android (and then iOS).
      • (RangerMauve) Other than that I'm sketching out my ideas for an encrypted and p2p messaging app.
      • khubo joined the channel
      • prettymuchbryce
        @notrhodey Yeah I have been digging through these modules. hyper-discovery is relatively small. It seems most of the logic lives in discovery-swarm, discovery-channel, bittorrent-dht. I'm trying to learn more about the responsibility of each module. There are quite a few. :)
      • notrhodey
        prettymuchbryce: sweet, sounds like you're on the right path!
      • prettymuchbryce
        @RangerMauve Very interesting. How will the polyfill work? Will you use a browser extension?
      • A browser-based p2p messaging app would be great as well.
      • dat-gitter
        (RangerMauve) prettymuchbryce: You start a gateway (or use a public one) that lets you sync hypercores over WS and load Dat files in the browser with HTTP. https://github.com/RangerMauve/dat-gateway Then the DatArchive API is implemented over that, and optionally you can have a parent iframe that stores dat data between multiple origins. https://github.com/RangerMauve/dat-polyfill
      • (RangerMauve) There's the `dat-fox` extension that takes a different approch for Firefox
      • (RangerMauve) My goal is to make use of gateways to at least give casual users access to the network, then have a path forward to have them install local gateways for added privacy, and push browsers to give us better APIs to eventually have this as a PWA, or get evrything within a single WebExtension.
      • tyrannus joined the channel
      • (RangerMauve) Basically, I want to make this technology available to as many people as possible through the simplest means possible. :P
      • jhand
        prettymuchbryce: if something is missing in whitepaper, check out DEPs too. We're getting more methodical about the specs in that repo: https://github.com/datprotocol/DEPs
      • check open PRs too, e.g. the discovery one https://github.com/datprotocol/DEPs/pull/7
      • technil has quit
      • prettymuchbryce
        @jhand Ah. Someone told me to check these DEPs out once and I completely spaced it. This is super helpful. Thanks.
      • @RangerMauve I understand the gateway. So anyone could start their own gateway and host it which would allow users on the normal web to access the dat network through the gateway proxy. Makes sense. I don't think I understand the polyfill piece, though.
      • dat-gitter
        (RangerMauve) prettymuchbryce: Basically, it implements the DatArchive API from Beaker and lets you create new dats and read existing ones with JS.
      • (RangerMauve) The gateway will inject it into served pages so that apps targeting Beaker will Just Work (tm)
      • prettymuchbryce
        Ah I understand now!
      • Very cool. Will you start your own public gateway when it is finished?
      • dat-gitter
        (RangerMauve) prettymuchbryce: I already have one running on http://gateway.mauve.moe:3000 but it's just for testing (hence the lack of HTTPS)
      • (RangerMauve) There's already been a bunch of gateways made, but their main problems are that 1) They serve from the same domain so absolute `/` urls break, 2) They don't support the Dat Archive API
      • prettymuchbryce
        Nice! I'll be sure to keep an eye on this project.
      • dat-gitter
        (RangerMauve) I want to enable my non technical friends to use it by the end of the month so I can get my office to do a hackathon
      • todrobbins joined the channel
      • notrhodey
        can someone help me understand the difference between the key you import using `dat keys import` and the keys sitting in `~/.dat/secret_keys`? I created an archive on HostA, then cloned it on HostB, then deleted it on HostA, then cloned it on HostA, and now the archive is not writable from HostA even though I never touched my `~/.dat/secret_keys` directory.
      • tyrannus has quit
      • tyrannus joined the channel
      • millette has quit
      • millette joined the channel
      • tyrannus has quit
      • kernkern joined the channel
      • rtn joined the channel
      • son0p joined the channel
      • kernkern has quit
      • technil joined the channel
      • dat-gitter
        (matrixbot) `icarito` RangerMauve (Gitter): that's very cool! I want to use it!
      • icarito joined the channel
      • icarito
        Hi!
      • mafintosh
        notrhodey: hi
      • icarito: also hi :)
      • icarito: saw your network comments, I'm hacking all next week to try and improve it. Mind if I dm you to test some things?
      • icarito
        nice to greet you ! working on adding Dat support for my learning IDE and loving it!
      • mafintosh, sure!
      • i live with children so my times are interspersed but I'd love to help
      • mafintosh
        notrhodey: there is a file indicating if the archive is writable. I don't think we have an api to write it but if you 'touch .dat/metadata.ogd' if should be writable if you have the secret key
      • icarito: ya no worries if you're busy. will ping you next week prob :)
      • icarito
        i can't keep myself from fixing software I use I already contributed a fix for dat support in TiddlyWiki https://github.com/Jermolene/TiddlyWiki5/pull/3244 :-)
      • gtg now nice to collaborate with you!
      • technil has quit
      • todrobbins has quit
      • mafintosh
        pfrazee: idea: invite-only encrypted dht
      • todrobbins joined the channel
      • todrobbins has quit
      • damons has quit
      • tyrannus joined the channel
      • notrhodey
        mafintosh: thanks! I'll test this out :) appreciate the quick reply!
      • noffle
        mafintosh: hey, are you using https://www.npmjs.com/package/multifeed ? multi-hypercore is a mouthful and I think it does basically what multifeed would do; I'd appreciate if I could use the name
      • tyrannus has quit
      • tyrannus joined the channel
      • pfrazee
        mafintosh: interesting, youll need to tell me more
      • damons joined the channel
      • icarito
        is there a way for me to delete files I've recently added to .datignore from an archive? I'm sharing them with dat cli.
      • I don't want them to be deleted from the filesystem just ignored from the archive.
      • e.g. I have a directory which is actually shared as a different dat (my data dat)
      • so I want to read `workspace/dat.json` to be able to reach the corresponding data dat but I don't want to have the actual data in the main website dat
      • cblgh
        mafintosh: that'd be interesting
      • mafintosh
        noffle: I'm not using atm. You can have it :)
      • cblgh
        as a random aside im currently reading up on stream stuff so that i can make decent stuff efficiently (shoutout 2 hyperdb for the final push towards learning streams)
      • mafintosh
        noffle: will add you when I'm on my laptop
      • noffle
        raaad
      • lmk
      • todrobbins joined the channel
      • mafintosh
        cblgh: nice
      • cblgh
        streeeeeeeaaaaaams
      • going through substack's old workshopper, it's p rad
      • domanic joined the channel
      • karissa
        Icarito I’m not sure, if it was already added to the dat then I think only adding it to the datignore won’t delete it.
      • moszeed joined the channel
      • todrobbins has quit
      • domanic has quit
      • domanic joined the channel
      • son0p joined the channel