[HN Gopher] P2panda: P2P protocol for secure, energy-efficient l...
       ___________________________________________________________________
        
       P2panda: P2P protocol for secure, energy-efficient local-first web
       applications
        
       Author : rapnie
       Score  : 117 points
       Date   : 2023-08-21 17:14 UTC (5 hours ago)
        
 (HTM) web link (p2panda.org)
 (TXT) w3m dump (p2panda.org)
        
       | jedahan wrote:
       | I wish I could read the specification offline. It's split into a
       | lot of smaller pages.
        
       | actionfromafar wrote:
       | Should I be this disappointed that there is no C or C++ library?
        
         | wmf wrote:
         | [flagged]
        
           | zer8k wrote:
           | Post like these are why the Rust community is mocked.
           | 
           | C and C++ aren't over. They probably never will be. The
           | correct answer is that the author chose two languages to
           | support because it's their library. It is, indeed, strange a
           | binding doesn't exist for two of the most popular languages
           | on the planet. Not a big deal.
           | 
           | A quick perusal of both github repos and job listings shows
           | that C and C++ are _definitely_ not  "over".
        
             | iknowstuff wrote:
             | It's over in the sense that new projects don't get started
             | in C++ unless they have huge dependencies on C++ libraries,
             | like video games. And they shouldn't, it would be
             | irresponsible.
             | 
             | Obviously, legacy code - and so the job market - will
             | remain present for a while. Although it already pays less
             | than other languages.
        
           | msm_ wrote:
           | I'm pretty sure it's not. Maybe you wish it was, but it's
           | not. C is still commonly used as a "lowest common
           | denominator" language, and other languages often use bindings
           | to native C libraries. This is still very common, and well
           | supported in almost all modern languages (sometimes even
           | completely embraced by some implementations, like cpython).
           | Even Signal has official C bindings (libsignal-protocol-c).
           | 
           | To reiterate my point, one may hope that C goes away, but
           | objectively, in the foreseeable future, it continues to be a
           | backbone of most software.
        
             | TeeMassive wrote:
             | Rust has C bindings too
        
               | zer8k wrote:
               | Rusts ABI may as well not exist however. Rust can co-
               | exist with C. Everything else that depends on C's ABI
               | won't be able to play nicely with Rust without
               | significant work from one side or the other.
        
         | emilecantin wrote:
         | Well, it says WEB applications, so presumably this is something
         | that will run in a browser, which implies some flavour of
         | Javascript.
         | 
         | Tangentially, I've been interested in this space for a while,
         | and I have a few in-progress projects built on CouchDB. My aim
         | was to offer the offline app for free and monetize through sync
         | / sharing features. This would've mirrored my cost structure
         | (hosting), so I thought it was a pretty fair way to monetize a
         | product.
        
           | nofollow wrote:
           | easy to find from the homepage:
           | 
           | https://p2panda.org/libraries/
           | 
           | > The core library is shipped both as a Rust crate p2panda-rs
           | with WebAssembly bindings and a NPM package p2panda-js with
           | TypeScript definitions running in NodeJS or any modern web
           | browser.
        
       | someguy7250 wrote:
       | Wow! This might just be what I've been hoping for, since 2020.
       | 
       | What I hoped for was more of a generic backend for multiplayer
       | games.
       | 
       | But this is even better. It looks like a next-gen bittorrent
       | which natively supports operations?
       | 
       | How did the EU support something like this without worrying about
       | misuse?
       | 
       | It would be fun to build something like a Blender plugin that
       | allows people to cooperate on free 3D models and animations. But
       | it's also unclear whether anyone would be legally liable when
       | something goes wrong.
       | 
       | (Edit: It sounds like we want to avoid legal issues by having
       | everyone run their own local instances. I like that feeling of
       | hosting our own servers. But something just feels odd. Since when
       | are we allowed to be so open? What's the catch?)
        
       | chaostheory wrote:
       | I've been waiting for something like this.
       | 
       | There are still many places even in developed countries where a
       | stable network connection isn't guaranteed
        
         | orthecreedence wrote:
         | You might like Holochain (https://www.holochain.org/) as well,
         | it's in a similar vein.
        
       | Jhsto wrote:
       | I wonder how complimentary this could be for etcd, which tends to
       | not work so great for structured data.
        
       | andreasdz wrote:
       | Oh wow, we didn't expect p2panda to pop up here (I'm adz, one of
       | the core contributors). Let us know if you have any questions :-)
       | 
       | This week we're wrapping up a long development phase for a new
       | "aquadoggo" version (https://github.com/p2panda/aquadoggo/) - our
       | p2panda node reference implementation. The release will come with
       | a dynamic GraphQL query (filtering, cursor pagination, text
       | search and ordering), blob support, a better configuration
       | interface and a full p2p networking stack (QUIC) with NAT
       | traversal techniques and relays based on libp2p.
       | 
       | Next steps in our current funding period is a showcase app for
       | Android (built with Flutter and Rust FFI bindings from our core
       | libraries), a bee sighting database for scientists in the
       | Brazilian Amazon (in collaboration with https://www.meli-
       | bees.org/).
       | 
       | Further down the lane we're continuing our integration of MLS -
       | as some high-level APIs are still missing - and a capability
       | system. We're definitely not out of ideas yet!
        
         | mdhb wrote:
         | If that means you will also have a Dart / Flutter package
         | available for development I would be very interested.
        
         | shams93 wrote:
         | This looks super cool! I was thinking I couldn't finish my PWA
         | without a database but its much cooler to use this instead I
         | really don't want to store stuff for people who buy my service,
         | I want to sell them support instead of storage.
        
       | brunoqc wrote:
       | Is it blockchain?
        
         | orthecreedence wrote:
         | No. Just old fashioned p2p with signed transaction chains. No
         | consensus, as far as I can tell.
        
       | CGamesPlay wrote:
       | Looks interesting, but there doesn't seem to be any information
       | about what CRDT it's using, or how it handles concurrent editing
       | at all. The only operation appears to be "set key", so it looks
       | pretty basic. Is this the target state or is this going to be
       | expanded upon in the future?
        
       | mdhb wrote:
       | Seeing that this was put together by one of the co-authors of the
       | recently released MLS (Message Layer Security) spec and backed by
       | an EU funding grant are both interesting tidbits that got me more
       | interested in this.
       | 
       | This would indeed allow for a very different internet and would
       | provide some viable options untethered to big tech as it exists
       | today.
        
         | raphaelrobert wrote:
         | I case you refer to me as the MLS co-author, I'm not directly
         | affiliated with the p2panda project. I think p2panda uses
         | OpenMLS (OSS implementation of the MLS protocol,
         | https://openmls.tech), hence the connection. I did however
         | exchange with this friendly an motivated team!
        
           | mdhb wrote:
           | Thanks for clarifying that. I'm sorry if I misunderstood but
           | I really appreciate you pointing out those facts.
        
           | andreasdz wrote:
           | Yes, it's been a pleasure to work with OpenMLS, they
           | consulted us with the integration into p2panda! As mentioned
           | in my other comment: while most low-level parts have already
           | been written, we still need to work on our high-level APIs,
           | which should allow for easy integration of data encryption
           | when using our SDKs. We aim at doing this in our next funding
           | period.
        
       ___________________________________________________________________
       (page generated 2023-08-21 23:00 UTC)