@silverpill@mitra.social avatar

silverpill

@silverpill@mitra.social

Developer of ActivityPub-based micro-blogging and content subscription platform Mitra. Admin of mitra.social instance.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

silverpill, (edited ) to random
@silverpill@mitra.social avatar

Fediverse tech roadmap

This is how I want our network to evolve in 2024. Some of the things listed here may have been implemented already by a small number of projects, but more work is required on standards and interoperability.

  • Data portability. In my opinion, this is the most important problem. I'm in favor of FEP-ef61, which also solves identity portability and unlocks many new features.
  • End-to-end encryption. MLS has become a standard, and it would be wise to adopt it. Issue 3 at fediverse-ideas provides a good overview of what we have at the moment (not much). Some variation of FEP-ae97 is likely needed to make end-to-end encryption work.
  • Connectivity. Improving connectivity means fighting indiscriminate instance-level blocks, expanding to overlay networks (Tor, I2P and others), maybe also developing standards for bridges. In many ways, these tasks are linked to data portability.
  • Moderation / spam resistance. Anything other than "list of instances I don't like" would be a huge improvement. Fediseer is an interesting development, but still leaves a lot to be desired. Additionally, standardization of reply controls is needed. FEP-5624 exists, but the mechanism described there has many flaws.
  • Scalability. How to publish to 1M followers from a single-user instance running on cheap hardware? FEP-8b32 should make various optimizations possible (inbox forwarding, efficient reposts, etc).
  • Plugins. Something like Pleroma MRF, but cross-platform (e.g. Wasm-based). Also, pluggable timeline algorithms.
  • Discovery. Content discovery on small instances: relays and related standards, decentralized search.
  • Developer experience. Documentation of de-facto standards (HTTP signatures, WebFinger). Simplified ActivityPub spec. Error reporting.
  • Groups. We have several competing standards for groups: FEP-1b12, FEP-400e, Mastodon developers are working on their own standard. It would be nice to converge on a single standard, that also supports private groups.
  • URL handlers. Again, competing standards: FediLinks, FEP-07d7 and several other proposals.
  • Quoting. FEP-e232 is a proposed standard, but most fediverse applications still use non-standard properties. Mastodon developers are trying to invent something completely different.
  • Synchronization of replies. Various approaches are being considered, but there's no clear winner.
  • Markets. So far there's only one server implementation capable of processing payments. FEP-0837 (a protocol for federated marketplace) was designed, but lacking adoption.
  • Forge federation. ForgeFed is being implemented in Forgejo, although the work is progressing very slowly.
silverpill, to random
@silverpill@mitra.social avatar

https://github.com/cloudflare/wildebeest

Cloudflare didn't make it

>This project has been archived and is no longer actively maintained or supported

silverpill, to random
@silverpill@mitra.social avatar

Activity Connect, my little side-project, has reached usable state:

https://codeberg.org/silverpill/activity-connect

  • Follow, unfollow, create and delete posts - basic activities are supported. Translation is not perfect but can be improved in the future.
  • Allowlist-based bridging
  • Tor and I2P are supported
  • Media URLs are not translated
  • Compiled to a single binary, uses SQLite database, configured with environment variables
silverpill, to random
@silverpill@mitra.social avatar

FEP-e232: Object Links has been finalized

Thanks to everyone who contributed!

silverpill, (edited ) to fediverse
@silverpill@mitra.social avatar

I think FEP-ae97 with server-independent IDs is the best way to make identities and data portable in world.

FEP-c390 + Move activity makes identity portable but not data, and requires wide adoption to provide meaningful benefits. So far there haven't been much interest from developers.

FEP-ae97 with server-independent IDs makes data portable as well, and while it is not compatible with existing software, the server can support both AP flavors at the same time, so it is not worse than FEP-c390 + Move. I also found a way to make it work with Mastodon API, that makes it a clear winner.

There is still a couple of things that need to be figured out, of course:

  • What is the best way to specify a list of hosts where data is stored? I'm not entirely satisfied with ?hosts=server1.example,server2.example solution.
  • How to encrypt data? It's harder to maintain confidentiality of private messages when they are stored on multiple servers, therefore they should be encrypted.
silverpill, to random
@silverpill@mitra.social avatar

v2.14.0

https://codeberg.org/silverpill/mitra/releases/tag/v2.14.0
https://codeberg.org/silverpill/mitra-web/releases/tag/v2.14.0

  • Unicode emoji shortcodes :cat: 🐱
  • Deleting one's own account
  • SVG icons are inlined (UI loads faster, easier customization)
silverpill, to random
@silverpill@mitra.social avatar

https://meta.discourse.org/t/activitypub-plugin/266794

