Blockchain ledgers are centralized in so far as that "there is only one" ledger but stored decentralized on many redundant nodes. I don't need to explain that to you Mr. Bitcoin.

So a team having to have "the one fork" they work on together doesn't imply centralized single point of failure storage. Of course blockchain ledgers achieve this at absurdly high bandwidth costs and simplistic consensus algorithms.

Can you take it from there and reduce bandwidth, increase consensus sophistication so that the team's one fork can live on 2 dozen servers like nostr relays and yet be synced well enough to appear as one.

Not an easy task I know but it's the only way forward.

Reply to this note

Please Login to reply.

Discussion

I have no idea what you want to say or where you want to get with this.

Each team member has a full fork of the project and the fork is generally in sync with the version everyone is working on. It's equivalent to your blockchain analogy.

Adding a blockchain will only make things more centralized because everybody must be bound to the chain. It doesn't make any sense.

Can't the latest version be recreated by a going through past Pr and issue bearing Notes ? Combine with a fork of the "centralized" github repo to other self hosted solutions .

This seems like a valid de-centralization and redundancy step for sure.

We can have the entire Git repo as Nostr Events. The hard part is to keep a single head for all files given that Nostr doesnt have a timechain. But we will figure it out.

Btc timestamp right ?

yep

git in itself is a state chain. every commit id is a hash of all previous changes. that way you can be certain you aren't missing any data.

I thought the hard part was identifying who the authoriative maintainers are fpr a repository if they change overtime, such as bitcoin-core. I proposed https://github.com/DanConwayDev/ngit-cli/tree/v0.0.2 which uses OpenTimestamps.

Someone then pointed out that you can embed this information right into the commit history and contributors will 'build on top of' whichever history they don't object to. Overtime the longest chain (of quality commits, by contributors we trust), will determine the authorative maintainers.

This is what ngit optionally does when you run `ngit init`.

Timestamp based Single use seals is what i was thinking. Linked to ones npub. Can be revoked, updated, passed on, as maintainers come and go.

Oops. Missed the "show more" and did not read the full note.

From the link: "Forks are replaced by permissioned branches."

Replaces the whole "key holder" issue. If i understand correctly. Neat.

So as a project moves through its life cycle, a baton of sorts is passed on to the next endorsed npub or the most popular branch. This eliminates a bunch of friction. Organic. Neat.

User expectations/behavior will have to change. Particularly around malicious fake accounts and noobs.

"Large patches and binaries would need to be transported separately and referenced in a stub patch event."

Which is where the convenience of Github comes in. Potential security issues too.

Forward looking though its also an oportunity for V4V storage.

I created a POC for an entire git repo as nostr events in May 2023. you can try it out:

https://github.com/DanConwayDev/ngit-cli/tree/v0.0.2

My conclusion was that it isn't the right approach. git is very efficient at storing and accessing the data, working out the differences between repositories and bandwidth efficiently sending the right data.

I agree. But using Nostr with Git is not supposed to be efficient. Just decentralized. Nostr itself is not efficient to begin with.

nostr:nprofile1qyvhwumn8ghj7un9d3shjtnndehhyapwwdhkx6tpdshszrnhwden5te0dehhxtnvdakz7qpqahaz04ya9tehace3uy39hdhdryfvdkve9qdndkqp3tvehs6h8s5sl8p9ks is innovating on and around this and I'm really looking forward to seeing what he comes up with gnostr.

I’ve already created a “timechain” of #nostr events…

https://x.com/randymcmillan/status/1764056522965831753?s=46

#gnostr

Getting ready to create “blob signatures” - this way even thru a rebase or whatever - the origin of the blob can be verified…

Never say never :-)

Don't worry about it, efficiency is for academics. Moore's law will make it efficient. - Jayson maxi 2024

We should worry about it, but if you trully want the most efficient signed package, you wouldn't use Nostr at all. We just need good enough.

I’ve already created a “timechain” of #gnostr git commits…

#nostr

The architecture I propose for achieving this is treating git servers like relays. The nostr repository event includes a list of git servers and the commit-ids for the tips of each branch. a git remote-helper enables maintainers to push to all git server mirrors and update the repo event with the new branch tip with a simple 'git push' command. I wrote a bit more about the proposed repo event format for this here: https://github.com/nostr-protocol/nips/pull/997#discussion_r1464484832

I hope you guys get the bounty ! Perhaps after some more refinement to meet the terms ?