TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

A non-federated decentralized social protocol based on Git

103 pointsby petarabout 2 years ago

13 comments

ClawsOnPawsabout 2 years ago
I&#x27;m sorry but I believe I&#x27;m missing something here. How does this solve any of the problems that people commonly have with decentralized, federated social networks?<p>* You&#x27;re still either hosting your own, or at the whim of whomever hosts your repository. Mastodon.social or GitHub.<p>* Hosting your own Git is not particularly easier than hosting your own GoTo Social or Akkoma.<p>* What if you end up with either a big following, or a big follower list? Aren&#x27;t you going to be rate limited by GitHub?<p>* Is signing up for GitHub easier than signing up for mastodon.social, especially if Mastodon et al already have good mobile clients?<p>* What about moderation?<p>* What about media?<p>And I mean... Isn&#x27;t Git federated by nature? Multiple machines store multiple copies of the data. That&#x27;s defederation isn&#x27;t it?<p>But OK, let&#x27;s put the federated social networks we do have aside for a moment.<p>The site says: Every user stores their application state in a git repo they own and control.<p>But you don&#x27;t do that if you&#x27;re on GitHub, right? Not really, anyway. What is the benefit from doing this over git? What if I want to delete something? What is the overhead of the git protocol?<p>If it&#x27;s just a toy, then that&#x27;s totally cool with me. But it says that Microsoft Research is involved. I&#x27;m a bit confused. What is this?
评论 #35343914 未加载
评论 #35347059 未加载
评论 #35346723 未加载
评论 #35345243 未加载
评论 #35345042 未加载
csenseabout 2 years ago
The author is well-known for creating Kademlia [1], a distributed hash table used to resolve BitTorrent magnet links.<p>[1] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Kademlia" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Kademlia</a>
isoosabout 2 years ago
&gt; Every user stores their application state in a git repo they own and control. No other infrastructure is necessary!<p>As a long-time user (and writer) of static site generators, I welcome these ideas, as I think these would allow us to organize static sites into some kind of decentralized social networks. Think of this as a bulkier version of RSS, because - for most practical cases - it is relative cheap to just fetch everything from a source and present it in a consistent way.<p>Even if people were using centralized git repositories, a separate naming service could allow easy (and cheap&#x2F;free) redirects, so data migration wouldn&#x27;t be an issue.<p>Can this be done with mastadon? Of course. But it requires a database server and other moving parts that need occasional maintenance. Treating the social network as a network of static sites makes operations (and federation) so much easier.<p>Would this be this specific project that wins us over? Maybe not, we shall see. But I think the concept could evolve into something useful.
EGregabout 2 years ago
I know Petar Maymoukov and met w him when we started designing Intercloud.<p>I wanted to know the design decisions behind how Kademlia worked in detail.<p>Glad to see this… wondering why we need it if we have Dat&#x2F;Hypercore and beaker browser, which already uses Secure Kademlia DHT for swarming and follows up with SLEEP protocol instead of Git. It is encrypted and secure, to boot.<p>But those saying this is federated are wrong. It is peer to peer, just like Git is. Email is federated (the domain part is even a centrally controlled database). Having said that, git can be hosted even on your own computer!
NoraCodesabout 2 years ago
Unless I misunderstand, this <i>is</i> federated - each instance stores data related to its user, and fetches from other instances the data it&#x27;s interested in (from other users the user is following.)<p>It also doesn&#x27;t do much to address the reasons users in federated systems tend to congregate around large(r) servers, like discoverability and reliability.<p>It&#x27;s a neat PoC but I think the communication needs some work.
评论 #35343557 未加载
评论 #35343643 未加载
petarabout 2 years ago
The underlying software architecture and the motivation behind it are outlined in the whitepaper of the (more complex) gov4git project: <a href="https:&#x2F;&#x2F;github.com&#x2F;gov4git&#x2F;doc&#x2F;blob&#x2F;main&#x2F;whitepaper&#x2F;whitepaper.md">https:&#x2F;&#x2F;github.com&#x2F;gov4git&#x2F;doc&#x2F;blob&#x2F;main&#x2F;whitepaper&#x2F;whitepap...</a>
gtop3about 2 years ago
I am always highly skeptical of these applications that use git to store non-code data. Often many of the key features of git aren&#x27;t applicable to other problem spaces and this makes everything less efficient.<p>There is a big exception here. You sign commits, so each update comes with some proof of the identity of the author. I like how simple this is, and generally prefer it over the way Mastodon and other federated services handle identity.
usr1106about 2 years ago
I certainly support the idea that alternatives to what we currently have are needed. But I must admit even as a software developer I feel confused when looking at <a href="https:&#x2F;&#x2F;github.com&#x2F;social4git&#x2F;social4git&#x2F;blob&#x2F;main&#x2F;doc&#x2F;walkthrough.sh">https:&#x2F;&#x2F;github.com&#x2F;social4git&#x2F;social4git&#x2F;blob&#x2F;main&#x2F;doc&#x2F;walkt...</a> how this even works.<p>Maybe some illustration would help to explain data and&#x2F;or control flow?<p>The number of pilot users would still deserve growing: <a href="https:&#x2F;&#x2F;github.com&#x2F;social4git&#x2F;social4git&#x2F;blob&#x2F;main&#x2F;doc&#x2F;directory.md">https:&#x2F;&#x2F;github.com&#x2F;social4git&#x2F;social4git&#x2F;blob&#x2F;main&#x2F;doc&#x2F;direc...</a>
superb-owlabout 2 years ago
There are a few ideas that I really like here:<p>- Managing data (push&#x2F;pull&#x2F;etc) in a common, widely-supported protocol (git)<p>- which has a large, stable, and free-as-in-beer implementation (GitHub)<p>- as well as some major competitors (Bitbucket&#x2F;GitLab)<p>- and is possible to self-host (gitea, OSS GitLab)<p>What I&#x27;d love to see:<p>- posts are currently in JSON format. Make it something more readable (like Markdown+YAML), at least optionally. That way people can interact _directly_ in GitHub, instead of using a janky client<p>- The main problem with decentralized frameworks is always &quot;search and discoverability&quot;. Someone needs to aggregate all the data in a centralized database and make it easy for others to pick through
cryptonectorabout 2 years ago
Are we reinventing Usenet?
评论 #35347330 未加载
评论 #35346624 未加载
评论 #35346641 未加载
TimJRobinsonabout 2 years ago
What&#x27;s the advantage of this over a design like Scuttlebutt &#x2F; Farcaster? They have the same properties (signed messages, Merkel trees to ensure data isn&#x27;t changed) but are engineered for social media.<p>Nostr is another one that is more lightweight without the Merkel tree but is seeing some traction.
jdthediscipleabout 2 years ago
How do notifications work with this?
评论 #35343828 未加载
评论 #35348308 未加载
jmountabout 2 years ago
Seems like it all gets wiped by one git force-push.