Discourse ActivityPub plugin has been released

silverpill, to fediverse
@silverpill@mitra.social avatar

I've made several improvements to FEP-ae97 (Client-side activity signing)

https://codeberg.org/silverpill/feps/src/branch/main/ae97/fep-ae97.md

There is a new section now, "Server independent IDs". It explains how to make object IDs user-owned instead of server-owned, making data and identity fully portable.

silverpill, to random
@silverpill@mitra.social avatar

Working on a protocol specification for federated marketplace

https://codeberg.org/silverpill/feps/src/branch/main/0837/fep-0837.md

silverpill, to random
@silverpill@mitra.social avatar

Decentralized identifiers (DIDs) can be divided into 3 categories, depending on where the authority resides:

With a derived from a secret key you can truly own your identity. Unfortunately, key rotation is not supported, and if you lose your key, you lose everything. This can be partially mitigated with distributed key generation techniques that make key recovery possible if only M of N shards are available, but they are complicated.

Servers can rotate keys, but they can also suddenly disappear, and again you lose everything.

Blockchain-based systems support key rotation and don't have a single point of failure (if done right). Sometimes they are called "servers with superpowers". However, popular ones are not suitable for the job because writing to them is very expensive and their clients need powerful computing devices and a lot of storage.

Is there a way around that? Yes. Blockchains can be very lightweight and they don't actually need a cryptocurrency, miners or stakers in order to work. There is a simple consensus algorithm known as Proof of authority, and one of the Fediverse competitors, Bluesky, seems to be planning to build such system:

https://github.com/did-method-plc/did-method-plc

>We are actively hoping to replace it with or evolve it into something less centralized - likely a permissioned DID consortium.

They are afraid to say the B-word, but "permissioned consortium" is exactly what it is. Of course, their identity doesn't have to be the only one in existence. I think in the future we might see quite a lot of "identity cooperatives" of different shapes and sizes. Perhaps even a universal client, curl for identity, can be developed.

silverpill, to random
@silverpill@mitra.social avatar

v2.15.0

https://codeberg.org/silverpill/mitra/releases/tag/v2.15.0
https://codeberg.org/silverpill/mitra-web/releases/tag/v2.15.0

  • Emoji picker in post editor (for custom emojis).
  • Subscription access without payment. Subscriber status can now be given as a gift, or in exchange for off-site payment (in any currency). To do this, navigate to any profile page and click on "Subscriber details" item in profile menu.
silverpill, to random
@silverpill@mitra.social avatar

It's official now: Threads implemented FEP-e232

https://engineering.fb.com/2024/03/21/networking-traffic/threads-has-entered-the-fediverse/

Article contains a couple of minor inaccuracies: _misskey_quote doesn't build on FEP-e232, and the other property name is quoteUrl, not quoteURL. But overall it's good and I hope other implementers will notice it.

silverpill, to random
@silverpill@mitra.social avatar

v1.30.0

https://codeberg.org/silverpill/mitra/releases/tag/v1.30.0
https://codeberg.org/silverpill/mitra-web/releases/tag/v1.30.0

This release includes partial support for Federated Marketplace protocol. Subscriptions are represented as Valueflows proposals.

silverpill, to random
@silverpill@mitra.social avatar

Portable AP objects

https://codeberg.org/silverpill/feps/src/branch/main/ef61/fep-ef61.md

Still WIP, but I'm starting to like it.
Removed WebFinger requirement that was present in earlier drafts to avoid making unnecessary HTTP requests.

silverpill, to random
@silverpill@mitra.social avatar

It came to my attention that Interledger (aka OpenPayments aka aka Ripple) is preparing to invade the Fediverse:

https://community.interledger.org/jeremiahlee/interledger-joins-the-fediverse-30fi

I don't know how this could possibly work because their payment processor Coil (and single point of failure) has shut down, and apparently they don't know it either: https://community.interledger.org/radhyr/web-monetization-after-coil-shutdown-4098

But they have a lot of money and are prepared to bribe developers. You can apply for a grant too: https://community.interledger.org/interledger/the-2023-call-for-proposal-ilp-enabled-financial-services-is-now-live-and-accepting-applications-5ddp ("up to $75,000 USD").

silverpill, to random
@silverpill@mitra.social avatar

v2.7.0

https://codeberg.org/silverpill/mitra/releases/tag/v2.7.0
https://codeberg.org/silverpill/mitra-web/releases/tag/v2.7.0

Highlights:

  • Media uploads from Mastodon API clients. Tested with Bloat-FE (uses /api/v1/media) and Phanpy (uses /api/v2/media).
  • Showing lightbox if clicked on attached image.
  • Images in gallery can be viewed without opening posts.
  • "Repost with comment" (currently hidden in post menu and only available in thread view, not in timeline view).
