Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

NodeBB

  1. Home
  2. General Discussion
  3. Introducing PortaFed — cryptographic account portability for #ActivityPub

Introducing PortaFed — cryptographic account portability for #ActivityPub

Scheduled Pinned Locked Moved General Discussion
activitypubfediverse
12 Posts 6 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P This user is from outside of this forum
    P This user is from outside of this forum
    portafed@mastodon.social
    wrote last edited by
    #1

    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

    julian@activitypub.spaceJ mpb@typent.netM lutindiscret@mastodon.libre-entreprise.comL 3 Replies Last reply
    1
    1
    • tag-activitypub@relay.fedi.buzzT tag-activitypub@relay.fedi.buzz shared this topic
    • P 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

      julian@activitypub.spaceJ This user is from outside of this forum
      julian@activitypub.spaceJ This user is from outside of this forum
      julian@activitypub.space
      wrote last edited by
      #2

      <img class="not-responsive emoji" src="https://activitypub.space/assets/plugins/nodebb-plugin-emoji/emoji/android/1f440.png?v=42a4d91a3c1" title="👀" /> new account portability spec dropped. We're at 3 now? <img class="not-responsive emoji" src="https://activitypub.space/assets/plugins/nodebb-plugin-emoji/emoji/android/1f605.png?v=42a4d91a3c1" title="😅" />

      @evan@cosocial.ca @benpate@mastodon.social @jonny@neuromatch.social

      cc @portafed@mastodon.social

      1 Reply Last reply
      0
      • julian@activitypub.spaceJ This user is from outside of this forum
        julian@activitypub.spaceJ This user is from outside of this forum
        julian@activitypub.space
        wrote last edited by
        #3

        Something we need. Looks to be NLNet funded? The README looks to be AI written, it contains a lot of the confident triple-statements often found in LLM-generated content. I hope that is as far as it goes because this might be brushing up against NLNet's generative AI policy: https://nlnet.nl/foundation/policies/generativeAI/

        @portafed@mastodon.social may I ask whether LLM was used in the production of this project/code?

        1 Reply Last reply
        0
        • P This user is from outside of this forum
          P This user is from outside of this forum
          portafed@mastodon.social
          wrote last edited by
          #4

          @julian @julian@activitypub.social Yes, fair question and you deserve a direct answer.

          The README and proposal documentation were drafted with AI assistance
          (Claude/Anthropic) and then reviewed and edited by me. The cryptographic
          design ed25519 keypairs, JCS/RFC 8785 canonicalisation, Merkle
          construction, MigrationProof signing input is my own technical work.

          The Rust code in portafed-core implements real cryptographic primitives
          and passes real tests. It is not generated boilerplate.

          1 Reply Last reply
          1
          • P 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

            mpb@typent.netM This user is from outside of this forum
            mpb@typent.netM This user is from outside of this forum
            mpb@typent.net
            wrote last edited by
            #5

            Bravo! I like the idea, and honestly I was thinking of making something similar myself. Maybe I’ll implement it into my platform.

            1 Reply Last reply
            0
            • P 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

              lutindiscret@mastodon.libre-entreprise.comL This user is from outside of this forum
              lutindiscret@mastodon.libre-entreprise.comL This user is from outside of this forum
              lutindiscret@mastodon.libre-entreprise.com
              wrote last edited by
              #6

              @PortaFed cc @silverpill

              1 Reply Last reply
              0
              • benpate@mastodon.socialB This user is from outside of this forum
                benpate@mastodon.socialB This user is from outside of this forum
                benpate@mastodon.social
                wrote last edited by
                #7

                @PortaFed ~ do you think these ideas would work alongside the existing work being done by the W3C social web community group? https://swicg.github.io/activitypub-data-portability/lola

                I *think* you're solving the issue of "my server disappeared, I don't have a backup, and I can't prove I'm still me." Is this close?

                Because that's the one use case that the portability spec DOESN'T do. So, maybe there's a way for us to work together, instead of making competing standards.

                @julian @evan @jonny @PortaFed

                P 1 Reply Last reply
                0
                • benpate@mastodon.socialB benpate@mastodon.social

                  @PortaFed ~ do you think these ideas would work alongside the existing work being done by the W3C social web community group? https://swicg.github.io/activitypub-data-portability/lola

                  I *think* you're solving the issue of "my server disappeared, I don't have a backup, and I can't prove I'm still me." Is this close?

                  Because that's the one use case that the portability spec DOESN'T do. So, maybe there's a way for us to work together, instead of making competing standards.

                  @julian @evan @jonny @PortaFed

                  P This user is from outside of this forum
                  P This user is from outside of this forum
                  portafed@mastodon.social
                  wrote last edited by
                  #8

                  @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.socialB 1 Reply Last reply
                  0
                  • P 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.socialB This user is from outside of this forum
                    benpate@mastodon.socialB This user is from outside of this forum
                    benpate@mastodon.social
                    wrote last edited by
                    #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 🙂

                    P 1 Reply Last reply
                    0
                    • jonny@neuromatch.socialJ This user is from outside of this forum
                      jonny@neuromatch.socialJ This user is from outside of this forum
                      jonny@neuromatch.social
                      wrote last edited by
                      #10

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

                      julian@activitypub.spaceJ 1 Reply Last reply
                      1
                      • jonny@neuromatch.socialJ jonny@neuromatch.social

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

                        julian@activitypub.spaceJ This user is from outside of this forum
                        julian@activitypub.spaceJ This user is from outside of this forum
                        julian@activitypub.space
                        wrote last edited by
                        #11

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

                        1 Reply Last reply
                        0
                        • benpate@mastodon.socialB 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 🙂

                          P This user is from outside of this forum
                          P This user is from outside of this forum
                          portafed@mastodon.social
                          wrote last edited by
                          #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 Reply Last reply
                          0

                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                          With your input, this post could be even better 💗

                          Register Login
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          Powered by NodeBB Contributors
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • World
                          • Users
                          • Groups