Salta al contenuto
0
  • Home
  • Piero Bosio
  • Blog
  • Mondo
  • Fediverso
  • News
  • Categorie
  • Old Web Site
  • Recenti
  • Popolare
  • Tag
  • Utenti
  • Home
  • Piero Bosio
  • Blog
  • Mondo
  • Fediverso
  • News
  • Categorie
  • Old Web Site
  • Recenti
  • Popolare
  • Tag
  • Utenti
Skin
  • Chiaro
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Scuro
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Predefinito (Nessuna skin)
  • Nessuna skin
Collassa

Piero Bosio Social Web Site Personale Logo Fediverso

Social Forum federato con il resto del mondo. Non contano le istanze, contano le persone
  1. Home
  2. Categorie
  3. Fediverso
  4. Introducing PortaFed — cryptographic account portability for #ActivityPub

Introducing PortaFed — cryptographic account portability for #ActivityPub

Pianificato Fissato Bloccato Spostato Fediverso
activitypubfediverse
18 Post 7 Autori 76 Visualizzazioni
  • Da Vecchi a Nuovi
  • Da Nuovi a Vecchi
  • Più Voti
Rispondi
  • Risposta alla discussione
Effettua l'accesso per rispondere
Questa discussione è stata eliminata. Solo gli utenti con diritti di gestione possono vederla.
  • portafed@mastodon.socialundefined portafed@mastodon.social

    @benpate Yes, that’s exactly the gap I’m aiming at: the case where the old server is gone, hostile, or unavailable, and the user needs some way to carry forward verifiable account state without relying on that server’s cooperation.
    My reading is that LOLA covers the cooperative portability path well, while this harsher failure case still needs more work. I don’t see PortaFed as a competing standard so much as a possible building block for that scenario.

    benpate@mastodon.socialundefined Questo utente è esterno a questo forum
    benpate@mastodon.socialundefined Questo utente è esterno a questo forum
    benpate@mastodon.social
    scritto su ultima modifica di
    #9

    @PortaFed That's awesome. Let's work you into the existing effort. We could use all the help we can get.

    Also: I'm pretty new to the data portability spec; so I know that "hostile server" is out of scope, but I wasn't there to know why that choice was made. I'm *guessing* is was too much to tackle at the time.

    But one way or another, it would be great to have something in place for this situation, too.

    I still need to read your work fully, so I understand what we're talking about :)

    portafed@mastodon.socialundefined 1 Risposta Ultima Risposta
    0
    • jonny@neuromatch.socialundefined Questo utente è esterno a questo forum
      jonny@neuromatch.socialundefined Questo utente è esterno a questo forum
      jonny@neuromatch.social
      scritto su ultima modifica di
      #10

      @julian
      @evan @benpate @PortaFed
      Can't make heads or tails of this one

      julian@activitypub.spaceundefined jonny@neuromatch.socialundefined 2 Risposte Ultima Risposta
      1
      • jonny@neuromatch.socialundefined jonny@neuromatch.social

        @julian
        @evan @benpate @PortaFed
        Can't make heads or tails of this one

        julian@activitypub.spaceundefined Questo utente è esterno a questo forum
        julian@activitypub.spaceundefined Questo utente è esterno a questo forum
        julian@activitypub.space
        scritto su ultima modifica di
        #11

        @jonny@neuromatch.social tracks doesn't it 😝

        1 Risposta Ultima Risposta
        0
        • benpate@mastodon.socialundefined benpate@mastodon.social

          @PortaFed That's awesome. Let's work you into the existing effort. We could use all the help we can get.

          Also: I'm pretty new to the data portability spec; so I know that "hostile server" is out of scope, but I wasn't there to know why that choice was made. I'm *guessing* is was too much to tackle at the time.

          But one way or another, it would be great to have something in place for this situation, too.

          I still need to read your work fully, so I understand what we're talking about :)

          portafed@mastodon.socialundefined Questo utente è esterno a questo forum
          portafed@mastodon.socialundefined Questo utente è esterno a questo forum
          portafed@mastodon.social
          scritto su ultima modifica di
          #12

          @benpate That would be great and happy to contribute wherever it fits.
          My guess on the scope decision is the same as yours: hostile-server recovery is genuinely harder, and a cooperative spec is already a lot to get right. Makes sense to tackle it separately.
          Take your time reading. I'll put together a short write-up of how MigrationProof could slot into the existing spec easier to react to something concrete than to an abstract pitch.

          1 Risposta Ultima Risposta
          0
          • portafed@mastodon.socialundefined portafed@mastodon.social

            Introducing PortaFed — cryptographic account portability for #ActivityPub

            When your server shuts down, your identity and posts are gone.
            PortaFed fixes this with a MigrationProof: a Merkle commitment
            over your full export, signed by your ed25519 key, verifiable
            by any destination server without contacting the origin.

            No blockchain. No registry. No core spec changes.

            Spec + Rust implementation:
            https://codeberg.org/portafed/portafed

            Feedback welcome — especially from server maintainers.

            #Fediverse

            silverpill@mitra.socialundefined Questo utente è esterno a questo forum
            silverpill@mitra.socialundefined Questo utente è esterno a questo forum
            silverpill@mitra.social
            scritto su ultima modifica di
            #13

            @PortaFed

            I have a couple of comments regarding the spec https://codeberg.org/portafed/portafed/src/branch/main/portafed-spec/spec.md

            It contains a comparison with FEP-ef61, but it is not quite correct:

            - FEP-ef61 identity is not actor-rooted. The closest equivalent of FEP-ef61 identity in normal ActivityPub is a server with a domain name. A single FEP-ef61 authority can manage multiple actor documents.
            - FEP-ef61 does not lack a migration flow. Strictly speaking, it doesn't need one, because data is not attached to a server and can be continuously synchronized between multiple servers. But a more familiar migration flow is also possible via outbox export-import.

            @lutindiscret

            portafed@mastodon.socialundefined 1 Risposta Ultima Risposta
            0
            • silverpill@mitra.socialundefined silverpill@mitra.social

              @PortaFed

              I have a couple of comments regarding the spec https://codeberg.org/portafed/portafed/src/branch/main/portafed-spec/spec.md

              It contains a comparison with FEP-ef61, but it is not quite correct:

              - FEP-ef61 identity is not actor-rooted. The closest equivalent of FEP-ef61 identity in normal ActivityPub is a server with a domain name. A single FEP-ef61 authority can manage multiple actor documents.
              - FEP-ef61 does not lack a migration flow. Strictly speaking, it doesn't need one, because data is not attached to a server and can be continuously synchronized between multiple servers. But a more familiar migration flow is also possible via outbox export-import.

              @lutindiscret

              portafed@mastodon.socialundefined Questo utente è esterno a questo forum
              portafed@mastodon.socialundefined Questo utente è esterno a questo forum
              portafed@mastodon.social
              scritto su ultima modifica di
              #14

              @silverpillThank you , these are important corrections and I appreciate you taking the time.
              You're right on both points. I'll update the spec to reflect that FEP-ef61 authority is not actor-rooted in the way I described, and that migration is possible via outbox export-import. I was overstating the gap.
              The distinction I was trying to draw is narrower:

              1 Risposta Ultima Risposta
              0
              • jonny@neuromatch.socialundefined jonny@neuromatch.social

                @julian
                @evan @benpate @PortaFed
                Can't make heads or tails of this one

                jonny@neuromatch.socialundefined Questo utente è esterno a questo forum
                jonny@neuromatch.socialundefined Questo utente è esterno a questo forum
                jonny@neuromatch.social
                scritto su ultima modifica di
                #15

                @julian @PortaFed
                giving a further read: I can't really imagine a case where someone would a) regularly be creating signed backups and also b) know in advance where you wanted to migrate to to set the destination_did. Like if this is for the case where the instance has shut down, you might have some signed backup, but you probably haven't planned in advance where you would want to migrate, and if the instance is down you wouldn't be able to create the migration object after the fact.

                the validation strategy for the export is sort of mystifying to me. if the whole object is signed, then why would you need a merkle tree for objects and also an object count? if the contents of the object have changed post signing, then the signature validation will just fail and those are irrelevant.

                true to form for LLM generated documents, several critical things are left undefined, like what last_accepted_sequence is or how that works.

                probably the most important problem is that it's not really clear how all other instances are supposed to handle this, which is the entire hard part of a migration spec. Like, if the purpose here is to preserve identity, then you would need to have all the other instances come to see the new identity as being equivalent to the old identity, and there's no discussion of how that process works for third-party instances at all. like e.g. in FEP-1580 i had to spend a long time gaming out scenarios for how third party instances would handle a move event.

                so without that it's not really an account portabiltiy spec, it's an account export/import spec, which is fine, just not really needed since signing objects and collections (which this spec should use anyway) is already described by other specs.

                julian@activitypub.spaceundefined portafed@mastodon.socialundefined 2 Risposte Ultima Risposta
                1
                • jonny@neuromatch.socialundefined jonny@neuromatch.social

                  @julian @PortaFed
                  giving a further read: I can't really imagine a case where someone would a) regularly be creating signed backups and also b) know in advance where you wanted to migrate to to set the destination_did. Like if this is for the case where the instance has shut down, you might have some signed backup, but you probably haven't planned in advance where you would want to migrate, and if the instance is down you wouldn't be able to create the migration object after the fact.

                  the validation strategy for the export is sort of mystifying to me. if the whole object is signed, then why would you need a merkle tree for objects and also an object count? if the contents of the object have changed post signing, then the signature validation will just fail and those are irrelevant.

                  true to form for LLM generated documents, several critical things are left undefined, like what last_accepted_sequence is or how that works.

                  probably the most important problem is that it's not really clear how all other instances are supposed to handle this, which is the entire hard part of a migration spec. Like, if the purpose here is to preserve identity, then you would need to have all the other instances come to see the new identity as being equivalent to the old identity, and there's no discussion of how that process works for third-party instances at all. like e.g. in FEP-1580 i had to spend a long time gaming out scenarios for how third party instances would handle a move event.

                  so without that it's not really an account portabiltiy spec, it's an account export/import spec, which is fine, just not really needed since signing objects and collections (which this spec should use anyway) is already described by other specs.

                  julian@activitypub.spaceundefined Questo utente è esterno a questo forum
                  julian@activitypub.spaceundefined Questo utente è esterno a questo forum
                  julian@activitypub.space
                  scritto su ultima modifica di
                  #16

                  @jonny@neuromatch.social honestly good for you for investing the time to critique this knowing it's AI (adjacent or wholesale) involvement.

                  1 Risposta Ultima Risposta
                  0
                  • jonny@neuromatch.socialundefined jonny@neuromatch.social

                    @julian @PortaFed
                    giving a further read: I can't really imagine a case where someone would a) regularly be creating signed backups and also b) know in advance where you wanted to migrate to to set the destination_did. Like if this is for the case where the instance has shut down, you might have some signed backup, but you probably haven't planned in advance where you would want to migrate, and if the instance is down you wouldn't be able to create the migration object after the fact.

                    the validation strategy for the export is sort of mystifying to me. if the whole object is signed, then why would you need a merkle tree for objects and also an object count? if the contents of the object have changed post signing, then the signature validation will just fail and those are irrelevant.

                    true to form for LLM generated documents, several critical things are left undefined, like what last_accepted_sequence is or how that works.

                    probably the most important problem is that it's not really clear how all other instances are supposed to handle this, which is the entire hard part of a migration spec. Like, if the purpose here is to preserve identity, then you would need to have all the other instances come to see the new identity as being equivalent to the old identity, and there's no discussion of how that process works for third-party instances at all. like e.g. in FEP-1580 i had to spend a long time gaming out scenarios for how third party instances would handle a move event.

                    so without that it's not really an account portabiltiy spec, it's an account export/import spec, which is fine, just not really needed since signing objects and collections (which this spec should use anyway) is already described by other specs.

                    portafed@mastodon.socialundefined Questo utente è esterno a questo forum
                    portafed@mastodon.socialundefined Questo utente è esterno a questo forum
                    portafed@mastodon.social
                    scritto su ultima modifica di
                    #17

                    @jonny @julian You're right on all three points. Updated the spec: destination_did is now optional the backup-before-shutdown case is the primary use case and requiring a destination in advance was a mistake.
                    Added Section 5.1 explaining why the Merkle tree exists alongside per-object signatures: the signatures prove per-object authenticity but not completeness. A Merkle root over the full set detects silently dropped objects.
                    Added Section 8 explicitly scoping this as an export/import substrate

                    jonny@neuromatch.socialundefined 1 Risposta Ultima Risposta
                    0
                    • portafed@mastodon.socialundefined portafed@mastodon.social

                      @jonny @julian You're right on all three points. Updated the spec: destination_did is now optional the backup-before-shutdown case is the primary use case and requiring a destination in advance was a mistake.
                      Added Section 5.1 explaining why the Merkle tree exists alongside per-object signatures: the signatures prove per-object authenticity but not completeness. A Merkle root over the full set detects silently dropped objects.
                      Added Section 8 explicitly scoping this as an export/import substrate

                      jonny@neuromatch.socialundefined Questo utente è esterno a questo forum
                      jonny@neuromatch.socialundefined Questo utente è esterno a questo forum
                      jonny@neuromatch.social
                      scritto su ultima modifica di
                      #18

                      @PortaFed
                      @julian
                      Why wouldnt the whole export object be signed? If an object is missing, the merkle root wouldnt match and you wouldnt be able to do partial validation anyway. I could have missed something on the strategy there

                      1 Risposta Ultima Risposta
                      0

                      Ciao! Sembra che tu sia interessato a questa conversazione, ma non hai ancora un account.

                      Stanco di dover scorrere gli stessi post a ogni visita? Quando registri un account, tornerai sempre esattamente dove eri rimasto e potrai scegliere di essere avvisato delle nuove risposte (tramite email o notifica push). Potrai anche salvare segnalibri e votare i post per mostrare il tuo apprezzamento agli altri membri della comunità.

                      Con il tuo contributo, questo post potrebbe essere ancora migliore 💗

                      Registrati Accedi
                      Rispondi
                      • Risposta alla discussione
                      Effettua l'accesso per rispondere
                      • Da Vecchi a Nuovi
                      • Da Nuovi a Vecchi
                      • Più Voti


                      Feed RSS
                      Introducing PortaFed — cryptographic account portability for #ActivityPub
                      @pierobosio@soc.bosio.info
                      V4.10.0 Contributors
                      • Accedi

                      • Accedi o registrati per effettuare la ricerca.
                      • Primo post
                        Ultimo post