silverpill, to monero
@silverpill@mitra.social avatar

Cake Wallet added "Send to Mastodon address" feature. Has anyone tried it? Apparently it extracts payment address from bio, and not from key-value fields which everyone is using.

https://safereddit.com/r/Monero/comments/174obbq/updates_send_xmr_via_mastodon_address_removed/

https://github.com/cake-tech/cake_wallet/pull/1107/files

silverpill, to random
@silverpill@mitra.social avatar

v2.4.0

https://codeberg.org/silverpill/mitra/releases/tag/v2.4.0
https://codeberg.org/silverpill/mitra-web/releases/tag/v2.4.0

Allowlist federation. This might be useful for Tor and I2P instances where domain blocks are not effective against spam.

silverpill, to random
@silverpill@mitra.social avatar

https://help.instagram.com/914046486923176/

>When Threads blocks communication with other servers on the fediverse
>...fails to meet our Community Guidelines...
>We’ll also block a server if it doesn’t have a:
>Sufficient privacy policy; or
>Publicly available policy to restrict access to users under the age of 13; or
>Publicly accessible feed

There are two fediverses. One of them will comply with these rules, and with whatever rules come after that.

silverpill, to random
@silverpill@mitra.social avatar

Lemmy + Tor guide: https://github.com/salif/lemmy-onion-service

I have just tested federation with Lemmy onion instance. Everything seems to be working
http://xmrtown4e5hj3yivdimt27np24atr7dyd7savkk6of5mdlykret7igqd.onion/post/2

silverpill, to random
@silverpill@mitra.social avatar

Someone wrote a simple installation guide for

https://buck.al/mitra-installation/

silverpill, to random
@silverpill@mitra.social avatar

can-i-use but for : https://modern-sql.com/caniuse/merge

Very cool

silverpill, to random
@silverpill@mitra.social avatar

https://activitypub.ghost.org/

Who's next? Substack? Twitter?

silverpill,
@silverpill@mitra.social avatar

@mint ideological non-compliance -> under-representation in mainstream media

kycnotme, to random

BasicSwap has been listed:

https://kycnot.me/service/basicswap

"Privacy-first, cross-chain trading exchange (DEX) with no central point of failure that lets you freely swap cryptocurrencies such as Bitcoin or Monero without restrictions or the need for third-party involvement."

silverpill,
@silverpill@mitra.social avatar

@kycnotme Some of their claims appear highly dubious.

Especially this: https://particl.wiki/learn/marketplace/smsg/

>SMSG is a decentralized P2P message mixnet where all nodes store a copy of everyone’s end-to-end encrypted messages and data

Sounds like a bunch of buzzwords thrown together. Do they even know what mixnet is? Apparently their protocol is based on the abandoned Bitmessage protocol: https://kewde.gitbooks.io/protocol/content/data-storage-network/smsg.html

But there's no detailed description of how it works. Looks like they just made it up.

>It operates parallel to Particl’s network and is hosted on the same nodes running the blockchain.

Even if this SMSG protocol really exists, it is not clear who runs the nodes. Their explorer says there are 74 peers, but this number can be fake. Or these nodes can be controlled by developers.

The app has Tor support, but it is not enabled by default:

https://particl.wiki/tutorial/privacy/tor/

Users might not be aware of that, so whoever operates the nodes can de-anonymize them.


I'm not saying it shouldn't be listed. But until their software gets an independent audit, everyone should treat it like a regular centralized exchange which for some reason wants you to download an executable.

Hyolobrika, to random
silverpill,
@silverpill@mitra.social avatar

@ntnsndr By algorithmic governance I mean DAOs and other things Vitalik and co have been tinkering with. They didn't understand that all software is owned and maintained by someone, and as a result, Ethereum has been completely co-opted. This post was written in 2021, and there was still hope. Today it is dying, and no amount of tinkering can save it.
This destiny awaits all projects with weak leaders.

@lain @strypey @Hyolobrika @teknomunk @Sarosa

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • mdbf
  • ngwrru68w68
  • tester
  • magazineikmin
  • thenastyranch
  • rosin
  • khanakhh
  • InstantRegret
  • Youngstown
  • slotface
  • Durango
  • kavyap
  • DreamBathrooms
  • megavids
  • tacticalgear
  • osvaldo12
  • normalnudes
  • cubers
  • cisconetworking
  • everett
  • GTA5RPClips
  • ethstaker
  • Leos
  • provamag3
  • anitta
  • modclub
  • lostlight
  • All magazines