9 ms·
Jack Dorsey has set a 10 btc bounty for Nostr based alternative to GitHub
- andrewfromx 4y agoWow. Just rewrite GitHub in web3? On it!
- eitland 4y agoAs a number of people have already pointed out, nostr is not "web3" (i.e. crypto grifting). I'd go even further and say nostr is closer to what web3 should have been: technological innovation to simplify the construction of new services.
- swarnie 4y agoWhy does the headline say 10btc but the tweet (is that a tweet?) claim 1b SATS?
- bonzini 4y agoBecause 1 BTC is 100 million satoshis.
- vdfs 4y ago1B SATS is 10 BTC
- pxeger1 4y agoThere are 100 million sats in a bitcoin; it's just a fractional unit, like cents to dollars
- codetrotter 4y ago100 million satoshi = 1 BTC 1 billion satoshi = 10 BTC It’s easier to just say 10 BTC. Also it makes the headline shorter
- hajola 4y ago1 billion SATS = 10 bitcoin 1 SATS = 0.00000001 bitcoin Unsure why the headline was edited. Probably to get more attention as btc draws more attention than SATS
- xiphias2 4y agoalso basic conversions don't work on Google / ChatGPT. Google told me 1 billion sats is 0.1 BTC, ChatGPT 0.01 BTC. Google was still closer :)
- codetrotter 4y ago> Probably to get more attention as btc draws more attention than SATS No I just think that an amount that is equal to several BTC is pointless to measure in sats. It’s equally pointless to use sats as the units of measure for such a big amount, as it would be to say “20 million cents” instead of just “$200k”
- kzrdude 4y agobitcoin is divided down to 8 decimal places, and the smallest piece is called a satoshi. I.e 1 sat = 1e-8 btc; then 1e9 sats = 10 btc.
- esskay 4y agoI'll never get why people keep throwing money at web3 stuff. It's pretty clear 99% of it is total crap that nobody is going to adopt in serious numbers.
- malermeister 4y agoIdeological fervor.
- Touche 4y agoNostr is not web3.
- acdha 4y agoIs there anyone involved with it who has experience building successful distributed systems? Every time I’ve seen it mentioned it’s been by someone who was pushing cryptocurrency and it makes the same kind of, let’s politely say, unlikely claims about censorship resistance which the blockchain salespeople like to make.
- Touche 4y agoI don't know what you are referring to, but there's nothing magical about nostr here. You're identity is a public key. It's not tied to a particular server. So if a server boots you off you can continue publishing on other servers using the same public key. It's common to publish to multiple servers at the same time. That's really it, servers have less authority in nostr, and that's why it's more resistant to censorship.
- acdha 4y agoOkay, so let’s keep thinking about this a little: if your concern is being censored by the government, all servers are required to follow the law so this only helps to the extent that the government chooses not to or is unable to enforce it. If your concern is private, if this were to find some kind of use you’d inevitably see shared blocklists just as we’ve seen for things like email spam. That’s a really important thing to study for any distributed system because “censorship resistant” inevitably means “full of spam, malware, and illegal content” unless you’re very careful designing some compromise to prevent that (e.g. IPFS mirroring is opt-in, so an innocent node owner doesn’t wake up to the FBI knocking their door in). In the case of GitHub, anyone who wants to self-host an alternative can do so for only the cost of their time & modest app hosting resources running Gitlab, Gitea, etc. That raises the question of where this offer is coming from: there isn’t a notable problem with censorship on GitHub for otherwise legal content, so you’re mostly talking about things which are actually illegal and that means that something like Nostr isn’t changing the picture much because everything already is decentralized. If the Tornado Cash guys are on a block list, Nostr server owners are going to have legal demands to block their keys, too, just as a hosting company would get a take-down for a private GitLab instance.
- zzzeek 4y ago[flagged]
- codetrotter 4y agoMaybe his mistakes with Twitter is exactly how he came to realise the importance of not letting giant corporations rule over the social networks we all rely on. Twitter, GitHub, and so on and so forth.
- duxup 4y agoI’m always skeptical of “I learned after I got mine...”. The motivation, vision just never seems to be there.
- Nextgrid 4y agoHe was CEO until end of 2021 which is way after the harms of centralized, for-profit, ad-supported social media were clearly visible, both at Twitter and its competitors. If he wanted to rectify his "mistake" he could've at least attempted to do so, yet I see no signs of that, so I'm not buying this story. My opinion is that he got rich of shitting in and poisoning the centralized social media well for everyone else, and now wants to double-dip and do the same for (supposedly) decentralized networks while garnering sympathy about how he supposedly made a "mistake".
- ashwagary 4y ago>If he wanted to rectify his "mistake" he could've at least attempted to do so, yet I see no signs of that, so I'm not buying this story. How does one rectify this issue? Destroy a public company with a lot of shareholders? Removing the centralization in Twitter and adding the levels of censorship resistance her prefers would have been a massive gamble with a high probability of failure and would have eventually gotten him ousted. IMO the only way he could proceed is build on a clean slate without destroying the existing value it took a decade to accrue.
- 4y ago
- clumsycomputer 4y agothis would be fuckin magical
- mi_lk 4y agoWhat is this https://snort.social/ https://snort.social/ thing and why is Jack Dorsey posting there? Presumably it's web3 related, anyone has more details?
- atdrummond 4y agoIt’s a nostr (blockchain “Twitter”) instance; comparable to the individual instances of Mastodon, for example.
- Touche 4y agoNostr is not Blockchain. The tech is unrelated. It's just a simple protocol of message types and relays that store messages. A lot of blockchain fanatics like nostr but the tech itself doesn't use it.
- BaculumMeumEst 4y agoI don’t know enough about nostr to know what is being suggested here. Would this entail creating a new VCS which has a server that communicates over nostr, as well as a GitHub-like frontend? Or just some nostr interface to git?
- pocketarc 4y agoI would imagine it's just the GitHub part. It's an alternative to GitHub, not Git. There already are many such alternatives, they're just not using Nostr or ActivityPub, they're not... "decentralised social network", and that is what this bounty is looking for. Personally, I wouldn't dare try to compete with GitLab, let alone try to take on GitHub, for a measly 10 BTC. But someone more optimistic than me might, and good luck to them.
- BaculumMeumEst 4y agoIt’s just hurting my brain because git is already decentralized by design, and frontends are too in a sense. Anyone can clone a GitHub repo and put it up on their own web frontend or just serve the repo directly. I guess other people value the “social media” aspect of it more than I do? I don’t really care if I’m interfacing with github or gitlab or codeberg or huggingface or sourcehut or whatever. Git is git.
- codetrotter 4y agoYes git is decentralised by design. Like parent commenter said, this is about all of the other features of GitHub. The issues, the stars, the followers. The social network that MS paid $$$ for. We need a decentralised alternative to GitHub that lets everyone do everything they are using GitHub for today, without the involvement of any big companies that rule over our social networks. That is what Jack Dorsey is asking for. That is what we don’t have today. We need a decentralised social network with GitHub features which makes it so that we can create an account anywhere and use that same account everywhere, across servers. So that there can be a billion GitHub alternative servers with all of the GitHub features, and you can communicate across instances without being beholden to the owners of any single one instance too much. Jack Dorsey wants this to happen on top of the Nostr protocol specifically. But yes, if you try to understand all of this from an angle of “git is git” then it might not seem to make sense. But that’s because it’s not about git. It’s about everything social around it.
- gardenhedge 4y agoWhat a mess of a website.. What does "read from global" mean? What is a "relay" and what is paid vs public? Why does FF suggest adding snort.social as an application for "web+nostr" links?
- legutierr 4y agoFYI, this website is a nostr client. Nostr is a decentralized messaging protocol where many relays are used to share messages among many clients. There are mobile client apps like Damus, and there are web clients like this website. There are others. Some relays are free, and some relays are paid, which helps filter out spam. Messages are cryptographically signed, and users are identified by their public key. Users typically follow other users like they would on Twitter, but the client manages everything, so there is no dependency on any relay. Messages are typically posted to many relays at once and clients typically read from many relays at once. Jack Dorsey's message is being displayed here because it was copied to a relay that this website has access to. The same message is accessible elsewhere. "Global" means that you download all the public messages that a relay has, instead of just downloading messages posted by people you follow. https://github.com/nostr-protocol/nostr https://github.com/nostr-protocol/nostr
- RobotToaster 4y agoSo, with nostr, instead of having the servers (relays) communicate, your client has to connect to every single server (relay) in the network? I still don't get how this is supposed to be better than activitypub.
- eitland 4y agoI think there is nothing to prevent you from making a server that collects messages, it is just that, based on observation of how previous systems failed they have chosen a different model. I have been thinking about this problem space a number of times and after first thinking my ideas were significantly better I have come to understand why nostr picked this solution.
- 4y ago
- Manjuuu 4y agoI remember when people thought that he was some kind of visionary.
- pcdoodle 4y agoLet the guy do the thing, sometime cool stuff comes out the other end. No need to hate.
- malermeister 4y agoMan these tech billionaires are so far up their own ass they have no idea how distasteful their ideas are. His money could save millions of people from starvation [0], but what is he trying to spend it on instead? A less useful alternative to an already existing service, for no reason other than supporting his neo-feudalist ideology. Gross. [0] https://www.wfp.org/stories/wfps-plan-support-42-million-people-brink-famine https://www.wfp.org/stories/wfps-plan-support-42-million-peo...
- leesalminen 4y agoThis [0] doesn't sound like an issue to you? [0] https://news.ycombinator.com/item?id=35021284 https://news.ycombinator.com/item?id=35021284
- latchkey 4y agoLet's do some math: 10 btc = $22300 $0.43 = one basic meal per person per day. (10x22300)/((0.43x3)x365) = 473 This would help 473 people a year with 3 basic meals per day. It is a number greater than zero, which is good, but we're also not talking about huge amounts of numbers here either. Let's re-allocate funds away from militaries and politicians who create needless wars and worry less about Jack.
- bawolff 4y agoIt doesn't sound that hard to make a nostr alternative to github. What does sound hard is making a non shitty alternative.
- faitswulff 4y agoEspecially non shitty as arbitrarily determined by Dorsey.
- ruestuin 4y agoWhy not just use GitLab?
- bawolff 4y agoPresumably because that crowd is big into decentralization, and just having anyone being able to host a gitlab instance doesn't quite fit their vision of decentralization (decentralization is an ambigious term and almost everyone who uses it means something different)
- leesalminen 4y agoMy understanding in that this case, decentralized Github means the ability to have the social features around a git repo that Github provides (Issues, PRs, Discussions) but can't be banned due to the decision of a single actor.
- duxup 4y agoWould this still be based on gut? Or something else entirely?
- leesalminen 4y agoYes, it would still be based on git. This project would just add the social features that Github adds (Issues, PRs, Discussions) on top of a git repo.
- samhuk 4y agoInteresting that some on there (snort social) are making very negative comments about the comments here. For example: > The absolutely retarded state of HackerNews (Then a screenshot of this HN thread, which is here: https://imgproxy.snort.social/48YuDDEW11PoCqbeQ8R25a0kGN3BJeifwwEfivQgCTE//aHR0cHM6Ly9pLmltZ3VyLmNvbS8zd20yeHEzLmpwZw https://imgproxy.snort.social/48YuDDEW11PoCqbeQ8R25a0kGN3BJe...) It's interesting how different social platforms foster little pigeon holes for people, that act almost as some kind of militant platoon. Weird.
- h2odragon 4y ago"echo chambers are bad" was a rallying cry for killing all sorts of small communities. Few people then saw that making the echo chambers bigger didn't improve them much.
- thrill 4y agoAhem.
- esskay 4y agoOh hey its me, I'm famous!
- bawolff 4y agoI don't find it weird how the people literally on nostr think nostr is good. Obviously they think there is something valuable about nostr or they wouldn't be using it. If someone started a "hn is shit" thread, i suspect lots of people who frequent hn would disagree.
- Wronnay 4y agoSo basically just Gitea with a different storage? Seems like some people already started projects to get the money: https://github.com/NostrGit https://github.com/NostrGit
- xiphias2 4y agoNostr is this protocol (https://github.com/nostr-protocol/nips/blob/master/01.md https://github.com/nostr-protocol/nips/blob/master/01.md): Events and signatures Each user has a keypair. Signatures, public key, and encodings are done according to the Schnorr signatures standard for the curve secp256k1. The only object type that exists is the event, which has the following format on the wire: { "id": <32-bytes lowercase hex-encoded sha256 of the the serialized event data> "pubkey": <32-bytes lowercase hex-encoded public key of the event creator>, "created_at": <unix timestamp in seconds>, "kind": <integer>, "tags": [ ["e", <32-bytes hex of the id of another event>, <recommended relay URL>], ["p", <32-bytes hex of a pubkey>, <recommended relay URL>], ... // other kinds of tags may be included later ], "content": <arbitrary string>, "sig": <64-bytes hex of the signature of the sha256 hash of the serialized event data, which is the same as the "id" field> } To obtain the event.id, we sha256 the serialized event. The serialization is done over the UTF-8 JSON-serialized string (with no white space or line breaks) of the following structure: [ 0, <pubkey, as a (lowercase) hex string>, <created_at, as a number>, <kind, as a number>, <tags, as an array of arrays of non-null strings>, <content, as a string> ] Communication between clients and relays Relays expose a websocket endpoint to which clients can connect. From client to relay: sending events and creating subscriptions Clients can send 3 types of messages, which must be JSON arrays, according to the following patterns: ["EVENT", <event JSON as defined above>], used to publish events. ["REQ", <subscription_id>, <filters JSON>...], used to request events and subscribe to new updates. ["CLOSE", <subscription_id>], used to stop previous subscriptions. <subscription_id> is an arbitrary, non-empty string of max length 64 chars, that should be used to represent a subscription. <filters> is a JSON object that determines what events will be sent in that subscription, it can have the following attributes: { "ids": <a list of event ids or prefixes>, "authors": <a list of pubkeys or prefixes, the pubkey of an event must be one of these>, "kinds": <a list of a kind numbers>, "#e": <a list of event ids that are referenced in an "e" tag>, "#p": <a list of pubkeys that are referenced in a "p" tag>, "since": <an integer unix timestamp, events must be newer than this to pass>, "until": <an integer unix timestamp, events must be older than this to pass>, "limit": <maximum number of events to be returned in the initial query> } Upon receiving a REQ message, the relay SHOULD query its internal database and return events that match the filter, then store that filter and send again all future events it receives to that same websocket until the websocket is closed. The CLOSE event is received with the same <subscription_id> or a new REQ is sent using the same <subscription_id>, in which case it should overwrite the previous subscription. Filter attributes containing lists (such as ids, kinds, or #e) are JSON arrays with one or more values. At least one of the array's values must match the relevant field in an event for the condition itself to be considered a match. For scalar event attributes such as kind, the attribute from the event must be contained in the filter list. For tag attributes such as #e, where an event may have multiple values, the event and filter condition values must have at least one item in common. The ids and authors lists contain lowercase hexadecimal strings, which may either be an exact 64-character match, or a prefix of the event value. A prefix match is when the filter string is an exact string prefix of the event value. The use of prefixes allows for more compact filters where a large number of values are queried, and can provide some privacy for clients that may not want to disclose the exact authors or events they are searching for. All conditions of a filter that are specified must match for an event for it to pass the filter, i.e., multiple conditions are interpreted as && conditions. A REQ message may contain multiple filters. In this case, events that match any of the filters are to be returned, i.e., multiple filters are to be interpreted as || conditions. The limit property of a filter is only valid for the initial query and can be ignored afterward. When limit: n is present it is assumed that the events returned in the initial query will be the latest n events. It is safe to return less events than limit specifies, but it is expected that relays do not return (much) more events than requested so clients don't get unnecessarily overwhelmed by data. From relay to client: sending events and notices Relays can send 2 types of messages, which must also be JSON arrays, according to the following patterns: ["EVENT", <subscription_id>, <event JSON as defined above>], used to send events requested by clients. ["NOTICE", <message>], used to send human-readable error messages or other things to clients. This NIP defines no rules for how NOTICE messages should be sent or treated. EVENT messages MUST be sent only with a subscription ID related to a subscription previously initiated by the client (using the REQ message above). Basic Event Kinds 0: set_metadata: the content is set to a stringified JSON object {name: <username>, about: <string>, picture: <url, string>} describing the user who created the event. A relay may delete past set_metadata events once it gets a new one for the same pubkey. 1: text_note: the content is set to the plaintext content of a note (anything the user wants to say). Markdown links ([]() stuff) are not plaintext. 2: recommend_server: the content is set to the URL (e.g., wss://somerelay.com) of a relay the event creator wants to recommend to its followers. A relay may choose to treat different message kinds differently, and it may or may not choose to have a default way to handle kinds it doesn't know about. Other Notes: Clients should not open more than one websocket to each relay. One channel can support an unlimited number of subscriptions, so clients should do that. The tags array can store a tag identifier as the first element of each subarray, plus arbitrary information afterward (always as strings). This NIP defines "p" — meaning "pubkey", which points to a pubkey of someone that is referred to in the event —, and "e" — meaning "event", which points to the id of an event this event is quoting, replying to or referring to somehow. The <recommended relay URL> item present on the "e" and "p" tags is an optional (could be set to "") URL of a relay the client could attempt to connect to fetch the tagged event or other events from a tagged profile. It MAY be ignored, but it exists to increase censorship resistance and make the spread of relay addresses more seamless across clients.
- Null-Set 4y agoDo I get 10 btc if I tell him that git-ssb exists? https://github.com/hackergrrl/git-ssb-intro https://github.com/hackergrrl/git-ssb-intro
- 2h 4y agoI fully support this. GitHub banned an account of mine with hundreds of stars, because they said I cannot have more than one free account: https://docs.github.com/site-policy/github-terms/github-terms-of-service#b-account-terms https://docs.github.com/site-policy/github-terms/github-term... but then other people said its allowed: https://docs.github.com/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts https://docs.github.com/account-and-profile/setting-up-and-m... they also killed every issue, pull request and comment that I have ever made, across several years.
- codetrotter 4y agoThank you for sharing. This is exactly the kind of problem that centralised social networks give us, but which most people will not understand because for most people this will not happen. I think it is important that we solve the problem of centralised social networks. And I think Nostr has the right idea. Nostr differs from ActivityPub in that identity is not tied to the instance that you use. To quote someone else: > Nostr uses a public key to identify users, while ActivityPub utilizes a more conventional user account system. ActivityPub user accounts are based on domain names, which can be controlled by third-party entities. Nostr's identification system is more decentralized, as it does not rely on domain names controlled by outside parties. https://dri.es/nostr-love-at-first-sight https://dri.es/nostr-love-at-first-sight I’m sorry to hear about your experience with GitHub banning your account and the stars, issues, PRs, comments and so on that you lost. Hopefully in the future when a truly decentralised alternative to GitHub exists, other people can avoid that kind of experience. An alternative to GitHub, in the shape that Jack Dorsey has put a bounty on here.
- pcdoodle 4y agoWhy was this removed from the front page? Does Dang manually curate it or something?
- stackernewsFTW 4y ago[flagged]
- deleted 4y ago[deleted]
- adolph 4y ago* commoditize your complements :: hardware * open source your complements:: software * decentralize your complements :: ??? (Platforms maybe?) https://gwern.net/complement https://gwern.net/complement
- pollote 4y agoWow HN is just hate these days whenever someone mention BTC in headline. If Nostr is successful, the hate will be amazing for missing twice in a decade.
- esskay 4y agoI mean, if snort is an example of what can be expected its blindingly obvious it wont be successful. Average users arent about to sign up to a "Censor-Resistant Decentralized Social Protocol". Most people wont even have a clue what that means. It seems to be the same people that were convinced NFT's were going to be big that are backing it.
- ibz 4y agoAverage users still don't understand Bitcoin, after 14 years. And yet, it is successful. > seems to be the same people that were convinced NFT's were going to be big that are backing it. No. It's quite the opposite.
- ashwagary 4y ago>It seems to be the same people that were convinced NFT's were going to be big that are backing it. Not at all. Most Nostr proponents are Bitcoin maxis that generally hate NFTs. They are groups of people that are more aware of the limitations of freedom of speech and free markets on a constantly centralizing internet and aim to solve the problem.
- mikewarot 4y agoSo, a prize of about US$220,000 for taking the git protocol (and associated web site support), and distributing it across an ephemeral network that resists single points of failure/control ingress? I wish I had the skill to pull that off. On, the other hand, Nostr as a distributed social network looks interesting in its own right.
- eitland 4y agoNostr is one of the most interesting things I have seen in a long time. The only minor problem I have with it is that the early adopters are very pro crypto/anti vaccines and it might give the impression that it is a community for such folks when in reality it seems to be just a much better technical alternative to smtp and nntp and (for some use cases) for xmpp for this century.
- rektide 4y agoI've come around a bit to Nostr. I like the general idea here, actually. But asking for a github replacement seems like way too much scope. Github is millions of people-hours of work, does a crazy large amount of stuff. Just start with some basics: can I get a stream of commits from someone? Can I send patches ("pull requests") to someone? Find some managable goals, and build protocols forwards. The product minded "deliver me a complete replacement for a whole (& massive) product" is a harm-inducing act that obstructs incremental growth & genuine sucess. Nostr has NIPS, Nostr Improvememt Possibilities (NIPS)- trying to coax some wildcard team into writing either one massive NIPS and a huge product or a sea of closely interlocked NIPS and a huge product is going to cause longstanding damage & an inability to grow this organic system out right. https://github.com/nostr-protocol/nips https://github.com/nostr-protocol/nips
- fiatjaf 4y agoI agree with that. I've voiced these same concerns with the "big replacement" mentality and suggested that things are made out of small building blocks.